From 7aff58705dabb745842f36e812b4df6a65773246 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 4 Jun 2023 20:22:42 +0000 Subject: [PATCH 01/10] fix(deps): bump libphonenumber-js from 1.10.31 to 1.10.33 in /shared (#6421) Bumps [libphonenumber-js](https://gitlab.com/catamphetamine/libphonenumber-js) from 1.10.31 to 1.10.33. - [Changelog](https://gitlab.com/catamphetamine/libphonenumber-js/blob/master/CHANGELOG.md) - [Commits](https://gitlab.com/catamphetamine/libphonenumber-js/compare/v1.10.31...v1.10.33) --- updated-dependencies: - dependency-name: libphonenumber-js dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- shared/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/shared/package-lock.json b/shared/package-lock.json index c4a488885e..63e6279a5a 100644 --- a/shared/package-lock.json +++ b/shared/package-lock.json @@ -786,9 +786,9 @@ } }, "node_modules/libphonenumber-js": { - "version": "1.10.31", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.31.tgz", - "integrity": "sha512-qYTzElLePmz3X/6I0JPX5n87tu7jVIMtR/yRLi5PGVPvMCMSVTCR+079KmdNK005i4dBjFxY/bMYceI9IBp47w==" + "version": "1.10.33", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.33.tgz", + "integrity": "sha512-izLbQCqXYyLPX65SPjPZb5Kw+0JQeNIq97aZoZ8faoJZRtOz/UN/B3V6SpRcR2riHAgzHOdRs064db7DLMUFHg==" }, "node_modules/lie": { "version": "3.3.0", @@ -1576,9 +1576,9 @@ } }, "libphonenumber-js": { - "version": "1.10.31", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.31.tgz", - "integrity": "sha512-qYTzElLePmz3X/6I0JPX5n87tu7jVIMtR/yRLi5PGVPvMCMSVTCR+079KmdNK005i4dBjFxY/bMYceI9IBp47w==" + "version": "1.10.33", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.33.tgz", + "integrity": "sha512-izLbQCqXYyLPX65SPjPZb5Kw+0JQeNIq97aZoZ8faoJZRtOz/UN/B3V6SpRcR2riHAgzHOdRs064db7DLMUFHg==" }, "lie": { "version": "3.3.0", From 784569af4945fab003ea65e9e7bba6dc7082bb26 Mon Sep 17 00:00:00 2001 From: mayying Date: Mon, 5 Jun 2023 09:41:14 +0800 Subject: [PATCH 02/10] style: Use S$ instead of SGD (#6417) fix FRM-970/use-sdollar-instead-of-sgd-for-more-conventional-representation-of * Use S$ instead of SGD * remove extra space * Remove string literal --- .../stripe/components/PaymentItemDetailsBlock.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/features/public-form/components/FormPaymentPage/stripe/components/PaymentItemDetailsBlock.tsx b/frontend/src/features/public-form/components/FormPaymentPage/stripe/components/PaymentItemDetailsBlock.tsx index a42fd3128d..e0393ff8ac 100644 --- a/frontend/src/features/public-form/components/FormPaymentPage/stripe/components/PaymentItemDetailsBlock.tsx +++ b/frontend/src/features/public-form/components/FormPaymentPage/stripe/components/PaymentItemDetailsBlock.tsx @@ -26,9 +26,9 @@ export const PaymentItemDetailsBlock = ({ {paymentItemName} - {`${centsToDollars( - paymentAmount ?? 0, - )} SGD`} + + S${centsToDollars(paymentAmount ?? 0)} + ) } From 6c3ba804da2a618e538c6dd0fb05c0eb5b2af434 Mon Sep 17 00:00:00 2001 From: Lin Huiqing <37061143+LinHuiqing@users.noreply.github.com> Date: Mon, 5 Jun 2023 10:44:21 +0800 Subject: [PATCH 03/10] feat: add debit card to copy and dashboard banner for payments (#6416) * chore: update announcement copy to incl debit * feat: dashboard banner annoucing payments * fix: reduce width of dashboard banner * chore: add debit copy to feature list --- .../src/features/rollout-announcement/Announcements.tsx | 2 +- frontend/src/features/whats-new/FeatureUpdateList.ts | 2 +- .../features/workspace/components/WorkspacePageContent.tsx | 6 ++++++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/features/rollout-announcement/Announcements.tsx b/frontend/src/features/rollout-announcement/Announcements.tsx index 8a8d6570ae..d1746dfefc 100644 --- a/frontend/src/features/rollout-announcement/Announcements.tsx +++ b/frontend/src/features/rollout-announcement/Announcements.tsx @@ -7,7 +7,7 @@ export const NEW_FEATURES = [ // Announcement date: 2023-05-31 title: 'Collect payments on your form', description: - 'Citizens can now pay for fees and services directly on your form! We integrate with Stripe to provide reliable payments and hassle-free reconciliations. Payment methods we support include credit card and PayNow.', + 'Citizens can now pay for fees and services directly on your form! We integrate with Stripe to provide reliable payments and hassle-free reconciliations. Payment methods we support include debit / credit cards and PayNow.', learnMoreLink: 'https://go.gov.sg/formsg-payment-overview', animationData: PaymentsAnnouncementGraphic, }, diff --git a/frontend/src/features/whats-new/FeatureUpdateList.ts b/frontend/src/features/whats-new/FeatureUpdateList.ts index fd445ec30c..1de85337d1 100644 --- a/frontend/src/features/whats-new/FeatureUpdateList.ts +++ b/frontend/src/features/whats-new/FeatureUpdateList.ts @@ -34,7 +34,7 @@ export const FEATURE_UPDATE_LIST: FeatureUpdateList = { title: 'Collect payments on your form', date: new Date('31 May 2023 GMT+8'), description: - 'Citizens can now pay for fees and services directly on your form! We integrate with Stripe to provide reliable payments and hassle-free reconciliations. Payment methods we support include credit card and PayNow.', + 'Citizens can now pay for fees and services directly on your form! We integrate with Stripe to provide reliable payments and hassle-free reconciliations. Payment methods we support include debit / credit cards and PayNow.', image: { animationData: Animation1, alt: 'Collect payments on your form', diff --git a/frontend/src/features/workspace/components/WorkspacePageContent.tsx b/frontend/src/features/workspace/components/WorkspacePageContent.tsx index 1687468497..ff4fa59242 100644 --- a/frontend/src/features/workspace/components/WorkspacePageContent.tsx +++ b/frontend/src/features/workspace/components/WorkspacePageContent.tsx @@ -3,6 +3,7 @@ import { Box, Container, Grid } from '@chakra-ui/react' import { ROLLOUT_ANNOUNCEMENT_KEY_PREFIX } from '~constants/localStorage' import { useLocalStorage } from '~hooks/useLocalStorage' +import InlineMessage from '~components/InlineMessage' // TODO #4279: Remove after React rollout is complete import { RolloutAnnouncementModal } from '~features/rollout-announcement/RolloutAnnouncementModal' @@ -60,6 +61,11 @@ export const WorkspacePageContent = ({ px="2rem" py="1rem" > + + Introducing payments! Citizens can now pay for fees and services + directly on your form. [Learn + more](https://go.gov.sg/formsg-payment-overview) + From 4242aef6653e0fc659414a093425ac8ff4cb6b95 Mon Sep 17 00:00:00 2001 From: Wen Hao <52305097+wenhaogoh@users.noreply.github.com> Date: Mon, 5 Jun 2023 11:09:06 +0800 Subject: [PATCH 04/10] feat: restricting days date validation (#5136) * feat: edit date field schema to add additional attribute for invalid days of the week (#4244) * feat: edit date field schema to add additional attribute for invalid days of the week * feat: add tests * feat: edit tests * refactor: remove unused package * refactor: refactor code to use enums * refactor: remove null value for allowed values for invalidDaysOfTheWeek * feat: add validator to prevent null values from being accepted * feat: add tests * refactor: refactor validator function * refactor: refactor to make values in invalidDaysOfTheWeek array required * feat: add more tests Co-authored-by: Siddarth Nandanahosur Suresh * feat: edit dateField schema to store invalidDaysOfTheWeek as a string enum (#4272) Co-authored-by: Siddarth Nandanahosur Suresh * feat: edit dateField schema attribute name (#4324) * feat: rename schema name * feat: store invalid days instead of valid days Co-authored-by: Siddarth Nandanahosur Suresh * feat: add views to restrict particular days for date field (#4145) * feat: add views to restrict particular days for date field * feat: add sub header * feat: add form logic for checking particular days * refactor: refactor code as per comments * feat: use controlled checkbox group instead of uncontrolled individual checkboxes * refactor: remove hidden input tag * feat: add transformation to convert checkbox values to the correct invalid days array value * refactor: refactor code as per comments * feat: add form validation for restricting particular days * feat: add error state placeholder * edit: edit client side validation logic * refactor: refactor as per comments Co-authored-by: Siddarth Nandanahosur Suresh * feat: remove Singapore public holiday option from restricting particular days (#4427) * feat: remove singapore public holiday option from restricting particular days * edit: remove console log Co-authored-by: Siddarth Nandanahosur Suresh * feat: add server date validation for invalid days of the week (#4408) * feat: add validation to check for invalid days of the week * refactor: refactor code to separate validation logic into two separate functions * feat: remove validation of singapore public holidays * refactor: remove comments * feat: add case where there is a invalid invalid day option in invalidDays array * refactor: simplify mapping between InvalidDaysOptions and number into a constant instead of a function * refactor: rename constant name * refactor: remove comments * edit: edit day to number mapping Co-authored-by: Siddarth Nandanahosur Suresh * feat(form-v2/restrict-particular-days-of-the-week): edit date picker callback for invalid days (#4431) * refactor: simplify mapping between InvalidDaysOptions and number into a constant instead of a function * refactor: rename constant name * feat: add conditional check for invalid days * feat: add field validation for invalid days * feat: add stories * edit: edit day to number mapping * refactor: refactor code * edit: remove unnecessary conditional check * refactor: remove unnecessary export * refactor: shift util functions to shared folder to prevent code duplication * feat: add tests for date validation util functions * edit: edit error message * refactor: error message grammar * refactor: make code cleaner Co-authored-by: Siddarth Nandanahosur Suresh * feat: copy changes to label and error message (#4545) * feat: copy changes to label and error message * refactor: refactor all days of the week to be plural Co-authored-by: Siddarth Nandanahosur Suresh * fix: change parseISO to parseDate Co-Authored-By: Siddarth Nandanahosur Suresh * feat: add frontend validation Co-Authored-By: Siddarth Nandanahosur Suresh * refactor: combine transformation functions * refactor: simplify code * fix: fix lint and test * refactor: clean up case switch * refactor: clean up code * refactor: remove line break * refactor: remove unused imports * fix: address comments * fix: fix typo * fix: change copy * fix: update import for test dbHandler * ref: hasAvailableDates in date validation * test: extensive tests for invalid + valid dates --------- Co-authored-by: Siddarth Nandanahosur Suresh <48427064+siddarth2824@users.noreply.github.com> Co-authored-by: Siddarth Nandanahosur Suresh Co-authored-by: LinHuiqing --- .../backend/helpers/generate-form-data.ts | 7 + .../EditDate/EditDate.stories.tsx | 10 ++ .../edit-fieldtype/EditDate/EditDate.tsx | 141 ++++++++++++++- .../Field/Date/DateField.stories.tsx | 17 +- .../src/templates/Field/Date/DateField.tsx | 20 ++- frontend/src/utils/date.ts | 9 + frontend/src/utils/fieldValidation.ts | 7 + shared/types/field/dateField.ts | 11 ++ .../utils/__tests__/date-validation.spec.ts | 153 ++++++++++++++++ shared/utils/date-validation.ts | 55 ++++++ .../models/field/__tests__/dateField.spec.ts | 170 ++++++++++++++++++ src/app/models/field/dateField.ts | 14 +- .../__tests__/date-validation.spec.ts | 82 +++++++++ .../validators/dateValidator.ts | 20 +++ 14 files changed, 703 insertions(+), 13 deletions(-) create mode 100644 shared/utils/__tests__/date-validation.spec.ts create mode 100644 shared/utils/date-validation.ts create mode 100644 src/app/models/field/__tests__/dateField.spec.ts diff --git a/__tests__/unit/backend/helpers/generate-form-data.ts b/__tests__/unit/backend/helpers/generate-form-data.ts index b206cbeb98..799dd8bb73 100644 --- a/__tests__/unit/backend/helpers/generate-form-data.ts +++ b/__tests__/unit/backend/helpers/generate-form-data.ts @@ -13,6 +13,7 @@ import { IAttachmentFieldSchema, IAttachmentResponse, ICheckboxFieldSchema, + IDateFieldSchema, IDecimalFieldSchema, IDropdownFieldSchema, IHomenoFieldSchema, @@ -149,6 +150,12 @@ export const generateDefaultField = ( }, ...customParams, } as IRatingFieldSchema + case BasicField.Date: + return { + ...defaultParams, + invalidDays: [], + ...customParams, + } as IDateFieldSchema default: return { ...defaultParams, diff --git a/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.stories.tsx b/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.stories.tsx index 4d2b34bb9c..9710a0d60a 100644 --- a/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.stories.tsx +++ b/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.stories.tsx @@ -4,6 +4,7 @@ import { BasicField, DateFieldBase, DateSelectedValidation, + InvalidDaysOptions, } from '~shared/types' import { EditFieldDrawerDecorator, StoryRouter } from '~utils/storybook' @@ -18,6 +19,7 @@ const DEFAULT_DATE_FIELD: DateFieldBase = { customMaxDate: null, customMinDate: null, }, + invalidDays: [], required: true, disabled: false, fieldType: BasicField.Date, @@ -76,3 +78,11 @@ WithCustomDateRange.args = { }, }, } + +export const WithParticularDaysRestricted = Template.bind({}) +WithParticularDaysRestricted.args = { + field: { + ...DEFAULT_DATE_FIELD, + invalidDays: [InvalidDaysOptions.Monday, InvalidDaysOptions.Saturday], + }, +} diff --git a/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.tsx b/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.tsx index 26a075834b..4e7154e2b5 100644 --- a/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.tsx +++ b/frontend/src/features/admin-form/create/builder-and-design/BuilderAndDesignDrawer/EditFieldDrawer/edit-fieldtype/EditDate/EditDate.tsx @@ -1,6 +1,14 @@ import { useCallback, useMemo } from 'react' -import { Controller, RegisterOptions } from 'react-hook-form' -import { Box, FormControl, SimpleGrid } from '@chakra-ui/react' +import { Controller, RegisterOptions, useWatch } from 'react-hook-form' +import { + Box, + CheckboxGroup, + FormControl, + SimpleGrid, + Stack, + Wrap, + WrapItem, +} from '@chakra-ui/react' import { isBefore, isEqual, isValid } from 'date-fns' import { extend, get, isEmpty, pick } from 'lodash' @@ -8,14 +16,18 @@ import { DateFieldBase, DateSelectedValidation, DateValidationOptions, + InvalidDaysOptions, } from '~shared/types/field' +import { hasAvailableDates } from '~shared/utils/date-validation' import { + getRemainingDaysOfTheWeek, isDateOutOfRange, loadDateFromNormalizedDate, normalizeDateToUtc, } from '~utils/date' import { createBaseValidationRules } from '~utils/fieldValidation' +import Checkbox from '~components/Checkbox' import { DatePicker } from '~components/DatePicker' import { SingleSelect } from '~components/Dropdown' import FormErrorMessage from '~components/FormControl/FormErrorMessage' @@ -33,7 +45,22 @@ import { useEditFieldForm } from '../common/useEditFieldForm' type EditDateProps = EditFieldProps -const EDIT_DATE_FIELD_KEYS = ['title', 'description', 'required'] as const +const INVALID_DAYS_OPTIONS: InvalidDaysOptions[] = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + InvalidDaysOptions.Thursday, + InvalidDaysOptions.Friday, + InvalidDaysOptions.Saturday, + InvalidDaysOptions.Sunday, +] + +const EDIT_DATE_FIELD_KEYS = [ + 'title', + 'description', + 'required', + 'invalidDays', +] as const const MIN_WIDTH_FOR_2_COL = 405 @@ -46,6 +73,8 @@ type EditDateInputs = Pick< customMaxDate: Date | null customMinDate: Date | null } + hasInvalidDays: boolean + invalidDays: NonNullable } const transformDateFieldToEditForm = (field: DateFieldBase): EditDateInputs => { @@ -59,9 +88,24 @@ const transformDateFieldToEditForm = (field: DateFieldBase): EditDateInputs => { ? loadDateFromNormalizedDate(field.dateValidation.customMinDate) : null, } + + const nextHasInvalidDaysRestriction = !!field?.invalidDays?.length + + /** Transformation is done because the invalid days array supplied from the server + * to the checkbox group should be unchecked instead of checked. Hence instead of + * supplying the invalid days array to the checkbox group, the valid days array + * should be supplied to the checkbox group. Therefore transforming the invalid days + * array into the valid days array. + */ + const nextInvalidDayOptions = field.invalidDays + ? getRemainingDaysOfTheWeek(field.invalidDays) + : Object.values(InvalidDaysOptions) + return { ...pick(field, EDIT_DATE_FIELD_KEYS), dateValidation: nextValidationOptions, + hasInvalidDays: nextHasInvalidDaysRestriction, + invalidDays: nextInvalidDayOptions, } } @@ -70,6 +114,8 @@ const transformDateEditFormToField = ( originalField: DateFieldBase, ): DateFieldBase => { let nextValidationOptions: DateValidationOptions + let nextInvalidDayOptions: InvalidDaysOptions[] + switch (inputs.dateValidation.selectedDateValidation) { case '': nextValidationOptions = { @@ -95,8 +141,20 @@ const transformDateEditFormToField = ( } } + if (inputs.hasInvalidDays) { + /** Transformation is done because the checked values in the checkbox group + * are actually the valid days instead of the invalid days values that should + * be sent over and stored on the server. Therefore the need to transform + * the valid days array into invalid days array. + */ + nextInvalidDayOptions = getRemainingDaysOfTheWeek(inputs.invalidDays) + } else { + nextInvalidDayOptions = [] + } + return extend({}, originalField, inputs, { dateValidation: nextValidationOptions, + invalidDays: nextInvalidDayOptions, }) } @@ -141,6 +199,11 @@ export const EditDate = ({ field }: EditDateProps): JSX.Element => { }, }) + const hasInvalidDaysRestriction = useWatch({ + control, + name: 'hasInvalidDays', + }) + const requiredValidationRule = useMemo( () => createBaseValidationRules({ required: true }), [], @@ -173,6 +236,7 @@ export const EditDate = ({ field }: EditDateProps): JSX.Element => { ) }, }, + deps: 'invalidDays', }), [getValues], ) @@ -241,7 +305,7 @@ export const EditDate = ({ field }: EditDateProps): JSX.Element => { ( @@ -264,6 +328,75 @@ export const EditDate = ({ field }: EditDateProps): JSX.Element => { {get(errors, 'dateValidation.customMinDate.message')} + + + + + {hasInvalidDaysRestriction && ( + + { + const customMinDate = getValues( + 'dateValidation.customMinDate', + ) + const customMaxDate = getValues( + 'dateValidation.customMaxDate', + ) + + return ( + !( + getValues('dateValidation.selectedDateValidation') === + DateSelectedValidation.Custom && + customMinDate && + customMaxDate + ) || + hasAvailableDates( + customMinDate, + customMaxDate, + getRemainingDaysOfTheWeek(val), + ) || + "The selected days aren't available within your custom date range" + ) + }, + }} + render={({ field: { ref, ...field } }) => ( + + + {INVALID_DAYS_OPTIONS.map((invalidDayOption, index) => ( + + + {invalidDayOption} + + + ))} + + + )} + /> + + {get(errors, 'invalidDays.message')} + + + )} + { const { selectedDateValidation } = schema.dateValidation - // All dates available. - if (!selectedDateValidation) return false + const selectedInvalidDays = schema.invalidDays ?? [] + let isDateUnavailable = false switch (selectedDateValidation) { case DateSelectedValidation.NoPast: - return isDateBeforeToday(date) + isDateUnavailable = isDateBeforeToday(date) + break case DateSelectedValidation.NoFuture: - return isDateAfterToday(date) + isDateUnavailable = isDateAfterToday(date) + break case DateSelectedValidation.Custom: { const { customMinDate, customMaxDate } = schema.dateValidation // customMinDate and customMaxDate are in UTC from the server, // need to convert to local time but with the same date as UTC. - return isDateOutOfRange( + isDateUnavailable = isDateOutOfRange( date, loadDateFromNormalizedDate(customMinDate), loadDateFromNormalizedDate(customMaxDate), ) + break } default: - return false + break } + + return isDateUnavailable || isDateAnInvalidDay(date, selectedInvalidDays) }, - [schema.dateValidation], + [schema.dateValidation, schema.invalidDays], ) const { control } = useFormContext() diff --git a/frontend/src/utils/date.ts b/frontend/src/utils/date.ts index 8b6508a34c..cdf5dfc2f3 100644 --- a/frontend/src/utils/date.ts +++ b/frontend/src/utils/date.ts @@ -1,5 +1,7 @@ import { endOfToday, isAfter, isBefore, parseISO, startOfToday } from 'date-fns' +import { InvalidDaysOptions } from '~shared/types' + import { JsonDate } from '~typings/core' /** @@ -126,3 +128,10 @@ export const transformAllIsoStringsToDate = (body: T): T => { mutableTransformAllIsoStringsToDate(body) return body } + +export const getRemainingDaysOfTheWeek = ( + days: InvalidDaysOptions[], +): InvalidDaysOptions[] => { + const daysSet = new Set(days) + return Object.values(InvalidDaysOptions).filter((day) => !daysSet.has(day)) +} diff --git a/frontend/src/utils/fieldValidation.ts b/frontend/src/utils/fieldValidation.ts index 9f2b163bf0..60533faddc 100644 --- a/frontend/src/utils/fieldValidation.ts +++ b/frontend/src/utils/fieldValidation.ts @@ -30,6 +30,7 @@ import { TextSelectedValidation, UenFieldBase, } from '~shared/types/field' +import { isDateAnInvalidDay } from '~shared/utils/date-validation' import { isMFinSeriesValid, isNricValid } from '~shared/utils/nric-validation' import { isHomePhoneNumber, @@ -439,6 +440,12 @@ export const createDateValidationRules: ValidationRuleFn = ( ) || 'Selected date is not within the allowed date range' ) }, + invalidDays: (val) => + !val || + !schema.invalidDays || + !schema.invalidDays.length || + !isDateAnInvalidDay(parseDate(val), schema.invalidDays) || + 'This date is not allowed by the form admin', }, } } diff --git a/shared/types/field/dateField.ts b/shared/types/field/dateField.ts index bfcf56893a..da3aa15408 100644 --- a/shared/types/field/dateField.ts +++ b/shared/types/field/dateField.ts @@ -7,6 +7,16 @@ export enum DateSelectedValidation { Custom = 'Custom date range', } +export enum InvalidDaysOptions { + Sunday = 'Sundays', + Monday = 'Mondays', + Tuesday = 'Tuesdays', + Wednesday = 'Wednesdays', + Thursday = 'Thursdays', + Friday = 'Fridays', + Saturday = 'Saturdays', +} + export type DateValidationOptions = { customMaxDate: Date | null customMinDate: Date | null @@ -16,4 +26,5 @@ export type DateValidationOptions = { export interface DateFieldBase extends MyInfoableFieldBase { fieldType: BasicField.Date dateValidation: DateValidationOptions + invalidDays?: InvalidDaysOptions[] } diff --git a/shared/utils/__tests__/date-validation.spec.ts b/shared/utils/__tests__/date-validation.spec.ts new file mode 100644 index 0000000000..65b4abe2c8 --- /dev/null +++ b/shared/utils/__tests__/date-validation.spec.ts @@ -0,0 +1,153 @@ +import { InvalidDaysOptions } from '../../types' +import { + convertInvalidDaysOfTheWeekToNumberSet, + hasAvailableDates, + isDateAnInvalidDay, +} from '../date-validation' + +describe('File validation utils', () => { + describe('convertInvalidDaysOfTheWeekToNumberSet', () => { + it('should return empty set if there are no invalid days in invalid days array', () => { + const mockInvalidDays: InvalidDaysOptions[] = [] + const expectedSet = new Set() + expect(convertInvalidDaysOfTheWeekToNumberSet(mockInvalidDays)).toEqual( + expectedSet, + ) + }) + + it('should return set containing the correct number representation of the days in the invalid days array', () => { + const mockInvalidDays = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Sunday, + ] + const expectedSet = new Set([1, 2, 7]) + expect(convertInvalidDaysOfTheWeekToNumberSet(mockInvalidDays)).toEqual( + expectedSet, + ) + }) + }) + describe('isDateAnInvalidDay', () => { + it('should return true if there is a match in invalidDays array', () => { + const mockTues = new Date('2022-08-02') + const mockWed = new Date('2022-08-03') + const mockInvalidDays = [ + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + ] + expect(isDateAnInvalidDay(mockTues, mockInvalidDays)).toBe(true) + expect(isDateAnInvalidDay(mockWed, mockInvalidDays)).toBe(true) + }) + + it('should return false if there is no invalid day in invalidDays array', () => { + const mockDate = new Date() + const mockInvalidDays: InvalidDaysOptions[] = [] + expect(isDateAnInvalidDay(mockDate, mockInvalidDays)).toBe(false) + }) + + it('should return false if there is no match between date and invalidDays array', () => { + const mockTues = new Date('2022-08-02') + const mockWed = new Date('2022-08-03') + const mockThurs = new Date('2022-08-04') + const mockSat = new Date('2022-08-06') + const mockSun = new Date('2022-08-07') + const mockInvalidDays = [ + InvalidDaysOptions.Friday, + InvalidDaysOptions.Monday, + ] + expect(isDateAnInvalidDay(mockTues, mockInvalidDays)).toBe(false) + expect(isDateAnInvalidDay(mockWed, mockInvalidDays)).toBe(false) + expect(isDateAnInvalidDay(mockThurs, mockInvalidDays)).toBe(false) + expect(isDateAnInvalidDay(mockSat, mockInvalidDays)).toBe(false) + expect(isDateAnInvalidDay(mockSun, mockInvalidDays)).toBe(false) + }) + }) + describe('hasAvailableDates', () => { + describe('when there is more than or equal to 7 invalid days', () => { + it('should return false when all days are invalid', () => { + const mockStartDate = new Date('2022-10-19') + const mockEndDate = new Date('2022-10-25') + const mockInvalidDays = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + InvalidDaysOptions.Thursday, + InvalidDaysOptions.Friday, + InvalidDaysOptions.Saturday, + InvalidDaysOptions.Sunday, + ] + expect( + hasAvailableDates(mockStartDate, mockEndDate, mockInvalidDays), + ).toBe(false) + }) + it('should return true when some days are valid', () => { + const mockStartDate = new Date('2022-10-19') + const mockEndDate = new Date('2022-10-25') + const mockInvalidDays = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + InvalidDaysOptions.Thursday, + InvalidDaysOptions.Friday, + InvalidDaysOptions.Saturday, + InvalidDaysOptions.Saturday, // duplicate day of the week + ] + expect( + hasAvailableDates(mockStartDate, mockEndDate, mockInvalidDays), + ).toBe(true) + }) + }) + describe('when there is less than 7 invalid days', () => { + describe('when the date difference is more than or equals to 6 days', () => { + it('should return true when there are valid days', () => { + const mockStartDate = new Date('2022-10-19') + const mockEndDate = new Date('2022-10-25') + const mockInvalidDays = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + InvalidDaysOptions.Thursday, + InvalidDaysOptions.Friday, + InvalidDaysOptions.Saturday, + ] + expect( + hasAvailableDates(mockStartDate, mockEndDate, mockInvalidDays), + ).toBe(true) + }) + }) + describe('when the date difference is less than 6 days', () => { + it('should return false when all dates are invalid days', () => { + const mockStartDate = new Date('2022-10-19') + const mockEndDate = new Date('2022-10-24') + const mockInvalidDays = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Wednesday, + InvalidDaysOptions.Thursday, + InvalidDaysOptions.Friday, + InvalidDaysOptions.Saturday, + InvalidDaysOptions.Sunday, + ] + expect( + hasAvailableDates(mockStartDate, mockEndDate, mockInvalidDays), + ).toBe(false) + }) + it('should return true when not all dates are invalid days', () => { + const mockStartDate = new Date('2022-10-19') // Wednesday + const mockEndDate = new Date('2022-10-24') // Monday + const mockInvalidDays = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + InvalidDaysOptions.Thursday, + InvalidDaysOptions.Friday, + InvalidDaysOptions.Saturday, + ] + // Sunday is not an invalid day + expect( + hasAvailableDates(mockStartDate, mockEndDate, mockInvalidDays), + ).toBe(true) + }) + }) + }) + }) +}) diff --git a/shared/utils/date-validation.ts b/shared/utils/date-validation.ts new file mode 100644 index 0000000000..e7b86ab088 --- /dev/null +++ b/shared/utils/date-validation.ts @@ -0,0 +1,55 @@ +import { differenceInCalendarDays, format } from 'date-fns' +import { InvalidDaysOptions } from '../types/field/dateField' + +const DAY_TO_NUMBER_MAP: Record = { + [InvalidDaysOptions.Monday]: 1, + [InvalidDaysOptions.Tuesday]: 2, + [InvalidDaysOptions.Wednesday]: 3, + [InvalidDaysOptions.Thursday]: 4, + [InvalidDaysOptions.Friday]: 5, + [InvalidDaysOptions.Saturday]: 6, + [InvalidDaysOptions.Sunday]: 7, +} + +/** + * Convert the days of the week in the invalidDays array + * to a number array representing the number representation + * of the corresponding day of the week + */ +export const convertInvalidDaysOfTheWeekToNumberSet = ( + invalidDays: InvalidDaysOptions[], +): Set => { + if (!invalidDays.length) { + return new Set() + } + + return new Set(invalidDays.map((invalidDay) => DAY_TO_NUMBER_MAP[invalidDay])) +} + +export const isDateAnInvalidDay = ( + date: Date, + invalidDays: InvalidDaysOptions[], +): boolean => { + const invalidDaySet = convertInvalidDaysOfTheWeekToNumberSet(invalidDays) + const dayNumberFormat = parseInt(format(date, 'i')) + + return invalidDaySet.has(dayNumberFormat) +} + +export const hasAvailableDates = ( + start: Date, + end: Date, + invalidDays: InvalidDaysOptions[], +): boolean => { + if (invalidDays.length < 7 && differenceInCalendarDays(start, end) >= 6) { + return true + } + + for (let date = start; date <= end; date.setDate(date.getDate() + 1)) { + if (!isDateAnInvalidDay(date, invalidDays)) { + return true + } + } + + return false +} diff --git a/src/app/models/field/__tests__/dateField.spec.ts b/src/app/models/field/__tests__/dateField.spec.ts new file mode 100644 index 0000000000..4a7dee7b2f --- /dev/null +++ b/src/app/models/field/__tests__/dateField.spec.ts @@ -0,0 +1,170 @@ +import dbHandler from '__tests__/unit/backend/helpers/jest-db' +import merge from 'lodash/merge' +import mongoose, { Model, Schema } from 'mongoose' +import { + DateFieldBase, + FormResponseMode, + InvalidDaysOptions, +} from 'shared/types' + +import { IDateFieldSchema } from 'src/types' + +import createDateFieldSchema from '../dateField' + +describe('models.fields.dateField', () => { + // Required as the field validator has a this.parent() check for response mode. + let MockParent: Model<{ + responseMode: FormResponseMode + field: IDateFieldSchema + }> + + beforeAll(async () => { + const db = await dbHandler.connect() + const dateFieldSchema = createDateFieldSchema() + MockParent = db.model( + 'mockParent', + new Schema({ + responseMode: { + type: String, + enum: Object.values(FormResponseMode), + }, + field: dateFieldSchema, + }), + ) + }) + beforeEach(async () => await dbHandler.clearDatabase()) + afterAll(async () => await dbHandler.closeDatabase()) + + it('should set default empty array for invalidDays when date field does not specify', async () => { + // Arrange + const mockDateField = { + dateValidation: { + selectedDateValidation: null, + customMaxDate: null, + customMinDate: null, + }, + } + const expectedDateField: Partial = { + dateValidation: { + selectedDateValidation: null, + customMaxDate: null, + customMinDate: null, + }, + invalidDays: [], + } + + // Act + const actual = await MockParent.create({ + responseMode: FormResponseMode.Encrypt, + field: mockDateField, + }) + + // Assert + const expected = merge(expectedDateField, mockDateField, { + _id: expect.anything(), + }) + expect(actual.field.toObject()).toEqual(expected) + }) + + it('should successfully assign an array with valid values to invalidDays attribute', async () => { + // Arrange + const mockInvalidDays = [ + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + ] + const mockDateField = { + dateValidation: { + selectedDateValidation: null, + customMaxDate: null, + customMinDate: null, + }, + invalidDays: mockInvalidDays, + } + const expectedDateField: Partial = { + dateValidation: { + selectedDateValidation: null, + customMaxDate: null, + customMinDate: null, + }, + invalidDays: mockInvalidDays, + } + + // Act + const actual = await MockParent.create({ + responseMode: FormResponseMode.Encrypt, + field: mockDateField, + }) + + // Assert + const expected = merge(expectedDateField, mockDateField, { + _id: expect.anything(), + }) + expect(actual.field.toObject()).toEqual(expected) + }) + + it('should throw an error when an array with invalid values are assigned to invalidDays attribute', async () => { + // Arrange + const mockInvalidDays = ['January'] + const mockDateField = { + dateValidation: { + selectedDateValidation: null, + customMaxDate: null, + customMinDate: null, + }, + invalidDays: mockInvalidDays, + } + + await expect( + MockParent.create({ + responseMode: FormResponseMode.Encrypt, + field: mockDateField, + }), + ).rejects.toThrow(mongoose.Error.ValidationError) + }) + + it('should throw an error when an array with null value is assigned to invalidDays attribute array', async () => { + // Arrange + const mockInvalidDays = [null] + const mockDateField = { + dateValidation: { + selectedDateValidation: null, + customMaxDate: null, + customMinDate: null, + }, + invalidDays: mockInvalidDays, + } + + await expect( + MockParent.create({ + responseMode: FormResponseMode.Encrypt, + field: mockDateField, + }), + ).rejects.toThrow(mongoose.Error.ValidationError) + }) + + it('should throw an error when an array with null value and valid values are assigned to invalidDays attribute array', async () => { + // Arrange + const mockInvalidDays = [ + null, + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + ] + const mockDateField = { + dateValidation: { + selectedDateValidation: null, + customMaxDate: null, + customMinDate: null, + }, + invalidDays: mockInvalidDays, + } + + await expect( + MockParent.create({ + responseMode: FormResponseMode.Encrypt, + field: mockDateField, + }), + ).rejects.toThrow(mongoose.Error.ValidationError) + }) +}) diff --git a/src/app/models/field/dateField.ts b/src/app/models/field/dateField.ts index d3b13df91c..df8e9e5a9d 100644 --- a/src/app/models/field/dateField.ts +++ b/src/app/models/field/dateField.ts @@ -1,6 +1,9 @@ import { Schema } from 'mongoose' -import { DateSelectedValidation } from '../../../../shared/types' +import { + DateSelectedValidation, + InvalidDaysOptions, +} from '../../../../shared/types' import { IDateFieldSchema } from '../../../types' import { MyInfoSchema } from './baseField' @@ -23,6 +26,15 @@ const createDateFieldSchema = () => { default: null, }, }, + invalidDays: { + type: [ + { + type: String, + required: true, + }, + ], + enum: [...Object.values(InvalidDaysOptions)], + }, }) } diff --git a/src/app/utils/field-validation/validators/__tests__/date-validation.spec.ts b/src/app/utils/field-validation/validators/__tests__/date-validation.spec.ts index ebbc9c203b..440c2890fd 100644 --- a/src/app/utils/field-validation/validators/__tests__/date-validation.spec.ts +++ b/src/app/utils/field-validation/validators/__tests__/date-validation.spec.ts @@ -9,6 +9,7 @@ import { validateField } from 'src/app/utils/field-validation' import { BasicField, DateSelectedValidation, + InvalidDaysOptions, } from '../../../../../../shared/types' describe('Date field validation', () => { @@ -323,4 +324,85 @@ describe('Date field validation', () => { new ValidateFieldError('Attempted to submit response on a hidden field'), ) }) + + it('should allow dates if invalid day array is empty', () => { + const formField = generateDefaultField(BasicField.Date, { + dateValidation: { + selectedDateValidation: null, + customMinDate: null, + customMaxDate: null, + }, + invalidDays: [], + }) + const response = generateNewSingleAnswerResponse(BasicField.Date, { + answer: '26 Jul 2022', + }) + + const validateResult = validateField('formId', formField, response) + expect(validateResult.isOk()).toBe(true) + expect(validateResult._unsafeUnwrap()).toEqual(true) + }) + + it('should allow dates that is not an invalid day', () => { + const formField = generateDefaultField(BasicField.Date, { + dateValidation: { + selectedDateValidation: null, + customMinDate: null, + customMaxDate: null, + }, + invalidDays: [ + InvalidDaysOptions.Saturday, + InvalidDaysOptions.Sunday, + InvalidDaysOptions.Monday, + InvalidDaysOptions.Tuesday, + InvalidDaysOptions.Wednesday, + InvalidDaysOptions.Thursday, + ], + }) + const response = generateNewSingleAnswerResponse(BasicField.Date, { + answer: '29 Jul 2022', // Friday + }) + + const validateResult = validateField('formId', formField, response) + expect(validateResult.isOk()).toBe(true) + expect(validateResult._unsafeUnwrap()).toEqual(true) + }) + + it('should disallow dates that is an invalid day', () => { + const formField = generateDefaultField(BasicField.Date, { + dateValidation: { + selectedDateValidation: null, + customMinDate: null, + customMaxDate: null, + }, + invalidDays: [InvalidDaysOptions.Wednesday, InvalidDaysOptions.Thursday], + }) + const mockWedResponse = generateNewSingleAnswerResponse(BasicField.Date, { + answer: '27 Jul 2022', + }) + + const validateWedResult = validateField( + 'formId', + formField, + mockWedResponse, + ) + expect(validateWedResult.isErr()).toBe(true) + expect(validateWedResult._unsafeUnwrapErr()).toEqual( + new ValidateFieldError('Invalid answer submitted'), + ) + + const mockThursResponse = generateNewSingleAnswerResponse(BasicField.Date, { + answer: '28 Jul 2022', + }) + + const validateThursResult = validateField( + 'formId', + formField, + mockThursResponse, + ) + expect(validateThursResult.isErr()).toBe(true) + expect(validateThursResult._unsafeUnwrapErr()).toEqual( + new ValidateFieldError('Invalid answer submitted'), + ) + }) }) diff --git a/src/app/utils/field-validation/validators/dateValidator.ts b/src/app/utils/field-validation/validators/dateValidator.ts index af41a0ac52..8e8b15a8c1 100644 --- a/src/app/utils/field-validation/validators/dateValidator.ts +++ b/src/app/utils/field-validation/validators/dateValidator.ts @@ -1,8 +1,10 @@ +import { format } from 'date-fns' import { chain, left, right } from 'fp-ts/lib/Either' import { flow } from 'fp-ts/lib/function' import moment from 'moment-timezone' import { DateSelectedValidation } from '../../../../../shared/types' +import { convertInvalidDaysOfTheWeekToNumberSet as convertInvalidDaysToNumberSet } from '../../../../../shared/utils/date-validation' import { IDateFieldSchema, OmitUnusedValidatorProps, @@ -106,6 +108,23 @@ const makeDateValidator: DateValidatorConstructor = (dateField) => { } } +/** + * Returns a validator to check if date is an invalid day + */ +const makeInvalidDaysValidator: DateValidatorConstructor = + (dateField) => (response) => { + const { answer } = response + const invalidDays = convertInvalidDaysToNumberSet( + dateField.invalidDays ?? [], + ) + // Convert date response to a ISO day of the week number format + const dateResponseNumberFormat = parseInt(format(new Date(answer), 'i')) + + return invalidDays.has(dateResponseNumberFormat) + ? left(`DateValidator:\t answer is an invalid day`) + : right(response) + } + /** * Returns a validation function for a date field when called. */ @@ -114,4 +133,5 @@ export const constructDateValidator: DateValidatorConstructor = (dateField) => notEmptySingleAnswerResponse, chain(dateFormatValidator), chain(makeDateValidator(dateField)), + chain(makeInvalidDaysValidator(dateField)), ) From 45948f351744cf7734c4d55d647d542f5aad235b Mon Sep 17 00:00:00 2001 From: Justyn Oh Date: Mon, 5 Jun 2023 11:49:52 +0800 Subject: [PATCH 05/10] chore: delete angular (#6344) * chore: remove react migration vars * chore: remove more conditional code in angular, backend types * chore: remove angular from express routing rules! * chore: add back public route * chore: remove angular public route * chore: add react router * chore: delete home folder, rename frontend to frontend-old and frontend-new to frontend * chore: remove src_e2e ci test, rename tests to better reflect backend-frontend split * test: add --openssl-legacy-provider to the ci build step * chore: update node options for build step * chore: revert ci to node 14 * test: delete angular e2e tests, migrate remaining test helpers to __tests__/ * test: update playwright web server health check url * chore: update .test-env path for playwright tests * test: add missing dependent function to mock webhook server * chore: delete angular code * chore: delete old frontend webpack, references to old frontend directory * chore: remove stylelint dependency * chore: recreate package-lock * chore: add package-lock back * chore: recreate lockfile with version 2 --- .github/workflows/ci.yml | 1 + .npmrc | 1 - .sentryignore | 5 +- .stylelintrc.js | 8 - .vscode/settings.json | 3 +- README.md | 10 +- __tests__/unit/frontend/.eslintrc | 8 - .../helpers/CsvMergedHeadersGenerator.test.js | 692 --- __tests__/unit/frontend/helpers/mockFile.ts | 15 - __tests__/unit/frontend/jest.config.js | 17 - docs/ARCHITECTURE.md | 12 +- jest.config.js | 1 - package-lock.json | 5305 ++++++----------- package.json | 13 +- src/app/loaders/express/index.ts | 2 - .../__tests__/frontend.controller.spec.ts | 100 - .../frontend-old/frontend.controller.ts | 172 - .../frontend-old/frontend.middlewares.ts | 9 - .../modules/frontend-old/frontend.routes.ts | 47 - .../modules/frontend/frontend.controller.ts | 15 +- .../frontend.service.ts | 0 src/app/routes/api/v3/client/client.routes.ts | 42 +- src/app/views/index.server.view.html | 83 - src/public/.eslintrc | 106 - .../FormSG_Script_Installation_v1-4.docx | Bin 1234103 -> 0 bytes src/public/FormSG_Script_v1-4.xlsm | Bin 150822 -> 0 bytes src/public/main.css | 54 - src/public/main.js | 738 --- .../core/componentViews/avatar-dropdown.html | 75 - .../modules/core/componentViews/banner.html | 16 - .../modules/core/componentViews/footer.html | 117 - .../modules/core/componentViews/navbar.html | 46 - .../core/componentViews/sg-govt-banner.html | 12 - .../core/componentViews/toolset-dropdown.html | 30 - .../avatar-dropdown.client.component.js | 135 - .../components/banner.client.component.js | 53 - .../components/footer.client.component.js | 5 - .../components/navbar.client.component.js | 12 - .../sg-govt-banner.client.component.js | 17 - .../toolset-dropdown.client.component.js | 33 - .../modules/core/config/core.client.routes.js | 33 - ...-contact-number-modal.client.controller.js | 164 - .../controllers/landing.client.controller.js | 198 - .../modules/core/css/admin-form-header.css | 481 -- .../modules/core/css/avatar-dropdown.css | 257 - src/public/modules/core/css/banner.css | 92 - src/public/modules/core/css/core.css | 733 --- .../core/css/edit-contact-number-modal.css | 281 - src/public/modules/core/css/footer.css | 249 - src/public/modules/core/css/how-it-works.css | 286 - src/public/modules/core/css/landing.css | 747 --- src/public/modules/core/css/navbar.css | 110 - .../modules/core/css/sg-govt-banner.css | 90 - .../modules/core/css/toolset-dropdown.css | 58 - .../on-click-outside.client.directive.js | 42 - ...oute-loading-indicator.client.directive.js | 27 - src/public/modules/core/img/billing.svg | 22 - .../modules/core/img/build-illustration.svg | 48 - src/public/modules/core/img/bx-image-add.svg | 6 - src/public/modules/core/img/download-icon.svg | 3 - .../modules/core/img/emergency-contact.svg | 5 - .../modules/core/img/error-illustration.svg | 39 - src/public/modules/core/img/favicon.ico | Bin 15086 -> 0 bytes src/public/modules/core/img/govtech.jpg | Bin 31186 -> 0 bytes src/public/modules/core/img/info-icon.svg | 3 - .../core/img/landing/restricted__1-MOM.png | Bin 37561 -> 0 bytes .../core/img/landing/restricted__2-MOE.png | Bin 151779 -> 0 bytes .../core/img/landing/restricted__3-NEA.png | Bin 154777 -> 0 bytes .../core/img/landing/restricted__7-MFA.png | Bin 56551 -> 0 bytes .../core/img/landing/restricted__8-IPOS.png | Bin 47885 -> 0 bytes .../core/img/landing/restricted__9-SCB.png | Bin 72294 -> 0 bytes .../img/landing/restricted__build-demo.png | Bin 64661 -> 0 bytes .../core/img/landing/restricted__feature1.png | Bin 28496 -> 0 bytes .../core/img/landing/restricted__feature2.png | Bin 36426 -> 0 bytes .../core/img/landing/restricted__feature3.png | Bin 24742 -> 0 bytes .../landing/restricted__img-buildshare.svg | 64 - .../landing/restricted__img-email-mode.svg | 71 - .../img/landing/restricted__img-excel.svg | 62 - .../img/landing/restricted__img-login.svg | 93 - .../restricted__img-responses-email.svg | 34 - .../img/landing/restricted__img-secretkey.svg | 44 - .../landing/restricted__img-storagemode.svg | 62 - .../core/img/logo-horizontal-color.svg | 26 - .../modules/core/img/logo-horizontal-dark.svg | 26 - .../core/img/logo-horizontal-light.svg | 26 - .../modules/core/img/logo-logomark-color.svg | 8 - .../modules/core/img/logo-logomark-dark.svg | 8 - .../modules/core/img/logo-logomark-light.svg | 8 - .../modules/core/img/logo-vertical-color.svg | 24 - .../modules/core/img/logo-vertical-dark.svg | 30 - .../modules/core/img/logo-vertical-light.svg | 25 - src/public/modules/core/img/logomark.ico | Bin 100864 -> 0 bytes .../modules/core/img/og/img_metatag.png | Bin 26891 -> 0 bytes .../core/img/og/logo-vertical-color.png | Bin 4429 -> 0 bytes .../modules/core/img/ogp-logo-full-color.svg | 24 - .../core/img/otp-email-illustration.svg | 27 - .../core/img/otp-mobile-illustration.svg | 20 - .../modules/core/img/sign-in-illustration.svg | 102 - src/public/modules/core/img/smileys/angry.svg | 19 - src/public/modules/core/img/smileys/happy.svg | 14 - .../modules/core/img/smileys/neutral.svg | 14 - src/public/modules/core/img/smileys/ok.svg | 3 - src/public/modules/core/img/smileys/sad.svg | 14 - .../core/resources/fonts/sgds-icons.ttf | Bin 34992 -> 0 bytes .../core/resources/fonts/sgds-icons.woff | Bin 35068 -> 0 bytes .../core/resources/landing-examples.js | 81 - .../core/services/gtag.client.service.js | 513 -- .../views/edit-contact-number-modal.view.html | 178 - .../core/views/landing.client.view.html | 760 --- .../edit-logic.client.view.html | 141 - .../export-button.client.view.html | 11 - .../form-emails-input.client.view.html | 77 - .../form-title-input.client.view.html | 50 - .../response-attachment.client.view.html | 11 - .../response-table.client.view.html | 2 - .../response-title.client.view.html | 6 - .../response-views/response.client.view.html | 19 - .../share-form.client.view.html | 143 - .../components/edit-logic.client.component.js | 116 - .../export-button.client.component.js | 11 - .../form-emails-input.client.component.js | 22 - .../form-title-input.client.component.js | 23 - .../response-answer-array.client.component.js | 7 - .../response-answer.client.component.js | 7 - .../response-attachment.client.component.js | 43 - .../response-table.client.component.js | 51 - .../response-title.client.component.js | 24 - .../response.client.component.js | 9 - .../components/share-form.client.component.js | 61 - .../modules/forms/admin/constants/covid19.js | 961 --- .../admin/constants/update-form-types.ts | 7 - .../activate-form-modal.client.controller.js | 138 - .../admin-form.client.controller.js | 393 -- .../collaborator-modal.client.controller.js | 379 -- .../create-form-modal.client.controller.js | 311 - ...e-form-template-modal.client.controller.js | 41 - ...e-field-warning-modal.client.controller.js | 25 - .../delete-form-modal.client.controller.js | 52 - .../edit-end-page-modal.client.controller.js | 67 - .../edit-fields-modal.client.controller.js | 638 -- .../edit-logic-modal.client.controller.js | 308 - ...it-myinfo-field-modal.client.controller.js | 68 - ...edit-start-page-modal.client.controller.js | 196 - .../list-forms.client.controller.js | 210 - ...ile-edit-fields-modal.client.controller.js | 52 - .../pop-up-modal.client.controller.js | 26 - .../results-panel.client.controller.js | 19 - .../view-responses.client.controller.js | 501 -- .../forms/admin/css/configure-form.css | 122 - .../modules/forms/admin/css/create-form.css | 301 - .../forms/admin/css/daterangepicker.css | 432 -- .../modules/forms/admin/css/edit-form.css | 1443 ----- .../modules/forms/admin/css/edit-logic.css | 542 -- .../modules/forms/admin/css/export-button.css | 35 - .../forms/admin/css/form-emails-input.css | 36 - .../forms/admin/css/form-title-input.css | 7 - .../modules/forms/admin/css/list-forms.css | 423 -- .../modules/forms/admin/css/pop-up-modal.css | 212 - .../modules/forms/admin/css/results-panel.css | 152 - .../modules/forms/admin/css/settings-form.css | 247 - .../modules/forms/admin/css/share-form.css | 74 - .../modules/forms/admin/css/view-feedback.css | 190 - .../forms/admin/css/view-responses.css | 746 --- .../configure-form.client.view.html | 114 - .../configure-mobile.client.view.html | 66 - .../daterangepicker.client.view.html | 11 - .../edit-captcha.client.view.html | 34 - .../directiveViews/edit-form.client.view.html | 370 -- .../settings-form.client.view.html | 475 -- ...ify-secret-key-activation.client.view.html | 100 - .../verify-secret-key.client.view.html | 66 - .../view-feedback.client.view.html | 101 - .../configure-form.client.directive.js | 27 - .../configure-mobile.client.directive.js | 147 - .../daterangepicker.client.directive.js | 50 - .../edit-captcha.client.directive.js | 25 - .../directives/edit-form.client.directive.js | 494 -- ...s-verifiable-save-interceptor.directive.js | 26 - .../settings-form.client.directive.js | 383 -- ...lidate-email-domain-from-text.directive.js | 31 - .../validate-form-emails-input.directive.js | 39 - .../verify-secret-key.client.directive.js | 111 - .../view-feedback.client.directive.js | 132 - .../modules/forms/admin/img/activate.svg | 12 - src/public/modules/forms/admin/img/empty.svg | 9 - .../modules/forms/admin/img/ic-elements.svg | 8 - .../modules/forms/admin/img/ic-warning.svg | 12 - .../views/activate-form.client.modal.html | 74 - .../admin/views/admin-form.client.view.html | 59 - .../views/collaborator.client.modal.html | 340 -- .../create-form-template.client.modal.html | 23 - .../admin/views/create-form.client.modal.html | 182 - .../views/decrypt-progress.client.modal.html | 38 - .../delete-field-warning.client.modal.html | 19 - .../admin/views/delete-form.client.modal.html | 18 - ...download-all-attachments.client.modal.html | 47 - .../views/edit-end-page.client.modal.html | 118 - .../admin/views/edit-fields.client.modal.html | 1397 ----- .../admin/views/edit-logic.client.modal.html | 357 -- .../views/edit-myinfo-field.client.modal.html | 109 - .../views/edit-start-page.client.modal.html | 229 - .../admin/views/list-forms.client.view.html | 125 - .../mobile-edit-fields.client.modal.html | 159 - .../admin/views/pop-up.client.modal.html | 23 - .../views/results-panel.client.view.html | 16 - .../views/view-responses.client.view.html | 267 - .../forms/base/componentViews/end-page.html | 49 - .../feedback-form.client.view.html | 58 - .../field-attachment.client.view.html | 97 - .../field-checkbox.client.view.html | 162 - .../field-date.client.view.html | 79 - .../field-decimal.client.view.html | 114 - .../field-dropdown.client.view.html | 66 - .../field-email.client.view.html | 74 - .../field-homeno.client.view.html | 78 - .../field-image.client.view.html | 8 - .../field-mobile.client.view.html | 92 - .../field-nric.client.view.html | 56 - .../field-number.client.view.html | 80 - .../field-radiobutton.client.view.html | 112 - .../field-rating.client.view.html | 49 - .../field-section.client.view.html | 13 - .../field-statement.client.view.html | 5 - .../field-table.client.view.html | 120 - .../field-textarea.client.view.html | 77 - .../field-textfield.client.view.html | 72 - .../componentViews/field-uen.client.view.html | 56 - .../field-yes-no.client.view.html | 66 - .../forms/base/componentViews/fieldError.html | 4 - .../forms/base/componentViews/start-page.html | 175 - .../base/componentViews/verifiable-field.html | 141 - .../components/end-page.client.component.js | 34 - .../feedback-form.client.component.js | 55 - .../field-attachment.client.component.js | 162 - .../field-checkbox.client.component.js | 27 - .../components/field-date.client.component.js | 95 - .../field-decimal.client.component.js | 33 - .../field-dropdown.client.component.js | 61 - .../field-email.client.component.js | 12 - .../field-homeno.client.component.js | 11 - .../components/field-icon.client.component.js | 22 - .../field-image.client.component.js | 10 - .../field-mobile.client.component.js | 13 - .../components/field-nric.client.component.js | 10 - .../field-number.client.component.js | 11 - .../field-radiobutton.client.component.js | 36 - .../field-rating.client.component.js | 12 - .../field-section.client.component.js | 12 - .../field-statement.client.component.js | 11 - .../field-table.client.component.js | 70 - .../field-textarea.client.component.js | 11 - .../field-textfield.client.component.js | 46 - .../components/field-uen.client.component.js | 10 - .../field-yes-no.client.component.js | 35 - .../base/components/field.error.component.js | 17 - .../components/start-page.client.component.js | 85 - .../verifiable-field.client.component.js | 446 -- .../error-page.client.controller.js | 35 - .../submit-form.client.controller.js | 159 - .../modules/forms/base/css/base-form.css | 419 -- .../modules/forms/base/css/color-theme.css | 293 - .../modules/forms/base/css/datepicker.css | 99 - .../modules/forms/base/css/end-page.css | 16 - .../modules/forms/base/css/error-page.css | 65 - .../modules/forms/base/css/feedback-form.css | 69 - .../modules/forms/base/css/form-field.css | 615 -- src/public/modules/forms/base/css/form.css | 238 - .../modules/forms/base/css/start-end-page.css | 302 - .../forms/base/css/verifiable-field.css | 66 - .../base/directiveViews/datepicker-day.html | 92 - .../base/directiveViews/datepicker-month.html | 75 - .../base/directiveViews/datepicker-popup.html | 27 - .../base/directiveViews/datepicker-year.html | 75 - .../forms/base/directiveViews/datepicker.html | 32 - .../field.client.directive.view.html | 106 - .../base/directiveViews/input-stars.html | 12 - .../submit-form.directive.view.html | 161 - .../base/directives/field.client.directive.js | 76 - .../iframe-onload.client.directive.js | 13 - .../base/directives/ng-intl-tel-input.js | 206 - .../rating-stars.client.directive.js | 199 - .../base/directives/submit-form.directive.js | 532 -- .../validate-checkbox.client.directive.js | 49 - .../validate-email-domain.client.directive.js | 33 - .../validate-email-format.client.directive.js | 16 - .../validate-nric.client.directive.js | 22 - .../validate-uen.client.directive.js | 17 - .../validate-url.client.directive.js | 23 - .../forms/base/resources/icon-types.js | 58 - .../base/views/error-page.client.view.html | 19 - .../base/views/submit-form.client.view.html | 28 - .../views/submit-progress.client.modal.html | 10 - .../forms/config/forms.client.config.js | 25 - .../forms/config/forms.client.routes.js | 190 - .../modules/forms/helpers/CsvGenerator.ts | 77 - .../helpers/CsvMergedHeadersGenerator.ts | 205 - .../forms/helpers/FeedbackCsvGenerator.ts | 26 - .../helpers/__tests__/CsvGenerator.spec.ts | 186 - .../__tests__/FeedbackCsvGenerator.spec.ts | 98 - .../modules/forms/helpers/attachments-map.js | 76 - src/public/modules/forms/helpers/byline.js | 134 - .../ArrayAnswerResponse.class.ts | 20 - .../csv-response-classes/Response.class.ts | 29 - .../SingleAnswerResponse.class.ts | 20 - .../TableResponse.class.ts | 24 - .../helpers/csv-response-classes/index.ts | 4 - .../forms/helpers/decryption.worker.js | 256 - .../modules/forms/helpers/field-factory.js | 92 - src/public/modules/forms/helpers/logo.js | 37 - .../modules/forms/helpers/ndjsonStream.ts | 73 - .../helpers/process-decrypted-content.ts | 100 - .../modules/forms/helpers/response-factory.ts | 78 - src/public/modules/forms/helpers/util.js | 21 - .../services/attachment.client.service.js | 13 - .../forms/services/captcha.client.service.js | 96 - .../forms/services/form-api.client.factory.js | 201 - .../services/form-error.client.factory.js | 51 - .../services/form-fields.client.service.js | 221 - .../forms/services/mailto.client.factory.js | 48 - .../services/spcp-session.client.factory.js | 66 - .../services/submissions.client.factory.js | 304 - .../forms/services/toastr.client.factory.js | 71 - .../viewmodels/Fields/AnswerField.class.js | 24 - .../Fields/ArrayAnswerField.class.js | 8 - .../Fields/AttachmentField.class.js | 13 - .../viewmodels/Fields/CheckboxField.class.js | 56 - .../viewmodels/Fields/DateField.class.js | 38 - .../viewmodels/Fields/DecimalField.class.js | 9 - .../viewmodels/Fields/DropdownField.class.js | 15 - .../viewmodels/Fields/EmailField.class.js | 21 - .../forms/viewmodels/Fields/Field.class.js | 40 - .../viewmodels/Fields/HeaderField.class.js | 15 - .../viewmodels/Fields/HomeNoField.class.js | 8 - .../modules/forms/viewmodels/Fields/MixIns.js | 45 - .../viewmodels/Fields/MobileField.class.js | 15 - .../viewmodels/Fields/NoAnswerField.class.js | 15 - .../viewmodels/Fields/NumberField.class.js | 9 - .../viewmodels/Fields/RadioField.class.js | 27 - .../viewmodels/Fields/RatingField.class.js | 17 - .../Fields/SingleAnswerField.class.js | 54 - .../viewmodels/Fields/TableField.class.js | 210 - .../viewmodels/Fields/TextAreaField.class.js | 9 - .../viewmodels/Fields/TextField.class.js | 9 - .../Fields/VerifiableField.class.js | 19 - .../modules/forms/viewmodels/Fields/index.js | 25 - .../modules/forms/viewmodels/Form.class.js | 128 - .../users/config/users.client.config.js | 28 - .../users/config/users.client.routes.js | 52 - .../authentication.client.controller.js | 287 - .../controllers/billing.client.controller.js | 208 - .../examples-card.client.directive.js | 121 - .../examples-list.client.controller.js | 171 - src/public/modules/users/css/billing.css | 369 -- .../modules/users/css/examples-card.css | 372 -- .../modules/users/css/examples-list.css | 239 - src/public/modules/users/css/privacy-tou.css | 59 - src/public/modules/users/css/sign-in.css | 230 - .../authentication/signin.client.view.html | 131 - .../users/views/billing.client.view.html | 188 - .../views/examples-card.client.view.html | 55 - .../views/examples-list.client.view.html | 108 - .../views/static/privacy.client.view.html | 210 - .../users/views/static/terms.client.view.html | 700 --- src/public/polyfills.js | 36 - src/public/robots.txt | 7 - src/public/services/AdminMetaService.ts | 16 - .../services/AdminSubmissionsService.ts | 154 - src/public/services/AdminViewFormService.ts | 50 - src/public/services/AnalyticsService.ts | 11 - src/public/services/AuthService.ts | 55 - src/public/services/BetaService.ts | 89 - src/public/services/BillingService.ts | 21 - src/public/services/CreateFormService.ts | 41 - src/public/services/EncryptionService.ts | 102 - src/public/services/ExamplesService.ts | 72 - .../services/FieldVerificationService.ts | 117 - src/public/services/FileHandlerService.ts | 186 - src/public/services/FormFeedbackService.ts | 87 - src/public/services/FormSgSdkService.ts | 11 - src/public/services/PublicFormAuthService.ts | 35 - src/public/services/PublicFormService.ts | 93 - src/public/services/UpdateFormService.ts | 313 - src/public/services/UserService.ts | 63 - .../__tests__/AdminMetaService.test.ts | 28 - .../__tests__/AdminSubmissionsService.test.ts | 312 - .../__tests__/AdminViewFormService.test.ts | 156 - .../services/__tests__/AuthService.test.ts | 102 - .../services/__tests__/BetaService.test.ts | 98 - .../services/__tests__/BillingService.test.ts | 52 - .../__tests__/CreateFormService.test.ts | 120 - .../__tests__/EncryptionService.test.ts | 87 - .../__tests__/ExamplesService.test.ts | 200 - .../FieldVerificationService.test.ts | 139 - .../__tests__/FileHandlerService.test.ts | 175 - .../__tests__/FormFeedbackService.spec.ts | 205 - .../__tests__/PublicFormAuthService.test.ts | 131 - .../__tests__/PublicFormService.test.ts | 197 - .../__tests__/UpdateFormService.test.ts | 287 - .../services/__tests__/UserService.test.ts | 133 - src/public/sitemap.xml | 28 - src/public/styles/angular-csp.css | 29 - src/public/styles/ui-bootstrap-csp.css | 120 - src/public/translations/en-SG/landing.json | 149 - src/public/translations/en-SG/main.json | 35 - src/public/types/README.md | 1 - src/public/types/response.ts | 17 - src/public/utils/__tests__/submission.test.ts | 76 - src/public/utils/injectedVariables.ts | 48 - src/public/utils/submission.ts | 26 - ts-loader-config.json | 2 +- tsconfig.build.json | 8 +- webpack.common.js | 113 - webpack.dev.js | 10 - webpack.prod.js | 54 - 414 files changed, 1743 insertions(+), 48655 deletions(-) delete mode 100644 .stylelintrc.js delete mode 100644 __tests__/unit/frontend/.eslintrc delete mode 100644 __tests__/unit/frontend/forms/helpers/CsvMergedHeadersGenerator.test.js delete mode 100644 __tests__/unit/frontend/helpers/mockFile.ts delete mode 100644 __tests__/unit/frontend/jest.config.js delete mode 100644 src/app/modules/frontend-old/__tests__/frontend.controller.spec.ts delete mode 100644 src/app/modules/frontend-old/frontend.controller.ts delete mode 100644 src/app/modules/frontend-old/frontend.middlewares.ts delete mode 100644 src/app/modules/frontend-old/frontend.routes.ts rename src/app/modules/{frontend-old => frontend}/frontend.service.ts (100%) delete mode 100644 src/app/views/index.server.view.html delete mode 100644 src/public/.eslintrc delete mode 100644 src/public/FormSG_Script_Installation_v1-4.docx delete mode 100644 src/public/FormSG_Script_v1-4.xlsm delete mode 100644 src/public/main.css delete mode 100644 src/public/main.js delete mode 100644 src/public/modules/core/componentViews/avatar-dropdown.html delete mode 100644 src/public/modules/core/componentViews/banner.html delete mode 100644 src/public/modules/core/componentViews/footer.html delete mode 100755 src/public/modules/core/componentViews/navbar.html delete mode 100644 src/public/modules/core/componentViews/sg-govt-banner.html delete mode 100644 src/public/modules/core/componentViews/toolset-dropdown.html delete mode 100644 src/public/modules/core/components/avatar-dropdown.client.component.js delete mode 100644 src/public/modules/core/components/banner.client.component.js delete mode 100644 src/public/modules/core/components/footer.client.component.js delete mode 100755 src/public/modules/core/components/navbar.client.component.js delete mode 100644 src/public/modules/core/components/sg-govt-banner.client.component.js delete mode 100644 src/public/modules/core/components/toolset-dropdown.client.component.js delete mode 100755 src/public/modules/core/config/core.client.routes.js delete mode 100644 src/public/modules/core/controllers/edit-contact-number-modal.client.controller.js delete mode 100644 src/public/modules/core/controllers/landing.client.controller.js delete mode 100644 src/public/modules/core/css/admin-form-header.css delete mode 100644 src/public/modules/core/css/avatar-dropdown.css delete mode 100644 src/public/modules/core/css/banner.css delete mode 100755 src/public/modules/core/css/core.css delete mode 100644 src/public/modules/core/css/edit-contact-number-modal.css delete mode 100644 src/public/modules/core/css/footer.css delete mode 100644 src/public/modules/core/css/how-it-works.css delete mode 100644 src/public/modules/core/css/landing.css delete mode 100644 src/public/modules/core/css/navbar.css delete mode 100644 src/public/modules/core/css/sg-govt-banner.css delete mode 100644 src/public/modules/core/css/toolset-dropdown.css delete mode 100644 src/public/modules/core/directives/on-click-outside.client.directive.js delete mode 100644 src/public/modules/core/directives/route-loading-indicator.client.directive.js delete mode 100644 src/public/modules/core/img/billing.svg delete mode 100644 src/public/modules/core/img/build-illustration.svg delete mode 100644 src/public/modules/core/img/bx-image-add.svg delete mode 100644 src/public/modules/core/img/download-icon.svg delete mode 100644 src/public/modules/core/img/emergency-contact.svg delete mode 100644 src/public/modules/core/img/error-illustration.svg delete mode 100644 src/public/modules/core/img/favicon.ico delete mode 100644 src/public/modules/core/img/govtech.jpg delete mode 100644 src/public/modules/core/img/info-icon.svg delete mode 100644 src/public/modules/core/img/landing/restricted__1-MOM.png delete mode 100644 src/public/modules/core/img/landing/restricted__2-MOE.png delete mode 100644 src/public/modules/core/img/landing/restricted__3-NEA.png delete mode 100644 src/public/modules/core/img/landing/restricted__7-MFA.png delete mode 100644 src/public/modules/core/img/landing/restricted__8-IPOS.png delete mode 100644 src/public/modules/core/img/landing/restricted__9-SCB.png delete mode 100644 src/public/modules/core/img/landing/restricted__build-demo.png delete mode 100644 src/public/modules/core/img/landing/restricted__feature1.png delete mode 100644 src/public/modules/core/img/landing/restricted__feature2.png delete mode 100644 src/public/modules/core/img/landing/restricted__feature3.png delete mode 100644 src/public/modules/core/img/landing/restricted__img-buildshare.svg delete mode 100644 src/public/modules/core/img/landing/restricted__img-email-mode.svg delete mode 100644 src/public/modules/core/img/landing/restricted__img-excel.svg delete mode 100644 src/public/modules/core/img/landing/restricted__img-login.svg delete mode 100644 src/public/modules/core/img/landing/restricted__img-responses-email.svg delete mode 100644 src/public/modules/core/img/landing/restricted__img-secretkey.svg delete mode 100644 src/public/modules/core/img/landing/restricted__img-storagemode.svg delete mode 100644 src/public/modules/core/img/logo-horizontal-color.svg delete mode 100644 src/public/modules/core/img/logo-horizontal-dark.svg delete mode 100644 src/public/modules/core/img/logo-horizontal-light.svg delete mode 100644 src/public/modules/core/img/logo-logomark-color.svg delete mode 100644 src/public/modules/core/img/logo-logomark-dark.svg delete mode 100644 src/public/modules/core/img/logo-logomark-light.svg delete mode 100644 src/public/modules/core/img/logo-vertical-color.svg delete mode 100644 src/public/modules/core/img/logo-vertical-dark.svg delete mode 100644 src/public/modules/core/img/logo-vertical-light.svg delete mode 100644 src/public/modules/core/img/logomark.ico delete mode 100644 src/public/modules/core/img/og/img_metatag.png delete mode 100644 src/public/modules/core/img/og/logo-vertical-color.png delete mode 100644 src/public/modules/core/img/ogp-logo-full-color.svg delete mode 100644 src/public/modules/core/img/otp-email-illustration.svg delete mode 100644 src/public/modules/core/img/otp-mobile-illustration.svg delete mode 100644 src/public/modules/core/img/sign-in-illustration.svg delete mode 100644 src/public/modules/core/img/smileys/angry.svg delete mode 100644 src/public/modules/core/img/smileys/happy.svg delete mode 100644 src/public/modules/core/img/smileys/neutral.svg delete mode 100644 src/public/modules/core/img/smileys/ok.svg delete mode 100644 src/public/modules/core/img/smileys/sad.svg delete mode 100644 src/public/modules/core/resources/fonts/sgds-icons.ttf delete mode 100644 src/public/modules/core/resources/fonts/sgds-icons.woff delete mode 100644 src/public/modules/core/resources/landing-examples.js delete mode 100644 src/public/modules/core/services/gtag.client.service.js delete mode 100644 src/public/modules/core/views/edit-contact-number-modal.view.html delete mode 100644 src/public/modules/core/views/landing.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/edit-logic.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/export-button.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/form-emails-input.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/form-title-input.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/response-views/response-attachment.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/response-views/response-table.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/response-views/response-title.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/response-views/response.client.view.html delete mode 100644 src/public/modules/forms/admin/componentViews/share-form.client.view.html delete mode 100644 src/public/modules/forms/admin/components/edit-logic.client.component.js delete mode 100644 src/public/modules/forms/admin/components/export-button.client.component.js delete mode 100644 src/public/modules/forms/admin/components/form-emails-input.client.component.js delete mode 100644 src/public/modules/forms/admin/components/form-title-input.client.component.js delete mode 100644 src/public/modules/forms/admin/components/response-components/response-answer-array.client.component.js delete mode 100644 src/public/modules/forms/admin/components/response-components/response-answer.client.component.js delete mode 100644 src/public/modules/forms/admin/components/response-components/response-attachment.client.component.js delete mode 100644 src/public/modules/forms/admin/components/response-components/response-table.client.component.js delete mode 100644 src/public/modules/forms/admin/components/response-components/response-title.client.component.js delete mode 100644 src/public/modules/forms/admin/components/response-components/response.client.component.js delete mode 100644 src/public/modules/forms/admin/components/share-form.client.component.js delete mode 100644 src/public/modules/forms/admin/constants/covid19.js delete mode 100644 src/public/modules/forms/admin/constants/update-form-types.ts delete mode 100644 src/public/modules/forms/admin/controllers/activate-form-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/admin-form.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/collaborator-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/create-form-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/create-form-template-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/delete-field-warning-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/delete-form-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/edit-end-page-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/edit-fields-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/edit-logic-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/edit-myinfo-field-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/edit-start-page-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/list-forms.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/mobile-edit-fields-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/pop-up-modal.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/results-panel.client.controller.js delete mode 100644 src/public/modules/forms/admin/controllers/view-responses.client.controller.js delete mode 100644 src/public/modules/forms/admin/css/configure-form.css delete mode 100644 src/public/modules/forms/admin/css/create-form.css delete mode 100644 src/public/modules/forms/admin/css/daterangepicker.css delete mode 100644 src/public/modules/forms/admin/css/edit-form.css delete mode 100644 src/public/modules/forms/admin/css/edit-logic.css delete mode 100644 src/public/modules/forms/admin/css/export-button.css delete mode 100644 src/public/modules/forms/admin/css/form-emails-input.css delete mode 100644 src/public/modules/forms/admin/css/form-title-input.css delete mode 100644 src/public/modules/forms/admin/css/list-forms.css delete mode 100644 src/public/modules/forms/admin/css/pop-up-modal.css delete mode 100644 src/public/modules/forms/admin/css/results-panel.css delete mode 100644 src/public/modules/forms/admin/css/settings-form.css delete mode 100644 src/public/modules/forms/admin/css/share-form.css delete mode 100644 src/public/modules/forms/admin/css/view-feedback.css delete mode 100644 src/public/modules/forms/admin/css/view-responses.css delete mode 100644 src/public/modules/forms/admin/directiveViews/configure-form.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/configure-mobile.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/daterangepicker.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/edit-captcha.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/edit-form.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/settings-form.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/verify-secret-key-activation.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/verify-secret-key.client.view.html delete mode 100644 src/public/modules/forms/admin/directiveViews/view-feedback.client.view.html delete mode 100644 src/public/modules/forms/admin/directives/configure-form.client.directive.js delete mode 100644 src/public/modules/forms/admin/directives/configure-mobile.client.directive.js delete mode 100644 src/public/modules/forms/admin/directives/daterangepicker.client.directive.js delete mode 100644 src/public/modules/forms/admin/directives/edit-captcha.client.directive.js delete mode 100644 src/public/modules/forms/admin/directives/edit-form.client.directive.js delete mode 100644 src/public/modules/forms/admin/directives/is-verifiable-save-interceptor.directive.js delete mode 100644 src/public/modules/forms/admin/directives/settings-form.client.directive.js delete mode 100644 src/public/modules/forms/admin/directives/validate-email-domain-from-text.directive.js delete mode 100644 src/public/modules/forms/admin/directives/validate-form-emails-input.directive.js delete mode 100644 src/public/modules/forms/admin/directives/verify-secret-key.client.directive.js delete mode 100644 src/public/modules/forms/admin/directives/view-feedback.client.directive.js delete mode 100644 src/public/modules/forms/admin/img/activate.svg delete mode 100644 src/public/modules/forms/admin/img/empty.svg delete mode 100644 src/public/modules/forms/admin/img/ic-elements.svg delete mode 100644 src/public/modules/forms/admin/img/ic-warning.svg delete mode 100644 src/public/modules/forms/admin/views/activate-form.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/admin-form.client.view.html delete mode 100644 src/public/modules/forms/admin/views/collaborator.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/create-form-template.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/create-form.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/decrypt-progress.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/delete-field-warning.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/delete-form.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/download-all-attachments.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/edit-end-page.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/edit-fields.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/edit-logic.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/edit-myinfo-field.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/edit-start-page.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/list-forms.client.view.html delete mode 100644 src/public/modules/forms/admin/views/mobile-edit-fields.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/pop-up.client.modal.html delete mode 100644 src/public/modules/forms/admin/views/results-panel.client.view.html delete mode 100644 src/public/modules/forms/admin/views/view-responses.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/end-page.html delete mode 100644 src/public/modules/forms/base/componentViews/feedback-form.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-attachment.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-checkbox.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-date.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-decimal.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-dropdown.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-email.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-homeno.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-image.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-mobile.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-nric.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-number.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-radiobutton.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-rating.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-section.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-statement.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-table.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-textarea.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-textfield.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-uen.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/field-yes-no.client.view.html delete mode 100644 src/public/modules/forms/base/componentViews/fieldError.html delete mode 100644 src/public/modules/forms/base/componentViews/start-page.html delete mode 100644 src/public/modules/forms/base/componentViews/verifiable-field.html delete mode 100644 src/public/modules/forms/base/components/end-page.client.component.js delete mode 100644 src/public/modules/forms/base/components/feedback-form.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-attachment.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-checkbox.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-date.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-decimal.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-dropdown.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-email.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-homeno.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-icon.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-image.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-mobile.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-nric.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-number.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-radiobutton.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-rating.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-section.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-statement.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-table.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-textarea.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-textfield.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-uen.client.component.js delete mode 100644 src/public/modules/forms/base/components/field-yes-no.client.component.js delete mode 100644 src/public/modules/forms/base/components/field.error.component.js delete mode 100644 src/public/modules/forms/base/components/start-page.client.component.js delete mode 100644 src/public/modules/forms/base/components/verifiable-field.client.component.js delete mode 100644 src/public/modules/forms/base/controllers/error-page.client.controller.js delete mode 100644 src/public/modules/forms/base/controllers/submit-form.client.controller.js delete mode 100644 src/public/modules/forms/base/css/base-form.css delete mode 100644 src/public/modules/forms/base/css/color-theme.css delete mode 100644 src/public/modules/forms/base/css/datepicker.css delete mode 100644 src/public/modules/forms/base/css/end-page.css delete mode 100644 src/public/modules/forms/base/css/error-page.css delete mode 100644 src/public/modules/forms/base/css/feedback-form.css delete mode 100644 src/public/modules/forms/base/css/form-field.css delete mode 100644 src/public/modules/forms/base/css/form.css delete mode 100644 src/public/modules/forms/base/css/start-end-page.css delete mode 100644 src/public/modules/forms/base/css/verifiable-field.css delete mode 100644 src/public/modules/forms/base/directiveViews/datepicker-day.html delete mode 100644 src/public/modules/forms/base/directiveViews/datepicker-month.html delete mode 100644 src/public/modules/forms/base/directiveViews/datepicker-popup.html delete mode 100644 src/public/modules/forms/base/directiveViews/datepicker-year.html delete mode 100644 src/public/modules/forms/base/directiveViews/datepicker.html delete mode 100644 src/public/modules/forms/base/directiveViews/field.client.directive.view.html delete mode 100644 src/public/modules/forms/base/directiveViews/input-stars.html delete mode 100644 src/public/modules/forms/base/directiveViews/submit-form.directive.view.html delete mode 100644 src/public/modules/forms/base/directives/field.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/iframe-onload.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/ng-intl-tel-input.js delete mode 100644 src/public/modules/forms/base/directives/rating-stars.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/submit-form.directive.js delete mode 100644 src/public/modules/forms/base/directives/validate-checkbox.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/validate-email-domain.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/validate-email-format.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/validate-nric.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/validate-uen.client.directive.js delete mode 100644 src/public/modules/forms/base/directives/validate-url.client.directive.js delete mode 100644 src/public/modules/forms/base/resources/icon-types.js delete mode 100644 src/public/modules/forms/base/views/error-page.client.view.html delete mode 100644 src/public/modules/forms/base/views/submit-form.client.view.html delete mode 100644 src/public/modules/forms/base/views/submit-progress.client.modal.html delete mode 100644 src/public/modules/forms/config/forms.client.config.js delete mode 100644 src/public/modules/forms/config/forms.client.routes.js delete mode 100644 src/public/modules/forms/helpers/CsvGenerator.ts delete mode 100644 src/public/modules/forms/helpers/CsvMergedHeadersGenerator.ts delete mode 100644 src/public/modules/forms/helpers/FeedbackCsvGenerator.ts delete mode 100644 src/public/modules/forms/helpers/__tests__/CsvGenerator.spec.ts delete mode 100644 src/public/modules/forms/helpers/__tests__/FeedbackCsvGenerator.spec.ts delete mode 100644 src/public/modules/forms/helpers/attachments-map.js delete mode 100644 src/public/modules/forms/helpers/byline.js delete mode 100644 src/public/modules/forms/helpers/csv-response-classes/ArrayAnswerResponse.class.ts delete mode 100644 src/public/modules/forms/helpers/csv-response-classes/Response.class.ts delete mode 100644 src/public/modules/forms/helpers/csv-response-classes/SingleAnswerResponse.class.ts delete mode 100644 src/public/modules/forms/helpers/csv-response-classes/TableResponse.class.ts delete mode 100644 src/public/modules/forms/helpers/csv-response-classes/index.ts delete mode 100644 src/public/modules/forms/helpers/decryption.worker.js delete mode 100644 src/public/modules/forms/helpers/field-factory.js delete mode 100644 src/public/modules/forms/helpers/logo.js delete mode 100644 src/public/modules/forms/helpers/ndjsonStream.ts delete mode 100644 src/public/modules/forms/helpers/process-decrypted-content.ts delete mode 100644 src/public/modules/forms/helpers/response-factory.ts delete mode 100644 src/public/modules/forms/helpers/util.js delete mode 100644 src/public/modules/forms/services/attachment.client.service.js delete mode 100644 src/public/modules/forms/services/captcha.client.service.js delete mode 100644 src/public/modules/forms/services/form-api.client.factory.js delete mode 100644 src/public/modules/forms/services/form-error.client.factory.js delete mode 100644 src/public/modules/forms/services/form-fields.client.service.js delete mode 100644 src/public/modules/forms/services/mailto.client.factory.js delete mode 100644 src/public/modules/forms/services/spcp-session.client.factory.js delete mode 100644 src/public/modules/forms/services/submissions.client.factory.js delete mode 100644 src/public/modules/forms/services/toastr.client.factory.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/AnswerField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/ArrayAnswerField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/AttachmentField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/CheckboxField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/DateField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/DecimalField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/DropdownField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/EmailField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/Field.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/HeaderField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/HomeNoField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/MixIns.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/MobileField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/NoAnswerField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/NumberField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/RadioField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/RatingField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/SingleAnswerField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/TableField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/TextAreaField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/TextField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/VerifiableField.class.js delete mode 100644 src/public/modules/forms/viewmodels/Fields/index.js delete mode 100644 src/public/modules/forms/viewmodels/Form.class.js delete mode 100755 src/public/modules/users/config/users.client.config.js delete mode 100755 src/public/modules/users/config/users.client.routes.js delete mode 100755 src/public/modules/users/controllers/authentication.client.controller.js delete mode 100644 src/public/modules/users/controllers/billing.client.controller.js delete mode 100644 src/public/modules/users/controllers/examples-card.client.directive.js delete mode 100644 src/public/modules/users/controllers/examples-list.client.controller.js delete mode 100644 src/public/modules/users/css/billing.css delete mode 100644 src/public/modules/users/css/examples-card.css delete mode 100644 src/public/modules/users/css/examples-list.css delete mode 100644 src/public/modules/users/css/privacy-tou.css delete mode 100755 src/public/modules/users/css/sign-in.css delete mode 100755 src/public/modules/users/views/authentication/signin.client.view.html delete mode 100644 src/public/modules/users/views/billing.client.view.html delete mode 100644 src/public/modules/users/views/examples-card.client.view.html delete mode 100644 src/public/modules/users/views/examples-list.client.view.html delete mode 100644 src/public/modules/users/views/static/privacy.client.view.html delete mode 100644 src/public/modules/users/views/static/terms.client.view.html delete mode 100644 src/public/polyfills.js delete mode 100755 src/public/robots.txt delete mode 100644 src/public/services/AdminMetaService.ts delete mode 100644 src/public/services/AdminSubmissionsService.ts delete mode 100644 src/public/services/AdminViewFormService.ts delete mode 100644 src/public/services/AnalyticsService.ts delete mode 100644 src/public/services/AuthService.ts delete mode 100644 src/public/services/BetaService.ts delete mode 100644 src/public/services/BillingService.ts delete mode 100644 src/public/services/CreateFormService.ts delete mode 100644 src/public/services/EncryptionService.ts delete mode 100644 src/public/services/ExamplesService.ts delete mode 100644 src/public/services/FieldVerificationService.ts delete mode 100644 src/public/services/FileHandlerService.ts delete mode 100644 src/public/services/FormFeedbackService.ts delete mode 100644 src/public/services/FormSgSdkService.ts delete mode 100644 src/public/services/PublicFormAuthService.ts delete mode 100644 src/public/services/PublicFormService.ts delete mode 100644 src/public/services/UpdateFormService.ts delete mode 100644 src/public/services/UserService.ts delete mode 100644 src/public/services/__tests__/AdminMetaService.test.ts delete mode 100644 src/public/services/__tests__/AdminSubmissionsService.test.ts delete mode 100644 src/public/services/__tests__/AdminViewFormService.test.ts delete mode 100644 src/public/services/__tests__/AuthService.test.ts delete mode 100644 src/public/services/__tests__/BetaService.test.ts delete mode 100644 src/public/services/__tests__/BillingService.test.ts delete mode 100644 src/public/services/__tests__/CreateFormService.test.ts delete mode 100644 src/public/services/__tests__/EncryptionService.test.ts delete mode 100644 src/public/services/__tests__/ExamplesService.test.ts delete mode 100644 src/public/services/__tests__/FieldVerificationService.test.ts delete mode 100644 src/public/services/__tests__/FileHandlerService.test.ts delete mode 100644 src/public/services/__tests__/FormFeedbackService.spec.ts delete mode 100644 src/public/services/__tests__/PublicFormAuthService.test.ts delete mode 100644 src/public/services/__tests__/PublicFormService.test.ts delete mode 100644 src/public/services/__tests__/UpdateFormService.test.ts delete mode 100644 src/public/services/__tests__/UserService.test.ts delete mode 100644 src/public/sitemap.xml delete mode 100644 src/public/styles/angular-csp.css delete mode 100644 src/public/styles/ui-bootstrap-csp.css delete mode 100644 src/public/translations/en-SG/landing.json delete mode 100644 src/public/translations/en-SG/main.json delete mode 100644 src/public/types/README.md delete mode 100644 src/public/types/response.ts delete mode 100644 src/public/utils/__tests__/submission.test.ts delete mode 100644 src/public/utils/injectedVariables.ts delete mode 100644 src/public/utils/submission.ts delete mode 100644 webpack.common.js delete mode 100644 webpack.dev.js delete mode 100644 webpack.prod.js diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8d742b38c5..eb4fc24216 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,7 @@ jobs: with: filters: | frontend: + - __tests__/** - shared/** - frontend/** backend: diff --git a/.npmrc b/.npmrc index 4f7d36af47..1fd09f1269 100644 --- a/.npmrc +++ b/.npmrc @@ -1,3 +1,2 @@ legacy-peer-deps=true unsafe-perm=true -legacy-peer-deps=true \ No newline at end of file diff --git a/.sentryignore b/.sentryignore index 4a07fca17f..4b17e01fbb 100644 --- a/.sentryignore +++ b/.sentryignore @@ -1,5 +1,2 @@ .gitignore -webpack.common.js -webpack.dev.js -webpack.prod.js -node_modules/ \ No newline at end of file +node_modules/ diff --git a/.stylelintrc.js b/.stylelintrc.js deleted file mode 100644 index 54faa4f916..0000000000 --- a/.stylelintrc.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - extends: ['stylelint-config-standard', 'stylelint-prettier/recommended'], - rules: { - 'no-descending-specificity': [true, { severity: 'warning' }], - 'selector-type-no-unknown': [true, { ignore: ['custom-elements'] }], - }, - ignoreFiles: ['dist/**', '**/*.html', 'coverage/**'], -} diff --git a/.vscode/settings.json b/.vscode/settings.json index 8ad8525a2e..fbb711c2dc 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,6 @@ { "editor.codeActionsOnSave": { - "source.fixAll.eslint": true, - "source.fixAll.stylelint": true + "source.fixAll.eslint": true }, "eslint.validate": ["javascript", "typescript"], "editor.formatOnSave": true, diff --git a/README.md b/README.md index 906f37ec5a..541882a909 100755 --- a/README.md +++ b/README.md @@ -180,9 +180,7 @@ to install node modules and Localstack locally to be able to run tests. Note tha npm run test ``` -will build the backend and run both our backend and frontend unit tests. The tests are located at -[`__tests__/unit/frontend`](./__tests__/unit/frontend) and -[`__tests__/unit/backend`](./__tests__/unit/backend). +will build the backend and run our backend unit tests. The tests are located at [`__tests__/unit/backend`](./__tests__/unit/backend). If the backend is already built, you can run @@ -190,6 +188,12 @@ If the backend is already built, you can run npm run test-ci ``` +Frontend tests are located at [`frontend/__tests__`](./frontend/__tests__). They can be run with + +```bash +npm run test:frontend +``` + #### End-to-end tests ```bash diff --git a/__tests__/unit/frontend/.eslintrc b/__tests__/unit/frontend/.eslintrc deleted file mode 100644 index 6dca9f9732..0000000000 --- a/__tests__/unit/frontend/.eslintrc +++ /dev/null @@ -1,8 +0,0 @@ -{ - "env": { - "jest": true - }, - "parserOptions": { - "sourceType": "module" - } -} diff --git a/__tests__/unit/frontend/forms/helpers/CsvMergedHeadersGenerator.test.js b/__tests__/unit/frontend/forms/helpers/CsvMergedHeadersGenerator.test.js deleted file mode 100644 index daa0bddb70..0000000000 --- a/__tests__/unit/frontend/forms/helpers/CsvMergedHeadersGenerator.test.js +++ /dev/null @@ -1,692 +0,0 @@ -import { stringify } from 'csv-string' -import moment from 'moment-timezone' -import { getResponseInstance } from '../../../../../src/public/modules/forms/helpers/response-factory' -import { CsvMergedHeadersGenerator } from '../../../../../src/public/modules/forms/helpers/CsvMergedHeadersGenerator' - -const UTF8_BYTE_ORDER_MARK = '\uFEFF' -const BOM_LENGTH = 1 - -/** - * Generates a mock decrypted row object. - * @param {string | number} append the text to append to the back of all keys. - * @param {string[]=} answerArray If given, the answer key will be changed to answerArray and this will be assigned to that key. - * @param {string} [fieldType] Used as fieldType of record if given. - */ -const generateRecord = (append, answerArray, fieldType) => { - const generated = { - _id: `mock${append}`, - question: `mockQuestion${append}`, - answer: `mockAnswer${append}`, - fieldType: fieldType || `mockFieldType${append}`, - } - - if (answerArray) { - delete generated.answer - generated.answerArray = answerArray - } - - return generated -} -const generateHeaderRow = (append) => { - return { - _id: `mock${append}`, - question: `mockQuestion${append}`, - fieldType: `mockFieldType${append}`, - isHeader: true, - answer: '', - } -} - -const generateEmptyRecord = (append) => { - return { - _id: `mock${append}`, - question: `mockQuestion${append}`, - fieldType: `mockFieldType${append}`, - } -} - -const expectedErrorMessage = 'Response did not match any known type' - -/** - * Reshapes a mock record to match the expected shape in generator.unprocessed. - * @param {Object} mockRecord - * @param {Array} mockRecord.record Records each returned by generateRecord - * @param {string} mockRecord.created Date string - * @param {string} submissionId - */ -const generateExpectedUnprocessed = (mockRecord) => { - const reshapedRecord = {} - mockRecord.record.forEach((fieldRecord) => { - reshapedRecord[fieldRecord._id] = getResponseInstance(fieldRecord) - }) - return { - created: mockRecord.created, - submissionId: mockRecord.submissionId, - record: reshapedRecord, - } -} - -describe('CsvMergedHeadersGenerator', () => { - // Mocked constants - const mockExpectedNumberOfRecords = 1 - const mockNumOfMetaDataRows = 0 - // Mock created dates - const mockCreatedEarly = '2019-11-05T13:12:14' - const mockCreatedLater = '2019-12-05T13:12:14' - - /** @type {CsvMergedHeadersGenerator} */ - let generator - - beforeEach(() => { - generator = new CsvMergedHeadersGenerator( - mockExpectedNumberOfRecords, - mockNumOfMetaDataRows, - ) - }) - - describe('addRecord()', () => { - it('should handle adding of single non-header answer record', () => { - // Arrange - const mockDecryptedRecord = [generateRecord(1)] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - generator.addRecord(mockRecord) - - // Assert - // Generate new shape in unprocessed array - const expectedUnprocessed = [generateExpectedUnprocessed(mockRecord)] - - expect(generator.unprocessed.length).toEqual(1) - // Check shape - expect(generator.unprocessed).toEqual(expectedUnprocessed) - // Check headers - expect([...generator.fieldIdToQuestion.values()]).toEqual([ - { - created: mockCreatedEarly, - question: mockDecryptedRecord[0].question, - }, - ]) - }) - - it('should handle adding of single non-header answerArray (checkbox) record', () => { - // Arrange - const mockDecryptedRecord = [ - generateRecord(1, ['1', '2', '3'], 'checkbox'), - ] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - generator.addRecord(mockRecord) - - // Assert - // Generate new shape in unprocessed array - const expectedUnprocessed = [generateExpectedUnprocessed(mockRecord)] - - expect(generator.unprocessed.length).toEqual(1) - // Check shape - expect(generator.unprocessed).toEqual(expectedUnprocessed) - // Check headers - expect([...generator.fieldIdToQuestion.values()]).toEqual([ - { - created: mockCreatedEarly, - question: mockDecryptedRecord[0].question, - }, - ]) - }) - - it('should handle adding of single non-header answerArray (table) record', () => { - // Arrange - const mockDecryptedRecord = [ - generateRecord( - 1, - [ - ['1', '2', '3'], - ['4', '5', '6'], - ], - 'table', - ), - ] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - generator.addRecord(mockRecord) - - // Assert - // Generate new shape in unprocessed array - const expectedUnprocessed = [generateExpectedUnprocessed(mockRecord)] - - expect(generator.unprocessed.length).toEqual(1) - // Check shape - expect(generator.unprocessed).toEqual(expectedUnprocessed) - // Check headers - expect([...generator.fieldIdToQuestion.values()]).toEqual([ - { - created: mockCreatedEarly, - question: mockDecryptedRecord[0].question, - }, - ]) - expect(Object.values(generator.fieldIdToNumCols)).toEqual([2]) - }) - - it('should handle adding of single header record', () => { - // Arrange - const mockDecryptedRecord = [generateHeaderRow(1)] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - generator.addRecord(mockRecord) - - // Assert - // Generate new shape in unprocessed array - const expectedUnprocessed = [generateExpectedUnprocessed(mockRecord)] - - expect(generator.unprocessed.length).toEqual(1) - // Check shape - expect(generator.unprocessed).toEqual(expectedUnprocessed) - // Check headers - expect(generator.fieldIdToQuestion.size).toEqual(0) - }) - - it('should override the question to the latest question', () => { - // Arrange - const expectedQuestionHeader = 'this should override the old question' - const mockDecryptedRecordEarlier = [generateRecord(1), generateRecord(2)] - - // Later record has `mock1` id, same as earlier record. - const mockDecryptedRecordLater = [ - { - _id: 'mock1', - question: expectedQuestionHeader, - answer: 'mockAnswer1', - fieldType: 'mockFieldType1', - }, - ] - const mockRecordEarlier = { - record: mockDecryptedRecordEarlier, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - const mockRecordLater = { - record: mockDecryptedRecordLater, - created: mockCreatedLater, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - // Add record, order should not matter - generator.addRecord(mockRecordLater) - generator.addRecord(mockRecordEarlier) - - // Assert - expect(generator.unprocessed.length).toEqual(2) - // Should also have 2 headers since `mockDecryptedRecordEarlier` had 2 - // answers. - expect(generator.fieldIdToQuestion.size).toEqual(2) - - expect(generator.fieldIdToQuestion.get('mock1').question).toEqual( - expectedQuestionHeader, - ) - }) - - it('should reject response without answer and answerArray', () => { - // Arrange - const mockDecryptedRecord = [generateEmptyRecord(1)] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - const addRecord = () => generator.addRecord(mockRecord) - - // Assert - // Check error - expect(addRecord).toThrow(Error) - expect(addRecord).toThrow(expectedErrorMessage) - // Record should not be added - expect(generator.unprocessed.length).toEqual(0) - // Check headers - expect(generator.fieldIdToQuestion.size).toEqual(0) - }) - - it('should reject response with non-string answer', () => { - // Arrange - const invalidResponse = generateEmptyRecord(1) - invalidResponse.answer = 1 - const mockDecryptedRecord = [invalidResponse] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - const addRecord = () => generator.addRecord(mockRecord) - - // Assert - // Check error - expect(addRecord).toThrow(Error) - expect(addRecord).toThrow(expectedErrorMessage) - // Record should not be added - expect(generator.unprocessed.length).toEqual(0) - // Check headers - expect(generator.fieldIdToQuestion.size).toEqual(0) - }) - - it('should reject response with non-string answerArray', () => { - // Arrange - const invalidResponse = generateEmptyRecord(1) - invalidResponse.answerArray = [1, 2, 3] - const mockDecryptedRecord = [invalidResponse] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - expect(generator.unprocessed.length).toEqual(0) - - // Act - const addRecord = () => generator.addRecord(mockRecord) - - // Assert - // Check error - expect(addRecord).toThrow(Error) - expect(addRecord).toThrow(expectedErrorMessage) - // Record should not be added - expect(generator.unprocessed.length).toEqual(0) - // Check headers - expect(generator.fieldIdToQuestion.size).toEqual(0) - }) - }) - - describe('process()', () => { - it('should set hasBeenProcessed to true after first call', () => { - // Arrange - expect(generator.hasBeenProcessed).toBe(false) - // Act + Assert - generator.process() - expect(generator.hasBeenProcessed).toBe(true) - }) - - describe('submissions with only answer key', () => { - it('should handle a single submission', () => { - // Arrange - const mockDecryptedRecord = [ - generateRecord(1), - generateRecord(2), - generateRecord(3), - generateRecord(4), - ] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - generator.addRecord(mockRecord) - // Should have unprocessed record - expect(generator.unprocessed.length).toEqual(1) - - // Act - generator.process() - - // Assert - // Should have 1 header row and 1 submission row - expect(generator.records.length).toEqual(2 + BOM_LENGTH) - const expectedHeaderRow = stringify([ - 'Response ID', - 'Timestamp', - mockDecryptedRecord[0].question, - mockDecryptedRecord[1].question, - mockDecryptedRecord[2].question, - mockDecryptedRecord[3].question, - ]) - const expectedSubmissionRow = stringify([ - mockRecord.submissionId, - moment(mockRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - mockDecryptedRecord[0].answer, - mockDecryptedRecord[1].answer, - mockDecryptedRecord[2].answer, - mockDecryptedRecord[3].answer, - ]) - expect(generator.records).toEqual([ - UTF8_BYTE_ORDER_MARK, - expectedHeaderRow, - expectedSubmissionRow, - ]) - }) - - it('should handle later submissions with edited ordering', () => { - // Arrange - const mockFirstDecryptedRecord = [ - generateRecord(1), - generateRecord(2), - generateRecord(3), - generateRecord(4), - ] - const mockFirstRecord = { - record: mockFirstDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - - // Record with reversed question order, but have same field ids. - const mockReversedDecryptedRecord = [ - generateRecord(4), - generateRecord(3), - generateRecord(2), - generateRecord(1), - ] - const mockReversedRecord = { - record: mockReversedDecryptedRecord, - created: mockCreatedLater, - submissionId: 'mockSubmissionId2', - } - - // Act - generator.addRecord(mockFirstRecord) - generator.addRecord(mockReversedRecord) - // Should have 2 unprocessed records - expect(generator.unprocessed.length).toEqual(2) - generator.process() - - // Assert - // Should have 1 header row and 2 submission row - expect(generator.records.length).toEqual(3 + BOM_LENGTH) - const expectedHeaderRow = stringify([ - 'Response ID', - 'Timestamp', - mockFirstDecryptedRecord[0].question, - mockFirstDecryptedRecord[1].question, - mockFirstDecryptedRecord[2].question, - mockFirstDecryptedRecord[3].question, - ]) - const expectedSubmissionRow1 = stringify([ - mockFirstRecord.submissionId, - moment(mockFirstRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - mockFirstDecryptedRecord[0].answer, - mockFirstDecryptedRecord[1].answer, - mockFirstDecryptedRecord[2].answer, - mockFirstDecryptedRecord[3].answer, - ]) - // Second processed row should be mockReversedRecord's answers in reversed - // order since the fieldIds are reversed - const expectedSubmissionRow2 = stringify([ - mockReversedRecord.submissionId, - moment(mockReversedRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - mockReversedDecryptedRecord[3].answer, - mockReversedDecryptedRecord[2].answer, - mockReversedDecryptedRecord[1].answer, - mockReversedDecryptedRecord[0].answer, - ]) - - expect(generator.records).toEqual([ - UTF8_BYTE_ORDER_MARK, - expectedHeaderRow, - expectedSubmissionRow1, - expectedSubmissionRow2, - ]) - }) - - it('should handle later submissions with new questions', () => { - // Arrange - const intersectFieldId = 'intersect' - const mockDecryptedRecord = [ - generateRecord(1), - generateRecord(2), - generateRecord(3), - generateRecord(intersectFieldId), - ] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - - // Record with a new fieldId, along with one of the older fieldIds - const newDecryptedRecord = [ - generateRecord('new'), - generateRecord(intersectFieldId), - ] - const mockNewRecord = { - record: newDecryptedRecord, - created: mockCreatedLater, - submissionId: 'mockSubmissionId2', - } - generator.addRecord(mockRecord) - generator.addRecord(mockNewRecord) - - // Act - generator.process() - - // Assert - // Should have 1 header row and 2 submission row - expect(generator.records.length).toEqual(3 + BOM_LENGTH) - const expectedHeaderRow = stringify([ - 'Response ID', - 'Timestamp', - mockDecryptedRecord[0].question, - mockDecryptedRecord[1].question, - mockDecryptedRecord[2].question, - mockDecryptedRecord[3].question, - // Should have the `new` question from mockNewRecord last since it is - // added later - newDecryptedRecord[0].question, - ]) - - // First row should be the first submission - const expectedSubmissionRow1 = stringify([ - mockRecord.submissionId, - moment(mockRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - mockDecryptedRecord[0].answer, - mockDecryptedRecord[1].answer, - mockDecryptedRecord[2].answer, - mockDecryptedRecord[3].answer, - // Should have extra blank space due to new header - '', - ]) - // Second processed row should be second submission, with fields it does - // not have blank. - // Should only have questionId of `intersectFieldId` and `new` filled. - const expectedSubmissionRow2 = stringify([ - mockNewRecord.submissionId, - moment(mockNewRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - '', - '', - '', - // Others should be blank, but the later 'intersect' key should be first - newDecryptedRecord[1].answer, - newDecryptedRecord[0].answer, - ]) - expect(generator.records).toEqual([ - UTF8_BYTE_ORDER_MARK, - expectedHeaderRow, - expectedSubmissionRow1, - expectedSubmissionRow2, - ]) - }) - }) - - describe('submissions with answerArray key', () => { - it('should handle only submissions with checkbox answerArray', () => { - // Arrange - const mockDecryptedRecord = [ - generateRecord(1, ['abc', 'def'], 'checkbox'), - ] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - generator.addRecord(mockRecord) - - // Act - generator.process() - - // Assert - // Should have 1 header row and 1 submission row - expect(generator.records.length).toEqual(2 + BOM_LENGTH) - const expectedHeaderRow = stringify([ - 'Response ID', - 'Timestamp', - mockDecryptedRecord[0].question, - ]) - - const expectedSubmissionRow = stringify([ - mockRecord.submissionId, - moment(mockRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - // Answer array values should be joined by a semicolon - mockDecryptedRecord[0].answerArray.join(';'), - ]) - - expect(generator.records).toEqual([ - UTF8_BYTE_ORDER_MARK, - expectedHeaderRow, - expectedSubmissionRow, - ]) - }) - - it('should handle only submissions with table answerArray', () => { - // Arrange - const mockDecryptedRecord = [ - generateRecord( - 1, - [ - ['abc', 'def'], - ['ghi', 'jkl'], - ], - 'table', - ), - ] - const mockRecord = { - record: mockDecryptedRecord, - created: mockCreatedEarly, - submissionId: 'mockSubmissionId', - } - generator.addRecord(mockRecord) - - // Act - generator.process() - - // Assert - // Should have 1 header row and 1 submission row - expect(generator.records.length).toEqual(2 + BOM_LENGTH) - // Question is repeated for two columns - const expectedHeaderRow = stringify([ - 'Response ID', - 'Timestamp', - mockDecryptedRecord[0].question, - mockDecryptedRecord[0].question, - ]) - - const expectedSubmissionRow = stringify([ - mockRecord.submissionId, - moment(mockRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - // Answer array values should be joined by a semicolon - mockDecryptedRecord[0].answerArray[0].join(';'), - mockDecryptedRecord[0].answerArray[1].join(';'), - ]) - - expect(generator.records).toEqual([ - UTF8_BYTE_ORDER_MARK, - expectedHeaderRow, - expectedSubmissionRow, - ]) - }) - - it('should handle submissions with mixed answerArray and answer params with same fieldId', () => { - // Arrange - const mockAnswerArray = [generateRecord(1, ['abc', 'def'], 'checkbox')] - const mockAnswerArrayRecord = { - record: mockAnswerArray, - created: mockCreatedEarly, - submissionId: 'mockSubmissionIdAnswerArray', - } - const mockAnswer = [generateRecord(1)] - const mockAnswerRecord = { - record: mockAnswer, - created: mockCreatedLater, - submissionId: 'mockSubmissionIdAnswer', - } - generator.addRecord(mockAnswerArrayRecord) - generator.addRecord(mockAnswerRecord) - - // Act - generator.process() - - // Assert - // Should have 1 header row and 2 submission rows - expect(generator.records.length).toEqual(3 + BOM_LENGTH) - const expectedHeaderRow = stringify([ - 'Response ID', - 'Timestamp', - mockAnswerArray[0].question, - ]) - - // First row is answer array - const expectedSubmissionRow1 = stringify([ - mockAnswerArrayRecord.submissionId, - moment(mockAnswerArrayRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - // Answer array values should be joined by a semicolon - mockAnswerArray[0].answerArray.join(';'), - ]) - // Second row is answer, but same field Id, so same number of headers - const expectedSubmissionRow2 = stringify([ - mockAnswerRecord.submissionId, - moment(mockAnswerRecord.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A'), - // Answer array values should be joined by a semicolon - mockAnswer[0].answer, - ]) - - expect(generator.records).toEqual([ - UTF8_BYTE_ORDER_MARK, - expectedHeaderRow, - expectedSubmissionRow1, - expectedSubmissionRow2, - ]) - }) - }) - }) -}) diff --git a/__tests__/unit/frontend/helpers/mockFile.ts b/__tests__/unit/frontend/helpers/mockFile.ts deleted file mode 100644 index f5ab45ac8b..0000000000 --- a/__tests__/unit/frontend/helpers/mockFile.ts +++ /dev/null @@ -1,15 +0,0 @@ -export default function ({ - name = 'file.txt', - size = 1024, - type = 'plain/txt', - lastModified = Date.now(), -}: { - name?: string - size?: number - type?: string - lastModified?: number -} = {}): File { - const blob = new Blob(['a'.repeat(size)], { type }) - - return new File([blob], name, { lastModified }) -} diff --git a/__tests__/unit/frontend/jest.config.js b/__tests__/unit/frontend/jest.config.js deleted file mode 100644 index 6abc1b5d54..0000000000 --- a/__tests__/unit/frontend/jest.config.js +++ /dev/null @@ -1,17 +0,0 @@ -module.exports = { - preset: 'ts-jest/presets/js-with-ts', - rootDir: '../../../', - modulePaths: [''], - testEnvironment: 'jsdom', - roots: ['/src/public/', '/__tests__/unit/frontend/'], - globals: { - // Revert when memory leak in ts-jest is fixed. - // See https://github.com/kulshekhar/ts-jest/issues/1967. - 'ts-jest': { - isolatedModules: true, - }, - }, - clearMocks: true, - setupFilesAfterEnv: ['/__tests__/setup/jest-setupAfterEnv.js'], - setupFiles: ['jest-localstorage-mock'], -} diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 699cc095e7..868bc4480d 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -61,12 +61,6 @@ to security on FormSG. ## Frontend -The frontend JavaScript and CSS codebase is found in `src/public/modules` and inherits -tellform's partitioning into `core`, `users` and `forms`. Each partition holds the -relevant AngularJS controllers, directives and views that make up the user interface, -as well as supporting config and services. All this is bootstrapped by `src/public/main.js`, -and is webpacked together into `dist/frontend`. - -The static HTML files that embed the above AngularJS files are templated and served by -express.js, and are hence served in `src/app/views/index.server.view.html` and other templates -in `src/app/views/templates/*.html` +The frontend is written in React and can be found in `frontend/src`. + +The index file is located at `frontend/public/index.html`. The frontend is built with CRA. diff --git a/jest.config.js b/jest.config.js index 5f67dfa7ce..ab6c3b0ebc 100644 --- a/jest.config.js +++ b/jest.config.js @@ -8,7 +8,6 @@ module.exports = { '/__tests__/e2e', '/dist/', '/node_modules/', - '/src/public', '/frontend', ], collectCoverageFrom: ['./src/**/*.{ts,js}', '!**/__tests__/**'], diff --git a/package-lock.json b/package-lock.json index dd73be784f..28f7181d6e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -221,10 +221,6 @@ "regenerator": "^0.14.10", "rimraf": "^4.4.0", "stripe-event-types": "^2.3.0", - "stylelint": "^13.13.1", - "stylelint-config-prettier": "^9.0.5", - "stylelint-config-standard": "^22.0.0", - "stylelint-prettier": "^1.2.0", "supertest": "^6.3.3", "supertest-session": "^4.1.0", "terser-webpack-plugin": "^1.2.3", @@ -258,6 +254,16 @@ "node": ">=6.0.0" } }, + "node_modules/@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "dependencies": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, "node_modules/@aws-crypto/ie11-detection": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", @@ -310,11 +316,11 @@ } }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.329.0.tgz", - "integrity": "sha512-hzrjPNQcJoSPe0oS20V5i98oiEZSM3mKNiR6P3xHTHTPI/F23lyjGZ+/CSkCmJbSWfGZ5sHZZcU6AWuS7xBdTw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.342.0.tgz", + "integrity": "sha512-W1lAYldbzDjfn8vwnwNe+6qNWfSu1+JrdiVIRSwsiwKvF2ahjKuaLoc8rJM09C6ieNWRi5634urFgfwAJuv6vg==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -322,49 +328,50 @@ } }, "node_modules/@aws-sdk/abort-controller/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/client-cloudwatch-logs": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.332.0.tgz", - "integrity": "sha512-K913omuxqy36C2jtWiQ3ImuNW0fdXxCtYeMedKeWVVEEDzkXbUdSH4bKgoFe5wHEnFVssFi6M5tjOq2orM/A6w==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.342.0.tgz", + "integrity": "sha512-IGQVDgNThWYpn7A6C4nyeV4cfwab+uBVoxpu3ya9PcGCERAIe6JEeS/6T4sPiuya+1f0Dq7KD4AKC79VrDSr6w==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.332.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/client-sts": "3.342.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/credential-provider-node": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-signing": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { @@ -372,46 +379,47 @@ } }, "node_modules/@aws-sdk/client-cloudwatch-logs/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/client-sso": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.332.0.tgz", - "integrity": "sha512-4q1Nko8M6YVANdEiLYvdv1qb00j4xN4ppE/6d4xpGp7DxHYlm0GA762h0/TR2dun+2I+SMnwj4Fv6BxOmzBaEw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.342.0.tgz", + "integrity": "sha512-DbEL+sWBua/04zTlJ6QmUsOpbeIlnPp8eYXQllCwsFzsIT04MjMI4hCZNia/weymwcq3vWTJOk2++SZf0sCGcw==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { @@ -419,41 +427,42 @@ } }, "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.332.0.tgz", - "integrity": "sha512-tz8k8Yqm4TScIfit0Tum2zWAq1md+gZKr747CSixd4Zwcp7Vwh75cRoL7Rz1ZHSEn1Yo983MWREevVez3SubLw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.342.0.tgz", + "integrity": "sha512-C1jeKD39pWXlpGRxhWWBw2No1lyZnyIN72M2Qg3BWK6QlsSDtd9kdhpGS9rQU0i1F4w5x178a+qiGWHHMhCwLg==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "engines": { @@ -461,54 +470,55 @@ } }, "node_modules/@aws-sdk/client-sso-oidc/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/client-sso/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/client-sts": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.332.0.tgz", - "integrity": "sha512-uVobnXIzMcEhwBDyk6iOt36N/TRNI8hwq7MQugjYGj7Inma9g4vnR09hXJ24HxyKCoVUoIgMbEguQ43+/+uvDQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.342.0.tgz", + "integrity": "sha512-MUgYm/2ra1Pwoqw9ng75rVsvTLQvLHZLsTjJuKJ4hnHx1GdmQt4/ZlG1q/J2ZK2o6RZXqgavscz/nyrZH0QumA==", "dependencies": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-sdk-sts": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/credential-provider-node": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-sdk-sts": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-signing": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "fast-xml-parser": "4.1.2", "tslib": "^2.5.0" }, @@ -517,18 +527,18 @@ } }, "node_modules/@aws-sdk/client-sts/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.329.0.tgz", - "integrity": "sha512-Oj6eiT3q+Jn685yvUrfRi8PhB3fb81hasJqdrsEivA8IP8qAgnVUTJzXsh8O2UX8UM2MF6A1gTgToSgneJuw2Q==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.342.0.tgz", + "integrity": "sha512-jUg6DTTrCvG8AOPv5NRJ6PSQSC5fEI2gVv4luzvrGkRJULYbIqpdfUYdW7jB3rWAWC79pQQr5lSqC5DWH91stw==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-middleware": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -536,17 +546,17 @@ } }, "node_modules/@aws-sdk/config-resolver/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.329.0.tgz", - "integrity": "sha512-B4orC9hMt9hG82vAR0TAnQqjk6cFDbO2S14RdzUj2n2NPlGWW4Blkv3NTo86K0lq011VRhtqaLcuTwn5EJD5Sg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.342.0.tgz", + "integrity": "sha512-mufOcoqdXZXkvA7u6hUcJz6wKpVaho8SRWCvJrGO4YkyudUAoI9KSP5R4U+gtneDJ2Y/IEKPuw8ugNfANa1J+A==", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -554,19 +564,19 @@ } }, "node_modules/@aws-sdk/credential-provider-env/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.329.0.tgz", - "integrity": "sha512-ggPlnd7QROPTid0CwT01TYYGvstRRTpzTGsQ/B31wkh30IrRXE81W3S4xrOYuqQD3u0RnflSxnvhs+EayJEYjg==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.342.0.tgz", + "integrity": "sha512-ReaHwFLfcsEYjDFvi95OFd+IU8frPwuAygwL56aiMT7Voc0oy3EqB3MFs3gzFxdLsJ0vw9TZMRbaouepAEVCkA==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -574,23 +584,23 @@ } }, "node_modules/@aws-sdk/credential-provider-imds/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.332.0.tgz", - "integrity": "sha512-DTW6d6rcqizPVyvcIrwvxecQ7e5GONtVc5Wyf0RTfqf41sDOVZYmn6G+zEFSpBLW0975uZbJS0lyLWtJe2VujQ==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.342.0.tgz", + "integrity": "sha512-VJ7+IlI3rx5XfO8AarbKeqNVwfExsWW0S6fqBXIim0s10FJAy7R+wxYyhZhawfRm0ydCggT+Ji6dftS+WXF8fg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.342.0", + "@aws-sdk/credential-provider-imds": "3.342.0", + "@aws-sdk/credential-provider-process": "3.342.0", + "@aws-sdk/credential-provider-sso": "3.342.0", + "@aws-sdk/credential-provider-web-identity": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -598,24 +608,24 @@ } }, "node_modules/@aws-sdk/credential-provider-ini/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.332.0.tgz", - "integrity": "sha512-KkBayS9k4WyJTvC86ngeRM+RmWxNCS1BHvudkR6PLXfnsNPDzxySDVY0UgxVhbNYDYsO561fXZt9ccpKyVWjgg==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-ini": "3.332.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.342.0.tgz", + "integrity": "sha512-u3oUo0UxGEaHLtIx7a38aFLgcTe1OevCNe5exL3ugf5C4ifvUjM8rLWySQ9zrKRgPT2yDRYG/oq4ezjoR9fhHg==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.342.0", + "@aws-sdk/credential-provider-imds": "3.342.0", + "@aws-sdk/credential-provider-ini": "3.342.0", + "@aws-sdk/credential-provider-process": "3.342.0", + "@aws-sdk/credential-provider-sso": "3.342.0", + "@aws-sdk/credential-provider-web-identity": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -623,18 +633,18 @@ } }, "node_modules/@aws-sdk/credential-provider-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.329.0.tgz", - "integrity": "sha512-5oO220qoFc2pMdZDQa6XN/mVhp669I3+LqMbbscGtX/UgLJPSOb7YzPld9Wjv12L5rf+sD3G1PF3LZXO0vKLFA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.342.0.tgz", + "integrity": "sha512-q03yJQPa4jnZtwKFW3yEYNMcpYH7wQzbEOEXjnXG4v8935oOttZjXBvRK7ax+f0D1ZHZFeFSashjw0A/bi1efQ==", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -642,20 +652,20 @@ } }, "node_modules/@aws-sdk/credential-provider-process/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.332.0.tgz", - "integrity": "sha512-SaKXl48af3n6LRitcaEqbeg1YDXwQ0A5QziC1xQyYPraEIj3IZ/GyTjx04Lo2jxNYHuEOE8u4aTw1+IK1GDKbg==", - "dependencies": { - "@aws-sdk/client-sso": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/token-providers": "3.332.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.342.0.tgz", + "integrity": "sha512-ank2703Riz5gwTxC11FDnZtMcq1Z1JjN3Nd53ahyZ+KOJPgWXEw+uolEuzMl4oAovmbTJ6WANo2qMVmLzZEaQg==", + "dependencies": { + "@aws-sdk/client-sso": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/token-providers": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -663,17 +673,17 @@ } }, "node_modules/@aws-sdk/credential-provider-sso/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.329.0.tgz", - "integrity": "sha512-lcEibZD7AlutCacpQ6DyNUqElZJDq+ylaIo5a8MH9jGh7Pg2WpDg0Sy+B6FbGCkVn4eIjdHxeX54JM245nhESg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.342.0.tgz", + "integrity": "sha512-+an5oGnzoXMmGJql0Qs9MtyQTmz5GFqrWleQ0k9UVhN3uIfCS9AITS7vb+q1+G7A7YXy9+KshgBhcHco0G/JWQ==", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -681,33 +691,49 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@aws-sdk/eventstream-codec": { + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.342.0.tgz", + "integrity": "sha512-IwtvSuplioMyiu/pQgpazKkGWDM5M5BOx85zmsB0uNxt6rmje8+WqPmGmuPdmJv4bLC5dJPLovcCp/fuH8XWhA==", + "dependencies": { + "@aws-crypto/crc32": "3.0.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "tslib": "^2.5.0" + } + }, + "node_modules/@aws-sdk/eventstream-codec/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.329.0.tgz", - "integrity": "sha512-9jfIeJhYCcTX4ScXOueRTB3S/tVce0bRsKxKDP0PnTxnGYOwKXoM9lAPmiYItzYmQ/+QzjTI8xfkA9Usz2SK/Q==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.342.0.tgz", + "integrity": "sha512-zsC23VUQMHEu4OKloLCVyWLG0ns6n+HKZ9euGLnNO3l0VSRne9qj/94yR+4jr/h04M7MhGf9mlczGfnZUFxs5w==", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/querystring-builder": "3.342.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/fetch-http-handler/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/hash-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.329.0.tgz", - "integrity": "sha512-6RmnWXNWpi7yAs0oRDQlkMn2wfXOStr/8kTCgiAiqrk1KopGSBkC2veKiKRSfv02FTd1yV/ISqYNIRqW1VLyxg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.342.0.tgz", + "integrity": "sha512-cFgXy9CDNQdYCdJBsG91FF0P0tNkCfi7+vTy7fzAEchxLxhcfLtC0cS6+gv2e3Dy8mv+uqp45Tu24+8Trx9hJQ==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-buffer-from": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" @@ -717,23 +743,23 @@ } }, "node_modules/@aws-sdk/hash-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.329.0.tgz", - "integrity": "sha512-UXynGusDxN/HxLma5ByJ7u+XnuMd47NbHOjJgYsaAjb1CVZT7hEPXOB+mcZ+Ku7To5SCOKu2QbRn7m4bGespBg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.342.0.tgz", + "integrity": "sha512-3qza2Br1jGKJi8toPYG9u5aGJ3sbGmJLgKDvlga7q3F8JaeB92He6muRJ07eyDvxZ9jiKhLZ2mtYoVcEjI7Mgw==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/invalid-dependency/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/is-array-buffer": { "version": "3.310.0", @@ -747,17 +773,17 @@ } }, "node_modules/@aws-sdk/is-array-buffer/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.329.0.tgz", - "integrity": "sha512-7kCd+CvY/4KbyXB0uyL7jCwPjMi2yERMALFdEH9dsUciwmxIQT6eSc4aF6wImC4UrbafaqmXvvHErABKMVBTKA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.342.0.tgz", + "integrity": "sha512-7LUMZqhihSAptGRFFQvuwt9nCLNzNPkGd1oU1RpVXw6YPQfKP9Ec5tgg4oUlv1t58IYQvdVj5ITKp4X2aUJVPg==", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -765,19 +791,19 @@ } }, "node_modules/@aws-sdk/middleware-content-length/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-endpoint": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.329.0.tgz", - "integrity": "sha512-hdJRoNdCM0BT4W+rrtee+kfFRgGPGXQDgtbIQlf/FuuuYz2sdef7/SYWr0mxuncnVBW5WkYSPP8h6q07whSKbg==", - "dependencies": { - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.342.0.tgz", + "integrity": "sha512-/rE+3a2EbNQoylc7vyN+O6GFfcLitboZ8f/Kdkld3Ijcp9whPHdfjiqujlwyiUTgBVP3BqgyB3r7AZDloc7B0g==", + "dependencies": { + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", + "@aws-sdk/util-middleware": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -785,17 +811,17 @@ } }, "node_modules/@aws-sdk/middleware-endpoint/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.329.0.tgz", - "integrity": "sha512-JrHeUdTIpTCfXDo9JpbAbZTS1x4mt63CCytJRq0mpWp+FlP9hjckBcNxWdR/wSKEzP9pDRnTri638BOwWH7O8w==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.342.0.tgz", + "integrity": "sha512-EOoix2D2Mk3NQtv7UVhJttfttGYechQxKuGvCI8+8iEKxqlyXaKqAkLR07BQb6epMYeKP4z1PfJm203Sf0WPUQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -803,16 +829,16 @@ } }, "node_modules/@aws-sdk/middleware-host-header/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.329.0.tgz", - "integrity": "sha512-lKeeTXsYC1NiwmxrXsZepcwNXPoQxTNNbeD1qaCELPGK2cJlrGoeAP2YRWzpwO2kNZWrDLaGAPT/EUEhqw+d1w==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.342.0.tgz", + "integrity": "sha512-wbkp85T7p9sHLNPMY6HAXHvLOp+vOubFT/XLIGtgRhYu5aRJSlVo9qlwtdZjyhEgIRQ6H/QUnqAN7Zgk5bCLSw==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -820,17 +846,17 @@ } }, "node_modules/@aws-sdk/middleware-logger/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.329.0.tgz", - "integrity": "sha512-0/TYOJwrj1Z8s+Y7thibD23hggBq/K/01NwPk32CwWG/G+1vWozs5DefknEl++w0vuV+39pkY4KHI8m/+wOCpg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.342.0.tgz", + "integrity": "sha512-KUDseSAz95kXCqnXEQxNObpviZ6F7eJ5lEgpi+ZehlzGDk/GyOVgjVuAyI7nNxWI5v0ZJ5nIDy+BH273dWbnmQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -838,20 +864,20 @@ } }, "node_modules/@aws-sdk/middleware-recursion-detection/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.329.0.tgz", - "integrity": "sha512-cB3D7GlhHUcHGOlygOYxD9cPhwsTYEAMcohK38An8+RHNp6VQEWezzLFCmHVKUSeCQ+wkjZfPA40jOG0rbjSgQ==", - "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/service-error-classification": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", - "@aws-sdk/util-retry": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.342.0.tgz", + "integrity": "sha512-Bfllrjqs0bXNG7A3ydLjTAE5zPEdigG+/lDuEsCfB35gywZnnxqi6BjTeQ9Ss6gbEWX+WyXP7/oVdNaUDQUr9Q==", + "dependencies": { + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/service-error-classification": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-middleware": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", "tslib": "^2.5.0", "uuid": "^8.3.2" }, @@ -860,9 +886,9 @@ } }, "node_modules/@aws-sdk/middleware-retry/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-retry/node_modules/uuid": { "version": "8.3.2", @@ -873,12 +899,12 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.329.0.tgz", - "integrity": "sha512-bqtZuhkH8pANb2Gb4FEM1p27o+BoDBmVhEWm8sWH+APsyOor3jc6eUG2GxkfoO6D5tGNIuyCC/GuvW9XDIe4Kg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.342.0.tgz", + "integrity": "sha512-eGcGDC+6UWKC87mex3voBVRcZN3hzFN6GVzWkTS574hDqp/uJG3yPk3Dltw0qf8skikTGi3/ZE+yAxerq/f5rg==", "dependencies": { - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/middleware-signing": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -886,16 +912,16 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.329.0.tgz", - "integrity": "sha512-tvM9NdPuRPCozPjTGNOeYZeLlyx3BcEyajrkRorCRf1YzG/mXdB6I1stote7i4q1doFtYTz0sYL8bqW3LUPn9A==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.342.0.tgz", + "integrity": "sha512-WRD+Cyu6+h1ymfPnAw4fI2q3zXjihJ55HFe1uRF8VPN4uBbJNfN3IqL38y/SMEdZ0gH9zNlRNxZLhR0q6SNZEQ==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -903,20 +929,20 @@ } }, "node_modules/@aws-sdk/middleware-serde/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.329.0.tgz", - "integrity": "sha512-bL1nI+EUcF5B1ipwDXxiKL+Uw02Mbt/TNX54PbzunBGZIyO6DZG/H+M3U296bYbvPlwlZhp26O830g6K7VEWsA==", - "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/signature-v4": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.342.0.tgz", + "integrity": "sha512-CFRQyPv4OjRGmFoB3OfKcQ0aHgS9VWC0YwoHnSWIcLt3Xltorug/Amk0obr/MFoIrktdlVtmvLEJ4Z+8cdsz8g==", + "dependencies": { + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/signature-v4": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-middleware": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -924,14 +950,14 @@ } }, "node_modules/@aws-sdk/middleware-signing/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.329.0.tgz", - "integrity": "sha512-2huFLhJ45td2nuiIOjpc9JKJbFNn5CYmw9U8YDITTcydpteRN62CzCpeqroDvF89VOLWxh0ZFtuLCGUr7liSWQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.342.0.tgz", + "integrity": "sha512-nDYtLAv9IZq8YFxtbyAiK/U1mtvtJS0DG6HiIPT5jpHcRpuWRHQ170EAW51zYts+21Ffj1VA6ZPkbup83+T6/w==", "dependencies": { "tslib": "^2.5.0" }, @@ -940,18 +966,18 @@ } }, "node_modules/@aws-sdk/middleware-stack/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.332.0.tgz", - "integrity": "sha512-rSL1xP4QmcMOsunN1p5ZDR9GT3vvoSCnYa4iPvMSjP8Jx7l4ff/aVctwfZkMs/up12+68Jqwj4TvtaCvCFXdUA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.342.0.tgz", + "integrity": "sha512-6iiFno+rq7W82mqM4KQKndIkZdGG1XZDlZIb77fcmQGYYlB1J2S/d0pIPdMk5ZQteuKJ5iorANUC0dKWw1mWTg==", "dependencies": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -959,18 +985,18 @@ } }, "node_modules/@aws-sdk/middleware-user-agent/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.329.0.tgz", - "integrity": "sha512-hg9rGNlkzh8aeR/sQbijrkFx2BIO53j4Z6qDxPNWwSGpl05jri1VHxHx2HZMwgbY6Zy/DSguETN/BL8vdFqyLg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.342.0.tgz", + "integrity": "sha512-Mwkj4+zt64w7a8QDrI9q4SrEt7XRO30Vk0a0xENqcOGrKIPfF5aeqlw85NYLoGys+KV1oatqQ+k0GzKx8qTIdQ==", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -978,19 +1004,19 @@ } }, "node_modules/@aws-sdk/node-config-provider/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.329.0.tgz", - "integrity": "sha512-OrjaHjU2ZTPfoHa5DruRvTIbeHH/cc0wvh4ml+FwDpWaPaBpOhLiluhZ3anqX1l5QjrXNiQnL8FxSM5OV/zVCA==", - "dependencies": { - "@aws-sdk/abort-controller": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.342.0.tgz", + "integrity": "sha512-ieNdrfJJMh46qY6rkV1azJBo3UfS9hc7d8CuHtkgHhCfH3BhxbtFqEiGilOdBmY5Sk69b//lFr4zHpUPYsXKaA==", + "dependencies": { + "@aws-sdk/abort-controller": "3.342.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/querystring-builder": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -998,16 +1024,16 @@ } }, "node_modules/@aws-sdk/node-http-handler/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/property-provider": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.329.0.tgz", - "integrity": "sha512-1cHLTV6yyMGaMSWWDW/p4vTkJ1cc5BOEO+A0eHuAcoSOk+LDe9IKhUG3/ZOvvYKQYcqIj5jjGSni/noXNCl/qw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.342.0.tgz", + "integrity": "sha512-p4TR9yRakIpwupEH3BUijWMYThGG0q43n1ICcsBOcvWZpE636lIUw6nzFlOuBUwqyPfUyLbXzchvosYxfCl0jw==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1015,16 +1041,16 @@ } }, "node_modules/@aws-sdk/property-provider/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.329.0.tgz", - "integrity": "sha512-0rLEHY6QTHTUUcVxzGbPUSmCKlXWplxT/fcYRh0bcc5MBK4naKfcQft1O6Ajp8uqs/9YPZ7XCVCn90pDeJfeaw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.342.0.tgz", + "integrity": "sha512-zuF2urcTJBZ1tltPdTBQzRasuGB7+4Yfs9i5l0F7lE0luK5Azy6G+2r3WWENUNxFTYuP94GrrqaOhVyj8XXLPQ==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1032,16 +1058,16 @@ } }, "node_modules/@aws-sdk/protocol-http/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.329.0.tgz", - "integrity": "sha512-UWgMKkS5trliaDJG4nPv3onu8Y0aBuwRo7RdIgggguOiU8pU6pq1I113nH2FBNWy+Me1bwf+bcviJh0pCo6bEg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.342.0.tgz", + "integrity": "sha512-tb3FbtC36a7XBYeupdKm60LeM0etp73I6/7pDAkzAlw7zJdvY0aQIvj1c0U6nZlwZF8sSSxC7vlamR+wCspdMw==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-uri-escape": "3.310.0", "tslib": "^2.5.0" }, @@ -1050,16 +1076,16 @@ } }, "node_modules/@aws-sdk/querystring-builder/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.329.0.tgz", - "integrity": "sha512-9mkK+FB7snJ2G7H3CqtprDwYIRhzm6jEezffCwUWrC+lbqHBbErbhE9IeU/MKxILmf0RbC2riXEY1MHGspjRrQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.342.0.tgz", + "integrity": "sha512-6svvr/LZW1EPJaARnOpjf92FIiK25wuO7fRq05gLTcTRAfUMDvub+oDg3Ro9EjJERumrYQrYCem5Qi4X9w8K2g==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1067,24 +1093,24 @@ } }, "node_modules/@aws-sdk/querystring-parser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.329.0.tgz", - "integrity": "sha512-TSNr0flOcCLe71aPp7MjblKNGsmxpTU4xR5772MDX9Cz9GUTNZCPFtvrcqd+wzEPP/AC7XwNXe8KjoXooZImUQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.342.0.tgz", + "integrity": "sha512-MwHO5McbdAVKxfQj1yhleboAXqrzcGoi9ODS+bwCwRfe2lakGzBBhu8zaGDlKYOdv5rS+yAPP/5fZZUiuZY8Bw==", "engines": { "node": ">=14.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.329.0.tgz", - "integrity": "sha512-e0hyd75fbjMd4aCoRwpP2/HR+0oScwogErVArIkq3F42c/hyNCQP3sph4JImuXIjuo6HNnpKpf20CEPPhNna8A==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.342.0.tgz", + "integrity": "sha512-kQG7TMQMhNp5+Y8vhGuO/+wU3K/dTx0xC0AKoDFiBf6EpDRmDfr2pPRnfJ9GwgS9haHxJ/3Uwc03swHMlsj20A==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1092,19 +1118,20 @@ } }, "node_modules/@aws-sdk/shared-ini-file-loader/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.329.0.tgz", - "integrity": "sha512-9EnLoyOD5nFtCRAp+QRllDgQASCfY7jLHVhwht7jzwE80wE65Z9Ym5Z/mwTd4IyTz/xXfCvcE2VwClsBt0Ybdw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.342.0.tgz", + "integrity": "sha512-OWrGO2UOa1ENpy0kYd2shK4sklQygWUqvWLx9FotDbjIeUIEfAnqoPq/QqcXVrNyT/UvPi4iIrjHJEO8JCNRmA==", "dependencies": { + "@aws-sdk/eventstream-codec": "3.342.0", "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-middleware": "3.342.0", "@aws-sdk/util-uri-escape": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" @@ -1114,17 +1141,17 @@ } }, "node_modules/@aws-sdk/signature-v4/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.329.0.tgz", - "integrity": "sha512-7E0fGpBKxwFqHHAOqNbgNsHSEmCZLuvmU9yvG9DXKVzrS4P48O/PfOro123WpcFZs3STyOVgH8wjUPftHAVKmg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.342.0.tgz", + "integrity": "sha512-HQ4JejjHU2X7OAZPwixFG+EyPSjmoZqll7EvWjPSKyclWrM320haWWz1trVzjG/AgPfeDLfRkH/JoMr13lECew==", "dependencies": { - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1132,19 +1159,19 @@ } }, "node_modules/@aws-sdk/smithy-client/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/token-providers": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.332.0.tgz", - "integrity": "sha512-fccbg6OSl0l658pxl2p1MoU9gEePo5B361+JNaN0zfRMu7c5HBXCpdl4djlFxAHjltrX9f1+BKqfGHYgI3h8SQ==", - "dependencies": { - "@aws-sdk/client-sso-oidc": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.342.0.tgz", + "integrity": "sha512-gYShxImNQVx3FYOUKB7nzzowYiiP1joyx43KrduHwBDV7hiqg7QhtJHr6Ek+QLPqcFKP9rRvo7NhGxu+T7dEQg==", + "dependencies": { + "@aws-sdk/client-sso-oidc": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1152,14 +1179,14 @@ } }, "node_modules/@aws-sdk/token-providers/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/types": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.329.0.tgz", - "integrity": "sha512-wFBW4yciDfzQBSFmWNaEvHShnSGLMxSu9Lls6EUf6xDMavxSB36bsrVRX6CyAo/W0NeIIyEOW1LclGPgJV1okg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.342.0.tgz", + "integrity": "sha512-5uyXVda/AgUpdZNJ9JPHxwyxr08miPiZ/CKSMcRdQVjcNnrdzY9m/iM9LvnQT44sQO+IEEkF2IoZIWvZcq199A==", "dependencies": { "tslib": "^2.5.0" }, @@ -1168,24 +1195,24 @@ } }, "node_modules/@aws-sdk/types/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/url-parser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.329.0.tgz", - "integrity": "sha512-/VcfL7vNJKJGSjYYHVQF3bYCDFs4fSzB7j5qeVDwRdWr870gE7O1Dar+sLWBRKFF3AX+4VzplqzUfpu9t44JVA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.342.0.tgz", + "integrity": "sha512-r4s/FDK6iywl8l4TqEwIwtNvxWO0kZes03c/yCiRYqxlkjVmbXEOodn5IAAweAeS9yqC3sl/wKbsaoBiGFn45g==", "dependencies": { - "@aws-sdk/querystring-parser": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/querystring-parser": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/url-parser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-base64": { "version": "3.310.0", @@ -1200,9 +1227,9 @@ } }, "node_modules/@aws-sdk/util-base64/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-body-length-browser": { "version": "3.310.0", @@ -1213,9 +1240,9 @@ } }, "node_modules/@aws-sdk/util-body-length-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-body-length-node": { "version": "3.310.0", @@ -1229,9 +1256,9 @@ } }, "node_modules/@aws-sdk/util-body-length-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-buffer-from": { "version": "3.310.0", @@ -1246,9 +1273,9 @@ } }, "node_modules/@aws-sdk/util-buffer-from/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-config-provider": { "version": "3.310.0", @@ -1262,17 +1289,17 @@ } }, "node_modules/@aws-sdk/util-config-provider/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-defaults-mode-browser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.329.0.tgz", - "integrity": "sha512-2iSiy/pzX3OXMhtSxtAzOiEFr3viQEFnYOTeZuiheuyS+cea2L79F6SlZ1110b/nOIU/UOrxxtz83HVad8YFMQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.342.0.tgz", + "integrity": "sha512-N1ZRvCLbrt4Re9MKU3pLYR0iO+H7GU7RsXG4yAq6DtSWT9WCw6xhIUpeV2T5uxWKL92o3WHNiGjwcebq+N73Bg==", "dependencies": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, @@ -1281,20 +1308,20 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-defaults-mode-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.329.0.tgz", - "integrity": "sha512-7A6C7YKjkZtmKtH29isYEtOCbhd7IcXPP8lftN8WAWlLOiZE4gV7PHveagUj7QserJzgRKGwwTQbBj53n18HYg==", - "dependencies": { - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.342.0.tgz", + "integrity": "sha512-yNa/eX8sELnwM5NONOFR/PCJMHTNrUVklSo/QHy57CT/L3KOqosRNAMnDVMzH1QolGaVN/8jgtDI2xVsvlP+AA==", + "dependencies": { + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/credential-provider-imds": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1302,16 +1329,16 @@ } }, "node_modules/@aws-sdk/util-defaults-mode-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-endpoints": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.332.0.tgz", - "integrity": "sha512-nQx7AiOroMU2hj6h+umWOSZ+WECwxupaxFUK/PPKGW6NY/VdQE6LluYnXOtF5awlr8w1nPksT0Lq05PZutMDLA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.342.0.tgz", + "integrity": "sha512-ZsYF413hkVwSOjvZG6U0SshRtzSg6MtwzO+j90AjpaqgoHAxE5LjO5eVYFfPXTC2U8NhU7xkzASY6++e5bRRnw==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1319,9 +1346,9 @@ } }, "node_modules/@aws-sdk/util-endpoints/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-hex-encoding": { "version": "3.310.0", @@ -1335,9 +1362,9 @@ } }, "node_modules/@aws-sdk/util-hex-encoding/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-locate-window": { "version": "3.310.0", @@ -1351,14 +1378,14 @@ } }, "node_modules/@aws-sdk/util-locate-window/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-middleware": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.329.0.tgz", - "integrity": "sha512-RhBOBaxzkTUghi4MSqr8S5qeeBCjgJ0XPJ6jIYkVkj1saCmqkuZCgl3zFaYdyhdxxPV6nflkFer+1HUoqT+Fqw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.342.0.tgz", + "integrity": "sha512-P2LYyMP4JUFZBy9DcMvCDxWU34mlShCyrqBZ1ouuGW7UMgRb1PTEvpLAVndIWn9H+1KGDFjMqOWp1FZHr4YZOA==", "dependencies": { "tslib": "^2.5.0" }, @@ -1367,16 +1394,16 @@ } }, "node_modules/@aws-sdk/util-middleware/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-retry": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.329.0.tgz", - "integrity": "sha512-+3VQ9HZLinysnmryUs9Xjt1YVh4TYYHLt30ilu4iUnIHFQoamdzIbRCWseSVFPCxGroen9M9qmAleAsytHEKuA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.342.0.tgz", + "integrity": "sha512-U1LXXtOMAQjU4H9gjYZng8auRponAH0t3vShHMKT8UQggT6Hwz1obdXUZgcLCtcjp/1aEK4MkDwk2JSjuUTaZw==", "dependencies": { - "@aws-sdk/service-error-classification": "3.329.0", + "@aws-sdk/service-error-classification": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1384,9 +1411,9 @@ } }, "node_modules/@aws-sdk/util-retry/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-uri-escape": { "version": "3.310.0", @@ -1400,32 +1427,32 @@ } }, "node_modules/@aws-sdk/util-uri-escape/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.329.0.tgz", - "integrity": "sha512-8hLSmMCl8aw2++0Zuba8ELq8FkK6/VNyx470St201IpMn2GMbQMDl/rLolRKiTgji6wc+T3pOTidkJkz8/cIXA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.342.0.tgz", + "integrity": "sha512-FWHiBi1xaebzmq3LJsizgd2LCix/bKHUTOjTeO6hEYny5DyrOl0liwIA0mqgvfgwIoMOF/l6FGg7kTfKtNgkEA==", "dependencies": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "bowser": "^2.11.0", "tslib": "^2.5.0" } }, "node_modules/@aws-sdk/util-user-agent-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.329.0.tgz", - "integrity": "sha512-C50Zaeodc0+psEP+L4WpElrH8epuLWJPVN4hDOTORcM0cSoU2o025Ost9mbcU7UdoHNxF9vitLnzORGN9SHolg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.342.0.tgz", + "integrity": "sha512-YMAhUar4CAB6hfUR72FH0sRqMBhPajDIhiKrZEOy7+qaWFdfb/t9DYi6p3PYIUZWK2vkESiDoX9Ays2xsp9rOQ==", "dependencies": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "engines": { @@ -1441,9 +1468,9 @@ } }, "node_modules/@aws-sdk/util-user-agent-node/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-utf8": { "version": "3.310.0", @@ -1466,14 +1493,14 @@ } }, "node_modules/@aws-sdk/util-utf8-browser/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@aws-sdk/util-utf8/node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "node_modules/@babel/code-frame": { "version": "7.12.11", @@ -2359,8 +2386,9 @@ }, "node_modules/@babel/plugin-syntax-bigint": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -2369,11 +2397,12 @@ } }, "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" }, "peerDependencies": { "@babel/core": "^7.0.0-0" @@ -2590,22 +2619,27 @@ } }, "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" }, "peerDependencies": { "@babel/core": "^7.0.0-0" } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.16.7", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.20.2" }, "engines": { "node": ">=6.9.0" @@ -3346,31 +3380,6 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-async-to-generator": { "version": "7.18.6", "dev": true, @@ -3555,8 +3564,9 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, "node_modules/@colors/colors": { "version": "1.5.0", @@ -3796,9 +3806,9 @@ } }, "node_modules/@faker-js/faker": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.0.1.tgz", - "integrity": "sha512-kbh5MenpTN9U0B4QcOI1NoTPlZHniSYQ3BHbhAnPjJGAmmFqxoxTE4sGdpy7ZOO9038DPGCuhXyMkjOr05uVwA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.0.2.tgz", + "integrity": "sha512-Uo3pGspElQW91PCvKSIAXoEgAUlRnH29sX2/p89kg7sP1m2PzCufHINd0FhTXQf6DYGiUlVncdSPa2F9wxed2A==", "funding": [ { "type": "opencollective", @@ -3873,8 +3883,9 @@ }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -3888,16 +3899,18 @@ }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@istanbuljs/schema": { - "version": "0.1.2", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -4491,19 +4504,6 @@ "node": ">=8" } }, - "node_modules/@jest/transform/node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, "node_modules/@jest/types": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.5.0.tgz", @@ -5280,24 +5280,57 @@ "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "node_modules/@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^2.0.0" + "type-detect": "4.0.8" } }, - "node_modules/@sinonjs/fake-timers/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", + "node_modules/@sinonjs/fake-timers": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", + "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", "dev": true, "dependencies": { - "type-detect": "4.0.8" + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", + "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", + "dependencies": { + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@smithy/protocol-http/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "dependencies": { + "tslib": "^2.5.0" + }, + "engines": { + "node": ">=14.0.0" } }, + "node_modules/@smithy/types/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, "node_modules/@stablelib/base64": { "version": "1.0.1", "license": "MIT" @@ -5873,31 +5906,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, - "node_modules/@stylelint/postcss-css-in-js": { - "version": "0.37.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": ">=7.9.0" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, - "node_modules/@stylelint/postcss-markdown": { - "version": "0.36.2", - "dev": true, - "license": "MIT", - "dependencies": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - }, - "peerDependencies": { - "postcss": ">=7.0.0", - "postcss-syntax": ">=0.36.2" - } - }, "node_modules/@szmarczak/http-timer": { "version": "4.0.6", "dev": true, @@ -5941,41 +5949,44 @@ "license": "MIT" }, "node_modules/@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "node_modules/@types/babel__generator": { - "version": "7.6.2", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.11.0", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", + "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.20.7" } }, "node_modules/@types/bcrypt": { @@ -6169,9 +6180,10 @@ } }, "node_modules/@types/graceful-fs": { - "version": "4.1.4", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -6305,14 +6317,6 @@ "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", "dev": true }, - "node_modules/@types/mdast": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, "node_modules/@types/mime": { "version": "3.0.1", "dev": true, @@ -6323,11 +6327,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/minimist": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/@types/mongodb": { "version": "3.6.20", "license": "MIT", @@ -6354,11 +6353,6 @@ "@types/node": "*" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.0", - "dev": true, - "license": "MIT" - }, "node_modules/@types/opossum": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/@types/opossum/-/opossum-6.2.3.tgz", @@ -6368,15 +6362,11 @@ "@types/node": "*" } }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/@types/prettier": { - "version": "2.1.5", - "dev": true, - "license": "MIT" + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true }, "node_modules/@types/promise-retry": { "version": "1.1.3", @@ -6540,11 +6530,6 @@ "dev": true, "license": "MIT" }, - "node_modules/@types/unist": { - "version": "2.0.3", - "dev": true, - "license": "MIT" - }, "node_modules/@types/uuid": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.0.tgz", @@ -7502,9 +7487,9 @@ "license": "MIT" }, "node_modules/anymatch": { - "version": "3.1.1", - "dev": true, - "license": "ISC", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -7812,14 +7797,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/arrify": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/asap": { "version": "2.0.6", "dev": true, @@ -8016,32 +7993,6 @@ "node": ">=10" } }, - "node_modules/autoprefixer": { - "version": "9.8.6", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/autoprefixer/node_modules/postcss-value-parser": { - "version": "4.1.0", - "dev": true, - "license": "MIT" - }, "node_modules/available-typed-arrays": { "version": "1.0.5", "license": "MIT", @@ -8512,9 +8463,10 @@ "license": "MIT" }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", @@ -8549,15 +8501,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/bail": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/balanced-match": { "version": "1.0.0", "license": "MIT" @@ -8991,8 +8934,9 @@ }, "node_modules/bser": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } @@ -9284,22 +9228,6 @@ "node": ">=6" } }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/caniuse-api": { "version": "3.0.0", "dev": true, @@ -9381,39 +9309,13 @@ }, "node_modules/char-regex": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, - "node_modules/character-entities": { - "version": "1.2.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/charset": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", @@ -9455,17 +9357,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/chokidar/node_modules/anymatch": { - "version": "3.1.2", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/chownr": { "version": "1.1.4", "license": "ISC" @@ -9763,25 +9654,6 @@ "node": ">=0.8" } }, - "node_modules/clone-regexp": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-regexp": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-regexp/node_modules/is-regexp": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/clone-response": { "version": "1.0.3", "dev": true, @@ -9795,8 +9667,9 @@ }, "node_modules/co": { "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, - "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" @@ -9845,8 +9718,9 @@ }, "node_modules/collect-v8-coverage": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", + "dev": true }, "node_modules/collection-visit": { "version": "1.0.0", @@ -9896,11 +9770,6 @@ "color-support": "bin.js" } }, - "node_modules/colorette": { - "version": "1.2.1", - "dev": true, - "license": "MIT" - }, "node_modules/colorspace": { "version": "1.1.4", "license": "MIT", @@ -10666,46 +10535,6 @@ "node": ">= 0.10" } }, - "node_modules/cosmiconfig": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig/node_modules/parse-json": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cosmiconfig/node_modules/path-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/coveralls": { "version": "3.1.1", "dev": true, @@ -11308,26 +11137,6 @@ "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", @@ -11394,9 +11203,10 @@ "license": "MIT" }, "node_modules/deepmerge": { - "version": "4.2.2", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -11666,8 +11476,9 @@ }, "node_modules/detect-newline": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -11798,19 +11609,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/domhandler": { - "version": "2.4.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "1" - } - }, - "node_modules/domhandler/node_modules/domelementtype": { - "version": "1.3.1", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/dompurify": { "version": "2.3.9", "dev": true, @@ -13960,19 +13758,10 @@ "node": ">= 8" } }, - "node_modules/execall": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clone-regexp": "^2.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true, "engines": { "node": ">= 0.8.0" @@ -14453,11 +14242,6 @@ "url": "https://paypal.me/naturalintelligence" } }, - "node_modules/fastest-levenshtein": { - "version": "1.0.12", - "dev": true, - "license": "MIT" - }, "node_modules/fastestsmallesttextencoderdecoder": { "version": "1.0.22", "resolved": "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz", @@ -14477,9 +14261,10 @@ } }, "node_modules/fb-watchman": { - "version": "2.0.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } @@ -15380,8 +15165,9 @@ }, "node_modules/get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -15566,25 +15352,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globjoin": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/gonzales-pe": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "gonzales": "bin/gonzales.js" - }, - "engines": { - "node": ">=0.6.0" - } - }, "node_modules/good-listener": { "version": "1.2.2", "license": "MIT", @@ -15864,14 +15631,6 @@ "node": ">=6" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/has": { "version": "1.0.3", "license": "MIT", @@ -16107,11 +15866,6 @@ "node": ">=0.10.0" } }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, "node_modules/hot-shots": { "version": "9.3.0", "license": "MIT", @@ -16184,14 +15938,6 @@ "dev": true, "license": "MIT" }, - "node_modules/html-tags": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/htmlhint": { "version": "1.1.4", "dev": true, @@ -16309,42 +16055,6 @@ "node": ">=8" } }, - "node_modules/htmlparser2": { - "version": "3.10.1", - "dev": true, - "license": "MIT", - "dependencies": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - } - }, - "node_modules/htmlparser2/node_modules/domelementtype": { - "version": "1.3.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "1.1.2", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/htmlparser2/node_modules/readable-stream": { - "version": "3.6.0", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", @@ -16577,14 +16287,6 @@ "module-details-from-path": "^1.0.3" } }, - "node_modules/import-lazy": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/import-local": { "version": "3.0.2", "dev": true, @@ -16740,28 +16442,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-arguments": { "version": "1.1.1", "license": "MIT", @@ -16893,15 +16573,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-decimal": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-descriptor": { "version": "0.1.6", "dev": true, @@ -16982,8 +16653,9 @@ }, "node_modules/is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -17012,15 +16684,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/is-jquery-obj": { "version": "0.1.1", "dev": true, @@ -17090,14 +16753,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "dev": true, @@ -17211,17 +16866,6 @@ "dev": true, "license": "MIT" }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-utf8": { "version": "0.2.1", "dev": true, @@ -17311,8 +16955,9 @@ }, "node_modules/istanbul-lib-report": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", @@ -17324,16 +16969,18 @@ }, "node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report/node_modules/make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^6.0.0" }, @@ -17346,16 +16993,18 @@ }, "node_modules/istanbul-lib-report/node_modules/semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -17364,22 +17013,24 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.3.1", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.1.2" }, @@ -17394,8 +17045,9 @@ }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -17547,6 +17199,122 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/jest-circus": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-circus/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-circus/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-circus/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-circus/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jest-cli": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", @@ -17754,52 +17522,6 @@ "node": ">=8" } }, - "node_modules/jest-config/node_modules/jest-circus": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", - "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", - "dev": true, - "dependencies": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-config/node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/jest-config/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -18718,9 +18440,10 @@ } }, "node_modules/jest-pnp-resolver": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -18833,15 +18556,6 @@ "node": ">=8" } }, - "node_modules/jest-resolve/node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-resolve/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -19987,8 +19701,9 @@ }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-pointer": { "version": "0.6.2", @@ -20219,17 +19934,13 @@ }, "node_modules/kleur": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/known-css-properties": { - "version": "0.21.0", - "dev": true, - "license": "MIT" - }, "node_modules/koalas": { "version": "1.0.2", "license": "MIT", @@ -20270,8 +19981,9 @@ }, "node_modules/leven": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -20312,9 +20024,10 @@ "version": "1.1.5" }, "node_modules/lines-and-columns": { - "version": "1.1.6", - "dev": true, - "license": "MIT" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, "node_modules/lint-staged": { "version": "13.1.0", @@ -21076,15 +20789,6 @@ "version": "5.2.1", "license": "Apache-2.0" }, - "node_modules/longest-streak": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/lower-case": { "version": "1.1.4", "dev": true, @@ -21543,17 +21247,6 @@ "node": ">=0.10.0" } }, - "node_modules/map-obj": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/map-visit": { "version": "1.0.0", "dev": true, @@ -21573,15 +21266,6 @@ "escape-string-regexp": "^1.0.5" } }, - "node_modules/mathml-tag-names": { - "version": "2.1.3", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/md5-file": { "version": "5.0.0", "license": "MIT", @@ -21602,48 +21286,6 @@ "safe-buffer": "^5.1.2" } }, - "node_modules/mdast-util-from-markdown": { - "version": "0.8.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "0.6.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdn-data": { "version": "2.0.4", "dev": true, @@ -21673,89 +21315,6 @@ "license": "MIT", "optional": true }, - "node_modules/meow": { - "version": "9.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "4.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/normalize-package-data": { - "version": "3.0.2", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/semver": { - "version": "7.3.5", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/yargs-parser": { - "version": "20.2.7", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, "node_modules/merge-descriptors": { "version": "1.0.1", "license": "MIT" @@ -21791,41 +21350,6 @@ "node": ">= 12.0.0" } }, - "node_modules/micromark": { - "version": "2.11.4", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - } - }, - "node_modules/micromark/node_modules/debug": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -21910,14 +21434,6 @@ "node": ">=4" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/mini-css-extract-plugin": { "version": "0.5.0", "dev": true, @@ -21970,27 +21486,6 @@ "version": "1.2.6", "license": "MIT" }, - "node_modules/minimist-options": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minimist-options/node_modules/is-plain-obj": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/minipass": { "version": "3.1.3", "license": "ISC", @@ -22830,8 +22325,9 @@ }, "node_modules/node-int64": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true }, "node_modules/node-jose": { "version": "2.2.0", @@ -23040,17 +22536,6 @@ "node": ">=6" } }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "license": "MIT", @@ -23058,19 +22543,6 @@ "node": ">=0.10.0" } }, - "node_modules/normalize-range": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-selector": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, "node_modules/normalize-url": { "version": "3.3.0", "dev": true, @@ -23118,11 +22590,6 @@ "boolbase": "~1.0.0" } }, - "node_modules/num2fraction": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, "node_modules/number-is-nan": { "version": "1.0.1", "license": "MIT", @@ -23627,23 +23094,6 @@ "safe-buffer": "^5.1.1" } }, - "node_modules/parse-entities": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/parse-github-url": { "version": "1.0.2", "dev": true, @@ -24160,34 +23610,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-html": { - "version": "0.36.0", - "dev": true, - "license": "MIT", - "dependencies": { - "htmlparser2": "^3.10.0" - }, - "peerDependencies": { - "postcss": ">=5.0.0", - "postcss-syntax": ">=0.36.0" - } - }, - "node_modules/postcss-less": { - "version": "3.1.4", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, "node_modules/postcss-merge-longhand": { "version": "4.0.11", "dev": true, @@ -24503,42 +23925,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-resolve-nested-selector": { - "version": "0.1.1", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-safe-parser": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.26" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-sass": { - "version": "0.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - } - }, - "node_modules/postcss-scss": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.6" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/postcss-selector-parser": { "version": "6.0.2", "dev": true, @@ -24565,14 +23951,6 @@ "node": ">=6.9.0" } }, - "node_modules/postcss-syntax": { - "version": "0.36.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "postcss": ">=5.0.0" - } - }, "node_modules/postcss-unique-selectors": { "version": "4.0.1", "dev": true, @@ -24772,12 +24150,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "node_modules/pretty-hrtime": { "version": "1.0.3", "dev": true, @@ -24846,9 +24218,10 @@ } }, "node_modules/prompts": { - "version": "2.4.0", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, - "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -25178,14 +24551,6 @@ "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, - "node_modules/quick-lru": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/random-bytes": { "version": "1.0.0", "license": "MIT", @@ -25243,6 +24608,12 @@ "rc": "cli.js" } }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "node_modules/read-file-relative": { "version": "1.2.0", "dev": true, @@ -25251,66 +24622,6 @@ "callsite": "^1.0.0" } }, - "node_modules/read-pkg-up": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/read-pkg-up/node_modules/parse-json": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/read-pkg": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, "node_modules/readable-stream": { "version": "2.3.7", "license": "MIT", @@ -25372,18 +24683,6 @@ "node": ">=4" } }, - "node_modules/redent": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/redeyed": { "version": "1.0.1", "license": "MIT", @@ -25590,44 +24889,6 @@ "node": ">= 0.10" } }, - "node_modules/remark": { - "version": "13.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "9.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^0.8.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "9.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-to-markdown": "^0.6.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/remove-trailing-separator": { "version": "1.1.0", "dev": true, @@ -25865,6 +25126,15 @@ "dev": true, "license": "MIT" }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/responselike": { "version": "2.0.1", "dev": true, @@ -26396,8 +25666,9 @@ }, "node_modules/sisteransi": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true }, "node_modules/slash": { "version": "3.0.0", @@ -26830,42 +26101,6 @@ "dev": true, "license": "MIT" }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.5", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/specificity": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "bin": { - "specificity": "bin/specificity" - } - }, "node_modules/split": { "version": "1.0.1", "license": "MIT", @@ -27114,9 +26349,10 @@ } }, "node_modules/string-length": { - "version": "4.0.1", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, - "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -27126,19 +26362,21 @@ } }, "node_modules/string-length/node_modules/ansi-regex": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/string-length/node_modules/strip-ansi": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "engines": { "node": ">=8" @@ -27205,17 +26443,6 @@ "node": ">=6" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/strip-json-comments": { "version": "2.0.1", "license": "MIT", @@ -27263,11 +26490,6 @@ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, - "node_modules/style-search": { - "version": "0.1.0", - "dev": true, - "license": "ISC" - }, "node_modules/stylehacks": { "version": "4.0.3", "dev": true, @@ -27294,310 +26516,6 @@ "node": ">=8" } }, - "node_modules/stylelint": { - "version": "13.13.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", - "balanced-match": "^2.0.0", - "chalk": "^4.1.1", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.0.3", - "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.21", - "log-symbols": "^4.1.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.4", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.5", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.2", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", - "svg-tags": "^1.0.0", - "table": "^6.6.0", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^3.0.3" - }, - "bin": { - "stylelint": "bin/stylelint.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/stylelint" - } - }, - "node_modules/stylelint-config-prettier": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz", - "integrity": "sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==", - "dev": true, - "bin": { - "stylelint-config-prettier": "bin/check.js", - "stylelint-config-prettier-check": "bin/check.js" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "stylelint": ">= 11.x < 15" - } - }, - "node_modules/stylelint-config-recommended": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "peerDependencies": { - "stylelint": "^13.13.0" - } - }, - "node_modules/stylelint-config-standard": { - "version": "22.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "stylelint-config-recommended": "^5.0.0" - }, - "peerDependencies": { - "stylelint": "^13.13.0" - } - }, - "node_modules/stylelint-prettier": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "prettier": ">= 0.11.0", - "stylelint": ">= 9.2.1" - } - }, - "node_modules/stylelint/node_modules/ansi-regex": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/balanced-match": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stylelint/node_modules/chalk": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/stylelint/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/stylelint/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/stylelint/node_modules/debug": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/stylelint/node_modules/get-stdin": { - "version": "8.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylelint/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/log-symbols": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/stylelint/node_modules/postcss-selector-parser": { - "version": "6.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/stylelint/node_modules/postcss-value-parser": { - "version": "4.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/stylelint/node_modules/resolve-from": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/string-width": { - "version": "4.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/strip-ansi": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/stylelint/node_modules/v8-compile-cache": { - "version": "2.3.0", - "dev": true, - "license": "MIT" - }, - "node_modules/sugarss": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2" - } - }, "node_modules/superagent": { "version": "8.0.6", "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.6.tgz", @@ -27725,10 +26643,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-tags": { - "version": "1.0.0", - "dev": true - }, "node_modules/svgo": { "version": "1.3.2", "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", @@ -28068,8 +26982,9 @@ }, "node_modules/test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -29137,27 +28052,10 @@ "tree-kill": "cli.js" } }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/triple-beam": { "version": "1.3.0", "license": "MIT" }, - "node_modules/trough": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/truncate-utf8-bytes": { "version": "1.0.2", "dev": true, @@ -29665,14 +28563,6 @@ "dev": true, "license": "MIT" }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "license": "MIT", - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, "node_modules/typescript": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", @@ -29811,23 +28701,6 @@ "node": ">=4" } }, - "node_modules/unified": { - "version": "9.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/union-value": { "version": "1.0.1", "dev": true, @@ -29868,39 +28741,6 @@ "imurmurhash": "^0.1.4" } }, - "node_modules/unist-util-find-all-after": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/universalify": { "version": "0.1.2", "license": "MIT", @@ -30205,15 +29045,6 @@ "node": ">=10.12.0" } }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "node_modules/validate.io-array": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", @@ -30282,34 +29113,6 @@ "extsprintf": "^1.2.0" } }, - "node_modules/vfile": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "2.0.4", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/vm-browserify": { "version": "1.1.2", "dev": true, @@ -31476,14 +30279,16 @@ "license": "ISC" }, "node_modules/write-file-atomic": { - "version": "3.0.3", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, - "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, "node_modules/ws": { @@ -31685,15 +30490,6 @@ "funding": { "url": "https://github.com/sponsors/colinhacks" } - }, - "node_modules/zwitch": { - "version": "1.0.5", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } } }, "dependencies": { @@ -31705,6 +30501,16 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, + "@aws-crypto/crc32": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", + "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", + "requires": { + "@aws-crypto/util": "^3.0.0", + "@aws-sdk/types": "^3.222.0", + "tslib": "^1.11.1" + } + }, "@aws-crypto/ie11-detection": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", @@ -31757,418 +30563,440 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.329.0.tgz", - "integrity": "sha512-hzrjPNQcJoSPe0oS20V5i98oiEZSM3mKNiR6P3xHTHTPI/F23lyjGZ+/CSkCmJbSWfGZ5sHZZcU6AWuS7xBdTw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.342.0.tgz", + "integrity": "sha512-W1lAYldbzDjfn8vwnwNe+6qNWfSu1+JrdiVIRSwsiwKvF2ahjKuaLoc8rJM09C6ieNWRi5634urFgfwAJuv6vg==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/client-cloudwatch-logs": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.332.0.tgz", - "integrity": "sha512-K913omuxqy36C2jtWiQ3ImuNW0fdXxCtYeMedKeWVVEEDzkXbUdSH4bKgoFe5wHEnFVssFi6M5tjOq2orM/A6w==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-cloudwatch-logs/-/client-cloudwatch-logs-3.342.0.tgz", + "integrity": "sha512-IGQVDgNThWYpn7A6C4nyeV4cfwab+uBVoxpu3ya9PcGCERAIe6JEeS/6T4sPiuya+1f0Dq7KD4AKC79VrDSr6w==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.332.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/client-sts": "3.342.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/credential-provider-node": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-signing": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/client-sso": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.332.0.tgz", - "integrity": "sha512-4q1Nko8M6YVANdEiLYvdv1qb00j4xN4ppE/6d4xpGp7DxHYlm0GA762h0/TR2dun+2I+SMnwj4Fv6BxOmzBaEw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.342.0.tgz", + "integrity": "sha512-DbEL+sWBua/04zTlJ6QmUsOpbeIlnPp8eYXQllCwsFzsIT04MjMI4hCZNia/weymwcq3vWTJOk2++SZf0sCGcw==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/client-sso-oidc": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.332.0.tgz", - "integrity": "sha512-tz8k8Yqm4TScIfit0Tum2zWAq1md+gZKr747CSixd4Zwcp7Vwh75cRoL7Rz1ZHSEn1Yo983MWREevVez3SubLw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.342.0.tgz", + "integrity": "sha512-C1jeKD39pWXlpGRxhWWBw2No1lyZnyIN72M2Qg3BWK6QlsSDtd9kdhpGS9rQU0i1F4w5x178a+qiGWHHMhCwLg==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/client-sts": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.332.0.tgz", - "integrity": "sha512-uVobnXIzMcEhwBDyk6iOt36N/TRNI8hwq7MQugjYGj7Inma9g4vnR09hXJ24HxyKCoVUoIgMbEguQ43+/+uvDQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.342.0.tgz", + "integrity": "sha512-MUgYm/2ra1Pwoqw9ng75rVsvTLQvLHZLsTjJuKJ4hnHx1GdmQt4/ZlG1q/J2ZK2o6RZXqgavscz/nyrZH0QumA==", "requires": { "@aws-crypto/sha256-browser": "3.0.0", "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-node": "3.332.0", - "@aws-sdk/fetch-http-handler": "3.329.0", - "@aws-sdk/hash-node": "3.329.0", - "@aws-sdk/invalid-dependency": "3.329.0", - "@aws-sdk/middleware-content-length": "3.329.0", - "@aws-sdk/middleware-endpoint": "3.329.0", - "@aws-sdk/middleware-host-header": "3.329.0", - "@aws-sdk/middleware-logger": "3.329.0", - "@aws-sdk/middleware-recursion-detection": "3.329.0", - "@aws-sdk/middleware-retry": "3.329.0", - "@aws-sdk/middleware-sdk-sts": "3.329.0", - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/middleware-user-agent": "3.332.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/node-http-handler": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/smithy-client": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/credential-provider-node": "3.342.0", + "@aws-sdk/fetch-http-handler": "3.342.0", + "@aws-sdk/hash-node": "3.342.0", + "@aws-sdk/invalid-dependency": "3.342.0", + "@aws-sdk/middleware-content-length": "3.342.0", + "@aws-sdk/middleware-endpoint": "3.342.0", + "@aws-sdk/middleware-host-header": "3.342.0", + "@aws-sdk/middleware-logger": "3.342.0", + "@aws-sdk/middleware-recursion-detection": "3.342.0", + "@aws-sdk/middleware-retry": "3.342.0", + "@aws-sdk/middleware-sdk-sts": "3.342.0", + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/middleware-signing": "3.342.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/middleware-user-agent": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/node-http-handler": "3.342.0", + "@aws-sdk/smithy-client": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "@aws-sdk/util-body-length-browser": "3.310.0", "@aws-sdk/util-body-length-node": "3.310.0", - "@aws-sdk/util-defaults-mode-browser": "3.329.0", - "@aws-sdk/util-defaults-mode-node": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", - "@aws-sdk/util-retry": "3.329.0", - "@aws-sdk/util-user-agent-browser": "3.329.0", - "@aws-sdk/util-user-agent-node": "3.329.0", + "@aws-sdk/util-defaults-mode-browser": "3.342.0", + "@aws-sdk/util-defaults-mode-node": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", + "@aws-sdk/util-user-agent-browser": "3.342.0", + "@aws-sdk/util-user-agent-node": "3.342.0", "@aws-sdk/util-utf8": "3.310.0", + "@smithy/protocol-http": "^1.0.1", + "@smithy/types": "^1.0.0", "fast-xml-parser": "4.1.2", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/config-resolver": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.329.0.tgz", - "integrity": "sha512-Oj6eiT3q+Jn685yvUrfRi8PhB3fb81hasJqdrsEivA8IP8qAgnVUTJzXsh8O2UX8UM2MF6A1gTgToSgneJuw2Q==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.342.0.tgz", + "integrity": "sha512-jUg6DTTrCvG8AOPv5NRJ6PSQSC5fEI2gVv4luzvrGkRJULYbIqpdfUYdW7jB3rWAWC79pQQr5lSqC5DWH91stw==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-config-provider": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-middleware": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/credential-provider-env": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.329.0.tgz", - "integrity": "sha512-B4orC9hMt9hG82vAR0TAnQqjk6cFDbO2S14RdzUj2n2NPlGWW4Blkv3NTo86K0lq011VRhtqaLcuTwn5EJD5Sg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.342.0.tgz", + "integrity": "sha512-mufOcoqdXZXkvA7u6hUcJz6wKpVaho8SRWCvJrGO4YkyudUAoI9KSP5R4U+gtneDJ2Y/IEKPuw8ugNfANa1J+A==", "requires": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/credential-provider-imds": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.329.0.tgz", - "integrity": "sha512-ggPlnd7QROPTid0CwT01TYYGvstRRTpzTGsQ/B31wkh30IrRXE81W3S4xrOYuqQD3u0RnflSxnvhs+EayJEYjg==", - "requires": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.342.0.tgz", + "integrity": "sha512-ReaHwFLfcsEYjDFvi95OFd+IU8frPwuAygwL56aiMT7Voc0oy3EqB3MFs3gzFxdLsJ0vw9TZMRbaouepAEVCkA==", + "requires": { + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/credential-provider-ini": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.332.0.tgz", - "integrity": "sha512-DTW6d6rcqizPVyvcIrwvxecQ7e5GONtVc5Wyf0RTfqf41sDOVZYmn6G+zEFSpBLW0975uZbJS0lyLWtJe2VujQ==", - "requires": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.342.0.tgz", + "integrity": "sha512-VJ7+IlI3rx5XfO8AarbKeqNVwfExsWW0S6fqBXIim0s10FJAy7R+wxYyhZhawfRm0ydCggT+Ji6dftS+WXF8fg==", + "requires": { + "@aws-sdk/credential-provider-env": "3.342.0", + "@aws-sdk/credential-provider-imds": "3.342.0", + "@aws-sdk/credential-provider-process": "3.342.0", + "@aws-sdk/credential-provider-sso": "3.342.0", + "@aws-sdk/credential-provider-web-identity": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/credential-provider-node": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.332.0.tgz", - "integrity": "sha512-KkBayS9k4WyJTvC86ngeRM+RmWxNCS1BHvudkR6PLXfnsNPDzxySDVY0UgxVhbNYDYsO561fXZt9ccpKyVWjgg==", - "requires": { - "@aws-sdk/credential-provider-env": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/credential-provider-ini": "3.332.0", - "@aws-sdk/credential-provider-process": "3.329.0", - "@aws-sdk/credential-provider-sso": "3.332.0", - "@aws-sdk/credential-provider-web-identity": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.342.0.tgz", + "integrity": "sha512-u3oUo0UxGEaHLtIx7a38aFLgcTe1OevCNe5exL3ugf5C4ifvUjM8rLWySQ9zrKRgPT2yDRYG/oq4ezjoR9fhHg==", + "requires": { + "@aws-sdk/credential-provider-env": "3.342.0", + "@aws-sdk/credential-provider-imds": "3.342.0", + "@aws-sdk/credential-provider-ini": "3.342.0", + "@aws-sdk/credential-provider-process": "3.342.0", + "@aws-sdk/credential-provider-sso": "3.342.0", + "@aws-sdk/credential-provider-web-identity": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/credential-provider-process": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.329.0.tgz", - "integrity": "sha512-5oO220qoFc2pMdZDQa6XN/mVhp669I3+LqMbbscGtX/UgLJPSOb7YzPld9Wjv12L5rf+sD3G1PF3LZXO0vKLFA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.342.0.tgz", + "integrity": "sha512-q03yJQPa4jnZtwKFW3yEYNMcpYH7wQzbEOEXjnXG4v8935oOttZjXBvRK7ax+f0D1ZHZFeFSashjw0A/bi1efQ==", "requires": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/credential-provider-sso": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.332.0.tgz", - "integrity": "sha512-SaKXl48af3n6LRitcaEqbeg1YDXwQ0A5QziC1xQyYPraEIj3IZ/GyTjx04Lo2jxNYHuEOE8u4aTw1+IK1GDKbg==", - "requires": { - "@aws-sdk/client-sso": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/token-providers": "3.332.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.342.0.tgz", + "integrity": "sha512-ank2703Riz5gwTxC11FDnZtMcq1Z1JjN3Nd53ahyZ+KOJPgWXEw+uolEuzMl4oAovmbTJ6WANo2qMVmLzZEaQg==", + "requires": { + "@aws-sdk/client-sso": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/token-providers": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.329.0.tgz", - "integrity": "sha512-lcEibZD7AlutCacpQ6DyNUqElZJDq+ylaIo5a8MH9jGh7Pg2WpDg0Sy+B6FbGCkVn4eIjdHxeX54JM245nhESg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.342.0.tgz", + "integrity": "sha512-+an5oGnzoXMmGJql0Qs9MtyQTmz5GFqrWleQ0k9UVhN3uIfCS9AITS7vb+q1+G7A7YXy9+KshgBhcHco0G/JWQ==", "requires": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@aws-sdk/eventstream-codec": { + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.342.0.tgz", + "integrity": "sha512-IwtvSuplioMyiu/pQgpazKkGWDM5M5BOx85zmsB0uNxt6rmje8+WqPmGmuPdmJv4bLC5dJPLovcCp/fuH8XWhA==", + "requires": { + "@aws-crypto/crc32": "3.0.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-hex-encoding": "3.310.0", + "tslib": "^2.5.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/fetch-http-handler": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.329.0.tgz", - "integrity": "sha512-9jfIeJhYCcTX4ScXOueRTB3S/tVce0bRsKxKDP0PnTxnGYOwKXoM9lAPmiYItzYmQ/+QzjTI8xfkA9Usz2SK/Q==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.342.0.tgz", + "integrity": "sha512-zsC23VUQMHEu4OKloLCVyWLG0ns6n+HKZ9euGLnNO3l0VSRne9qj/94yR+4jr/h04M7MhGf9mlczGfnZUFxs5w==", "requires": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/querystring-builder": "3.342.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-base64": "3.310.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/hash-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.329.0.tgz", - "integrity": "sha512-6RmnWXNWpi7yAs0oRDQlkMn2wfXOStr/8kTCgiAiqrk1KopGSBkC2veKiKRSfv02FTd1yV/ISqYNIRqW1VLyxg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.342.0.tgz", + "integrity": "sha512-cFgXy9CDNQdYCdJBsG91FF0P0tNkCfi7+vTy7fzAEchxLxhcfLtC0cS6+gv2e3Dy8mv+uqp45Tu24+8Trx9hJQ==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-buffer-from": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/invalid-dependency": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.329.0.tgz", - "integrity": "sha512-UXynGusDxN/HxLma5ByJ7u+XnuMd47NbHOjJgYsaAjb1CVZT7hEPXOB+mcZ+Ku7To5SCOKu2QbRn7m4bGespBg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.342.0.tgz", + "integrity": "sha512-3qza2Br1jGKJi8toPYG9u5aGJ3sbGmJLgKDvlga7q3F8JaeB92He6muRJ07eyDvxZ9jiKhLZ2mtYoVcEjI7Mgw==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32181,116 +31009,116 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-content-length": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.329.0.tgz", - "integrity": "sha512-7kCd+CvY/4KbyXB0uyL7jCwPjMi2yERMALFdEH9dsUciwmxIQT6eSc4aF6wImC4UrbafaqmXvvHErABKMVBTKA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.342.0.tgz", + "integrity": "sha512-7LUMZqhihSAptGRFFQvuwt9nCLNzNPkGd1oU1RpVXw6YPQfKP9Ec5tgg4oUlv1t58IYQvdVj5ITKp4X2aUJVPg==", "requires": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-endpoint": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.329.0.tgz", - "integrity": "sha512-hdJRoNdCM0BT4W+rrtee+kfFRgGPGXQDgtbIQlf/FuuuYz2sdef7/SYWr0mxuncnVBW5WkYSPP8h6q07whSKbg==", - "requires": { - "@aws-sdk/middleware-serde": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/url-parser": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.342.0.tgz", + "integrity": "sha512-/rE+3a2EbNQoylc7vyN+O6GFfcLitboZ8f/Kdkld3Ijcp9whPHdfjiqujlwyiUTgBVP3BqgyB3r7AZDloc7B0g==", + "requires": { + "@aws-sdk/middleware-serde": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/url-parser": "3.342.0", + "@aws-sdk/util-middleware": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-host-header": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.329.0.tgz", - "integrity": "sha512-JrHeUdTIpTCfXDo9JpbAbZTS1x4mt63CCytJRq0mpWp+FlP9hjckBcNxWdR/wSKEzP9pDRnTri638BOwWH7O8w==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.342.0.tgz", + "integrity": "sha512-EOoix2D2Mk3NQtv7UVhJttfttGYechQxKuGvCI8+8iEKxqlyXaKqAkLR07BQb6epMYeKP4z1PfJm203Sf0WPUQ==", "requires": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-logger": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.329.0.tgz", - "integrity": "sha512-lKeeTXsYC1NiwmxrXsZepcwNXPoQxTNNbeD1qaCELPGK2cJlrGoeAP2YRWzpwO2kNZWrDLaGAPT/EUEhqw+d1w==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.342.0.tgz", + "integrity": "sha512-wbkp85T7p9sHLNPMY6HAXHvLOp+vOubFT/XLIGtgRhYu5aRJSlVo9qlwtdZjyhEgIRQ6H/QUnqAN7Zgk5bCLSw==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.329.0.tgz", - "integrity": "sha512-0/TYOJwrj1Z8s+Y7thibD23hggBq/K/01NwPk32CwWG/G+1vWozs5DefknEl++w0vuV+39pkY4KHI8m/+wOCpg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.342.0.tgz", + "integrity": "sha512-KUDseSAz95kXCqnXEQxNObpviZ6F7eJ5lEgpi+ZehlzGDk/GyOVgjVuAyI7nNxWI5v0ZJ5nIDy+BH273dWbnmQ==", "requires": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-retry": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.329.0.tgz", - "integrity": "sha512-cB3D7GlhHUcHGOlygOYxD9cPhwsTYEAMcohK38An8+RHNp6VQEWezzLFCmHVKUSeCQ+wkjZfPA40jOG0rbjSgQ==", - "requires": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/service-error-classification": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", - "@aws-sdk/util-retry": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.342.0.tgz", + "integrity": "sha512-Bfllrjqs0bXNG7A3ydLjTAE5zPEdigG+/lDuEsCfB35gywZnnxqi6BjTeQ9Ss6gbEWX+WyXP7/oVdNaUDQUr9Q==", + "requires": { + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/service-error-classification": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-middleware": "3.342.0", + "@aws-sdk/util-retry": "3.342.0", "tslib": "^2.5.0", "uuid": "^8.3.2" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" }, "uuid": { "version": "8.3.2", @@ -32300,300 +31128,301 @@ } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.329.0.tgz", - "integrity": "sha512-bqtZuhkH8pANb2Gb4FEM1p27o+BoDBmVhEWm8sWH+APsyOor3jc6eUG2GxkfoO6D5tGNIuyCC/GuvW9XDIe4Kg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.342.0.tgz", + "integrity": "sha512-eGcGDC+6UWKC87mex3voBVRcZN3hzFN6GVzWkTS574hDqp/uJG3yPk3Dltw0qf8skikTGi3/ZE+yAxerq/f5rg==", "requires": { - "@aws-sdk/middleware-signing": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/middleware-signing": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-serde": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.329.0.tgz", - "integrity": "sha512-tvM9NdPuRPCozPjTGNOeYZeLlyx3BcEyajrkRorCRf1YzG/mXdB6I1stote7i4q1doFtYTz0sYL8bqW3LUPn9A==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.342.0.tgz", + "integrity": "sha512-WRD+Cyu6+h1ymfPnAw4fI2q3zXjihJ55HFe1uRF8VPN4uBbJNfN3IqL38y/SMEdZ0gH9zNlRNxZLhR0q6SNZEQ==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-signing": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.329.0.tgz", - "integrity": "sha512-bL1nI+EUcF5B1ipwDXxiKL+Uw02Mbt/TNX54PbzunBGZIyO6DZG/H+M3U296bYbvPlwlZhp26O830g6K7VEWsA==", - "requires": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/signature-v4": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-middleware": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.342.0.tgz", + "integrity": "sha512-CFRQyPv4OjRGmFoB3OfKcQ0aHgS9VWC0YwoHnSWIcLt3Xltorug/Amk0obr/MFoIrktdlVtmvLEJ4Z+8cdsz8g==", + "requires": { + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/signature-v4": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-middleware": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-stack": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.329.0.tgz", - "integrity": "sha512-2huFLhJ45td2nuiIOjpc9JKJbFNn5CYmw9U8YDITTcydpteRN62CzCpeqroDvF89VOLWxh0ZFtuLCGUr7liSWQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.342.0.tgz", + "integrity": "sha512-nDYtLAv9IZq8YFxtbyAiK/U1mtvtJS0DG6HiIPT5jpHcRpuWRHQ170EAW51zYts+21Ffj1VA6ZPkbup83+T6/w==", "requires": { "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/middleware-user-agent": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.332.0.tgz", - "integrity": "sha512-rSL1xP4QmcMOsunN1p5ZDR9GT3vvoSCnYa4iPvMSjP8Jx7l4ff/aVctwfZkMs/up12+68Jqwj4TvtaCvCFXdUA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.342.0.tgz", + "integrity": "sha512-6iiFno+rq7W82mqM4KQKndIkZdGG1XZDlZIb77fcmQGYYlB1J2S/d0pIPdMk5ZQteuKJ5iorANUC0dKWw1mWTg==", "requires": { - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/types": "3.329.0", - "@aws-sdk/util-endpoints": "3.332.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/types": "3.342.0", + "@aws-sdk/util-endpoints": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/node-config-provider": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.329.0.tgz", - "integrity": "sha512-hg9rGNlkzh8aeR/sQbijrkFx2BIO53j4Z6qDxPNWwSGpl05jri1VHxHx2HZMwgbY6Zy/DSguETN/BL8vdFqyLg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.342.0.tgz", + "integrity": "sha512-Mwkj4+zt64w7a8QDrI9q4SrEt7XRO30Vk0a0xENqcOGrKIPfF5aeqlw85NYLoGys+KV1oatqQ+k0GzKx8qTIdQ==", "requires": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/node-http-handler": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.329.0.tgz", - "integrity": "sha512-OrjaHjU2ZTPfoHa5DruRvTIbeHH/cc0wvh4ml+FwDpWaPaBpOhLiluhZ3anqX1l5QjrXNiQnL8FxSM5OV/zVCA==", - "requires": { - "@aws-sdk/abort-controller": "3.329.0", - "@aws-sdk/protocol-http": "3.329.0", - "@aws-sdk/querystring-builder": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.342.0.tgz", + "integrity": "sha512-ieNdrfJJMh46qY6rkV1azJBo3UfS9hc7d8CuHtkgHhCfH3BhxbtFqEiGilOdBmY5Sk69b//lFr4zHpUPYsXKaA==", + "requires": { + "@aws-sdk/abort-controller": "3.342.0", + "@aws-sdk/protocol-http": "3.342.0", + "@aws-sdk/querystring-builder": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/property-provider": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.329.0.tgz", - "integrity": "sha512-1cHLTV6yyMGaMSWWDW/p4vTkJ1cc5BOEO+A0eHuAcoSOk+LDe9IKhUG3/ZOvvYKQYcqIj5jjGSni/noXNCl/qw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.342.0.tgz", + "integrity": "sha512-p4TR9yRakIpwupEH3BUijWMYThGG0q43n1ICcsBOcvWZpE636lIUw6nzFlOuBUwqyPfUyLbXzchvosYxfCl0jw==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/protocol-http": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.329.0.tgz", - "integrity": "sha512-0rLEHY6QTHTUUcVxzGbPUSmCKlXWplxT/fcYRh0bcc5MBK4naKfcQft1O6Ajp8uqs/9YPZ7XCVCn90pDeJfeaw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.342.0.tgz", + "integrity": "sha512-zuF2urcTJBZ1tltPdTBQzRasuGB7+4Yfs9i5l0F7lE0luK5Azy6G+2r3WWENUNxFTYuP94GrrqaOhVyj8XXLPQ==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/querystring-builder": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.329.0.tgz", - "integrity": "sha512-UWgMKkS5trliaDJG4nPv3onu8Y0aBuwRo7RdIgggguOiU8pU6pq1I113nH2FBNWy+Me1bwf+bcviJh0pCo6bEg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.342.0.tgz", + "integrity": "sha512-tb3FbtC36a7XBYeupdKm60LeM0etp73I6/7pDAkzAlw7zJdvY0aQIvj1c0U6nZlwZF8sSSxC7vlamR+wCspdMw==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-uri-escape": "3.310.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/querystring-parser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.329.0.tgz", - "integrity": "sha512-9mkK+FB7snJ2G7H3CqtprDwYIRhzm6jEezffCwUWrC+lbqHBbErbhE9IeU/MKxILmf0RbC2riXEY1MHGspjRrQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.342.0.tgz", + "integrity": "sha512-6svvr/LZW1EPJaARnOpjf92FIiK25wuO7fRq05gLTcTRAfUMDvub+oDg3Ro9EjJERumrYQrYCem5Qi4X9w8K2g==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/service-error-classification": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.329.0.tgz", - "integrity": "sha512-TSNr0flOcCLe71aPp7MjblKNGsmxpTU4xR5772MDX9Cz9GUTNZCPFtvrcqd+wzEPP/AC7XwNXe8KjoXooZImUQ==" + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.342.0.tgz", + "integrity": "sha512-MwHO5McbdAVKxfQj1yhleboAXqrzcGoi9ODS+bwCwRfe2lakGzBBhu8zaGDlKYOdv5rS+yAPP/5fZZUiuZY8Bw==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.329.0.tgz", - "integrity": "sha512-e0hyd75fbjMd4aCoRwpP2/HR+0oScwogErVArIkq3F42c/hyNCQP3sph4JImuXIjuo6HNnpKpf20CEPPhNna8A==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.342.0.tgz", + "integrity": "sha512-kQG7TMQMhNp5+Y8vhGuO/+wU3K/dTx0xC0AKoDFiBf6EpDRmDfr2pPRnfJ9GwgS9haHxJ/3Uwc03swHMlsj20A==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/signature-v4": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.329.0.tgz", - "integrity": "sha512-9EnLoyOD5nFtCRAp+QRllDgQASCfY7jLHVhwht7jzwE80wE65Z9Ym5Z/mwTd4IyTz/xXfCvcE2VwClsBt0Ybdw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.342.0.tgz", + "integrity": "sha512-OWrGO2UOa1ENpy0kYd2shK4sklQygWUqvWLx9FotDbjIeUIEfAnqoPq/QqcXVrNyT/UvPi4iIrjHJEO8JCNRmA==", "requires": { + "@aws-sdk/eventstream-codec": "3.342.0", "@aws-sdk/is-array-buffer": "3.310.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "@aws-sdk/util-hex-encoding": "3.310.0", - "@aws-sdk/util-middleware": "3.329.0", + "@aws-sdk/util-middleware": "3.342.0", "@aws-sdk/util-uri-escape": "3.310.0", "@aws-sdk/util-utf8": "3.310.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/smithy-client": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.329.0.tgz", - "integrity": "sha512-7E0fGpBKxwFqHHAOqNbgNsHSEmCZLuvmU9yvG9DXKVzrS4P48O/PfOro123WpcFZs3STyOVgH8wjUPftHAVKmg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.342.0.tgz", + "integrity": "sha512-HQ4JejjHU2X7OAZPwixFG+EyPSjmoZqll7EvWjPSKyclWrM320haWWz1trVzjG/AgPfeDLfRkH/JoMr13lECew==", "requires": { - "@aws-sdk/middleware-stack": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/middleware-stack": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/token-providers": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.332.0.tgz", - "integrity": "sha512-fccbg6OSl0l658pxl2p1MoU9gEePo5B361+JNaN0zfRMu7c5HBXCpdl4djlFxAHjltrX9f1+BKqfGHYgI3h8SQ==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.332.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/shared-ini-file-loader": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.342.0.tgz", + "integrity": "sha512-gYShxImNQVx3FYOUKB7nzzowYiiP1joyx43KrduHwBDV7hiqg7QhtJHr6Ek+QLPqcFKP9rRvo7NhGxu+T7dEQg==", + "requires": { + "@aws-sdk/client-sso-oidc": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/shared-ini-file-loader": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/types": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.329.0.tgz", - "integrity": "sha512-wFBW4yciDfzQBSFmWNaEvHShnSGLMxSu9Lls6EUf6xDMavxSB36bsrVRX6CyAo/W0NeIIyEOW1LclGPgJV1okg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.342.0.tgz", + "integrity": "sha512-5uyXVda/AgUpdZNJ9JPHxwyxr08miPiZ/CKSMcRdQVjcNnrdzY9m/iM9LvnQT44sQO+IEEkF2IoZIWvZcq199A==", "requires": { "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/url-parser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.329.0.tgz", - "integrity": "sha512-/VcfL7vNJKJGSjYYHVQF3bYCDFs4fSzB7j5qeVDwRdWr870gE7O1Dar+sLWBRKFF3AX+4VzplqzUfpu9t44JVA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.342.0.tgz", + "integrity": "sha512-r4s/FDK6iywl8l4TqEwIwtNvxWO0kZes03c/yCiRYqxlkjVmbXEOodn5IAAweAeS9yqC3sl/wKbsaoBiGFn45g==", "requires": { - "@aws-sdk/querystring-parser": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/querystring-parser": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32607,9 +31436,9 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32622,9 +31451,9 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32637,9 +31466,9 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32653,9 +31482,9 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32668,63 +31497,63 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/util-defaults-mode-browser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.329.0.tgz", - "integrity": "sha512-2iSiy/pzX3OXMhtSxtAzOiEFr3viQEFnYOTeZuiheuyS+cea2L79F6SlZ1110b/nOIU/UOrxxtz83HVad8YFMQ==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.342.0.tgz", + "integrity": "sha512-N1ZRvCLbrt4Re9MKU3pLYR0iO+H7GU7RsXG4yAq6DtSWT9WCw6xhIUpeV2T5uxWKL92o3WHNiGjwcebq+N73Bg==", "requires": { - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/util-defaults-mode-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.329.0.tgz", - "integrity": "sha512-7A6C7YKjkZtmKtH29isYEtOCbhd7IcXPP8lftN8WAWlLOiZE4gV7PHveagUj7QserJzgRKGwwTQbBj53n18HYg==", - "requires": { - "@aws-sdk/config-resolver": "3.329.0", - "@aws-sdk/credential-provider-imds": "3.329.0", - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/property-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.342.0.tgz", + "integrity": "sha512-yNa/eX8sELnwM5NONOFR/PCJMHTNrUVklSo/QHy57CT/L3KOqosRNAMnDVMzH1QolGaVN/8jgtDI2xVsvlP+AA==", + "requires": { + "@aws-sdk/config-resolver": "3.342.0", + "@aws-sdk/credential-provider-imds": "3.342.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/property-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/util-endpoints": { - "version": "3.332.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.332.0.tgz", - "integrity": "sha512-nQx7AiOroMU2hj6h+umWOSZ+WECwxupaxFUK/PPKGW6NY/VdQE6LluYnXOtF5awlr8w1nPksT0Lq05PZutMDLA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.342.0.tgz", + "integrity": "sha512-ZsYF413hkVwSOjvZG6U0SshRtzSg6MtwzO+j90AjpaqgoHAxE5LjO5eVYFfPXTC2U8NhU7xkzASY6++e5bRRnw==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32737,9 +31566,9 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32752,40 +31581,40 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/util-middleware": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.329.0.tgz", - "integrity": "sha512-RhBOBaxzkTUghi4MSqr8S5qeeBCjgJ0XPJ6jIYkVkj1saCmqkuZCgl3zFaYdyhdxxPV6nflkFer+1HUoqT+Fqw==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.342.0.tgz", + "integrity": "sha512-P2LYyMP4JUFZBy9DcMvCDxWU34mlShCyrqBZ1ouuGW7UMgRb1PTEvpLAVndIWn9H+1KGDFjMqOWp1FZHr4YZOA==", "requires": { "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/util-retry": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.329.0.tgz", - "integrity": "sha512-+3VQ9HZLinysnmryUs9Xjt1YVh4TYYHLt30ilu4iUnIHFQoamdzIbRCWseSVFPCxGroen9M9qmAleAsytHEKuA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.342.0.tgz", + "integrity": "sha512-U1LXXtOMAQjU4H9gjYZng8auRponAH0t3vShHMKT8UQggT6Hwz1obdXUZgcLCtcjp/1aEK4MkDwk2JSjuUTaZw==", "requires": { - "@aws-sdk/service-error-classification": "3.329.0", + "@aws-sdk/service-error-classification": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32798,43 +31627,43 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.329.0.tgz", - "integrity": "sha512-8hLSmMCl8aw2++0Zuba8ELq8FkK6/VNyx470St201IpMn2GMbQMDl/rLolRKiTgji6wc+T3pOTidkJkz8/cIXA==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.342.0.tgz", + "integrity": "sha512-FWHiBi1xaebzmq3LJsizgd2LCix/bKHUTOjTeO6hEYny5DyrOl0liwIA0mqgvfgwIoMOF/l6FGg7kTfKtNgkEA==", "requires": { - "@aws-sdk/types": "3.329.0", + "@aws-sdk/types": "3.342.0", "bowser": "^2.11.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, "@aws-sdk/util-user-agent-node": { - "version": "3.329.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.329.0.tgz", - "integrity": "sha512-C50Zaeodc0+psEP+L4WpElrH8epuLWJPVN4hDOTORcM0cSoU2o025Ost9mbcU7UdoHNxF9vitLnzORGN9SHolg==", + "version": "3.342.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.342.0.tgz", + "integrity": "sha512-YMAhUar4CAB6hfUR72FH0sRqMBhPajDIhiKrZEOy7+qaWFdfb/t9DYi6p3PYIUZWK2vkESiDoX9Ays2xsp9rOQ==", "requires": { - "@aws-sdk/node-config-provider": "3.329.0", - "@aws-sdk/types": "3.329.0", + "@aws-sdk/node-config-provider": "3.342.0", + "@aws-sdk/types": "3.342.0", "tslib": "^2.5.0" }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32848,9 +31677,9 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -32863,9 +31692,9 @@ }, "dependencies": { "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -33449,16 +32278,20 @@ }, "@babel/plugin-syntax-bigint": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.8.0" } }, "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.12.13" } }, "@babel/plugin-syntax-class-static-block": { @@ -33585,17 +32418,21 @@ } }, "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "@babel/helper-plugin-utils": "^7.14.5" } }, "@babel/plugin-syntax-typescript": { - "version": "7.16.7", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.21.4.tgz", + "integrity": "sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.16.7" + "@babel/helper-plugin-utils": "^7.20.2" } }, "@babel/plugin-transform-arrow-functions": { @@ -34042,20 +32879,6 @@ "@babel/helper-plugin-utils": "^7.18.6" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, "@babel/plugin-transform-async-to-generator": { "version": "7.18.6", "dev": true, @@ -34192,6 +33015,8 @@ }, "@bcoe/v8-coverage": { "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, "@colors/colors": { @@ -34354,9 +33179,9 @@ } }, "@faker-js/faker": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.0.1.tgz", - "integrity": "sha512-kbh5MenpTN9U0B4QcOI1NoTPlZHniSYQ3BHbhAnPjJGAmmFqxoxTE4sGdpy7ZOO9038DPGCuhXyMkjOr05uVwA==" + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-8.0.2.tgz", + "integrity": "sha512-Uo3pGspElQW91PCvKSIAXoEgAUlRnH29sX2/p89kg7sP1m2PzCufHINd0FhTXQf6DYGiUlVncdSPa2F9wxed2A==" }, "@hapi/hoek": { "version": "9.2.1" @@ -34403,6 +33228,8 @@ }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, "requires": { "camelcase": "^5.3.1", @@ -34414,12 +33241,16 @@ "dependencies": { "resolve-from": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true } } }, "@istanbuljs/schema": { - "version": "0.1.2", + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, "@jest/console": { @@ -34865,16 +33696,6 @@ "requires": { "has-flag": "^4.0.0" } - }, - "write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - } } } }, @@ -35425,23 +34246,52 @@ "version": "4.6.0", "dev": true }, + "@sinonjs/commons": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", + "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, "@sinonjs/fake-timers": { - "version": "10.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz", - "integrity": "sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.2.0.tgz", + "integrity": "sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==", "dev": true, "requires": { - "@sinonjs/commons": "^2.0.0" + "@sinonjs/commons": "^3.0.0" + } + }, + "@smithy/protocol-http": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-1.0.1.tgz", + "integrity": "sha512-9OrEn0WfOVtBNYJUjUAn9AOiJ4lzERCJJ/JeZs8E6yajTGxBaFRxUnNBHiNqoDJVg076hY36UmEnPx7xXrvUSg==", + "requires": { + "@smithy/types": "^1.0.0", + "tslib": "^2.5.0" }, "dependencies": { - "@sinonjs/commons": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-2.0.0.tgz", - "integrity": "sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==", - "dev": true, - "requires": { - "type-detect": "4.0.8" - } + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@smithy/types": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-1.0.0.tgz", + "integrity": "sha512-kc1m5wPBHQCTixwuaOh9vnak/iJm21DrSf9UK6yDE5S3mQQ4u11pqAUiKWnlrZnYkeLfAI9UEHj9OaMT1v5Umg==", + "requires": { + "tslib": "^2.5.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" } } }, @@ -35899,21 +34749,6 @@ "resolved": "https://registry.npmjs.org/@stoplight/yaml-ast-parser/-/yaml-ast-parser-0.0.48.tgz", "integrity": "sha512-sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==" }, - "@stylelint/postcss-css-in-js": { - "version": "0.37.2", - "dev": true, - "requires": { - "@babel/core": ">=7.9.0" - } - }, - "@stylelint/postcss-markdown": { - "version": "0.36.2", - "dev": true, - "requires": { - "remark": "^13.0.0", - "unist-util-find-all-after": "^3.0.2" - } - }, "@szmarczak/http-timer": { "version": "4.0.6", "dev": true, @@ -35944,27 +34779,31 @@ "version": "1.7.0" }, "@types/babel__core": { - "version": "7.1.20", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.20.tgz", - "integrity": "sha512-PVb6Bg2QuscZ30FvOU7z4guG6c926D9YRvOxEaelzndpMsvP+YM74Q/dAFASpg2l6+XLalxSGxcq/lrgYWZtyQ==", + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz", + "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==", "dev": true, "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "@types/babel__generator": { - "version": "7.6.2", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "dev": true, "requires": { "@babel/types": "^7.0.0" } }, "@types/babel__template": { - "version": "7.4.0", + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", "dev": true, "requires": { "@babel/parser": "^7.1.0", @@ -35972,10 +34811,12 @@ } }, "@types/babel__traverse": { - "version": "7.11.0", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.0.tgz", + "integrity": "sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==", "dev": true, "requires": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.20.7" } }, "@types/bcrypt": { @@ -36146,7 +34987,9 @@ } }, "@types/graceful-fs": { - "version": "4.1.4", + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz", + "integrity": "sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==", "dev": true, "requires": { "@types/node": "*" @@ -36267,13 +35110,6 @@ "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", "dev": true }, - "@types/mdast": { - "version": "3.0.3", - "dev": true, - "requires": { - "@types/unist": "*" - } - }, "@types/mime": { "version": "3.0.1", "dev": true @@ -36282,10 +35118,6 @@ "version": "3.0.5", "dev": true }, - "@types/minimist": { - "version": "1.2.1", - "dev": true - }, "@types/mongodb": { "version": "3.6.20", "requires": { @@ -36309,10 +35141,6 @@ "@types/node": "*" } }, - "@types/normalize-package-data": { - "version": "2.4.0", - "dev": true - }, "@types/opossum": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/@types/opossum/-/opossum-6.2.3.tgz", @@ -36322,12 +35150,10 @@ "@types/node": "*" } }, - "@types/parse-json": { - "version": "4.0.0", - "dev": true - }, "@types/prettier": { - "version": "2.1.5", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", "dev": true }, "@types/promise-retry": { @@ -36473,10 +35299,6 @@ "version": "2.0.3", "dev": true }, - "@types/unist": { - "version": "2.0.3", - "dev": true - }, "@types/uuid": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.0.tgz", @@ -37107,8 +35929,9 @@ "version": "0.2.1" }, "anymatch": { - "version": "3.1.1", - "dev": true, + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -37295,10 +36118,6 @@ } } }, - "arrify": { - "version": "1.0.1", - "dev": true - }, "asap": { "version": "2.0.6", "dev": true @@ -37430,25 +36249,6 @@ } } }, - "autoprefixer": { - "version": "9.8.6", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "4.1.0", - "dev": true - } - } - }, "available-typed-arrays": { "version": "1.0.5" }, @@ -37760,7 +36560,9 @@ "dev": true }, "babel-preset-current-node-syntax": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", "dev": true, "requires": { "@babel/plugin-syntax-async-generators": "^7.8.4", @@ -37787,10 +36589,6 @@ "babel-preset-current-node-syntax": "^1.0.0" } }, - "bail": { - "version": "1.0.5", - "dev": true - }, "balanced-match": { "version": "1.0.0" }, @@ -38110,6 +36908,8 @@ }, "bser": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, "requires": { "node-int64": "^0.4.0" @@ -38314,15 +37114,6 @@ "version": "5.3.1", "dev": true }, - "camelcase-keys": { - "version": "6.2.2", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - } - }, "caniuse-api": { "version": "3.0.0", "dev": true, @@ -38379,18 +37170,8 @@ }, "char-regex": { "version": "1.0.2", - "dev": true - }, - "character-entities": { - "version": "1.2.4", - "dev": true - }, - "character-entities-legacy": { - "version": "1.1.4", - "dev": true - }, - "character-reference-invalid": { - "version": "1.1.4", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true }, "charset": { @@ -38413,15 +37194,6 @@ "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" - }, - "dependencies": { - "anymatch": { - "version": "3.1.2", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - } } }, "chownr": { @@ -38623,19 +37395,6 @@ "clone": { "version": "2.1.2" }, - "clone-regexp": { - "version": "2.2.0", - "dev": true, - "requires": { - "is-regexp": "^2.0.0" - }, - "dependencies": { - "is-regexp": { - "version": "2.1.0", - "dev": true - } - } - }, "clone-response": { "version": "1.0.3", "dev": true, @@ -38645,6 +37404,8 @@ }, "co": { "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true }, "coa": { @@ -38671,6 +37432,8 @@ }, "collect-v8-coverage": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", + "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", "dev": true }, "collection-visit": { @@ -38709,10 +37472,6 @@ "color-support": { "version": "1.1.3" }, - "colorette": { - "version": "1.2.1", - "dev": true - }, "colorspace": { "version": "1.1.4", "requires": { @@ -39221,33 +37980,6 @@ "vary": "^1" } }, - "cosmiconfig": { - "version": "7.0.0", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "dependencies": { - "parse-json": { - "version": "5.1.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-type": { - "version": "4.0.0", - "dev": true - } - } - }, "coveralls": { "version": "3.1.1", "dev": true, @@ -39676,20 +38408,6 @@ "version": "1.2.0", "dev": true }, - "decamelize-keys": { - "version": "1.1.0", - "dev": true, - "requires": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "dependencies": { - "map-obj": { - "version": "1.0.1", - "dev": true - } - } - }, "decimal.js": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", @@ -39733,7 +38451,9 @@ "version": "0.1.3" }, "deepmerge": { - "version": "4.2.2", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true }, "defer-to-connect": { @@ -39898,6 +38618,8 @@ }, "detect-newline": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, "detective": { @@ -39989,19 +38711,6 @@ "version": "2.0.1", "dev": true }, - "domhandler": { - "version": "2.4.2", - "dev": true, - "requires": { - "domelementtype": "1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "dev": true - } - } - }, "dompurify": { "version": "2.3.9", "dev": true @@ -41416,15 +40125,10 @@ } } }, - "execall": { - "version": "2.0.0", - "dev": true, - "requires": { - "clone-regexp": "^2.1.0" - } - }, "exit": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", "dev": true }, "expand-brackets": { @@ -41757,10 +40461,6 @@ "strnum": "^1.0.5" } }, - "fastest-levenshtein": { - "version": "1.0.12", - "dev": true - }, "fastestsmallesttextencoderdecoder": { "version": "1.0.22", "resolved": "https://registry.npmjs.org/fastestsmallesttextencoderdecoder/-/fastestsmallesttextencoderdecoder-1.0.22.tgz", @@ -41778,7 +40478,9 @@ } }, "fb-watchman": { - "version": "2.0.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -42408,6 +41110,8 @@ }, "get-package-type": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true }, "get-port": { @@ -42518,17 +41222,6 @@ "slash": "^3.0.0" } }, - "globjoin": { - "version": "0.1.4", - "dev": true - }, - "gonzales-pe": { - "version": "4.3.0", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, "good-listener": { "version": "1.2.2", "requires": { @@ -42718,10 +41411,6 @@ "har-schema": "^2.0.0" } }, - "hard-rejection": { - "version": "2.1.0", - "dev": true - }, "has": { "version": "1.0.3", "requires": { @@ -42881,10 +41570,6 @@ "parse-passwd": "^1.0.0" } }, - "hosted-git-info": { - "version": "2.8.9", - "dev": true - }, "hot-shots": { "version": "9.3.0", "requires": { @@ -42942,10 +41627,6 @@ } } }, - "html-tags": { - "version": "3.1.0", - "dev": true - }, "htmlhint": { "version": "1.1.4", "dev": true, @@ -43019,37 +41700,6 @@ } } }, - "htmlparser2": { - "version": "3.10.1", - "dev": true, - "requires": { - "domelementtype": "^1.3.1", - "domhandler": "^2.3.0", - "domutils": "^1.5.1", - "entities": "^1.1.1", - "inherits": "^2.0.1", - "readable-stream": "^3.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.3.1", - "dev": true - }, - "entities": { - "version": "1.1.2", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, "http-cache-semantics": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", @@ -43201,10 +41851,6 @@ "module-details-from-path": "^1.0.3" } }, - "import-lazy": { - "version": "4.0.0", - "dev": true - }, "import-local": { "version": "3.0.2", "dev": true, @@ -43306,18 +41952,6 @@ } } }, - "is-alphabetical": { - "version": "1.0.4", - "dev": true - }, - "is-alphanumerical": { - "version": "1.0.4", - "dev": true, - "requires": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - } - }, "is-arguments": { "version": "1.1.1", "requires": { @@ -43397,10 +42031,6 @@ "version": "1.0.2", "dev": true }, - "is-decimal": { - "version": "1.0.4", - "dev": true - }, "is-descriptor": { "version": "0.1.6", "dev": true, @@ -43447,6 +42077,8 @@ }, "is-generator-fn": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true }, "is-generator-function": { @@ -43463,10 +42095,6 @@ "is-extglob": "^2.1.1" } }, - "is-hexadecimal": { - "version": "1.0.4", - "dev": true - }, "is-jquery-obj": { "version": "0.1.1", "dev": true @@ -43504,10 +42132,6 @@ "path-is-inside": "^1.0.1" } }, - "is-plain-obj": { - "version": "2.1.0", - "dev": true - }, "is-plain-object": { "version": "2.0.4", "dev": true, @@ -43572,10 +42196,6 @@ "version": "1.0.0", "dev": true }, - "is-unicode-supported": { - "version": "0.1.0", - "dev": true - }, "is-utf8": { "version": "0.2.1", "dev": true @@ -43642,6 +42262,8 @@ }, "istanbul-lib-report": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, "requires": { "istanbul-lib-coverage": "^3.0.0", @@ -43651,10 +42273,14 @@ "dependencies": { "has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, "make-dir": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, "requires": { "semver": "^6.0.0" @@ -43662,10 +42288,14 @@ }, "semver": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true }, "supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "requires": { "has-flag": "^4.0.0" @@ -43674,7 +42304,9 @@ } }, "istanbul-lib-source-maps": { - "version": "4.0.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -43683,7 +42315,9 @@ }, "dependencies": { "debug": { - "version": "4.3.1", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { "ms": "2.1.2" @@ -43691,6 +42325,8 @@ }, "source-map": { "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true } } @@ -43788,6 +42424,94 @@ } } }, + "jest-circus": { + "version": "29.5.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", + "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", + "dev": true, + "requires": { + "@jest/environment": "^29.5.0", + "@jest/expect": "^29.5.0", + "@jest/test-result": "^29.5.0", + "@jest/types": "^29.5.0", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.5.0", + "jest-matcher-utils": "^29.5.0", + "jest-message-util": "^29.5.0", + "jest-runtime": "^29.5.0", + "jest-snapshot": "^29.5.0", + "jest-util": "^29.5.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.5.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "jest-cli": { "version": "29.5.0", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.5.0.tgz", @@ -43929,43 +42653,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "jest-circus": { - "version": "29.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.5.0.tgz", - "integrity": "sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==", - "dev": true, - "requires": { - "@jest/environment": "^29.5.0", - "@jest/expect": "^29.5.0", - "@jest/test-result": "^29.5.0", - "@jest/types": "^29.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^29.5.0", - "jest-matcher-utils": "^29.5.0", - "jest-message-util": "^29.5.0", - "jest-runtime": "^29.5.0", - "jest-snapshot": "^29.5.0", - "jest-util": "^29.5.0", - "p-limit": "^3.1.0", - "pretty-format": "^29.5.0", - "pure-rand": "^6.0.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -44624,7 +43311,9 @@ } }, "jest-pnp-resolver": { - "version": "1.2.2", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true }, "jest-regex-util": { @@ -44690,12 +43379,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -45528,6 +44211,8 @@ }, "json-parse-even-better-errors": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, "json-pointer": { @@ -45711,10 +44396,8 @@ }, "kleur": { "version": "3.0.3", - "dev": true - }, - "known-css-properties": { - "version": "0.21.0", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true }, "koalas": { @@ -45743,6 +44426,8 @@ }, "leven": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, "levn": { @@ -45773,7 +44458,9 @@ "version": "1.1.5" }, "lines-and-columns": { - "version": "1.1.6", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true }, "lint-staged": { @@ -46305,10 +44992,6 @@ "long": { "version": "5.2.1" }, - "longest-streak": { - "version": "2.0.4", - "dev": true - }, "lower-case": { "version": "1.1.4", "dev": true @@ -46592,10 +45275,6 @@ "version": "0.2.2", "dev": true }, - "map-obj": { - "version": "4.2.1", - "dev": true - }, "map-visit": { "version": "1.0.0", "dev": true, @@ -46610,10 +45289,6 @@ "escape-string-regexp": "^1.0.5" } }, - "mathml-tag-names": { - "version": "2.1.3", - "dev": true - }, "md5-file": { "version": "5.0.0" }, @@ -46626,33 +45301,6 @@ "safe-buffer": "^5.1.2" } }, - "mdast-util-from-markdown": { - "version": "0.8.5", - "dev": true, - "requires": { - "@types/mdast": "^3.0.0", - "mdast-util-to-string": "^2.0.0", - "micromark": "~2.11.0", - "parse-entities": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, - "mdast-util-to-markdown": { - "version": "0.6.5", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "longest-streak": "^2.0.0", - "mdast-util-to-string": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.0.0", - "zwitch": "^1.0.0" - } - }, - "mdast-util-to-string": { - "version": "2.0.0", - "dev": true - }, "mdn-data": { "version": "2.0.4", "dev": true @@ -46672,58 +45320,6 @@ "version": "1.5.0", "optional": true }, - "meow": { - "version": "9.0.0", - "dev": true, - "requires": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize": "^1.2.0", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "dependencies": { - "hosted-git-info": { - "version": "4.0.2", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "normalize-package-data": { - "version": "3.0.2", - "dev": true, - "requires": { - "hosted-git-info": "^4.0.1", - "resolve": "^1.20.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - } - }, - "semver": { - "version": "7.3.5", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "type-fest": { - "version": "0.18.1", - "dev": true - }, - "yargs-parser": { - "version": "20.2.7", - "dev": true - } - } - }, "merge-descriptors": { "version": "1.0.1" }, @@ -46746,23 +45342,6 @@ "handler-agent": "0.2.0" } }, - "micromark": { - "version": "2.11.4", - "dev": true, - "requires": { - "debug": "^4.0.0", - "parse-entities": "^2.0.0" - }, - "dependencies": { - "debug": { - "version": "4.3.1", - "dev": true, - "requires": { - "ms": "2.1.2" - } - } - } - }, "micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", @@ -46816,10 +45395,6 @@ "version": "1.0.1", "dev": true }, - "min-indent": { - "version": "1.0.1", - "dev": true - }, "mini-css-extract-plugin": { "version": "0.5.0", "dev": true, @@ -46857,21 +45432,6 @@ "minimist": { "version": "1.2.6" }, - "minimist-options": { - "version": "4.1.0", - "dev": true, - "requires": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "dev": true - } - } - }, "minipass": { "version": "3.1.3", "requires": { @@ -47422,6 +45982,8 @@ }, "node-int64": { "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", "dev": true }, "node-jose": { @@ -47580,27 +46142,9 @@ "abbrev": "1" } }, - "normalize-package-data": { - "version": "2.5.0", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, "normalize-path": { "version": "3.0.0" }, - "normalize-range": { - "version": "0.1.2", - "dev": true - }, - "normalize-selector": { - "version": "0.2.0", - "dev": true - }, "normalize-url": { "version": "3.3.0", "dev": true @@ -47638,10 +46182,6 @@ "boolbase": "~1.0.0" } }, - "num2fraction": { - "version": "1.2.2", - "dev": true - }, "number-is-nan": { "version": "1.0.1" }, @@ -47966,18 +46506,6 @@ "safe-buffer": "^5.1.1" } }, - "parse-entities": { - "version": "2.0.0", - "dev": true, - "requires": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - } - }, "parse-github-url": { "version": "1.0.2", "dev": true @@ -48334,24 +46862,6 @@ "postcss": "^7.0.0" } }, - "postcss-html": { - "version": "0.36.0", - "dev": true, - "requires": { - "htmlparser2": "^3.10.0" - } - }, - "postcss-less": { - "version": "3.1.4", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "postcss-media-query-parser": { - "version": "0.2.3", - "dev": true - }, "postcss-merge-longhand": { "version": "4.0.11", "dev": true, @@ -48578,32 +47088,6 @@ "postcss-value-parser": "^3.0.0" } }, - "postcss-resolve-nested-selector": { - "version": "0.1.1", - "dev": true - }, - "postcss-safe-parser": { - "version": "4.0.2", - "dev": true, - "requires": { - "postcss": "^7.0.26" - } - }, - "postcss-sass": { - "version": "0.4.4", - "dev": true, - "requires": { - "gonzales-pe": "^4.3.0", - "postcss": "^7.0.21" - } - }, - "postcss-scss": { - "version": "2.1.1", - "dev": true, - "requires": { - "postcss": "^7.0.6" - } - }, "postcss-selector-parser": { "version": "6.0.2", "dev": true, @@ -48622,10 +47106,6 @@ "svgo": "^1.0.0" } }, - "postcss-syntax": { - "version": "0.36.2", - "dev": true - }, "postcss-unique-selectors": { "version": "4.0.1", "dev": true, @@ -48749,12 +47229,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true - }, - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true } } }, @@ -48802,7 +47276,9 @@ } }, "prompts": { - "version": "2.4.0", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, "requires": { "kleur": "^3.0.3", @@ -49030,10 +47506,6 @@ "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, - "quick-lru": { - "version": "4.0.1", - "dev": true - }, "random-bytes": { "version": "1.0.0" }, @@ -49073,6 +47545,12 @@ "strip-json-comments": "~2.0.1" } }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, "read-file-relative": { "version": "1.2.0", "dev": true, @@ -49080,47 +47558,6 @@ "callsite": "^1.0.0" } }, - "read-pkg-up": { - "version": "7.0.1", - "dev": true, - "requires": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "dependencies": { - "parse-json": { - "version": "5.0.0", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - "lines-and-columns": "^1.1.6" - } - }, - "read-pkg": { - "version": "5.2.0", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "type-fest": { - "version": "0.6.0", - "dev": true - } - } - }, - "type-fest": { - "version": "0.8.1", - "dev": true - } - } - }, "readable-stream": { "version": "2.3.7", "requires": { @@ -49164,14 +47601,6 @@ } } }, - "redent": { - "version": "3.0.0", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, "redeyed": { "version": "1.0.1", "requires": { @@ -49319,29 +47748,6 @@ "version": "0.2.7", "dev": true }, - "remark": { - "version": "13.0.0", - "dev": true, - "requires": { - "remark-parse": "^9.0.0", - "remark-stringify": "^9.0.0", - "unified": "^9.1.0" - } - }, - "remark-parse": { - "version": "9.0.0", - "dev": true, - "requires": { - "mdast-util-from-markdown": "^0.8.0" - } - }, - "remark-stringify": { - "version": "9.0.1", - "dev": true, - "requires": { - "mdast-util-to-markdown": "^0.6.0" - } - }, "remove-trailing-separator": { "version": "1.1.0", "dev": true, @@ -49505,6 +47911,12 @@ "version": "0.2.1", "dev": true }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true + }, "responselike": { "version": "2.0.1", "dev": true, @@ -49873,6 +48285,8 @@ }, "sisteransi": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", "dev": true }, "slash": { @@ -50175,34 +48589,6 @@ "version": "0.0.2-1", "dev": true }, - "spdx-correct": { - "version": "3.1.1", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "dev": true - }, - "specificity": { - "version": "0.4.1", - "dev": true - }, "split": { "version": "1.0.1", "requires": { @@ -50381,7 +48767,9 @@ "dev": true }, "string-length": { - "version": "4.0.1", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, "requires": { "char-regex": "^1.0.2", @@ -50389,14 +48777,18 @@ }, "dependencies": { "ansi-regex": { - "version": "5.0.0", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "strip-ansi": { - "version": "6.0.0", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "requires": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" } } } @@ -50438,13 +48830,6 @@ "version": "2.0.0", "dev": true }, - "strip-indent": { - "version": "3.0.0", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, "strip-json-comments": { "version": "2.0.1" }, @@ -50478,10 +48863,6 @@ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, - "style-search": { - "version": "0.1.0", - "dev": true - }, "stylehacks": { "version": "4.0.3", "dev": true, @@ -50502,197 +48883,6 @@ } } }, - "stylelint": { - "version": "13.13.1", - "dev": true, - "requires": { - "@stylelint/postcss-css-in-js": "^0.37.2", - "@stylelint/postcss-markdown": "^0.36.2", - "autoprefixer": "^9.8.6", - "balanced-match": "^2.0.0", - "chalk": "^4.1.1", - "cosmiconfig": "^7.0.0", - "debug": "^4.3.1", - "execall": "^2.0.0", - "fast-glob": "^3.2.5", - "fastest-levenshtein": "^1.0.12", - "file-entry-cache": "^6.0.1", - "get-stdin": "^8.0.0", - "global-modules": "^2.0.0", - "globby": "^11.0.3", - "globjoin": "^0.1.4", - "html-tags": "^3.1.0", - "ignore": "^5.1.8", - "import-lazy": "^4.0.0", - "imurmurhash": "^0.1.4", - "known-css-properties": "^0.21.0", - "lodash": "^4.17.21", - "log-symbols": "^4.1.0", - "mathml-tag-names": "^2.1.3", - "meow": "^9.0.0", - "micromatch": "^4.0.4", - "normalize-selector": "^0.2.0", - "postcss": "^7.0.35", - "postcss-html": "^0.36.0", - "postcss-less": "^3.1.4", - "postcss-media-query-parser": "^0.2.3", - "postcss-resolve-nested-selector": "^0.1.1", - "postcss-safe-parser": "^4.0.2", - "postcss-sass": "^0.4.4", - "postcss-scss": "^2.1.1", - "postcss-selector-parser": "^6.0.5", - "postcss-syntax": "^0.36.2", - "postcss-value-parser": "^4.1.0", - "resolve-from": "^5.0.0", - "slash": "^3.0.0", - "specificity": "^0.4.1", - "string-width": "^4.2.2", - "strip-ansi": "^6.0.0", - "style-search": "^0.1.0", - "sugarss": "^2.0.0", - "svg-tags": "^1.0.0", - "table": "^6.6.0", - "v8-compile-cache": "^2.3.0", - "write-file-atomic": "^3.0.3" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "balanced-match": { - "version": "2.0.0", - "dev": true - }, - "chalk": { - "version": "4.1.1", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "dev": true - }, - "debug": { - "version": "4.3.1", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "get-stdin": { - "version": "8.0.0", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true - }, - "log-symbols": { - "version": "4.1.0", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "postcss-selector-parser": { - "version": "6.0.5", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "dev": true - }, - "resolve-from": { - "version": "5.0.0", - "dev": true - }, - "string-width": { - "version": "4.2.2", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.2.0", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "v8-compile-cache": { - "version": "2.3.0", - "dev": true - } - } - }, - "stylelint-config-prettier": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz", - "integrity": "sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==", - "dev": true - }, - "stylelint-config-recommended": { - "version": "5.0.0", - "dev": true - }, - "stylelint-config-standard": { - "version": "22.0.0", - "dev": true, - "requires": { - "stylelint-config-recommended": "^5.0.0" - } - }, - "stylelint-prettier": { - "version": "1.2.0", - "dev": true, - "requires": { - "prettier-linter-helpers": "^1.0.0" - } - }, - "sugarss": { - "version": "2.0.0", - "dev": true, - "requires": { - "postcss": "^7.0.2" - } - }, "superagent": { "version": "8.0.6", "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.0.6.tgz", @@ -50775,10 +48965,6 @@ "version": "1.0.0", "dev": true }, - "svg-tags": { - "version": "1.0.0", - "dev": true - }, "svgo": { "version": "1.3.2", "dev": true, @@ -51034,6 +49220,8 @@ }, "test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, "requires": { "@istanbuljs/schema": "^0.1.2", @@ -51760,17 +49948,9 @@ "version": "1.2.2", "dev": true }, - "trim-newlines": { - "version": "3.0.1", - "dev": true - }, "triple-beam": { "version": "1.3.0" }, - "trough": { - "version": "1.0.5", - "dev": true - }, "truncate-utf8-bytes": { "version": "1.0.2", "dev": true, @@ -52070,13 +50250,6 @@ "version": "0.0.6", "dev": true }, - "typedarray-to-buffer": { - "version": "3.1.5", - "dev": true, - "requires": { - "is-typedarray": "^1.0.0" - } - }, "typescript": { "version": "4.9.4", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", @@ -52159,18 +50332,6 @@ "version": "2.1.0", "dev": true }, - "unified": { - "version": "9.2.1", - "dev": true, - "requires": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - } - }, "union-value": { "version": "1.0.1", "dev": true, @@ -52203,24 +50364,6 @@ "imurmurhash": "^0.1.4" } }, - "unist-util-find-all-after": { - "version": "3.0.2", - "dev": true, - "requires": { - "unist-util-is": "^4.0.0" - } - }, - "unist-util-is": { - "version": "4.1.0", - "dev": true - }, - "unist-util-stringify-position": { - "version": "2.0.3", - "dev": true, - "requires": { - "@types/unist": "^2.0.2" - } - }, "universalify": { "version": "0.1.2" }, @@ -52426,14 +50569,6 @@ "convert-source-map": "^1.6.0" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "validate.io-array": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/validate.io-array/-/validate.io-array-1.0.6.tgz", @@ -52485,24 +50620,6 @@ "extsprintf": "^1.2.0" } }, - "vfile": { - "version": "4.2.1", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - } - }, - "vfile-message": { - "version": "2.0.4", - "dev": true, - "requires": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - } - }, "vm-browserify": { "version": "1.1.2", "dev": true @@ -53340,13 +51457,13 @@ "version": "1.0.2" }, "write-file-atomic": { - "version": "3.0.3", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, "requires": { "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "signal-exit": "^3.0.7" } }, "ws": { @@ -53476,10 +51593,6 @@ "version": "3.20.2", "resolved": "https://registry.npmjs.org/zod/-/zod-3.20.2.tgz", "integrity": "sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==" - }, - "zwitch": { - "version": "1.0.5", - "dev": true } } } diff --git a/package.json b/package.json index 7a358b1c94..d0a5b44208 100644 --- a/package.json +++ b/package.json @@ -35,18 +35,15 @@ "build": "npm run clean && concurrently \"npm:build:*\"", "build:frontend": "npm run --prefix frontend build", "build:backend": "tsc -p tsconfig.build.json && npm run copyfiles:backend", - "copyfiles:backend": "copyfiles -e src/public/**/*.html -u 1 src/**/*.html dist/backend/src", + "copyfiles:backend": "copyfiles -u 1 src/**/*.html dist/backend/src", "clean": "rimraf dist/", "start": "node -r dotenv/config src/app/server.js", "dev": "concurrently -k -p \"[{name}]\" -n \"api,client\" -c \"yellow.bold,green.bold\" \"docker-compose up\" \"npm run dev:frontend\"", "dev:backend": "tsnd --poll --respawn --transpile-only --inspect=0.0.0.0 --exit-child -r dotenv/config -- src/app/server.ts", "dev:frontend": "npm run --prefix frontend start", - "lint-code": "eslint src/ --quiet --fix", - "lint-style": "stylelint '*/**/*.css' --quiet --fix", - "lint-html": "htmlhint && prettier --write './src/public/**/*.html' --ignore-path './dist/**' --loglevel silent", - "lint": "npm run lint-code && npm run lint-style && npm run lint-html", + "lint": "eslint src/ --quiet --fix", "lint:frontend": "npm run --prefix frontend lint", - "lint-ci": "concurrently \"eslint src/ --quiet\" \"stylelint '*/**/*.css' --quiet\" \"htmlhint\" \"prettier --c './src/public/**/*.html' --ignore-path './dist/**'\"", + "lint-ci": "eslint src/ --quiet", "version": "auto-changelog -p && git add CHANGELOG.md", "prepare": "husky install", "pre-commit": "lint-staged", @@ -267,10 +264,6 @@ "regenerator": "^0.14.10", "rimraf": "^4.4.0", "stripe-event-types": "^2.3.0", - "stylelint": "^13.13.1", - "stylelint-config-prettier": "^9.0.5", - "stylelint-config-standard": "^22.0.0", - "stylelint-prettier": "^1.2.0", "supertest": "^6.3.3", "supertest-session": "^4.1.0", "terser-webpack-plugin": "^1.2.3", diff --git a/src/app/loaders/express/index.ts b/src/app/loaders/express/index.ts index ab8b8bbfe9..ca33abbfb2 100644 --- a/src/app/loaders/express/index.ts +++ b/src/app/loaders/express/index.ts @@ -12,7 +12,6 @@ import { ExamplesRouter } from '../../modules/examples/examples.routes' import { AdminFormsRouter } from '../../modules/form/admin-form/admin-form.routes' import { PublicFormRouter } from '../../modules/form/public-form/public-form.routes' import { FrontendRouter } from '../../modules/frontend/frontend.routes' -import { FrontendRouter as OldFrontendRouter } from '../../modules/frontend-old/frontend.routes' import { MYINFO_ROUTER_PREFIX } from '../../modules/myinfo/myinfo.constants' import { MyInfoRouter } from '../../modules/myinfo/myinfo.routes' import { SgidRouter } from '../../modules/sgid/sgid.routes' @@ -113,7 +112,6 @@ const loadExpressApp = async (connection: Connection) => { app.use(IntranetMiddleware.logIntranetUsage) // Deprecated routes - app.use('/frontend', OldFrontendRouter) app.use('/auth', AuthRouter) app.use('/transaction', VfnRouter) app.use('/examples', ExamplesRouter) diff --git a/src/app/modules/frontend-old/__tests__/frontend.controller.spec.ts b/src/app/modules/frontend-old/__tests__/frontend.controller.spec.ts deleted file mode 100644 index a172832746..0000000000 --- a/src/app/modules/frontend-old/__tests__/frontend.controller.spec.ts +++ /dev/null @@ -1,100 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -import expressHandler from '__tests__/unit/backend/helpers/jest-express' -import { Request } from 'express' -import { StatusCodes } from 'http-status-codes' - -import * as FrontendServerController from '../frontend.controller' - -describe('frontend.server.controller', () => { - afterEach(() => jest.clearAllMocks()) - const mockRes = expressHandler.mockResponse() - const mockReq = expressHandler.mockRequest({ - others: { - app: { - locals: { - GATrackingID: 'abc', - appName: 'xyz', - environment: 'efg', - }, - }, - }, - query: { - redirectPath: 'formId?fieldId1=abc&fieldId2=xyz', - }, - }) - const mockBadReq = { - get: jest.fn().mockImplementation(() => 'abc'), - } as unknown as Request - describe('datalayer', () => { - it('should return the correct response when the request is valid', () => { - FrontendServerController.addGoogleAnalyticsData( - mockReq, - mockRes, - jest.fn(), - ) - expect(mockRes.send).toHaveBeenCalledWith( - expect.stringContaining("'app_name': 'xyz'"), - ) - expect(mockRes.send).toHaveBeenCalledWith( - expect.stringContaining("'config', 'abc'"), - ) - expect(mockRes.type).toHaveBeenCalledWith('text/javascript') - expect(mockRes.status).toHaveBeenCalledWith(StatusCodes.OK) - }) - it('should return BAD_REQUEST if the request is not valid', () => { - FrontendServerController.addGoogleAnalyticsData( - mockBadReq, - mockRes, - jest.fn(), - ) - expect(mockRes.status).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) - }) - }) - - describe('environment', () => { - it('should return the correct response when the request is valid', () => { - FrontendServerController.addEnvVarData(mockReq, mockRes, jest.fn()) - expect(mockRes.send).toHaveBeenCalledWith('efg') - expect(mockRes.type).toHaveBeenCalledWith('text/javascript') - expect(mockRes.status).toHaveBeenCalledWith(StatusCodes.OK) - }) - it('should return BAD_REQUEST if the request is not valid', () => { - FrontendServerController.addEnvVarData(mockBadReq, mockRes, jest.fn()) - expect(mockRes.status).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) - }) - }) - - describe('redirectLayer', () => { - it('should return the correct response when the request is valid', () => { - const mockReqModified = expressHandler.mockRequest({ - // Test other special characters - query: { - redirectPath: 'formId?fieldId1=abc&fieldId2=<>\'"', - }, - }) - const redirectString = - 'window.location.hash = "#!/formId?fieldId1=abc&fieldId2=<>'"' - // Note this is different from mockReqModified.query.redirectPath as - // there are html-encoded characters - FrontendServerController._generateRedirectUrl( - mockReqModified, - mockRes, - jest.fn(), - ) - expect(mockRes.send).toHaveBeenCalledWith( - expect.stringContaining(redirectString), - ) - expect(mockRes.type).toHaveBeenCalledWith('text/javascript') - expect(mockRes.status).toHaveBeenCalledWith(StatusCodes.OK) - }) - it('should return BAD_REQUEST if the request is not valid', () => { - FrontendServerController._generateRedirectUrl( - // @ts-ignore - mockBadReq, - mockRes, - jest.fn(), - ) - expect(mockRes.status).toHaveBeenCalledWith(StatusCodes.BAD_REQUEST) - }) - }) -}) diff --git a/src/app/modules/frontend-old/frontend.controller.ts b/src/app/modules/frontend-old/frontend.controller.ts deleted file mode 100644 index cb2165cdbe..0000000000 --- a/src/app/modules/frontend-old/frontend.controller.ts +++ /dev/null @@ -1,172 +0,0 @@ -import ejs from 'ejs' -import { StatusCodes } from 'http-status-codes' - -import { ClientEnvVars } from '../../../../shared/types/core' -import { createLoggerWithLabel } from '../../config/logger' -import { createReqMeta } from '../../utils/request' -import { ControllerHandler } from '../core/core.types' - -import { validateGenerateRedirectParams } from './frontend.middlewares' -import { getClientEnvVars } from './frontend.service' - -const logger = createLoggerWithLabel(module) - -/** - * Handler for GET /frontend/datalayer endpoint. - * @param req - Express request object - * @param res - Express response object - * @returns Templated Javascript code for the frontend to initialise Google Tag Manager - */ -export const addGoogleAnalyticsData: ControllerHandler< - unknown, - string | { message: string } -> = (req, res) => { - const js = ` - window.dataLayer = window.dataLayer || []; - function gtag(){dataLayer.push(arguments);} - gtag('js', new Date()); - gtag('config', '<%= GATrackingID%>', { - 'send_page_view': false, - 'app_name': '<%= appName%>', - 'cookie_flags': 'samesite=none;secure', - }); - ` - try { - const ejsRendered = ejs.render(js, req.app.locals) - return res.type('text/javascript').status(StatusCodes.OK).send(ejsRendered) - } catch (err) { - logger.error({ - message: 'Error returning datalayer', - meta: { - action: 'datalayer', - ...createReqMeta(req), - }, - error: err, - }) - return res.status(StatusCodes.BAD_REQUEST).json({ - message: 'There was an unexpected error. Please refresh and try again.', - }) - } -} - -/** - * Handler for GET /frontend/environment endpoint. - * @param req - Express request object - * @param res - Express response object - * @returns Templated Javascript code with environment variables for the frontend - */ -export const addEnvVarData: ControllerHandler = ( - req, - res, -) => { - try { - return res - .type('text/javascript') - .status(StatusCodes.OK) - .send(req.app.locals.environment) - } catch (err) { - logger.error({ - message: 'Error returning environment', - meta: { - action: 'environment', - ...createReqMeta(req), - }, - error: err, - }) - return res.status(StatusCodes.BAD_REQUEST).json({ - message: 'There was an unexpected error. Please refresh and try again.', - }) - } -} - -/** - * Handler for GET /frontend/env endpoint. - * @returns the environment variables needed to hydrate the frontend. - */ -export const handleGetEnvironment: ControllerHandler = ( - _req, - res, -) => { - return res.json(getClientEnvVars()) -} - -/** - * Handler for GET /frontend/redirect endpoint. - * @param req - Express request object - * @param res - Express response object - * @returns Templated Javascript code for the frontend that redirects to specific form url - */ -export const _generateRedirectUrl: ControllerHandler< - unknown, - string | { message: string }, - unknown, - { redirectPath: string } -> = (req, res) => { - const js = ` - // Update hash to match form id - window.location.hash = "#!/<%= redirectPath%>" - // Change url from form.gov.sg/123#!123 to form.gov.sg/#!/123 - window.history.replaceState("","", "/#!/<%= redirectPath%>") - ` - // If there are multiple query params, '&' is html-encoded as '&', which is not valid URI - // Prefer to replace just '&' instead of using <%- to output unescaped values into the template - // As this could potentially introduce security vulnerability - // See https://ejs.co/#docs for tags - try { - const ejsRendered = ejs.render(js, req.query).replace(/&/g, '&') - return res.type('text/javascript').status(StatusCodes.OK).send(ejsRendered) - } catch (err) { - logger.error({ - message: 'Error returning redirectLayer', - meta: { - action: 'redirectlayer', - ...createReqMeta(req), - }, - error: err, - }) - return res.status(StatusCodes.BAD_REQUEST).json({ - message: 'There was an unexpected error. Please refresh and try again.', - }) - } -} - -export const generateRedirectUrl = [ - validateGenerateRedirectParams, - _generateRedirectUrl, -] as ControllerHandler[] - -// Duplicated here since the feature manager is being deprecated. -// TODO (#2147): delete this. -enum FeatureNames { - Captcha = 'captcha', - GoogleAnalytics = 'google-analytics', - Sentry = 'sentry', - Sms = 'sms', - SpcpMyInfo = 'spcp-myinfo', - VerifiedFields = 'verified-fields', - WebhookVerifiedContent = 'webhook-verified-content', -} - -/** - * Handler for GET /frontend/features endpoint. - * @param _req - Express request object - * @param res - Express response object - * @returns Current featureManager states - * @deprecated as the feature manager has been deprecated. This endpoint - * now hardcodes the feature states to support old clients. - * TODO (#2147): delete this - */ -export const showFeaturesStates: ControllerHandler< - unknown, - Record -> = (_req, res) => { - return res.json({ - [FeatureNames.Captcha]: true, - [FeatureNames.Sms]: true, - [FeatureNames.SpcpMyInfo]: true, - [FeatureNames.VerifiedFields]: true, - [FeatureNames.GoogleAnalytics]: true, - [FeatureNames.WebhookVerifiedContent]: true, - [FeatureNames.Sentry]: true, - }) -} diff --git a/src/app/modules/frontend-old/frontend.middlewares.ts b/src/app/modules/frontend-old/frontend.middlewares.ts deleted file mode 100644 index f1a7699724..0000000000 --- a/src/app/modules/frontend-old/frontend.middlewares.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { celebrate, Joi, Segments } from 'celebrate' - -export const validateGenerateRedirectParams = celebrate({ - [Segments.QUERY]: { - redirectPath: Joi.string() - .regex(/^[a-fA-F0-9]{24}(\/(preview|template|use-template))?/) - .required(), - }, -}) diff --git a/src/app/modules/frontend-old/frontend.routes.ts b/src/app/modules/frontend-old/frontend.routes.ts deleted file mode 100644 index 7f97568823..0000000000 --- a/src/app/modules/frontend-old/frontend.routes.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { Router } from 'express' - -import * as FrontendServerController from './frontend.controller' - -/** @deprecated use client router in src/app/routes/api/v3/client/client.routes.ts instead. */ -export const FrontendRouter = Router() - -/** - * @deprecated use routes in src/app/routes/api/v3/client/client.routes.ts instead - * Generate the templated Javascript code for the frontend to initialise Google Tag Manager - * Code depends on whether googleAnalyticsFeature.isEnabled - * @route GET /frontend/datalayer - * @return 200 when code generation is successful - * @return 400 when code generation fails - */ -FrontendRouter.get( - '/datalayer', - FrontendServerController.addGoogleAnalyticsData, -) - -/** - * @deprecated use routes in src/app/routes/api/v3/client/client.routes.ts instead - * Generate the templated Javascript code with environment variables for the frontend - * @route GET /frontend/environment - * @return 200 when code generation is successful - * @return 400 when code generation fails - */ -FrontendRouter.get('/environment', FrontendServerController.addEnvVarData) - -/** - * @deprecated use routes in src/app/routes/api/v3/client/client.routes.ts instead - * Generate a json of current activated features - * @route GET /frontend/features - * @return json with featureManager.states - * @deprecated - * TODO (#2147): delete this - */ -FrontendRouter.get('/features', FrontendServerController.showFeaturesStates) - -/** - * @deprecated use routes in src/app/routes/api/v3/client/client.routes.ts instead - * Generate the javascript code to redirect to the correct url - * @route GET /frontend/redirect - * @return 200 when redirect code is successful - * @return 400 when redirect code fails - */ -FrontendRouter.get('/redirect', FrontendServerController.generateRedirectUrl) diff --git a/src/app/modules/frontend/frontend.controller.ts b/src/app/modules/frontend/frontend.controller.ts index 7fd4e8427a..dbbc31d6d5 100644 --- a/src/app/modules/frontend/frontend.controller.ts +++ b/src/app/modules/frontend/frontend.controller.ts @@ -3,13 +3,15 @@ import { escape } from 'html-escaper' import { get } from 'lodash' import path from 'path' -import { FormStatus } from '../../../../shared/types' +import { ClientEnvVars, FormStatus } from '../../../../shared/types' import { createLoggerWithLabel } from '../../config/logger' import { ControllerHandler } from '../core/core.types' import * as FormService from '../form/form.service' import { createMetatags } from '../form/public-form/public-form.service' import { RedirectParams } from '../form/public-form/public-form.types' +import { getClientEnvVars } from './frontend.service' + const logger = createLoggerWithLabel(module) const reactFrontendPath = path.resolve('dist/frontend') @@ -105,3 +107,14 @@ export const servePublicForm: ControllerHandler< export const serveDefault: ControllerHandler = (req, res, next) => { return serveFormReact(/* isPublic= */ false)(req, res, next) } + +/** + * Handler for GET /client/env endpoint. + * @returns the environment variables needed to hydrate the frontend. + */ +export const handleGetEnvironment: ControllerHandler = ( + _req, + res, +) => { + return res.json(getClientEnvVars()) +} diff --git a/src/app/modules/frontend-old/frontend.service.ts b/src/app/modules/frontend/frontend.service.ts similarity index 100% rename from src/app/modules/frontend-old/frontend.service.ts rename to src/app/modules/frontend/frontend.service.ts diff --git a/src/app/routes/api/v3/client/client.routes.ts b/src/app/routes/api/v3/client/client.routes.ts index df35d9f09d..501035664e 100644 --- a/src/app/routes/api/v3/client/client.routes.ts +++ b/src/app/routes/api/v3/client/client.routes.ts @@ -1,50 +1,12 @@ import { Router } from 'express' -import * as FrontendServerController from '../../../../modules/frontend-old/frontend.controller' +import * as FrontendController from '../../../../modules/frontend/frontend.controller' export const ClientRouter = Router() -/** - * Generate the templated Javascript code for the frontend to initialise Google Tag Manager - * Code depends on whether googleAnalyticsFeature.isEnabled - * @route GET /api/v3/client/analytics/google - * @return 200 when code generation is successful - * @return 400 when code generation fails - */ -ClientRouter.get( - '/analytics/google', - FrontendServerController.addGoogleAnalyticsData, -) - -/** - * @deprecated use '/env' endpoint instead. - * Generate the templated Javascript code with environment variables for the frontend - * @route GET /api/v3/client/environment - * @return 200 when code generation is successful - * @return 400 when code generation fails - */ -ClientRouter.get('/environment', FrontendServerController.addEnvVarData) - /** * Retrieve the environment variables for the frontend. * @route GET /api/v3/client/env * @return 200 with environment variables needed for the client */ -ClientRouter.get('/env', FrontendServerController.handleGetEnvironment) - -/** - * Generate a json of current activated features - * @route GET /api/v3/client/features - * @return json with featureManager.states - * @deprecated - * TODO (#2147): delete this - */ -ClientRouter.get('/features', FrontendServerController.showFeaturesStates) - -/** - * Generate the javascript code to redirect to the correct url - * @route GET /api/v3/client/redirect - * @return 200 when redirect code is successful - * @return 400 when redirect code fails - */ -ClientRouter.get('/redirect', FrontendServerController.generateRedirectUrl) +ClientRouter.get('/env', FrontendController.handleGetEnvironment) diff --git a/src/app/views/index.server.view.html b/src/app/views/index.server.view.html deleted file mode 100644 index 431aff888e..0000000000 --- a/src/app/views/index.server.view.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - <%if (GATrackingID) { %> - - - - <% } %> - - - - <%if (redirectPath) { %> - - <% } %> - - <%= title %> - - - - - - - - - - - - - - - - - - - <% images.forEach(function (image) { %> - - <% }) %> - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - diff --git a/src/public/.eslintrc b/src/public/.eslintrc deleted file mode 100644 index 2b77b7e3b4..0000000000 --- a/src/public/.eslintrc +++ /dev/null @@ -1,106 +0,0 @@ -{ - "env": { - "browser": true, - "commonjs": true, - "jquery": true - }, - "parserOptions": { - "ecmaVersion": 2018 - }, - "overrides": [ - { - "files": ["*.js"], - "extends": ["plugin:angular/johnpapa"], - "globals": { - "angular": true - }, - "rules": { - "angular/controller-name": 1, - "angular/controller-as-route": 1, - "angular/controller-as": 1, - "angular/window-service": 1, - "angular/module-getter": 1, - "angular/no-run-logic": 1, - "angular/module-setter": 1, - "angular/file-name": "off", - "angular/function-type": 2, - "angular/document-service": 1, - "angular/timeout-service": 1, - "angular/interval-service": 1, - "angular/no-service-method": 0 - } - }, - { - "files": ["*.ts"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "sourceType": "module", - "ecmaFeatures": { - "modules": true - }, - "project": "tsconfig.json" - }, - "plugins": [ - "@typescript-eslint", - "import", - "simple-import-sort", - "typesafe" - ], - "extends": ["plugin:@typescript-eslint/recommended"], - "rules": { - // Rules for auto sort of imports - "simple-import-sort/imports": [ - "error", - { - "groups": [ - // Side effect imports. - ["^\\u0000"], - // Packages. - // Things that start with a letter (or digit or underscore), or - // `@` followed by a letter. - ["^@?\\w"], - // Root imports - ["^(src)(/.*|$)"], - ["^(tests)(/.*|$)"], - // Parent imports. Put `..` last. - ["^\\.\\.(?!/?$)", "^\\.\\./?$"], - // Other relative imports. Put same-folder imports and `.` last. - ["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"] - ] - } - ], - "sort-imports": "off", - "import/order": "off", - "import/first": "error", - "import/newline-after-import": "error", - "import/no-duplicates": "error", - "@typescript-eslint/no-floating-promises": 2, - "@typescript-eslint/no-unused-vars": 2, - "typesafe/no-throw-sync-func": "warn" - } - }, - { - "files": ["*.test.ts"], - "extends": ["plugin:jest/recommended"], - "rules": { - "typesafe/no-await-without-trycatch": 0 - } - }, - { - "files": ["*.ts", "*.js"], - "excludedFiles": ["**/*.test.ts", "**/.test.js"], - "rules": { - "typesafe/no-await-without-trycatch": "warn" - } - }, - { - "files": ["**/__mocks__/*.js"], - "parserOptions": { - "sourceType": "module", - "ecmaFeatures": { - "modules": true - } - } - } - ] -} diff --git a/src/public/FormSG_Script_Installation_v1-4.docx b/src/public/FormSG_Script_Installation_v1-4.docx deleted file mode 100644 index 1df5ed92e44f2fccf329692832f6b98dc193ee65..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1234103 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%0AH8lTp6mwde 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 z z9R6`?bG*%pKeU zwKgzPfwG1jy#COfqa0|VHVDlGxSSjeo_6hw;I-#;>e{7cw<{*xoBPsvje=28ov$uf zKOu14oquaSyx%GJUOH$|ua{C=p+-#WZLFnTcZG5-cj@=`+xK2^ORq$wLCag__59(k z*M&R4Ov&umFT(FAf$*jFtMEh{MYJi5SnB zUKo!Cf9Zd}^5)=~Bhuaq-hYmkMt+TPz_cO3cx_0bXAbcj{NTzEw5h29cGNlPp{n=0i#=>sp-HW1pGTdRS$1|MWvk%g2oBJp@f(INNs_ z@3!rWxLGY`?kOP>v1!a6omyCCX>DF?GU5ujU-WGIps7TD;uw?Iw1*H;GIVg;?qldL zMumsSi%r+a(Nr5Z8{$q`II(S0Wok8<>xFeCTRQB!Qa|)K(tStV%sL+Hu<4K~&(YAR zxCnMpHw{6+P5v2sU_Hy)Y|F9 z3Q6Zzk2-(i{sLmqtAV#qfrBQhz#WGX)wZ2Gv@YulMPzM_uXFD4s#Pb(MHAwjOYN3P zlcGHALS|U6Zf!0D)g$=9V*rFVMYT@!4kA1$>w~?nT@gYX|8!;Fe%ck6qu~&41W>dS z{sG_tWW>$2nFuAO++ce&JQU@Kbd3#m3kUG;KF!xKCO{>#3QtVqY=hAtx0E= z3Lehmvola@k=~Orxb%t{*afS=L7DwaGt+Yejg!nuTI~q&Z zjXGgQjZQa2Fhz#=$XJ_3i6wvhy88S4o@aI``0wvlDLxQ)$^{GGnEk|pwWeoWc=+l$ z@CYabGBEq+)Be^AXm?-#FIXo@iI2xk+MqS?m#Zp)pdyJ+*WuJIpO%LUXe#0!{sqaR ztQ>?dJdTuA{CTMCP)X^ZC1oWg|&EKZik_@_`QI zn0+`nkc+P@jjzOw-{XU2ad@C7xj1kEfc^=hqQUnB>_ZU~%eL%`K~DyJz-Glk^L`Nd zLG%ZyAJ+e48OlJQ#HV}^1uCG$s+|Pq=vuX-6B0o)17{^BzO*t}S`h?Mv!t}*z~Qok zhszHhD#Id|RvbQ3UUH-Yip*4Qn&2Z1Zbp@rCN--u_zl*PP0v(#%xa{7vUl0p?<%j| z+`F9&;NcAq&RaF;A45Q7WrKo!PysPLby8G0k#W1P(^5^pu^qs!ezEL`t1L|{Kb%-m zl2`%fBd|n2CMw9z0obS{IzAqEn2e2MdrJy`{miCaiaQAhr`FQ==cQK z#1f8Z*ts#ePE4ITF>p>!hQLtsC{m&RhT4$K8qd7$C&>VQjs1KvZGVH+*(sN$HeEx}>C47EtMu z?vj!Q1tgb7TDnU?8l;;=y1To(JNM&$-tVsWeg4_~W6xgaoT+POu9@HTNQT;G9tpm3 zJ$qh9nqFmSK#Uq_&4l*4;+UP1$x2p|x}z!YI&ewy9kuc+=U=rECMi}c=e_~a#mT*? zAMP(1Hz*~@|Jd~HY98=23pS=66pjaS&xu<;tA!s%`5l!@xJjgJ8Q7ni!;o0E#Jky7 zn6mG6di#cpiaP8I%`W@nK}#FXo;q{N+{A54jO3edZn)I)Rj`6&x~he`rTXG*=xsCN zB4W;D|6YEl6r%kid|}<7zs<#bOB$V)Rbl6UDc{>PUTv*uTd$VQXf8;ks-$A>IKjzv zU+gJYj`=Vr*Yql?J;gXXb;&$pu=2|@f)C)MKWNNnZJfiOe5Cvz7k>UU%x*S%5XMr8 zCL1pts})=LfVC%Jt6J*N2B00&82CZ^Z62%MgHG{*Z_KdQuiQaO#1#3e@Skoyc&1Bl zO|KS_8W7VpTalhQlGqcnVUOp96QT&!^Q~6Td7k7Xds(1D){KS*y7@FWPSvndMoHx? zQW&-93l}8VqlHyLSEFH@L%r0*%ap2FRkccZEM$d7qo-qCPPpo3+JE+fjDP21s$|aV z&Sa{&EtM%9p{H?PyLp>+$qE#cbU%GSCo!QneJ@l&aA#n)c@^xMPOfv$5fVw@-2e8S zLE6A8aBJ^J#qoN~#npPJ5TVr(%GprCL}Qf5P(ZbVs0 z!%%!$PSMb!_H_fbf$5j}EJ5;{!y>dV<(C(kMnDYPNYgTq&7f#YA*jqJZGcb`8ixEG zIY643oFC(wnh0{pW;GS@;i)1~?m$}^{W}dpvXv(xQS+Ffn?7mz$7!!$P_G!~F;j3v zP_L{^AM_V;>!}n=x1fawohox@?oWQED!UNJin-|k8&(-B_Q~G>p*2P#xyQlg7r#bS zohL>9_FV~7`wD#UBggMrdYw}8D76Sz_c=N_NIm{3QOJ_23;_yKPutLmB#nRi{sE1H z;YsKS?)_(0LG~4I^Hk=wRfE6Fp~AB1D;8m7>t91Aw9%tQKZD>41|G)NX~LP1V0i@; z4k(u}nJTbc39bZ!lucE9wnjr9f}n9K&dW+-i+l+_8Im05s-~{LX_xYG*g}di;6n9h z1YHh)vvS}zs-V{mg!fMRC$Fz0w<**-SEE~8IQF;=#aeT#YH$|6&5gEvoqd|!Xw|F| z8(-r!+T`iEjX!K!+aJja?7z$OT{{(h8DgZ4Igi|`Wxk<@E!tmT;>;H}!`*kh6O_(# zPKZC3Zjj@pWa_XU34R-52L!MLAPH?p(=d z(26sD;{6l-5;}<-T=^MqrIhtBgv`82r6KV5sx~180ZkBBD+``uBK= zfk3|4gK+rn?^hN|zl|QWnfKrdpSkjM|VLrjA4;qm}fr z(O{;c=F1Ruhx_An%Wqfjvg{%S@mTvt#(1D207LGX#)`^_N-K}_g?4iwZCGn(&$Qo= z4DGcky{ngp?et+djq2}+TZZpe;RJMrW*_8QY^sRJ^6v-cT#h(@tigGF8(!9^fJjj@ z;2J}E*;*jYpl{!&;3PVJEYdRK;JM#vLJ(Zp+bW;*8h&RptI~@&^6Am(Y`myUqeXJ! z5o#gu*@_`p$!&Z1M;pUN&W7QW6obqvun4bx4XUoRnmNWdZP>%|D||}@E#4|;c45SK zR0yq4htL^f!`%BcVmnyvVfH}?CGGXkFE`6@O{L6?+BhifU*LxuB(@6nhS%OxAHtn% zF+m@YY3{oiCq763m0;i-elY<4}T+%nYbY-YJveXE_ zi*E9Q)r7Ur#Ge*wDgI3wtnIXnM+x(!5PQV=o9TDz%`VLR{tb4iyn3PdSq}wSnWc9W z!eNuTI4MyPR2#X8lm~%1y+A|k=MkjD_NVIm(n7yHHD?-@E35ZZ0ZNgXy{%`o$IP1O zsN2MeI-rbJ?Z*KcbhfqA2DkziRci^+G&X%Rl;4ao+W*IBsMXq;1mvpavLD~!s6fE( za7_Q4YXSjzc@7W(+9^g$D+=6j?Z79Wi>~(iNOtoNOVky|$c{MB#$TZE6V0cYqr17@ zz+z%ep!(YXm^`hk@bkBYMdjQdEU!BMMjohjtf*AW=bLUJ=j@>ti%3hVFEj@acnB`9 zkTXsN>#OcV$Vye6H>zdn7AjiS{VB@FV8%mlw(qR?1|et6<*d(1N#n=zrXujOP54Ay z9ERl5Fl>xFqpNNLPijP&Ddu1%ViGpnq)R1q`LbRM!b$yU=FNd;fGT`WywR6Qpndp9S1Ep z;amp#H7%}$H59b*iTHglsn!BCk;{(0W!<1M)?xttASfnGvaTEfE8mKgiA9Xy8X{~3 zFAtaW8WFf2-aoru-cJX@RDkzFoDk~{gWU$j|4E1YIdgR=wW%)^DtBAtfTiF zt7Pk*Yh8JsbNpq7$_%8oiM1QUH+LSZBl~Iqe&36R()6bGrM?eZ<$tnm9SN<$=v7ZO z#?ujiTMKXat7LT8WCvV>!osbWhzl9$$w#&>z@ZjW1)m<{)uJ>2uR!nsU>*$BgVK2N zCL4UXb#K)LFD}oRoi1Ot;Pc;y7Q=+rM{9fO1am0ZLw)o%#LAG_fO&b4p2A=6*yqZa zuov_(h=3DR7w;e$bZc*G{ql0%=|1Gl9*L{qQ0W399n2!&bJrx84TxfD#igOeB?vWs z#*56%fwL+O47)9B!#=)Z5e4tjBx1m%`ItwKiEv-T^X6xKJ=9bu*Ym#y67EamM*H=G=L<$2=wrxz+&$Kq!aQ;QtypTKG!o z3uLQ^9}kV81L0jI8G(Ppg-SSZ;!{e5r2gFGYy|Gi$wXu4%-DYkF(hFx9R7vFL`d<@ ziDV$jsUUfBEyNS|N(lnn`lapABmKQc8vScDLF)^e=M>iy`4H@T_$~1UgLB!Cec}&^ zaDY8N$j=TH4fBK+^AHU1j65|V*(ZRORVdYfj^4#pB==CU>!ljZh&Ol64>eyF;JWbCnk2f(*~56e{r-P1%s zl>;a1zRF-ca|-CWu(U?cR=a-aHLFV@1{0D#0USMEn?))G(4a}SnLT6q`Z;G@`V*@4 zbX0eQ;PDb^Xv|MJJos$tb>=HFPb2;QxYt9mI0DBIoKC8KpLeFxmfw0-=*n0hk5|gu zm>+)n@iWReV8Iq&=_T`de_~CToV)(upd>WXiV;ieXCW7%(kqszhH^taC}vT+Jqvh} ztSUepqvda5r97RN7nKx{CJN-%TK1jPu^MrJ$6Dx%g=X@f$n$3O*C z*2FjyA2T23_ke7LO~k@K>2n*%S--4=2~Q#b4TCcUK)GGgA@VZ57!V@BH2}~f`Q-HL zmFur(WE>WtL=xZ?GHkY;799(eXyc>pGI=CH6koP-GI!K5N4M|sOBg*oP{;bt+?teV zBGcvpM&d#8Y?5W1SA)R5&71M|%xkrU$ZCV%s+a{pWeju?R2F(;ufV`I}j zT=6R0592z8R7`r0caDEB6@h}8zL4U)UMUYyTKim8vNUf{t+uGh9sq-%lT}_%59<)fhZ2 zLr7?Y1+Qtt?ph)E1SX#uIvFNHN+G=IRrrQy&9nQ@RP30!cpEHLflR$uq#Gan?lVY# z)3>7$!JZE0FZF%c>r{YqGE&t`YUCS(nY*r5(GZ;dS)DLeSks-?QpJ&?CR;>vvzT~0 zj)b~`9wxl6W9cFqIy6Ecun}mejC?#^w4EA!tJn|bjj=B-pH^A)ZBJmP`MnU$>sWC; z{G6{+nZsMYY?7)Et3Lq>V1hmw0FgtS!?fHk&%`LUSKkQ+D{%X0pE!JlUMtD~PlXD? z-!Jxj4a7%W8%w#vrHNK4E37H=IvYR^uB`oh$jkh#;iOsir? zzRXhzI|12f6LD-*i9jtTzCuHjCzm>T*iL-#JNL<)sC%f5h{RHCY<6j?n#&E$xDU_m{);-Dwr=E*tfgc3Ct$!GaIID%ZC0Qxu%3eO*StlA4kxR7d`bwvE^k z>=UU>!R6c8>|8~X+Y<7Hx%r(8)2_lu*1Hcfw3CjtSWB$0KW8*9mTe~`m(UmK7IKaY z4{JGEI2z%e<1}E=WCA5X{@3`F(%V)!KAtj}APU%6r7!qOmOm;O)3>#UiN5 zuCJS>QY{{tXt-7B7b5}D@DedfW5R9!^jP!naU!G0v%%hiG~b%FdA!BRsaE_o5c(+} z-Q7Wtlr&M~yXr_mmn2Jw+*~B_atRy5lSXhFvH~fYF&nHv1Z$mOW<(^f@BYSxe5)ZbW!mCOiL$|}no@4!Zz3n0NL zD;YBo*!|Ge4~Pz6*5)%ydWZ_dfn04=k7$Sa!&x!by^m>dLrsW_ATXIQlqyC|&J(=A z{Fhn9f7Npg+k6Ws)FTZC97xqPYJbyM)i*COW{DdiLbyz~^km(tv)ZxZv`V=kDy4N*f#aJJ8p{n4-zHR=3qIyolR3QjRTW>bMfk_r7NTr2$)f0FIc@0q7p0Dz zqC)(Z!sT8~;%jFC>kDDd=Gs%D?^D)KbPReF| z`sC-(86D$#5j!CV;V*L69ib1;nd?v2F1f~iYc)#pV`*`_^4RMaLg|r($xy5Pv?rE6 z4sx^=i+j3M+ROBQmtBoNnm@PnLgJD`IiY!xzBka?UHAC6k_As7%hVS)g8}QWIZwC1 zaSjCuIgD2Xj!YJgToUs`iyZj(qE-db&p!ZZ?juTNZz zeLP0xy|;q-0I{8xY>*v6u&PhcvAvyZ@h1Fh6At~U0k!U z-Xo>jO@qr*ao`$jqJMJyCoPbS#B~H@62jG*E2R4JP0BRja2#|a6q41$(P`rZ6kHb@^I{vJqg z1^b9JEe8VDjL&g$AK`p>Mc29&{huhCQg3tev&El#h<~^G{GIlhB3?*A9C@Xcl7W&# zX1SOew%a%494KUxvru=x-&zcX6*Nt)+tYe466_#m@s98HvUrf%J_wXdK8=n4I$4~d zbLAt68TAV?XQ5YmlQLP&@E1Vj$DB%4W*657sx`x@titY(g7gy7bh~ZWb$>;9uHVd| zsj;hC^fZOEWdtpah_B@)o6HdpY7?he43SBJ{&Y4g?M^lT@Ajd0`WWL%3 zHeGGoY2%i%up{IrC{lDERyO)myi4?M15keyyt&j6mt}X#eZ(Zw4h)=1<0iMe%@l?yzC{0Rw%SLeb%m}g~MszZs zkvu+h0J6tU%qeTr(7BH!e6D&t!dkuzkon29E1BO1^+(65dRxqeA=CbR2xQ641#edz zhigz7lnus5dBsdo$7Dkx0RKo&mC=MGm>Ik~DQ%%tgq>j596f;u0cFe$zUYX8BPf**Y6dY>n~GmA>IXj5@#-{;$vPl< z0I*v98}F0SP?p=eDtoOhN&l$FHY#H*+T~A8fh>6Kn83p*?YoZih@5qu30leinTUqv zFixZ^V6hIy-@TA5Ve#!Rsf3TV*kpRIIh9H?c{R6o3F$HoI|sx80r*S-HRp{t&#Pwq9Q z@>(2@ylFXo?1}^vC69M~Zz#OPd4cNxRB?d2la9rl4diYksH(fvsuo)2CGW?Jy+RB-1 zttI?eZ*TH@@SKNLF0<{M-laq}SZU%zvPa=97#dON@ zS>{(L7WEDI#K@r%Q%JThE5vHaW~#R_LxeF>7A!2SG!8!(E$F7Pu(0U2fQ*iV%DvvT z_2Qf{eWNHoEILB@T5Vt#{*o@4Bg~6+Bp-!t-c0fI^Y2vxus=WxMZ*O%VS}reo;|h* zd4iSG3>YV*`WlZN{gjj> zrdH=$eK2A@Au0FD4Hg_)oJNXTLbDP^zUW{8l(E46d^#NwE(YIjDd{AM9=CGP_=?beR2jtJW%U=x#n%?|_}e0*Eq1rcPJh7G z@o1PX;Rv;eSEEswR|mb0{MAKL{iDr?`CshxhfbrVx;b}N%#4{eBho&ARDr2QE>)-I z%tainI$VC)*eF~YWHgXC?Em?C5ddp-dSeE*J)%wAKk6u!;uiaY{=Z%L^zUV68h9me zivh8PKvfWupl`jt|Id2=a}z-~G%gL(T2or<`XEq^>XtXlzbXBH1n{49hok!fF3M=5 zE%gJhW9~VcfmGQ$EKDXeGSz4Q%ftTT8Q#5z&K34+!k_ZKuZ5HWH#C7;l!loplsu(_8)A zQ{}ic8&2n?d|}wl;FSM;dGyCuPB(0x*~|I&_t_X?IXTg=CAtK4OjFL>>bEXNl+Q@s z)=aQ{_Rrv~6Vbx)EI_k(=c>1x(#GJzaPjSO8-y{lvr@u<$I|%WOOIZa{EF{z2nMpa z+=_N4gUe*W*WW5hD@M1xn;~UQbr(tJ+N4Dzg-C;nhf%yTwi&88)7|H6CLe zDki79hC@D`OfK~I1HtJR5vt5i>u8Q2e*HHKKjVYz*GnC84$v~~o^7v_57%(Q4r7`* zH;r}SR(IV-=dv+x(&oqRfq;3hq-TW z>|R}^#D0zDXZeEBr4~{gx~N{#xRuTpSEKg5KCpbL+9VRJ%%MZl6es+(pxgn|gvg6U z11rpbHY@Ojm^I$NY{@?a>uKPU>S`bmn8}F@9{}raAnZLs(=&**U4V*R{od$jgc*YL zrJHSqjGy9T+f4z5=|!#W*O5Tc@nJXkMlv>Z3Xn2`d~Qw^HeiPPax0K(?G=>^-ESS5 zVIoz|czn%)rU|<^eVg(?Qd#g6Fi?P@g&pL+$0CBr-rEdaD3hSh7sr$2o*Xrk+qPlx z=d`G{`z&dHvB@^5S?D@H-V2%O-R0KP+GP!#L@F8n0_bEM(6OK7Ja@gwt*3|TQ_|?| zjieU`ZXn6NOIex~@6{Ufax1$$NSzDRMk5u~cx?QyQo)WcMkw_h+!(Sp} z6M2!7bX5^*ekk=x%zz8V2DzrRSqB-fGR|*dV*MgQ9d!c*GZsta8MkRz9VN9e92>qE zAjb4~@zg?quc|otF5tgRQ068rVBB1U7W@%hdn%fTJRPtLfwz*wa0~#b^+hf3!p2=r zl6kYckOBK~E)SpF6`=i6_j}owPc;r{OX4WzEJvH9_D3R~)Y{{Uw?<3NI|^1Px~v#q zfjxd+a}*CE7%jB1T&>MX0|o(O0j_%F!j~Q| zG&?N4H_pN#_p-T>2lvE_GcAZ6uj{)*+aui*q`UA`dy~zHJ>mY<8hd%rYg1(j963RA zAL(t`qeEfF3(9IP!+}^|wpVptU&VqFuqj-VjVj&xKS8`Gph(y2Ix`HqrBpEk@9&!x z&jKLFt~~I|SGvsoi5b63(#zIMN{)1C_mAUPjE(LKxK(0FT6w$&2u=G%(@6RxX1UXr z#0VZq;#|yvhK5)*6JRTTE!6k(3opGVw&lII0`Chym}_JZwM91!lBV6h)Om5dW&%lY zy6}A(-W(-cK7s80mO$Sfj|_Ovy$!_A&zOGs`~>90$!6E`!m*-h2P}~Jg(bQh5}R&J zxxylLKAdIVwo)yBH?C&A>fQGt^&%(^)X%ycb7fF>^D*>pOzkJXz8fic{q3$a?dm%|zq9;aSnI9hwd{6(EryFP>B!{**E-L;f%)*}Y( z^qWeM+uVD9Zkm!7Qn{)oVMR{Lt5DVE_gcOBYn+Pz-?~Y`fPDR|#U2&cAMQoE0LsRP zkB}IWHUs+_J9cckzw^;c27hSG27v=MF=3|QR}G3}J^o#jE@4z;7_>vRnMj7&_tgV? z^(l~VwOt38G`bzVU`*7+zrZUXA(9wf49Wfm#`-er={QMe(yFQJJsQ^C;E8EyhonlhTnaoIJ{n18F9P!SD&b(5xy3Ws-|T% zY(kcB_TKe~*k^0ADx`q2cHgvQE=oMovLZ>xkKg5uYv_iNYn*)kfBP$+--45M;F%8* zfGtBFqX8hXL`a1c8cNx8GeJsIhi#Z2Ln9jdoVpB9M-exIk-}wZBrg!eha!eaSH`uB5s-velr-8@KQmu_ou-ziW;!5m{UQT$ z7RLV>E#jkv(^ja;WWL!Gw%yQig{9LLiTC48v?E&)6`B<-(BD_8%~y{pFm=S^7I)fv zm-U*h5P!?HK5p`?FU-8RcJC-;}4IrxX1v;I-s1 z(mhw5h&H5BOjYd;@%d#-lJ4GRe(yd`tr((ui*ZPu1AK4Z@O5nWP*4%aihfc5Kr|^M zu~sVUOhj(p4ylTF?uBcqn>qK>DLF>6Z_4z!U_V{qCQxQ=FF}L>FQHBThMTNjpfq&Z!^Y-(h0Y}vz&4+urR_~B>}`HiczN2J(*Qe@mi6lK&hZK;Pm zq;8{GSQL`rmC4)t!0)CHX5i)h$N*cDCzw!Aq`Nl{ZJ*v3A(z!Z_+21PY-8g#9g^s_ zKD%jX_S{GwPB^+6@DI4&)?c2K&;N@75TmPhP-box8#)H@p^o1?dJQf6dN&h`N-waK zNp8s_+B1@KVOqCC&Az468mcJ>uc1s5q{b`7jSyCLiFkrIMZe%j(5jtnM=Ie zVAu`P>$L+m@Ac{FMOA5ED{(5%FT2yjHAL^Q09Ww%jb9a@i#mKXGoND61093u#IkjW z19vHoEATmkPPX2Hks3jEJya5(zwya9@ z>SQ=n5nIC$zzIL`c2W&u{E|uytI&TuQW&O@$e)=kf!MN7YuROj?^~5gCWH%Q?ZF0d zzI+=R5zkB(dg1urUS1a=C}s=+ozEwE>9H1Pi8<+10)G$hW)oRV5-PBt31xiSN&?J- zbYLdEEhd{Fb50b#D5F*W?6{8u$A2dQJ%R8)?DTmhFI0JJCOYDgD4%`;B=Pm9@s>v- z_8tjx)7wj?f2>#E8Zp`yQmbT3{aZx%NPSe?bZ`4rB8R&5I+`Ba5dDSj`c4l@wh;Ig z7)>e#EG!K9as{Dr21h-<1IPS~!Q9f7J0eHC%T`iP_K2qbJJK`g{c_h97TEF_qv0;c zCh9TSQqQ9u{l<*QiIem*?j&lbXcqnnwZX#m(D9V_>265R)_QSP{k8@tWpi7GY~JF2 zK|pdN0c@vUdz%37zXB#70!&aP(y%q?JOHqc1ZtMMNMM_5iVeZY&XPg^NhGmfHzmR6N@MeQAYP$Z%Zv>WQKYYPam(3jXmsKmT5de~ZLF-}ZkZ zfJ8LSv`1+XFxO26Cn1drjG*E%U-dt)_*YEKL;%i&L=k~}u2nd-k2~2^NUVn&k;59Z z+w`u&7Gnie{1{%oe96y$`APhHugpJhH?D;2Wt>%1)c?Ju+GZ}@Z8x7U*4;St-z1B` z0DJFv?Nlhfd7N)3-Mnq7bDa8V3rAo zQT5~h(EBqQ_-Us!$6E29&a*^2zB(PvkzIJcH&J9EsWp`gq7eiAoe2hB(uHhq$W7%x2s@o$KQB8KUv3#C|_@*7QM|}0JviV64F#yhpH>h_L^OqZ*3k)THYeO z9`8A;OBO4w_AVbBxRvGirW{w^F+RaEG`RJNk4K0gU%P+ni|05@^^=6Hl~}ZM{hPh2 zBw)oRLA&LS2X(u7Y~;EYgp+WM$6nez^C2lPg{bK9791vqH)>=K2KI0o#zzy48tG8s zYF|Ip{~nj$NsJ!-6SpEID=Td^AwyyLUL>Rq#dKsV=vcEo!UcOE&E4XVZO**kuF@59fLi|R_@PDD#VAjcrHhaO*V7<>BPC_m-{n6AHHlQmCmh$&e@NRYP=DTWuZL; zU_3N(0o&KE$A+Z8FfcKvinJ<>J1{snj?L-`sARNRnb$a5?oZE#L=l&Bb}+SX-|DE} z(#}$Q--D!SXqEEv@{VIE?sEQW6d~^Umx#-p#)! zy}#;s83$Y)M+=A$Nq0B%b!@~lqu;E=Oh0ty?^s$MHRcN_P&utcV%~H#hl{3rPv&nO z-5QUjQ@%|?r%P7Rnf+7qsq+qz#$|5u7~h7<`jf2YGkTX#ukbfWuYc0gfUEmM#G4@9 za*>l13sOxLd=cc=1Bz(;|F&s@J$S>qkGxF43*=QDy~^c_r*nkbx56^t!_}8P?o25U zo4n6msE1aS@d*g3rkBZZOJrqbt3+a$6j6wv_P%msR9oK(n8f?(Od>U@71JM5qBB1c zZn05skyJb(z8A&jO)=c_HyC8kSASe8ruikK*LZC&BeQVtVY)7r^5rgqSt97AtWi>b zDleRDt+2FtckFkhu7^r$bTod{jnOIuChWN0UE1=PoSHhHr%b2F_z(5#8L75g(%02} z!V-0tI!saz1$?=;X|5HQe| zu_^RODVFN!{#xIBh>gx9Okl?BsQ!GOj;yxr?9FT-Utm1iERuo{^*v=!tx#=_`uILIQ0xcwvM>JzfVp5vTgeMZ;I8@ zy~UVh3z6;hC-%*T(?>iS#1M<+#cKRQhWAyPxoNRp1MzC5?Sfkuw(9d&w)4{!dqP>r zrwFTz$MTISo=N%>@508 zTT!dvK9|bG$y?^Y(slLUo6MHQj!ftJVO^%KufNWaDC%9Fs64k{ALv|Ln~@MrPit%b zT}UW%sTJdQUmCmbXLo)dUI$lnrKP0>;rmix$M7ECG+RxTXjjdLd8Ijm{#09zUnqh)Ll;^gOT$Rd^5xc{Z2#nF7U57 zY+VUjhPM2H0D7Ea*NpDREhH_KsKH$tOphwWD`q)yGTxxSXju+1JViXKERgQ$fuP@| z++$LIW2dJ|C;KQM;x7N#>G^!;_a+HZ->K-Z&{le!)8-cId!cVPR2R&B2rZK`ABP+2 z2z8eC5@U{`&g(=z3d1kwJyphvb(Tm5JRlxZTl$f*xyp0tnaIJPAok@Gf^iA|WH%Z*XaE@=DbR9p?Xo+P(%UAyr-LJnOE+e6)#vvofC>JuH;bF9Ari8-Rd}?)FMsQ1B>o55?Sq-eVkoNmW`6M5n21trV5gg5vUk`w%bn>c1R@ zm8Vj>(qbD30#D8WeNZ+i28MHt^6J}51=I7Sj;keaoLe--OkGEi({*IRBY;OEc`z#~ zmd;97Y%44>D*X3GRkLZx(ybCS+2|yykF-#r)>V=TnXW4}zKY0J%ZQXYN6(~3N{mqhKTHDW3pR+0z=UN)xU*1#a z>M}CYcnJtz-Z3Riu3R;BXXTTK?CkLOH{@b1u*p++i@S77x(k1#eJ6|gqUg4PK&p#X zr@;@ODDW#L+>5#gQGbabY%yw|cyycZg*oubc2OC&$pf2IaHz{in5s4#efPRI@Z{Lh zVY3%6GZtn}`~NZ(UBxxR;JMcRjdo?cog$a;v2ne6Qh{E{Leyyt>9xMY31%-7)m(oP znvMJ8&x<$Dt~@@G*?wbA3k2-=^~u54AFuHX{vFHMQDz6M114RaXp z+}zv{j}P)!d_+Juq735+>e*r!hEBi;WlabG?o%`gv_nF4OwCU^ZaXA+M|pzGK7~Io z=s~Cz(7r8Y9(dV%D*BH`kB`_ioo)TJ-3S_4*OyF_j;k?ehF;ImX<>j}axcmsWc5ua z4j6%VD%!Z7EHR9r?DHhpAUd-+&6$NB4Z$_HlqG?hc!~NV3ONzffjloQFaHF$NU+Uv zy$e%98uszE{|sOUpBP#I@1T8vqsTGNX(M%V*)lj9Dkp{gZg;8_CzNuT2|;ry(aL}g zpd~{}AZU@Qf660^W4e-~OCMC$@|9>I&MdC`Y_p)Cwf0)M=j2?B{$C%hLY$ddit8V( zItwNY!U7-J`Vcn4sTR8IZDRxLfAM%%&t=ju0Q6f_U3Dq;d4EvPfiWkOh8^{9tVXTFAjHK}*t7 zh06!V)T({As-rin+3wdv;X>#lZx3%A21$o_s;#E5XX#0op19_NnC~KTD29(pV5MG_OfYJaOvvW2VLTQMKY(B3lCQq^H@FN z6+%(^0rFIds7s+B?PV&^f~9y}EsGB^*1WNgGt%`_i3K4=`fDURLt<=tDuvd&E_2OBG`LU2EAXa3gZ~{Hpu-u`P6_vd#wR5iK^qZO*>0jIiYVq$lEy zK|wM!)O?*n;%3|5M4DbLL!LbP3X7lf*q>r{=(%~S!=TU>ED-ZEMXbRvS{9D;{xse! z>pijvnc@p=|KgS`a~0ymk_by~?VMkqB4GsAO8&ybUtC#Iys=ffewlT#pJkwmcrckD zQVSOnK-PEb3u+RmGrjlG(%!j0_2AW8zgckR&1Rhk*;Eh~ALTfar69`zxNn&L6|aM; zmorem#vACN0Zs^-m*qKtE8LqS_cjhh(1I(sL{V;tqYfO8eZqvl0fV`pOvZIxzkj?- z#%^ywd~9wp6f=r%wY-R%?&e1lgDQG=BSUvd#mekX8(K@ZY;0IqiNHeT=4nd24+0UE zb@QC=G|+7I2S~C@eSQb#J!T-pDAmpN4ec*S_c6_TzjJKSR=I^UiSSaxpdRlsvmoC7 zH;z^wnqUC*P8avRp&yVqSHsbqTeb3~_61=4cW6vO1Pj@f13tFVm(XyGB)dmT%TA1{ z0~iL*wb@OVfuww}!LJGb$}3^P6@zhEWuio2Nb2}p6&TN3osm*~)jhdtjv|PH&2{s$ zlFX3`mz{rbZf*8rlVD_@G;D$#uABWlB#?*dD?Tg_JSzf}D(Lj?m~wK(N#e+!YA=?h z-&KIOT~9EVrNCy7S?`+eBKwEfz&D5nwZ7!4${NHJvq;t}Q9C+{+3u*62|kfCReKD; zg(tQs+wSA$`sUxS_xo58l(-%q&@jf|W(w(Pj=TBxGpxlfox%O7kt*d|TQxGWQ^_tL zhQdfBn|I!A?OQbuA{cRE$!5+%$8#kp=bCJM zkfgBFmdqdJ-VR%j@6ysQZ}GO8p}!Jw*V8-Ao0fA;ML9dIWRU!gQ5*I6e6Q5`7`NtR2T3UT89MX7BVrn4UEC<^yRTMOx!`3*dn4NZLtiSWPYeO=;kiEM zX#|kG(em{@(0*kCv7d#E)eVD3u`NL5j$W*+vk61kwXn7hnT*gMhjSKLu0!w2&(BNB zN=g0CE7hMN`hz_7$VG{vl1Xy|y98PM-Hlvq za&MDkk(+fnm?eVx{WkQW4xDPDVn5%XInyPEv6~}hBJEk>9=$nWOy;vfc@JEKR6k^W zXN}rtibY3p9H3lU|C@^xTH6N!X7IsB31$k$W7s&iPEQXx3}QhS%Vs6_$dz&F!v1DA53C`I@4MLm62gB4+nPh zB(VD#qXs(I(^$@rb=siJFLan3$0K0|{R~_Jnz3~Ee2Mlb z%2@mdIyJVG{q;_zcQhf;8I_f$i=ida-t(KaG)n5SxjZ_0QpqT)W^se>Y!r|9NO<3ERiV77@4WW z?c!00EUGtJAcc^r}&6)=7od%NyrsB)UGCnk|lDY+lHQ7%2nR zP_8c)cABeiog=~%M7S+`n!MOuIb8 zYT>`X`B%`9{xtVJ`e z@s*0*p#Qm3@h#(1o|41AOQPUm{~ujn9Tw%*z5UEE149Ty4oag^(gM`@}i)Z$;_u4D&b+5GmPop`4 zj+3NO;a&vLad-1GeI6|EhMNXx$sNpgaq^0dL_VNm1T-q3?<)fD2Ea^P@^m{cGJTyV z_*DezC-afH@l9tb?uVzxr7wHOV!3hFBw#y9wrfClAd_BMtR$X$NadoZM z)jL5p^m?^^XgPc93wV8HXF&HR^J^qPX`Rp+YI;^fh@uoe4>N9g@EkZKlqDS#3laba z5}$ZXq#j}AS{CtvPARCkS4Vy$9GrA|eTmr=d{6Px42fB+y~>*~;pyOi~lP5Im)Rkgf#VGKJ2dhYWe080o^gfL=Bv6M+b)1>x+M zuZ2_lk`0>oxA^eyUU0U1HBRKAHFV*Y#yQ_LG0*dhkx_v}7WWs1#iV#QoSLozeIuGar~EGD)z#?R)5e z9zhK^WRuE>MqT22?|mLKpOR1EWUaOChY8^!<1G_17w)a6UF3J_jG{^j4!)?LvEDy5 z@ev=Ez4`4^h!+0?f*W`Fv&o1TZW6=sTc^mFL=i*#`}pPecqb(^gK}RW_yPM%H3JoZ zMJI{Y1v2Nsir7|mr=)QiZdVkLSx3w+eP3261JAW&Y9k4&Q^E);#Ajxq8u8~!7kFdh zf3{+NOAsrfiDPV$^!6;=`2HZBWK%~>%&XQ*-plIrZ!g*K(((U!Oh^Jt#|CcHMRf#fUlGHk#OV+78XB?CRw6a)ltq?+_Mb+I~3V!2;!%UpQYAj`6Em&^mx3Oe~a%Xz^?z77b*Qo4`J{q{`4( zgfBNR0b%<1WgKa2Ao0=Z4tW@={PBzGZyz!;P$!ol&r+QP0K4GluQ;WLp!_7t)D<=h zOjkD@foovqBJ7oQ;f`e#!N-CQ?0ModlOCrTrM2E*f0_gW&_f9o_sGEoxKiw!ogH)R zz*MrN=7;>M3dk0|-web}Q%ybkUhfXcoN07p920l`#-s`im|AH%`iZ~rogW|dr680@qEwPNVD!7+S#_a_ zzAZq0P!U#?$+0ZPK;gtV_Q5bn?qIz&^@*N7Z~?6t^!5x}5YGEqj0Uy|+G#kLcJ24s z#5A`DN_55i7yV*}*h9d%yEUuJ?731W>-HG7=R9~di$BVX8!S2WLG^-e-xQ`uP+qwI z>x%NQj+&@nmG7&mSEntH_eN|dMa3peTbYg6 zY$4_=RLWsa7wuf*<!PSU6QxBM@IVSWr#eZnNH7puD>msmON(#`qnFtT0W~+^^ z_7r=(V#Put3KeAuR}cA(o*)CW(*q8_qK5zzDEz7zK2j02s*%Ota?bErTjf87C*X%H z5K+ki2Uo$ys!DMKSg6g$iyQVYt-&yh@4{w(aRtc03W#Qq+f(zeT<}Jbv77*L=6Qp| z`TO*LXWd}|b5PJbR-gjd?w!kK{>c6-!7FzO^zZ@D(cv(^Q4y};*86~*;g{9RV+GTR zI5_75bjAwDcLSGxD=z3&L{=RyPPIeS3;U!EBsZ#5RimIzhJqQgsc2?hj{L%>N=FlK(dH1 z0yyf82()I=MGG_(Y$WkS@@@L~h^-CoMx9`cH!5{OI6eA>o&3*b0B{yaTO{3RnYHp8 zu%`#L61M02OoRSAJz&So|EM(N!yT4f+j;Rjdd%U}K zMV9>EgvGy~SVNKhX;P|Oz-xU>V>9kURW-|Y{GSmza+OGX%#JC36!1NA^jBH$^L~`M z(Q$rz+aP(G;bd07ZkLK~QD%Gn$>o^4u95F9vk-=7g(T@_YA7*n)pVM%%+hP%|3YAY z7WMr7G#rZhaG9Ct@YLvMQ4_Fzi%^LdPe68%cs)VVuVtPb!DU__x2Q}wz<-ubsgO1~ zz&^?xb25y0EZVTrXZnH2V(_VOey)erIE<}*=Cl83;8D%nfY7gA*zs{;w?(b2?M(c* z4t51a9wQ=R7xxhf#mI|YVZZLtuT8*ldmtL?w%x!O2>0C?gHb4W@i#ADZIAck^U4Go z)TE|^A`TPt?M%9a{%22_>e8k^(>7VoDRlLH<%+4h@m^DlPm)j9ut~FwK|^~ej6$BI zpa4En0kF9tb?vl_{wNq(QGm+M+-Z|Nsf7;6*|EZwwC7vB?|R)JQ)0)$3CS8~s@}G-_+NOMNrXqLR*S!FD zf5@dF?&dI5a#ugwBK6(+>{#4V-e{Be(@&p1Nd`(D6@M+X?4gkOpW(4|#9(1$SO#kg!&%5r|9PGVfD8{(38mG+)(Yt&P+7J~eP^r34v}a@PHP5?vb(?ET)8CQe5T`VM2qQ24eNq3B7~HBgq+pw-*m*C%MmRHE z4gr*?pzT4-Z&wh~4_x-b9=iqjYbThtKd$qi$<7-&yfBD$Z;LYBc94)B4&D*2iD3G; zoob48PxI3Ea{cDuKp;oursO}mo~lZ>ypAtq4ya1pO`56SZafOU2Ccbdb*7J-a(y%&<0BD-ke+(NKdHqrD?tg|05`7Lzt88hv=5?8Qya;rJEgfj=jIn21e(67b$qhaJ|>pd zv^|Vm{@jH!BtU7S*v=H~CPE1h%reBto%^?FV>#}@SmTi~*yeNdePVbm{WHN|iul*g zBjw0nK>aj8C0{{fvVhGMROrU4gmnfnP({iVf0oR)ww0f$_DN=&H(~aMxW~uH$RUXy zUyIzq{>?Sg7p2e#pd^kTN|5Hf4^w~_`V7{rjif9kLbW5=!BD!2N`Uvf1pd|S$bHS{ zd4$+`7>0vIZT#1d|D>t?^#s2IsaV5;w{rK=4<@>`X)-<9EmNZd+2LtJykf$jk1eNnZ)zj+S+US@9BM38oo{>G>B~~;#A@@ z2PwGQpKd8gAMymp^C`3LUa&P2JnPKwudg!-_nyI|jehmij!oFMRRBN_k7t?~P{K|^ zElv{{xq>*#VmWrLH4Vc*%8LW}fDLvyw?G29pDa^3i9j=@OvPXWQxPWFYYZ4Z%g9K# z*|-kSkACSB5}WO>w<3$KT1EUxXQ3HESu{v(5V{d%avlnQe*v{QAN_7i{e?5`@84TF zHl4Zi&mB;zy|B-=`ol)z5@Be>Nvng5$9d=%KcAKJ9W!6A?H1J^*S}9+n~1D;>S;l= z?n9k%eIs2EFMU8MQ+w*!zhUD4*{y)2aMS`Z^GRoWnwPgQ;_TaFtnlLLTwAgRls`Tn zNN@y-fc3jvsFr@)p(#OfTVWEA3xPo^SMbIDIkUlWC-2doqUI0W*P;fh)}h7 zLuVlSYXFiAzHWrNOW=a3A<}Hu4HJ2KSHCm%`hP{@H-i$4l7R&0H+?u_QikXOh<@L_ z>`vkvtz-+N%pHY58;#$2ih}T81jP|^HmVg-1q?e)S65d`*Fb^pI~pD%9UYwn))&<1 zMHvc;7CtqE&n31#l;`tJXr`9b69%uZZF0Ta7MWT<(p zwjoSB)Z7pzgQxU+@#a5r?5qRF%u3xpPMVWB%wLD0zx#{sgnki6%~_pe8{S3hd>7?9 zWMWFJc?U$%iSX& z!0P#*1Q00;H~@i4S1*D1UHx+?G!Wp7M}PsCK06W+DKEkCV=mB%P*G8x9?nHS7%4pZ z7RuCkwm%tnP2Z0vq`2|8tBUmJoh+Dyu^_onFp%=SfBddrH&L_zhDu-}(P?pznE*2C z`E-DSEtx?w+8|x#l&wCNwS?WiH+NjgBA-B`)>>^GnD*!Qn`5dDP7o3b4?QT@SV9jE z4}*h)jVkT0D!+03`hk;^)A=b-9rNmyhOQ+7BQ45_Q5W*-#!j8Dy+X|2#hNuWu1J2L zj$scR6$c!oss1aRzY%e90hlOwi5OK(kVh4Gy#UaOK{0#aSqy^>l;gfsycgBl%%nb5 z5v$Z4)YeYQsj!cGHA2+?>FOt5XVl%=SFc{-GT;mvt>L?Wg^d6ux zG+GFJG?m$wxpHl~lq`zXkN21}or&%nM_)hRQ`gUJR@onm!g_Id{B-?KZe=s{?0#-4 zK3!im?znJ5wl-0@GVlh^1i6I!$G6tdTR?$a=Sj^{gNfuerb8P^So-b6EuA;TO8mKq zFCBP1hPxoQq4myF0_uM_JHNTUb7Y{>q4Yag9PIE=8+k5-P6c)Ff(pTwN=ljvPab`a zswW&BO67mMuHCAhDz!c2p_qQW9<1$JzS+?!F6`Zt-xcM6%ci|h*3|s`n#Xvg*qjW9 zXD#CL4wn5#*s~3PXD09=44?z$6qFFs`whwhHLivVNslWoy#gr`F(PtF?&v?=n5{lyyDlI^}5{RA8n-1C4mH2naw9gnM+*iM36FU#rz*iE z3sL)PlkstJx;i?Z6fZARg)?nddomdTsH?Is!7Jn#4&DiUt%~9r81HkDg%G*@d*Q43 ztD@t;o9#ciJNs4UgnTDu~SjfQH6zChgI za_-4oj&Z*FP{lrPdx&DY%O$jhE9vM9s0oS?*Jtrvekq8qtC zc%ACO&S|{qhtD=7aTYD#vp9n31rZWW93`ORawZ5}j7W<#Q!C6#v zsUi?^rZh&b@s*0d!ySTbW{Lysm@S5ZF#{0)MY<~vuqg;&bAI!^T4!VZa4fNrYUh9+ zsHP4t_&#=|$T$d#RZA5IalYdNdKJ)V1QH%76^w056EAj$8YFwTSZ{cPdpFh_*AoC; z>eTTO^rtnT*ue!6{WoC2XxzPL3$P<)7J&Gux4uBtqh$Cz8?p0y!z<}cOVItHOpKIXJ zOL+N!?{L^V_hhY{fgt-E->|#9L=QrpBomNH7xWdw?+Xa+Q7^u=J^o7XTe|b zvpOAacw&Nny#QGXcG0P)f5srTx>S@Yioy9UMi%INl!3@)|LXcTP>KLTP;Q8}7*YnV z-)Q3hxIMy5p!KujSBW4@rNI_cnA3I4UP?Tp8Lp)ml-5@_`9vXd@^rbpUIRzm%=yx= z`>k3`Ow8~3>9BEN7^k2o=x~{R!xYb}0H=A3cZ_OXtkb1^k&jU1(|Kpp!zCvXz%qP$cFjnAdJOka05yhI2sc6=29eC?8nB z-LRh_xN()kc;RFQdyblyPxENae0uM0bltaly3lD{U${{hGapYs7W2yhR>6FH|NQd@ zB4%;%V_KJuSYZbS7&2b!jvFY=%#2Mu;7p9h^?Wqn7XidJ~NQ~83B;BAeg!FkJ84 zbFc1?BZApUQlE$W;n=k3MnGdsJ61ryvethnC|Sn$Y5Qz9zP-!R^(M7p1lY%K?L5h( zEvqwm7=gy&e;sZhNs}kb*=&CHfqW<&nzd(_Dd+X?GTgu9NCS^NLEtX_0d({5u69l@ zHi>XgbP|if;#z#Y{I&r`H#!Stln1UPlnZJ9ne|w4ON6(QNv&{M+6+CKmJ+;Z}(7{8x z{-!Oq9I&U`exZMm1kw%Xae*W)G(q&aA?#JRhk7`EOT{ z=;%}bQ@|IoR?Sv*Z+f)N^cFB5PFWQ+P1TnZ=ayWHE%? zIy{Ui7e;bX@ZL2Zc?CIO5h!bUohl9UcN>HtiloAtqTk?CZEz8;HEJE zW?ll}wRpimIHWCr$f74md!xqrdsp0WH<6~qG&$`JM|z>0q#W>=92aV?!IB*NKf9r! z3QJ+bg;qFaiwDW|C%d3o1T16_SrFfA{|btzd;ShMMiBw-RE2CJ4jsOPB(YkF}Hpa9(wm#e`=I64+p(5q;JiI%W3`;3^uvPX*kh;x0~_%ZybyN zZYi>og;@ybId6Q0MN$LiFQTt+pRUHveC=zFlovWwY`}}gYbn|7=46OZ3gx5euU3(X zC;U7({*b3bOIV#HTXRT)^$7=S4W~B~H73PsYcrrc)@(eaTd}H$NSRTRmiXQ4xVapH z3mSCx`&2$u4ft|f#V&VMO%p{mh2&qH8uGzq&IaEk{C73~2n`Z8qykZ4O&Y+<3-qIU zemcd>1buv!*7-V~=LBy}H%hcW`kX-i>1GVp3ZeGnDd=J=%D&k~`cdQetdMI|)?t5y6V zw0I+vKPqUkv>Mkm7(j15G_Kp-gId;1^16ojOxDWnQxybNXUVqux5tbN2+LsQIN1JV zJZM0MKfbwcO?+fGnUe*2Y0ZTx!%$Og+ZftMM+iRTH%tc9LL5a+EMp~(YT3&Jb-cK` z&67-wxmm2XRuhFHoM?D@VI`YgF!qfpyJsL5bU4j|SnWxc5;BcrF=lb%am@g2$KYHN zXTa9NM|SQ;~5-&@R)iJOA|p%sruTQoWGO*7;x(GVX%WR@8yctlJEMJJPG&;lL z#}QQ#iB_1R4lu;J=qZwM(#(e^IzDORQPs%zITm8q^4EOFFOF%I&JaNN3iKk+ z&!QExvV{C_GI;c$uYPgjx}1D;;;y&(=S((JCWC%Dl)iI8Sl_7hn44;pt<;m3xr_h4 zKkS#lWd>~YAR-yyP|ksfqaRx*0TF7>(j-s>IrF3^Hr|BK`C+$T^US4}Q?jec-2!Zz z@SY1|KyVNJLOz|IO8|>q(7=TcfXGWeAs}d?is9a85PxSv_tA&1Qk1zj_4LQKLGMj5 z56Eo37bp|s7$q-hz6cLq0u+5d2iQ-|xX<^%*N$|9f!kSYI#6qlT-4+!Ckl>FNqpbao#n zM|JL$yX0ndHa(&SvU11w`O==!fK1eE+dyT}fZO}&nz9-0Ti&D^B-NiRdeHMiG%CI19Yn7o44su#>$_Tj{f;c|hRJ zwWv6lJ)qLyfAD2FYn`z*3d$c6u0G03yEhhi6dieS@5dAO)M~Sj0kFCqjI=^pS~cZm zkL8hvC!wxK!ZPmI8k-aIy2o1--Gzh#M}74Ui5H34OW^1Zio1B34ZA^QXLIcvjMx2( zx(HuUsJ!=gQ`!IWbxN{>1yL<{Ow0F<$>2H_P?#68?4?|)1t*##e{{PvaHNRv@!FT6 ztjvd(;(D-Z47^foLLz!8Y`sZqV}xyXU%{6x*lry*K7a z%_UEAhflrZ!ImzuSMM6LGBzvAfQuqsq&Hv2v zhiTSE``vSK&%?RXd?ulWzYzdc~`8S=?3X`9A7xL9fRINvu_z0%}a>pO% zxB5(-IGmY^{f#SvFZz0%wNsL1f0rqs_-L%Ov)~iiyxyN%QZH(#UBY%Mwb7|K`c^7< zH{EleDMOCmwM8QJMkFJ0&e>82G|aCFD!S#`gB`{L zhZ&gX6eeoWE$sjwz7MSX>Dp<{BAEMWfLm2q^XK>Iv_Mq>UuReDOi?#8j5YW)NF?W8 z>hOEcGW;KGe*C4ICp;3G#DEe1bujJYocN1UkBzA}k7e*e9>N=r4vzI7ob@3GKp5=mp%J9XTCd__=Mf zLJvn)PY~&|;M}Be{fmb6UzO87Z1ib*_S`&sMqj{SKpCT<-OIPuZC|h@9~8y#mgJV1 zbAILpjWH1}<8y(9;&7(BFZ#^RCi_w&)XH;uD|4(z?Uxw;<%ggqq_7lO{W9%U zQ1rnd1QmXA#B<+UDh)r_qMNd(MMZN81JUK0y4iRMa+6ctlhw85)t%CN!m`F97mL-h zCm)J%#2`o#5@P+j)P<}>@?g`Eg%VD(OShYKda5o*hoCl6bG38NEmt-MI%;SD@TuGk z_7sNS?-0IIzREU1WN|Mhqss@h6yQZM^wHHswl%FZ?TXb=ZChR>U*py*nwjDwfq@#s z>((c{_b1GAEVOxf-n_iXI4I(=ys%N{KDNmnud%C=XfzkT;ced*84%A@a}edF5_@2- zaQje{@y4UdXEZ(5h2kY_Y=&-jx*jAfA%*fm_os@C!-pUAet?&n7Sw8vZ%1>uHQhmq z&u!6tp-q!$9>~bgno-P6yLs?$=UnX`B!VK=aiu>V3iCiozUuDs@g!O~O${uH#mCjl zu%d#B2(fD0P1W;=0NNf8#u-No&Aq~7CR801^$As#ZUL#;SO3C4Q(SeN)SQHsHL&{d zc;@tB9g+q@&cp`>iS7jPftE&c1n7~`GQxxfD%NZvY^uqe@BHUa>ei0uV>X^Vwq7{U z5-MH^RBwbIoi?tAnkU}~$|kt)%cn`B+NWuKD={#(QrMD`ic{uDMbCI_f%JxduX%Uo zT30`IxN9fL>p-%r#_0OSceLtwD;}S#4M~bnt=;L8veD`o;p6(QC8^g&T?TFzhB@Lf z$j#9M>AS*}E9GQO)uu4`&D+8-9E4ta=Ak*K%2!|0e!w>)tv z6gs;$_Bm7RK2T4`@acE#40BHwiAV@ulQJd&)<0`3Al8A%M+M9ghA~FeAYtvp#gvtu zh2bm!nN+m^8-8BuZ44@ z5XaHz?!&e3lk45}YmIki+~_>6r%%1k@-j*P?9hJYwdD1cESt;g8{syms>jm1^E_P+ z^@Qy`Gw0|1#6>4$6IUFbe9I&6mF}_1cTBDuc}XdMf83#6Ib!i3>1&JE`p8~!lOH6d zzER=3|Kj2x^Gbjz`0Mex@5$=@bkr1ASDCv=|7p?f!PRj}Xw{E~^)?bbD^&gMc^YmQ1^mI$VlJUCx z>ChyfL9NU8h>O?l6KWJ!>6IZk8caMchp;|b-TzU}(UG^}wY2Xsz4d~b@7{2{P5)P~ z5}^p6e!F2*wdW=tV1!}{-w(d|wvD~h|7@KsN$PMQMAcq0m)y#Ev3-#7t2AagS^Hh2 zAIA&Xb+N7&pAlL4clJUV(xvt@1$VE!pZXCR%kevg@65`q!FLS5{ZO@zG)2(*OIEQT zRNktsKHypPZsYQTzrv$MY=INd%W3geiS#{$RX%Actq>NRyE$j~=*WLf-MjTNMWW7w z=^F1tspGBZHj<2L?uG5?6>l&x9@W(-DMS?cTU7!QsRw)W`r{G4ZlQtt>^@_wS}}?p zKl*}~{*7kQ`@=e1-fW)b(t$Vv4)^1G{O*t3vV$`B0E{0l6#|S`uAyRdGu*Fv^j3h! z-0~#ryOgA|8Lx03&Mil6hDXp$gkzHgM5`w5!m7a*PXTP>Rfa+UOt{A91=Rs|s+lQO z@~NgaLX0Mti_EKs6aU!qFZe9qt?`|1OaW^)-}BjXxz{^xtmPUr)iI z$W$~ah6wcl#Mnr!3s@=Qx}~CT5My|oF4M@q!q#59$&(-iCZ7|aYAFam`xbud&UYDJ z2Te@7WmCW1`Hs|kD@Okuv5x}(GAsWH&R^a{bM%y^0%OexC=S}dHb>$KnIiWH1Ne6~ zs8R$$_nEHvv+WR6TyMHdgiqw4-h{dml@(0N`uOdY`A@9`H1`mh=4Xj(+-2gn3S@qA zUgjCy!C%9U`6{sqjkJ!o>zT&h!;T@Ld;s9QcDV^@;uO}Qt^MAq0d)?YB+x#?XZ$)o=0Bg zz^kD(SvRou3D>r(_JHyB${G!+UMH_ouft*+q*l-f9yI8MwpmgUwM4|M%P$|ogpZaSt5YP~%vI6usJ0f;TSu3y4_NJ$O*apA>0 zOOaThni8lXNbmuTa?hL#6vE#sI1FY3m4oWp<-GcGx+w0Ej6eb}DBKYs59o+~tmQi3 z+6;cLPAypy91>BG=o%>@HrS#Ty<`Z!D&`;Kmz8q_PPlH{*DbcQ|2lzMzxS2Ji89e2 zJ~rhsj9xV31nhY@Ts#zV9uVrZ?7PELZQlqa5CA!>VR?Lj%;t_T_J>%w>14`H2@B<- zuN_ z+r=FYxjYbb=M$Ao!09$a&UUTYO{@DrNvWTt zZHe<{3rkDVO+LIahTTh&w_kTpR;inUR&N>-iT8dxy_WdG8Ld(yOAMQzk{gV@Kl$>~ zPLQj`x?P5OU1wtr`l1CqjU)J8n!<#+hl79x!KPW64t{JCO#;U}wy_SIm((BLT~ zSl1D1A%*L&fjDKBr6Gp5+d~1$4Id(U+Z{_ShMd`2YLp`}+OE5NH|IfY;&m6@OBUo7 zQ4!<`-%uj`PN_T9rC|7Yi%?xc)QwM{FI@0k4&@2F_+&g5Jzd6p<5tvDxhwm-_k9VH zo_=|>0$37Q76nqa5;5PnQO&lmHv3yLP*%~R;{^+@O@`|o#f`Ipo7q&j!*lkz?EEbR zF|iKYbgBTORYBPEuI_Tiq+DKzMqmxxVzm^P5Yq*48Sj;^629YQl9Sh$C{1*L9=jP1 z{Ln%$x)Kl#>65oYTukmiIne_-zl!1l1}8w*4RQJBADMWQW!-Ir(}m((U^QB5fZIi^ zu}=7r`Y$5mb3w-`(ZilS9ngSx`XyqV>PXRnZI+h)t?V{aiYsalL!Isvzu^M%7}a@@ zW@d~xASIRH0iN%*HP;rf1in|O@Cre+S1hTXSVjUJXR?8Q7CW2K_`Pz=Y3+1Pjj00Q zXf9)rb9T^3&1w-aaPua967A;Iv!wdIm}Li;APwsWGLW#eI0E%5KV^wZeqw)cC^Nq> zQSiGXS#aA&1N(ByPn36{{CC?TV(ghSTK=(4!t|iS9@w+iJ27lW`ncuGTyfz1$^W7s zg*oT<;)Dd*B+SbQ#%nfVrdkVR2Z< zDF)@=*HQHvma{q;MK9w(1Lr?njQ0g$D0#o(?SZa;j+d#S=P#=;=!Y7X?(C5{o;NF_ zepmsO6tXJ%J1uA6EAqiD^l-au8zI%i*(kz5FZ4%^9|Hn8KTr9e6iIM6;8T7~lJ2{2 zSd*wB{+CFr@j_JU&hv>u0|?Y6K5qCy8;TD#JzR4cMcIZSMlZkoLC%b+ph2x6mKFpt z^92SE?(>A>7m&gXK{^b#eh0FvV4}V@V+v2H&o{G`^njt)efVx^Z`Nt$do@BEk#$2SJgnuWXtHud*11U}Q4qRb(!3Q^}A zIy^Mpl&?cFwDBjuGwEJd&;R9^Bbk|-7S~2i80qrHRwD-mH6&hFL=&+4v4H)I|KmoX znZLD0=VjF&&V1TV=L&_3vcb3+NhO3x7_aQR*~RDM%oF&kLBfS7^3_uTxv1`{Ap8TP zmtv7-V=sdeezkC~IT0Wewyp~H4M!g+T8j7(kbs(0r$P0%pw>5ra;S`R$U05FsfPR{ zouNC!P(Mgt#HU_^4bU=c85~xF`5(dEW&2;D6$Gh7!D$AmVdON6eOkfz7F!iP)D0EG zl&fD0{OIhuyrfOZ0`AZBGf11zUa))a{y=4F>1Oz|tz8bA3wS?(Si{=4c%tOSm*W1` z4H-GCn4|Rt?e*5Z#N*}Hcf7~zktZAjj@uP!<=flUp=ugeuKTIcs=(Z)$Ks)md%;A2 zvySiMML~OeD5W`WrIDzT{ZVTlHx|Gcj4G2cCWY6+tEiE;32`&iPT;kft|5Pz4 zqfyq|quj)n^J35KlK3)KS4;MYezvv5Eym=>i*lH~J{cn9cd|fHtX~Ieh}RN{??Z{n zQTY-PSfU&(`Ie82Qu)%IKDzk}I#2o9&azOd74CVQ?xe$7PIAFGU%KTcs(+*W7VJ0! zjFASwN;=E{fr;Dz3`yuMC^HmXiMz)Q4dE4_7CNNmQ~d&>H<-&*M-A3Z81gsh})YG@(A7~Zbc zuTl<@2kF6?HCiQxy8SzxU}2JO)Y5D=pOoe2#EVQb8DfawM{J(u`Ovg5N_WDgPlS&N zRv+NmUfR7+7^Img{=o9h72B*GCPwktpX4+(9f*!U>J>FW6(H4?$hC`*ptvnarq2iY6CX1vG^di zPu{qmT+YoYVv~t5rAMiT+veQQf94z6nZPB}=G%l}T!8dO|0=MFvpD41kYMq|;^FB2 zU=!IOoe|=iPF*|$6K%po65bH5usI4&)t1+t#-G+7_D9oBF89vXRnzM-9@`+A#_z9& z#h4MI%GZAso}&ov@k#n9F@Z-{U1NMbuyuY`nd6}Agcd}8$|coGqDO6m(;XgKDT z|NOlF`qNP3^=q$!G6pbnlBIsES8ICAM#CI!r3{bQnv}<=>^k?XS5Je zm<$={x><_THWk#Ky4?y^jWN4|W=bxisP??ycD#H_%j>Xe}z&)^|O9Rfx zrK!?LvH6n~Bgo56o*JJ2)z7?^dDkXa)i{8p1AE*syTLcJ`|QyV-{rx(ah)FJB+-Io zz8h(U5x&PumzaW|J(z!WM;q&~oxX;LHX;-Ma(s*reUDpmwXHXc|wyA zbPa^xbC39F%k2HE&G8KjHgPyQY;&uba^=3Ti({M+x0}>LZ_1^TeyaDkm_1O!b=H&~ z!DsX5T5QJyBV5gu;#9?AChQPysS0Qdr4^{-922Gh3T7 zL+||{+!*=PiK+#JZ@Fd+`pPN7k@6sRq}uwyDEG*hXqP7@)8@Vo3;bo073=<9(R;>f z+n)f3ALa*L?H7)QG6+w4M5Cd5-AJ?KQ1#)Hk%XFKbC>q4@BFSgHN_h%t%xhz)z8g9)BQbJKs(7J1X8@bD@r3Dc$R+|cXFNQqlM zd3J`x&n-EH3g{kZD&j;|m>86>p;+$4kB_?c0(c6`6CINbgI z%Yx>qLFRqIM<$JdE6|AM!L}xGFi;!5T4-xtzn0yq| z2{72VH}EW^j~_gJMbA!bkIyb7{*S*DjHD*#H=>y(p7w0FFr{@jt8%|!sht)4(+jm? zv5+W@es}(vJOg|k8}~Wjc|zWEJ18Hkj(d8{(a4k+Zast6HAmnujW-S*nQQe-O2By$T3nYus!$gJlC?y*ua~ zXNJ}FKr!zSaDkhh-Vw6tI~)?d!zU%OK5n%NM^VMMF5g?)W7k}0D}Cm1CiQ z-D!3J+{|1UKiW;6H@x*KCEix`$pcrD$6h`k<4&$ft*!^Sox zV3-pR&Wf|ErHER#K-l}@d5mADrIGG~C0lSLnS$zwH(ITxcsHcbsU(cUB|_J&jY2o# zmn5i$ii}57|Kd#G+F$5>M4FQoW#bB4732Kn18M`~T^H7P1o&L;zn-^g15cTGehX1d z)a{D;udFgdSOZXN@y}Ao8xAgmBtBn(;F|qL0TGd^A4pTgt+y{1`+YJDvBn`F*#`s3 z*!+AzWc&3O-4wzpQLYRdKNUhWAbALA-Ar#in`Rm zW;Bl7@|YUEaER-8Wo-dNaiK~xz%|?yT&NdpJJzwclyK8%3JbXplnTW30O4E#ug1&j zB-c<$c%qMFf5koj{YB&+t1|`-GKFqVxGbEL;Z=j-$>2<7<-4fZ6Ld zp(QnNK)gi3s)J-z{@=I!yvakfkOVrUa99Wsjp75cxk)d8x;8#gA;1xIG%rH{7S)CB zh+}maBPg|G#OC~giZ#7$1U;V~a81T{QS{d9v8%tj_WU=}%@BtJ?Y0Wn05ze!6L7-W zcA?@7R|H{f01eQW7@tb|9%xfkfNC&Y-Od1U0mho?@9=LEYs7JhM(F@05!qZgx*L6JP&5KO^;{3g0DI0C@d$8W)lYr@#`$BU^vR3lHKL_^irRZ zd(s0WF&?u*kP#Z*ms&MV->WzF+KKg|>cbLGPm9CZ&F4!0X9mK5L!JOGX4E8r65?ix zFru0cJkbo`kmTnt2Na{9=wd)IPo)w!68V)oiPT^%7s0pBJ)23HNU9lXQ~;l zYT2KJ`A|`jz$!D-D)S~K%7gW#)WB{^k4M+&^`HIPj)-|sT-erilrCq7Vr$5KKyB$A z<@twRK<$XEgI2F3k%yMUBwgIkr(plqMM>Bm^ofHF6*^2svFueOU_gR80=Otf)G7C2 z1;PQGwQ(7Gl4@7Vlo17iSF`^hk0|)hss67bocBR4|r1AhHdu`}>&)&tJD;A$i45RZ}_FgaF64XX)P3DV!pLriswt4wQ zeYJz0cqQG7mtB6`eW`I1j6y(oXf|U&`kwdAj1Ze^HybbVCvNBu{5hqR)G8&K{d^N7&b~))L<&210C7e*gL+Q5` z`oA=Qa|$z>2F%fH2fd0NL&}?Eknm!{;8;szkmq*R5q1udM1!2XjE)H`hT%ftc41Hk z3|I{C`6lxL&vX7In0FTklyK8;-v*`kDcS}k4kjGQ7!Vd(yaweAIL>d&cOeH^{m93Y zrUEi}$jv{!x&7;x|G__S@dPWF%^c-Z=^sl$(n7Aml^OUwz{0RXi!ocL1=kY3r3$<` zPhfL`8z|6sWXtKiU}WB?x3aAqQPUb=(JuzGIdP%5Ef{Od~I-?qH{= z{K-zlSy~*jcb%H+#tnp#GLB^($PYu)| zs)-c8JhOkaGcE+E85*fs$!KRvmOR>{Hc~LWkt#F4V4R2>pGXNWgaqW4W!7hA(icbH z!Yzj7cI+Po9~M9ffSk{wr`Ncy1yNJSS;xhFr;c;JpcvdmBW4Z=w)P}V3&`c!$^E?2-V95D=Ge|<_V{w11^Olb+W#GpMuHG2X;|O}&E^4Jv7$IqG5MR86C8@Xxi+f2rP1?>~ zA>CM&1u{EZzxG}sAlQA3z~ay?trkk^=7oh5*i&QcE&Tv#JM!w zeVy+4Z+G$cpGkqhaK#DkC>~@51$7q0>i^O8)nQR>-}`3?)8YHEq zLqO?fkd*F}?hpiN1V*Jn8tF~}>8|;WH}u}m_x_$|{y5Jwb7aK!EDuQXqx1&U}ze6q>w}*Vk5$e&ca|i$RPDo=Llvv(Y}Q zupv~)rJtBk&(h)#Bxs<~5}T9YNHW5F(Cr#@u%La%%iOFC)E{4V9kC<56=B=!u&3iB z)Dn3tHvc^>Z~<`Y9iR-&C{~nuh9fK0KiOXkVL5tE4LTt6Nu>m(`iKXVvFXt-z?Wd* z&p+IH-6!f}s!MIsi$v;4d>r^6qGD=7lXl~>s!~XCA9>g0ElM_`I2UrB7`e>RmEn?jPX2jW{eCQ%kI*k=2ym}m@8?ER6Var`uL-ZFmO`Q!)*T3InLb^%xSS((Vt_@1uD&W)NgE;n-<-OXj@Im)^VkPB*oIn|0|11m`BPv>&Z7q?|kS<|D6#e_v zUKy+lREvy$Uq82xEXR&qcqu*{ebud8-WQKIXD+cze0w+ta25LWDqXS!DJpCY7I~Wb zi}ocp@Z44wzwli|3ZltN*^=TFVA&2Bwp@Aji|+a7y)?rq3@Q^m*wx$Rxa!rsJu+}d zWunvKYGO%({U1@#UmT(Y4cX)h&_Q;zKy20l7;zfR=QKMK7=atGlnoTv^g$tq_$nNh z684mLdNG}LOYPOu>K|Q?=t4bYOtT8xCl(0a+j<5T;#BKCbc<}9fDpT|>|pxA6QjPd z`UhSOU_XH5%70p$rB71s+Nt5?ReQ!@KKq#SMQ5H_0;=Q3H=jgWctw~cJ+sAs@yx$`Kqob*8w)~54M<`>FK*?lkI$e$7NVh% zup@VAKp!ACkX#ws5qH--wj_c3-*b88cw_YPye~y4;jYw7r7U(OZ9!@*0-1`Kpyhfo zbjO%cZu)TD6p^uIdcFI4E|HU@0PkDUEu4B|)lI?YDzK%-tod4R6Hz`S9l@bC4-M4; z22~W0V-V8_-@y zW-`KXb%4F|q@*MZPZ9EHRq6m3FW45{S@W)4bS7uNe%e$9=bDAu79Yo3kvL9Jw8SC@ zzd-9qeS_53mDUcB9M1nL7JOtN#glOcZ(TzmrW$<@H|nwgxGJ_cCXOKp0l>BcG?^Ff zM)iYW_{E7InzuTATzZPc5iVFnXF}US>AY!=#;C*!Sfp9@{CyPqN4TV?1Hy z4KrW(&QZ=^zy8z%br%Jb++5SUdq{7t56^)pf*e~>s6Ppa7zAwm->rLGs7DPx>Y$=D zRCo}`jg+3i7&&_jA;4L+VIJGc&czh_Hs$F0L>i8~exYqUk|@nr|6rAlw10~kbQ+Cn zW^dOQRmJ_ZYo=Rsdn*GW-Tz$k;xpBPxS3G@qW=sYw*{{H>=~{ecCnrd(aOF?&y$FX z?)B3xDJ-mA_>`Vux^K7pVkH*^XpJ4KbbrA@H z#TZ$rSkC=ub3dx^)G5=6{VPQ)VLX=tI9OzbQ7Ise@7EY_>}b!s;Gk2&Fo+l$d2$|_KCQE zF6dBpdo_*{^l~|~!I)X;m>2z~Q~%-Ix#$kS9Q41A`w0Yy^)@q8d3=V$TmtmmdyO8Y zzN8wueh|9HEK2|B6!GDdY0p+uYYsur`RwhTCzM#M`H;XV)hv}PDY+~@iO08{ta&7V zT)J@cvL{X}*obw1RD6jci<6P^{>hijQO#ifo$7oI(&eXgir9Jb)OB0US2ozVJz{eSbA+!-~ZT z#UmYJxDR$JGEk>PC(ZQaERF0acF67(Rhr;p!+-(5UkYqs6p1gp8I&p&pFTY|CmE53 zef#!J!|yuu{m|Mf_HK*k56NkaXcYPO8w*9&YB5qoA2yT~pUE^&0?(0hnJLbi9!M8_ z)ZxZW`TIxz{Dbglcv9?~2tP!Qxtxr8Y_YBMJEiJheKRA%UmDNdLqaUxXFgL)+ zB4*f&!w)RLBpPJfcaf0GDB^7UZVa7b{DqNv_qK@mRmy|$2)n}*m;A1CCBCh^lK{S_ zUh!{mQpQr$Ie@b_JZe~@U=RWDk5@7jbyN?))CVx}(cVIbOLI)qupu2cB<7;J2ofuT zWo)u}Hr&@NCYA_!+B(LC*iJm1h~N*Mp;mU=a;vn-A^3Pae*YM!KOaef0C{i}z#eVW zaL5!AP(}J|6}+GeXseDRib-DahUo*<PP?7?yaV{N|9Pa)yo&b|J`ZVkcVa;u^xy6`h9WU(*ehXDn?DKs9g?HkNR{l8O;l=ba8-S1NfT89pLuf?1+;_7jodPnt+c;f= zAFr|^_t|OKDBi`2C5RwbGk&S8_#`y7$PO!dKSEME)K8Y2JI=e6EmZpY^`3Ud_9Ybi zUsi&wg?rTiFl|Z$glN$hg%g{c;f(IRqN0Qkk- zWk(uaLdoqGB(#FEa$P?v`K`$KzeXr(D)-#7%9lX<_Z=C5L$RT_V3vi3F7%rroaC>{ zyg8P@joK^(O7mv?JNCQvVBxfSTd~rE#S0y3g6MKdFT2`>Crmh#*0YyvHOGta+EMu< zQ=#I!m|^5awJM{24EX7GLb6!S7h@r?mz#R8zdx3Uh#`Pri%!*qBTK>)UW41zR_`OW zezZvF3^YI9rn82mg#axcRN1&R`f??5`Y@RJaA=ykTDMqsUP;!>9l9>bejdW<0D;_` z^61h@mK9Xe6wY2=Lrtw*K|}U;XvcYMUChyO0xD`28^Oy7X596@%IDGJCjsXo(2iR`R8z#~?|o}-9Uda7B%K*CNTRdIh|zwl9Mtd(KX{Vax&L8+;@>xzOJ zBVkq)hUmCniR-;>ilC2VLd102`z+_&MfBJLC+@c1@scy+52~5xJUc&n`jyq1EZF?p zD@aK|%<16)O6bvdJrq9s@_D3E+^~_t+(Bmp+MLkOUrquZea5O|J8~W!ujE|uz8;m1 zG}W|6-D2e1Z+*@*#ihd`I@??;Ju3#=e5tbr{<=vhVMZ;Mp2&R9R6MIPZ2EA>xw(9{ zAie>Rv_JlI>k-H7$FkY!%ugNowS;h^J2GCN((Q9XyP&KwqY<7T1Y3KXghc!mWh@M?V1eH9}yd#qvIAF|`^h43{Eo^6nqDH~9$lklOKR9!FbW9tqe zY-kvgnx3qoB&wd+8RnTYJ9NXDJSfg~CbUt!me&zH9ESycMZaDzm<1 zd{d#PwjU_$Jay~F7E~IU=0GRyb^4~6r1~*{7w8m4oaz4$m?FmXo6v^czDrtRaL@pg z;?Yt-L6y#gW_Hp!T)q={=F+68@rLlL07s&bkPI+;#DVEaogEH~Cm$p-P_dtVH@2&v zA^4Ty$GO(@Q>H1qd4}QLeNv)A!>`1jwr!_&l;5C!rk*@IQJVwSgrWz^ z<3}6IDEPh^%=Ye$|;?`6Ez!^YQVS2-TdNoXFG( zxtytQ??j~!I7JJwv$H?y<#pYeAx@KX*r_F;h{exVvK|o8X3TWVw+y6|g4jz~yi1LO z*3*Ow9I!H9{EJ-py<&!x)%Nt-O}&5q#Trp@$2|xCruP^Z7niY}`cib~iWa~iW&j-z zis_8f*k5Lf)4FNHcFOz|QUs?a$Y7fVZ$c^>bi19Btw@T{|Aq2WP-y=(O%fgfhaa6= zeKHs$JQ?Oe9pqIH4|&|z;7=%*^H^0vWSrhYc97t=$NafA!l7^dDjI?KaKJ$j*0zpL zJn@2-0|N$a!5H)boH<(-rOGjH4j4%y%KNWSz$0b04`eA2uG4&gpu1i|o-q-O(j z@DcIm8}cBMr6O$Nf1wlLhxr8Z4V$2j&6HU1*PFAgR^SIv#K% zN{U!M59i|lw=4K#iLC^~w$TRrt{57C1@ta_`y=pw{N=I|R0$E~1Y5pgfc#@&{^H!> zc%Wr)>kt}D50?9dvibG@{S3UGNJS6mLVLIq1qT26-tP;zykBK7V=!A?& z|FvHJL1Ynp&EK?-e$B;+3}QaZW6Uuifo zH8qv{ZdG&h^$>d$mB^h4GS_upDh6d_GsXUczVyce1ua!wgM>mIYQgf=ET=7T8(rxRR;* zsPnC~KNRWjtLO6csc4s3Xiq(wb_XrPy}C7S+wvEbF5i21nPxY*Q*_5bn^x=W0;>Ue z^4k;qdjc{N{6{H|{Ls%OOvghqL)en2Au;6sXizWTvZ*jC!Q0l8~vtzOeu> zHGVCP&@^PURH_PCBa4h|Q9;C~Bc0m^;_#1U_v=1IncqqoQ$EwP8Etj?MnIdWaVI9vMn;0^ zC`H)s@y46IPN#t(1>Cg&|L8l4Q5r(?1FbPJ5`GHC!*L2n_b#nu@$D0)qD-ea0_V)9 zq#8X25l#VnkNzGrXw2=btF>3G{Y0x^mf`OvIuNc#RLWk@=IgIslcGyDcZNVZ#4rr9 z_jQev*O4kk{#qfplp#qfy3J+EMjzV85vvr#!UB1zEYI{lbHaECG4vcNk2>Us)hc8& z>n9+QCo@`4sESQc`x9^6%biw792^gBkh0IGu$1}W#HH_Ocdq4{oN7l^Imgl&XLH*i zA%ey7Ji-d^GIbuv3I0$lt0TFejcX0ZCdqisBnh-D%ArlB(~2mP;bw2PQkG<)j*@=9 zyVR+%v60JOg#Kul*8kNAsAK(?8A6bY%!vZ@9>pj;*(5oK(a1oZY|b&dz{2iDRz1vM z7i?QX%rmHKf_*A0M$Nep|GG@v*P?F?L{Cx0Jvw%IKQm#cn?dhN`Gwd+rdw%!pA8L? zgQ5F5-VVzGmC6Pzwum@}YgvzFaYc+TCC94YU&k-S5Q%wwQSqn5BFXqlCpP+!(EL=S zbo3D$`{@Ub3s1LEK;JbQU`0M-pNeQZR5_oTK4$JIw#JjEMr$RIMOM2dHd&9vuNxU# z&(KoMaZioCu06gdMKOm2Jt;!asb}vvn1yuaE6?O0o4a?ee(sdiji!)_H(id*)Ol|D z+fO`^%aRl!8q@||0$Dr|u6w92_-yg!UU?^+`Ib1;9=*vOKA69+(Iwr(rgv3LlCP{s zGtEsV^b9SukO(hx-5=imbXIkef381iM~XJ?IHK1q>8mhJ{0`ZCQG}^SvXbbQU5t<0 z^IILQU>?6Y>X@5n&&ITV*lJ#fEY-T{uRnvh_s3eQ5TfmU>1F)R_BBtr0MY8M`F-(y zwazO>6$EDIJ8o&+L6XhIFSn&M+M?3%SD`e&=Pa5T+|dl|HvkGu4}pUK@>vCbaE$kL z?dJKis11+#+~9UMse9MQtBC#wS#p?)TCTk`cSevppJuqJ4A%OiLrlkX@_tdTRiO zsfX`uaUbe7s*DjPIEu7^kChen;XoSu!srlPx#xYB)EZs<-8+nhPn7uO#*_rE9G1~@Fr(gEg@?7O=l*O2I@)5cMV_th^nB0@G@WPO zl}0Hf5eq_oGc^`g!Rtf3cUUh1K1h2SRL|!U!)Qr2crmJ6q~#=1SMfUe zhLy(eNiKn?-OvUr(=UdgGJ$%V?4;m3jY~~!?Tw8^tB^ok^?pYWvJY#m*M7;LG`8XW zI?ne)IU{7tKWq{XA(w4!g^IsvtUDFEx5bYiKcej1xA%%C;y7GHM#K)PtE=;N>0~1s z9M`3DU!hyB%;=xsTD>AgLxmctV@8+0?mNSwx2cK^n89NCy#}}pPy@y^-6snLUd+@_ zAt*G$(Y1VXva|hifHPSj9)Rj?^W^{?ThE{C{juu(Dj^W@JK9cACUo2IKuJ=R-^h8O z3=tVKd>sKyphf%cZ4mzPju9Q9$^eGSsiFeIcL?_1XaHcWL_oty;2YotG2kC}^Eav^ z?@vk`>bjk2b+MXh)&Tf;sHE#2MjWz`z`YHj956cf8TYrh96&3COpX8I<3DNKN20-X zu=Zg(RgSNm)5$_lR2WkH!>R(UTytkh{B~Wx6hcxGur(#X4-Uun#liXy0%alt-M-`` zM8x5vBF_M=T#ouLu4|-#$r20>%>}KZfIHQ}IJdxoa*(Pob~^UM<&n{^nEqk{eH=?4 z)Qpwyxfn{$w>s#0b%i~aX7PX6eKDkg)o{+0%N-^=ZxN-dLEZFG=Dr2f)uV2~7)NHZ z4GC#)N8#|Huco+x3ynQJxU$1*#JPUl9_9Ss__$a^TS&-+`PF}o1Ped-joNkRDj5C- zXg^ut&Qzs0GWd2!k8Z3fXUKUQOHL{76ZV3o?)cb4`v*Y+0xnXyLk1P>1&)nBYR1sN z^Qtb{kWw&g$!PTs-NpSD)j>H}s6HlbJ)&#!VGQ+MQ$+vU?TzT~Tk$KMb6Z%ZOI7=m zL=S^`27|*>AmU+8%&Z|)Pq6ce6n*>_sqM=U3cqv*}E=?YI%!$wzzy(uT}zUSu?w0`Gj z8w4Zq#usSJ6K*CGwnskJ=K#51i%m)jg4Bf;-vAE@vWhYuG4YzC_J!U1;yH1iijIeDR!c|PhAQ|!WCa*`Pncx8h>wmQl7C?4*+-wcTU3@`V=a@wH<&9Y&yfeS$q(Vc z)VahN;IWf4WsonYIIg3rIi9_wTftVzg-#sQllOfZzc?PE3r%CO5$;o{XmjvR6(di} zGdEyYrIU%_cz6wxYzLKWw#v?!1~p za{T8!hpROvYi1a`L!MmPM|@%P=AcQdcRg~8JZcg2W7=lwsp4l4k4FJ9| zDb7ippwRM6m35A88Wjca?)l&Q3p6ret0bbCEoeCLaIVZ;MNXJVxl6;ZEl z=f?-?>4{~4q4ysU%2pn+-fg!JVIOh;nU-&!8H8sF8vPP zy30rf$&ausm7Aq~Tr1{o%ywe%Ox^+nHeSCqdt7CTTcX2N=cmG+m?$pk$S_vQa6!-5 zG;kb!`lR>Fi%PV3J;aMBuhaUDM2UF8Q#myzii%E;r5hYVYNHKp1?Z&#OK8Zhlt-W> z?%&wrN5^DTy`y+X%d5Pm=GZV(FmG;t;i1Lstj+G_Rl;MW*7VWckuVoNTJ=wvs^GbW z1+$gBqM~9gRpfggPtVI-UFyeP_xRo0`z-{YWF#ggzP&^?T;gCCU7MlA{bjd*hvIq| z7^UwHz95i7RL~gWSa)(bN)F%W$1+ljav+A)_tK%fB!|}vG5#mUoijl=U)=kSsEz<; zZlV&OsK&MVta<7k{acgz%ad_spjNX0&k;$fIcx-QR1&zG$er;2k{;Y?vjlcEkO@6R zlH3=@;g_sAz=1e<`fvT>m*N3;BZ6?k>f<8-CJ!kC*dotJv>W%_ZDX&$$MiQ>Mk4%M zOooS>$~0)uFoZ<@Fk}+JIIPm|pGEt(6Z-YD$O||sgkTGeC40qpJ9KzpF?K`6%IQ6W z947%97l`_<TN4g}}b?snpSR@XS)}(;4pD5kYJlycS?#I}P{k#|}GE4@Rk*XOkR} z&~a}Xufd~Z!@NW!t8VhPwD<4l>w*ER=gKPb!o<;1py*ZmP`p@9SUHY|nuz+q0=5Q@&QX2C=If%G3atmKBtthL3)*vAKkV0fZwL)bL+}Q3 z0Ld;`a{}j;OMp1lNAVX6P$4O^=FCJ5$C}0SsdDCR*A8^_qTUv-vBU_Dorxbp8E~rD zaf_O4KKE_);k4Ajuu)XHX&2qJ#7EZmQKoS~^de2Sjg0MU3L^TCjHY6OL#eIKneLebJ>tqVMxjhN}ADmPcdIB!u05;Q7Zm!UE<$Bh& zH?UEe&_RbeJ$o7c540RjP}w?A6jV_cxpdVNSM%P#wxeYxGqd*3O1PID9uKdDnz6TAKP)Npqpsm}pheTW zFXbdVIF*#@XsQc!m@P{BqN+RJ%t@D#S3i(A>3{5yzH$-$f(IFn@m>>$7KT0PjwU%@)uh*^C{kV^oA;$dY`!~| z*g7cm$PThp!58?!!gn9>!d$%*yUlh-KO?eg&FKeE5|CQ_9aOVPu6;@SiJ*_#pf`p(Hj3N(y<++R zfH;zs6jPs~ex@$IcKfd9*Z&WuB3TujU${i2aK7=$K4k>Wmx~LJuf_2)+*x(*0dLBG z0}%~qa$&ur)#}MTvd}~o2>hjbtC-P&>Zfoq2nkp?O(;Rpy$@kw=j1G~m3S?YKFh(! z1n~s1^1l@@zWm(o@geuyW;dOE6T`XXY3mIJcq?bS9g3X*Rkm=Ac(LwiGe12`pTp&K zqDjAwgi`kxL8+{-`E4FHB|z|GV>1Ptwghsb#)BE6m{O<LrT;IqY z^k$4S+>!9gnjLq37r6J~0qTLZ=)3P*=teQVGvKhMsa7>de;kE18rnPE#{Ag5fVY+ zG_I?Ruk5_YFdUrcksyhmZ+glq1K8ewo;oG#gPs`7Q&WiPkrs!SP59eGn<_xp(YZ9d zRvh2GdpGY<()vJ9`*XRUbL8o4^GP|bVWZu8e|nmLeSf`{I-3vp@^sg*{^eq&NvCna z)a0b>)KfJz-VThZ>1mqTgNa48%I^DrN5Ly>12YYdF~qzU9+nt?hZKKF;eSNC=Zga` zChDIb`#Qhk-Z&He{;5KL9H|(WUJH@IiUV?hpl8HTvM4YM73V8%Wa8wXX!7SZR0Na7 z50Ddt#<9xj0uvh2oH`5+U^G49<%D83025)aVsXCwhun`0 zi~V3Cn6L>@mK~~*eZc+z9-1UEl-e@)-=zwFVimHiC7uZMgn{RBQlrPWBZHF5PcrDg zgXu{k6@Ku0J)kj63M1=39tfGFVgZ?tcTSujQ{S0baJ*Yafvqfqtl}?z z?Y8;#CJa5#SssuH{{@cH55rG3ezd%8k}J@fbmXB<=G&SAl-zgRLTDi;0t+IR3xjxH|0E$iLQ6ZuwwptEOGu>Hol^lXmCD zVF~}!v^ny$cTASEwoYrN%vfY!lvukm9twMF!Pu6oe-Ld-@HER!>nfl<9e6ma@GUqu z;`^(K53(*=fr3r8wHHQOCR1Xv(@o@GFRafD@&bdfey#7g1lY$Z<+T=aG`K4KCbNv( z&wbqwX5wB^*P6n4DdY8yP7oRfCZI(*(QMh9Cd6{y!>aT{**9j{x~_hjT8cX`E-j3V zJw+Zu_4!w^D_=Oh>a<(8`LGlHvHtDWpgUY=MPIV^M=d|QKgi!hEjKw1DCyxdt2k$5RN=TtwK{RmbJKfXUxFZt`e3x|D ziq!YNWGCuqSm}epHl@0htHH>SMa$yoms3yyP`l6|>!A2RjVcf^Y@2`(6)W;DI6Vqd zT5^~40^LWGyr12VEGFUOiha31p<0A^IbjlGg2I;Zo_LO4_kzEIuJ9A&{=+#U{e|Cg zsm0R2qtZt)NI6?tG{yQExLT1ZVxLp_tE$bh_S@Oer8iB9-e2W5u!`47?|5-`U_1!= zm6s(o1IucjAgku$8*(qZB_UN6^P0k~M&>UJOl#Z|x`2H|Us=uTltoFB2cr%02k69V zh6k=Cet?i7EY*Z=RT?;q;9z~PC_45NGrQi)`shJN$H#4y@{evuhuybS01-IEVT)nD zely?|)6zR*z2F%`AyEBWMj}Ag9|2(qv;#O~4V7u|L$}&weCL(#nzWVxnoKEgfut3O z$;F2r_fntFos>z7ul8XaIk}8?xro%AG|vjtVSTZ%=L_)ER%1$d zAi)1j*t!5?YO&l58t z#oh~rpO}NvYU0h;oM@L6j zOrqH?EbZ-moqA1zm5Y1s*Ug?Qpm&c9564Owc9bBKxB2hS-lpaLpRg(%8}z(J!{8R~G(;m=J1%yw7-%LnmXEI;p5K@;2&Ks@xEm>^jJ)%eJ_>V_BQ z{wHY+=K-asRIGxd2TN=&)(Z?Jiu zA!6Vk{|tK%#37Zc6_i+(U1-3iC}-Oc<{!fX^Mk#&9n~!T!)Hz>e8;MN0Qe{9%n+jrRHf~5W*z7h$7qY1vx=QijO$G2Kvf{GGb z-6FtXDOso+f7__>Tf@&(S@R@Wg5Y7FaTU;CQOfXbE@_YvI#kE#FO-YM1vOvO*k6_M zi#9)WT*D!gDpbxa$UI6l2+3rDs3@SS&wjIM+Vd)=2Jvw~%x!?klJ2#6>QS^mVq_Ie z(rqtxs;ose;0&C__2)97XNrDvU4ehbyv5RSrZpcLr2@?w#Kdq7GN>GD##26%f#>tTSr&+v|H{>V?Eo~i~n!0#rNLfh1ruad2N`-f8r)j*_>*Nd4 zuDv$0gW=ey>R@zyYQ4WmVY1U-Rvpe=`ge^_e4>#a#{0t*yx7A0d`1iRH6)=_{b*M7 zW%St{+frkcA)7+ta1PfMA!~EoZZs9<8dttl2|G0l+v=~h=i4qm^dC+-bVQmwRY{Kh zc$84PV$_-Wp1JPojzv!sF*MM(d=vbhSl;2TfIGXDKFc>$Ze}bZ;@O!~t~%ary4{w< z@_Y)B{B;1CnqMRzEW{xYjvlvpn?VqS=66LzU@#LKd;8*)-wqWQJ69kfp~6BKcjgc8#@05R1C! z8y~Cdz$AK^$hND*+s=EQ@>1j`rWwdCMkIT&w1-!ky(AR!Bmsi8FMk)@1uChmT>AkSTE8!&@n-7x=T3TAU_h6ggK}ot( zm{hrviHwxls<}7U6jOtul4x9MlE{e0n*MvNm$z0=R}d1$}vqv`z4hMXRcWT<_Erds;N1*4Cs z72BQW;inJ@*pY1PUAN{0>H!YL#fDiWnxd1|_nXJ)&EI(u?JH7hj@h(?9)h@^*8^ps zHHg4KLjwaP&VWzKqQ_FZ!~{2BHxSmYyM*!2!6d~8f7b(O_@qIk`ar2xMZc!`MZ|Hb z;q_+YR(Y=z72h-{v`*xaqRaNg{(h9NmtFzsGMJzjZ)q2Q|Dx>;5pfj;32gB@^2=-l zP+Tmo@~>5zGuTFqyb7_)Xl$Ra^lm-K;)mw@>hx}G2>6rP`a zt(jgN#R7YE-dOB^uk=XR?lPOdyDZCfulzJ1G;n-hVlps2)s`^t2v0dh>Nz`I0DRfLS>s&sUdaN7orOMALeD z-&>lL3iUu9T86;(&)i0^sud`t3nmy8NzG{amP7($*ig6jgwmD+1jNcZl=ooi2*N zyq9B8pNuy9q9OjKqH~J)bs7o>3>E&t88j;U;*pjWV+ByC<7N>gYG{^!yXgtd7I-ii zXcLGLUEM-7vZK5Nh3|Pj$XOG-&IWG!b=(sSVn@fEH$}XQLJV%1m!sb;oW~#tjd-l` zSat(E=%ryT(Gn@3I>pHI%`VbqIgR%f7jWNjHZ)1Y! z0iQo-^4m@weIL1h@7@M;^W7G}0jo$fkP~9A20KH;<%GBS^he|U^uir+&>#+&YjQ*X z>IwyD$L@UFtUB!?!*ge-SE<#ZjmCw}F5)I5S9IK%Nv5?3><1@lJ!5PM_@e31;dtWp z;-D5g=}|Wk;3&e83E%3kr2n?TTJ8t4KS`& z`IfQfrz$+F2b@e|+voMzD>e_OU#SALb>4<)c7-r8qxKYn5oUJr-%VHWeYAbb&ww&?Ot(|p=1A}^|zio4UTJlDSS5Hkf+cFAp6~5XOXCn z3WMobl-&q0Ksi9DBtF+4x;81=&+QJjI0=de$t-{aXk!>up6`S_R~z_zgXqy}IWR;V z8y*Shh4+0%+Y99MQWYLBCuT~}PdcI)-9OFL`RKNPjW1N>yI-vA-Q##kb(Cc3G8-Xo z>j1*R#ZO2~_PH3zjLgM`LD}^ikLp^l-%V6eETh4&A)n#|kbbLxM1#5k8y>yR>DSI# zh@y_RYye)qCyEG{0YdhCD>I>`xwxN1vYmpuZgFAF@3rZZzeW^?T9;pLzkAvgOU1=B z%pj(f=hj-jqp=xRXf^VYBPJ*IxY+4VT)D%FDsa*7?&AlO@Amo>{LKPHtP6~OMSQ*~ ztU(}6`~xy~a{~2VzZ7NVmHJMz!s)e$K%Pj_F+cq_cY*tB#|vsqbn*{*VJ7_1a9xAj z&Bq-SQ+3xuqWD&(&7-qt#q6I7TTib$sXg}mJ{5hZ5jlP}^;`yNi>T2gu+N|_Y)I%H zTH7`Tf$rfG)OtYrgmRGlr%i^YK+QQ|g(=vu>mjBbAhrnz5V-h4bMwA;Rp*1bB68OZ z$*o)6C1!rP8dzaKMwVI5oR zCOql@sv4+1_B82geXcLs@Q=KP21jKN_18WZmtVySW&}V znP=)T_qjgzHNMWg8O!%oj-(d8n6jy$5_H-C&C`E9ojXnOz1pr+8}1gnPT^}@wuu#e ztBT9lI|Lc$>n#axOE{kmplP2|Q0Fa(BuqMqoL*^MejU#55#G+xs`yMss4{>Lm&WX* zh8HKH5&=!WytI%tyi|y=k2`HMoMYjO+3%BPzGsI zyjWTPRr{SnB}IS)sH^*adKsrI@~A}>SOI6X9VR3sRHHL=U;`xZdK(^8WaX|r#OD&$ zm}$7pemgMSHwLkLw!d7BW^}qU8+Bu})#`J2qU^o)K}Lz9?_SH$vkW_|F#DrzM45u? zkA{`;Gm9YlI_hO=FYx|t*%$RB8kf)O)TBWyXU-c$qJi~I`(sbtKu-9N=*RkJ2q6PX z*>x{#S6YhKL=nq=YQF9f<{Y|bOy-+mVQ;~s4SQ%IpPNxq?w$nW*|W0wu3?1m^cw07 zu{h#}hz1qtzZ?>{IZm@xww)j7H%{zNWxC!ain_kM#(&BNZznNSaF4f=fu)i|888T@ zLFy#XJ{OpRl;oe%gx?ni?l)_kLzfT{~B<{0!;a61W`HWa(v>9syq_z}t6_1#w!vQ?f0kmvlA&!9YD zVuU?UWtaoOCO)4+BA&_%bO<_kL)3TIHe};E?wYcIZ-^*|%S?TyV#($%9A4RK^U_)F z7W4ac-J(>BG7s#&kxWL*-KTXA(kkg;jPIAe$7g`KLx66e=9@BF_xko0gIrP({e?Pf zxBY5VytSM}NyTviP2gIxCci2zX2guxcgwBHFtTE6`Uj!vjDkWeF$d|7h^QX&3cY0N zF~GsY$EnKnM~ROSkaxTru&Y@MP?_ngS=p| z|84e=>@B7@Pb1&PT5Da=Orc54qsc|c`aT}gl5p#h{DxDRnzK_jN)z{p(1Cq%Uiwel z6=xu@Sk4cx$equqR`nXnk*cf6$-iI*HP{~#L^m1gll45N(MSY_KZZ<{hT((JdQ#ZSTR3%E23UwVeH5-B@9SQ(<0?G&a27{t z>SL&szkG1djr@vO&=C3-@p`N<%!5FmkuosCjuG(7FRA9$e}W|m2SE5Z z*T?mUm46?f=&xvgMFB>6c{RXsEZ1=S^y=Q!M|a+9hn$6KCl28GRg^Dn%KT}|>DRZ9 zc-PR}xkqs{mhUqngheGETR8eepId9|>no}PG#7)xZS$1pn|H5&2HyN&4@aqwcV$6s zsyuY`@cohDulF@^aLB$PaQ%SI(DHt}KI_?sU!2`k*|WRTRq;b{-%4zVE!_~Y-+Yj| zOlEX-w-t3^HQ>umX!mVdFceQ&QH*y@bm$2y9d)xhbyqZa_FyH_e+4h;3=8v`{NSr( zdB99VdxPi%i}j0;+iOrIU@B6)_wq}jGH#4wKl_Q8$0yF`@WV7_bmjECI;SD*SJwx} z{!xfLMZKeoOHLW%osG2j)Jj;cz*e;WgPe<{BUYv_u)Anb1lwEcculVz#GtF+H-r=h ztnsE|3Sq1padx|SzO4I18EXyu50#&b2R!xEH}=WyN+m$YWQ*KzOkAGWkCycVL1~DR z=40lwfI^dX?aa+-*_7@RxA_o@RfzE@&D(T<5C0u&+j2>1`EB3g_3Xz^AY`R^17?v+ zSQmRv!7bvgw{7P4Qf!P@4YxZZv9~SO-u4%zz5ImuoTZ_#T6Pyfgiex&=cV#vy}lh0 zpjo|!t&+2^Msc{g18}o8GiKKNdMo&GQ$nQ9f?g^xe5?YqXhpuU;kp-2;C~c)cfFfj z^t!*v3HRgS4w*}{#5nwMC;FVpIOOuYKjm~z)u-yQlm2B(N}bm?_Lj~Sw6kMF{1N5- z#GR4CQO)s9Dr<+e*<}=`W=B07F_Slh$~3-7?x_8wJOo3WH^s!pw6dE^NFicF0vN5p z*O0hEtlS9P`S6F#5-lyPqL07GWZStTs_9{;1Hnd3 z7jbSA$6*NWlh#yhfZ}LR`TifP5Lt9<{Nejk51N{;hGd>iH3r9=%x>$slv z=G?Z+KF!`|dp82}dG{B?UXes~URT0JL-%?^Zi+OPQeykzH#B_k4N_DlY`bM$){(BgE_j~AWZlh1W;S3~?E^CWC_9a1Aiv0Lv;=cUjh2RmA1I)8inVIbpj&Xaiq)kwIz(u*CB zOi5c>@p_OOiJII*1cbdMvpIGqcjZ&9DO1da?=1pM-{BQE#VfBH@Q?R4fHBG4NxjCG z{T9BH%qfk{yP0YShO_j?*ccaYY!B>q(H!OGM1y+?Tw@q^Tlt(+c#9yf5k^NXnw^r!XWrcJ42=jcAy1NkJ^jvLX?l61EU z&tB7qdt01I23|_v$1@*6E~##RQ#S??&!Zl5$~HCA2$il3F+{W#;AAoB7JEcYBd7 z>n@aTI|AsRTLt%KD)9EV_8eP1E*lJ~+;_BO&TWnbofi~0C0~q_bkdGc?X!;MU5thr zgeesXY#!Q=9y&gr+no9&y)vG*h;;92yOnh(%vV#`X@*{Wqx!rhyKHOI>V1fpMs|N{ zeeTRg4^9;C&|DhZ*lg8hxXVykUNf7|HoMq{Z4D!fi|0Idn>|2XA_`5I5oO=T-5+@z zSNY^ysAzp9kJPCO}( z9G;uI*+}ff%MAUR{STpSy5v$1xJp|>b=anR{uW_Y8ItoP|vEyMZ$W9%)%qKe;d@1dkiN(t$fkd#JBy1TnW zO1ea80qGtZ>F)0C?(Sx22Ih?V`^UMS^Wu5KJGj_;_I&ppYkk%O`ymsHXE7nG=}5@R z-gP2JeEW;*un9@CzQ<;HzoqMvVTB_>hlhcuNYmkEy|%;0#An8y zm#1yFJ@5OBgD}Y1v()G}*?hJbUfU9ay0+QdLFc?S#Xz%g84^{n*Yv5LWz-9J;dItG zx@|&(z)q`@#j7(e@Yqai@VtWKvHf$r{o*QIJGcPkd*!$O$mMu&>uY%EtaJOagY#iJ zs>;kW?@POk?xg*Zpy2(;e%V(a+hrq#_^rT+CHi*K*Do2FsRHZFPfwgmhii$DtJ-1Z zJ#6{wEXR~9EGu8i4}0hH>`|$dt{pVAmLU@eFDbrb#nFPUXK3e3UN3|vxV|vj0Q%T$ zvzkWHumtJu+<=n}IA4P_XcRRqhtDSJE~pi=WH##XVXu!75rbEr%_~D9E8a&try%@x z5?z9N=#-r*UNL{T)2PXWkgGCEGUkrY+QFfX_I}RmDas~Y&%5rhYPh`R%p`Go9pJLX z#sq{yBmAO%0ug&xqpB2p50TmI7{Vv6Khb`!-Ts@74Is0iBX< z`G;gk&)SDaM6m`yBr%T&GvIM|=4G390HFf%Mn^4S-gcJ&(btvH8Ah^pS>M`?HE_O1 zJwgZ^r9*Aii+QyPE1BpW-w4QE$5^lXo_v>rDr|Gxe?GE{S7Lkitl)QhMY{6n)SSbH zyzbIXKiUxg)Lvu}uqt>ltTT>^L;&C+WL~VISVJJI$G>G^c~#&~qZ0835%{t)D^#-l zAi(@J4IyLXexDO^zgm6PYS~|^lX&(_5ZEp9je#LEdLmt*e+w>E#}^a>R&4Zh*W z=s1c83@$+j&kn5ny6pOrs~@u9;FaLTVL}Y5zZvx#^Ja1vXiFc(@h+=yzg>~bVY=N% z2CeQ$2a@mSv%5jwf5`mc&!( zuVw?ld_1Gn4Q9fo3Uc^{CJYCc*}tlatpU)t2V{%*YlA?LCaXp5NJ14(r+~yan~xIK zNs*Y1AV4ugBaEWYEL+B z*DpDnY&Dm5mBoxrbsJFBj`7{)%L7UC>gZXMXpI=NzGTdO$3BkR{jnr3m6Nl{Y01uq zNMX6f-+L0X+T)tIpIGeMq#?|SJ2MS*Zri&GW3;Z2L&=}lpn<3hs$2*CyKKPOsBrofyIxj*Vbj)#4UU@d=4?YH$b0 z?CT!AOTOh_g!Ob~6~099&`+?Ie+&oZmoCpeU-!{AYcW9u-!GkWUhmd#ttRtXb~2t9 zPkq3y^>^S!>ix>_)kToxp+}Vav$OPAG3t#BV%>ab)Q*A&9NW3f@4<)ahYVQl3E$kf zcC&f6uaoIQF9fLE(Px#Q)C3|w8oTH0yd5y)9CJj09Mz}rS#VmQ{RPg?E%PZ@$KesY zYbps%0rTc!CN;AkeBhWMronq)!JqqqakY13Q&%ETV4BtN4qGpDa44|_(V%f1($AzY zyJoG|VR`ZM^;Wjl#l@ZdI^teJ)v-EFNAWsy^OtI@B!)zNcl>6-f%A~A6Tf-&!vb!f z>l5X${lu>i%-JYgF~!f9N{^Q82;jsrRW7oM1YE23<3u7s=VRmJT}JyC^9G%-?pmgJK!9|FMMAXE;GP{M)rfXSUQiVY}Up*;* zQk=UWK^CaZYZqokNSY`CRHliK4kmXD6_Qr*gU@_fjw?Z2`BPv2*<|Lz#~Fl6Im67% z&MI91P>_1CIuaQW{)#8wJyHT?SA#5F^vX2|N^SJ#X8)Q4J6$I;cT6u~RkPaJe_;Bf z?OD#)iDWP9t=@qTLr2$U71e#da>O zV^Y+T`G6M5VB=r%t}&Ya-Ir1-ylh6x)9^(ZY$4pkRK|;tEjC3kLax)Kt3J`Gg3XDsO7TE zk*RsgWgk_OE?4!T{asZ1eGi;We6;f{Zow#Me>vmnd~LIxq~Mr#o*kqaqrPtRczUtE zMB*Ui^g@tp=VwTY4%zg}Wzig1qACD{U-%v0U+DB}tq8u2^{an;u~=B%tnb1stB>vV zJ+$lB*K&wCJKW;-8ax-yLhN>UMkUIK*+zzIeQZLMwW&MLntx_N%+S1C!~_;Ep5?SpIN+BR-*VvbAeqAzH!2?7OviM7>nwCv7i36Z{itk#@OL_MYa2$?I^_uL-9 zYNoRUHtjTD??YCjfS4uGf}j~taBv&H&^62an&Z4f(Ar1Y`C*&XGO|={q!|%DF@L!?r{6J(Pe!G5wh;<| ze%}*`i**Bd-=SnBm|oHD#Fjx$GUU~3MM>TjPkb-ZKK?ojWhS+Z9sQE?Ebxj||Efku?kMoe9`?$4P$l97Nis|@HL>=XL_d^l$9!BBvaJH# ztGmoF@B`)dL&monG7f!f%+R%7f~KyV1Q0G{{J^Iv2akMaUJX}4&2y=356gP{b2aTZ zi=-L*>(ts68{ZU!Ui@~Lp6AA&??!d}t`HX=e*%Naqt~>n$F4`q^jCkcL)u(Q>?_FU5>e}q+J~%im4apv~pEbK4Q{Wc}18*zEJZsi`eM#&RGpjl- z2a4ZHe_?*RERqOcUC5#cW#~8v>h`>V5VK{VKwun4g1zB@4GXi5~9* zYrY~5;~M^6zq{H_uP<_XtrYrhMQ-XGBjl-ec}_(d zK`Q%m#aPXa!iXH93dTu3Ygp+C{eThpT1fkL-|;PX$(Rd)xOe+e+@ZLYmB(O27`^j; z!f2Wnue15XNwS%<`J@_~m-=D}PagYz+(?EBmqi_i&DX_~C>rcd)>J zdP`Yz=pIX0mw3-qBCs(~xDKA;>CtW$RBadU>I0%+q;6%8tHDnzU5a`5NM0{aU>5zg zR1nU?5?!!c7Y;dBc3FsrQy1ortJdmecRWo`ol`WunaWSNWKG3d)UUw0O|6z*=I(ty zC3~zsn%r67<3;DpyNr_WBNbJ9gaZ|yx~#kS=XAVLncaTLwap&u_zYXH@M%0NLcS%- z_Q|y3fPS&jEbf;lB^=eiq9V|K8+ytR^_GU=7WVr<=ocKO(0*S}`_TlA+&tUn&aY1N z7Ye;|E_o9)5X^Pw^Wpa>hQO-M06${BXiH&Iwb$r}z3n7qp!*`c$=g;@KOWv|(39pC z-`w{W0H17RwY1O$v}693g*2^=Cyd9H5#NyWh^!hgOMnPjc!|5dFC}Go?$F93&~?IT z#Q-b0rVPmKdi3$LKA$KbNyS~UESzc1_kM%b_x1j9>%UF<6OQWyemrWjKIfLDpU#V(zmZ@(1Eojr5dd!#mvPf6GKM}&g z{8OF{I!jRTH4P<;kYmgI=RxU0&S_hMA0#l2lCjQ}3MXcc(sD1c?AM{meKRB|Rq?rB7;A z#pP{#@vQ0%PLFBL_Z=lx>=ttA0yaY>iz?=0`SrW(S|0(eOgZ7|C-ll>gLok9 z);#F!q&~g-F_|a)F}Hq3=x0}73SVMh-Xx@EcMeLnIEr_9b0^`LJ%nm-PGG7J$$J?IU39d{;mDt zJh#W>jTW2FIu-h_k`#Rn7zB}@##Pasiu;{z5Wu;ZRX1ZUK?P?xecr(S>|D6qedfqC zNi~-nre?k3n#Z4V@lF~`j(EC4>CL#is+_F9)~;Oqa|f%kt4vrlMYCFeo`%DPrNPkm zn>?E0%v+)sI-9ls(rjsU8Lu5tO_2Nij9R>(2hsZE@g&wIWHhLP9bc^8_OQ6DsJ zCgu)%k=_tXe?GOwuGi!J2_%LnCxE-XMKk5jO$bBp`LLJ{w62xtfGczClNHaux&DK+ z>F{bDyt7@SC#vrxbk}s=wsO5ArvcRS#MWEiQ(?80*eJpO`0iyiFl#(x{3y-G!xtMO2#fxyb%M`MA zo?Rj_?amU9LQI&hF9*Txi>=KqkKL%{5BFVBdS1+W8V1c9MK=4B<5A41kV!L8S@!Xg zb6LyRwRlos>ZtgQ7UR)Tkr_y+F2XZMaJ)6_Mj>ZHlY`>t)ADLF(ETJB*m|DTO=~8F zL%NxCh8i{gAIBgWJFMrjzL#B5!=B7v>xH@--G(dsfnrAn=~}v0`)>qTWeW?a`GU{J z+PW`E{J)Kex0vn!H!;gt+dRt~{1*6_$j;7@HUoc+i1QlBkuGx}MV=ORik{YmjtuWc zv7@a`khg3PQ3nX#9%ccn`O%T_WXqk5aAE(V!GH$UAtJi6rGANfr`EMOwd~%duD~3- zMnZ0V_$15!TUX(XBbN7@gUCRW&|Br%!-ucQDxQ}&<@$ZbDDlA({iM1#IXZq01B#YO zMY`Op)3Y~)oKX(Ae#Dt4SDCtiZa5X$KuC4bOO&5`;d%Pqf~g!ewQTnRgdZ*DSpk>l zo$?w3eNa|p9QfN--lIB3!$$G_(2)QMtmJ1vmD?7gnvmOE1a+dmBZvml9B2j?Lr&uV zU^{K5q1$*}By*@J{CEmYX-x|Y3rm*94u)0E5``&@OH7>3@>i91e@ks9QU7oHg&-#^ zh4t+E^`hDro^{%U1QL4=M=2Lw2tUK_Xw7jyg?TdhrRP{p2@uE zMa~z=<9g5CI>3Suz-}dt7=_LZy(6^>;MvEOw`iATiZlc`J(Rnsvh(4Zb5MIhgAa$M|+KNsfyu^aS@XuCaDoz%PD(qQdR5*rEk?zqWuH~nP0A1wPycBDp2M)ys zckB}Mo3{j_8eZ}HjNrnvkw?d)Zj67>QT$7wSee z>C#TGqQ+%+>GAo6Tts^v@GZ{QFoUfy62g0L$)HYek104f=y z?r*fei^S*z|4xL9)%8L@Q6vK4DN&f|+i(v*-ucZlR--D(#X#L>{O-t3uREP3~0>V?#}C>DIJYM7@ZZakd7tF=Q;} z!KUkOBo>D~T(T;kg>$mXZF}g<<|M53 zcSz7(=3nnjGB#^NIsJjM6w&}!PcIGPNXh3J26xyUI%yrtZJ*9@9B7IJR+2kBnuK=C zL;66P{1J_$WpqJn;hXFt@${_nfaG0A4G|(Wt^u`bUCv1pQx#d8SuzWjAddCmHJc87 zqS9wg_6(h;B{@$b=g<406XWTvk>#?+Z&neF^N(hX%~VFcnA<)35i%NE0KJeaD6f!%wV!(RY_9YtWZ}De%h0WSG*_)1J2&gJ> zem*jPxN@yTo5(T1cs}Ag?zb+P1j@nuWM$N&&ukP{h0a|>$TKk)%!33BveXird$YNd zokIzhUAb~?1@dcew`J{HnNlcTk$3k(l79HOChOhO)2X|#5d@mcf6fV{p^8+qPuFXf@4whSbzhZT)@|)+1GMAg#AQyvo;@D*7CHDaf2Yr>Au? z6{Ld}z>x%iiO`?cSXmTd?73$sA>Wk=eO{*B8?2GD2Tx`YXnZ^VbZ>V|cT2+hf4U~Pg$E28T8_j?>gPP4MCxKVlS9hHuq4wQ9t5^ zO@j67aMfFb3F!vMOM{l#{#j7jcX2ySr+L_ycvtr(_6`448xh+S zfUALUwzcg?z5PqkaFog?*lV}A+*jU_6p{hXirybyz3+?Cq>{{LgkBQoOERC8CWvuR z3xK-~Y{RZ%5r(V|3}%iOPKv!qh;aQI^ij}4!4WY;5J$j5n9n{=+un`PnhdbA!N;Ro zc)vKC*#okvXK~7V()7lwW51ZXq-xXV*T@N@c`-g z8-??O$sA*`=dE^6=ZGKl{+s{ft^4uUb&hbth1w|h)qv^_@zd!|@7Zu`@s{o4wt9Sj z8|58+5U(aG)mqnI^I)%4eD?)URD;tqxh4$pQ+2Yd+YXB3FVF{kuaeMrIQm94vp3AId=A>k z^>^YRH50Bkt27-x&B1gat^1-#;-j zLOxi0uyk-{JE){LM1yp8DE@mKD5(uojGmPLtSfyzM4%wFQUi6zyQNwo-Sv*r%YyxK zQ=^Aq-(#E8wvw#PZP3CfM9}@2q@F2{(s#k;u$rlsbZhUC((ku<{Nm^t0?;@foqM+| zSHlmSE;_$ncb!>Dx~pQRXy?*6*kY0D#cbEq=$RWU;YA6QACe8b8yYndQ2wyqZ<$lKSj@%Ujr5JUMdF zAU8VOy2TkL;r~CYB}yY4r~1f>V6b4^2qpr!TZTmpgQ%oz=&iCcscR941>|Vg*C#>#}3m7H1I>}eL>twP0RP-hh9>Qq`_oA zk(M5~%jOR%V^1)?g|2k5n*#!q~LkKI}RjehKtum7HyWY_@Bim`#gW{?NGX ztMKqfz?uG2x7T-6|G9nfM%&(|alJ16gZIwno1_iuZ7iog#;yu@jc_h_RJ(ipMGqiB zwKkdd1()jFM*=jTqGuULxr7@P+L#lcj_ENXmk}|Ov$Kukw`>1>0+=-o&Mi>Ah~1+-JL3l*?cxoieYMDl03K zAnddMb&jlc6sWZLR`_e(G>iRGOG+yfZx-LFGKs^G4%PYRXR-Cr1}y`F^Sf~J8l%Pl zmREHit?E(zEQHW?lu#$-SRbapCpRMYh^A6Ev<1cY2J)D8Q2O zHvNAtgt9WT!nagVGvhPe5KUZln{Vj40->aM`FGqTtc`KUfO(z6%abYGkHep%t5N+= zARBeS=c{_YYGSO}Pnm{D-o}TY)46@M&!O7nOv88Y;QzR80$|Cb=MWV8vjM(&Vla}p z2&{Vhu!;oxvxnxpu$dFjh?u@Dc?pdG4hxubnR9x{>y$=-aY}{x`*)j*aO&8e{xO)a zo&>_+7e7ucfD!=Nkmx@yg9#7#ogk>o0KJUTOQ8o<^ZP@hH@%QK-s)oMVt1&%eKkQcnXEwSo4E|2)3?=(vnoOaHa)NM;Lbj<4A!o2L;l@PgTZON&cy z0rH;2{NqNri}ih9)Lvjk;@2drK|LD~|J=^b(+pVSR%zPSkz4n>Upwg+L&c&)gEe@3 z)Wdwy0j;mi=Kes3)Z+ly)T$tm!uvsaOvgBBC;(yA5*cUSS%&EO~QysLW@?*GJ!f zL_0_Q6%;>M)oEZ5FNN0LSUGr98G?Qz@8`pM>e*msP+j%BhDF;Uo)hokA-+n!40$U_ ztdl25H{Q`Qz~F~}i9l8ERA0GjGhL6&cojR!GN1LRo)T6?*)fS<^Gb6J#yO|BIrfS^ zI?z7`EBbPI@sv=?)*GXm=$Ix8BTCIuM6J}dSx1V-=+7Y8L+s?j?J*I4dJz)Z8+n4H zsi$okVB#^+q%(S|NE+t`6;-J*j5~f7R=%EwVziqLORNm}|GrB8vpJfih4u!fzpxeK zi<`dg7GS)5FE}s>1@y?nFzk;B-BbF4_CZ37_EjlU)tFa1eiWy`HdPJ1qI@_G7kkUA zqbPCEoCSgIFdKGe1PaXT{bz~}+Xso;o8=-8Rh$}s}8~Ldx=jRXs%~5V3^*S zL~y!5*n*nfq^pu+<$i`{zvKPi&uv+l}AA7xXbJLoQ>8rV=Ei&}+e+zr&r>W6A_F(%kZ~zZAc9U5+yYg_JW3 zqLEdqIzF2+@|Uj3c)tY_7*wZ4bWHrrDV<+F#SNm@IdzyL;mj<(<+CpJ;+kB7{Jf@^ zAcp34zGnDU+JIBwt3WG$U!3pjk`84kxl2K@58X;=b7^ryEhDqfHhMxFD_g2cc&Y|d zUGUzc6e`dy-@iuauS{48J7gJ2xO&){MObOF!&I1z2)4!`Mfs7wxPeARI3}=ow|kB5 zP+JpY{|qVA#UIK-vJfBRQ0uIT1y13kEDrj1DX@|J@I|2Et0X_`6xVDBK?XXHv`@f>% zw}SvgmL#I)0c0}$``K0BD?k$U70mZMYZWx*(M9)}nKH{TtxsxC|fm&aNf3OwrlmXDdYq6+y^a_|$hjPLmRj0vm?CnS8H z{lEVN{K!*|{x`b)3-f2AfWG4A^Wb*+Adh*|(3jGQnEy)HCiF*>aB(G-@F8G%d71q! zw23wsv5J`wRiOAd7=U|lePaddoCG@svj;$zqd|trg-fHtB%J=EX(x zsVtrEzmHcb46JDuV_0L#jsUk>di_6w9L6$T&)GcC{&>N@zX5zM zl*rIO<&oF=sJirT^^-5G?Xt)vTGc@_NX!7Za;WXq%uBPmmgvX?8XS!yb!z_cuyKd|i(0vnQ7&^V?hq@I-^^ zIHNppe!shSR`NzD)sg#ce6<<@`h3}WaJsCbO;GRLrKjy1H(4a;)M4Fg$&eu3tOJ(&`I<`weH3aRA#==kMrqCRUse@Y2+nzRH zC1oQ@%EyW_9cDg znQ90{C|oF}p>9Aui8Ko)-#-5Rq$l8wbpcg*`{MDE}{M(_@kT>USyYr#bYH!n&8UxtI`VLON~6HVYu^KxwI7%!VIFaU{Bqy1U-lv#_hQTN7 zJ8Vy=7ghA{7bI=ZKw;e^gh`D?V&uAh=CW4r_Hov#(=n3j##13bL~gJTW z@^a}mO8tFqOWP{X_r`kbhvk@GIrEcqp@rCMgpRuzA{4DXrOCh?rrsd%jOYyFZvLLQ zbl*e>3z{!ic5ez(QvXN$G+Eq$BwXI{$0$}nj&MRRp85y2_4E?rhj{MmTP zTfC25DSdv;g1nbNLsms;=xS9+M?4%jx5}{pn3-1p4Xl1;`@1dopuj_`c`YEm{DJ1M zzk)bS1x6y7s|kn&@A8W!7xG`!9M&-SI5NNufjk=lz?bspmWuFvFBIeY2fHCuUhP~% zFZ2AiBq4aEW{3q5y{Bw*U#&mrWSXB%X}MuOE_yxFGeUc=`p5V1s(pk^|lOD z1Eqe>4kSasj_`K=0o?+7Z=_jIu@F59P~nUBLNgWUJYhdr8(f2W;s0}b0$@&~-seDr zf86u4_;{Sv9vZdmAiMWbUnSbJsOnN+lD>KsRGK-ve5lGm6I#HJ+xTk}^rD z>q)6EG*T+?De~G^XoZfW1o7|%i8Oz)lUcomrwjV@B+N(Lp$MdkP3d`s$WvfA(vU0^ zEm9=)C`=0*BdE9~5EOkFLEAD+-+l_xjC1inX#`Qy#^7aWPaV#uL~n&Q{aJ`v3*`dk zh7V|ZkrWZMF7E@r<>rYH-Q2*%Fvs@(j^UIL>qccQs+fF$C(m35ce%Xt^OuW8g!}OK z`w)VB-~^ju{=T`kw$}9~a@x2}iGBzJLAUv~EtTMWr4c6>7C(59`6(q=M)@oexY2VE%Z~u(z1dMo4Hw=CvUleRe>swIvAg@C>!69h<_OAenAcuht64sXsBftMq~VX8%fhQvR0U?C~u zvUgGas~u2&Kz&$m-ua7oxI84NXuecHK%=fz*Zoo0JJhF@2(buKpT?>yWu!!tmOsGr z$Z1o-Mo+`+%)k)_2peG=9s*pg4K%w%wg1&HB7bIX(MS~&KvTh;;AbFa*Z~wqO~wbC z!qh_v3k6&pAXn)6L(TV-;{-T=Dn=*+fB<$$US|8^$VhgZ0`Jv7U`Emm{LZeTF9jJN zuAy>w#||wj%^Fa;VCG*e zVlc8{!GedhgV_MwblT_OW1A@(c)*|Xzk}{|rlx<=7r=IwKbWIZiI`MR;SDSl+#Po$ z6w78L7DNX9Grdy6t06%KLcI_EABx4`GjAvUvAzN-DLP)dro3Rjq>X6)0!nVLxUKuR zj2Y~iQ4C^eLGNc+n6RuqhdWHz(V;P$)SqgK@ITd*OveTS>uAF*@J~t(ouKUSC<#!5Y4j3L>Yv{7i9Ts=^;-8*h&b9J?z!?Xo z=0kSCd=F@{MU_B_n)YibHRE6j3i(Pc)`$d~)N8txVWRl8MkouRPwq zc>^V$jL_@LXYhM$^@Ku!7S}g7lcBXj3y(V)LM>lp@9@g#5?9|JXb?hr)xe> zbj_)u~lJT`$r1y2D&$ikPO)OX=k}Pw5ZX zIh@sTxjL42Sz^Q?V)QN{@WdSD(j1@p6cZ9U*JAtyjr@OA>I?qRYHR`&Ob`j2Td|uS z&V9W60s}sEaA*ZP-NjvnX;l~K`rN2JEaLQ!`Z=Kw**AyGFCSm-4F0h2j)bBYe(LXA z;5xzFliCXM{J!DxDk?-__6JXhv;4cr2q^D!;dcYz-arSl$!-Uh^&JWwPEPI!4co1v zFj)|wO}P;1W5S*1Q>ssJ1Lvys|68IRCwqAAiBmcjEWj@pJZO4XIP3HEA!Beyoe!J) zv<)d41U7M#Y^hoppj@>ErFHN+0-LwGI3rza*(*e%=orNwgSDEkaa>`K53D z1iy=un#dcj%=(U4M8N!eNB711Ge6ntBE97@jy%rk+(3})X!*_7vQPG;(q2hUs5gJC zmnqlZQc_&shkq9P?Ku0>;NTX*Z)oO+G^u|M(;r$Z-A4mlYJC3@M-)iBgR(=IO=cw{ zA^M*JFAT#R_$qH~t&jPLoH+k7&arUV-fo3x`I~Yz%iK<3-cfb~EWSB!iptG4l>2?? zif~;P_RTlbgbe%#I?9B~_Xj%a`jM>{8cdig;(}1>(=*ncrI7oh%CQ^MkJWI&3Ok%{PB!}p z!Y~y1-NOumTI{(TB-<3YXBoK4@0|!4-q`nfd(@6?dwW%qRtm1#$NaE9GKk%#t^Dp} z#w?@1Ld8?X1U5er1FWju<8=M4GNIX4q0pxis{q#N-2dwrfSn}cgt8Y4bbEVKq)Hr*9 zZ=}}{`H9?vPO+1M+mHvL%S-t)w`>MthI#(~%=N4*lm8G=O=H&%4PK8Jng~@N{Rll< zvKxAD?f?EOkA6obzumXc$IO;gf3WUVE(ITKO!oMm*{Nr+hB{`_k8~>ybvcl7V|)Ag zDEB&-l!F25IpTTyz5n3?CAFDzbFyG^JmWBF5XQ6X1DM1_;Apbj^p25|L!51W^8YR2W;R#T*NPi49AD;f@Wii`nNz3V z)aQzGcUd{#d^?1CCXFD+^WOL+gRsiqdzn~LX!c5-o(E6IFa$3&ML%u zQSkNcnK4_{GZd8b^qYYKj1D)DPp9@JhvhTUtlMvwZ2F@xY;=pQU#<@G#nK{IiS-&-c)z)U%}E=|`% zfoA_oFo}47!FSN`*!L#}3y{32FUeL(9xw}|#&igTU09S{6ofRtnU$M3|6*q++bpr) zGwn-OyFXes*QR}vOCx);X72=w*Y^{qk_YkCQrTTjo6_H39|Gbf9qX*i;n${(fip7$ z%U4vs^6i9i<3-`yFLYU%md6DxFe4PXk|wpx?V`)bM`keYivF+XNGs-+e^)Ih){q`0 zIpH55OcfBNWscjg^cpul!a_%oi=Gy|-70s;CT)M=v&u_IjyqyS*~Jcvr`mb54z@*c z%~O%Z8;^%8d2|Iu0io9k1#nby33%}&UY&#}r*^gm#ELs;l1(E7hdr}?g8c7WowXas zBrSrftoW;%pj5S^!$r3_E!6z9`%ZCE9;Wn|1!^f&27@$0bRe(Z%Ur6%Peb@R&G9xq zYspvXNF7twx>es{1$#zA+;W7Z+Wg_+gb3Wjnw^zR-)^K6ZA0QCmA!G<)wPj-p&G(l zlc&UF9M5L7A^dlDX$~)2UET_932N!RV?1DFNA3+klZP&J8$=|SA$0y9aH!kiLSv6U zJF$8D?!J|B!0}@i>4K)D{gP!5uKQ2mOU0R@@1}d$On^Psw;V75A~cyo zNzr@19#9s4XcNS*LArDn>J{AVAfR#A`55wgV)E956_?v$N2S`jGBXOWq(Z0@;2(V z&8!L_v6Bw_pJpst0Op1Y_TfvwiI<{|<>$$W%viM47`2z9;&R`OE}5~k1>dzNH;J6Q z>4J1RdXIi8k|^n58LH`ry?}svV9UWb=a;V=r_hdprQ2Q!9iEMrH30?KsQMfE??0pn z9fv0fIU@c1_!wp2LIFU1VTpY;oD-;$V*&N#5iFRL-KZai0%e)GJ6C;WgOZ+Fr z!V~aHU^h}-YQ^Jp8NC?j=X--U6C@FBBT(v6@-zM=z~-k5MIXm-4t7R=+0-~X=ig49 z3^}3_4_dj`*vy~xh7({C+Z(tm0bPztI#qT9MbF;}cwP_u$~h+%Vn#=oEC?Rwu~~3o za{+gZby_|wJG2X|nPPhjttlAJ^pTo8lh%4K-0|}6JrC;#>1?agX)>B@g9Ha7U)j3 z!1Kn>Nho0IC=cJt6>ipJ$+>q;EqhFcTd4C)_j-0Np}5@MTMcS{wS*8^v#tWmG1mdE*s}7YRXpX81?4eNkKfZ&?Av{h70y`j~B35Ig+r4G--|*a>us zZb$is(YmnR1>CurD}IfQ+@eA9J@X@-x9zd*iZB+xsVDrQB;@elO8jhm5z z%&`W`Q0{VQHdQnw_5Z?+9{t0O1_+1QwvDBPS5v{;J|T8j-j*tvx{T%q?{y*u^; z`rLNSzi`~rfBF2Iz*0~NIU+wpVTMPP`QOKJNztJKi*yW3eBFjAoUIob=z@-cj)pOL zoSXX2gyN!CAHb<>5Q&j_53sW7YI!E`aaF4gAxm1WsE0nYirSU;fVwZffr+IBM6s`w zMWtDwyHSV=@#M(d(JZg^QKzb6vIY4WQece|@`p<#zok^0IKgED#Zr;CKUsq>r+yFe zmw9Mud>?Zkbl;Z<$1(OYnWGZIJQ7b?R zqlo-Z4H|=G*w+pQCOL+FO#T`YLyj(E5tKKLi_R)r9t*Y(8+C9CygOiN^9*!S1ez~i zy>a(3+vViM+9l9u;agKc?J3Y1vhoYH4-0Z)ob>prgJ6IEDvzi|#F>Eqbh8{sf;uE5 z@ZSCV{WW3}uM@5)h1_clfQN~&cRlZ&nD>_+s>u=Kr2PLvxW`J-WWzzDVzAi^9d=RM zNwO3X%cIx$r}1}ARd>`prAl%^*~~4)cMBw|M1ATycJm33CTGV9548oKPBk4&3+s8V zS52#yfY!QFPK{I+;OI-x>zL(J@2<0G-A`7@w)#JE6n@z?m&y$j*T(-z7sIwwTVJyt zH&+9q-CNGHVE_x$pmXfP9>U)(;`_O2VgEp?cxGRlfAsayl@bn29DyoPC{euLnuUjO zfiN-R+b=_+#^g7OZcRn-|r)5Qmd^2a|~9K{vV#C$)G4xbXA4a&nD z^KFJ;VnWYBeK$9^O*#Uq^b2?it$kWBn4Ijd)S=@5hgA$PU<9Z_HB@AH8>EQE>eKnzUedP`J}f==jERES_5s4%hx4(!M$>%6|KIW@rKFP^7y{K#&;e?hr`@ zq(MSD1_9~rk`$1X4na^Pr5kCayBp>{fbV(VbMEild)K;avG~I!lh5)MhP_XG5+457X%{?#sPGlZVGxGtRy4c__w{A2vN+tcWMEOx zN+8V`(fGhX1u6UtPeENyM5-gjOMQOia~$RFvR5*yVip zUG|i2M40T{P(1a01_nxDvS-%Nx+`(FXT^%;<0w^_t*i`hhaCf`j-P$X^5-|c0`+HL z|0Ut&Y*!7kwz=H}R^99Z3kLRY)Vlbv8R?ZHZI}>u9}w?TcuH}j^3|-L*YtG3D#Tmg zJg#QOxeBiyf8te*L(wvR{lh_;w?uWatcxIDZQ4~ONf zR@`g}=i?NAo%Tsh-gi4&(#lmV6?EE7K+i+TlP7&`cOAR;p2cGyDV36__VE*%t2Nm0 zh|p3$j(M-6`6R zT{^?h8iOP0z5Egats1gy?gzFsVPhr|ruj)Kl?7D69>t5_{`;hhYo8&8Y!Cm0=(wic zFJ5N$A8lR=1D%gt5HnAg$reQhOp#f}Sj_<8I_4FPnK@Obi!%KWJ-VymEUy!sbRCSo zFwf28Iwif*4|=aK=}lN3t~7ERvV&cCg6})Oqi!wtfezZk8I>f%z6`yUt;T+%&F0bu zMmU})*`%1Bm#2FOo&fX85xkwMLQmx=puWhp9TJgAglgX&n|R@K>a z0W3awHJgGKHma~eqs>6D0?l}1pUqE71a-#B&T$p8+$dvRy*~VE3fEXWwO;0^Cusp~T($$lKeij-d>(tR@uT|-e!O;Q!s;8I{@ zW@Tqj6Ywu7|Fo3Ls7A;}%(S+XNR_rWaY6q}o1;3W+3at88A%Q)N2hqfWm0Rkt~^nh zxgTsM!>y4|emUDPW+_h=-9G(XLH4v~G3@pMV4ldM^h zGcrW2pcKnpJQ*bWZ3V3Y2#>My?GD73K{aRgp^9InpSb$*Th%%*{cUq2ZaD7|#XG-) z{j*IELD%#fkROt_1IXmFaqdMb><+8oATvKVA57&aRXNPPuQKIh4xs(dv2r zv>9V6_A*lYI7J{Qk~yTb!Y0A5fhnI;BS=bNUS5>HC^d)af6QCWexJb}nMQ9p#Bm|_ zRB(qm%hMAjoLq#{k%>#o&0J;V;-_h1UQcbH9(T{sYkfiM-d2+ewt_^@`Lr7SH$z7& zp1YTfW13f6m;NgWJ!k!u{PCYmwR8KpmC~K}DqWY&S9CqL{g=@RQ(aD~$nRsuZB2i% zMXV4X>QtoIaTA{Kd3AmFolIbJ^fVmb26hcmvR@vr3ji?QL`h(8y8 zZlZ{4H|05x06v$a?OMh==W07vZZzZn2i7f!`v9f(If4tN2mt=_Y3h z=ue3g^aqz~@Jw@J=mVH?Q@Uj3vSYEOP{nnYVhawlavXP8Kb^G@6$w8`bK4rU1g!I8 z*!c(g7AbEQXH}m*p7l8Ud6n6B3JwL7*8Xe7e9`?su9!umSk&pT_yD=rP0LN;06Eke z1?7P`w)y7>y$>DEj?SoGdMvd zI<)&B&G~fad8{Cg3&0}6OCEg#UPR-l2m3&%0eM^(3BMJOz5O#`Un@OOK@;l^8!TO@ z%KFwUVz!bX>hnRgzpNUWE`tgEg zn&=zq6ed&(EFQoh4x2&60=dihYmt87Ha+GU(>?IP@-U1RdM?k0b;H6M{vCjg6p2!@ z3c3CCq14zr5NvNNMitQ56`ljwPbsd84fd^yJf+TND|yVT00uhb_W?lfx4ySyXH44+rI>vULu%4-w}e4ChjzXg4&1=2|>} zA(kJ)icHk3*O!)s4I5mAuI(BQwZEPjs-)Xrq&~l~5bxjLsZ~OTgmU@-{^R|;xPUOl9>XcpOpfirNfHX04!#Q%HQ#5g2>iN z*{dg1zLt|9RsB`E=pn&Z>1w~xW*8Q#7*TA0HEcGw%gc47)qi~w60`mphifzWm+^D% zkFnaJiECCdV`|2u$UQ?Wl5D>M-6LDL>`uD_W&X=XSl!5OnhYEY*C0{Y0xt3IS`pI2T zwYVYi-bAZt&U8W#mvQQ9LkglN!!&bY+M%~IlMX$C>nU#DG#}1tSTe?+z>g>QNPFoE z?-D=S^ld|i?*+RwIbK8?R`z5H>QuC6eR_seCb$$dPj!F<2emp2m!L_eo33 zLc<|*O+Fphe3%CZQENzvKr%rN<$n#W4&^-GL<_ZbFd`~`cI;+NjsL!0W*nudFP>&8 z+9n5M(XLX$_lO$bIg782^VyVkkfzkAWh zOoSL7Y=^aUr1&lN-0SM!%$-yqA+GhPFUIH+VXOD|+)_I-AiFB|+jn4$b}S4dVJ_rM zhFwR^qvCa?Msn;-yslWgjB&lE%pkbr_v5a<#H7H=abTlx1zN`_bQqf(XI+`$F$FLV zZr|6p_2xD>rjL9qKd1nfrFTphy%_;*6N)rGKAIW7H!6>^vFUZ$a*QT9xGS0U@2 z+aXFLCYOmzUiE!`lz0Z(=kn7^MP`iW8q^q$ncyskhbra?T*nj_QUb`V{~p2ltKe(n z$cLT+;Rm}w#K|QkXWW6GGk@H3gt+k4)L1nYb!{xX)#9vfo0|S{;*S~#4_Hz8+##rMdPa?TTgdr>P7gI~*I(~I*;buMF=IM(5`;ag)M5Sd z8>$DjD0GKRb@-xgl23NlRQP*9&SXIXB$nzsc}cS zmaWQ#-~NGjJ^rWAY2m!kl=GhnFJ3cJzMOG*(oj7!%ZPCQ?fJ%7_!{B8tD<0q$@aN) zIgC41Y$V_@{Yi-pLO@f^$ewWI9f6%Wd46~AK@@AL+K@{1nk#C9~ z$+ZCnM5o@n>YB|8VvGtZy!7n3{_bSIk+5m`HZJYzVKC!!Ock34THm z&mkcappdzEsO_1;pm9^WIm?*EL|^L>P4i(=D;LXs7pI8^W+~ibRX@T32cbr^w~G2X zqmNUw&dFc2A|OAiIvOl#tlJq2+Mq9YPO$IW)J|b2UrrAA+Sg-vT*kD=Qzz&*Rmm8d)Z^bhRT2{@8>G_B z0bkKDCm#EQPprjb)DJ_o_F4tO zxa{X1Bz(!dZUiL(J&aZ)fkoQ*Mx`^+P^7oBD@$*ExsuGP{#Y~WjBbo)-L1l=tx~>M z5auy)mAokv_6q%Vf~kSyQ`lgE%5h_!Wt8;tV?WYDvR@Klbex?wy>cyzX^QN(%__9|Dec11pzqq2tD+UQA^P$}OINl3Su}0eD1^%m&jt}y zur>QWE**Qua!#UX`g3<9Cxq)y^+`S(crwFt1hE!ksDE!cFm?z;UW;i zn&F;)S~zVwCWTj_vrjLG&$~2pYJ8RVNGsZEq|nTrYe`tXW=~i_#BO~qzsjvruRl{^ zJr{EP4YiLeF|vMaXhM&A@@(qYiPH(H+Rs06bM$dJf3MxWG8u8@M52UG#0fLHf9giZ zxAu>v{=8TI@`*q!Z^%4)CX@B>%ZrsbK|+IQn^!5qngbu)35WMTexQ9I0ajjglNV?% zT2`DF>&E+r9IK1Q2Vq$|!^QfX84KR)TqsN3BzY5i%ZZ$i|)^@j9yJ_QAQ88VpQtEa(vpyVCvKJnTG zP%T)McX1xDj6c6@WZMb(i0wxEL7$9U8{WA+G~@L$LG2+c-IwT~$XO!I_utf&29>y6 zJ2WZ#-sz^|TVo#wTEmTH)}9eZQwm(I)A=|G2L-Kt4;0uTini4+eC|PfhPs(n@DAN&+$4_ zlRpdY{mA24%&F(+d51zlZ)JvfyBm$fg5)NppV|Xz(xeb)s5~_rq`h;SLwPoOry~b1wDrhP~98xWMi~t8iNg@ zzoswcaIf+WG2N&#;dZlaO=NlJo1oX{rS*e{^ZzdbqUg2!KYKKeBve#tn{QG!6F}O0 zGAnz&k15u$cTr~MGawfRPWNgOd^!rk|FcSxmVpX2MBXRrIC}zmdqu8a6I5bjELgD! z|FS5CNLOFGx4(y`yc_!j@ue>Mn9~nP=mvN5+zlGyKtt=d{g9t?LLQO>nxe%dYNk;~ zm49&4#+1`!d=RG~XNxp(m_S~r#@>W)&WANfyz@l)BoHUI*=`H=%;6@)OJvvwNZNxd zLC1IKDhYQE{j!T(XOGhOIlK>_X8kSzYta|>8s35viS=RCC<{;dNcRXL?-)c$emmcW z;^0VEhF~bdsN9+pZ-F_GmnD9aZ}TpdnjU0L&M$Tdyjb8TlEmi;5oi-W1CHO;sBEuSHUKzI2t5VeTayvhy!p5oAdt`SkU7d% z_xQ14%PWBD?WVZ|Qog03opACPIF=U-$6n&k;;$RkObYT^le`L=fr@Ij2Es;GMvTBy zyMfd|!VA=PjJebb`d`H^#0o%S*eG*wg$`^JXgv7TY zMRWw-12h7tcKgU?<*H3^4r>Zr$T+G^6Qz!LLd z;@K70Kzkra&4mU+Og&C~yUL~$@~H*Ejn_bBc!t0ugN)^xZ=Hj?6RxPgYL;;nN`M0+ z!S2ikr(39<%r!u~E~nA?rq##v_%rjg^wP6~*6YC1q)j;Q#3(nPQxrASmA;c;q^n54 zlKDHL_$KIW$Cvq&X^SU5xH8QmyM9-Sw7noomS}nw z`_hg|&x=>7(}kK3V_NC{LY0i6wDZ5k^eeLlEaYj#ApK_;&oUq0-3K2~J6?Nvuz`-j z9w67OP#b8obh9Qk``DP43E5}sgJa1r5B-r!OOEL&NcND5zLiK;Tt;QHnqlT(vX^3Y z=_M0s?^U)XL;sGbm()r8_lSC3#E=`Abu#A8^O9K`Kx18l5jiWnow_a;?3H|D)cL#) zBVCVVTy$bjbn6u*sE0kCKFIZkr4OaV=_kLJ-+_q&r4)MBA>e~5ej}7#iKvIhTQCB7 zqEg>L*-AG+_CEu5e};kZ#X0sHNs=uM5BcZBVFRY2ICPJ|si++DWN3&tIl4YFVia`u zn*Bg9nS)i%frdNeW09J0;$`&oHVF5XhzPrtuL$>9cNiOOyusAYrqd@*@bra?=dYEW zLsPoUDbX$A3eEgDexH9%t2fd2CUh|8N&ZcV{7QoyS6b$XmX$fP)KzPl`+=(hSHLi$ zIrR>v5DW^&p6g_{!-s+e83S)4kR_y`c3_5icp!+O9vIz(Jp^~{t_*A1DbW3rVtrS* zlxjh!WN@oZRx$Z`{Kn-=XOEWK6*$VQXGb^P<6Auaj>9=45lp%}Z#0MX%JDudx;SEq z0DIsvY^#3K(F}?=D-7-RA<>Io^^3meqHPb3dKDRtn~~#Pq~p{EB9T5~;o$QnezxH? zEUoxG{J$j5MJ~foUxHY@FSMMLvoN+;l zM<^V;shnLvOPxOU!{vVD?c|G&8a&jUTv}OOU2=WJ(KGXd6tq#oa3hPj^0_$PnH8}d zWvO=na!=Uw>K*U0=Rbr-((R?npxh`WCar6xz2R4WnH3c=!x=!HC~{D(!A%Bz{@+!7 zgW;c59e3SCpPc7eMh9wSUWQ^l?TRC;r2%7~i-Y40kh!PUkSgf94+Kj}g+E%`*vR(Q z_xgO)nPA{CkLB624mKz1jnka1I=;Y~)iD<2B*j)n^H|$(uA2I?7nUtM{!ymh>RIO! zdENhQ^s4$Dz4@-ofI$VpFMqI}cCZ4RI^BvTB$+ZxvV6E1Fm&~Dg__>g8Dq#g<-7Ri zh14y0k=c5Lr0*Cjvtzz)KjPsRP{tY36$7QY}))5&90wFyn3cO?IDbFEB;uklQQ~c;l z1I3CsJDJ_l(;}I{6G$*@m@YVr^zQr+Mpb43Eo2^maXs-7!MR(?r|(?Uv2VRjf?=@e z3j=uxZz?E`{QcYF2b56`2o+EL=l6zq1mi8fwfs2!m82*y7ZI_;{*+Tu3O3S=Cj|eZ z#kK{5Sm0$;VRm$cV6*EVZe)>n#RUaCf&`6kk`X3&W8eL#;*O)1h>AFT>YW-Zj6;TE zOpFexZ}r~vet0ntq5OpYEYrBO_zd*ie-gEilT z7HXY>Y}rM*Z8#yG-=CWM$Yd}!vM~L)dW5L6?5E1m%KjoOl=?BW# zdwqah?32pcX!r8{v$u!^zof0*EUl`OGu}Ff_eI5WtQXXbh-d#K9p-WW(rc-M8_N4Q z*}*T3sPU@LMCsC&_xHvS*m&sv+h-ZdXuy>HsPmc4?KcYKzX1bUZ^c9~Di8_%*MKVG z^o4{Y5Zpu&Z@N|NF<(QCzdlFs3ISyS>11LA$@`05%`*7};b&eR0gGZE>t7b7`BoIIgp0{tEF%_PIo_pcfzjDX~m?3Tx8LRzCzY zW;xVnGZYjBpdIqMie!~f7T?cg;MO{tZ22Or_tozF(A~7hqV6i`ao?jg(B8*HE5ykA zZ_0)2x^Fk%Z9z~ED-j(yUp=T&U>uD@F#@fHkn2yv{bK~6{ zGcxwM*mp&Mn4^0c{QIyo8mrdLyfa<4|Ka@&VOlIG>xAnRO2&-MW|rGsX&y&(V-32F znPxX0m!P_+hSGY6-^_IcXv<3gi3U|YjoH?a$cf*OQ&GX%c5F(3z=a-PuUdgdRC17) zu8)*D-?P7s*2_>0aonPzwoBo-hhlLuEmvN-ow}1I@Pt5dmyYU1Qv^$;4-Fe>&YB{J z&TC|ZR9Qnf-&a~?K^F$WN1d-} zxCX@(dtQLzUf53c9h7=~Zm5;5E3|n01`BiocBv#Vye{jRBq87-wcdZjxI@I%4@nRj zo-eznz)`fAa#xelPl3sb;aK_OgU9R+Z{f+-w1Jyu+xkV;;LndNGzT$V79OGT?sVm^ zPL%1E(xbJ>&M0|C+CnK#zGZbqiD2+NJ?8{uvHFmOly?;%$!m6Gx4S8EM;Htj33ddZ zI?W_NUHwz0R|wE%kJ$sj(uyY3(EK6xv$SAK=zd-}ZAT$=l_dgE^wyx6^JtB~zy~C# z082Ka@-_AeQ?O$88Q08^9{*jv>2%a}Mf^&&JVos5xr{)8FoVF;0c8@zd%%r$2{C}q z3yVqL5_yqiDcFdhKD`L9e49`IRC0Br&j%EdfGT(6pk9Y)Pf;vwT7QHa%HA-&3tsd& zPIMj^nouym#8*onJbin@P)8Dac3J#@fxwzJquC2Z5e@WP&H)oMwhy6x6+&wF4lxrm+Vbl0(5F%7Mb~5gE3U z)O1>Tk|5EK@L9=^U+*0bI9c*Kw>8uv9aA$VyNHlSPS)8bI@aIjlCZ^aLRUpVP(5HWPM9sR4(x8C<+cnLPIouXeN zT?9SJl_oZ<9k~ZH>f< zP}LQoyq9I{0?vMB+R})_mqc$|2?mXPi*8O4N4jC*XF2tX{Wdo|WX)g}X z-A-;_0(9*CRXQtOlp4ei%@pG7xE(vULYp5S?ATaZTQ_dd@^iEHm`|GwPCJ)Q!+*Q4 zJ^7|x@p>TbCJq$XeLD7^18e(`mxGC7ZHPajqJc|k^6F$(DNNw6nT`PV31E-Qwf#hd z0C27$pWYvzS1X%u`Gfzm2Rpk5%57vV@*Y05D|(;Y|2uFNea}C`{{rkO+X z9umIor`=A5!S+XIwB&XBe_y*|ARtitHIqqO=z}5Gq%JvESJwyZv<;!1Rvf5zUy2V7 zw&c`1W-Y+(_NBr_$bPzZ^kK8L7T@E?%}C0I5e}iP{^%5#yUGEdDwuw0wiXOn=HdTF zB5qwF*qhkMp|docEhw2{5z^qDQFE7P7yja|LUakvJ_Rk6befs=*#YTI{4X}6hksX- zTMW5k-^DiB4zDUvJ0X@{d3QHmch8yt;q7cSqIO`9m8Y{0+zaqb#mj9wD`LJQL7Se^ zg;yG}cUJTXr+mjOt_MkT%mZ$2hMVa)lDE!63v_@zS!9QIC@HwL7$0q4yhrxKMD z9D~Bn$`5Q$y?@@*c5`f>S$}=1b0sH{y}5?68zU3ypN+dgpBDN#JoGQar?&}PRCIl8rW|8hR#c5AZ7hel zq^wO0Q?i)$sg3?}C!zgxlT@+w!2bsOEIq%k-4j~Saro@(ALOHnk(y7g0^|=R7pc82 zS+5Cj_N@2#eYkegn>=EF!TmsF)iH|if%9WRg0+N=MHYOoI5dM`s?;8Sb!o@J$19$_;ns-$m<|~4H1bpfv`bwgOj$)jb|}I5Q?+wY z$JhG+29krsW$+YDI#NWTWW;X@ZX+m5ng0cX-t6&4uZjSip@{D80(a|5W+Bj}Eeayc$wiJcf^Mhp#buyww+L~nel@_+Rure1*!L6&NG|j;LYfcQiqF=?S@1YhdUxc<%Y(n_eTD73yRR1 zZt@if6t%hIEDHr&S`rvuqzoNtByHC5@$qU45tb3}9FC!kSi>o60^C8hSk2kRpaVNV z1ke8rmaRbEmA>hf8^OGQ?$_B!(T@CF@Fin|)Un}sLsx^JIzti;>aC{<1~ZV!wo&v! z>c@ILz*$V>Re-rB6<&-9-$Mzy!%rAxk1XO7R>y{Z2Q%{S$nt{$Pq}1P^3ID-SY1!= zcfjK&Qt^fdORtF3A3=M$C0jZbK>{KZJfMTyz|S)3$mWIwJ&>LE+i!RrP7z4d1ekv$ zpACxb1Gy}%6+BLNAd1oMJeIg$gx7L=Swgc**o;A%kRvOP^j7s5{7I<~kQC)xsA=w; zIVd&az&iWKe^lcJS|bI^3)%d%(JFm}WEd#ZskrWO6l1S`Er)vS?WBZUg`NZ}+EP9j z^$LuEmKhEGA2cN7^zM>K}Qi!L}&R`B?)Re+0tiw0`m zm->sTq!T}KF~dw?GtB>uj-Y4d^o!nDIz>x#TfVw8*-{Y-E~N9c4WsX;VZN3=C!4k4 z7mlWDC#lz;15B^7>${;VpDtEe`&!$DV||a}KEzC~gelP7TT4h;6(6Xk_*{v!Zz0l3 zQw!-*1VtT3EY5G4u=}J_5hOmRQSNdz39NM~EcGY16PFNQkWH6A7{mrZEyvX!J%9*!M-+Y2GnwbpWCvn!8QE43lvn4j{&ga}q0=c?Uhu}1y2FEp3f%(^f z7nMIZk90B$HTE>Np>$Th7qC03*@$4YLX6g?OB zd75+pq@anaU3554$U(~r2SIOoe-I$|<9N$B^XXAFxo=ITH@td#G@3m_BB}GCw^#Ap zonk8!wy+bR!f>t~vi*A}za{t73}0NW9zPJ+#^8oO3xL>6)!NNY?gvyJ+aG<8W-e{` zGe+^=1{iz)#XgNIcnCUn2V0Qjpnzw78_yQ|zU$|vYO>R=5llcG1^^Z;!gn`fYp4o# z^9!@&_Kr=s5Gy6nytYco870O!21TRdfJ*4k&5VQJ??`>`hDfVJ;CINk zPXoNmW<=^YN3=xkvWJ&5B0)NRrTUFaqZ;-$Ff_W8)u4mRb!KC+bhwgC4Ae<@7VBG= zrn%atQ_zZ*ZS;!?{d@Pa%>pOoINb)bOmAN$@b;f0E@Xq=P|f{t6TO?i1b+aV2{ z8krem`lRnus8e0Nsm=LJv#MQQiIFy|Bb1_RRHwD0RN^>NN!$fR(<-RN>8%{|NgSYz z)2N{{6nH(jf%0xS0^JGYcH|Tj2Wub#hMu2mE|sB=(4T1YKn{>^J|R0w!_V&waa#ou z2#=dgQeJL|SYzh%hH!)PbuUK@tcvwLCFG|rY6UxkI97{wH2R=}JviMO9K8~GE6Qhf zUWCMCH=~*0Bxr+mpZqoM%hM3J@?G(O0`A_;#Impt#oD&onJ-T9H@?2GID0?8+CTKdGOJsv3WfEbM-riuxR1VUMK)Jp(^& zPu7{o7F3A4Lqa@pkQP~tS+R_}z8%T_1KOp07H!)>u85BUa`Y0lAojZ*#%IyP#K0lf zI7aV`B>rtnMDx!rk-vb8f9!Hh`RGpWD#X=iwst+;>~++?FdZEV>TV$TOJCl5)Q&Wo zFCv-^9QUcQC#olZRd%cBJQ#nC3Q*@pG_Ew=*NJ^P!k4#`&2-{G7B*I>FKW2ca6W2< zX$(+7DtnKZx^f1Ps)Ag>$#k z6Q#~jLg_G(QiO@R`$al0U~}9$%Q19w07;TZZ2iXB1X}<5fa=QFtT>(ZaI%0k+W1p0 z0sLm3!{6iBiJ&Zp{$&be>O#Y|k^O%IIDJsLfo{zQ=8mu3C3jUcq{ z(dm!>rWk*K_L-%@6IxVzDrvTfYa#;DD!KX-v;fic_PWWDpV{heL?|rfKR=a)%)ZQI zmOJ#kSdZ<>NtJyJ)(8yZ+C}wwjtxe7$U><=*jTmnNCh@*7V~V3Q;HNAZ1@S>^_!v8 zU?Y5(1+a?c2=7A_BjN<>gjvyzXqgzZak2xV4Z0ZGx%IGIzA{l8tP{{1a+p*TlMcE1 zixiT{#_56$%84r~FH}4;i@%IJY}Rh6J_muQGA;XXG82KQHwz@29RH)KS>!bD3G?~vM7whPwrv>{g3Zqcs zq{z*4VNukgSa(I??)Mojb`1_i({wi94P(uX*Oe&+Kur-Q2!=Yy`Jat_*SNrb0$&=b z#trbNUwMzK<)z_J*b>ft@TWPUA21?m`m{gtc4Rm&<9wT}j9q-js#Ny1LX!GmLs4h_ z^kV!pN@Y;q5hCOO?mBA{n+Ii5-4ZD{i;s_wrD_D7 zPSrPORsLGJ4AiL@i{^b&TI*+-Ji4gd@O}04@q{$EDRVE{aOd*1N|GXW{uU>{GeCfw z{MgPo^}?Ls>B9*);n$6NVPfl;DJyM*Xsel-k~aObu+c2xah+)vix8&QUF01kyEUq5 zo)H@R7bY(yFweV9l{`col=G9Q!3wT~F7Ava`XdjHH4CyIyIZtZP6%IF2u_x;JBDlS zpS6L#OrLoQ37rUE`w(|9*ygu<-Fb0UM-a=%G2efFfgDErbG9zT*&@;*G2xj$GBR>6 zK=2Pvhye)xPwW;tqNqJRJrDbS-thasqqARbm$s}YY(+cJoFg5+IcQo&b&^jW*!i&o z^tgvReTkvGI4GIkhHGWPKv!=9Jk z1N>lgSoh~WcN@G{i^FWN&P{Th2zq}Kfi@&)T&WMbp(q27-z|Vypvz~X)rcf3A6_tU*sirARSN3L^nCK z@tfC23eoKZTod?(UnydMiJ&to*79q0i5v5cOIttyIo_m>dbjJ_hq-U5dHAgI-iFCFJ>hFui+56Z&l1!spvh=I{B z%tdd_YZy==pD)oDIG=R{K`G`FkY+Q2cFiadZm@We1u2pOyQmkJ8wt6(7x84HGAwQmY#&0(Q<}=RkqVnsS@q>FR+pP?gyXo zy+?(W)cDjA4ysK98;^v1p`19LL=qrhK+-4}@N@k|^lPJPO~APlX~TME#;me%fJG*pw_vVnqM`7SdXmK` ziUd`)*<-V#;WJ4wCLp!c=N}xCv@T7hF?Q_>MVZkS{V^N76G-Iw1ALmVc&c-&_EPn| zYTnxwdCpX;VTAJm4<{1MFd;D^ps!pp8?Hvxx96H0VrddW^lKU`GNHrOy60$j zUTA0K-ap2e;*G2RLlQjbp&Gw4jju;hy1t=#^_%lW!AGG+#}rY-ShrD$#ruKmqY|y> z*!OJo|6S~xuBSI*Ta_1%bF)Ax398lzs!Jguc{jQxZz{f~VWd$R2r71H4CZPb`5%Eq z+&8sEwp}Fr)DqD-;9A{bkvqnGr)F50j&y!I5m=zg&;cUhuiL^vDxLUY$*ZPz3J)v5 zK4k#&Uj4z0gL2|ae4>7U{~RXATv9nh0$7;|>NhhYY5QOICiWn>J!{=>G%l=`j{cae zdAZ^1;V&YwHX}9jPAIzP;dq;YdZA^5S6(?5?7a=i{NT>`Tq=IH6}tN9;LscO8(iV{ zZ@2>O{~uR8E2i`BdKH~54_dxrK#)AStCYYY^97;fl$Q(`TtZ3{?4&(&X{8uk>Np(YSYWngWZr zawm6_8gYssU{W()#bWyY=o|8cwXy!_hhIzh6F8^<2h#q~r*(+lAIly~Ln)85i{hci zdAB4>D-sfx1Mjf1vnp=j9%SwdH)9nj=C%h>p)pK8>O2Q5u&YV|2~MIeXc4t`V=(%y z<=EG~=RdEnE=+rpC46W9tzJs05IPF&p+??k(XHLB2Dpdt>kFBBpbb{_z0sPipLFM8hgT*#FGMo5+- z=ksR=E9q}XwGZ>gLII=neNpy&z%0EhmJxUk)|HQym6d)8LEP-pw|Vsx9Co*a$G8$; z8B+qd2cWlk?FjD10S1i^hN zGg9RHhHpqvv>A7cw`U`g+Ykz!>4h@;$#hppePg4WuSgVnGg)Mjg7M}-e6;GU*@2o? z&&c}^ZE{U?XSHRyRThdQ^3K^QjFepb%IROQq&HZ6TECk>-LHjI!#0H}lzf&9)#R^5 ze9>V@mw-KaXx~fo1|>JLj4PJ!**QV7_T^iw0;%-@eAK;?LgC+3?ZFsWUK=fHW7E@zdFg^6qUOMP zA`g@|;2bx#lM>yMgY4U~gMSd3rkka^e6Jp`8+KZ=yH}(6qV;}jvCGUm z4^Z?YbSOXk%R~1iz8C2H;;=Kcj(fk`9?&A?^dKy9DPO1*9w@5P6EL`pq^;uh$C?7% zLBe&7w3oIY1!ODodSSeid3}?mNciK%De1G?$_DIbSDp>*oRK)80PD^j6Bo0m0jq2=py(h!loI_F;bLwe*hs9`K> zcQV!1^-{znnb$7h&O}E9YRzaB2dk^A=c|B#ZNssME-3r(Nk8jdvG%ECgWcTS({czO zTYNvZAbcF~fjhe*Nr1(x-R2<-_c4h(SpcOPnouQ@51JwcuQILoLR&3}fe*i? zdI3J72Rcj^1&QN>tiiypMaNCw-QAadWLwgQ%r z9H{wKoMw3uQ{EOP0o3piEpj>LdZ@>BakqBvC@5)1V~Bhfg7 z_mcz`Ax{9;DVy5kZ0G5!*QTqSFVNG3;vx#3?_a{FJTt zKSY!aYA*VOyC!HZyw)^g|LtrgU1=88K5RhC*TZ<-#(U2b2YB?9_uLT4wahzbBL)k| zFZ&Sl-q|Z|YsA`>6Z)S4s{$IrF6${;=?>0AdZkX)FR7s_%+DlaS|nki9GSQPXbgQx z78cwHszidOqC+2m^8>>`vG}{w&a)qLV2+PLv`D8L2JrJkTQ9BG(Kb!LQ_`=d;5b4b zJ5Y$pIUfQH|<{InT`;T}vEgny~@6fU9C z2gw+-V1we&LGMH6aRT{;v48vlqEKw^feo7HU=Fw0ars-nzass z1>HLyc=iUHSP8NS$(Zj%hXS6B_n?T7)jlMb2%>!mssZRK2LvvFj)*g_iyyW$j9wyP zeAx5ICw{7gC>mmj29um zx4NT{83tNJA{KOQms+U^1HA#`XL1<}(bj^>CEp_hU?RA+1R0`?4?{(yKsOK~f>k2` zM4C)fzn2H+t!SQz-?BDmXQNRT{AU||yIyJNh zU3nEsA#(Ep0Ir>~#84>=90-;4$ga-}v#_z< z!K-=C2kB!zK)^q!n#R#7yn?BCQBg0_3xY5pS#`pMhFRU1_AqD(;;_7zg}!`Q1G@)! zVOPXc8PmBjZxgLv+dQf^yE%JduQTw z(0~J^OHrtfLT~38weXkLY&Egbo8Bz3J*iM^yrEGqY&ljaV2X}DJ$5V8v*}8*^vhw} z&Sz(XZI5<$&u%Bs%i|a|;Hst)fL6i%(dV@El~zcIyq0yC6F$UvQ8#CjMqFOR*m@lP zOtCprCd&&ifl|N`hYzn`8Ho^hK7oy&u|EP^+=Brm_4TvlGot%KcT;P8Bp(_!(3(%F z?nHk-w4F!Io?5Lk$9P;^YfV{3dszJ;Pnl8b&7MaUhl73N9$VD9o{HU%7s~d@0;2WE zK;Q8ho+;Xiw%c;{hc{Ql9!<^UV5C(#CfQckpsQ$WzsYFM{qUVYUy%`z(fk3u#RG{> zisZoomaaq3mGh<01J+kywQ<4oQ`55L2QjE&GuKx&FSK;kRfSovV-TI$PKOKJZR+wp zEF|NGG=H4|aZVqqahYIHeY90>_@|%O>s?K5h_FEFj+2^4S9hWXc`8USdb7AbY;Zoh zd_LNK8J&SKO&o(m1H0o78Lwgo`z_&KRkHlXTKPduk#YxUx~!&t;woG@-&c#H7UNaU z?!+0no6STaw6L&f+%qfrlJSd}#Mh(**Nm7lnt#kRbMu2QJ(8|J|D3U?+3AqaiA;Iy zv-uVW0<}CTK>qYA`^m#a65VW%9O%N=LGe=aB+TMMlTY!-hg<}DFUn(2ETak8xhmK? z-=Fn{9n743J<)TS_YWZ~zL<_>q}n_){jiayxRRVs&VSrp-{*aO@b<09D#1!-PvSE` z>Z#f7QL~ZhJ#VtqRqVZR@`daLV?sc_V`qDw0wd$o0xzmDV{#SukLR)#vrhntUASr=OB>@$kwkJ0aD3&eKpyMXiXje*Vg(MyCjFfe

Rx#;mOfsUFQbTr?fM*G~Iskf{c`xVV_T+!>s_-oaud1nwjQ3vcrk zu`2hkS4uT+_23}}msGWxn{isEfkuP5@v-us5>+_k8U_J^kt|@6#r?YBU?ZL=L8yDi zdb)nuH%fX<{iT{pmBE$t_2Rtu`DC?06ZJOy{ENj=F&4Y~-e|l*UcL7~535ei^$_i= zCng=bTSAoxJ}wZ^8Y2&|ybm+e@FM(h1e+h?cNKvRD}ob<-g1*b;5ex6YNFNp&ogsb z+10+s%SMu+4`PuKC4FJVlGUplg@@V*xL77Oj&He%z&hO~8<&9lZo+urjfD_bOawt* zy0%j`CCmAvw~)Vvy>GwZ?mp`~xd{ZpL7D>sL7Z6Sn9(8{u}0g6jr2iUu*a?6t=wBv z#Df<#W_KyPw;u+cLSAmm%=s@7q3+0RXUeigxkkka8~^&HPiuYECsLMN)ILUbmfo7y zSMoT76ugw~w%a6ve>p!JD>jfDujd4WWbb%IO~{RTZou{EC#BWoPP}#uY|hSmmHb4V zS=2D-D>l%HJa;yjUFvqs+a*ioc=L1P%lTd(_j(LSEIu$SopE(qnQ4?gA~1l@=$r5O zXsJyRl>`iyuN7pzC!&ZHfmFQi8FZ#|FLk;0w!2QhMunc|{uqZZOy*q6U$7%E-IS1< zsx1iSI!$U+B5KSkjCBP)2eSZ>$qMaG$6z|iBylA%y6qX&Pu2-6UOX~Ar$;4ZO@h&s z@3rC^QbWlyBVKC#TW-nSSUSlD@l9pxQ(s`JP4SK+qDM))!!b|r-TSO3n1eh#UfUUI zpl!vbw^3(p1cRghi><4Ui>iD2yUQX=gCHnKDIu+Nvxli%5xt0wRsl z(jXuW2HlNxcX#aWd-d`0QGV|~e*AFv+&gFHoH-NUnR9}y7;(p+z^(HJQiPFFvDa8o z@wnAh>SMe4d7(YQ>}fsHr(dM+dWEkh zIK$zr@PQg1zstCAET`a|*2UNFSxzB83`Z{fUF&UiA;FH;B8?Brp*kyxiXUU$uU5kZ z@N&3J;xE|jl)C1ZpW7A@si3ie{J;_vC3NO`*|~&0bUFYkEQZ0k!|YL=JdG3uxoG>Z z(h8bctA}hh+t>0f1l~}ggagZyrgraWf(4)5{J6Znp2ucWGCKSE)H^FSfa+~+;UkyU z`9TfdI$k7Zc{^WcNc%CD;ACXaYd%rJidedEgZu2|*4@z?Zc9@|8m;v1y)1E8ARgq$8AFX4ZYa>g^3hdFu!5Fnccu1>~bCSke)#C-J8(%p|xpnuu zIAP{MI)Yq<*xP8okrxwuh(wd4wkkmdN)c1i%9-c>DNzfD2i<$oqrpKOeJ7wL?Hzj$ zV>OQ-A?O$avA|dHm;TxJ88z3h0*+McbO571F@_KQ5=cIMaMR zC#_;cnI6Pn-0|7uUKWETc%-eN)us@rbbVm73oFvX= z)vCuQJh_tWeAUWIOJUT=LF4I_!0!|VwE6A20Yy0vUzyxv_F3?jl;oADP_;EqAOw1O0}6T*r} zOO1O# z?h9QBpL`EO5~a{zqigmXkM-m+Zrkr_oq%R#hE#B`9sjBWYrT=mE!*nC?%tuH9*I{X zkRKDj1AR}gAhN-@xW9M;xy^g&l!%95v+>s6r^fW_?O+Ue!n>8+G++3I_bR~4q|vOI>*d}B-~B%%d5QCo!jmB z5=9NsXCy1J8QU3rP|#PCoYA%@d51ypA~t`$JL2_KU~~diX0|A3nWMGcUoXII#=nX- zj&^%}*B`h%0iZa!2U4L$v1gt$h`WgQ?vCX9$BrKf#k?uOK7F|uwOmQT9qE!{_2Z$N zQ~yxPF)5A7XDZXPYzlch>m>sLbI{j?bcwaxe*|zB1er2SUmtlp6Q5O?yhI3fW$GG( z44c`FV|l;JiP-=60gSOr8yth1{0wB@IY*rDT>YSOAk#)b!fodkzz8z9VKDSPJIE}F zZRF}S1++q!@jLnZ;T!Yx)RMQaE(CCYm$^svlWb1tOLH)d^Z;#1Y?ZL(9<2e|J$E6t z%=}AsYb9sPeI`H_V5qYX>Js@~Nf`Iuh1x496ng=ovt3c(42V52cz(ey$Wh=;Az+%1s}FwJFLAKS?`*E*mIT3w!Ka?~dB1ER?Qz z*iK|_jAd>N*Kie@{t*9saYC%W1G zAwL$%PXYe=rz;P&B>|Vtx(-c#4-)L(iCzMgB>F!;=lVZ1!>RF~>!S^MPz*2?=?ocM zeRY!;&;EWH3XTiqlRPnj!SNuwanyf(=*M?gZGCPZNbyf4bzs-?^zFmWj7I6BtS}ar z{v_|mD90=m&3stEF+SMQLQswCPtF7TP@eE1>yZN!JWUtsC-++(3x^7E&7iOq6$Q(0a=CijHbJWc%L=)ER(d}VWdfPc2kGFJ!a6REu z-(!J+^mDIiFV`eX)4kPMO;U#9$(vYnQoTy-4lKJCqk2S>uo0)XehA!v%#pgCQrY$X z4bY}i^(o?_E$<5MkseLbsH%eb#p$k7M_Z_2{tU4Nb&dp3@5b-o)W$J6>N) z8@Wn*meIofH?{i1ZE0`Qzp2h2y8NKsqALO&p-V4m`RaN9uicXT9`YQ-p|eFd>=&Un`ueRNY&5I)}B2f}`7o}-rioKJ9kZfYn~hwI`KZhB&Uq?y6->o0OA3rYB_ zFepxQZ#Sh6Bl+M0&!yIDj+n)xqjT=Q0fU>A%vkQgV^icIcs0z_sEn5o-EW3qaUq&j~l*Rv^H*#$2xMaV-+W5 z+1D(Mnw}wSKV^5_DmQ;BAVafrHIiMlU6ZHvm+0VH1Vb_)!PXg^%A!L`0-sW-J6mX2 z2a;v1KbmLVmp3#oD+|1BKFvXxkm_MWV?=^NX_#i8X^ zvE%{?(et)CidwKzvS`<*ZF=2Noqb%shCROGNk*{>(a{m)Ai-mXevhFNBEIih*&)pH zai2zlB&FRt6gNn82gjK?^M=8B_HG6aYhR;k9QSAZKP`qFc3*3k5T{+0v-)7gAe%C} zH`lDyD*i}bsaKa=)553MT1=u__QT-oSCQzCjHpP7LzdvBg%i80Q1~D+yZc^kHm*CH zlvH}z!<2oj79{OA5x4Nh$?^GD?>YLwk8gpdLHa6Llv8H-RRRWaK^qlinC0am zquN&Y!^c<$-`;$&qAmIB2cAohay6e=!38(zN0pV+uTqawk1@~*8Z;PUw`YB~aGUFA zZK9+H7ZMnEH~ijIw0o_uk@mIWwvLgQgnJqad}0_q-t}Fw08Qz6JJEeo8h;gXIYdaxN^r!YYmsSdzm^E6d`n14NZr0P*BFI8kLCyejl*7kRSu^i$F{k z%t!>My_K8;mzb&@IGA4i60qlPZ&e3~YIz>{R0}yh>oZ9M?l0?%qhmyiVX2NW4{K=b zqA>1B6EY;W?yM93JM()pGqPsUY+uB8vrJEQ=a!`Q>K{%EE^NE z6GOIdL$T!qX;Ai%rm;rRFHgX=;{ypk@*#l(mny;rXKvRh?i#aa-avQ36xw!7~ivZTths(!1K&CfNuco}bJYQ-rWN_Rf zwY2h2zaiGZ`-rY4b(CN{u6VS(bMJ_Rx1+r?(Gg4kk-(XQvnNeYL}%KJG~xUBK)Q@a zuxDlVqq5TBaIs&fwWB=TWtwFC;6N$Kds+d3EltW<{w{GuikaV{ zNP(KT!>_wqOPO^d`I7c_=%S8n+V7tRipE@0Ilb=hye;NgUsdlZ&Tey3@v-a^!Rdku z)qVEieS)hvzj&j9@AIkB&g}}E1$vDc5=9=EWF1`<5Wlk1Qb$RpJ|7p5zq)onFlcKJ zs4ZPulgE7Gxx7jq!E3WrvAPrXI{6#}xBszLeB=pI?eHGngA$yvMNseq!cCRB^?YOb zpQh}8mYd2ApS}`IeSRAx^C5ror+=mOYwK!U2$TVhIUMYK7+{%`{o5ph*D*0tfGs7+ zQS-ld`mfCZOyn~eC=8l&+exh{j+rs+RsKDqr{7Jn)>p{V2w5X1s>Py5E3mlm^M#rbI?=@dZ!ag0X@Bh-BlWL<#-AGZ0Wo+G|XVP+0rBrA0`sNq4Y{HvFh89LnyK2?$MuXR?cPkd;26xSiN=w?~-{HaEeturEf_$wbgB~&Y0H2pU&maMP?WPGr0xQJ6|AU>2JMC z0KR}5PVbRBka1jrp*$T07?{cc-ZTa^1XdF;JhwVfYWqg#wy?0@zN_>yFY!V2#T?}% zZMp>56;KD)o>Kg3Qsij%U{lTuL&^(vFbC!x3+<;~?%r;q_iF}(%U8J(q4U>FqV1fh zP!(j1l4Z3U{rppl)z+n({o-3&nCAS&Ae^hk2RsJu@Z2KI>FIWVbIqgy4o6GDsc-x# zwXGlS9}e7*vyTZ3g~66;!7dFsL9C+DQuEt$CDS>)+->f~SB;`a;)vx|B_*Tkw(Y&v zN8dOu&z;BdD!=*EUjn-itrq~r+#4UuUsp7&*?z{H+W}FDdlP)ht2lbW zY&vaA%6PY?FA5vLds~?DAtfI67HYim7|;J%B@uMOJNUYy zcmoJMK9PLSwyDrqxaobuCoJ8~B6RK~nvLNlZxksH)#g>g(9StduM?j(W*5Qgu_FiZY^wF7}sKLWhU#((;Q{#hXog+qRtBwUHfiUJds~pA+|YXc<$@*4rzKmc>%Mq zq)3EgSNC(k(oW)Z4qkMdA6n6 zjFMlH$m)c&U~zJc-c$zL{-=4Jz3t{yb?v#J zQvb7)Q6yI(N10G2=Xo! zhL@2;9!Khg_?;aIHxwqgPG~4RK;t%k39`~jIzXTQZ6jEr*^@g&T1o_M8L(X;V36H^ zE<^X8jhDO1KnP+c##8?DN^a`qoSh!m=hqKCX_qoJGVo-2wt{EY(gq%2g@V5=|DlOi zVLpt|x;3oxZJY3*F_x~Ay0mW|K=fC3=Ek1EuB>IywYp8eMjpk{{&#%Dh{s%^C2ur0 zzOraLSr@)Ta3lp?Los_N{_X%oQU;oO zcMZiptG=BIJ*Kt|`RlmAg=}$wyo^v)Fuc`g?pK4wRSXaLt<>`4w*t^7+XQZV3+yh(3 z>1UUp;U!XG3sf5#OFRjrW1Ft?OXgB7j_!ug4XHMt|Gk#rPPjeP5FpBJtD8J)L%2Kc zWq7nr${aHuG{YBKE#!1vNj06QN#tl-!>&7t_xd#V2V4W~yNWH!vjEW0&fAfjrjj8@ z_FGyoz1KTcLS8c943Hl}=7w}A^Na-ddAMM==LDsbqWfN};bhJAH3l2EMtBu@Nj_y1 zPO@AxpC`Rcw_i2&1--+2CyPaP?*wojjTsd$GbCW;yY7Td6}f{J|OfG@T=9tmlF{aNKt{A*|`N!^!MdUw#l zTYcy$!eI0cCb>rE9r=D3dfiKx;uJ4^fEgTBJ4N^)ec0*CtOK8 z@Db&Iq86!J^GC4K&;_3iGNiwE$JXUz-EnI^(dbS+UBVq{2O!`;GTJ*>@5#emHQC;= z((MtGeZ7)Q5xQwdK{m$uPA}TP{QhS=<5p?FV(+ep08rp}KDqaj)c;VVL$W~VawM=b zz4HEK8m}_F$Z+8awt48J8`I1y=LP&JVCUF_P1e`yNHCcQ6LuVd+egr#fnF{Jl?ETO zq+ud##<08^PkFg>NN~}fwPn&J$FDo~cPH;pucOdM!g7&>+aYs<2z|x2DAzetbRWct z*6+Q?HG%#jcZQ35)0G#MlHA^9m1qMnz<-s6k3KUTW=O3;r9EZ@v5%{G<+@v`8L`s5 z$GkH+ZV$wD=J@s|I~7JmC3883|HwVRus}Z*FLP zqB9&+zlQt!%=o~XEdCU4<79P-Ezxy$1v%|@vv$6@6FUf48Rk^*{_i+*cR=7^`0nN{ zw@)B6G8XoGKLH5<=ERd|5-@ZN>@QuJ`I(&n0;43jt$YPW&!h4QLioo4TR@1rY^e&D z!OnD&ZX)N;S{fjTJ`_p<@V6L-%I8cVe~bm^ADaK?2OLX)sD4F- zJNxC|l>IvT4X$&d$N=c;&xPibdjasWo@^fN<&K@p`knS*fx^I%@JHm(ZRnc@hWviB zbhY67oqd+uWFjaV7-Luw<-=$2TQray@*IIlVL z7H|os z8+*uFn7&+nTT}i-K#ezVZN5*7Vy?n!x@YmN%f_RwyRy}<=q}?vey`{M{dmV*Gk~6+ zM0!~9#4bpv@yfsEQ6=;(Zb9X8@aVd_4~|Qvz0hfl?9Acq&0NvRONzvs((zSdKv;b# zn&B0R8MOl2GXG8N=Zl6fjR}rrF6od4*fd5vDw&<@r#!dxv|1pM1{Km9bLsL+^Baf0 zZOf7(=qeo+q-`;cIi_V6aLx=rJi9^rIab+xjm8%La<;ihOYAi}qc1@be2;Flr*AwQ zuh|-PpHO8muZFfW-XQ-H&+?9qg!2AlyA(;z%rDdf{+gZ79p?2(wkZ8$mX>1bm$W23 zq;^Kib8DVC@+?b!ejBAyRCE3$IPd5yC8+qu>L$AENrutCDrsmKvM&dDcnegNJhKHB zuSCs~_}HBPbb=Dzte0|_;S&=(ew36padNVgf*|r=AC!_{(34`MJ8V3ka(pB+H|4M1 zl)O<6T=L$7cwxpMU?L#6YTue^Z0u-#R9;gPc2YCD(;&S&nPMLH?FLpp+GE8}%VjNE_ zPB~wVycd=}-~Qoksk?h(T2(nUW0SLa5~0wmMWj$n4X5EkzmTbhyNC#PD$YobaY5ArZ`3^~mkJa|jkFxUDV@NgJwe#H)Z%+oRlE3c*Pj+*3s z7*a|8V%U@D){@%AD{1MV)%R$ZIFd~3pGjH3d@R*uBm$?3q4fw0N>)?HH6T5_E&IKdN zO)F$`ZL3G!bthwno)j+$S9+GKme#2E9^Ek4ot=2~Zts4SwgbAqzwcu#pOs+s{az_i z-6!k3q3ocWs!`*}xV-C{|GESnFcTi=W+T?B4YEkYo29M>=Xt9|&4!n+g)ks)7zzlZ zf9r^lt3EC=xT7C7_B9u5JYC5uix4#?I%zdrdMx5Pu6JiKID00#rq?HR<6AF5I#w~J z^78l65o;+@hBf4RYqw)i8dCg{!Q1eSVZB#23c_*T#jPtgX3Jico~iHXiD=uhdr4XI zZ)khtkY+NFB-SRENND^HWa~LLR<98gT+iiEZo*h22j4z2r(oD1%_CQd zo}+Ff3Aal9GJ?l?OixkEC&pm#SjEHh>&d4Y;&({W+9U09YE+G+&ob{lgwjN&vb5r+ zA30sz+l0Yt_N&;}Nl$u8VlY)&r<4#UUf~^Q)KmoF&i2y8BxBnL5rJX_QZ@>T+I-b(0-QoCH2fH2MwGq2Nt9@CXOJnP}X znjd$x=1(^0V6?u29xhFZJZ2kFX>4L`W;Wkv zijDKHV4a)=f)fc6M+q6&=wDWYl+-_0gK27Nb|gt7jH)=O^uO1=lL-JK6VB_SqU_ku zpPvc%7MpjbbM5}H8H9%)+uE*YD|^k9xbzfeN15~L>}X4QoE&V}3BZEpeC{bP-L$i{ z;*q(Ac)%4@7kVL_tU1P`=AmQKGn*EvlMSKzV(ot@wDm`=f2FI!I%Fs(dCx9Mzp}0I zmOMHFF4*-R-B*EYKkMjh&!j2!savNAr0-!RrB24yo-Bu5o{#{S->eH=!4_l3tB%bT z{yAn=FZ;~i2I;~K7iOd48Buj46oHA3WD^BtuC{qOv+a z{*T99p^DN5>1*c#UE6#w=J8u~Fb@A7wddEZ^c5~g8w@2OhxYME;1q9Bm{8EyS<7HR$LV1@s z_G$z95>L6?wDb;UW@d7Mwrx%dBlm=oDqboc$#P5f?>zCMpJb6h_p}hKX_xd<(Q!r} zxV#az9jfn$?u<(cEswUo%i$Ee9p=&k zSU_r4s65Ukv3qXdi2KzQK;Nlc05`6I%1M$rh*9>=@`i`EjGyL|e068zY5rgwOpMmq zm3>XedGEOAww;wlS?Qbjry;I4y$56$PFSOL71+#k)87+hoi3^b7u+YFomViVrS>0b zb-yVU-N1ID+z{345;psIGO=d7^2D?l?V^xNjCgpN_N|W9qFCg8VdfDWHPUR)d*NP$6QsN^9nm{g9@kn=vy}}CjLO4&@hj7`em2XxYI;WR1hQ*&2A&asWWjsEn4e)Gi zaOF?1cH}7G20W9!xznz|)?`oHn8xSF(~HsY;#Kw*g<10e4h+#tZiCn-tO!R5u891& z()(&B57znNrL&i=FjKNz~h>Wek7JujKGO7m8q7D#Wli< zIGR}`K{tw$4jV4FD-k8%iMdo$AXMVskd(YcGuIo`+NARdZeVv!GLwpAOzB(o0D{?U4xZ9lhD(Oz~Ng36>M&0Wf8qDY7 z^^XM3t@sIMM#p>lJNKHKHHN195_xwb49*j5Vn==V(}NTJHcjV~5OaiPmeqLA=Ys6wcFvuL8pSR3~nOKj2Sq3OQm zXD`5+#;wf{5^jgb7$yaJD?~Sm(8~rePGn4evg}apE=ez?Z0o#4l)eJ(zr<>~gWq!r z07ZQLyg&2MHFLL&=3`l=9-T#}0wQsB@aFe;L;2S|rTW#hX>1UI5fbh-wu#{- zQoZ@^k!4K`tnT$sO_2^_0)5AUa1(Nc99;7KboFZYwY>QAcMzEm&;?rYH0{pBd94?> zizX}_L$mWgZt4+%zG_yng!0ogkt$iQ2mhv@9R8yZ8X<;0!3&# zY#uk6JewRH?(B+u3H5h-A-kNrlq1c*5#rs_*0R}M*dM)Tv9djT_mhR7KGV=Gz3JID zA}y)4z3C3~w=qCYxfzC{K_7TvEQeYa7xHVkZu+;5!?CCQ7}A5q0w3#}d~X|{<>Zxg`E8Q%?1mc!U!~^8^PH~0i`Tk(ya%@9^`&}!r)K#@-zs;s z%w|n)sE6tX^%Vc`5mijVgT$CsCQu$uroHaFRa0COc`H}U2Qyc>ow&h_g_AjTq4)}3 z{`wOq#GTym%ldX!&uU{0@;cuJ@Xofm*tt`|9~||LL~Xa!nGQv0Xc2QENUogs;!VO2 zI1c7zZMxT(z|wEg)l*I3FqKv1_0;@0ccAsSHG7HMFQUHPifmT{T=c5D+@s1dU+{(I z#di_UP9t+%5=sicxgOv4QMRof+0N<}?&xtM;OQ)kzK3>2h2Jj6|WNz z(Ig)JD%~91^wml5q5d%o+qdpdrq>JdJ9pZ<@3vl;Tp||fSwi8FcQd2x%SUyZvY+3gF7`cjcScQQ?7fV$WbWBm-Rg?j)AZB}a_VaT ze(7L?>B@sIcp3eDNBiq9Ub)DjsFut7IKD}l-r`OZ`gZH*4i*BNfxCFf9&5lutiBzn zz81}^SKM)DlcgBc`mlvSrt0K|R|uA_%__FPaY`UAiybr@*ipt;nB|w}*T~y+aGK8} z%#-zJxUY-@Ti9+~C$G-5DMY-7H#6E=>dVJC5e0pH zeGQyYj&qD^FMLC-*Keb#K_Yzkck5V?rvJH2%&KCQb znov~;*1c*+Zs+Y4Wr;wI_bhS~OkSvTVHBu`-6Wo-PKxoQjkrBM*CWh%&o3|bF&0zm zAHWST=t`Yx2PJCLb*Sg5;N!XF%m=PzidxkRGTQqo5MdAZynSngjw0&SyX|f_(Tk;C zoxS!H;8>dgTcOIZRJ;4HUt5rTBaZwh8ZQqU%E$d=?7Dh@*_lTmEN^dQV61l*ywT*B zc#nRRS6#*Kb;*!Q?)9l54nI>DX;JRnb0NG-8xE1j>EgaAjDs#d>PbTGq}NKJmy{7+ zdm+(zr>4tmE#^WCdCDdM92&**Y4gU$%a7C~=@YA#+&ud$E6z!cYx{QcyWAy>?v#22 zM@C>q@7JoADsY)Jo3A@Z9Qb#>u{N~6A0^RYsTX*AKX-|_<#LC}CI#&Eo+A2WJ;R`W z>~Ka|e`%y;C4a6dL+QZ)hi`rlEILBt^UL(*8?Uftr}}HRCEel0D_W0mI_#Ht+a3+? zToTkRdHm__NBlU4;r;m0ij>0G!8SIk=6UJ8*}zYaMWxz5Qe@N?n#Zk4XVkn#HmAgY z4`b_aJn!+rO;4U4dCPoZ>#HA`8+930WWl>P5GhFWw%o&nBr<sPC!ZtG>EE^=((C zkwLleEWv~i9V(?wM{A?*p4S|UKU$c3l$K$?vbJ3IB?vv5=eOWf*0Cs}`|wS%&rvXz^x9Lj(iu~9AE732ybtvTJKT2D>5wy2rW zP2S|pS3Vce!pdLPyWMNDul*z8Gvo~(3lew5E+{2Qp__V<9KLZJ%ETMZoygh4t(j&* zuw!(_)KhWPTE4J70Px@@_)2OU!NzKBGx+H6+1fiD?)l2%?B=!J{++qmJl%O?8u7}I zHTia=l1T^m_14+!IIot-+N-S}2Qj{MPPf;ssioRdu9kmy3UYieS*HEC+_Y_go}+b+ z*Bv(ZhM}T$E+7qv9sAf`n0$vC(eJU(B^ zY9*m{(8cu+_VT`G(uk-=E)WeEIN$z&v49{^WI*i!%ZHd-KWYX3c&4twSVIM*Iya>k zI8Yyi2wTpi7P|x?Z)njYX5hX+h@)bZ8rfNo1LAWZhFSpk2>lx>|JR*al>K3w<3k;d zP1RWc9_7P92!u+@!Jq?Bro9Z%s_$=F_1O&__allyz!y!u)UN$K77Uf>e98n8I5P$S z@9RTi$Uqd}itK0X#D7i^@X6+IpV4A&5GHSPgF%14&c_ng2Q(p|9VIBBDbX)f9Uq=u zDGM2-uG#dP;MzLh&8b+!+|N2__!JsT6>heFyppeQGK={A4xbPB%#~jAy_ngBSeHh& zM(+*rIOJMP147sO)Cr45Vut5CPmiyL$j*37oQ#K^4g&gbw@*#^UdCOiSq*lu1&*qL z1*n2$(JUD$ggD-@8{ZwwkVY>7S2}O?MAhD}PMPO8;yvogZc^~RcGM$sJn@>hIx1b0 zJ%%rsi46bt8p2uiC>;4;0H1>;xsn!d{baSR=R2_5Nu@TeYOy{Djg5>%bXeIQMpf|^ zh@YRI4UuzC1m1|JL~kqMzTD?h>n(dO@h3PAfDruX@bwQkE`JDa-yh8RCxqZ3*T2}f zmODr(0RhK|>iK^I`)po#!GNE>JWo?H_4(z}m8M4w=ta3OdP$v6Ra~15w05vi)}B}2 zK1YwYMAz)5ZD&)aH$z|#59EfGP3d2LypI6_`M+438HrkdcloE!F1-b8XBx#5?o+@ z^fqxtt+t~F{t@SY&@>fApEkEVH*ruH8NBQO=UNhz;o6X{pH3i6YR@Yhqp&(5AT#`% zBshS=2h#5i5l@7wi=jDmC#PI*!f4(ubzvv8FCdyn)%oWYv;LC=7h7$E1jr1mUgV%s zc&m&*yS60r<~J1kx)NokSzDay?*Kn6G7)!jf+$=Zvi{YGhv`# z=-dbmME>_%b+u$iShBHsBJ=aQJnF|xmdUMLoa@J*)lhk4jF|s6FEBN;Tc9@Z;tMq- zLHA7`s&!mAWwI}ZxxWZ5XgnVIA3&ha8FFcYh|z%;^d7{W^tAYqFu}(syr6lAqp{48 zm+6PUX&vg+`@)D?b4J|;J5LNtiLMvGTMrzKs0Gl5C5r8hWpwJ5+nY|*cokuSDA+2QQJYq%n%)T84`o}4{oBaG8rN~9`4;zep0~#q}&Rl9g;v;TE^{1l%Eba{S3jH-_Cx7`1IK?R%iBOc5?LVBd%?wye~#7gi;!gO z#GZyC`0OBVm4nnBWo+&D5LC~9n)2t`RKE$pDb(M+VZVBo>_l#8T`Gv?+}XcZ>eLOC zl=*>ZDk~yQ&cdC*P%elb3|{;z)$x15C)48cQGj7!M`OXWwhkD2oADAZBNU$UKZDLg zoRsrU2ki{bPL{E&8q&Z8dITQRZI2}S{gq$aiU*oZ{9AAS8mfX1mV=>IARG@)D9`^r zAUPPfCkzT$f7Dt+cg`$lI3pE6nbrS88Bp}}p#AKtKmab|-(RbUm*zgHVzgWnC?9PDpH`lBmLD%k%gto{z93{B?#e>e(+P=hSf z!_U%Zk_ZFgpItUEM_)L%MxY6d5p5$J`IhhO>rg1zMJCWO_9N_X>HrL-7AgSZY&WLL z_xBT@4}{FJCo74kA112)RVu%EpX`CVZ16?x|64kKkgc~!S0>N{6i<%Xi|2o<7N94? zMv@1(i{|VbGoPaX&>~P9U>W~EE`mCvC?VrZNFNMO{iCFc^%*krE;IpKVxiV*CHC1_ zk?8!`eHF*-5`VJ`9!+@hDq4a(xpgIW`pg){WL)bqoLL=^4&L8`00ai(q|0WCK@Hj& zwRNDcV)){JRu(QUAI|A0Ve+$F)RnWE-~oyZe!(h%@9f`I0QPGZ^sw{&{Wh8L|;7rW5>|CEe6#=s>AlLu51kjGek&3d2_>fa0la|7knjtjNp zDs~XC0Lht$&)2*{q(@fdO-3P zNW=C*c~W~TebO4 z>H2||mybZ+DnOz8S%$9Kf>V$Tql9%E`-8$(lC&lCNFKOr7-~#k<$sEZ0g&VA zO{~Z{GCdfh8psigOsOe*5b+SigjyCNmk<4W19#yQLZqjJ)hRH^^Wp4uv!y23NXWb60mjOzWSS>Xa6JDD9BVbsBaC_&jl2K>(1i2 zxtLl2Zq=DtU7!eLIHHyyuR~sgE6dyh+4F(~>407JEf)IiKhN#wVY2A#vuFTHlz_s; zupx=niKB$!+MqFmt^biFV2#RvO{q}sny8FCSf&D3vL)Hs#R2l+p$yE&34e#2VR?YM zM%Lx`E&YF&uuR?JVIwIXaPK4xaJq1ORsS}OfdD}XWWXH4Y7WjUqJS-ar-Ij?QGy)I zK&25)g9(V;ZTc39;GT;5+0DtpXm}3%j0`TYZ}Kd;7KBQQ+D zg)=5+TPA!yD-{*S-myY6n8}9=m-= zOf|n&p5AboU6QBsKj=Ha`cGPPCn0!yLBw&ftI)WyBSD-E!Og|>qZJ0w@S^1H4-W?h zKl23}%EO^XDb^nyDzM8-fE%#AOUS{t%!g`-sNEt2Aa$g-KpB9Cnf@Nc#sb|O%Gx-M zxDA_hK_0l26%tvyd*H&r*7?%9e_%m@jU-P%`5d&qX%4;%gYN;i+ckS%fE+3-v)ux* z2sb<$HvWb(V z&V(wCw&KI^Zd7|zO)P6Lp~A+tbvWZ5B@n<&l3-7OOL{evM=8nwQf)(YkRUe5TP76F zRbaZaSlvpeFqiDx;Cq`Mdc z{VSVl<1n?vNU*l5_hynf+2V6-yP+S&`IkZX7`~;6kP8urd*i#)-D^a1=H)3jH?xy) z6JieWu!E1kiCENzyWhLI5hSs)z{+unK@Q7^-S49<(J?N55K(5W`)!FctPsq#*WdUkAu&B#TW%y+Iy#l9YW2iNgWvmb#@j@L~PQ{ zN1FMxSs%>EN)5_C-VvUGNgJIP*0}1XyP~M^yw9mQ+UjQOf)UP>wD=C0F573{)@bF^ zEqExfs~mReU^!yJ79;Ox?l-I&R8dQ&FDDcfsI>xD7SDf7%FIpw?l~lqn~fJhJ)@Em z`kX1D9Kp67&80Cdtm`xz#m#W7+}t#HQo>f`wPK&^2g-qXTJGy3vpK}tR9 z8VaQq=lMF0Epu<@=0>&OwiQ#fPHlT{`lgVcK|cRs)fe$Mu+pw=f1QUn%#pl^muEH7Un-E$gQyK`%dgcqpbN2gQdr^V7X3dhMYb#CtGv< zh_q3t_W)a)eR}td8}0VMLPOkm3GH|#Ev9y`+6qH@oLe*Ycywqel7VLXwe+jFZ4G#6);Eetat}4R6Lfkj6{kYY6$;gzw}T(>4Zr73t1Y8qlYaGH z@vF^XiAktY`PcT|XX#d5&hKAI9bPa?`N}i1dU2N7;FG?WUX%WPFAId>WbM(S7wPE% z_Cy*@3ce{oIGG`xdkchZMCOdKGJ&w@os;UyiG{K93??~&vACY*mfDK4e5?iocm5ZUi`7=em2WMnAGpoL z2Y5M+$?ct-dM_Zbx>kKw#7CZAvTdy8DH*%5gG{K&3+WVijGw);w4K~TGV|6nEZ4Y4 zthpb6_~l|Wa=bh=Nb`8A5prgH^_}FgwdIR4t*_@HW`1ltW;P;AeV^kOF-S7pz-PC` zwoDq%SCv+am%z&<1;>_y!vY)5o05LP*k}3aHy-UiDsL=&Y_x--$Os>{-PDLNHnueH zRg}!qkScMlp0{Fgstck~J;qBZc{uGa+cA@pbQye#7AC=(&bW(eHW#G|SbJyT+`q+N zJs25?`;g0FpKvEz{Y$|fm;HI=4gS(nBMY8^e!lzd!emw{j<#(Yif-jr{K__Y^z%8^ ze5PUYM|(zDeMOh9y?QeI#kM&$mY9CYq%|sIR24TX>vjukWJFo|>+7U$xS@rJV%@u3 z6RRzudV)_Ew<<9WL#kl};3mmp4Muo+%QAkkhescN@pI5_?RGX4Hmmbp(!K5;X`I`* z)7S#3ICf+CVIA?tvA>J43`XMt$Z5N3Ne;w(nXL3(5f0JQ@|K%|l~v6#$x@G34`p8xj$0uA9L_HR33)7c7!*ez{M77=R`>;6SwUqz+QJAw}3uG&BJ$?rPY}% zB4hR`b;s(_Nx6oR4wmla!7=BDs-*%yDR$Dzfu~i;RG}3CS6%CG`clSVm;O@=@C&Aq%xNC5C3k>e= z?l9=gH~G$a&s+E3t^4bCRoB#X_1?YrTC0~lyZ2i82WwI3KOaVW)?(rfK=~icF?pBm zIW$EvRZjRc09=uu)l||iI8IzIE+Gw7`rLp8Dd04ZE;;4dnOj>+K6qP7|ZqE~IrO`WZSm8qw z_exHkZQQtlWKuk{sR~-{ms|B7%tmpgN#{WPJ?{M6fly|KhyGOIybSx_srEj6IaeP_ z>12pQrGt)C;}mYWX{`$1p?3c)lX0GKXqKRVs{G7s79AUPSK}95QW|0ikUv!-)+ItE*S?)>5k!~yQklZJwi5&dO zrR{=#=XLH>^et>ME%Xjee_)`HaVTC-s2ZyUfypg2r!sE3A#;rYl|l zR{%G0C7C`)aJ`?urrgY|$z-D{t-ip-K7-W>OjebnG*l2;@>?tKuKm;z8 z{kFJB?JQDZ)bcIz_ACfy3O21Qs_65F8^V{U-xr}v61UEhXZ$S$2=c|4SUp2W)Wt5C z3N#6$;`hTQToZqKKbyT&jKjcSjLAxfYScW9K;@QvVpeF&`c^inf8MT~CtafX%ZQq@ zdgJwAPTEE~{fe&b3Ri}~zQsb0f;?iLTYXf&)BY|o6MOBrmiDYz-aF2YuZv+b%nNUl z1p3$-lPgm9o5fst5^_a--Aa0$xemIlIzW^fV4)t0_?8kno3&9jA~RFCJ(NRY3m z%OMczm)t+>K#mz;+)%pj##{H*K7!pft0{P4?CrTRG#_}QpL0q_aMMhUO+?mr$6diY z7=U5IyRA8-UmC}KB_uhAeI&JT_0$FOztkh1F9(6<1r%ip3%%ZN*oChcwmeh=pOkGU zJ20z;ky~GVc6;!*_$_I{@l)iEhj zAd#mceWs4HZ2Ade>k{~3RPTf;4G|zi3-@*%6lGeb4pfwoC6eBpWg*9#AzGG6;!A?q zE>#jsQ6+a(sB*3_NHtaMI?>c;p3vcPQc@$_d2qm@tf;xlOnH4yQoAc5DO?i3aUCR3 zy&1-5T)w--{+NznsuaUk9gBL;mR|)|f4TWi;oD_IQ9em2d0w*=$DZhg#C|Qu;@F=c z{Sxf7-7}@7x|8^}`|dvnS4ihs^UlOtzr)%lR++}flQq%|mN4m~BM~Y&T?9Upw1hA> zrK&P2?tWV2qjF(#mp5AFnC3I@022X$OQ@Lha!W$hyoOmJ zzEb8haTF7sw5Y$c!aFOo>vKMiMO3SC@gHm_UqlG{g%P2AqJoP&paxm@Pw9=QXkr?vFw_iM7k^BMY;Z>;kB0zXG~$AdR<>zHF#dzYz!SI)8b-c+mU4>3FobF^*EATRHpNec{mq>RmiT zj<*>hvBVv2+{$~Bpu2kNdm~&-PhwHl;gF;OaqT!6h2&AO7|JGN?+vPP{Nhxt}#sIdD7#4($DBgY+?F0`Lh; zKJcS=IFP5@gYZh$^*IXbJJUNw#Hn(LuvZEM5AF|u1J~Cd3l=0&?0?|jstX#MZXH%D z)=|IxEGf*aP6%Ut#{TeVl^svQ3mjTj8IMYrM%3oyA5Cp4hA-!t_?mzcdQ`yu zuG&E7=b=anbD&K%qcywPimyq_szgHNCq5c=%I}|W7*c$twEfCT>-;GwJdfBF0M=!} zFuUAoVI}_S<=e1R^ftJ#v3Prnt12GxYC(`GY-N8`78yFtUXv$RGHw^0`uBbb(n2;Y zYi(MF`AnK$Z&XxuaHXGFR#lukiqvZNN=xCV(`@XJ=v8GyP`%J_r<<-*awVemR_%Wz z>ND8=fIFN&Xg0WcS`mgMfX<)6U7qKVbx!~Q2!y;!uP-#;R|2laV<2;I!q3|NN=if< zR~8dv*ox?2hmtptuP+-HFY*!;$B^j0V^n%-#fdj zEZvdnd-|Y>#G5=KBx2qN#&eLN8s+y~^kA1a+gE=a52tOL_S~BScZ}NW7YAE|9B%j_ z^LSBNDv;7Bp>V#-sj75Bmxbh}}ce+D;Zar@1Gg@g3^74F2^lDfAB`f4FSQy-;Yg_^p z@S5cAcW!t{kkGURA88dVc1L`->wKxCsM%CqMSq(ma@##NP{b|6qg&Ps*HwlOGzqWj zBYqOY*R7x9yBq!w(2^$7h^Q6uZs}{|LCVf@Df*5e7{lh$m$@57gA?K~G9TD9Jo(0w zSt}LMeB>^7mVF_f-*fnK+yh@l@5rC|jz6V#GtCS~wigos3FudcBKMd2>v$u|RKG#` z)y7@57f#Es0FMq|l;6a@+i!k&ic~F%IKR6OrG)u`u*x7jCh^^|UC!b&kE+Ixa;)zL zNV$;QL-aI&onF=9<}i8H#)OwV1Lh;Y^wpaly@Knzxk#D3S;-7XPAMPT>8z+z_ek4j zcGbiV^UX1?E#R0CjU#nM{{6hQ+Z!|*AG2lc6LY8$40Yn%fo@X+Z?5Zsb2Pt7eDo4U!QB* zSn4;{AHW{#ey zo&4*dfS_ssq)k-tY{}(0>te%a#b+opTb_O48%mw6m$BaH^uh?tzCyqXPtoyHJxtwI1hbq8+ z$S>;EB6&K>qI%$FN;7yQtjYsigD^C)tPU>LK-nO2-xDN=q(7c9(d=Y{$_Dk>3zt5> z!?`EcY?M%AVnxXW^T(*&D9Ck|2YA}{pfJNb72R$hV#XH3Tbe_ytw`43n!{(SDEfT8 z5?Tv)gs2JqYRIqYLU@zhx|fVfJ`S~#80|s&@f0;J22ELG8)0-_XKC-+rjfn$_mp>| z0Gxhjz;-W*?xBu7UxJE-nk))OmgNj1Zo&a`t!BoU{DM=gWhDhOUT$HM-k4Ey^7^-@ z53~X?Q^nNa99ut(JTO<;#)~NZW6V?AA>;%S@^*r?PuSYK5#XsC@WS*9p6F#ko9GZ) zF+vrQ%wX1HcMJ1=$K7Y3p?a;cO)#J_p<%yqKtsM#%bM~8MZSeoUfZx`ca*uI&_c%; zAGHs1&mKEXagLCMZ07d!S|w3w3Y2!6VMrMlSbN`@a~u)I6hwT<`e`~0|MmJpL~p}I z-tOF}>yTV;Hv#=F27q-9$p@bx@y}h+@vww!0VxzHWM_{r+Rl>o@6TH_?Gv`=?Bmd~ z1zI+a&~-Q0PDrl%G8~K&RX0)D)jb&fmAZNm_9XYQ@IWN5ri^_gqyH@k(PKWjN z5-##st5L;Cz|G0RYYfQsPa*NWC)5tE%*n0tHY$b<-l^ewI$XpRCjjuEz5`^7T*&9H zf!y!@0z8^=(f&LHcsV2QxSHQ+g@B`?#>=&hymp2hHXZ{omsixmDBi!Lm$UdnDd=eel& z*qam3`eoK6DDl>)XH$#Uxcdvf_f91_WUGF|d#{1~HKywcw7cL@wV?x11~k_B9)Xp8 z)vm#;2VM8w(ihK_KnUivM1=d%<})Eb(K;Idt=?fGc!6kE5*g9^U0?gu#?{xfLH>m* z;X5RV?HT`u&jT8!Y>T1K%^BcEdZY8@3~~Ub#7lbCzA<_x+IZ~?XCFdEY9=n4 zq{UL*StusvD=9YXQ;&XVmpBkk?SFrYf4suI;r(nR__P)hYwcMV^ZcvR?J z47=(k2jSdQo4BXt)DTUVW>}w4kLVD@0K%$6Q&N*_tx*r@vw*yW0j{>50aL4*`C@zI zv{Z!o4YWg-Z~5wphR9cL6LNUdtqzn0M>&I?<&y;D4%gbpwO3F$T3)pp7e@Jh*fykz zu$Ob!+a|ak4UAi=L6WS1f7zq^A8 z-dF(vRASz$K<4K#1-GCnx!!#g^xw_lmMRuJX3_wQl!HPc)h}iK;YywP!sJs&?)+hy z5}HexM@z4beRujSEza_LTF&aS%>*nt3f?0aO|!S;8QYO~tg0}J=CD^=(9|Y3@CB#- zHu@8_N&9lD&PUsJNp@;9+?HWZRWC6I;1S5v%FuYyEm0T1cB$R{to2sG!Pa)Qx%R3n z3$hHs%-Wd7ezX4F5C(e4N-9ZIiG2-Jk%xmv{d)m=P{QDs(8j!Rgn{{c;zO@^I5>Y} zwKMx>Wz1@2XKZ2inVrSa-r|Rfk~BIh@!w|XvN95CFfedb&^B+8VWC%=@RQ7;KW|*r zq{U#WCPCTZ%hCl>@YA6MSmk}Ps6h;q(!`eyTQjpvI3N8Nn9q? zp71~&RSxS@vQuJxlgScn(@5ge+TH3woqUrE)Sr1&d0*l1RAZ?$C4S0XTtfUvNs~K3 z=jUg8KA^3Z(E4Zxauf_O zI}BAe@)jR_Zu`BC!QPqrcm_vpNXYHu?3D50Eadxt8ttM4yq&2i$KZWFWa)@+*h>Sh zx9^Qh$5$3!6G`VPH;F@jL+CXbwB6$us`Nn@9yx>$SDTSdGy(rSQ11QT4yLpP(Z78` z$|NM?DPz)YvCUbTh%}^;8(}`-wx7?fO)_Zlp7U_AsM2lXk{b|6F4b!pogdd*DA8JT zO>J}RiHX49RmjQGbN4-*wdo)oOAocmx?AKl@)M@FNH3xMJFmavEez=X*d=MTXsTtq z^!444UW56a$Bj9j(2$s2qJ$7_X2B99t!bI{aDG?GKQ zt1&UFBL2UDBL?6U=rR*?*l7W%`E~2v$2EB7mpKQfjfFx!!@D@=zqso+7XCtzCs=(XIO)8bfHMSONmC=8C35{UCNTB%C>XkZ0#GE#1( zWuxVM!MaqmWO4lQtkak~f5ZCxbG6GD23e!+Onm%ZlcTOm3;7$4DAo7Hw`L1pk#06>sE3jPWx4dZnFKba5Z# zC$%>3aVa+voXC|%uQskIeNPlc%ez~&Nz$lk4%A%4Q3+L;nNOcy=ixrAKCjP6mHCn& z@g~g`(HQ(Aak5k@d>l3-KMRFf6ub=$gO>03xE%BwSNlKscasDPj{3uILi^tS95=UVDslzRH%iS+gZOZAJ%Cy?z8B9_qMnG zl@R1zak|-Vz;x2Rjq$6ppfr1ABhUTS{>+2eahH6_f-KA{0{VqxO3N?BA^e&`L0^3} zM!$l|lCuB2N#C*P=-}msGR$hc7t$GwLd&ceWs)$REXTL^+39X-v!Kq?4 zR)hIJLPTc>U$;FD8yybRxbgbt>!nt$jP{;Aq(Syw#gT}0iWSHxo3T9IgHViXAQb@KH%Uc|l_KWshgsZ6%6%qxk6pWDJ4)EM!P z$K@1lpBf%ACn|>wT7ivUf+Q;q>W?cOq+WL#AO#yHPdIGnALNZ_WdG5uo8lA%^p{+4 zU7vn=5uJPL6?`~dmmT3vUa6i|WTS?UFG8gF> zYi%Vt{)f}U$gnNBx-9@5{1AOE9UM36P$;TcHB>l}#f=W5dQIRYAF0S{h=_Iw$kmJ`cj zZ)R&8i1&-`Cbb?awxF|V;Op5Y_%)~bk7fCebx9Swh3k2d*>EUQuhwlRP99|_loj7u zI1SKiJq$D2uZjRMce(1Jl<2oO@8P3oaF*3CS(nf=VaCziVfkEQ2-@O3EJiU^WjAF@ z1%LLbl&|}*75DVhgOyjV>PUv##EIxJATQVM_l)1jD1Ztqlu7|a*Gf2oJ}CIB@h zLlc`%lMD6#+RDGLK*;y+mRgjzfv*2>ngU)9>&;XJ&Z$P)hyR!zsKvmAh0W6qnM9iw z{jbnMm4hg}M7>;%x>@{xpZSJT1sOTq98Zi@2I+s+Ar~GSYn-7+DM|JpyAv!zNkNgW ziQGX!_77i>18^inILhJqH9w;K|88Kp6|aRzNx8ZKA2nGR^~u#YZ_0C+y-3|Vzz^|F zs)+wkl8zLfA&;9e*%VI+AoK3u`G3PIiRG~A2-g~U`<005zXZ*7#4ZWvD0lP`Pyctq zG{I0#ptuz&V8i}HD^wIHC&Z4?kN#;Wf}Ds2244r$isOfw>+{`8uU3LPSlPd`qv>$&xU5Z z*n6?uU@W>cdA2_C6<)t;YKZ^tV`udG6Ke-AY{PM_T}qHW@AGrcLEVN;nBbYGVPjn# zn^D`8aO2HjGiH_VRTW80=R+(R=o(elRe%+7(2ip%<}9;r$QZ!?vI^*QhrA<4XCP%{ z%lnbGFEOsm1KGJ41m8XKvr`HDjKvw`>h>i+)vCME?1~B0X&iG@7XJDyh$=y3QGr>z zSFX*bC7gNt_+1oaK@$6RG^W9%_w)jMeQH+^NK0{MywwIpx4m~iKsZ8{ZMmbv%Mk$W zE9u*GX%i40z}P1gxzI<&4}~UDuCovBLrRh_9Dp?bPmTkYDUoV~TAEi*o12NM6s{-z{;| z<+xNHxt*sE7`3WT>ko|kSOA{op^DVUX=4-UDkHjAkGEHsF-S9QtJZigaAv!Stea}u zWQ|8|6WvG4_RsfrGVgiaO7-)bu+D{9$k!52X(Yr=3X?BZ{=Ml`f{;Q3dr-J7suB+>ENu^|vlHU#=O9oXxc$1Dn zM;pI!^>sqslbljhs4aTsj3Qb9TBGU(N;{=T4kTl>EPa!Zda-)Bx72Cs*jR*|g)e)~ zT}o>VfwgtDCD@)j<(SjO^pBEXmtU6XCQFq1UdrOm=6^)>I{C3WtTlqiXCF6WvhNie z^?_wCIE2Bv14E1g9vqAmXRkG1?!8{8pJjd?kn_K!u|L-@Pik){x8Am_v~J9Lq?|jPk1n|3+x(413p>(Q3Zk1verGahlCKSyzUIkufv9_Z<33t5O{{^`Nwi}=Qe0p zad5oe&>;3qqyhvEqUxL&DG36CGKrS}o03SGyJc+*nR!({A#Skrz*49f|8b6$jWZ6r z4KdI=SY{Jfp!s9G;gfQ^+)MwbfUpJa*PzsI8r74{P&q@&#Db%Y=+}C(-NL0U@^Y@P zPnWLJi}dh|;)<71_@6wa!*iEP@;$zX7+dXNO}6_Hzywx%zz&LZ^TaF;5Yd~r=!SvK z9TJjdwwkj@1bW%?3`=4K`Ckx~fi)=P`XkLv;ftSv6vg_?Zx6;|q8WQwz7E*R2;6Vr)Wg3{ycn&761{>$os@E73+e{#&RfQ}S$=Z_c0$sffM$Jgq!c|iM6 z<0&MtEvXch239QIKU*7q@AzkcvwUvzLGVJTLGtWLo7_Jev;`V6EPlBfA(0W>&udU1 zQ{!HI>}tvx4&bdqf$olT+29VFPawyXLh?oY5Vz|7V&vQS71;u6tS|p$OZz14ilK9H z&E`o|cJYIEn2%>ch7iE98|pN;;|rAPF5BaFSToSHNu!-t*&+2cl4x9 zE^rlN;U+(VPiL)35I;G5tRXinBrL?gmUo?7Oa&q00}q`(>@sn^3dh0M<+tO6&#U^K zm{(?n!n4#LYxeHl+)PWZH~*4+Oa8c7sFR2~|MR=*7FlrVooT<1dH*w9-0hMuu)#v{ z=1H-cve`n>QoI(FtndXxlbvRmF>EB%zH{sMpg-HUe$5yo z@5`eU0XKOr*Re!}k0jTuBE&CNV^2}!!Y7E@MP9Fi8eZRa87*9ed&yq<)`!mLYS93V zmXo`A#rDC;Eet!IIq>W*G}t=T=42kpdSR<>;G6s~uoFblKVLzYfa0JBWb~Vsw5uKM zeA1bO@ed>MkzxV$B0X(DZJWv5=*C*D6Zj}1f5ZQvE-V+>UTw5!iZ#2kAGd(m6=r z;|IlV=D>wiQxE>(imxZr?mmOQw(s8Hu&hD~{2EurKiICclL4tCww<<8hXh%6Mkp|L z01p%KLT74wb$c?aiFIO)R4`cF$m%CUlSsjwWLMzJ{*s<^jFB0aO0_!HtTIqlqE9@hEx; zyeJ!YR&zTV9e3BRay&DTIl1I4XskO{r5_lrHeU&Mkz&YhTNAEyxxvnY@dtO{PY{L=pH>bOi6UOa)1=@t=xTS{oaAe@ zVU0drE@JOUJNxi-z+KR)zdFgH-|p%}$^4BGC+f`wg+e7c^*THCI(d5x?K$3U^a%tbu{`aN&`CQ<# zL^uD#AOhykV_?zt>A2)N;wy($kdbI7t@^lZ#8u@m%#YfyEw84{JI=$lC#AA3z-Ksn z!7(Q$QjN)KDL3NF?m@Q$A0P8pMMr%rVv@-xYVyuMisOboUUFMFm+R^#csovN6g!6Ewddp%$X9&YFuaF=T${EpGLr zidZIz{elWYnslFNgt@EZgTcziOHZnpb^r*DwoTwa{}QVCmN6{cekorfE< zWwp@M3rNLUMSHU&P`>#P3=+O2eNUO3M!;v;;g-OVNfTjD_yWUE)V*cv6K@ zAG^HK18aFn;t2`#SJR?`!a^I4y)FWeTfXilGXP7o=F}8rcqsBj{nAQ zNG{c=DJR!yhQw;nxj08f)_-J{#z@8F;WexCfQlffGwbVbxOTLKJDNax& zE;?|Y7>^oG9uCx+u0p#VqSD&bdceI$?@fIEye-JS{o2EC95{urdH$ZT_E&+FbARt+ zu`bZ>+PoP5Om`>%^X~G3T>8tyxeYsi zitil^me_yK=7VkZ5o?Qnctj0vI<*;ZS%GSr-e4ZNzS}d*G@iNmK{{ZF&7YiZ!$eThd7tWd;FrM`7i4urtfyS?pc{?gQuan`k2mTEFoa+WkH74$o z_iviN!l*N(=}uq%?t9cztU4G%+uY(Z^m&}V&z0Btu_OI};GXVdf$&=~(VCBeLn3)j z*`3~Ra8^kLd#~t3VnaaA+&@0(825YgbN_bKLU-z=RH(^B1F-@pQ9G?=REJnsY@P+T zKXzqwe?^f%Y@z}&6W!m4 z+XO>T-y`$7fV#uc%}ix>bIjMS_Dvh3gT|EwEQih$0GV;<>Ml(0glCwCZcWod-&6~C z!}k>nd+mgOxqn`8B1u7%5hZ#^tK9jTKx*`AlFDr)gbX zq+<@PPxQB2)*bgFMYZU;0IPKjzHYr_(_@Y zj%VzTaePzzbUbJBL1B*x|n*%@04?{YOzr^V2*o=S^eRH%`jMB$(PbQwlD8 z;rtVGr54RZx#vP zV4ZcuyJ&|WaesC`J(Ts_4Wte|5_3Najw*%@Q%H=1q~n z1mDC`oa99QwgqZCJI38gnahGmo)Qti*NOd&v15f`Lte6uUVQ4OhqQ5mMLMx4G#Qax zdb8YiHL$^#%nWg?D|1!<3B7}!r{q;89pI`JF-=O^ zZcruy9iv3?sLbDhUW5x<#eQDORk-VE$#&ZSt1c-+6KjnEiXi+QMs6S`C#Xpz}mnna-Q!+keqkR*Iuf1S~J4VwDVa2H?3k1`ey-qq?Gf))xM z?4yVX2P1h&x#GVKVE^JzZ}@aS{)63M{lC780&Xn9|8`0`Un=USraw>+v}zh7SZ6mI zM(*DXUGUT{*J8F8FW0UH?NN7b8i=J7#~InhMPOUWEBF@|5~DzcCCb&UBFdC{eYzW~Jqf=M ziCL-{(6br3`*ldSBVzV1Pa~;gWz!o@s@n2$UiWQnrt%Q%I>1jS!Y`LWO{(Bs3TeGY z+cb8wStu6tKjM?ZrWNSoXOB6>R#^bEq4l#2+uYCCfdcieM{4YmWYAW{&Zl2y7IFU9 zBKSKcRy=H%{Z*oy%X;Z=^V+1U<;Q6WlnYguhJpvq9Y{m1& zR;m~7cpV`ZoR?{qzxTcD@w(Zsjk!R@oDavQUUXRgeY9ke^QFW4j_#U(NyqW^ZULAh zoRe!Y6irsj4^3W5#BP3jJcs5^$PmzKxBQ#;?DveAeA#z#5g-maA|)0?RjpyA0hl_%f3NPE5Zz zPBo2we7yj$rsE-;NpLXwc)S$+R@=f6$z9C3f`WRVklD=w?IY8~rfF#{JbvK(((MM# zX&ZGsY)4=W}y9^@z!Yvo-_Wh1^N+(d1LR=$3u zxgc*^b0=YawQUbMZNHgNUDhP>sz>#GJDibJje&Y^{(4spP}Hr>ux}mF=l02t&ul?e z3(fn)IGT}E??1AHrI>DRMjFWBm2uQZ;I{6$gYIrUS2l2Qy*KtK_^=t&=5~T#_NjbM zJRW?V(gk18iZlt$teI;}H&KfqQLhHWoTACVG_F_g{$-Bg@%EO{lF%vh;B86xQ-Kjv zs(Hs{FWOW_&8LV)3FO^K^Sv9b_|o$nUYC7+hYqvp%dfo9d{tVRsCEM+2$;+jf2jd| zt7i_FTV4P;ufM;UA&&cQRyruRo(W!bg>7V~iaz2b5yNiyKigU3-RPVcO*INwmlXLS z<8qIuKkaOL41q82W?MANwFYYZ?w2ew&`J1TMnsiVzni=vbNJjzT3uEaKnGR&Z>VZ4 zmyY#~UXH_ZQr50}wae!##u7s#X0w#Ze6eU zEB%HSEeG%Ym#Qf!hX1rvs8opd>7pgC3t9?XWQFQIo4egxw;XT2-hZ270vj~huf-bY z3q3&7__vS{yjrjPK9>x0v!82LGDy@N4`BS8;s^T8fzv81DzUk#D}!Y!x&}L4eI5e( z54`oum&Ge~z~{G=;wdlwVWUZ7Y_Rn3Rgj$=W}Wsr#RR?u(2-t;^(3QxzmCrB2WBI= zd3x-dZw0G88H~2cuwsVyhFOBx&*0npK9PU~!n{xcGw=+9z%u-zEd(RhL z8^`gSfU5z5CcBk+ngK>`#*lJV4n~AYXWhbJD}4L6XoL;+Yfp7!EbJQOqP!MW1rGJVv^Vp7$MSPghIqqrRqLFNr_>)Wk|hP-(76eLI1HMp}37n($F^ zu{MMEZRCP2_-!gelF%$Rjl?fqRf#X&M}?!~sEB2UR$5XxEANbNmucCv$vI!6**zRI z9Cp@zdi2Y`2NwW^$eNkeYz_(PkuY+cpVQj7*W0^meHsOQL0nD)&Ionh_@rZ60oCfo z(H?l7@(CMeDPNi~9=~qqiUu_k>O9X*RS5Y#Ij&_p_M#Yczeu&b)%YmSVY54qWXOJZ z8g{||>uw(l=)2#}PHqc0n`HdWrQKhvUB(eXd(yCAcp~!MT(ptOB;LF>eB|yiPZtge zLt#neJYc=G#VeEs0k{7tPWt`UyrKuW=VrhvP|-MAysaac-wbQII#n~B^XsrLhpT<1 zMULP7Np;t~AzJ1h@(|Q8Y(T{pn05n|iB*pcKTj%e(0Nv8)Q=AWx0B)mB0Jf4^l8{+ z&g>GZ4WmighD5nnt&jO?^~KIJ=f25dm=sb=jf>FrUb)-QP`^7k7La&rqqC;DF!3{4qiGO@q`CjYgHM+$Z(jRs=yDL(yw2@iuJ)j9 z?MA7Oq<@~hmSBA&K?ui~*$;Wq@B2TiJ)#%hW!&j_I+(pdp0%H^(Ea|k%HH9ez4ikO zgozGE`ddF%!Nv4&w!J&K%ZkJFqOTmHhiDO#94cKln=40?lP8zMY}E|!gk6rYxSB(Q zwNo!y+BDbC%(-%H^*`mIO)-Np&I zYg)CB2x+BDNtL<3{9Z59ZK_Z-(USG54LdsSml>Y|^J365UatDRKrhBK#fS@)`hYEf z^jVvF#JhWIi)3ZEXR*OxU2xSMU>)ChUR&)cbgh(HN}a{6d_dW*4eA{_anC{t2Cas2P64hQNuc$Kko3$g=o_Uke7$9?+i8txLiffi0h0sEgMYn`|REAZjuci9}ag~oA{k$8t2EW{n_Bo z-PUB=;>VJlhssUNv5^aONqFYXaT%?5P>H1^87d5z#@Y65^xuxlWe?Lz-DgN>Zrgap0KP|2j=ZLu5?8A$OH2|JG&x>i_s{0=naWkRz#!*7=+D-_ z=sX+5l;kc^@6byc#UM}^6a}K%zgTo_VafI54SVQOGaJ(g0g9{rP%tZNFO%xC=UDBGo%T6 zp@o2~)oN>8XYUcvv*_Y~4@#{dvkz)gaAT*@iCkeQ=bcf8kp@EIRd5Teq5AJ&>2@s? zeJ_S*8yPWZ;E2!TT)<|YsUL@v8Zc(DjLyCKiOT#0TH=rI%Vs$VDM#euWXeW0>9yh` z$BSXsDDQml-iZ`YN619(v20BmT;%_no?+f%a>Tvi8zhbf!n0uJ@r1e>U7&TJw_hWg zdpaK8lgV->3t#SMIKWzEaM{VYn&w1@#&=$iGKz=3-BP|zrB{}HXBiR~BOF-{SKF-* zbrU8xscEpc#r!QfJukoJ1b;RijQzZi?!Eo9FBm8cA@#G&VkG0ebxvXVV)AQj9IJ3m zOqV;t)j9PViQM;-ac?jkH43*TWXIj!pn89nJmu2o4yEnI|7O)4y!*8tv7rJcB+G*F zr*F~-BP_c#Muu9cHn7{k&6jo+5wK>@0vUEX4F&CW-()ZOM(H^Wj8E7x8Gtti^{&be z@KPhW-jmRyMPxMyZFT98_R5r zFnE}$q&eO+-@GL<{})bqHPcW|N8XWR5?>;{79T& zAHX_P&U%g^0fy7}aW5qf#!CzcwK%%6?mXcOh-7pl z*sknJc}+=C@gZXMHO#t24eBe*EPTIj(EZx3+x$*KYY!bK@p2uxHWU6-P}BsNg$UG1 z3-Q`^h3Osw`rPfRo2swsOCQoZ{Kf;|7``;rF85hzdtd&6<2JQae=p!70lc1}MER;) z%MTLkNTi80MX=#^`Pj65U#U+byH+E45~mTVq-!T#oOv-yhn*oQGqdCwR>T*t$n(Q! zpn2Gn4;g-T04eP{Ia)6HctXlZX{Jb~0v^fs0us`%&qQv=ZW$bpfB1})s&*sxB4ktAHkJbMWdn<7@aEkt`dF)jULh;Br-oR|C% z6<_Z@Rcv;MINA`NK(|4vgi^ba9(8r}CwltcPl(wP{YdW`Y)%m3DJ z&(?h|zO;MR`XT9MU?EFV zX6}YV1MdwPJS8S~9j5V zLbC?{=9Pyv#fjC$iDudHUA(s>Q;bO?ytrcoQ>QZgC)A0mw;0T7%WH^NfwYUddi@I_ z*It+yAM5BK9Agn#E6QbX8qKpUe~cQ_+|#so#d>>7-9E(8w4y5RjI_d z_chE8^aEdCM(TOl5~FWMrkL1A2GAo;OiQtEYPa#ntc*S`5n_-$aM*4_fsg^4y}czF z6JzW6(vfd5!?p3Y0*nKX>q>cm`Sl5An^?#MhJwvvKShz*hz?eYY{Ew`f)Uf4AZW?1 zRa|GA;cbt8cu^o#Q1Ee}9e6Lr$kCD}1Wib0*N0oW?2td40(K_mnYK{v_AeGc<)%4; z8YH5F<+#rtW2d81Zt_6|PqN8jQzN7!WWS);H=_}cm8{KVXaL;{5toahWuC=5RLh*x zlnhBfCUNqYM_S3yd!M(-FhhJ$w1sWOM5_?J^BnX8tlRc&)Wb$QBAgO(zv8~*UErkI z8-yTj%=g}yr+VS1U$o;YZ1@i@G#<94NxbkcH1H{@{PLdI=J==YZyG|pKTNFf722~` zljO-XS$w2smvyql+u!?`o-}78+N&;+`#iGurua=KZ{Qnk??;VPx(uK+zL}gUZY_g) zX(n-(U@r+36Y%FnjS+}cK`0VNn1#_)Ouz<0R=)(dI4&MZ;ZRR?zOQs0)!uKoW}z{ACdD*NfnOK@6RnL~ z1xtrJ#=WS9u^#m!0C$tA>w{{~3hb(B?flkgpco|)%E#ajpBO_qEU64RbO^qojqXkN zs=z@=_trG}BX{ssb1k(bay6KmkZp&RXv3DdzeH(nj+HJTF8uH*ifM20RlT+(q2eBA zT2-m--D{VIV|Y~Cn_Xnzn&}ptgP4u%?wJ=!*{n25e zN5T3ej89rlC|pZQ%%M=W!fYQtgFL#;ke(7D9MqwUTLXOP^;~pRAJ`uw_u7p!(A{;2 zGePi?PoC`^u_Z(LP(wMIX?#h0m?H1f^eL}0bzm?D{vEx;$hFt%br-6y!HyUG=|Z*9 zdneTyUJ;5@Q~r{gt2UPRX8vCY*Ih#QhLyA2i=GXBL&M4o@Sx-F3wv zvms`zT;B1|5mB(UW1R^o!ODyw4mdV=58>i8X1RudSGUe5>57_39<9S6cb!Q}RGt(= zZ!5~w!CP^bSXiG2M9(2;t10TzO zVQ)mj4JdGTs@FkXrs7;>t@3blGd#oU%giYz1az1AVrv;> zRM<{ka|xxAE!RPMQut(pA(s4T09mU<>5i0oyz=I#y1B!fb}*ZX-bb8 z*LVNIc<%$KigauJW||y~Qj`5c{~sGFt|LUC{VQeh_59X()ly*W%9pD|d-D&NPNCA@ zq6?3%n>X$q2gImR2tS#E;;x2nbDGDSu+kJ<+~wVP$=(BjA`^B0hq|{6ilYnv1<_y$ z?(S~E2|@HPQQA5v6&*`3X zp7XPZxfVup+#Xz8(AirQ>1z*G4rX2m=WUe%P%vp2hJ=VhsCd}S%ZZOyqrYklXk=4# zo$O*Vo#sH@+4z#VSgP+~t{JB!QK9V6CJUAH;KUin%DyWmL~c-FaX7ZeK@I3XrwhLR zo~UlW)dawKdA^gn&Zixg3gy8)R-dPffw%+9f7F)%8-nhKYBRSebyuka=70?aoyKMv8@1riL5x!Th)$o%oe_SdUqp*cigk|ZUDuQ z;E6-Srnp)$ee{58qXxQy9x0on(*TpHcK8&T*IMwu#pf{n6H}}KyELWzkKX$|IjRVl ze*Q=iK&qRH;-1w_HDIc5&No6xEu@(4Z;VVu{{KJ_HVnX$0ruWHyTI&>Tf~mNH*wR~a+slMz z4Pt!;pyyWr6qFZycARdA7JP9P@HDm)KXV2){f%Zb!BD`>@iLmqZqt6Fmap$|+DyX- zjHG?g?;^%W;EqK+9VFPaNf!HSG{w9`|s4633rj|EnFz?>=*=faT9(INi$}^gkcj#-GAxA`_Qu~Q=j@?$j zx{g=<#dn}F88RVHte1gqHvSyZ2ibJ|roLwAa@&nJ zJ1*GqE)p%rq>=UDQ0+j4-#xTI|S~#W1lO^uJvb z?g_2btVi5m0qBcnsO|ZgaH_tUIY>Cd*q`4~2c!|1v9SN=>kDYEF&W16#j2Xpe{eWg z!bMYxWIWOH%)P$cb&ASHymhyM;)C2M2Hh=Ct(>%;b##Eo(z&Zu%dyK%qJVA@01$$(1NCBvPZ2B~JWhuy*fElG>8idw#ntFM+?Kysy?EmQE&5wXZG5V^+^I28 zyE|u4Y8h60xHL8oR9_kt34}!+>}ILHMK6tJde-PQuoxgT7z!{=7n5ofXV`~V7Q=q) zK{KNJl5sed4>$8R6F&)RA`d0z<0br8W=R6r!L;H6_1V{_J;BNP{h>2h0rzPY1-A|} zsFK6NaNy!ApDZZ0CP0xODotV0g3=O8Xp~>d9Bt?OGtF?df)c57?C#cle5T$dSkhLQ zNO379j-m?*C5t0C>YG!C8W#p@kGqCC&^uPGZ7X!9Kq z+|bKgD#nQ2R|W$Nc+Wd%!F2+*QV{G9p#<(!I!<0Cb2}Df<|JBfhVXMyBmaP4=cI#h zK-Z_5?dV9`(h?rI-88~zH6;)q+hfDUoIwj;0Rry=zY3F{ zD2O3tbNk`^8h@2YX>gwBJqrZeR0SeiRva7q0|s|e4tp|KIN%MVOas8aIPFi8l{#-> z6Mu9)2gpbQk8nOGfa#1&Jj2|5rfjf2Uoc#{OhO6fSjSM!z1x>v$;o$VnP<)ieJ+wE z^YFtv1F%qlddqkDr5ED(UAlp}yvFl#h(-+wApE4&M6NGOb1}8OhY}e1a{yz6vF(RX zaq@mNWAGiLA+dV$75IG}TGKP~cCnu^zhfc_w2WpSufH`25v;VDlK{RE%{s@fIJb=a z2}Vl&XzL?l4!fgx@AY8s z=50kJ56*@omJ!eNemKa`pDh6Z@6|-ZVvoC1wLYG?%Er~j7Az_rxyU7D5f2q3^4eu_UOn`F6B z>zLETCZ80^b!@3t@LEb_m@sf7mS6!jL^!73c@EhzTqov5LKEG2MI*vYZBPyrc|gbK z`?|pjml266m{k_sUkEfAiUmBuPwz|nR@lVvdS3&P`IoL*+UG5~$RBr$e9YrngX{Q)eqFHe&S*R zM;>l<;#2ME51_w}o{VAZBg75Bwq1Xt4^;plZMZNFOu797!1tVUVA=?eYPu}gc#oL~j^i|^u5_}t63&_1gd*N=dT z3yIGvZLa;WDf4K4e3(Z1-ZM#wL1xH40Vxf3LE0@AMkUhQ%rO6kJPzb8R2ZL*wP;s^ zmz3l*HrgN>VZ3zQ2$k9$+|XvX;G%YKOq2`WcepI!aX!{aHtXtr1&@Ci5x9suVcLHN z_MVoGzFNbOcUbLEndH8qS7C}dpDzHSxZmDA=(?gQwezciZH!y;ZjbA!(L#gTrOX?@ zdcaSI$KF4>kuHhnws_Gjg&}F}^ntKkS6H6rk-o_~N%q!`QB%)pt;Ol6Wg_mD&+ZJm z(WdJHfV@Bcei5HH?oYG>fjWPW*`Qi?S}xbKuO`75L;LLsWVlaTon2I~1&~bW)Ui>> zF>173Dxi28>SzDf-KwOZh;v}+)mN)IvG)YXbKA7#a?B-iogWmHI=wLA@w&Q68Ehcf1p+-Uo(5%X6@D7m&pDZ<=0edJA2$a^ekp|F<3UZRs z#or4{-L4N040U!^X9!1XzF+4AAotJ=RD&NTXih)3y8re%KEe}}2q7W@spMehdO7*_=Bv=P zxEZdAFMH4F0tA>QEY0RCtO4}6O5Fnd-Tt8&6p>WfaS&AV+2@NaM#$Of?shx(o7~!j zbffWz?rhmsm&sq5jn?+sYy4$uQu_>`M(bz6?3e2;1P6KkoEd~iOPM}V;ZFdHXOxn> ziO4CfM2$-T>kp`}JUh3~vZ6CU7YSBm{o0L`UIgp^?;WxWK z9Dn~2TDHF6Z-7SY)C>aXW5Ed;LTFh*O5goe-%4!Zen4AtE+giO`*v|3zjUCD<%4|E z1wkPUHZ@dkqhzu3c~8T38T*e;K*?~Bf-t~lgZ-1~dY52P@r_v$71{5Gm*>ZUS+e04 z5M2e(6r!I-I%_N^*!U-~-#TqMV&-{w7pq(1mKhW!SFvKycj)xaT)p$mUyk?fYPgiy zzQxr0GGNhLl4EyVW_W7qO@NBf^7)z#z z+vt9#t(E01G~h@XvTN+c|6Kg?O0ZBSwW2kCs8nn$$+lTGYfKlP=g%)1#bjB_Ue#g!?%{4k%zX|j|2p1$JBHJV0~Er6rH%OBMHMyVd@ zgpE5Bi9HP-MBBbUUI62;e9hRs-{|v2h?LwCkrp()2a2W~;%Qg1Qsu(%d2t>X5EP-_ zH~(Kl0$gj-bP6nK9l93r%A~SZ&zk)RrIgjQPQo&7q*!3x~ z-)e1Jk@|>~euSXxZMN^P-lpy2a>an>FSr+yD;rSi3_sK079r4iP{$6_Oq%0VD!K>GJ(W}9m4jb~Qkx~TBH z8GbbH9#zarxAkRU_(^WxvmVh)>laGEhol4vYfT}Dv?3VdpeINPYcy}bJycy$v^hbC6h`%%fP0@?20kFTu zAhy8}Rha|yW^g(iW*hXnfBj)^uyWEC{fE9BUjeg*EJCg8NH`!YW?duK+=PXj;WPdR zjKv145qi)vIYyz*q><CKjuxz)18$eiN2PC9RRw znsqGx*XOSY&Ixlm61h;1^g>YabX?NqV_r;pzN@jha z+7Bsg3>jjKdfm&Yc9*R%5u;pWX1wAMHmLJ4Q~AKQ`@%b*nuC+b)mTdmrs&)(^Ov|= zJUA8XD$sQ1io}Y1GErbGaT!Q`n1DQx*T-Rk|E3x;9qnDa5Z;WxjNOIv!E~Poq67!FDENJC`OUl7Z1TvC6~R@df!a256)?Iyw?OO;f4TCP}sp=|+28|3nS{@@nPhEuy= zLCYVMPm|ND%^lJ8Za$^EM?|`9nN@ESlhDbu6#f( z=3QW&aZSaSqP;O61qp9c0M6;b*fDPYNUz+t5F#53yOY#)P3^u^eC3&LL=Cb|auFa5 zYB$sPdFe&SE0k7^P&9UNdU!Ligeh{R0?XJUg<+?z=5iTdJ7{8X?4M)TJ+#>}bPyT* zcJ9WWvDaS9(G3gFQY_Ct7$O0viz|7e#b(Y^5_qwz7`HSm0jE6LCs!6ni%gBOT|ASF z?&-8>13Q;r9%t?B(`t@nX71oT?u70*Muq@|BS2W#IFi&h@dxQxULhRVT<2msG|4a^ zn`252Li$)GcG?6~4!SWWUw#gGxbWD=Tn=82{+6lsdboO9mG1P+u7f)u(vfbEV)yJo z9Xp5xA(MXR$w9*ViNkd<))oRlyRaaB6ZHDqCVvL=%ZIwZ z#U^xx23a*Tay1f{R_E~%^Yb(4&(J4~zkb{98kh8CMx?YWAnseUeOfR!B8&X+Gzmlf60f zGeFal?5)c?LS3W_6HQc^jLjJZ#LdQ@zg;>XiMlmQm}NljQ+@{DrgqbxY_eoYLTe)Y zg7PvRp#;VbjDx-Ri^;6$(AtEjI#pud&E)YsRjxF#QRSZAF8_2mgjcVBJ-bd{`(8@5{3%~We&d&8oV`N9JYM_@i_t{)lCR%h#*XQC8} zMJQ*#RT7-N7U)DalN}UFm>av?EVaSM$IneQRIW4L_ui4E^>LtWMj&x`@ZN` zPHy#gEy!Up^n8{RLn<;Y0OcfUG}VF$-{Xr31`w^sB#a-rmGA=@8?M0rz!3xD16j348|~w-p#sZVz(i0e#&C#r$kn8)pj6XDa>t zw-1wSf!R~^Q?jzvyOC`GRrkJ+g9lSCB2t|-OcLym1wSj8BjlKtD9?aZX05bm9A?~H zQzk>PX{7bn4lJk@-(98IzK2xR);dWKIo{Xb6$jhr3A$!G-sav!lm4M#)( zCiNEx8-ppjT9u)PO{F8bU(%FJ&JgF{^S@Wl!Q4lgIS z4TL;2ZGa;6E^a?a2Bl=W2*j8r-y4?5mhWPRkie*)R{u@+`O>QJ=4jX>ufl#-?NQx) zGAt-J_44F|Aj#&uvUTgIS=U_uMLZNgS7$lyUJ?W`Z^YT>t>@cR?d7lz=oP!c(nClr zZLzAA7nz$XpWq!x27Pb6W7A>yuT0!`Xf(&y$~`M~PvK7&n)FLgZ#+Ld&pc)MVjMmG z66q3Cc5fVPTSG%6QJ$)x4WI-!gXkEiFk6n}!Q|yVm5B)s;AsV8>1%T|qHNKX%)t`n zJP@Tgd;QvU?iVgqJ@Kf#FNt)?bOLGhyCL6>lE>(DV(kx52oRD69_Y24wbq&#WboN8 zmWZeoj$%I{lVPWu?y5tK)$Uw@=%$QTyOUBthxbiWn95hnhmEK3s*`@dm=N4=ow&%G zBDoNo6q(`7G6U%^o2(eg*E*QQX1>^q*3wz(u!oM_Aj9ML+-`gs z%6*{&RRi2ux<4eeUGx*^Mb#+6#EkUp!O-cb|1Q(Gj}12#!y^b39x-^RuMCgX|4Om(JI?n5ww3NUF|yI(|s(q&)Pc*K+*2=9%rM z@KK65yYa1sr7Qb#d$GO=ehZ6m{|DYmR>oen5l-uk%;b%yPyONRR29E>VeA9Xc{^%E zhupV|9g?=`XIR}QCk5OgWFpd`&aeoM#x6Vb?qzT3xV_ze-dfRpt#HbVFmHpT_j*J!N0q@Oq1)h80}9ddm6y{C0^-AAnq%?4NQK+ww&U`lDxI{Y_xN2>u7 z9%r1$UfEJvR)2~Gan!PNRX*x|^K;8b;^nclI4f=ZaJ6HdA}TIkRN6!Q!z{U1AgNUU zCQjDgV}VeD8lmuY(QGjbm(mR06NfP7k&5{La8N?u$Yb%+oIbTNErqJA=6#;U=7-V* zb-GL4+(e`pNM33W566Dqc@%)~LH}%UD>}^9j&%YJ^%Z*``?H*ccT#Vj@*6?9*l52p z1{i=eq2-5h#V**wq~#Zq?#dgTtN?bwkKaT2sEoBMe?;$_?ggpEbPHu$9saOvL_fB{+bw7KTa0)Y8JAw1v`sgPHB*Uq zbX_o?<~GC>RM>NLEhPw6hBQEK5 zXK=%u^3Vy^;xCQwByh^({!U~06C}s7FLchDOlV}OQn%ZCwN1^^J8~pw>ZE95lnFy)DDq{c}3SorWNST_|t49$@8uF$F{@mX$ z{U>rKRxd4)CEilT*OlR>oNe1udFAU@X>9&Z3|C?S^7zEhW%x;P+{-qxg-vFjI z{{uw2|HR{91MxV8v)Q$O-;Vz;otR%-9thAk%wJ6i+WZpuy&eCA7Y=TeHr=>J@_aZb z{=;>49z?{!{O^GoWPzgl=y+NFU2}pTN=yozL-$7lud1#MYqXL4T>80qmzb}f7UnVn zf(7df)T-QDflmIsIT>6?Vva8s0Hg95VTpF8)=y}mCkP2l#_hpo_t^{h{sRsn3&7Z9 zX7u}V2Ou#P>;{PbXxlIKrvM`mP}_02AJM6VF@J2JROtSrz`x&$kyvuv#x!2>c|Ovy z!)m>rmf0fC7VvTh>}yCfNqLiqX?^Q!KCjQ24M1mjQ$WsaJ{&{9eOj3OwdLWk{BwDg zCgh*H@^+&;{RzOUmjH0;q;c(~3mV07cl#b84mq-=YetwQvqfxo4F7}U{=ANl*P>Z* zCP1XHVl@EIcm(_(v{G|%@}0Zo%#rlYBgt%7xhrX$7K=f;TEm1Rs~Xr$nkr~QBN0(8 z9G6fYMfgPg?i?@?^C^J*)KJEt>< zq;Co&{W&)u5`Z;XwkGCgCyj%AGaGH?;_=q^=R#a9ZAXXW*@x}NlU9Zo7t_%2VMR8wd z*>HQhOf+h>Pk?t$pXAaw7W6`hmNNyXIQJ>P|G)^;$-=oW({bBL1X$)G_nX6~1Fze6 z_#C17w}uPAB^@0oLTZBu0ljwvlXAZ;tW0i(NX>kGzFT^Bn{I4ijgn=%yOR`m)gYDe2naHR^KTEPSVj7M?qUaE9pQ#Ml(dbA3H|(m) zJKPpEUr3w$w7V^Uj>M_;D=bcDj>H42?*^YuZ~M;hHCzN%c_*RSF%zvWnSw;poD)zFo>KzLC)vgVG>55 zc3OlEB%P#t67!#8A-&VqFZ}zoEOR{C6{n`QvAWe$bhC*Nc(Ay0Q_7K7eQ~;>_OQ+E zv?}TxYvb|>G<>N}?8u`NXR9s>yILFQk4r}A7gN!zWGFsM?h1_q&Ew5>rX)x>Lc@fI8AHO229ws!^WmdW$f!5I%i?f3{lZpvJkeBq z9MttVtPe;)ia#bV0Q!`WAK1HhBP^Yi(~t_##i2*7P>?|s_<8ywq_}>*xeWWj${>ji z+2b?%{`w&j<-fT#prG3T9w^dJQXNkMIad-6L0JTKqlK|2;BVqObM~cV`Nam ze>q5z%Nxd{QVONIx!5%yj?x7Svz4_e)=Nty8=;BHXFkQDWQ+8K#!=@te%vQYB)*G1 z4}Ea!%nySzZd7ej%Cz={{&!7npu_iHzPSWnrrtE1t}N_xYU3{mal)}#ttPsRVcxnS zo->{s)q5lk{dGonhQd-Fq=!%w-LaCnVdVLsx77?)P5x-XG6<_b`WZo^x8nI*c|urU z6hGdB^rN9FjkPC@>~Q6`V$6P)AZXsk?CYQzc=I4sCs@W5%#moU^ift3SFL$MF##=6KW3!T8> zbz23_4S?9{n^m9#<66gS_oC2({IB5}ZF6QsC}8>y*N+?idvylF@7Bk9@%m~IizVz! z!%Wqfr_{94$#PKe&4u9on*Lf6{Dk{i-P#MFz~6ZKhV!uK4GMm>vVb2VjE%4XXTe`; z7QgUl2${yKT&_#6g+WSzr}H0HbV^oOsD6mw(p4cJRjL0jUQwakB!pHg{>Xs-^)X9h z__2A7HgWK&sr_r7{wNv*vrq?Mt5@sr z5IXtyji|zbvLnp7V)WnRE~9{l{;x*~(KmyR=Bq&OO?D5naS{>}Rc)3l+`&mkiDL88 zj=qD8|CB(asxWaypmLm-HqSYiqxlMFCIEs5JEtS79{!Y3g`53rEL6V0e8sN=*fbsc zBoZf$%s8;ro5CO=Hee6^fF(Gp!Fv|M^DZfI)^fE>9Gql!kT?9Np7IM1f#5jW&yT5c zbxzLd1C&a6K&0TUg*&y_yW2`ot?5v2%>^$ueggaVR2k|htww#2`$I{?KLs10w}J6P zO{=$_4Nr9F)cI(4JWaP&p(0Uq6p~C3+^78z17Rg7m)7eV8rS#wM zNI(sM3n@6J*=mUP)@OYaFf5t~y1UP)Ia-~lBlW%6dxr&`h z`(s!ct+j@9fOx~-cQY!K5^Cs&nMoQ3P#TsPRw5b{RTxmgyc4`XU%E2V^wv@^ya`32 z@ki*y^P~FNKMB=5#ZJ+0tT6a|x3<>mat84`7q+%Iof64!Q;bwBO?7E&?DDi2r8i}w zSjTBBLL%Fi+ePo?d80=nq>XdDcd>o?E+$}A98Q4uFm5E<*$CCB(Z2kMVbqS{*!r$U zjubNS3x=AnW|eh?wAy-bI$U#H)x$QO18=C))h^3znH&RQarhl+aJsFH-mMp$b`8!~ z;*%eOdA#tBq1Vq_Cr+iCbu+lX)1$=GTdZ9T!nH0sNUSNY=1@J zGfmdQ^Xp5`{`;B3pH($pdzFg~W*@!!{ZrX-T>Iv#v@<`S>g4x3oiG}P(%f|wi+izq zHzaP5=26RrHfEXUoDk3XZd?-_WbwX#Wz zQO2Y5RObjG+DaNn^(SnumPrMvH-FqxEs+YLyj+e6!C0;leC&oy*fB zQ`Yi%O!UZoH zVSQ6_>_bHdMFfIu&xicbmF;k`(oi7kXjkkA-+jhCX|46_c;-f(fxJQHcjM~n{^GS7 zB;-qAnnXgreo!#PJkor{*-HLo0;7=EBB0%v0doSW2oQ;Z2HJqem)3cNsqs5>w}{c; z9AHW7k{8D$=3hJ;Q~+7N5i6_+pijbu3K9cH8eRkcv-~mUa4yUj?EiAfU{Ep=@RU7I zyaFC5I*k1;Ky!wt$)6*%ccN+Q>?Uoqv^(h!gZn78J-msTF`D&$+)fOOku96>X~@j< zG4n&Bg;CG%l}Zb~mzt}ofzSR?Q5NF@{EY#u8(Pv_>eSL=E&V*$+6MA`ORR2P^+R5| zfroablyY5spRf80*|}8Ifr&s7<`1WuG6$HU=YZUa$sS;ukVf&tO;c6F?i&Oo-BIR| z_qzJEF|zvNDuGH^Kapx2OohKgeF433-Fr7W#9P(zWKQjKyT3ZMX@QK2#Q1^U%unQ{ zj=}~xYU>!`WU^33J=0=+5hf1)fLJidf*hIo{TF;`LCCnk;ht<{OSo>CoD@A7y$R9w?O)dpf>w z$Q(OFtB&Y%_;tMP`6XYF=-UIChn{I~o2nrMKVEk=1Zr^v)8=xE@uQV>dxZ~mbGg3{ zv#wT{D5#3|#A*<|0X9ph(gu3~+1>*9nYp#`uXf+zvih3lXX=w6*Dchu+hnO48o=>} zy|t5rN%jN^dBBO)s2eR7hn<$A@TC%pvDT1D!LpS&VPJkO zQ;ERTm*Il#u;-|`{XX!?VaQ0~YA{Bo;oQU(JU&ugGEt0iwF!BAV_;Me!bllHyDx7J zb#n2#kYX0|@fMP=1_Y9~Ox9kiIU`h0ni6B3+D~?CK3=e4X6DLjO*#oo5Aiw9v0dh1 zW5^!N_>Gjbe*1}$keRLsOY=Qg8|=6s4FMy2*5$j5DjPWE&S%=wxMODZmWF)rNx5&# z8=`LHQ81$Lv_c)f*=zpk1ioi1k}9E?k}Jz&u0tLfQgJ>O_R|R?q`nS%u1(jn`y;_M z8kJv~a1h)$BBe4GtY2xpFhoQiMMYD3;H0QsQFeW{5 z$I$tt_C3;Smd_SV!WB)KO(U7P*;i(ny|dbp{>k(pc&0D=&iZH(rsJ?azewKccp5n_ z!&E~oLDTm;N7-B&F8{1=BY0EY>Fi-&G8)#V3$^s^MYzBX|opKzdaGi!Bjm{2Gcs{is-LLGU*47K`RvA6s@R4MlH1)a_JBT{u z;FwD4Ikbtbi7>dg2B+q7k+9c?`Q^Znj$?^Je50^yPw|BgVXunJ@8h+}F=|Iyey?P^ zaD)ZzkZt%<5Yw?TiDY?hgtD;kBFbH1 zTlwp03@?3R=;mSK60J>+!k2h`1bL*ZNvznNbYjymD=HNmz!2W)A+Lt z>c}#C*(g? z&UJ34ap}tM3;gvY{6%f~bYa1I$-Xtx8|0o;sj3&Y{n6z_X$&0~Tg+&{_MDDzh42@X z)s%ZJHBA}r66bZr*nsT9qbsn6>g5+2ZeWCGHXy)nBM48@LF9IC=|c}$SuI&}xp3yd z8OY3)ehy&GQ|%5BOn2+oHN%av|T2Cv~NckX`*eSz~7T&MC<|u`n+JTDDX|cv1Ol`KRCYrAXRdxq4Mj? zh<+m=cP?Oijizm9@mno9O5f&t*{*Z#YM|l+It*Dw8-nZWhFjFMDX-|&aPdwHu;fmg z^_7n(S{KOyD0!NF-OK?j~HvB`@ZL`Hss}| zsH6q+RJ+7Igm*HMWYIwG#w20CX4`ZtL}_!q<#3i3Mz?>!ww;GM8vED%OK(qe(f1*2 z+j)@DHkCgWBhXdr>bP7{R^eF;rljlC z)7Kg`)Sm$aZt5rYrAi$=fFYGp1pYI%zNRRF*U|hHjna66x>i(`mheq<0-Y+%=2XR- zsNpg-B+jO1wfZHl>OLFWq2YRS^-`kj-d?qBJJ+dfxH#EQ((k|v7bgVq=ShwTD@ldc zGlNXv6r!vS$($;$d01tm?r)b*xvM*%#*a1d7b%`HGAOr@8Fq(X6QszZu@QBbp~gWw z*rbIig|0tt@9TqPFLurgMBnS&HjZ)2)@9LS<)=7YhIxqQHq<-}REA1BMpcd&J?m@7 zGe%u;!EJp1$)8-l&2M3OQ>ZQ;fF9$J(m0u&nZrctec!cJwbIjc#7cGimyajN=AF z#9h0n{+cI^HYVlr)UAc6sW8Otm>oO8ThN{mKmD`O(DiAC)s6DB(n<=LNQQT1wriVm z$M_8gprpRi@4{$qdgd7s<)wULU{sFvX9}aA=3JN6QS5Rb^AF1fUqLzMoaxWo+3vjF z&i_~dTGp;^P9YV1&DpmeM;F~?{H?{B!ja8Ima$en=cgDqH+5c^{XxZ0Ss6F0!QJILX*-3i57G8 zF%Nx9EtX5`fzMiwOC1}jAq}U$=;di!oR2CQBvPt0zU3yL{D-WhK&@TpyMnJ`t!v{sRU6 zl^nOh5pi9yXw?`sShucGui3z2HE5XmA4o2b6xC;?f`=1u5nTL;OuQNvG(h)ZV4zUb z$Uo?3ITbV0`kw$uUnek($Pg(o2}l<)up3Dlrq$K1ct3p!Qryw9@avWxjn=5~(a`hxt`tmQ8;`QQk6v3DgM2rV4|9Qeb zJf#9SZ$wS%Kc7TJ7lyo`OI_E|u;o7|uPhG4ZyN2ZDE)^y7KTrV%C-fg{)?yrmvE2= z$_Q*SG2Wzz@Nd8%@VMfnq5**1{WE4DfEi|B_%2=YpEnT&bG-TcE&z@M(mzGPwNT}O z|5Dr{LL4&xKYN*B6Nl^47xV08}q1m?(~@43Hz$7`DO&`y5cY6*-e(54NOL-s$$QBnW~SAlsU z5!gZI>XWWFfdGE~&rJjK(Ry*U=^-Hg{Qe)C2D1I1n+8Ir0c`@!{%RUXukRKBy#D`f z(?BXnDP_uY2nc$pzncaMS`rQ=zIveWETiDi{n{p1PDq;cAJS)hBe)F75wos8zu47F zgduK##Iqp*%?9fV8v$v>nuELuU5BkpY$|liqt^qyFH{>uG+5`$_XIWEOC1PXnUt3& zgZ({E#!GefwalZ%!@S6%$fHb<2!7M?ru!25+2X5AbI!dp`sW={h{*_UJcJ z^fxf1z8UY|kU~I8z>}IpQ^v6Ze{M&<2VRax1cKLr@>?JzB=Da|AlEIr3y{mt0Gvz* z1~Cw>RF)a>1{vY*kN@n}igqzH$tyjTBZZQeZxKLad|q~%r8MgNx+pR37bd)Ke~Yay+ay}rGTgvobC1W@_1%L44V4PyHl$xo%Z{_aczolMZ0EmjZ~bm zk4-YU&MD3pm4&|wa11WltaW7eN_O5<+C0C$K1_`ArU|lOn1~TrEvv+Ziz=NWz^ zIpTY4z4D+S8_&)x{hgePm0uNXu7bi6Y@ZonE|;@n?Q_?!Rk6-D$IC$28$PW3guG*~p^_FMa zB&`JvTa&RO%u{I#FtTC3{w~QAaJ)M9z+GWv=0+E}Z9nr;IDP}9&%$946<3+wT8yHO zP1^5jw|z_=Q(uie3Sns7uwO#?>ec3*GV5r!2VD7;;vVTqXA>o&qZ?>H)_6b`(ramD^!OcfrV!EJ(-Lu+>1?@wsXVwZtUE?D6-AdD{I&DI$}b;Z`ZF{?owk} zDb2{8@$|m2!KX6CIrHWAjz9AnAL&LEK2Tucz|3@ab-DNz`$Nq=OV6V%K7BskaC_Un zy0d}eUgy)4Nijof?(@Oft8St0u-S0DGlq=N$Euo|nvLM3FiKHQl7n-5>g2VX z)|xh!VSi2OaFS-+O*@GEqFWXC zq!nplYtCsJchCduckd+%On(feYVJ(UC39?+2}xHv43nBw_x@mj{`Px=#%;0nN$yIen*v`ch(77v&_^OPg37LlU3K=Z;oU zHnqQw+#&9oE39(^uFPscIJDTBdbAEiOFjz3Z!n~pno*6q^xC}9c&}nAI+``tz9Km5 zgjceA8YLij4FO35pE5cw4Of;GJxMG@Yc*Nrm)2^+tx+M|r44nvBg=?Jh3&chbC1d(1ga*lI%8ve8IrPZSq-0_y5UZ z>zN2%pf)f987sVyt_IZTcrev~6RNM!7%;JO%D|rrK|uWgmX7~VJ^Gf>WF-n|q}7Bo zLZ9+9RI)PU17bP_g1}nITfKa(+L;jI}?2*rHKQ=OIM3<-6%GKI?N%uzcrWm1U%!imYhgj z+HUJ7Z=c4)*4Boi8yBRJ<`?2W*?0^5kmQ}Htx7^|IbshWU`|1MYvo|eQlb4m9ATW& z{`(uuPZSiawl$#Pcv*g#GLWT@@pFS>XR^)_zcY!YJA+5#(m*=O@El(u)P_F1P>weY zFr`=0%c|ro?xn(RT#jY_{CQ}3_tnIE&v>rw?6~~1jrVQb8#&swr(p^9Y3V(?=q%Xy zFjkmCie^SdpP^k^6J#I>8So z$;nRf1wYTY`YE!zSna8;X9-rnYD7A#{aBKDn?JW9tw>KiYSq9tw`eS&DYc(UOB_=u zVzm8fv^RRG@y47*k$ocmfARJfKy`Fa`ygBh5)wSPyI%+pAh<*D1b24{m*5`ULU8xs z?!n#N-8B&0eTTexzx`_Kx4TvQ|Mp*XshZ23Ij8$f_tV|aIdeuCav>c*&VzXYF;T)s zvOPRu-)byM$sS3v)8lflu&Yn38&1JaB)BikwRPsw!77=Gg4nVGtPRp!f7c z>hOR>d3EpcTvXhegc3OgPQgRdgMXGR?8jP>G!Cx5wl%`t5aWEgPDW}<>BZWUr+cQ& z5wOiwNiF4kHd7?Od6t^#S0;qaeb>r1YUk+(k8A-^BzJYmpV3VvukZ9G2%;n{a72k zMnv_Zjn8f-8?nz3O5$WtD|01l6I8OZ4U_81?X8ij{*7zY$2i%RJ@+5NX=#0RY7o%& zi!;1x>@vt~@IJdzjMy0`JAXsmRi{LzNSK!5>V@6-juVDZsto((rx1l?f+|$(7_mhMLKEg}bB=Lz#?2M3t=jt|uRoEb)sZM9sNkUk|r3W{tx2 zXSBF8gh0^b=S*}5U2AY9l0SeohI}>1kt(H0AkH!xIA-G4V%x>eUro7qpj{yjW)6IH z(UC{ds`e2dCdG%)XA0SCK8Mk{eJ8*24(s$VJ^ChOSU0mX*zKJ08WqCy%K0gJh%xIAJvlWDT@p64K@>`^MIb(!u!pgy*ly^$C`=zl6o^8FFusXA} zS!gR&?dZ|ubb1+!PP ztSXT5N{n^yRC=QTghI;SOy#Hm&jr`3U|7RRU^_h^nO!jomM(WLAd0_a)g@4nB{81< z5~v@g&Bs7Q@X$!;%Wl;pn?5qUJ^Mhrl2N^s|J!Qd6uI8G4ev8?sF7XC7*#46=$(m) zbp(?t#EyP6a?J2RHjY{Cm_#43P;>qjs8>xkl{F2~syiNs;zQkObe*xTrO06Sx|Nny z-Q+CPYf@AoWQ-e-IuS^gn8ZB9xYhf0H!={-YRz_(|Myz&4R3uuP zs#(#Ip%K`kp(-o=sZz^GSBZcMq$wF44HoYM6qkkRIwC&k5D0gR1GH#@=^3!!|M#7i zSDM_XLb_LqjJR@2_xQ!^HrmyUlnjWKpFvn#(!rq)v+iitj=~QaA8n7R^;s(kS|+#$ zy_aBL@m2i5LbTfyHhUP@%561nNG0WWX|o5Fi@`uM{+7-HK`e2xM2;ZIvynhQ6FU2!4`utvI>F9$yhxEq!$4tiyfN#~HjS!~u>D;l8Z>O0pa zC0mDENKDAtAx6hmdK`&jZZuG?FqVAtsT+!QNPBtW;wF=_>(H=nwRx7R!$hgGMXqgG zoFWw`e_9i1qxI5ak;^`d&l%StUwe@0PCD^Kr$l=-=^ce{(z?=|2b9%`Fpi)yc+Dtf z>KgrG`1DvDE&C{(=M^ChD~}O&TS3;bPSc5&NIzUr@!)Jj~XIUo!(H3Awx&DDyhEd8@|eZ@y~g*jbh! z?>Jh$6*{n?Z(1E?)ild-ka*qw#;);dyKy58Vl(QcK={y6cjsBc#R4QT(JhjSA3Nu90vWW05FN{E?@GW&JKOcDF#Pj` z-MNil3=*fh-@>rCVmHT`_REio-QJJ{uw(V2<|Q@?`hfpdD1;rhAB~35B(B6*Xm_psVm$Hr+cKa3)fm{j zy?MR_X?okRHlw*eywiVOkh>=0w?5R0%M#6QcG}3;%}3<;i^y$q2e$$1mfml2Sz7RQ z#lJ^D* z#|gAhqwB#zF8~?$f=H5u8~}RMU#2p*?t@#_TcN$nQPXD$khYD#kQEL%ZHV&t=o`e8 z;O+*FzXSm7rC2E7#8VjQvqgOHP5_Id3NSBfZGmV&?&ktv>IGLT41z%Ge?L`VxL^dD z2)IfaNXM0#^!vF`3$dLID^a zdO$aN92O8Xf}$K0SK+^+w(4Y6KlimOxB6=$_W^&bJ-&5({9^$l#Q0UXKPrv5K<^w- zHx10K?s>JI?Tol?h3ZG000hzhl`9fxMFS)x52AR5AOOW>@CwlG8z3ElB!wPu*o$ib zX!h9`3bHLhh6t2C0Br^HpJ=O41cIf6M0IDUlKK9p6|T4SmZ4$aD_Poe=n+CATW>mI z@;A|fM`&D&qpUWIWanD35uzzZ=UpzT-oIC=!Iq{{_z3?x+UDdii6dYpSIUL6e;}e# zVZ7@dYykzy`OciOMT=HT!DkW0@0DoYT@0{$0=l=iL+mzBf@SMl&gz1DBR!k&NDI`< zLCL)@?5aej@GSIrX9m9X_o@+g6YvS>8p1MZTRT&iYD?V-g<}!9qbp`rpuhRZ?*1Sz zyT;S5_md^evCX$2V;t z-EvmR{EZlvPW@Zey0s+vE;}eTLBUnm^7i?QkG~&A1eWJbLzCyy179Od`g%Pzik5Na zIItY`CnR_V?u>5A8hyDv9slxK$Qr44q^kpeV&({*Us`7A^w5zie|EF$3p=j=&ow@1 zZD|vho&<1?@Gt{Av+A`YEpKmv)Eq@@A35_!t|T6UEuQV_wykSh zcEI3mK$b5ix%r*op%HK}1cpNu#!vw_;sD%W`KFB<@VI!u4MKzc0XJ#_+~8suWmymk z)D5_Sfg+nP6zrZ1;0BH!$H*X5W~x@37dTm&qyUzphL6RvwoV~}q@<*1$$D{x0p|ql zwkzj<*|h&B7}@{mWjJEP_4wFK3`eP4LSD~ot~df_f5If=!R+pPbhc;r1FGQ|R$8ON z<+g=gPSb!Bu;=5Ym7{yNC_yJIG=emfcOwTEB72nn<<04)zyA&}WR(b*Z<2C#j7r1% zf|8V-x+#C1T01&&sVifog}kX@JqhyMWUTFC6d@lfdE}C^AHs_jLGso^*laQRG(7Tt z`F>bZPAh+8QL)g0ISd0dInRR(mc)}_o8;wPSaLcY+wnLkP?MELX=rGOo1WM@045Dt zr8_lYpb>rwtpbmkO$pO_Se2E^WxCU-?v3+|q2+GA2%v8Umky5wLBmRW7%r`)w zh!T+G!l*2FYWP&_o?-lM!iNz!Iay#%pVehl**?K(etHp6T?hbf8oBhMEu0cVPhEMOJHt2ZR6tffXbo4g78o%vMa1B3(ZR zR^U+0D-aO~tjIuMd~XO%3>W|s;L%8^EI>$_^af&R0K+N_pqjUU`<8UG*C)>;#cON5 zlNp`psVe*8)JOV5O;lM>poU`a*;fHW%#ERnV{M~@0F zMh-U7X%nH%laGsw16Os@k3KlQDO5fUEr>H5xK6&OdH)7BH?GbDC1`x0v_8^UNc^q) zL;~VMrqv>Y1(#fmqpj6W1GWyjC|b045FK*|^hHG1M-~|WVCICcI7JaV^$KB<$-!Go z){y$4CIoK<3?N~A&@QI!u66ONe~-NVPGjDku5{6bbw!c<0uc@Q5QJN%cK?vCj+i|x%i{qqTOUO{T9z;12U~ zi#*SNwDz8De%!7n*0?HPj@vU2B~K_JSq)PiZuY>%`u-?G71AyLn#ao4b5=T!dv_kv zy=BW%HQ!gG{X5A)rV*ZW+vy)rK_1z@e0!x`1#vP{9(SDrv7)YSrFWne|w|$Y{Kx;yk z5R;m%`u5;XR4y;^6gPY@>xYeh6DF+sI5dWDlNJTBGfTO`s912K<}1ai!r%0%&hVc) zA_+fp!NQTsYY%tgHE4#b$?&v;9fsa*qQ)r&VT0WRh)rDL>3l*nd#g%UIskyGdhtsH z+vhrVP1*x2mKq}FjI6pi_xnI-HE{Ywn()93+fc=wX>_jmoC3{?7lQd!x%UHxCta&saOD4Y)qKW2wKzMvFfqB>YSKZ z3+kEKRAz^V?Uq<2EC;>qKHM!3gzaSbRHFOMqqs^?8nODjSIiu4DCwwF`U*x6vyYb* z08>_(L)FyA1}CiJ=3@|#E*;xduU1tAdCPAv>{#DNOc^zvkfjQimw%Xf^+m+&zh~C+ zmdgKAN%;T9dSSJ6OudbhMJ$!i{XI*w?AI(H&DplrzMgq{XCpn(47>bzee}`ldu8)z zvN_4-@4cx)SwBTBW?NVWtnuYqHy;V`#>Z0fV*+-Bb+kK>WG0EZ3iZ~hhA3_KDZ;tMqp*bDJSHxt z!Fgowat|y6jj{Sb3r97>s%wla`-+=bweW8J)|$fhvxNa#pPhZKP4a7If<{}MYqnCj z*r`LHwhfLkYIi)L2d{(1Z zuuBV)b^IX&)!JijDMLa^0CqPob}|zTlijl?4pST8IvB zJ`Orw->>;ROiw@PpWp@NuBcG$og-SQSz9Lm(P#?6u`S^&pteSC+S>mr;d{KFcp7ZB z=}!OU*BpVn1C3>OCE9$Dy*b_e$#Zp7+&A5R8B><&QgcB@V}#AGd3M<{dj5Mi#C_!G zXWqm-^Se5JyA)o}+ua`*eILi9e;c}zcJE*8{PGkw%#1au!bp(=wRHE*J&*l-=wXn9 z$m07oSm`ApJ?Q8};okR(pVFNiNVEHpswD1BTz*BBX~$qSR?8|X$mq0yEqT5-IP@pp zrtxds2}!G12lf~KoS6R%bScHvFwOO_A{V$lnxC8}(;jiaCeLQp z{|cu>1|z=NV-{^g8-tByXWU`gP!CrYmti!jl2d17Q<}8ov-o`eiA{yTp@O;$a*ru} zXlYGuAGm0;sSL1-P9J~1gS^`nNc?>{y=7Tp8-3RNBROWj(N-mCa9EYwVzG>5H4&Aj z$w4`avwPFOZyp!&F2`{6HS9-N=|j16QCMlf&kb4y((wT3Fkw%fs!(~pr{)Rolg*)^ zZ9NlPSmI)-_C}NiU=HyaMQT6{+eyVxAco5vZ%pQ%M$mfQOfW5<2IHDNvS7CIeaa8SFo&LUFNDiUP%U`Zkb| zCsHF^0SWmh0Q+fa=Ye9I9bl@acm#g}SH%NU2hx&bK(U?21q{tLVmmLOYcx=ze+YH} zDuN-PeRet2L*S|$Aff;Cu?pzaTox!EoWFiX0ZMdAujGWtOhTZ}umkFhAq-zvpw6HL z%7p(Q>TyrCjAY%|A;4%^!+wmSiH(gNYLmw5}bR5BoVSQMI<~Rw^T1!E>;}WU- zo_u-9&@0N_Z`VFq&bNmU0{Z9!opd3ly8=RD0i9q;{suK+)%{l+(wm%ES5Lu zjwju;3@!UbCnyj+rFhphUCFUFR#(yVon9r=+10c7Z2S0@jU)u|+OSC$_Hw9_@rdC> zW{pZ{b8x6}n!n&r82GqX<)pIgxPXK^)jyWvXJxZLx72kju3Q}eUBL0a@YlX$(lH|- zC+{`h{L|R-rKH8aSonJYp6j*`JR>yS5vhy^2VTJq+;qU-6&K&tt!Eosuc3L`1db~z zo}Bb4N|vgWtkDjA)WU-L&gz3Egs~4hJfiJXEEikR-yIUCv5eI8)}_C5F!||bLY$gQ zHzwjNx0DaD@NRhCLn8?x%@VwLdRPdmuB7rnkdvGXo`FrZ(n6f(!6x#H-6RvV-+#g* z*c^2GF$%GSmDO%SzI#8nynHon{Vqch4_>=zPxGFc3r&09_iUvLUt`QMI9a^MgvW@4 z{YCW91nZtH?8F2-L>bZHJtNgy0r{fdGo`XTES@33(|!k0o1yh&(!FY;tN6>s^;*Erha;^dHZk<9>bNc^w|be^ zW}Nlw$4ISk?Ca6W6eTgbv^BQq;)KfYA}Y}lx5n2Hdv7-lT}yYorCLHIZO|B&-McY| zUO5n{+E*uh#_bsBD zkz)vR=re(zF2>f)O$YZWqLG&WWYpUSt6PnslUVPH=o>vx4RRarcr-qVbTBsC z7iSr3c>676OBLe z_Xy!t5LC3QMAHim!GHRI>JKyddj#t*0@cs^WBF_Gzw&K$v;He-G3soM)dH}89a15d zkw{;=zNEK9%-yZr6LqtP3-2OXH0(dUdn=#<+b4k^cYK~gbQ-&AGec=`4{akLJ@fQ$ z;!9etSItx}TEQTl2SmqdW2zn&6pAP?%s*jpD`6|SvKgXgQD_PJoOG177dF%a+IKDjE{ZmO`xxH6nZZ4}>s{n!a(9-tNk{Cy<0~?7!NeJ`T)6e6|Z5 zVrZ>K`avsvf#wsPG{&c2X^#s}=M+rmoBR(8{0|fST948XNl&<*Lr)UTxBid$OE<4Q zb-~hMyHmmQNJ!L5XG6x7w=Mh{u`68kY|Yo(Nk847v3q84H4D^?Qo3ZulFPI^qHk&y z(gGZEbkMT z3svFG?UMRh=r!>EZS$1L&7a%JUp_oRUdF~|J&hj}2v1Ouc>jpmSscU~Nh+w@ux(Qh zU$PnErg1DT=^lDEQ~6i{vIX`oZbLuy3e{We(%@bTbm?I*(MtIOSFVPts?MOYCTG~R z_}C>OSR^9Rsm0?UYj?^sO=Enk@O$Xv?oj)If-%EW z6cv#ngRe>VnG}>e6K5llP8lMRH()}ox`?}W3y;P6eoX!}jvxCn9HkGibn>_qxyH1r zbnBYh`$ZN$?sd9|@3S4!C-X5Kw{+6HN7*k4+-{wHOGjeR(w_n5X`s>+N z7`+UV^ou(OwYkv{aRu3iElGOs#A)p{)ZNr+l%}kAg`VQ325ZOMKg#ipc!V@x>b}PK zO#jEb1q@(|===5q9VNH0=9>iW>dXQv$crqls+-zfTuYQe8rU1=Xo}aT{U&nw`^+|? z0mvHacFDRMwxpvCeb>Iq|JWuQDD|~&Ojkn{M0`Q#=}O2(nWJRjX`HIr%rnZabzWOf zxISBQp6&c1?IYCUL_I?~)Bd2HD+*~7To7jy+`+9}S9C{VOBw72FH>GAL_5g>YTgcp z{U48;MZi2U6*$Cv)9JFp0;vfjf5|AQJ*11 zmFh1Tlu>avHoMd$iYO?#Ppqjj4@Y7ub#@_dC~Ph$|B3PkAJZ|tk36m#{7fRHPOvCD zES9OTssrN0`VcWtbMwE)%AFeNw-aS@{bPucumz!YQt!OiV-Sz^tFav{OEsab{{bx= zLTDPt@P_l-?!CAbu1aS2U(+s&)XcA+J9$s-W$L`6^_@c?`IfA@3hg}-{}(Em5C!TQ zeuUTjh2nGuKnyi~8kE1SX`y>T93_dZ{%uVSK>UhM`9H7-NLEh)wRITDHxKu>wF;m! zqo53)KSuGNWV3X={H-?U`d>Ndj4*tdofj2-8bd#S^{%t}OQ16X%71CdU zln?~!3gtU^|Ee?k29Q@}bByWl>58OKTO~rTul|G_1TO)VXYC`z8~)Ya577Q4`y$N0 z>Y)MZ{r}kc_pM6$Q&a5co7gR|ded^_*}W>p@8)zF_w>FKHMCBcCgas#$gH+rc-8{K7!A#K@u%YPic))^eEei|IXovGXFa-}Ud$L`ia6kdJDNXLZKd>@gLhOF5 z=p(R#o5u67DxO)UmiIK;PtSqGF>-cz-&W}VMLeL3Ml;Hqj?2@3^59sHkxVw5ES6+v ziyo}Vs*T-!^fLDNvO0}%WxnOKS(De{x;W;cHr7*_ht$(b@>T8*xU221^@Cd%+b2KL z7nDj3aKal{YyEi6hj~4r>%`hpRHU5?V&U5qw@=j2NB{!(OL;{*KX%N#YY8qL;@#1P zAe~)o#SJfEWqV%SUJBl5s@DI$*xy{`%wFvgv53i?GnGZQ>a+QR^_YA*l~A%q{r9_k6+q9f0lXvn z_Vhj=0(Ct`I7lNvxq060;Ib|*wseQ*O~=6v%2mpPCOt1Eo>5GaiZV4)mD6M~d@uX2 zZM0f+>qIY^_8GEW4Ut?+=Sn_gmykd=x3Q$J7NMo<%lcY%-+A42iBu(ZS@d+B`a1EO zDP8OKB9MMZa-a=bVDlPY13;#$37hJ1e1?+cZi4-3F7}a7ou>hOdmI(|rEu+XRBT~9 zJF9{kKk*hwp5=%Zzg<2Y-!0g^vso#pew*#u z+5seTj8|_h3Wt73$JO|@;x_srdS2*yI*?Bzp(IgKdyb_#3CGNEji2}*KCZdy??whRT|bk8?0l0 z#YFeBlFT7AKj9FYe?F>F6q9W*pqyamtoOM~v8=;W<%C*-mCfs~)kI^juh#S3;U?l> ztl=(ppbP+&;iS9_)-OZWcYjfeEwtQDZCeO6SnW^4t?{4Qp=2iMQamH!d9;Adsa;6l ze%!FA3I7P=`wj5raim?jh2>*2LwnkIY?((9qqxUmD&Gn-(m#=&9Ry@0EU$meRNl3e zl%_QhHeG&j=)1X`S;=PKITPmg^Sh1-immO&fAep&)B*)4i=f_j+}Kzo)tY@jn6F~2 zb`8W>mOrcye|h*%2;N16wmlB!bQTSCbW^ZgbQhVwoSE{yYK2>l-#P3%gJb;zT;E|` zSVwpzT!O~pcZeLG+Fbr56ws*0r~*|4;qZU4{r_uWB~0d}rT1S&o;x{-qu-jjZ);`C z{S4`a?jWHMqS3Py&*cUfmU;V7O0E_8uK)<7UM!9Xl+pi2rDjww$W=DA?!O}W0^bAV zg>e6#zKaCJYaJJm!@mI<0r>tud3h_Y`F{(d$H2>Kk;i^}%mW)3fdg=qh3Y&nmyIRD zX#OMspM+M6Kb?JA&+n1RSX_BHbZpDu^M2m(@Xgj^xTkY{vuz&qAAAy6Eq&SsMQfas zM>pgLaB0?2zaMdTwN3hY-0~dln4LlEI~OQJS~3r+SwyIL0_mDnJh*l?R#q|Qzc>4$ zG8?}ixbLq-*Q5D8r&;NI-WLn!8|1zX9!eGdz)Sj&4XlGe28TIB1;;Fo_FJ*~1Q5i8 zIKM89%XL0rbXcDU*EG`W`UIeXX&j>@qUzHZW%ORF90rLEv^0!G`)utwJCfc`UG*=0 z9Y=&7?dV_zfpi!`TM>Ukfr14>`Wf{%a0l1JcLD;)Z&wJOh>63SIi=HHrhI>5NeD?~ zeL7mwQc`EKaA;lve-n2tsIsgR7qW&iP~*@#)u~JMN61LbCm)?E)7um1SPMcm6|FNP zRF|#s;|7|X3GXW=^t60`)iajCAN-iwl6Ze1_axxo_jKp@g!*tZFc!|bU2PDx%v9|` zTfZVNyt2~v=Af*RlzkFZ0PXFK)*A1sO9*Gz1goxKtrBwHb4GJ}NAuqBo5j`d;75vJ zK39>e2NBcR>f!eXk6F8EkZnKJiQ+kbzlKcy@XTV*^pR#AT94I}T3U{z0_q?J23YVAr-R)zz`D<#v)np%>hVN8TkEL01kad(=hG$ZbmDYu_ z6xK^28TGVn4ptRDjz}ZCCyqi9xjs*ep>!ePEoN*j;9Z$u0OQ`z98Kl!WaswPG97vR zWDS0#yxnv>_dnlRZ>gsL|&yaoUZ-|ynONN38wnzNp15W~wm{+Bu)%>?9aU22t zTfyFPspC(^plz4e{4K)csnUC{%@yy=>??(^G3)O!=8A6(Fh-Hq!YMz=6fB3FME$91H2fi zuG33tF|}LE=bKe7+(nGO{tpjeR?N`3F1tpk@R1W;E;6+CuJrdyc9w>;hAY0AD6P?* z5=RvAx0}JxTqZ3`mGj@+=T5|H_IPyq)~z`P>;>85kX$nm_?pw+fz}KTv$M0!d?s8y z)Bepk?B`^|hC4^&N()Oj@6Rt#Jbr+FC(PbXY$BbwyG32EPP5?tbW6+!C)*m!EB%Xn_b^9O&Vpvg1#y^z~>Fvjz%&DlP+%# zy%^^@ZrA(%I4x`cDN^gB{8-t&6*7mE<3F;o@GFc-Ai#dB%eEA5yqnsW|hXL^?0Tvc^(^lE468M&2rq}pNTa5#p$1f_ zYC*5 zca~bFS=6Jo^M?%KdDZ(-`qCgT@?Xq4cf%efpx@_R2RfcqEkBz*4lkQ4kGeB1h3PTv zIrw<0oE%mT?DkKtn{3$d`ObyBK>9~$Ae@3Bv!>~CA} zbiq>0Un=nY)|s^yqTsqWyhNY1A_vkx%8b`!IaWDY{-Qp0A+n?63ABlY-QO@Fp_Nhm`Y zrerGX2YO9YYdM8MAvZYwk^Rf9vSv*qjU4;Vuai?li^oOEA-Dyf zXQcSk-N^ujF>#=h?zeeOKV8v^LRz`BFRbsn+vZk7v*w0>0C~FbvH^14= zn`pZiMQ5VmYtKZlh0)Bz!7eW(;EzO=WUueKqq#e+H^Kv8w$~y4{luaRI?DLYTfeK- zPZ@JEH~NltKPe$9osW!#J8gVlyu0%aCqt||XI~}*_qRmhmk?A38R;k&p8JcCs3dn$ zDc4I%Jtkk7zR>P&@I5neY17n?K;m6Tg`%5Ly zxDu6-H_8PT5%fivC9y9TltuzP3^zIzjv>`-_ok%7!lL*znc(q7IV; zN|?2|9k?6lrPWFN7tgLfZOK0Ux+ilCug>gjk>+LOt0~@jiSa>mFS6O60o^R(WdXp5 z#4CgR&K7a!u#!*Hr0E+EAC@0)OGPjjRoR)?H5i_9$|3dVp_lI1I*(`CGA zCAkbO;M#A9Re6iwM3z2cu%4bDw+lXeVybkirhnI-NRE%B;zYR|Hi7bWk}cvE;<8dl zhw6OS@O3-l$cU^g{`Wv|^ki7fve~__){4VDti#1-)^m%3&)ExWP`wq2HB+&9`~C50 zSJFdU*E9n`5>ic|$2LYjbzMt^qgl@OEZ5HymlvfaOmn@J;t_6+Ycp|6m&PJ>2$ zpEKYs#>PX%HQ}Z6i3}G1P;W!%K+8xnnyRXS@AzbYB>jlw`%qG6p8>nSHm)|Sn-4-c zTna@V9QIwdvp?w-qY&FoY-)d`N8*Sxu1CVh#0Pf}w4dLL5+xwd6}mdDH6GtvQSLX$ zwKSnFH9F1lHONPy^P>%82kP4l#O_`qGFUJ^Q+(3c-u3+{C_&s`H>su#df0wpZ8V!6 z46+o9yz|fh`U}D!2g!TcnMUt78G`G>&nr>ru17x-aY}<;F|c;$1FyC?$lo=d9yq1pym?M@>K^l5u~tKe#38M@Z4LUsPjXqDNR6Q4UdvF& zc3Y%$KAYP&(wxMe>yUOo5hg5jE%hdk0Sn#XzD^@^*SW)TB!i3iJ0Eibbu3ZQ;Kbxj zXCK@BDX;l%BAoJZ`3UUe!fm%?J{H;cF-sd{bo82pGwk8Plx6pejW8H$qTk;Rxunrr z;#q~}iQPI38VW<;J)f9e1n=YIC!#R(l)N>wa2^b{b+ z=Gti1^^mSQ`R0zNo8C?@y1j)J+S`jOZ%9EhbGjLEpEg_YK2M zs5ALd8DQk${^fptI+F@tdcGs&4nwVNJ13<<7K$G>{PmN*X=_isuYA_VuT8ag}1i(67R9eYMC#>Obo1#}v-26|p6JgH#t zg3v>6RuXpBbxI&zu+G<02tm+H)H;29A%f(vOZesDIkXH zZQF6?w&W?G>Ti@dO(Yv&hen>KY^P!#mQV!-FZNuKtdbs|4#d1={c83aWS_MqIdSXN zz^uTrBs%VXw!XK16K0q*xgFrH8%Li&-z}_tI~FP-Xv37k=IH3$Ka)PUSxkh46xLGf z@*Vq|k{X==`2DX*CDvME z>A|>mNDPaVSfbO8Aa#0qjl(zY_us6bD@ASqK{p2*8G{eeb< za-;X1%Ep`}cD9y+!gPZtths4xfV1n(9G2o4LRmL+zky!F2^k&zm8p{Ug7w%h9?S+J z4V5jG9K*seV#Mkt?Uh=r>%8b+T8?Tx+c0?C4bv|+>7w*<2T;sxy1X%BtI>zzgVllh zyITyf7FqobK|u%%Nh$B?$U(M(4fs}*MPpYntl1e+30+!cO8Iqlf0KOo;g^yKjt?`a z)@gpE-Ib;I;{C+hLJBOj#0p!$oTdAt6V`84a>@eMwX=VysOSH^&0NilW#et4Upd zoCVj#+@y$eVCT2pk$t47Gnp!^O*J$V7zINZe4(59&S17ua{|`g)_p|@2V6%ddJ)c?01pw#&8=2^?6s9U+Kukhff z!a%4u_9r3`hgKT5y-Ezn!$q^sMy&=1QhrBr3I$1afU$2-H~5JJTYwfAu9~oVlRNc_ z(HYyffugLwD`U|fasAN)6-S_|kvLsflmm9tEYl5Van?|S5Z+gGYl%nA^bIVWG%&5c zI-CSI!F2(zr6e2ki<<;u?RG@&o{M}ZpnDBVCpJ)9Q}f}*<8-s{Gw*@-Jnyt2 zp`b?%TR`vl69*{)1-yv(f(=*-08C7!FHVdOOstY;Ze42E7{~rz_r_5^>{(V{(CDal z${D2syaceRf8#fI=+w48Il0|d7Pp0?WHNSij*3mP2gxf3V$s;Xo}wDqIR5&gZ(|}O z%bCV0BR^X8$HgW#&{I#tDEo6I?(6q&V;A-hX$vN@e*T$F;d!PDXmzv?x1BTGYSe6) z4t`WKC+#MGK1_l)>Vh}M@ewZ$g6MZBZ$wiza_Stt8}2v5fiS&EV!Svch5 zKNA&dpkf+F(rv#Nw&vSC(S}Lj$Pc$Pbxwk|CLuv*`9EJ0?&W#CQc?|{{Sn0>JZ^WE zklmL*ce?pW1N7!pp2*jnAfUacI7qlx$iHT>5W_9^*Cp-VZiGN3(E2BV^b*KU&$MWk zmA{L$A)?d|jZoaIYStdM`MGP8#ADSiekJc~yKHu)qV)C7Jl)j3{IU+=7YO2p=E`MJQvNO;3Y`-*8at1?9BfN zut+=-d6hapL`h2?42r95l8iLhm_i}L_|qKD(2x?UA@jS9GGiyF>uMVc>&%a1$ zK`GR$klt2%A1e#ri?KL?Oiy`vgf+7iUj)q7;XCjNSg*mq$!G%W0bZFZ1jB1Ebc7F->HX z%UlfIXri=>sU{GOWb}ELf95S)NWAq6npT1Sis4|JaycL!T6__bAU*hVZmYDip`++L z<`l=6Ps+|tz3gjLZ|+ThSme1@B)tscRk@ddxVw%#3}F9k7^c#77bMQ|nbt8$PAB*N zj?w7x9Na1lGSkxanc0XjO$W3(kG8$V@*z4*`UiXx<@?uL9eWDf!ZppeT`om>TgiI% z+Arvm+K(B@o#I-&m$c?mH^t)gY`xh^4hJU91{se7@!PdpY@WLlfcA!y)$fzG-0|7m zmSm`kRx5JKi2&!8e~aVEryOQ*nfJ6ySo}!e#OxY>Cm_~g}Gmg9%%=wO^smn&PMuYLO zxeRY|sXL{F=`)YQ-V~!V&uQ(zaG?0iud5pW$YfHq3Xj*TGg#E+Rb!HA9=B%rQ?e#0 z;Ffzx;6_+joiN@&?3#dK8%#|X^^lF!0Bl(% zQTVDG>$xw7>nPPr$`JaxMAAHCIlQ%tMH}Kp;`o&EBvUPi;SEDMj(Kyt8~oX&sX)V{ zih5d~W#j8b_~YFm7!kiqaVHb^L>Am?F99&38@37tZ2Mi!ztOaVO}$pJ?1nzf#Wkh> zO{Jd}mlLB;t>9J%i_4e0?e+zZ&dgdiZJP_4(IJ5lQ>ymG#Vt*3v5)zs75Z}(Ii-=@ z-KUjDjVX)3)DXMJ5z-9@YFx_@R%Y;rB z5gGAe8iTu;RMO-A&-h837}5&_PnBiKR3;8(^#R0ir=dnRwl|K&*r$p^)-w0i9cXR1 zJ4|P~JbM25PSTCJDPuP}cxIDL<+d1~7TbW*tWE2+){?VVte_VHTh8La8fLlmvK9qL z3gKMY>ot*mF_z^c%B&%M=`UA-^OQrxg@Vn6Zp&!s4ApLn%|q{NYczM)l~Oh0>W8LJ z^c|h`gQm#OI;>c+O~SF@2BzK?d}*+|Rqhb~fe;fj+9_Sf`cshd*Z;xQS4Tw|Z_z3u zAc!E{A>G}nbaxFQ-3%~vi*$E)cXta2NXO7A-AJeLzR`Q%ee12of2`^6J7=H0_t`&6 z&UQ}l{F@>&8IYY`1OB`Stg()J+BiMf1gUkSFbZK?;<+fzY_3d9R$EEI>*Sq}Dos}^ zdHIo+;=}Y@B=wJZn#kCYprk&oiN1$9hwXC?okGp~Vy-uSAtwVss9{L)nBQ63{_jV7 z=1v#u?lR;M-5BjWYHE)V8$UnBKY&jRPODTy{p@!uvRv?oFHN03w6`56fevV;h?&)MjQx&u%o*qlfLG!jGK|xhzL|wc6H!DND76pG4r(a#%ySa$= z%!qPz5Gr$V3117o%8olN4RL?Qm*N_LJYL`ycQIcEv)gFglj0J*|iGf!gyx_=Uv9DE|jb| zsfdvii=(Xu*mZ%Wi!ouWQw1F2@_I|g|Sy7Jo4+w46UU$&fZf9oI-kZru$$f+P zN3VmVg+~9!8>O#f9{gaxOVN2+aP}W%`TS8Er^x`CiwaTI{XH8Ww7CV1GjHkDx0E~` z7pc6V{Bhtq3T}{qlRQHls(bNpyv7$b>`)OcHs!9=x50B1?aR2$mqf$G{Vfl?Q!w0s zF}R!*^smeE6>>{b`~u# zcguT|jTA}?KbQ;l2Sr!RfOs5h&La?G{GxbXr^N7)HCP~fQeLx+Tc>vNU0D*#?cvRq zogR)RXkHGYzRjJ2Ry(#UQ=+4sq9tZ{!aX84jW0+KowC`?d=Gtbc(mMYqJ*{Pcd4!r zbLA(IKif^p%>3J7BP1ubSmf8qLdzXs1K6V0ymJy^)9Nuh+97!I=E_~2TTK{#%Mw9u z;qP#TuVJHG_jSB#=(#3GP`!>k)x9=V5^G2tfN083nLmz@Ci6dOP|Y>Y>1>Oo$wd&O zbT593ia6p5nUz9{*60k=Sj0YQomVh7U@ss}iJ4eOYnag*F-d)}93QuOjy*w_Q!LCQ zJL7ibl1R#iab~h)DDTs+0&Mo>e9221U&xmZ2j8+Ij$hmH&r%QXsx&JfNh5JpId6jw zsLO5zC2^Ol5biHeKXpe7XD$r>JkrlCDJ4_`3rUkCmg??u83^`l5+^T8`SYc>8C&IB zs46olly=Ukb@yl2^JhH75;M5fk=P{i>00PKuq+f7aNY%(!T-2qtGzp3*<)v{=8LL$ ziuWaOLP0-!T>DHQ`sITtTG(g}7gI?Yn0!vQb(c2tH`CzZa3i3``wcj)8Xu>{9_K(0 zGL9nShwb@ZRuAlZEuaAsASni#;;aHi?N;ZYf5DfZ<@Gx)sY4sXou%nv*NH51QY6Hv zje7PIo+y5J`^V}GQ#0>BhBiG+i})FrQ3@(fecr|)Wng{%T($c3xMm3^!-EDq$d2gk zCbrL}9LflOzzi8HF+8t#mZH?LVo9&#P1)NcYSivOI}L~}8iHAc8Go{B>zwiPuVt=jC`)-K5+>KVN# zcg}4JXc%4{Bmm?YUeH}~)U{(Kec{z3AJR4oT1$Ly&*6Or9K-^je~R%WF61{8O`C_lC%cbg!iF_1 zcwS~8c~`!5l|K1|`09_7vHsjA2ut}c1VfUTn@*JH7zo$^Dh zK`dd(CFUgOdtJ@eE6uo<{_w~$cY;`z{G#oSC>VNo<=L{|Hn)qyp zJt{}W>IVm{RVS$?h*lWqY_BZsh7>XMqmr>Iz&AGSLj01i&eh(Y?R6OnGL4%xeQVa! zPd=mF?lL}%=gvF1+kUX^)@U-GrL+EZ6RG~_YXC?n&Wya$2FU?>@h0C8QWv%{>)(u{T?>qdS8aSl!+i1c zPp0+)40!1<8n1O`NuOEp*BcQwgw0183o_B+=0$v*>5!T=r~R!xTm}PPsKiPg%sZp zW>`T_JYO$fpiFzb8r01gm12nPBMEc!q7gDaY!&T4=#_o+TX|S&S_MD6Ch&crBL-Xj z_<;yB(?&*%-sl+>DF@QvFlaC#qoqFkF}rS)Da2!FuL>QmiJ+PF+NKpGh{ODbJuhj& z4X7-r9l=@_?$x#7BSM0dwXGKLTNIk~LDZgm5#Tq09Ya}|@7q=mh-ux_)ccdXo=smC z=jLW-qsNwnO)#$MwX$d1G5y1*FRQAmR1;Yz^^tLrfw$cF9(Y#n(s!VBthsYb50~9HxF+ORn?V^L zK6%1iEo5SV$#jt7IiO(BCw4H)tj8%N!RKUav`DN1M%XECn1m4+1Zhz@b)J8KIZ1fe zw^DU0Kg16;q?&-s!tmek1P$^eD78iMo;MVPDLeIG;8Spmu28cSE#ZqLNI+RCgFTK) z1q+{u%;N9f{K=3qtRo2iu8DpCv#-{)zZg`fo*F@JlFtWcIQ~D323&^enH^IdMON@T zMSCc&g3_`YsLh8`mR(jrORfwzUf%O^-5KunKktnLOxi%PVqrw;dg2{sQ&0sk5pIp} zndO%(g#-QX^0)4a6V!?&)gu+(pdZw!P^Jzu$$OE77dZKJbhD$aM>ACGJ+S_Hk}R_T zYIPn8ku$l<(az+hR?Jo`)TP`Hou43rhEKPuh-3?nM>ATN1Tez*3zz01gE8JUy)&}p zl-r=H&U;27A?KCe07Q>&0bvCwB$T>@P3476+OnhEB&W)EtDraL732LYCI*{jR1G?c z5pOJN3~9jsK7?fu@XE=mOmqDIsEEAsaP|mi^>y#ii_W^$7v5&%iduBD*QSk0wy(Lv zFW&FVu4zXkFs5nUs+O}l@{No>;~j5R8|MN4Yy3mcwL5}1v?Ou`*7c08?=YbZ7!fD|o>CVr9+B!uGb|E!(%u~te?=;UZyxB1<`%MiRRAZ@;yI#qBxU{8 z<)tSmUtg?Ur!{8!80ol9G6CuUf`p`4zLEfj3E;AQl!VbsVq3jo?H;+H)Ni~F&Z$`~ z8dgbkKS#HJm==SIrf(B#rX(Qm`ItHc>_;<+_pH)fxegVB1V(y<&uK2MKhJ;qAyE)X zO#9DW&FTo}lGKshTPPwC7WslJ7;%1(v#NO9_zYy{i@{GlFsIvHsAf&E_}HG>F^PI+ zrca)oY|Rx1R%kVQiIX+4F!nZV)y2@YIPop*Yv8uQ^WR_YOioE5K{>kWuKalI(rDm?_;K?BgL`1 zo6I%J&8ZP>F`1Gax$6U2dYCC+rc-LBx>~RA#v@6QH-75uSm{u#E#_z?1}aDBmmcd) zWNW-21c_X>UGSvM+v7b214s@uE~<;=q?yYcE931-!>mWqhs`q*m5joB6RvM=Ns|i- zC|$F`XOXd&!5mI6S`xof+%BL96uLLK*QZ2)Hd9{zl22Lf66~8es={0OsI#d2dnT`H zA{8NNwW8Fzb@^Co7Wjr?DlL-#(SCA@HA!2a?53<+2F09{j05c(I1)G?;TAo4rwGF~ zJP6Nv0IA>43s`J^Qc}{OjbxDi+tSii{WJlt)0wiZt@Dcs#ZOrTQx4AMz`R*f-XV2z z@+^OsqWFh1Q;V@T0r?k;fA&2>pjxryL=2|n-_6M3{c~+A`-=`(dMw!?r0!Qw@wC1K z{B1gLp~*a>m`yGcx$TgUh`QK^^FDolQJ4w8facjQi4U$)SU_mrYOa z?c?ma_Ns2brx;Q&%o->vpDVHJN_mu=p88fiiB8~m;%F-xxmCy0H4rhC|xmcPwNej zAwC>0%4*bHpaxmteDut=pZLXe2`R5&BcKchu|whx65i;R6%M-S55XQ>^%h;XQMZB+ z8|{-Q!-)O?Ps!Y)cGfiABuYU{e8kI|hOV&(LF1q|bM(sM6s-`C<+3`I%t>|3kj5Z* z*3?J%7~jL@lz_5)GNkLsPl-YU>cUckJ@nKV*ch`9n+P%^1hkpYv`dr z8fN%S@+X*;X5Ce7C3sE)Z1fR>a1wsFi%*(%Gep*%T#@*Kx&ysu&%3%glK-PlD2I1g z+|ICNgh=6Ln+kA_x>kANBuMREdl$|n5qBuf#^{ug2ONqsaQMCaA$jW=m1Qd_l7#{5 zL_~5hFDE!MEGTBEXU7V1=zTzYt-bBE#^zN_F0R>MD3sPM>?)BHh(6RV!A{X;&6O;*=v}nM40!{tB(A8DM9Fcwsu3VZH}&Q_RRN@^pACCXKXVk;+6<2T{RI<9d=NXrvo$5a@UQWB!ErX;F#lr z-IXd)9-+!6BUOmQ0T?cFbs&A%kn{58-uMKz9Hv78xadIy+f(V`G7B^2ThxH%ZuzT1 zmFk&KGq0s2$gj8Xh2;~fznmdiw&jM7*4{S*gsztYJA31n^b%~u;iq(9?8YFx%yG6P zNzbPIr}87x92Gy`7>|m|Kv`Eok4k+}4Vz#}a)vf80HO2ZkdAZ;gd)*r=}w^dmFpvQ zY@RR028IR7?oK(xP&co9&uH4#h2P)!>wQC%W8<3CozmZA@mC!G?v(vU)O5;) zvaH78AG&a-kmg%0GwxM;@ctB~Z4J-%99@8vUyhS=dM7o=F{-9T3=NZvA(~r2?pR&x zb=*~)LaVS+C!Fi^GSvFP{hL2^RqQvWk1e_%-oIY%OUi8Y1mOFmd3H6# zker{TXMuJ%io4D}qm9=qF=TK4j8+`W*e}<}^!*Guj0!#UTCzRo!&Bj8fXde7sluwW zWx!upUirSdR<*UAZVVyWyg78h?pAhuG)Y%RXflmHQR;K{TJ3Em#V*(5wY63bigI*Qso6A#m+%N5a^-e4 zt&#;+D45zq6==D?XvqKR++lI29=hg!dSDMyQptGzVzbq@Fq3S+z>0_{sG%^v>u5_P z{FsIEfZ_WQG~LvCDKGS-+1Y88Bx0t}{=}hftDiG?K~1(~Sr6F6gq@qd z=VPuPl;U}mdZ(+dwKD05l(2^$r!Cc9S0b@>lVbQQiTqM8JhA;rfC0BiAek$$o9sbx z@T~GpQHDmIyF^ok_V-hBt#gm856w~L5(?PrrTW21otWJt@R<@J@gpbtDv;DxLD#ip zHmVbuY}2xGQ)(-UWdZ_!AY<{WrAl8c;JFtHl5_DYBR@@acCoXO$Dv{ai_P>&K3Y?0 z3yG1!yYgf-rp>9wBu=d3h;#^@Fo~e7Y8Z(iZR6=y$U=$&T-hcgw7sa#U&Z|H@=)DPaCoCZsrUMYWVtqnEpW zwfOa8m?nGNpTf1svh01t9?Jr%+L=o(kb~Nxw${kFkpaJdCR8$ghM07Z$|*))C%1E| zkjYBcd?mzLuVoffMLj~|}7jqoKjskvHoAb{4N;q>57@n_cqiFY2*`u4u=pMC!Z!2JECMnld zaUy0;ecVnI=Gz=krxMaH_K|p>Yy#R+7d903>1&KX+b<~(f-P$r%ER-kf^moy@fBq7 z6b_4D&AhPD&14qWb2`S7Wd5y8T?gt)CmtQIa?)NV`d)_SBve-9lN|3LJfWgl54HMP zx;ECQaE73l$9<1CB6^LzASjwH7@6?7q_ImzaJ<7BvAIkty|uHHm^EsM&IeMSzJ18f z5qH0udHb5x%a>_)lvZc^q3j6$>;*6fy!HntW`yX<4i`F?h#1c2X@3i;R5L%6Btqil-@_pkBcWX0ZSj8di=NwaXpO&-n*+GTTSp zMbCN_xr{mJf%=Mv<*%5i8ysn2K}nZ<<_vE^9Ns1}%K-{^6zqC_BHYy^xm{xg`fZJV2*v91m@|5tDPP%W4d*KBDsT)Y4*E zmv0sxc#Du7gVw6Yt!{)jwQ3p>>w9D~I;;9X|D~$5VZD&G3;MuCKI>~6e;bflZp8!! z=3TsZ{=*C{Sj0|E$!r)&D8Y(@a{blJGvODpXcF3p*QE8sX5z6g*Z00U6`FYg7kruFdHr=KyDyw3sPR6)%q5=T8ZGP zt5>F`lAm<<#;e` z=o~pDw%stGSVM$-oeb?pSg;EM1l{Fgn>QZ8_36LA=$n0p20sh#RA92&+%^fys37#t zoWrPe4(M>Y;?Zf-a&h+f9z6VJmN|6~cymMy0j6Ezt2)V9pYvi+dzuEYvvZ0}LOWCX z%MhNBH2~P~I__`Z>CBqZGitQC-wMNEd3MA*rE34Wh~Ky|h^aILt>OBLWBJT(q)vDr z876IUpu*GB-*M)a{V;hTUEhpQ@Uc#^uFWG69J`!UqH={gVy%~SC= z?ptHZF4R+{L7+%egJkUtPT(Bo^({&U@n%pv>A^x)ktN) z#gc0VbgAU$1&^=Z{;%N#{*>eZkUdliFva-z2rI@&@lBq}j_^$|XR_B!wW-Z-Ish&c zGAUS}84efYuxeiR%JZC}$-s`4pRoA2XX_ZExvavjmeYJFn3C9j$b7N;ev)z%+-^0C z2ph`+$fxokPRX*4X~S(#3e_RpC<%=PrVqJjCGHhIs#d=pb!GTzsJpKVx3BTJ)9;=h z0$qSdslA7Fk0sm#ys}McH&Q#C4;4k5#U?^cUu_0C7!zE3sxWe{9`u?LY?bz60zXpg z4G+?oz=8f^s&(`O`8EyDFzD7Ny9nnJzDSAM`y4EekljAsKy+m%8 zc1d;H+UeV`rw)uZ$09nuJ`&wD>KzlNIea4-$xG%F*P8zHu@p#Cyq~n~TGbJhzRj`! zSY3m|krc`F)yc=UD|!8tJ)RgXObf%8{?V>M7qnXPlgKakHm)-+dmidZKxuzipI$9A zq*M%JyJiKX`I0!On!n)Q@05#-hL7!7!lHRDIiOTq_)VrnU&U!tCTa zKq==&V9Av5RNpwR3H+k<)6R84R@Q2hA-4wDI;Fe@4kspDUFb6p*rRwVt|X2be7XtN zm?z9N3VB%@2^ z8zv}Fo*OpFiS_Z_otZ~QRrGlX$XChJEw?3kt)#`$N+)w!eekx5^l?eKeA;r`J9AZ! zW$X$gN-uLQ9V!paZ}~*I$6P~LH>f2OcE)_Femq#<4`_~*w^0W^Z;EP&x%FcZ_kZqY zC0Ra5_}nf#Zf`bOr0f;YMo;=(4yQd>Ue$9q`JP^ybNW$-J(I^h>9bf;1o%(^DlT z{vMVks}}Vij%mCEft}y<(0v=&q?!Q_YN*#P9U=LZo^HvufCdWo5I^){o;LX&`0Zti zO__S<45{AI6{j#AvF5ABss+_`bTO~g7j$-?D>A5-cgXS1#m<$QkGzU?mb{Wml1B+s zcyWl3W+S58-Q>6HQ&cCQ)YVh}XZ~^$1J!lI@>0lKUHZDW$b?Dmb=RM zx!64pG%#}-;c4UTG$5$r3TA8Ju8_CTs9QRcu5+`_wL?IwBwZ$U==t*BE;kn6M8>GP zs|o9c^ToSA^#3^e3sNh^!3X<1wIT9}zwGKvePF^gT*KT}M8ta`gloHe(c z{HH0h!*A*A@8|3{SxpiZ*lt%#-Pub#-JQ$`uQXZoWRkLY5c|qS&g-<3_O!I)U(PGn zKgY_!@(*KZQGg$aWM)#6lUysYKbK_oINOUu9kSFBkB1ryx>eKM7(#X1IQ@&IcQo(0O$!B`wV3aM@F$kM7xf?eA4MxwVM3 zpDHF%0D|Fn>fBRg6ji%&x*Dhl6PjuF6=F@jv&ippsg~QG#{g$MQg@N?n;_8}eWM~l zQP^;Ypq%RJsxN5N$(XeGbzTjTN%3Y@HB}=@w8u55NO-5k{xHY1XZNK|Ly9H2ZX2OQ zfb$Qj2ID>f{sdhlttcz3FnuFqBbT`j$B(k#BUrjE-Lz7bw^VWYEllCz=8I7$w^jJL zI>Da?bl`|~41C3^n7n?j6E+%Fx%&!+M~2zyFvPU;@YoyKE!XBWgh`EtM4`;f!D(p? z5Z%6dyGIJ;k}VmWeGfezolwg;H(*^))!#c$?zc(Vo169QO!C^Ns}rzo$4!FySz7$A zd!g?|l&}kS18(sLftgXB#$T~u_m}9z=B1WC;S~MSqDrG4()rI{4LN^~ZcfwZ=FvC| zf)dN%^KTWZq()n04Vr{Lyabvj@aOW%&<>>k`B!U?XQQBZb_Z#8AIuquo(h5UE=9pf zLi+%It#)OrHtl9u}Rh->Uwfh0;`e2qg#_xw52c5t%) zG0X>Zet9ZXwab<~johGfcFJMS0F)&^ijv^xb&58MfjwI;eAP_E`sWiC5N!0Ua z=MY_Ouv;EEY zxQ=(vV(I<%aKNp@5l(994{aHhBrbocH!Sqnh#B8_Mjo%n-g=iq9sa6cFx@`Cc|feI z1R4f$njd@7z!9%#{%bM7i$|v8XWd_SFz_!0qRa;~E<+=B?!lZE4@#m@){*)XgqO`@fXon$yjaS612c{tBt%&U6G&K^ezEDkLYv6 zuF);kws{?337z@e#39*K{`@yH$X&qT%KTPaS*Sy4+;Ra_=<-Vf00bN@PpiA^9;UUXKEpO-?J->~Zp= zl4>f==)ehgmsBba7$D+~Wi+aE-U-z+CJDeyiXZog@S#wIk1+i>R|&q7{7xAEpti`^ z7aX_Kkm&TTPP^<9CWAeLi^3H3JsXS*M-~{FTnlC(Uck@J>Bxt;osg!(P+^@!Yv@|t8$fYnM?lQj`(-8#H21uCfMsu>5{oF z+BURQa}KDMhN1AkHBc7N`M#Ko!1V8W7RS{6!2l$H7UlELmKq(1)kSgxNRr?8+Z#aL zt&$uiZ1J#W@P61$5%aG3FB9hwI{hyh0UOYP7)1M-geU>uvZlS`DqYb%cf1#YRFvP90yHFQ zp=C|;g#|84D=iuw6=%U{TDdn^=tg9-K$rj_{M~C8+P`|#p&2b-U5$hAiUpr|`*R2`EJ{HywDih0l^{JxAzIrv)qIcSPz0)GoijFH!Ty$;bPfGZHNdFl2cU{@6@4^YrIV z7b{FL1pCJ$eQO(|I}}^b&J(6_{G|Ii3sO16SD!g{;E|k{}kd6u{mE>OjkmX`Q=>QGi{bpktrFRLxoypUHYzHrtA>(Y}z?$Ac zrl=GUTQmNupI0F@50A6P%g~Nt;)JV(WU@Eh!^Vz(o^ddY7aFO{UEMZDdYH<5mqe1s zO%QL@r^#ogy*D$KK<}Q78TtU`5h{OVor>)UiwHg%u`G`c5*R+z?Cn72<^$!W%WDD# zcuih*!SIbA>{MNf8nx&xe|yb7e7g#mgo<7xb|&lh+2f_HO)F#oxxxJEGuJQKk1rq} zt)3sri>=CENaVqj+-P=mwfb|*0;7pq>-Zk^w*E|b{{kS0=pv(^s1u5-&>%I6ie^^6 ztHC*vOzJ0_0_tJ$Bv21A;^Hy|!r`Q1m)h1sx6jPPzCO?TdK+qK>m4Us_ya!(d$zNy z)>q{d4G}>bZ@$AtJred*K95wpQ&-U|cMG@3y#^>9_7B-lGm2cFF_QkiaU1w{WiSpn zeMa4wSF9sD9$UkoKXKu(GnwZ@)Tz#txyC@PkS!W^PlkGr(4wao9+?LRaKgo=_f zZrDvghtQqkpa8&PnS73mU9+R_B0%8R2*w_PrJIRL!SlnOTMe1CGHjDQ=H@GUX5aKc zz_MQ57g{f?3IE&FoBEi>XDqW>GvMO3S4_?8|bA3&9?rs zEEDhWleE8@3t{hHeUp{$U$q<_p>dr>N*$Fjr19`bX{}~nzVk{OATi*TIbNQyJWfvk zkXk1NACGIY5=lKH-DMI&V?Gllv0 zl^d;;-fTs-`-kx6&W=p_0ivMyxw>!akZhcFPob-x+l2`+Xz310}1_r^eUu8 zUH7<9w@};B%c{NoK`5689A-?i(z-;W_UC6gglaC)o#FzRO#HGX)UxPNH{qYKPDGc^ zl6F~(=>P&sQd)H{k}YtAqJl!~4t#LSa~YZ+uk!YjZA`hqsDK(9sJp32qr9qa(kbP$ ze;?2@*3j{!8ao*U#79Rlj{P2vMu?dQKkW6R+>zol0)c^ew1CxIRN#%d1rP#f@DNvP zT3V^6H64{;Tk$QK%^NM-IH<)vFpC=g_zn-P8SvLMP3q>IX{9;}~~~ zo|EE>zKIX~Cm^FTos=IA))R{0HIbfx1_AjedtOR4V zj(I75V3#-pReR!=mcwI|AqBnC&1NL9*)nW+;Nf6PeR0dl@EB9hCRbxo;-*ZZM%N-w@V?|D7t>l*uXT&DhqYCDs$O>>)(DY} z>7%deoFv~O3%{g#R#keY)r3U?)ljUaofrEZ7rZt5U_Lgi+&N&v_%F>!=uqX19eflW zR^^A>i+y_jN?aQ*gbFTGRC$ZBQOQ8NmVLpk$h7DL12aTnLzi**%$x7EKYvunu)UEl ziF!hJEc`G?->Jn-krDTs|C%LAf&Kj;Se*=iv79O#ESBIm1Bf7B&*X;#5VI6tf~txt8lC6A_!1Ee!}P};rMD+ns*xHE+9^|g*) z$v>rg*ed))`O&s^{_R6w?eX4BoR>WVB}g*4^3;<}xLwHH98Uu~LWn|lsquhaVq|D5 zin05^Lt63@TUzscXfC{z{;H4|3hA7AVMr28desFZwO*n)0?Vn-khEVp7XmqYnbG0U zz%)MkL%bSJOTiWr#K`f$F>h8)RolBmrV-ZW^04;?Gh2b*+x%^q@qGI*S20mDvobWVl^j9+=~~edOLlC50v`^C~om0)o{be z)Ub9iMq>w792J!cwvn-niZ>{s*ACVFi;sX-M8R_-$5bSsABvr7A)r;MoC;x>ouS)V z)dEfNLeY8Dyd4QfywJo=Kj|r$d|zMD_zGhDnH~j==4!F-T-*ywW?dJS-{d|m6|Zk( zkYR`xfVQ^V(}~uq6`l5@s=faXRT5FaaO1uwRqF+hWS*Fgji(8tjZH|;OG3bGX@uP6 zqZ2KXL~bmE&8P=<%~H{U8uKc@gbHdu%eL4gOe}wCtgU*5^*z>?0#}NKcYvE|97Vdy zAj}lAc*fh6-)CF@mGW{K^@$kqHrY84pB&yv#-zV33eSQ82ZPQnW7*>iuTRBgacB{( z#SBWWKAM%~?m2&(+6j@{RMe!XbCmp|#|$TcUt`eTZuxQ4?yq*v zq%BZTMP*&S&2bz0{mi(&Ue=z1n22yNaD9Ss<2p-KPpC0tLYAC{E#Sl&!5L zHGHlgv9nzr6GR22<`E3D;zEOhe}{w=2oTNVF3b(&GyPyL>5KdT+ZaKorDpwa4`F2a zVHm!jMC_Fb*j~|K4TSUhY2@Nw9mNUdn^?>y=jjr+ljCivU8u)*aA&1F$A21#6y?RT zcY8Xh%5PBiLQIru7NasSgD{$RdS}F7PN2BNh{>wxo{Q{>fTr&?m&}nGo3-R%J<6Xi z9}4-$egqx#FrZxYJNYJ0yty=ZQzF~niwe89zXK=&jwjl zJPlwDVqKogfHDbOXx@yp0m23$mNec9n}7JoTHRcijqklD^rdRXAZj*cU`K=$U84f6 z8!cVpF^@mMm^?+jm{*8>mZRd-$A888o`C>t4QLu;NOQo9GD`{MsVRJddCLr0fvhzW zd97Y$7T{^SfDVCtvbf(S*DGoSObuWFqIYaYYi3X@>$mj}Xn*r|-z+8;_kq3bT;P8f zw2=YN_S%M~V}cB{A$mCL0kByF_!FX>DuPsW4$TKH=&0jwZt4br8BMc?yDN$L^Vh6* zP+DlNMivr?Tu9m-JEt_Io~O|BNSBpc!6Z~zxwe8MrsuJE#7ara?65)%ID$F_m5CWP z2CM`=vwr9ssN3DD)%>-pu@uOgOW8)t5M)4e>w)O<0{P$k1&@B9*k<+)kw32dvvY%d zvr{MD?jgnur#wvh3-#k$w$0l~dl>Ebpy$}f#58(~5n*EW!!M9#}7y>Mc7Xy6aj0nkMV?}29(J>xa zEG+dL!*NuS_cR4ewRJtz(>tD2Z5NZtWCB7Uan@!B>sS;+5l%&`|JI9#i&M|3^~zsxXin7e-p z_0b2Be=mHtL??Ao=0JlFZTvau$zJWrykqOs_+fVpeip##6I>G**%QZv08S5T`0s~y zfLo*Gp~=>4BQA0-8Byk+Y$ji0TxASR^K?hoKh00G=OfCFYVg<4SvafZu*WP(D%|vS zV%8>70y&Dpl;_UmUPTSDm=4&r@eCdU&#wZEbsmPUk{}bxea)+pB2QVh81>fOpN+{} z3D-0|?^c&$?L2j5cqPu7rk!f51kd)xCmWBL$kN;ua6hAtVi!J~IQM=2>0(fnRSw2J z`q|buydRAu%4xdYAcbSeFUU zunL#I-=%vp!{eoN3Z8qafb1ZkF z7j5ka8T+?<8gEc#VMNR`K#5Cjg{%Y$P^=mA>kykt)&cZ};O|V`p88z4ljf`?NLB{^ zXYONI1)Wbq;g4EX3vja%1J&O|&Z=cFYhCqdDEV(DZ7<>C8r`qCpAssu(5U|vrDTnlVvi+}PlnCSH6<{rBalTF`RdH;>k*2g?hZsUWNw2tkpCcqgN z|4fuB`x~4DD?00#u!0Ce;m@h~>J+jTxK_u9Q-Mz0_>+i2Ey(d-^Csa+X5IcxraJ+bdn@7WdLu4MxsbbZqm62$kLDkds*RI4QLH-RWc048J^6y8GG)t1t5kWJ7z%|y9(lrl z%e4Rhr8+ot(q|MbAk&9y#@bBP3@C0Elc9gGL%b?tt~vT2zMW7CAUs#Cf!}Jx?8;_9 zA(VQ}x4Hdo(g_*EQR>Vcs~Ir#{no;}wIOeoz{cZJo$0CU=r%qkCI$-?rG^25hrzDsz|=r? zSk;&!hxvjy^eRYw=++LE82yG0d*N8bdbL~mf-H+kCS2_F=xeTloE^RTlT1`lv8|Mo z=UkA&XrHE%j{+iG9kxyJ^0N)I?M#~M^?*+Xw8v_y4cmhNlOm@`a3Za9^)GjQnFe4` zu4K;u24zNwg3k?0s8!1~spXa<6S<{QN^Vj{WasedIS*rSaI@*sOz>A>wQ%un6}D8h z3y&(ku8Q!Cy%|lVE(I+=5`yw%#PQ6wr_G=%Ld5wA%K*I!M}OLKf#MArz%?X@qCm!5 zGZW2eLjKSBiGbvsw+cbgOvm&x5BojrNyZHD%x+Ymat6AEhFk^j@P~EV)hvo~t1moO zTq3p5q{-z>u%k4TS?QNT%65JdxO~|?+W)bZ%niBc5k8-GKjlF+X_di^0lrv{X;YeS zTlw#n@G|w3KcvASBmU7)0bVP~*~b6SaDNWz=(DzU^6M7?M|r5ykDqzwjL!@>7Hw@5 zTewQC*!D`Eb>kz{dTV>$evz&EQeZekMBe7%=%Qg;5V26aYrn_5haV$~)q7gPg}AXr zi?<`aCg~soyM7vh6UIiEf-*|-6Gj2*#Y~>YW2pt8US`VAKJRM(&RDZF>3C!r#7YtawSUgHK|*er1IV;tB);74B8ql?LJXV#JHW@n z3_w8|$1h`HfqDkG#i+{w&tlK+Y(Ba+g}=AXYvEYP)7%^DibSTREug1zT=+^|{Y)k! z?ABB4OR-ykIvB~#KD%rf-&g~dkJ;43mGZXQKF8~%tdoh9q)<16w91l=KNz|u2lU^h(zipmj~op>~gkmOXk zLAL|<+0Sm0#o}6h<0eU7#{f3*HrrD)@GF@S{)B^$G~C<}cVMBHE*h0dX9aT;&1$m@8r=RF z_n%bAR|b23^o8jeq=embae87Nka4PHf5Ni;=IQ}yHOc>9Pikh4a6V>R%zshJ@nz=q z_)4=`U-_e!zoXS@GG%PlR?DH5Imeq95Vx>R>vVPn_3DtIUB8cA4$3bt8!n8ZCVK<& zW0`y_9XGc?_*TXzvDgvgj#->V4_Gw@K_0?pM7k}LQJg&_(j*XLN6{~n zf^3tStHZ8juHGLyAGYY}Eb`_b#_)>$0yrBDM~-yl_Sfjx)^2sETgqUwSSpjHf8A%$ znoe6ASxp#CQGDRl`2PHWxF`rQ=R^JNr`i`88F) zNgwQi+{2U)W;kLxKy0(fh;I{cKHTeF?Zb{pWP9YSX(5O{5`)mm=#~^+Le2#yIL&;i z*i&~VFv(?h?(J6_9V6sDn+RA+pcwC+_QIpCGDF8qp6Os^3WKmUlkw8NuzQ=XM_!Ly z#MKanzbrDOV8N8uWE37c7W(s2+U~ce?bP&pY@2?&zioyThWht2HLczOsQ-nb7kgcz zHuz;SH|6ARy&_bs1FC1E>gKB%`7J>!c#KIe<=58F_{7~A6HzrEgLI{z!5B7oy;o)6 zeN<|WeqxqmbuX?bCK>+H%HDqmhy0=d8qBEl@k!)YBg*}1sZirJnJztz%Y<Q|p+Z&jCZa-<1Z}$3cjL6LWNAqolC&HIr@C*g-*7$~ zfXx>`Ox0g^IO!5&+*k7 z4f8m&fr(%WX_XUW*Whl!HMo0lcXwNCe@pWDegC*WuIldUs_wRCYIkO9 zrn_gl`+fWAexIlMoN1Ur%O3_Dz!g; z5>cOEGVBK#oYO&O0HI)>-+%tFB?Sl%!F_%E7}A{yHdNQ%weQ#?Rkng#h{!){HKlny zkO{iad?zk~gS&)tK3RlkdOrct@N$tcP_#z$8GSe&JgV$ygh$Z&uQ(3+7v^BuJnY^GgL*X-q-;3Yyr-dp0k)Ykl13xvvjW zom=$O6Ri%S^@Z1p{!8!KKEYs|A$3V8w^2@1LC$*2b+aMDNk~I&3Qk1^Y4^gVs@M!T zf3S^z#StQ*dRllBi_E3qh?H#xZljw?>ir?|(Za3$Q*r0HaFEzcVjlo?Q7#?C$rgoU z`)Y8tN2+QWS|n)#xG-+YrI} z1t$=13I>P32>A-1Aqm%etckN#iNlOC^7ORyo{Ic|6jTvzp--7@2d-YwDPOa*($0`@qg`kQw4RpKluw#(MG~$kcu+ z^~6weizc=r@v9T^x(SOwgw#U*GS)*{%m0~>nkWS%3Qx)Qx7vR%aNpIMm+$WYK3EFM zayVq(GPklK?^8)eF7>mVkm5MGG_3r>GK$v4lj_>?ws;cHKa)1W~}wH51vzR)=H)YwOyxZkAhC`Yo-4xYl}O zZRA|jP=DQYNP~v+`x?(raqzMt3GR)C#P>p^Mo_hnB)Y_Tj-Plcy;)85gzp@!>c5a9 z-QBIaNkZ8CSytql7E}bG1p_EvUnE;E9FdX@#1Ejf;V3IXNcbZ)kL424Kahgqcw=zk z^0jAwPFK5H6;l$tRhmcs(6)H4&r9laR2Cof_{Zmp2A)UuU~DE^;l-nUiVSp|?lLCF z$a%40j|qRjqM&a~(dD2o$eUD2%@kqqJs-c|z7o6Q6#(LO<_h_g{I(i!Nw7zN2N zM0*|ZclfBxe30Dg+RT)>O6zCFK7?1*d0bG4t7>bjhbk3|!S^BR{ctaH)ieklh1u8U zviigO;U|l_$P-?!6U}C*j9pQ>o}hEvx!`b-cB!A`oF0^bz9wpYvv~lG#C%eZrI-MJ zbY1Jf&Q=E){rDmuwD#<%$jtfnA7}pG1v2+YR@i_{KRxf~n>kSI+QV$aCb~Js?GC@o zb`J~K&Sx(+mg0mlS4ByGSJ{J{A;Wu%r8_8a$~rQa|O2bE#_PZusTb7DXyO zrP-gdCq(Jd7Ws46&6L|QXU`c=w(SmFt{4j)Qqz%JC<8OG)y>4N$v~gbB zp_L!kK)hU>rM4n#nfi#qOez%a%oArZ4Ll&mR%nUU{ zp4j#nPRa2dJp0d-);&e& z;w)ZPY6eCxcQM?0K|7)9kXf0o-Qv_B zey=&q$`9A$BO)&&&%0s%7x{aoQu4W`mB_lE|Li!7OZ2{UTK}!WRxl9^JTeUgi|#@E z8~G9%zeUH1vdIAVN@e-%!EF_b@6=AxL6Ii??#aL=kA-)7hop9c`QD2Rf}pXjcpDbm z%H^vB_PofnX4V^>f(HJ`5!uZJ#C@2*ptheLrkPq(z9Sj_aJLRZ)%W5N-^tXU8L@line z9nkoifgJAut^ZE!BS4D{KTe`o{nd|xSdmo7|8CP_|FF8(LHVmH9*yqI|5nA5!}fLH zk;A$9XM%i%(;$|^dP;od^^rif2~LQo^Z&EUNn}=Dg9bqAs~!S)F47P75Uawls=&jU zaS;zg)c`8FE>yB7UI1rS{&9Vfh}1{^D!fN2XqE0tX@KG``oIKUxfkdajV;! zhQaa)UUe96)N>d6bfI2NowujzZcIG$*mBJTWR(ABnK zjyANSr2kG2TcKYo3hYqHOtKc6}-6m9XcmsXGpNwhjFpPRDI{MrDc+#aKSfiuQ%{CYUGk?`B7c1hgkT# zW5bMEaMAU8_)Wh&>O?P@#jV9|LVL_ukOQ`aV0^5bF6U3C#Qo^EP(SQ(Zm!CA@Oj@; z3XQzkBas_0oQwS&xzOBN9FhFEb*FYvdBD6^Dqeq((PEmbeMja-%Ev$+Mz>~^l<-VC z;68AYpdL7mCEA`TYsNwz*E@ilhnkpWc0F2d7HOuNn}*kr6rlEf<%TYppFnTwYWtCF zI9fk55h~bY?-5qEtMzBDNS2Z|n9rNzx;;Z51gxmz|i42oN?TMy&yI zOIl2#)OemDGA5b#mJAnYKp*9l4*o3FP3m1pAjoZ~**)U9WmGDbr}N&Q0YpWU!|LDa zU-t<>Bn%Mwv0ue=WGk4dX8CYy6D!vs&JP$WFcj1Lv7 zH}dwCjblR`g?P_7Qp~Ker$E`7@@v0!e6u;p$#KQoG;fBgP)p_H+;yd-*HLaJF zcR*r&B)0;o%Z={EkAH-a;!hYAuvJv{+hQM%v%Y)Y9Z~IO+BQoygIGC1ak%p4_Acnq zAazH2XNSFFj=r=C%_#KtABvyl9^(C>n^Ky8#cfIfTfKW}FM}yV);g`tBDthkRucR0uw*jYztOx88naZ?`p z*fox<8`vkra`S0;o_k|2uW9!IX5!D>DZqFO4IRT0%nd*BeC|rRn%x02x21)1GA8(| zFWP^VbEMbh0oKku(^0_f(F9w?oPH%GD;ikeE3gx;TI_1n88y%oCfnw)mlS(Wh84tr zQ2HcZD{Ag2Xw1+v-P7~fA|C*PS3hW}r!v%Ep#i2IIbjX#yk$V|(0LZm2gPKIUmyO& z=Xs#s{47^9@<~7Cb0b8*rRIaQxZc1S?Xu3InI)92_YyezTfU%h+4B;P@Ll(o9o>Cp z=S?G?;CoPrTAU4$n1|XZnO^Q%&qq3zy^zg(_ryPzlT=F-9VVP>)tu#svQh0>?mJ^L zQkMvWSL_Qi6>&3^zk}Ki%zvJ*CL+(j1cs&!J;xlJEwcP6ut=l$4DDU5ZX$h788e1v zkv1^%6R&AOOy96l^vcLKR4H2&+eThX726=&GR1Hfuci&7+I2(ef~XA2pKk!90-uPPO;t zf>W`&@1X&Rs(1zZ{pW%##l^3wtprIJ?KVg4_ok!>YBr}7A1CWA5`Y$xyh9~QmC_k5 zk43{Mp2^%pgPSiXq%gK)P>!WP%x@b!^=I3q+Kz*ZcO+5K&04&2S;9KbW=lQ4uD*|b z9nY#zuZgnBhEm998zMTGw*)^@*+WBJ9i6QIYb!}&6}!CR$vb!(ePB8e%v#%~`-P%i z=15$r$8XoHyJ(hnP4IWJlZFBfF1Sem;lx$i8t^RAVYiW zfPMFx-=T3J62h;akUZDx;2Th@Tl)+ohNcU@dnQJkxZ3)Bey%aXbfIog$n5_6J{P;g zs_BLg)Zv&oz2!*ccjim@0?7RADH21D49 zVjHtKaOAjEDctj>*nNw2@$$ue7`+U!D(!{u`O~ohWqvz%v$gKydg+`9Vyv1fz^8kT zIt2|&Uimme%Cst#YfT1Zp7vJX@yGXmIXPOlni5Q@??PC%0O>cQbcFnDmy`Vi|3d8v z8M?dJrUzl*akI4;s-LT|UnzrvT=NPkAI z{0B(%NkagM*~}pQf4<=sMBEGj9%XMyi?(AwKd???*5e}M3mRZU|^_(D{a=j)HT-GUF{UuC?Ue^TERIQ_}A3Uvzt1 zd{6tiYd)`IDKX>W$q{P9+%aJ9=$G$jv%|2nQ+Z;)ENSnu-#aZGYOwWp;Tj?()J|li zo^*H5YY4BUgR3Rz{+Z+HBp(D3;H~0@P!09-?EQ&w(TfPo#?c=O)^I7SLjp?qcN=Sq z#*O#ZTTl}PyiW(NcsiTkzT`IInqpt?UP2toleOBgu+zm_Kqxosp6O`sz{`{;Rqz)3 zu7c6i;)--eros8_?I!W$Bd{g!GBwSeI=?CxLgx&H*a%s9g-$jL!Na0L$&MUXRp|VX zucz=EgdQT|ZO|6S^h1q0`4uvNKAS61siou!)^pzVo{UInWZsr0;PRa;`UNb-&BZTf zqM18pTuoChfqm~MzVptm)A6+?_Dzt;u~}lBs{6d(TmC1cOr=*5+KqbCqIx#yzxd15 ztAOWX_%CtvC}g}NLm!#M7}CQHl-<0y9we>i+%AsT?9sAw-8)@~9Sy=CFaOM#Do_FC zCov+iP0=YJ+Njxb5G1bSa$DACOE^X!@U?}js2*7ZhVCD{v=6BgoU|z{>a#F;asav= z;!Sg1-mdL1J;pb!(OQwoTTS~_yzWMTrCK5oC^3u#M~c_FFybc5NC<@LBO`ETPks=4ID4ah*n(RBx}p zJvrl^#b`E1@Sq}+X|C%LH8h-LO!3#pZiGPZY=kh=`OAavESnpFaCYYXNjjQs&88+o zf&8{2p|sihtv(WIB!JdL71~>5bNxo*%NZJ*=2|TJqaM#ENsk$ZBMipj_`w)@A=+i5 z`nsJAfa{H(fay32O6ZvBUGlLzhD0kCLJK%d)}&l`F|-w?euZ{0|6ka z>;DH_+}B}?@O5b*Wb-43NX4TUHyAMfXJH^KEZ;&J{Oi^k4QcfuGulB^O#ZtU6r2_{1m-ApRpk9I6PyrPmld|pD*s~UAY642>(mg6pYU%rn6Gd*Bym(& z@mF?<*KL9U0(1PodHFpUT3706Yb_%0Hx%Rp6qgsP5HaxoECUON{CWcNA&1JO4Tr%f zg@StB@gQehY#oeQtxb&0zp$EHe=#-rz{6r^WBTK>yd)|z(d%WXKq)aLC@AP&$Zm=V z139DN(#s9`g8rr?DFRh7_U-_3fMh47`3-VMn%5nA`v^V*3aX?IDE3LkRqsR>K^SLl zHd9v^+vu2j#|OACKHZC$h=U^cDYu}l=mU%)bUsyep@vfYPsI6Y*;SdDd1!beLlrAG zH-&sw1NY+sMw2_h-fHm@eqxOsE%9yLc)>uSk%-xYqrH)q-&%LOME72A!5cTD|EZOc*yG=E z4nXQch{l&6kav#k;OJ_@Jfh6RXUKm_Vy$fbTEos5Rw*kDodTDM=nErD$s_EhKC(g? zFz_JPCx#uHp%%=xaxJBubQ#xR4x0WsH_~hH@I^|r5Wy{eAOAu0qe2!ddGx)myFgH< z$VYPQ3jr@-a~5}8+;0gr*hATftfkR45BCN~f(xFg_gaKaweIR~Pa`kVa%80{DeS7p zGa6_FN$QPXN_o7WW`TtPV!oddv+Tw+q^v&4!vO`x19C;DJ~($?QE$D!Y_v~?^SWM_ zA^8Ch>cqc%E4|0Rdh&8fjI#D(CJE{#9>9VZ2Rz&7q7kB5N|?dM&0&shol)X_r&SXa z7~trOqaVz=47lWu=|YwbNBU7V6jwU$FLn4vj9SFtftLdems(&TWNx(mUWfgmXjone zPBvb9NHd&VDNHIC179=V7vUF@B*}|t$JS^!Al^+}EnjLFQ8|&R?M@n5IWfA!x+W=@ z)YpMXRb{lQ;8$@lcR&d0NCgDIuBH2s& z0LY8oz->ny^eA%{y1DYkGnGxqb#Phy&zgGCk7`(*A7q#CXfd*b3dTw?vH<#rmoQsa z%$6WxPxU*~$K|@ZdxSQQ&nQDB=j!ss_i@ooder)Sjqc-aMw6Ec&Pn=Zeg50ed;G$} za+;AoU;MqK2lYn5`N8z?YUaU{dur?o7d-hM?ufQ(U9%Rl7)^xVl(DgKy{COpCpf-! zZ7UZ_e)GgC2uO4DjKB;LI*3jkM)$&-ZUBm(=0{&N1hxhveuHt2|Lmkg@+|XRP2fiZ z-dY3!G|aRpaNiJ<3RYWBV#6CLf3{X*XYj`lnFWICQ@N{rY8o!6j#c9!9iA@Y_!uk5a^aY7_bI+;i_H&c-5Z``&8vxokvyGnr2*fMcjB>CBXW zXWOi#mOnW5@^kz7ZhEQio8Q^ET=GJPX-F>MxgG?2Fv9P5%3@I$4#ZS>hyx&@7o0mf zUY~n_BGi@ZcgcUlH66mk6!lhTMfi$|%WK(9Q{`~K{i`mruMUIG3S z?qEFC;B-9^+K5z*D$pdN6%p4u75rszk@H345HqVfaA)uOEsGZoS5-ewI`s`q#EMe)9PpUj3X~{vP?8T7kjr?s zqUTXU;WB3jzFZIwK-s9mDSsFltS?SP&Sh@G?x%n5dhXQ`K;CCQU znNg$orwN18lamf@$Kx)OxAo5HxSNpR`KU{$!?`_$pgZ4eXB=4_&7c$%IwKeZYbp<~ zc498SO}(q+5+Ts}1j!A8k;ob-Jyf=<8a!fuT@fw2GmF_I60o5$^G7c2e25fYg` zQ{P=EieHKL4b-HgN~$E7M2pkvInTiU|3o zIWy>!$HO@ZnFh0MTi4*27g=)4{mpfozM4*P5Upalvj~loM4aNzcAm38_I4!)FS_ZV z{gSt@!wjP|sbanJ`6p+Kg* zdm5ZA1|^(+|G@A(^+JL;?+=Xz?0I@(OFl%v1+lNcl)C!oSuuq*KWs-Up@@YSzgIR| zpY}iZ>|Vm!6xGw_7{*mB z7eR3yU0f1!wiR0!L>$f`+$2BonCarpKs4tc0lK>Y=%3}KrKRN+rHMj|hZdGXm~FPC z^KC0v*rs~TjtA-v0*_B4A$%o$%g(hW1zM)$F{#ZK2f3x?(|;626W3pM7RUxg86A5s zWxNyzuk{{=WJ zO8#xjSvM0=6UA@mx76&%Lw^an#k9P_sI{Q6c7yyb-P{1Er)&l!;9J$fzTFW0K#>$~ zsR+VYcZmut^#F3bD~VP;<7bZ8OM(}{6AK=cu zg{m+_pmJ=5ve#?Kz@+>E#Xa#wB{@YT)g7`tM>)@_yU~+3KmG(gvY6F)whp{3(F<{0+W|^=ck2L1Na~UO!a)8~=N)IKt>R1r^js`FGDo zU8;rSS@`VRLy=?C?R@k7gsAP==tBm6qJw*9?~(=XO0SGnVLe$g7pf%-m#!2C;f+1m zV5@n4+q0fM)}4m{(5y+5i1-L$t|}381|0WA9y)E;4%X5ioi4o$+(TjC{j65dXSsHg zRc2V;oIZ&YY4l>Zj6~}aPRkBsrlJhW>|1sv_7y4+QE>;_L=RqvYQz>u!1>(Y^jGcMSFg`r(jk<$MNghSeWp>vkc*Y?TRmiX3m?sGzaI#bgP!JLO$OygBqzYy~BM?rN}LX zy!^C5vlQ$?a-U|UdUW#GC;DeKv^OcGad`|&q>HCz6BbgM>F>8=_Cn^}x(LWLw|}5# zv5lC1yiIZ$2E0tS&&5)+DzbYWB=CSAj%@F1tn8J(^e^45I3%f^h~+YFhSFbI(X!F} z6sEmI3Q%0ad~^7n1UMM0CA&SB-*w_aDRI{Z8?5;UADwD-I(J-m<@xlG6by3vvontU z2uLek`EU}G>BW<|Gt-;4;&InjXsSO4IsUCs*KGCtd};}ppLx`qqu1Bnu6P%E>Y;$X z=Hqzt+yT`0uP$o0bJf~gI8qyLZp)psZg7>@(er&o{j9SLctra+{rjpO?JTo=OJ%Pk z^kCnM|K&P-q$yjxN@mXGr>WtUch_poe7&r|ueJvvvgSRb)p;hN>&V+t$%lyp9?~G0 zptNsYnO7|lXwX@#D>csveqPUSn1>&)kExaD9Fo`?4X9!(sZ$`$`NqSN|L(azkkxxu zSKz+O%VlM856ss^`_ifKk=>5`Y^R0R>xN?lp@hYY7v$H%zw#KRefHQNC<-uA{r&!V zzI?db#l?L;Q@+wO^Qw9;``2P~LT(Fss(2}V^apF>9y=Q9b!*ihKNGl%F?25WFMA7S zmdWUzKihf=`fDJAZ`_ZbAvQnjhq zJPs7f+9Y%_;D|`unr@U!D@WHMGg4fh8PijYdnna=F7)0Z>&yFD--MR25d{(jo&Hcc6szfm1nK2xhbI83!y?6 z;j{p)IgQVbXH8a!XL8(U>BjxJ&Q&VAzTWxNAJ?mdl|`fR>EY(+{3=4-H0#8!1ux(e z1&^pBuIHkYoyFQGRP)WjTlw=Qq;EZ*{J)e%2@Pn(_I1`h>*=kMdmap97TvHgmal76*j*=dWJHZ#JrGakOsi1~F-)?nj6fNukpI_+L z2Fp+7XWiGG_X9%P7fzpkj)&Z{V=Ou<&Q<}Rg^C|;M$mmcs~6m6H(SFNIns0yUR=B; zi*0?tyGv_pghUVHq1_N2hgxSnp&Euf9%iI33X}Iacr;!n6Rg*<21OGxW_<%|teylP zS_u}RI5(Q|zoxaDGbHrTEn?LT>`SOgp-i6GM5fAprlRI;h55xkf=WJBi5ZmuiASus z45DGr3%}l1{=V`~(xhkqUmH@mFgTvKMwS>a=lw;`{L5 zVXZ@^H1#a)F5O!+mLiuqc7le5<4K(y4_2&|Dev44Qn+Saw;{oTyB0}l>HLn4hZC4D zCAOzU?FV>;X*P;3``OJqG^+h+GbFZ~e9;{Z%d$cw`+Lwgww3LPZ)B0P+7}srpZIu4 zx%D03NkQj+rx&(}rpXIG=-&G}60=+C&_pOrArw9@w`Z;7EfHE_vgyCZ%KWmiFHpF` zA38=kMy=nLKi$UrGwhBeqm|T^UAyIZ*@V48Ol_}}HDje6p>ePu((*mPYuP4Fi?%E} zVn$Kg^^_0Z1VT*w^}>Z|JiBBBUhChq>sp3b<2;CJ+(26m#j0&*WDri4v!pBhajP-X zIwxbYFEgK=cIPd%R(?XUiLZFH$gk$Cls3&9?ITELg67t5Ot00N9hO0&%C_*`v$-w^ zQC#2vcnS7vk4K?rG~3u zSO3(W9~m#k;*S|_M9{_W`$AD;_m?j@=%@5)au>Qe1lm}cqP+rn(w5c} zzr-lJfGhG|G9k{o%^zKk_h+heWeOw5GHipQny1Uh8l0UE=QUS~YrpNuFPCSe^E;_H z9qz+H576dWjy|0x;l(Pr&K){u*yNbv#h|C#A2^}}hC~xIe4~{@PzvDuU=j4ZJ~~T6rh`;9hDm_3k*+D4ECQ<+^1z39xTE=H8%E&%=+Jl9?teh4A z!x(r|?xaT2^Mk3kHO*-8o|lnC@yp%txYo*nQKe;*I_$GeNAF|3b{GDvh5mC*{P9cR z*3NSW?(@Crg+dw`{A#=wT}SSZdWoEMPK3)iHT#VXus8TI!bdZWcHkyaIwH9 z65j$VRW~bNeurPlfryWQ6zE(Z=_9=yeeydsA%TuqDCKqRjW{e0)#bM)$X%gu3oBR* zhBRs@EmXf5@kTV-ww*XpF}nsTyQ5c7p3k3{ceF!R+j7G`_Mnn_qELiI7Pqm~w(PB&r5492zjTb37_bPLBI%;V@A%9jV5%lTn()lrK* zZirFUQjTu^(L%dZ#T?s+pw;Cq?v>FDzBP9gx4AF82Ng;d7K+M1wq&}kTO!P>#j)ZR z`6Ew+an(`cHneaquZQlnwliXW3(4!B&-m|wnOQ+X@W6i4iL{bAgbsD7ic3}zA(Dez zd!4&>@Y@AJn?b*Yf;1$xtU+Ws= zOiq;H3^nnc#9h2&9Cj)05GwPr=;)4P{kvf9iZ2`@LyTZdRZE(z1K zQ^Cu@({(ULvB9GBDV*dRzdMzuM5PfEkHv8pOJ87_>Wmhq^FyMAbKksWq_!->Jo*s% ziIHdZTARR+$nB%J{3Ig-wOZ{?(hA~MC8O82xt_?7!&D4r^@~jWxHx9mvde|{V0)NK z82-*RLrtdCsKX1j>`=!F{0lC<1|97h6Rs^HG=*C(4!xq)^ffBE&?gEe&mjjiRj4t* zjdWyh9J;`^zC*>&G=(*7o0cn@UrM%Z#arbk{40y6v+^f=&i+{}B$J9&R_Mj%OOo8q6|)_a8hm5#GT6nRU}khU(?IWcXgg0=jo1$57k4}i0r zHfM6%TUevon3Z)X?VEu9in0rmis$1;LT_Uv)4_)^%u3{HeSRgroBHl)frbc1xo({? zvQW%+eA5TSrjb#|Ft1IVY?;@t7{hk#MPE`co!z*LJ9a#c-#ZgK&P z+%z{JqSEO4GQoLPTys-cEP6(_G=BqJ!7rpd!=4LEwAp{i!&6)5^Eu{|YT3JlGhZl{ zSC0n?SDor7OjntlKW7d4>Avp{KRSMMb9`6@?YAEF*ZV{{_7>J8^ ze95V#JX6-^V{_?Lel%!CsfmbtJf+TX_> zx1^CH0kL3U)wU+7<1&F-G^7=88v(quuRVoW($}R)JU8QI@ntWffi|vOR?%IPP8@Eb zC=w?Vog8i^?EOnTLhf4eO*dHKWn&zr@PG>hv|u3Q2TpCV4!NA=*vu`pe!4aG=d3eNw1Px1Ww}&>y!qvg*PUE=$eLds>FjdeOOMOJKiejZqXdo_9z3dxKfu#xryK{+yT5J4_Ijz8q<@H*%b4eZs#S1Ju=+fg7+RhzKqpiJ3HR&>n)kU958Fr6 z2tLwoa-SNfs42JUlW7$No2e*WYJQnH#ltc9@O;nE6kWunoWjcv`LTf_f#&}u z_e0<>QT_^T1gEi|3#Q<^8_=4MBn$TSr+t;iU&XpbI2~&^74#`x$$D8Ik3XTBv6o4a z3Opc4&zEj7dp(_^Xty3V5ETL}>3{M4K^is5Q~*sXXG*}k_m13@TEsM5pR+wgU%|7z zv@WE=%Jr6&2jTAw9)b(#35=O)vY<;Dn$*7!U{ensPvs0u(4%{QW*-epZK+`sQQWxo z6^eZC-ensp(pN^kbUVo6%}lQ5eS~wsjj5|*m=X&JZAH!DKn`P1HgAp4EnZvs;9aQw zq`8G-5vhS{jh++hAQG>tldW(O&$(NW6y?8Y{Eku}$5Sk(oXR`iOz~@BC^yp&1#CsT ziq7)OxJ&X+Kc-EbFgk`%Z0|!S0tRt@vhV&up90|}K`evS%x!~JjMmDzEN-|Ee232C z<02Us#dA?)f-X*ChB9M<5`Ue-0h&GgH)`C^VDpl@X%lTR(URJc90?{hqj37#RU8uv zqbr!xDf}IJBC$j`kX|!425s#xd;T%N9*UK8h`#vLUcmGzfKU;B7^k1jj4Z1`0d&?% z8tR%5$*Sn2LJCW7Qk*gnMrA7y4lMVM&+~OQRqfIZ?IxfEij8m(36eYCo4l2hmr0E3 zVSn1>i(xcr^UhpD?S~fgR^66x^-Z6A)L+QOAN^7t`6iwgoq}pWT@Ivtrj|mk9*|bz zJGcC(04S)gdb4*PxGbNilcR(iub1rzL{*Z`-7dXXch6bq^L5|h{Pg`HN0!HVt0|2L zlj;T+y;d!)N5*}_tyAn#;R_=2HJt+?Se!N1--flg|BKMOr$A=; zfgg)rFynC`GNu~66R}jTi1Gz~^JBvRo3;awLk)E+Q`H!ya6(yu40^VzU{$x>m@*AF z7p>W~q6XOqO1u_7ODIf_;f}UmCRp=Ndz-={e*6n1hu?3$C|tr zYBl*nVM|l@+nRJ{!mjiC9Rr0pOb?fs?cV|LR3{Gtnw&A=+h6UZ!GT|(j66#Kx7q8I zlbe+D0|TK2Vgu0~NEGzQNqG?IH5D3`f=#K;z}s>vplk-hYVvSt8Y!Sa zE(&uvd$IVhd}k9(W9?J}Ml{Q9==yWnw6Cy6WejWuh&k!}^cfc+hE^&m@x~R>ZLWj9 zxCqkl-ti+eAUnTFd#JWJm_Y_C9!;s@?T7fH{-3kHRxnP4i)s$#)qNHPP)}RvVBz;K zF+KfCPG#3v8FyO|ZZR52q@j`RH{&5E+m;l;^fEG8Guz^EwV9i(P(0SP1ArUEFA9(q)K8r#CUxcaixN(ry&=A!f@FU zdBSC>t9@;swIwB~xbb2q^r{$MMnAvsc}sSOSPCLSK)y<;tA%)MTvpOY6+8`ZC17zY zGXtePIi;q8ej=th!sREV1GqJ@z&u&3@C!x7-uFM^gXd4ny7eYy>1?qWakmt66IQt%;&^00*Pt0$w&G8tBg-O2Y)j6=ObteOrE# z4tAJ?xT0_v)STEkkKyRk4o*fy!P2sqxBl1Xrz z2^$XXYe7J@{TK-+BDPkP4rf|JDNUtDF(!n5Hl04swc7sam(YJzcueNT z#Jh2sXJODM{g!T$@ds^9l|X1R^5Eq6m6DIF+m(|0?4gSBvriw3KTBR+)9Th;qt!a< zdh?*35@%*dF+Fz!@>_EPD!x}=6+Jw(bmR|7vtkUR_BJ0-QyyqMvZbM#x+0=_~dpGufp=Qsqgm095>E636s{<4U-uTWNz4z zK%e}qmY<%Vt@IL-E*Fkfx&aKs%aAPN_7O&o!xUi{H}adQ9t>pPUzpw~kC!tHx-)_jqrR6e2~T${4E*7xO$3 zWXzWlF>t$A=iOa9pwZWFJ)_WBP907hF?pRmR42+RT-0%{vqcZ@Iz zA$JY-&3)e)#cpK(i8F`N3Yu6> z8*jXpC0LkP%r|N7y^?)d$J!fWs8V*w6$X-U1BuE%VJmm+7oMt_?l=r z5i|pG$mUs<4;TQ*))#hPUI1o%H2v~0m9+3uq_zU3u|ojkENU>8&RbVEmFd)yzhsEz z4q>d;)zKNjG3`swm(kZh@BTyFxQ26`-$P#nJ~~ckGyT+8!yB%kJ+fj9{{``v8Jw?z zdbyTKroEOUyez)WY?-Fd^G%YtP{zy9W_~5>(+l#sdB&j_?qSx{7MZRtmY!xbXjY)F z5N#1gqnZ##E*xrS8U>$)E(4y+p8hy%1)?+@MF#NR>O&3l^zEN#gtO0c!jZ3(_Z6p0VCO5e=P*-{-*A$}uosi88Rj7l z#JIlY(T;x#EJR64Z}hxbtV{SLpAFrO_V+~_;KR8(DcAUs9V-j`Dhdvb3{`|oh2%Pb z(N=nZ%aN@NrFBXxh7Naf-x@M+%jqS+CbX4MK)sgRtm>8r+U*o}K}IfdK7AK;OC{qk zf8VPwD&o0J?tmH{mo9g&Pnq6ilp`M>_srQ$z3W4Q*p*4QK*oHKao@0?P2}-Tpg9xkkqwWG)fY3NH5B(07^7-T+n}PH#U! z8Eh84pBpYl_c`>mNrLR_qsq~anJ&AOCR2YjViyNN`8gQS5->svfsOcqkc@v0!{;fi zD4$R*L-N+TyAXfJ-#Hl&0DQ^65Q!J8K4Re1oZfq!IMO~V|5#YF=-q(qhWDL(A{e7c zi>F3C%EnR5R>K|0HBV*7z*LIUVZZE`WOKA2$o=RZ;goSG0fVN2(3|_m;=U+jMt)N= z0?x8Gl0H*jmEp(drY~ROR%ruMI~rUMM!qBmnW;y5sC%d>7Z;*tyWp-L0Nml&DEgZs z2v)$xgk z4t(JJ>Tc+_Y)o9@>3TW~sywVd!l;L1%qgF`yK};opca~%A05sB(}LbUBp7bUZydu0 zn_6v~3l%$bA{@gsYapGSBvkTM%(w{Jvtvv$%Mz&$pQ{RuLY@Xs8T!SHx^S+^&S#T_!dma>m~zAU!3_C1K| z>ls|XpX)=i8fA}r8s0#u4l}CM(MY-d(XsCRq-23P6!$af{d47THil1o(`i9od}La+2ulnlsKiwjF4w_%^$dkxp2*)a$-MNLX^77d~vtt&!Wcr zm;U)IO$ep??~oi$Zr53z<*&@=j-8S1XxIwl;=)ybbBX2@Du)NZV<5E5|rm zn4tR5gj4}b9MG~NByaOF1JBv0tjb7Ho1~`$v>Z^_d#=s>K{dw=b5!dZy;bqUg{yDr z%FCu=E>yU^EvhxEq259h!l>d>KTDuG#c7I8Ts<~Fy<`7fG4Fdq9-;-8BJ#tJBZe0# zh5>}btUm179H5OS!*}f}49FrAr4D?6PU1{(UNnk*+I@8Cx4D}!JoDzu&)F;S!HvV> zJ43fd0YH$A^pd_;xfzX`dU@tI0KYI=fxV9`Jj=M>`t^wkFO&VLHj-@F{r0}t zrDiFKzrY;1Yx&`@*x z*S$Ne;hKzTITkcH^wyV5C3g6z@P?j?vMxa;ucmVV(=KB5+tXk=xyv<`sEbjh?ZcO| zx1eim9dP4WEO{>bAYaK>foKlrPH&;@RkvFtRyJD|q~t0w}>vL!x@6udERO>->Y zl=T?!8diuw$8$$Z7P@Hp{jF#Wo|NiV=RffN;@Fq+Iu`v^T@Dm2kfyd z`o_v-iz8J~v^NM91YkFGs3|WWD;_}Y3=scCv9#r}efTGO3dPbMBG6Um%vhk2KPD&T z;mN1rv-{z>F5$o4WUtiEJLUcrX#$if2$NI-mF_u>UJ9&&eB+-B*I|10jFYc@5jy(L4~ zvw)&Ec^|jhalj^U&5F=zWd}Zbj|x$v{!rMSug?xqwV2zouAxF*vBk2&#wK4K(R0=D zl6w$9Y|HN+WM8<(Nt!0{4Hu0_jfh_Qnoj3seUFdFbq6G6w&9YQEkme}52)Ld)5Qwi zn{Jp0%kjztMq<#FTF;X?N^0OSZ5L}}+0X+G;8;=bu)kTamTL?nXgvOUQSZ%v?`d0F zFCok2bPZU5CicDVUJdzGH~E)A3lw;-gN7vnFXO?atyaV5y`%0Fv$&lSqY9J}v?j~@ zLNrrxpP)Ba@;DS;F;7JEBo^wp|2-c;;p8AwZ~gTdQ!UB8zw@SRk^;8V^pTFYEt}>> z8A?cmZ^`-WW=MQy$S4jW0PWA@-ZhwwW;s7OD#E#CVawGtC~3jvlaOwpi&J%!Q6LwV z8t6g^>e1%0dsYr|>cnusCWApdSua+zTRpDkC^_FGs(x@~6!CL@kIsrBrce{NO z&2$rzk!F-eiFY#&mKCpnD<50^9h22>H&IsWR5~E=h>|>B+(|N?ul<)(ysjLH0Yx+~ z3I&9(etDkb>eDgDJ8Es|^G-Bt1I6aI2|ELRc612x#ns)u%yCMBtpE~F5FV+joU%k| z2AREHsiZjXMRS2)lmV!Ed2eHVeTs^qK`mJk2u{CkiI%F~%*Z?;j&8j+xT-V;_W*u& zP+5@*Q`OwFk9c~o`$vZ(OD4&FO$sQWnr9d+yex&|L{vs~A07@}gZS<^< zb<+Wq#qpa~y`oD=8#f=D{W_D@hPxJ_dVzLS zA2%&tPv)w@skc*Y0dEv~4HjeMPFH+~rQz>}HDy{{^<1%R3|+0#ggG*Q%Jvp`32{uG zcecTQ=m?4&aLW{s{R(ca^yNf{U96a%H9<7{*Ky)Rg-eB$Axpk?-&g^o@Tm_QD z)oN@czho8FlC0;yXF9xa-z+~)MYQd6Xa^pdoo z0IoToC(fLa`>dr5ibg&S{qFJ@cXf?7dk42nrq_qujjwt+L8XfLeB8Wn$!hnY ziZkwnyix?bN!|VH*R-5nhlxL%>%8eJ;9b4@&vJZ}#Kruj?B!boYRxu@!`po!edm^E$){Hb-=7!uXh6Pkj@Y+4wO7KWj|be`8(-r%W@TCk z!YH1vrROtsYU`>iSH5kpu6vs#LmL8o3#Cj4&#fyn6@Do1t3H<=G$<$J$C~>4q8==j z=9|+kfWtJ^@_SsR0#JnqO*wdim-8rJ_H!PY6j<&|Bf(e-o=Qw(W;?<6922~VuCGsZ zl`3Z|@j{ii5ycBYDj;fv@fAlQnb?tln!9BDu#c$)VdVRDN#n#;0{G~{TM{*V6l$y~ z*27W_?35U~m+j-^MfMA5U^qt1P?aEWF^~Jd<8HaK0yUN7-k5G)LRmz>Gx}TA8zdPq#1J zm@*!ReDQ+FMG^~LpF{Ew1&#_6jg&LjKJBI=tB^oAw~bjc84)7@QIQ#j)H&Y^t}4gW zW}AOt4KxA*eE|r%Fq6(VY!)X{V}e`~4HXaBU zxStWl#l@Y`TB9pM%C6J;Sj$U$4C)hd(=K5tA0L|UQ=ATn-^9UZed}8I zt!y+@p@u&FiWDf#7T@aShwe9KNfj_$J2>}jwK>IXD$w zlF#O2h!b~+gQtYdG-0@84B6Veia4fX<~((oBHs_dPU90fd%DkgXK5_zMK)BoTLydc zwj9l0oFBWWM_qnRb$>e}sMC&R6K|fE)7{tvVq=|G>S${V9BN+;Y@DaNazdP~)Lz4qH$0@nJ)_E;1@UOqBbuJzic$Yu-wzTn^ zyxmA^orzZ47Q6eW?nD~H>jTt}Y-h`|Aboj3F_X3OKDaul@0^me0;Pg@PE3-ZKmVQ&Ix*#j^Y7q7H%0|jK_k|H~e0BS9eCLsYJ9Ho3mFq30URo;u zNG*L-lB_bYPYQNAf_?m)W?JUr2orQY29|&9);J2t6vZPg(QmJD7y8E+JN^tEnnDD?5k~|}oq5#$PlLgQ0*yH?O zwC}56^BXwSB|+ne#gAgl9&4j)V?(XhF4-Q#1)|CQ^mB)*)>#7pg^8HrN+$iwM$!r) zhUn0d>;e(&z)P$YYI1`iyHf8#hU(pt1GYBd1@BijgffrtPgiyhxQZ)y_)!!~42W7? z=4UQ-KOgxul*I!o`|or8>M=>S8C%d>2;MtDeGKL8a5D3yLdZA?{-e?2C4IK7(~9K%)yNpN_vr>e*+Hl~+9SeW(*+5M>X z>s*sOwv68feyga$x0DY*MJZ|#w{?7%r@5UxCvVjwOcq!Q^8SZr*!uCAZC>e*rv$Vdd9Ml5DnZHs{;W{>*OImbK-Cm8dTI$lI1@L|iNB~dK zGwl9&)Kxl3TLzIs(XyoB5;Gz!>gag;`q=v7(GcI;-L{to4Bpo-(UC3$`o7`tKjS1YYP)dVfR|@Pwr6bw+&BJ9~+Q(;hds-W-VI6IY zb5f7h2K_P}YJPILdbEPHaT2>QhJF%#)m3 zEZ6>RsiKVE4AvyF+g9Lb-?k2=`AF5r|5uJX;PkCVQ91+NZH zxnFlBjpxmzu@iNB{!g18wXQurPnV5&u3em!Y+=x0Qm7}#z-DyWzp8Q}umpXi{9<<~ zhOnYHR#~UJM{zkVIgIBO zn=o06iWT!H_JGWr(po0GdXHAkn(AVz(4mm@E^odYA-L{&=?nh8la!NwBNi$Kxj#SOcm=E$`PM$UQi?3O zASnDkp{T54iQv8m%@x{+K0qKVXM|!C%rZmCNKjIsFQTbQMg4#&7qdc^-Uz)rcTvOb zb>yrHT-N%gE2)K+x31oG)SX5)Z;XopbBC&r_V;(P^zRiAwaZ2;H3!HhxmV9X7H!JN zs~}6FtdNTje2k|l-r$2o zm7&}D29j>`336S~U1n8@pr2))XTc9};=+EZRg(D~)*zCOCeE|Rz!2Oo%s~R^(Oy#D zaaB60^2MdTQd2v5j`PHF(rkZzTT2}V%L!4C9K#&Nd|N~=3x>1&^iUAq^~ zHb3CXT4N-$rjcf7m6I8`ZCdES%!YpGg)*uYDF!S>q*=q3ZTb^Zjk7$?LKw0hg8Zfm z!@a$ykjBvIOyphu1#HP;?XN`K)P;U;#g>%M9|nO zJ*~9)8J^DPoHlqqaFweE4L}4bhM~@xLyP9wkqE7~pQde5CblhxWq!`}r#P%M8$_Sv zvs;7&4XMd?P5YuQ2X{)>X!migt(A> zydK?6+bgrwBR_(QSXt;F)*X5{EILfQbYq43&uGUS{`5?>2_c-1?HJKDDcZGArxQgl z)~*YXII&^g_INCfcsCV#e%z4^K_N&ciJOuN zS(vKaie^=qKMhH4QLqYIEa!U{Jq4WCs1 z4JLY&ZN7KjtWgr;h3ljjw|X+zd11Mq|5ndh+)O*R$+~x}imxS7^l)u1G!eNS$X5IL zb3?<`bvci94Q-YD66F%pPC6vH86!8$&K+X3ScP%wU@z$It@aT^&fvTb$N z(ho9^P5GJBKp`wXMRyMIIsv^DRv>u;^QJvn-l?B+ew(AH?9`64fo$%ibuhAf1SkMI z-=%&TbXz;W&jOnWHk8U0XLbw92p^p9*7rgSvvGgna{x}iC^4l{te*4viE=zqA;gR* z%XnFMy|?q&lX)rmg7?dUAgpy7`9qeL)wE*qqCspqf#WO;ogC$>!kc%`&-ZtCH}VH2 zTQ;0!OB7mwTwR;wlYN)ZL#Vo{KCg$p<#z^u7gC{*Oth-c*UIEMdd?!{B;9A@FTPD5 zCW#P2$?f|UN4OtTns@z$-kW|v8iNQ(V?c^l|K#A}+trajo zx%CI{0VoZXr1}|Mwf<%U2hZO&6Db|0Cluc)Yh}=jyNKL_LqXmuh*xM zT;JER5?#P*{lol*ACK3|+wI*G@iYI|Ha2uOzpGLK?b&QWgjd-gEEwA(4L=5*MwnD^ zU3k7uR#KYjQpC#(-TVj>@xJ{JzphJwVoBa0Dyn&gQW1Z$4jm}I$0fLUZr}~gKYN3b^ljMt{1RV7@QW&eWUh`=-IW{AN>gqh2Y2y2;;j0GP<8Lc=5=B?=v#` zng+Co3ZC z?0wG!8}(SOysT-p^(}}H_I9xm@>iVx0zF;!EtCSu+l6ZC{V_CVBF=weZ{n8Y)Db|m z=wN?}2FV|~*3(fRLJ;~3jN4>yn>#7x=BQbhVaP?nkWJwJAYQPiWHU%W668}-(u*sY z*mtBJXAm=n7<3Ac1v$mg$EpO`hfVf|#GEt_xX)AjF1SdMpy; zh*Mn^fvWBr$N>E544I2ce!|I=&m0_?a0SJ|%_9EtT=D>^1`&m=c$rlL8DcEZN|afJ zRiQ1$;N{;ve1JqnA!rG6CCb-e%lff~f^^d9l1fvS&no*(S?cB=)Fl_A?O1SML#Uwr zC*B8wd{a_i{;Wo?Y4kWOreZJwZaH;8ZZS+q_nH`TuY{1#y%F1lkve;`!-JU5{m<_& zni)}PU0%Zq=kUas47Wk+Mtzj9ll;c4^=X-ZL_Rw_m>B>LnWGgt98xH+LRoiY$C=Fi zKMO(!xl)t8Sq;%BS4*E3&iOpo#1^f?kU8$MdmXiRSbw_SA5j}2@k+jtOF4`~G5a0E>@;j7ubK#nm z1TY+>WF8@BE)+QlZX&`l_K zcWmBWyeb=O<2C>xxk9Bn&~xP1W*268f+Wja4C<{qk@nea z$Wx_oBEbm#4$Dv;&II6Rx~{7s3Hhv6rE?Xby0#*9F%?>(sH(Ir5%t&m#_KOD9_UoJfQI^W=Fo01V89Fe#|#r;w66e?oWX?)9bG zaRskXQN?h?uV1k=!g%dV3~sRgxa}cWdW#M&W76~Sf|k*xcpZ8FXvoIO*o7yO+iOKH_KE%g4~(Hz^@B$T`dzkJkYY9uZ3gK|2V*RF4|zCg<9?^nS`?y>+8dw%69pPhJ_;IeXZrqXED)M}l?ddPU@mD7cdU zL0qs-q+25S+S1dDwm~f>1tJkfgL?5ayjIs1Cdb+s5R}j1&tBKRpO7Oylvd0X1U&rf zBep(+y^GmvIft1cnb?{JZX_KmdpRAFV#$|pBC5NX@1Z&ZzAwz!%!c@W z*O%)){f$_jOjpzh6Twm5i~{#m*kOEssf2|pVRAX%?Tu7h@*+g6A>l9Hs0#N}YxGpo z6H&;v^dWxW6jSz7I#%MBXAk*t|5Ik~1F5zvtENaSFYo|{Aa^9U3PT4Bg z@A^i@E~D^9rqkMP- z2S*dD2n6?pcR$k0gn=L>!S}!Zv-8Yr5jveKhR>aR^4?RU%kEU z(rv}Ofr@La>L)eQqj7rwp^z7!q5;wjIu_LzyoiXd!CvtHV_d0Hp6z^x{m9gPwwdzs z1|fF|Aw0pZo6ASb8h2;$oqYN@#>GxYiyHeG8xOy$s-2liZcUHNWL}d}`bN&@SLL#0 zbdQP!`^$|A&@LyO$3Ddn4Y?Z_g|Nt^uNp4>=tWyL6&TFhGX2qodZK7Y3z0+>aP`>& zQ9M>A?5wbHZ^cV1WQ8p=Hoc`S-$sd+{h6P7-Xu0}<5fZxXz;xNrbT_pkj3(90gCgJ z5m_DF2?#_LnkYxuNp-Ru#uhDb-_1!IZOB55yWNmMB0GvB&;JlIxBwGNs50)-cCm`c zJ$ z{QIYy(fEfU8IaCfwhqV`J(br+=}!r z?ou2A)HbJOf4w&n1B_N$ZXmv97iYJqD_#56XT%!)OC&j%wjfwcO29~nj_D-VWh|^_y-49e1BuYS;-cmj+69GktNXzraC{jJlFzhpbU@kDFXr9z z2D5P{mfpcnm700zy|wc>dLU zL~hKwEa9uG0kBj-Ir&x_^^rQuuSJW83u^q)-DprwWVSYHZZ@VH55h!Ly4Pe{6~A~) z8p2l5(2r-uTR96q%?k9t1cKzNE#|wJ75;d4jQIQ%S=wp=6~#&>H6jXXp4r;!^lC`) zPbH{s%HsE$!~2+rygLl|Dq(XhJ)LlIOP1SlJR4`M%~qtAOE=;!PzVBlpk>p<$JSdJ z$7se{Qt!K;$e8(_tsmYc!EDLpi+Z+NS`?^9WwT8DG%x_$k{WZI2k=Ao+G$9Cr4Vp-p4B;)pk2eWK4_%62RhEdH9d(j{hY9S%D zWb1+O;L%MEFk*7?Ty29!X+l`@PqL{A$3DtRGkM}&@He%wHBzlyxLpVZ^@`Z*vIhzq zsbp`9o8Tu9FI0ts+QW z*%yK0+T6Q?ZUyiHa`-K|k~x(O^@%AY5N!4DSf3=n&@RwUS!aUXVV$c4AS59!&_?Wj zR_-H!N=gRaQqPK(UF~CT4q#?5fj9gzQKsjlV zJB0v7sfBPbvVMEqI@tG{4;Ryiryto{)Zfevwb$kv#$aFH+LKX@_V_QcRirruneD;o zNG(1%cOdvJ(>ftCvz36KP>FJpcqXO>*(fWd2H7Mlaq6DuPP|HgD)1(-;7+Ualm4N-KXqS#_thbd6q$%6mmh@lNPtL;di8=l*Yx0%7!gn4;}## zq^^Nmo_;-1A^5?XA)+lN1FvY_1qq36z*?XTACSa~^eopT zBiVhLL&CS1^v7aD(x#lz4+7^K1ol`omObe8w=w_uglH*on+wBP#u z6P1x`lsGxdOtkC^Ot^@*W}WWRwAN{bSV3yA%yKFf2Tig{)8ZKvXoE`0Ym_o!7;Qyo zM0_<4D!J}z9fKW$w)-rhAYp349ia%gwFBQ!TNfV(zR|Ct$;Q4F0BSIna!qjG?zsYv#q-I6ypDtELv9G?W9$$v|tpUxAx)mKZ%hh`$ z@jaifXH!#C&BNw9prBd-ybgcgulzj@kDgGIUmqWT5k+6fM^~nTT_hs@)}&dVw+zLx zHR(YWGM8?qgm`}OQ#p8Lwbt#Q0Js&!DckYm}M|n)d z9HrAup4uXI2HSP)~#zvt|!s|69EWn4;P=Pm|qGSn#xEDmd{Ze!PG);)K-ydTgQRVB(| z*Ko}4-VoW82o;baaUKjD9W$~Y`%|4@gq)2-sT6mZ^gW^pH2xw$nFfB@HBB!~>615(c{_|WsBJ2U34 zD$l8Pt(H-S-Iur#bJT51Qn{mjw;+r^5j&nxRsL+Y0a*E^njDs2$&Z(ly+t_Yi;f^w z@gfCcrchXd14)0)3H?yPuV@=xmgV>(GK9vPNCY?H<@vy|LaC;Bg8ri!9+m_9j|#g- zP@XawGNh(fT6Y~Dv+Ob$7&fprNyI%~tk35iP3JE24G1+dgB6y@GAxGwiRR8Df|Jua zalbfC!f2BLs6)fW)P|5AR6HEnMA8`z6d{3R{#Y|BFSjGCZvq&19>iE8 z7dUR@Nk5Hry`=E86pJI~gg|utUCSd>9`IkeQkL$PYc}lUk;PRta3Im2C&PwJ zU>dC<@P>NIh)h0~UFe$T$1E{jZ3%ao?*|pdDt>%+IX}|R%m{KUKC7$NRSH}c@}d@j zNheZ$p6wR$5*1nV1+4Rw#fg_?9M)88)V(*TCrM{k6J$rITr4m23EoF|?A<>RujY;O zAFyBS;ITxkv+q~l+93pe{jvNyOOfsQc*JL*v|X;w&OoZ3hgK{KUUa>ULvlm%`gnE2 zA#1&x;v-F!xBT{@nz>zXYP7ahQ~2=_USbnV6#eC`u+v+x)5dE8ce!yxbE(FjcG|Zp zDb|kPVoq>W!AjL!6A}MFdV$0+wx(z&PKuxC#&tPQH99nmh9$S7cYYnZnobY@*B1un zt>9cAtc&rTdc-LgGzB5elfo9q!Nn=JaBu zQPvcEtb#am-2_Ru-p^U&hlh>raeu6Qt)~(nqFiqGw8+wU ztv10w%pNElC}d-8eSDpu>{OOy&t30$P4E?-%*@s5^xTGrSEloG)nt_!_$Y z!9UmT(27j7%X(Wx&GssMIWXOdmd{&Z#cLEBcYx$KTx6)hKOhkeK}vjtWiKkDk2)kE zqjgyEE{%ixjoJZb$T^!hdZ$;YP-WVn%RrKaxHA4WOzVjdmw`V#y~u=S+#2r zyKB%j?ld{@4WmDDff=4v!A(8st24BH2H zl;B7CE3ABjPaAfwZsf;r-RxEMwh$ZLXx$TSi-$$}eW2zZ?Nf+`UXmWxmQUC<0w?~gZJ$e^s<0ZFAC*`QU&q~&e@8AtCXG$)=lo}520VMOZTum zL_&vSE?{g^^jxpg6;>AV@yc}nk7llmI17u*j|CX&cL+`5Bc!ik!;cZ1sfU1#2~1CBlBX*VN8B{-EG^3w z(8rUS3H;R1#X4+e16wyOtXfnQln15r#AYu6j7CMC>URu}OHigt{3jD^d%vQesEgAT zt>VfX(%Qru*FXHN=v%qAaY=mTz3wh6^t!Fsl$hHkGzt-wq*nKMT?k45qXHswRi20? z7yX;6VS*mQ?xt;5NG8*SwvCWRHEu_#0;7yn#gsEed=cTzWP#DLYr}p%VVSi#cU%2K z#6qH&-SL=Jf&(UoJKY!kUN|md88>Yx9~jd^6S@1{5w|d$kd^{^`$0s=w(<)io!L6{4f^e~0dw!JUEO_fB$uMDfB zmgesh+mewu96OIr51%?y_M&1ZNJawz~%=Do{Tp%3K`N} zUjmI@u)(|cKI%ZU$WJUd@kEv5VS!<%GkOYgBm~9hsM#Ry&@0P=&4DnmC#PqsK+^4V zUwcK(eOJ76WTOQ^7jTE{#8DPLYqq~34h(smL%1|TnwKGU8_@Vs57x9cEY3F)wg;bA z-RbIg9SlodKnWPpSY)*@Q+|?D_Ud6u``SM;g(a{NaDd^OjL}9=Zv?E zvt%`G8R?wkpSdh4J)Vh}LiZ%voh7Ge4Jwun?HTmY<8wI+OBt#OQMQks7y$;U_4TC@ zA{VOMfp6W5PPs{dys-i>`6}ihY%x4me)4$Vu*`tC7_f1w&KEmPdmP*%{jQX|t?}#z zH9nd-k3y+bunc->5iaH6}TN6x{z?YwsHggHzaN>=mIQN;-J4Jh!jo zcn4#B`cwGKDv!)gU|IaLS4$oSCY?;n4lY_qn2_)wt;V)r4z(`G!1_*TFyp`Pc?aykXh9*Mq209tZeccwhlot`2&~tgql#O9nLw0OzCN(3;oia zLXij!sy7F#HlE=adG8cY?Qw5~xnWjJII21KEIqBeb=4a!nq!u>6oQ#wLp+z?ZcqDf z-^WwN>YEM?b?m&c0pd%xm%cOpdX=Ejay}El!NF{XYGn{QX`@>`kpFd9&4y zrEWfU9U=RmVk1pIbdhtfRTR2yZel~Yi%s82CknZS9Xtte1Z@_iOReT~H4q7UB7Q0` zw=~fB>T+2eWyy_zn#b}Xl z#)G8_%b^}Bmi?L4y*=EgwrFnu$+huL>v>yczY(9DCVda7+G+>J*8gW(FppnZE2jv$ zwgYZn+uOo&$e4R~!7gAP1WgwG-D6Q-}QS#LGF|dMnxkQ2( ziCZLHqo9Rqp<3@`Q%{&jvto;#(;3#bbT|o?{pgyC`sP35KTL~}v|6$xXdg$E2-q$6 zJ9uZOdJq3luIX;K1SX;mpGvMa+R&HGDh;~uf`fW2@BZ={H3_a09~|2aeI7(mY9l)_ z`wwGssX+G-QM&KJ5$%!*Hq6s8sRR~p5Ua=IHPE;VgFH%3X2-l0Tr(p2!sY7SmbI&J zeRKa@tk5irY$@COc-qPZ`0-Y1gHtsfUK^H#Aif(31VtU81Q_39FPU-<7;<>Zc&Hw88dcKGN zV&IpfTxP>=1jSU(-hra0ypPwj8sG?Uu?Jv^$;Y$xk6_5T^@Q;D(6jgfw*C1$N!V{c zI(LaP~v_*TRFj zE7{aaAP+H_H_@T~FKslgFLF~Sm)%0AY#P*i1#4E=f;-P*B+d&zUY_Ln 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%0DZG7FYcwoQkvC&R+ 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 z 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

OV4O#`Zv6hAmEeQ>sMGQv(&qJGrz2p8xtIjW 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�?w|(GQc&Rf1QI6|4vS}D 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�K8s_d=>&vm>3O_k;d= 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 Y|qnb4J7n$EC^km*-Bd^N70Q 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

!30X) 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
U5Ts~wz-yD7O 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 diff --git a/src/public/FormSG_Script_v1-4.xlsm b/src/public/FormSG_Script_v1-4.xlsm deleted file mode 100644 index 815511cf6e4acc3e5971a47db480431610e61d05..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150822 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 i;J?a?3f?#A-bpU*OAp~Fy>VE*g3GRyk diff --git a/src/public/main.css b/src/public/main.css deleted file mode 100644 index 9846d5e881..0000000000 --- a/src/public/main.css +++ /dev/null @@ -1,54 +0,0 @@ -@import './styles/angular-csp.css'; -@import './styles/ui-bootstrap-csp.css'; -@import './../../node_modules/ng-table/bundles/ng-table.min.css'; -@import './../../node_modules/ui-select/dist/select.min.css'; -@import './../../node_modules/toastr/build/toastr.min.css'; -@import './../../node_modules/css-toggle-switch/dist/toggle-switch.css'; -@import './../../node_modules/font-awesome/css/font-awesome.min.css'; -@import './../../node_modules/boxicons/css/boxicons.min.css'; -@import './../../node_modules/bootstrap/dist/css/bootstrap.min.css'; -@import './../../node_modules/selectize/dist/css/selectize.css'; -@import './../../node_modules/slick-carousel/slick/slick.css'; -@import './../../node_modules/slick-carousel/slick/slick-theme.css'; -@import './../../node_modules/intl-tel-input/build/css/intlTelInput.css'; -@import './modules/core/css/core.css'; -@import './modules/core/css/navbar.css'; -@import './modules/core/css/avatar-dropdown.css'; -@import './modules/core/css/edit-contact-number-modal.css'; -@import './modules/core/css/admin-form-header.css'; -@import './modules/core/css/sg-govt-banner.css'; -@import './modules/core/css/toolset-dropdown.css'; -@import './modules/core/css/footer.css'; -@import './modules/core/css/landing.css'; -@import './modules/core/css/banner.css'; -@import './modules/core/css/how-it-works.css'; -@import './modules/forms/admin/css/pop-up-modal.css'; -@import './modules/forms/admin/css/edit-form.css'; -@import './modules/forms/admin/css/export-button.css'; -@import './modules/forms/admin/css/form-title-input.css'; -@import './modules/forms/admin/css/form-emails-input.css'; -@import './modules/forms/admin/css/edit-logic.css'; -@import './modules/forms/admin/css/settings-form.css'; -@import './modules/forms/admin/css/create-form.css'; -@import './modules/forms/admin/css/share-form.css'; -@import './modules/forms/admin/css/results-panel.css'; -@import './modules/forms/admin/css/view-feedback.css'; -@import './modules/forms/admin/css/view-responses.css'; -@import './modules/forms/admin/css/list-forms.css'; -@import './modules/forms/admin/css/configure-form.css'; -@import './modules/forms/admin/css/daterangepicker.css'; -@import './modules/forms/base/css/base-form.css'; -@import './modules/forms/base/css/error-page.css'; -@import './modules/forms/base/css/start-end-page.css'; -@import './modules/forms/base/css/feedback-form.css'; -@import './modules/forms/base/css/color-theme.css'; -@import './modules/forms/base/css/form-field.css'; -@import './modules/forms/base/css/form.css'; -@import './modules/forms/base/css/datepicker.css'; -@import './modules/forms/base/css/verifiable-field.css'; -@import './modules/forms/base/css/end-page.css'; -@import './modules/users/css/sign-in.css'; -@import './modules/users/css/examples-list.css'; -@import './modules/users/css/examples-card.css'; -@import './modules/users/css/privacy-tou.css'; -@import './modules/users/css/billing.css'; diff --git a/src/public/main.js b/src/public/main.js deleted file mode 100644 index 8b8341b9fc..0000000000 --- a/src/public/main.js +++ /dev/null @@ -1,738 +0,0 @@ -'use strict' - -require('./polyfills') - -const Sentry = require('@sentry/browser') -const { Angular: AngularIntegration } = require('@sentry/integrations') - -// Define module dependencies (without ngSentry) -const moduleDependencies = [ - 'ui.select', - 'ngAnimate', - 'ngSanitize', - 'ngResource', - 'ui.router', - 'ui.bootstrap', - 'vcRecaptcha', - 'users', - 'ngFileUpload', - 'ng-sortable', - 'ngclipboard', - 'ngCookies', - 'core', - 'ngTable', - 'infinite-scroll', - 'ngIntlTelInput', - 'ngAria', - 'ngMessages', - 'daterangepicker', - 'pascalprecht.translate', -] -// NPM Libs -window.jQuery = require('jquery/dist/jquery') -window.$ = window.jQuery -const angular = require('angular') - -// Sentry.io SDK -// Docs: https://docs.sentry.io/platforms/javascript/guides/angular/angular1/ -if (window.sentryConfigUrl) { - Sentry.init({ - dsn: window.sentryConfigUrl, - integrations: [new AngularIntegration()], - }) - moduleDependencies.push('ngSentry') -} - -require('angular-translate') -require('angular-translate-loader-partial') - -require('angular-aria') -require('angular-animate') -require('angular-cookies') -require('angular-drag-scroll/src/ng-drag-scroll') -require('angular-permission/dist/angular-permission') -require('@opengovsg/angular-recaptcha-fallback') -require('angular-resource') -require('angular-sanitize') -require('angular-messages') - -require('angular-ui-bootstrap') -require('angular-ui-router') - -require('@opengovsg/angular-legacy-sortablejs-maintained') - -require('ui-select') - -require('@opengovsg/ng-file-upload') - -require('ngclipboard') - -require('ng-table/bundles/ng-table.min') - -require('slick-carousel') -require('ng-infinite-scroll') - -// For mobile number field -require('intl-tel-input/build/js/utils.js') -require('intl-tel-input/build/js/intlTelInput.js') - -// For daterangepicker -require('@opengovsg/angular-daterangepicker-webpack') - -const appName = 'FormSG' -// Add module dependencies -const app = angular.module(appName, moduleDependencies) - -// Setting HTML5 Location Mode -angular.module(appName).config([ - '$locationProvider', - function ($locationProvider) { - $locationProvider.hashPrefix('!') - }, -]) - -angular.module(appName).config([ - '$translateProvider', - '$translatePartialLoaderProvider', - // eslint-disable-next-line no-unused-vars - function ($translateProvider, $translatePartialLoaderProvider) { - $translateProvider - .useLoader('$translatePartialLoader', { - urlTemplate: 'public/translations/{lang}/{part}.json', - }) - .preferredLanguage('en-SG') - .fallbackLanguage('en-SG') - - $translateProvider.useSanitizeValueStrategy('sanitize') - }, -]) - -// Disable ngAria automatically injecting tabindex=0 -angular.module(appName).config([ - '$ariaProvider', - function ($ariaProvider) { - $ariaProvider.config({ tabindex: false }) - }, -]) - -// Declare AngularJS modules -angular.module('core', []) -angular.module('forms', []) -angular.module('users', []) -angular.module('ngIntlTelInput', []) - -app.requires.push('core') -app.requires.push('forms') -app.requires.push('users') -app.requires.push('ngIntlTelInput') - -/** - * Core module - */ - -// Core services -require('./modules/core/services/gtag.client.service.js') - -// Core controllers -require('./modules/core/controllers/landing.client.controller.js') -require('./modules/core/controllers/edit-contact-number-modal.client.controller') - -// Core directives -require('./modules/core/directives/on-click-outside.client.directive') -require('./modules/core/directives/route-loading-indicator.client.directive.js') - -// Core config -require('./modules/core/config/core.client.routes.js') - -// Core components -require('./modules/core/components/navbar.client.component.js') -require('./modules/core/components/avatar-dropdown.client.component') -require('./modules/core/components/banner.client.component.js') -require('./modules/core/components/sg-govt-banner.client.component.js') -require('./modules/core/components/footer.client.component.js') -require('./modules/core/components/toolset-dropdown.client.component.js') - -/** - * Forms module - */ -// forms admin controllers -require('./modules/forms/admin/controllers/admin-form.client.controller.js') -require('./modules/forms/admin/controllers/list-forms.client.controller.js') -require('./modules/forms/admin/controllers/create-form-modal.client.controller.js') -require('./modules/forms/admin/controllers/activate-form-modal.client.controller.js') -require('./modules/forms/admin/controllers/results-panel.client.controller.js') -require('./modules/forms/admin/controllers/view-responses.client.controller.js') -require('./modules/forms/admin/controllers/mobile-edit-fields-modal.client.controller.js') -require('./modules/forms/admin/controllers/edit-fields-modal.client.controller.js') -require('./modules/forms/admin/controllers/edit-end-page-modal.client.controller.js') -require('./modules/forms/admin/controllers/edit-start-page-modal.client.controller.js') -require('./modules/forms/admin/controllers/edit-myinfo-field-modal.client.controller.js') -require('./modules/forms/admin/controllers/delete-field-warning-modal.client.controller.js') -require('./modules/forms/admin/controllers/delete-form-modal.client.controller.js') -require('./modules/forms/admin/controllers/edit-logic-modal.client.controller.js') -require('./modules/forms/admin/controllers/pop-up-modal.client.controller.js') - -// forms admin directives -require('./modules/forms/admin/directives/settings-form.client.directive.js') -require('./modules/forms/admin/directives/validate-form-emails-input.directive.js') -require('./modules/forms/admin/directives/edit-form.client.directive.js') -require('./modules/forms/admin/directives/is-verifiable-save-interceptor.directive.js') -require('./modules/forms/admin/directives/validate-email-domain-from-text.directive.js') -require('./modules/forms/admin/directives/view-feedback.client.directive.js') -require('./modules/forms/admin/directives/configure-form.client.directive.js') -require('./modules/forms/admin/directives/configure-mobile.client.directive.js') -require('./modules/forms/admin/directives/verify-secret-key.client.directive.js') -require('./modules/forms/admin/directives/daterangepicker.client.directive.js') -require('./modules/forms/admin/directives/edit-captcha.client.directive.js') -require('./modules/forms/admin/controllers/create-form-template-modal.client.controller.js') -require('./modules/forms/admin/controllers/collaborator-modal.client.controller.js') - -// forms admin components -require('./modules/forms/admin/components/share-form.client.component.js') -require('./modules/forms/admin/components/edit-logic.client.component.js') -require('./modules/forms/admin/components/export-button.client.component.js') -require('./modules/forms/admin/components/form-title-input.client.component.js') -require('./modules/forms/admin/components/form-emails-input.client.component.js') - -// response components -require('./modules/forms/admin/components/response-components/response.client.component.js') -require('./modules/forms/admin/components/response-components/response-title.client.component.js') -require('./modules/forms/admin/components/response-components/response-answer.client.component.js') -require('./modules/forms/admin/components/response-components/response-answer-array.client.component.js') -require('./modules/forms/admin/components/response-components/response-attachment.client.component.js') -require('./modules/forms/admin/components/response-components/response-table.client.component.js') - -// forms base controllers -require('./modules/forms/base/controllers/submit-form.client.controller.js') -require('./modules/forms/base/controllers/error-page.client.controller.js') - -// forms base components -require('./modules/forms/base/components/field.error.component.js') -require('./modules/forms/base/components/end-page.client.component.js') -require('./modules/forms/base/components/field-icon.client.component.js') -require('./modules/forms/base/components/feedback-form.client.component.js') -require('./modules/forms/base/components/start-page.client.component.js') -require('./modules/forms/base/components/verifiable-field.client.component.js') -require('./modules/forms/base/components/field-dropdown.client.component.js') -require('./modules/forms/base/components/field-attachment.client.component.js') -require('./modules/forms/base/components/field-decimal.client.component.js') -require('./modules/forms/base/components/field-textfield.client.component.js') -require('./modules/forms/base/components/field-email.client.component.js') -require('./modules/forms/base/components/field-date.client.component.js') -require('./modules/forms/base/components/field-yes-no.client.component.js') -require('./modules/forms/base/components/field-radiobutton.client.component.js') -require('./modules/forms/base/components/field-checkbox.client.component.js') -require('./modules/forms/base/components/field-table.client.component.js') -require('./modules/forms/base/components/field-image.client.component.js') -require('./modules/forms/base/components/field-mobile.client.component.js') -require('./modules/forms/base/components/field-homeno.client.component.js') -require('./modules/forms/base/components/field-nric.client.component.js') -require('./modules/forms/base/components/field-number.client.component.js') -require('./modules/forms/base/components/field-rating.client.component.js') -require('./modules/forms/base/components/field-section.client.component.js') -require('./modules/forms/base/components/field-statement.client.component.js') -require('./modules/forms/base/components/field-uen.client.component.js') -require('./modules/forms/base/components/field-textarea.client.component.js') - -// forms base directives -require('./modules/forms/base/directives/field.client.directive.js') -require('./modules/forms/base/directives/iframe-onload.client.directive.js') -require('./modules/forms/base/directives/rating-stars.client.directive.js') -require('./modules/forms/base/directives/validate-checkbox.client.directive.js') -require('./modules/forms/base/directives/validate-email-domain.client.directive.js') -require('./modules/forms/base/directives/validate-email-format.client.directive.js') -require('./modules/forms/base/directives/validate-nric.client.directive.js') -require('./modules/forms/base/directives/validate-uen.client.directive.js') -require('./modules/forms/base/directives/validate-url.client.directive.js') -require('./modules/forms/base/directives/ng-intl-tel-input.js') -require('./modules/forms/base/directives/submit-form.directive.js') - -// forms config -require('./modules/forms/config/forms.client.config.js') -require('./modules/forms/config/forms.client.routes.js') - -// forms services -require('./modules/forms/services/form-fields.client.service.js') -require('./modules/forms/services/form-api.client.factory.js') -require('./modules/forms/services/form-error.client.factory.js') -require('./modules/forms/services/spcp-session.client.factory.js') -require('./modules/forms/services/submissions.client.factory.js') -require('./modules/forms/services/toastr.client.factory.js') -require('./modules/forms/services/attachment.client.service.js') -require('./modules/forms/services/captcha.client.service.js') -require('./modules/forms/services/mailto.client.factory.js') - -/** - * Users module - */ - -// User configuration -require('./modules/users/config/users.client.config.js') -require('./modules/users/config/users.client.routes.js') - -// User controllers -require('./modules/users/controllers/authentication.client.controller.js') -require('./modules/users/controllers/billing.client.controller.js') -require('./modules/users/controllers/examples-list.client.controller.js') - -// User directives -require('./modules/users/controllers/examples-card.client.directive.js') - -// Configuration for mobile phone numbers -angular.module(appName).config([ - 'ngIntlTelInputProvider', - function (ngIntlTelInputProvider) { - ngIntlTelInputProvider.set({ - initialCountry: 'sg', - preferredCountries: ['sg'], - }) - }, -]) - -/** - * Initialise the AngularJS app. - * @param {[Object]} $templateCache - */ -app.run([ - '$templateCache', - '$state', - '$translate', - '$translatePartialLoader', - function ($templateCache, $state, $translate, $translatePartialLoader) { - // Init main translation file for links throughout the application. - $translatePartialLoader.addPart('main') - $translate.refresh() - - // Use AngularJS $templateCache service to cache all forms - // Core - $templateCache.put( - 'modules/core/componentViews/navbar.html', - require('./modules/core/componentViews/navbar.html'), - ) - - $templateCache.put( - 'modules/core/componentViews/avatar-dropdown.html', - require('./modules/core/componentViews/avatar-dropdown.html'), - ) - - $templateCache.put( - 'modules/core/componentViews/banner.html', - require('./modules/core/componentViews/banner.html'), - ) - $templateCache.put( - 'modules/core/componentViews/sg-govt-banner.html', - require('./modules/core/componentViews/sg-govt-banner.html'), - ) - $templateCache.put( - 'modules/core/componentViews/footer.html', - require('./modules/core/componentViews/footer.html'), - ) - $templateCache.put( - 'modules/core/componentViews/toolset-dropdown.html', - require('./modules/core/componentViews/toolset-dropdown.html'), - ) - - // Core views - $templateCache.put( - 'modules/core/views/landing.client.view.html', - require('./modules/core/views/landing.client.view.html'), - ) - - $templateCache.put( - 'modules/core/views/edit-contact-number-modal.view.html', - require('./modules/core/views/edit-contact-number-modal.view.html'), - ) - - // Forms module - - // Forms admin componentViews - $templateCache.put( - 'modules/forms/admin/componentViews/share-form.client.view.html', - require('./modules/forms/admin/componentViews/share-form.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/componentViews/edit-logic.client.view.html', - require('./modules/forms/admin/componentViews/edit-logic.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/componentViews/export-button.client.view.html', - require('./modules/forms/admin/componentViews/export-button.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/componentViews/form-title-input.client.view.html', - require('./modules/forms/admin/componentViews/form-title-input.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/componentViews/form-emails-input.client.view.html', - require('./modules/forms/admin/componentViews/form-emails-input.client.view.html'), - ) - - // Response component views - $templateCache.put( - 'modules/forms/admin/componentViews/response-views/response.client.view.html', - require('./modules/forms/admin/componentViews/response-views/response.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/componentViews/response-views/response-title.client.view.html', - require('./modules/forms/admin/componentViews/response-views/response-title.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/componentViews/response-views/response-table.client.view.html', - require('./modules/forms/admin/componentViews/response-views/response-table.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/componentViews/response-views/response-attachment.client.view.html', - require('./modules/forms/admin/componentViews/response-views/response-attachment.client.view.html'), - ) - - // Forms admin directiveViews - $templateCache.put( - 'modules/forms/admin/directiveViews/settings-form.client.view.html', - require('./modules/forms/admin/directiveViews/settings-form.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/edit-form.client.view.html', - require('./modules/forms/admin/directiveViews/edit-form.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/view-feedback.client.view.html', - require('./modules/forms/admin/directiveViews/view-feedback.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/configure-form.client.view.html', - require('./modules/forms/admin/directiveViews/configure-form.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/configure-mobile.client.view.html', - require('./modules/forms/admin/directiveViews/configure-mobile.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/verify-secret-key.client.view.html', - require('./modules/forms/admin/directiveViews/verify-secret-key.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/verify-secret-key-activation.client.view.html', - require('./modules/forms/admin/directiveViews/verify-secret-key-activation.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/daterangepicker.client.view.html', - require('./modules/forms/admin/directiveViews/daterangepicker.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/directiveViews/edit-captcha.client.view.html', - require('./modules/forms/admin/directiveViews/edit-captcha.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/directiveViews/submit-form.directive.view.html', - require('./modules/forms/base/directiveViews/submit-form.directive.view.html'), - ) - - // Forms admin views - $templateCache.put( - 'modules/forms/admin/views/view-responses.client.view.html', - require('./modules/forms/admin/views/view-responses.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/admin-form.client.view.html', - require('./modules/forms/admin/views/admin-form.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/edit-start-page.client.modal.html', - require('./modules/forms/admin/views/edit-start-page.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/edit-end-page.client.modal.html', - require('./modules/forms/admin/views/edit-end-page.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/edit-myinfo-field.client.modal.html', - require('./modules/forms/admin/views/edit-myinfo-field.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/list-forms.client.view.html', - require('./modules/forms/admin/views/list-forms.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/results-panel.client.view.html', - require('./modules/forms/admin/views/results-panel.client.view.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/pop-up.client.modal.html', - require('./modules/forms/admin/views/pop-up.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/create-form.client.modal.html', - require('./modules/forms/admin/views/create-form.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/delete-form.client.modal.html', - require('./modules/forms/admin/views/delete-form.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/mobile-edit-fields.client.modal.html', - require('./modules/forms/admin/views/mobile-edit-fields.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/edit-fields.client.modal.html', - require('./modules/forms/admin/views/edit-fields.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/delete-field-warning.client.modal.html', - require('./modules/forms/admin/views/delete-field-warning.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/edit-logic.client.modal.html', - require('./modules/forms/admin/views/edit-logic.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/activate-form.client.modal.html', - require('./modules/forms/admin/views/activate-form.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/decrypt-progress.client.modal.html', - require('./modules/forms/admin/views/decrypt-progress.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/download-all-attachments.client.modal.html', - require('./modules/forms/admin/views/download-all-attachments.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/create-form-template.client.modal.html', - require('./modules/forms/admin/views/create-form-template.client.modal.html'), - ) - $templateCache.put( - 'modules/forms/admin/views/collaborator.client.modal.html', - require('./modules/forms/admin/views/collaborator.client.modal.html'), - ) - - // Forms base componentViews - $templateCache.put( - 'modules/forms/base/componentViews/fieldError.html', - require('./modules/forms/base/componentViews/fieldError.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/feedback-form.client.view.html', - require('./modules/forms/base/componentViews/feedback-form.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/end-page.html', - require('./modules/forms/base/componentViews/end-page.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/start-page.html', - require('./modules/forms/base/componentViews/start-page.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/verifiable-field.html', - require('./modules/forms/base/componentViews/verifiable-field.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-dropdown.client.view.html', - require('./modules/forms/base/componentViews/field-dropdown.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-attachment.client.view.html', - require('./modules/forms/base/componentViews/field-attachment.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-decimal.client.view.html', - require('./modules/forms/base/componentViews/field-decimal.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-textfield.client.view.html', - require('./modules/forms/base/componentViews/field-textfield.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-email.client.view.html', - require('./modules/forms/base/componentViews/field-email.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-date.client.view.html', - require('./modules/forms/base/componentViews/field-date.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-yes-no.client.view.html', - require('./modules/forms/base/componentViews/field-yes-no.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-radiobutton.client.view.html', - require('./modules/forms/base/componentViews/field-radiobutton.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-checkbox.client.view.html', - require('./modules/forms/base/componentViews/field-checkbox.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-table.client.view.html', - require('./modules/forms/base/componentViews/field-table.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-image.client.view.html', - require('./modules/forms/base/componentViews/field-image.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-mobile.client.view.html', - require('./modules/forms/base/componentViews/field-mobile.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-homeno.client.view.html', - require('./modules/forms/base/componentViews/field-homeno.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-nric.client.view.html', - require('./modules/forms/base/componentViews/field-nric.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-number.client.view.html', - require('./modules/forms/base/componentViews/field-number.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-rating.client.view.html', - require('./modules/forms/base/componentViews/field-rating.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-section.client.view.html', - require('./modules/forms/base/componentViews/field-section.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-statement.client.view.html', - require('./modules/forms/base/componentViews/field-statement.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-textarea.client.view.html', - require('./modules/forms/base/componentViews/field-textarea.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/componentViews/field-uen.client.view.html', - require('./modules/forms/base/componentViews/field-uen.client.view.html'), - ) - - // Forms base directiveViews - $templateCache.put( - 'modules/forms/base/directiveViews/datepicker.html', - require('./modules/forms/base/directiveViews/datepicker.html'), - ) - $templateCache.put( - 'modules/forms/base/directiveViews/datepicker-day.html', - require('./modules/forms/base/directiveViews/datepicker-day.html'), - ) - $templateCache.put( - 'modules/forms/base/directiveViews/datepicker-month.html', - require('./modules/forms/base/directiveViews/datepicker-month.html'), - ) - $templateCache.put( - 'modules/forms/base/directiveViews/datepicker-year.html', - require('./modules/forms/base/directiveViews/datepicker-year.html'), - ) - $templateCache.put( - 'modules/forms/base/directiveViews/datepicker-popup.html', - require('./modules/forms/base/directiveViews/datepicker-popup.html'), - ) - - $templateCache.put( - 'modules/forms/base/directiveViews/input-stars.html', - require('./modules/forms/base/directiveViews/input-stars.html'), - ) - $templateCache.put( - 'modules/forms/base/directiveViews/field.client.directive.view.html', - require('./modules/forms/base/directiveViews/field.client.directive.view.html'), - ) - - // Forms base views - $templateCache.put( - 'modules/forms/base/views/submit-form.client.view.html', - require('./modules/forms/base/views/submit-form.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/views/error-page.client.view.html', - require('./modules/forms/base/views/error-page.client.view.html'), - ) - $templateCache.put( - 'modules/forms/base/views/submit-progress.client.modal.html', - require('./modules/forms/base/views/submit-progress.client.modal.html'), - ) - - // Users module - - // Users views - $templateCache.put( - 'modules/users/views/authentication/signin.client.view.html', - require('./modules/users/views/authentication/signin.client.view.html'), - ) - $templateCache.put( - 'modules/users/views/static/terms.client.view.html', - require('./modules/users/views/static/terms.client.view.html'), - ) - $templateCache.put( - 'modules/users/views/static/privacy.client.view.html', - require('./modules/users/views/static/privacy.client.view.html'), - ) - $templateCache.put( - 'modules/users/views/billing.client.view.html', - require('./modules/users/views/billing.client.view.html'), - ) - $templateCache.put( - 'modules/users/views/examples.client.view.html', - require('./modules/users/views/examples-list.client.view.html'), - ) - $templateCache.put( - 'modules/users/views/examples-card.client.view.html', - require('./modules/users/views/examples-card.client.view.html'), - ) - - // Use ui-router's $state service for transition error handling - $state.defaultErrorHandler(function (error) { - /* - The type of the rejection. - RejectType.SUPERSEDED (2) - RejectType.ABORTED (3) - RejectType.INVALID (4) - RejectType.IGNORED (5) - RejectType.ERROR (6) - */ - // Swallow superseded transitions as we use $state.go('error') when forms cannot be resolved - if (error.type !== 2) { - console.error(error) - } - }) - }, -]) - -// Prevent route navigation when a modal is open -app.run([ - '$rootScope', - '$uibModalStack', - function ($rootScope, $uibModalStack) { - $rootScope.$on('$locationChangeStart', (event, newUrl, oldUrl) => { - const splitPath = oldUrl.split(location.host) - if (splitPath.length > 1 && splitPath[1] === '/#!/signin') { - return - } - - if ($uibModalStack.getTop()) { - event.preventDefault() - } - }) - }, -]) - -/* Constants */ -angular - .module('forms') - .constant('emoji', { - getUrlFromScore: (score) => { - // Ensure index is from 0-4 - if (!score) { - return null - } - let emojiIndex = Math.max(0, Math.round(score) - 1) - emojiIndex = Math.min(emojiIndex, 4) - let emojiFace = ['angry', 'sad', 'neutral', 'ok', 'happy'][emojiIndex] - return `/public/modules/core/img/smileys/${emojiFace}.svg` - }, - }) - .constant('responseModeEnum', { ENCRYPT: 'encrypt', EMAIL: 'email' }) - .constant('prefill', { - QUERY_ID: 'queryId', - STORED_QUERY: 'storedQuery', - }) diff --git a/src/public/modules/core/componentViews/avatar-dropdown.html b/src/public/modules/core/componentViews/avatar-dropdown.html deleted file mode 100644 index 31b471699d..0000000000 --- a/src/public/modules/core/componentViews/avatar-dropdown.html +++ /dev/null @@ -1,75 +0,0 @@ -

diff --git a/src/public/modules/core/componentViews/banner.html b/src/public/modules/core/componentViews/banner.html deleted file mode 100644 index 09c2f8dfc4..0000000000 --- a/src/public/modules/core/componentViews/banner.html +++ /dev/null @@ -1,16 +0,0 @@ - diff --git a/src/public/modules/core/componentViews/footer.html b/src/public/modules/core/componentViews/footer.html deleted file mode 100644 index 44e265226f..0000000000 --- a/src/public/modules/core/componentViews/footer.html +++ /dev/null @@ -1,117 +0,0 @@ -
diff --git a/src/public/modules/core/componentViews/navbar.html b/src/public/modules/core/componentViews/navbar.html deleted file mode 100755 index 7535745053..0000000000 --- a/src/public/modules/core/componentViews/navbar.html +++ /dev/null @@ -1,46 +0,0 @@ - diff --git a/src/public/modules/core/componentViews/sg-govt-banner.html b/src/public/modules/core/componentViews/sg-govt-banner.html deleted file mode 100644 index 3cd8b73b0b..0000000000 --- a/src/public/modules/core/componentViews/sg-govt-banner.html +++ /dev/null @@ -1,12 +0,0 @@ - diff --git a/src/public/modules/core/componentViews/toolset-dropdown.html b/src/public/modules/core/componentViews/toolset-dropdown.html deleted file mode 100644 index ddba03050f..0000000000 --- a/src/public/modules/core/componentViews/toolset-dropdown.html +++ /dev/null @@ -1,30 +0,0 @@ -
- -
- -
-
diff --git a/src/public/modules/core/components/avatar-dropdown.client.component.js b/src/public/modules/core/components/avatar-dropdown.client.component.js deleted file mode 100644 index 250095bef2..0000000000 --- a/src/public/modules/core/components/avatar-dropdown.client.component.js +++ /dev/null @@ -1,135 +0,0 @@ -const get = require('lodash/get') - -const AuthService = require('../../../services/AuthService') -const UserService = require('../../../services/UserService') - -angular.module('core').component('avatarDropdownComponent', { - templateUrl: 'modules/core/componentViews/avatar-dropdown.html', - bindings: {}, - controller: [ - '$q', - '$scope', - '$state', - '$uibModal', - '$window', - 'Toastr', - avatarDropdownController, - ], - controllerAs: 'vm', -}) - -function avatarDropdownController( - $q, - $scope, - $state, - $uibModal, - $window, - Toastr, -) { - const vm = this - - // Preload user with current details, redirect to signin if unable to get user - vm.user = UserService.getUserFromLocalStorage() || $state.go('signin') - vm.avatarText = generateAvatarText() - - vm.isDropdownHover = false - vm.isDropdownFocused = false - - // Attempt to retrieve the most updated user. - retrieveUser() - - async function retrieveUser() { - try { - const trueUser = await UserService.fetchUser() - .then((user) => { - UserService.saveUserToLocalStorage(user) - return user - }) - .catch(() => { - UserService.clearUserFromLocalStorage() - return null - }) - - if (!trueUser) { - $state.go('signin') - return - } - - vm.user = trueUser - - // Early return if user already has contact information. - if (trueUser.contact) return - - // Only show exclamation mark in avatar if sms feature is enabled. - vm.showExclamation = !vm.user.contact - - // If retrieved user does not have contact, prompt user to add one. - // If user has the key in the browser's storage the modal will not be - // shown. - const hasBeenDismissed = $window.localStorage.getItem( - 'contactBannerDismissed', - ) - if (!hasBeenDismissed) { - vm.openContactNumberModal() - } - } catch (err) { - Toastr.error(err) - } - } - - vm.isDropdownOpen = false - - $scope.$watchGroup( - ['vm.isDropdownHover', 'vm.isDropdownFocused'], - function (newValues) { - vm.isDropdownOpen = newValues[0] || newValues[1] - }, - ) - - vm.logout = () => { - return $q - .when(AuthService.logout()) - .then(() => { - // Clear user and contact banner on logout - UserService.clearUserFromLocalStorage() - $window.localStorage.removeItem('contactBannerDismissed') - // Redirect to landing page - $state.go('landing') - }) - .catch((error) => { - console.error('sign out failed:', error) - }) - } - - vm.openContactNumberModal = () => { - $uibModal - .open({ - animation: false, - keyboard: false, - backdrop: 'static', - windowClass: 'ecm-modal-window', - templateUrl: 'modules/core/views/edit-contact-number-modal.view.html', - controller: 'EditContactNumberModalController', - controllerAs: 'vm', - }) - .result.then((returnVal) => { - // Update success, update user. - if (returnVal) { - vm.user = returnVal - UserService.saveUserToLocalStorage(returnVal) - vm.showExclamation = !returnVal.contact - } - }) - .finally(angular.noop) - } - - function generateAvatarText() { - const userEmail = get(vm.user, 'email') - if (userEmail) { - // Get first two characters of name. - return userEmail.split('@')[0].slice(0, 2) || '?' - } - - return '?' - } -} diff --git a/src/public/modules/core/components/banner.client.component.js b/src/public/modules/core/components/banner.client.component.js deleted file mode 100644 index 1d00c1b696..0000000000 --- a/src/public/modules/core/components/banner.client.component.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict' - -angular.module('core').component('bannerComponent', { - templateUrl: 'modules/core/componentViews/banner.html', - bindings: { - message: '<', - }, - controller: bannerController, - controllerAs: 'vm', -}) - -function bannerController() { - const vm = this - - vm.BANNER_TYPES = { - info: 'info', - warn: 'warn', - error: 'error', - } - - vm.$onInit = () => { - if (!vm.message) { - vm.bannerHidden = true - } else { - processBannerMessage() - vm.bannerHidden = false - } - } - - vm.dismissBanner = () => { - // Slide visible banner out of view and set bannerHidden to true on complete - angular.element('banner-component:visible').slideUp(400, () => { - vm.bannerHidden = true - }) - } - - const processBannerMessage = () => { - // Retrieve banner type from message, but it is possible that no types - // exist. - const vmMessage = vm.message || '' - const type = vmMessage.split(':').shift().trim().toLowerCase() - const retrievedType = vm.BANNER_TYPES[type] - - vm.bannerType = retrievedType || vm.BANNER_TYPES.info - - // If there is a type retrieved from message, remove the type encoding in - // the message. - // The + 1 is to also remove the semicolon from the encoding - vm.bannerMessage = retrievedType - ? vmMessage.substring(vmMessage.indexOf(':') + 1).trim() - : vmMessage - } -} diff --git a/src/public/modules/core/components/footer.client.component.js b/src/public/modules/core/components/footer.client.component.js deleted file mode 100644 index 4a4c318fa5..0000000000 --- a/src/public/modules/core/components/footer.client.component.js +++ /dev/null @@ -1,5 +0,0 @@ -'use strict' - -angular.module('core').component('footerComponent', { - templateUrl: 'modules/core/componentViews/footer.html', -}) diff --git a/src/public/modules/core/components/navbar.client.component.js b/src/public/modules/core/components/navbar.client.component.js deleted file mode 100755 index f9f2c883e8..0000000000 --- a/src/public/modules/core/components/navbar.client.component.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -angular.module('core').component('navbarComponent', { - templateUrl: 'modules/core/componentViews/navbar.html', - controller: ['$state', NavBarController], - controllerAs: 'vm', -}) - -function NavBarController($state) { - const vm = this - vm.activeTab = $state.current.name -} diff --git a/src/public/modules/core/components/sg-govt-banner.client.component.js b/src/public/modules/core/components/sg-govt-banner.client.component.js deleted file mode 100644 index 13568e2912..0000000000 --- a/src/public/modules/core/components/sg-govt-banner.client.component.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -angular.module('core').component('sgGovtBannerComponent', { - templateUrl: 'modules/core/componentViews/sg-govt-banner.html', - controller: ['$location', '$attrs', SgGovtBannerController], - controllerAs: 'vm', -}) - -function SgGovtBannerController($location, $attrs) { - const vm = this - - // Only show banner if the website is a Singapore Government Website. - // See https://www.designsystem.gov.sg/docs/masthead/. - vm.showBanner = $location.host().includes('.gov.sg') - // The x-padding-small attribute maps to paddingSmall instead of xPaddingSmall. - vm.paddingSmall = Object.prototype.hasOwnProperty.call($attrs, 'paddingSmall') -} diff --git a/src/public/modules/core/components/toolset-dropdown.client.component.js b/src/public/modules/core/components/toolset-dropdown.client.component.js deleted file mode 100644 index c6d6f2b0d0..0000000000 --- a/src/public/modules/core/components/toolset-dropdown.client.component.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict' - -angular.module('core').component('toolsetDropdownComponent', { - templateUrl: 'modules/core/componentViews/toolset-dropdown.html', - controller: ['$scope', toolsetDropdownController], - controllerAs: 'vm', -}) - -function toolsetDropdownController($scope) { - /** - * Logic for dropdown component. Add to labelAndLink to add more websites to the dropdown. - */ - const vm = this - - vm.isDropdownHover = false - vm.isDropdownFocused = false - vm.isDropdownOpen = false - vm.labelAndLink = [ - { label: 'Short Links', link: 'https://go.gov.sg/' }, - { label: 'Mass Messaging', link: 'https://go.gov.sg/postmangovsg' }, - { label: 'Eligibility Checker', link: 'https://go.gov.sg/checkfirstgovsg' }, - { label: 'Voucher Distribution', link: 'https://go.gov.sg/redeemgovsg' }, - { label: 'Website Builder', link: 'https://go.gov.sg/isomergovsg' }, - { label: 'Citizen Identity', link: 'https://go.gov.sg/idgovsg' }, - ] - - $scope.$watchGroup( - ['vm.isDropdownHover', 'vm.isDropdownFocused'], - function (newValues) { - vm.isDropdownOpen = newValues[0] || newValues[1] - }, - ) -} diff --git a/src/public/modules/core/config/core.client.routes.js b/src/public/modules/core/config/core.client.routes.js deleted file mode 100755 index 1bb8f693e0..0000000000 --- a/src/public/modules/core/config/core.client.routes.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict' - -const Analytics = require('../../../services/AnalyticsService') - -angular.module('core').config([ - '$urlRouterProvider', - '$stateProvider', - function ($urlRouterProvider, $stateProvider) { - // TODO: ui-router $urlRouterProvider is deprecated, use UrlRulesApi instead - $urlRouterProvider - // Ensure backward compatibility for links with /forms/:agency/?(preview|template|embed) - .when('/forms/:agency/:formId/admin', '/:formId/admin') - .when('/forms/:agency/:formId', '/:formId') - .when('/forms/:agency/:formId/*state', '/:formId/*state') - .when('/:formId/embed', '/:formId') - .when('', '/') - .otherwise('/error/404') - $stateProvider.state('landing', { - url: '/', - templateUrl: 'modules/core/views/landing.client.view.html', - controller: 'LandingPageController', - controllerAs: 'vm', - resolve: { - AnalyticStats: [ - '$q', - function ($q) { - return $q.resolve(Analytics.getLandingPageStatistics()) - }, - ], - }, - }) - }, -]) diff --git a/src/public/modules/core/controllers/edit-contact-number-modal.client.controller.js b/src/public/modules/core/controllers/edit-contact-number-modal.client.controller.js deleted file mode 100644 index f2628145bc..0000000000 --- a/src/public/modules/core/controllers/edit-contact-number-modal.client.controller.js +++ /dev/null @@ -1,164 +0,0 @@ -const UserService = require('../../../services/UserService') - -angular - .module('core') - .controller('EditContactNumberModalController', [ - '$state', - '$interval', - '$http', - '$timeout', - '$scope', - '$uibModalInstance', - '$window', - 'Toastr', - EditContactNumberModalController, - ]) - -function EditContactNumberModalController( - $state, - $interval, - $http, - $timeout, - $scope, - $uibModalInstance, - $window, - Toastr, -) { - const vm = this - - let countdownPromise - - const cancelCountdown = () => { - if (angular.isDefined(countdownPromise)) { - $interval.cancel(countdownPromise) - countdownPromise = undefined - vm.otp.countdown = 0 - } - } - - // The various states of verification - const VERIFY_STATE = { - IDLE: 'IDLE', - AWAIT: 'AWAITING', - SUCCESS: 'SUCCESS', - } - - // Expose so template can use it too. - vm.VERIFY_STATE = VERIFY_STATE - - // Redirect to signin if unable to get user - vm.user = UserService.getUserFromLocalStorage() || $state.go('signin') - - vm.vfnState = vm.user.contact ? VERIFY_STATE.SUCCESS : VERIFY_STATE.IDLE - - vm.contact = { - number: vm.user.contact || '', - isFetching: false, - error: '', - } - - vm.otp = { - value: '', - countdown: 0, - error: '', - isFetching: false, - } - - vm.lastVerifiedContact = vm.user.contact - - vm.resetVfnState = () => { - // Reset to success state if the number is what is currently stored. - if (vm.contact.number && vm.contact.number === vm.lastVerifiedContact) { - vm.vfnState = VERIFY_STATE.SUCCESS - } else if (vm.vfnState !== VERIFY_STATE.IDLE) { - // Reset to idle state otherwise so user can verify another number. - vm.vfnState = VERIFY_STATE.IDLE - } - - if (vm.contact.error) { - vm.contact.error = '' - } - - cancelCountdown() - } - - vm.resetOtpErrors = () => { - if (vm.otp.error) { - vm.otp.error = '' - } - } - - vm.sendOtp = async () => { - if (vm.otp.countdown > 0) return - - vm.contact.isFetching = true - // Clear previous values, for when resend OTP is clicked. - vm.otp.value = '' - $scope.otpForm.otp.$setPristine() - $scope.otpForm.otp.$setUntouched() - $http - .post('/api/v3/user/contact/otp/generate', { - contact: vm.contact.number, - userId: vm.user._id, - }) - .then(() => { - vm.contact.isFetching = false - vm.vfnState = VERIFY_STATE.AWAIT - vm.otp.countdown = 30 - countdownPromise = $interval( - () => { - vm.otp.countdown-- - }, - 1000, - 30, - ) - }) - .catch((err) => { - // Show error message - vm.contact.error = err.data || 'Failed to send OTP. Please try again' - }) - .finally(() => { - vm.contact.isFetching = false - }) - } - - vm.verifyOtp = async () => { - vm.otp.isFetching = true - // Check with backend if the otp is correct - $http - .post('/api/v3/user/contact/otp/verify', { - contact: vm.contact.number, - otp: vm.otp.value, - userId: vm.user._id, - }) - .then((response) => { - vm.otp.isFetching = false - vm.vfnState = VERIFY_STATE.SUCCESS - - // Close modal after lag to show success and show toast. - // Return user back to main controller to update. - $timeout(() => { - Toastr.success('Emergency contact number successfully added') - vm.closeModal(response.data) - }, 1000) - }) - .catch((err) => { - // Show error message - vm.otp.error = err.data || 'Failed to verify OTP. Please try again' - }) - .finally(() => { - vm.otp.isFetching = false - vm.otp.value = '' - $scope.otpForm.otp.$setPristine() - $scope.otpForm.otp.$setUntouched() - }) - } - - vm.closeModal = function (data) { - cancelCountdown() - // Add flag into localstorage so the banner does not open again. - // The flag will be cleared on user logout. - $window.localStorage.setItem('contactBannerDismissed', true) - $uibModalInstance.close(data) - } -} diff --git a/src/public/modules/core/controllers/landing.client.controller.js b/src/public/modules/core/controllers/landing.client.controller.js deleted file mode 100644 index 3f4c8dddf5..0000000000 --- a/src/public/modules/core/controllers/landing.client.controller.js +++ /dev/null @@ -1,198 +0,0 @@ -'use strict' - -const { examples, testims } = require('../resources/landing-examples') - -angular - .module('users') - .controller('LandingPageController', [ - '$scope', - '$state', - '$timeout', - '$translate', - '$translatePartialLoader', - 'AnalyticStats', - LandingPageController, - ]) - -function LandingPageController( - $scope, - $state, - $timeout, - $translate, - $translatePartialLoader, - AnalyticStats, -) { - const vm = this - - // Set up translations - $translatePartialLoader.addPart('landing') - $translate.refresh() - - // Hero - vm.stats = AnalyticStats - - vm.selectedCarousel = 0 - vm.prevCarousel = () => { - vm.selectedCarousel = - vm.selectedCarousel === 0 ? 2 : vm.selectedCarousel - 1 - } - vm.nextCarousel = () => { - vm.selectedCarousel = - vm.selectedCarousel === 2 ? 0 : vm.selectedCarousel + 1 - } - - vm.selectedStorageHow = 0 - const prevStorageHow = () => { - vm.selectedStorageHow = - vm.selectedStorageHow === 0 ? 0 : vm.selectedStorageHow - 1 - } - const nextStorageHow = () => { - vm.selectedStorageHow = - vm.selectedStorageHow === 4 ? 4 : vm.selectedStorageHow + 1 - } - - vm.selectedEmailHow = 0 - const prevEmailHow = () => { - vm.selectedEmailHow = - vm.selectedEmailHow === 0 ? 0 : vm.selectedEmailHow - 1 - } - const nextEmailHow = () => { - vm.selectedEmailHow = - vm.selectedEmailHow === 4 ? 4 : vm.selectedEmailHow + 1 - } - - vm.signIn = () => { - $state.go('signin') - } - - // Examples - vm.carousel = { examples } - - // Testimonials - vm.testims = testims - vm.selectedTestimonial = 0 - vm.prevTestimonial = () => { - vm.selectedTestimonial = - vm.selectedTestimonial === 0 ? 2 : vm.selectedTestimonial - 1 - } - vm.nextTestimonial = () => { - vm.selectedTestimonial = - vm.selectedTestimonial === 2 ? 0 : vm.selectedTestimonial + 1 - } - - /** - * Event handlers for scrolling/swiping - */ - function addCarouselBehavior() { - angular.element('#testimonials').slick({ - dots: false, - arrows: true, - infinite: true, - speed: 300, - slidesToShow: 1, - slidesToScroll: 1, - centerMode: false, - adaptiveHeight: true, - nextArrow: angular.element('#agency-testimonials .carousel-next'), - prevArrow: angular.element('#agency-testimonials .carousel-prev'), - }) - - angular - .element('#testimonials') - .on('swipe', function (event, slick, direction) { - if (direction === 'left') { - vm.nextTestimonial() - $scope.$apply() - } else if (direction === 'right') { - vm.prevTestimonial() - $scope.$apply() - } - }) - angular.element('#carousel').slick({ - dots: false, - infinite: true, - speed: 300, - slidesToShow: 3, - slidesToScroll: 1, - centerMode: true, - nextArrow: angular.element('#landing-examples .carousel-next'), - prevArrow: angular.element('#landing-examples .carousel-prev'), - responsive: [ - { - breakpoint: 1800, - settings: { - slidesToShow: 2, - slidesToScroll: 1, - centerMode: true, - }, - }, - { - breakpoint: 992, - settings: { - slidesToShow: 1, - slidesToScroll: 1, - centerMode: false, - }, - }, - ], - }) - angular - .element('#carousel') - .on('swipe', function (event, slick, direction) { - if (direction === 'left') { - vm.nextCarousel() - $scope.$apply() - } else if (direction === 'right') { - vm.prevCarousel() - $scope.$apply() - } - }) - angular.element('.how-container-storage-m').slick({ - dots: false, - arrows: false, - infinite: false, - speed: 300, - slidesToShow: 1, - slidesToScroll: 1, - centerMode: false, - }) - angular.element('.how-container-email-m').slick({ - dots: false, - arrows: false, - infinite: false, - speed: 300, - slidesToShow: 1, - slidesToScroll: 1, - centerMode: false, - }) - angular - .element('.how-container-storage-m') - .on('swipe', function (event, slick, direction) { - if (direction === 'left') { - nextStorageHow() - $scope.$apply() - } else if (direction === 'right') { - prevStorageHow() - $scope.$apply() - } - }) - angular - .element('.how-container-email-m') - .on('swipe', function (event, slick, direction) { - if (direction === 'left') { - nextEmailHow() - $scope.$apply() - } else if (direction === 'right') { - prevEmailHow() - $scope.$apply() - } - }) - } - - vm.init = function () { - vm.currentYear = new Date().getFullYear() - $timeout(() => { - addCarouselBehavior() - }) - } -} diff --git a/src/public/modules/core/css/admin-form-header.css b/src/public/modules/core/css/admin-form-header.css deleted file mode 100644 index 4dbc982d66..0000000000 --- a/src/public/modules/core/css/admin-form-header.css +++ /dev/null @@ -1,481 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version -*/ - -/* Form header */ - -#admin-form .vcenter { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -#admin-form #form-header { - padding-top: 10px; - padding-bottom: 10px; - background-color: white; - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; -} - -#admin-form #form-header #header-myforms { - padding: 0; -} - -#admin-form #form-header #header-addcollab { - padding: 0; -} - -#admin-form #form-header .left-spacer { - margin-left: 15px; -} - -#admin-form #form-header .right-spacer { - margin-right: 15px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -#admin-form #form-header .right-spacer .navbar__avatar { - margin: -10px 0; -} - -#admin-form #form-header #header-myforms a { - color: #484848; - font-size: 18px; - cursor: pointer; -} - -#admin-form #form-header #header-myforms #myforms-text { - position: absolute; - top: 3px; -} - -#admin-form #form-header #header-myforms a:hover { - color: #2f60ce; - -webkit-text-decoration-line: none; - text-decoration-line: none; -} - -#admin-form #form-header #header-myforms .back-arrow { - color: #2f60ce; -} - -#admin-form #form-header #header-title { - color: #484848; - text-align: center; - margin-bottom: 0; - white-space: nowrap; - overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; -} - -#admin-form #form-header #header-last-saved { - color: #979797; - margin-top: 0; - margin-bottom: 5px; - text-align: center; - text-transform: uppercase; -} - -@media not all and (min-width: 768px) { - #admin-form #form-header #header-title { - font-size: 22px; - } - - #admin-form #form-header #header-last-saved { - font-size: 11px; - } - - #admin-form #form-header #collab-circle-plus { - height: 36px; - width: 36px; - } -} - -@media all and (min-width: 768px) { - #admin-form #form-header #header-title { - font-size: 28px; - } - - #admin-form #form-header #header-last-saved { - font-size: 12px; - } - - #admin-form #form-header #collab-circle-plus { - height: 44px; - width: 44px; - margin-right: 6px; - } -} - -#admin-form #form-header #collab-circle-plus { - color: #484848; - border: 2px solid #484848; - background-color: #fff; - border-radius: 50%; - cursor: pointer; - outline: none; - padding: 0; -} - -#admin-form #form-header #collab-circle-plus i { - vertical-align: middle; - text-align: center; -} - -#admin-form #form-header #collab-circle-user { - display: block; - color: #fff; - margin-left: 7px; - text-transform: uppercase; - border: 2px solid #484848; - background-color: #484848; - border-radius: 50%; - cursor: auto; - outline: none; - height: 44px; - width: 44px; - font-size: 16px; -} - -#admin-form #form-header #collab-circle-plus:hover, -#admin-form #form-header #collab-circle-plus.active { - border-color: #2f60ce; - color: #2f60ce; -} - -/* Form collaborator modal */ - -@media all and (max-width: 768px) { - #collaborator-modal-body { - padding-right: 3em; - padding-left: 3em; - } - - #collaborator-modal-body .top-section-label { - display: flex; - justify-content: space-between; - } -} - -#collaborator-modal #collab-overlay { - position: fixed; - z-index: 450; - width: 100%; - height: 100%; - top: 0; - left: 0; - background-color: rgba(50, 50, 50, 0.5); -} - -#collab-role #role-dropdown-menu { - padding-top: 15px; - padding-bottom: 15px; - border-radius: 0; - margin-top: 0; -} - -#collaborator-modal-body .inputs-container { - margin-bottom: 10px; -} - -@media not all and (min-width: 768px) { - #collaborator-modal-body { - width: 100%; - top: 0; - overflow-y: auto; - } - - #collab-list .role-column { - margin-bottom: 15px; - margin-left: 0; - padding-left: 0; - padding-right: 0; - } - - #collab-role #role-dropdown-menu { - width: inherit; - } - - /* These are appended to body, hence no nesting */ - #existing-role-dropdown-menu { - /* Same width as the collab-list itself */ - width: calc(100vw - 78px); - } -} - -@media all and (min-width: 768px) { - #collaborator-modal-body { - position: absolute; - width: 700px; - top: 125px; - left: 50%; - -webkit-transform: translate(-50%); - -ms-transform: translate(-50%); - transform: translate(-50%); - } - - #collab-email { - padding-right: 10px; - } - - #collab-role { - padding-left: 0; - } - - #admin-form #top-section .role-column { - padding-left: 0; - } - - #collab-list .role-column { - padding-left: 25px; - padding-right: 25px; - margin-bottom: 10px; - } - - #admin-form .non-mobile-hide { - display: none !important; - } -} - -#collaborator-modal .role-dropdown-btn { - height: 48px; - background-color: #fff; -} - -#collaborator-modal-body .remove-left-padding { - padding-left: 0; -} - -#collaborator-modal-body .remove-right-padding { - padding-right: 0; -} - -#role-dropdown-menu .role-explanation { - color: #888; -} - -#collab-role .caret { - margin-top: 12px; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-top: 6px dashed; -} - -#admin-form #role-dropdown-menu .spacer { - height: 15px; -} - -#collaborator-modal-body { - z-index: 750; -} - -#collaborator-modal-body .transfer-owner-email { - color: #dc2a2a; -} - -@media all and (min-width: 768px) { - #collaborator-modal-body #bottom-section { - padding-bottom: 30px; - } -} - -@media not all and (min-width: 768px) { - #collaborator-modal-body #bottom-section { - /* This padding is to prevent the last dropdown from getting cut off */ - padding-bottom: 130px; - } -} - -#collab-role .dropdown-disabled { - background-color: #f0f0f0; - border: solid 1px #ccc; - cursor: default; - color: #484848; -} - -#collab-role .dropdown-disabled > span { - opacity: 0.5; -} - -#collaborator-modal-body #invite-title { - margin-bottom: 20px; - font-size: 22px; - font-weight: bold; -} - -#collaborator-modal-body button#collab-btn { - width: 100%; -} - -#collaborator-modal-body #collab-title { - font-size: 16px; - font-weight: normal; - font-style: normal; - font-stretch: normal; - line-height: 1.38; - letter-spacing: 0; - color: #4a4a4a; - padding-bottom: 25px; -} - -#collaborator-modal-body #transfer-owner-cancel-btn { - font-size: 18px; - color: #2f60ce; - background-color: white; - border: 0; - letter-spacing: 1.4px; - text-transform: uppercase; - cursor: pointer; - text-decoration: underline; -} - -#collaborator-modal-body .collab-hr { - height: 1px; - border: solid 1px #dcdcdc; - margin-bottom: 10px; -} - -#collaborator-modal-body #collab-list { - /* If they squeeze the screen too small, white screen will appear at the bottom. - TODO: Fix if possible. */ - min-height: 60px; -} - -#collaborator-modal-body .secret-key-warning { - margin-bottom: 30px; -} - -@media all and (min-width: 768px) { - #collaborator-modal-body #collab-list { - overflow-y: auto; - } - - #collaborator-modal-body .secret-key-warning { - font-size: 17px; - } -} - -@media not all and (min-width: 768px) { - #collaborator-modal-body #collab-list { - /* For mobile, modal must be full screen, so enforce this minimum height to cover the screen. */ - min-height: calc(100vh - 452px); - } - - #collaborator-modal-body .secret-key-warning { - font-size: 14px; - } -} - -#admin-form #bottom-section .lock-scroll { - overflow-y: hidden !important; -} - -/* Add margin to the right because scroll bar will disappear, this compensates to - reduce the movement of elements. Not necessary for mobile, because the list for mobile does not - scroll; the whole page scrolls. */ -@media all and (min-width: 768px) { - #admin-form #bottom-section .lock-scroll { - margin-right: 17px; - } -} - -#collaborator-modal-body #collab-list .collab-email { - line-height: 1.67; - color: #484848; - margin-bottom: 10px; - white-space: nowrap; - overflow: hidden; - -o-text-overflow: ellipsis; - text-overflow: ellipsis; -} - -#collaborator-modal-body .collaborator-list-entry { - margin-left: auto; - margin-right: auto; -} - -#collaborator-modal-body #collab-list .btn-delete { - float: right; - padding-right: 5px; -} - -#collaborator-modal-body #collaborators-close-button { - cursor: pointer; - height: 20px; - width: 20px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 30px; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #979797; - margin-left: 20px; - position: absolute; - right: 25px; - top: 25px; -} - -#collaborator-modal-body #collaborators-close-button:hover { - color: #333; -} - -#collab-list .spacer { - height: 5px; -} - -/* existing-role-dropdown-menus are appended to body, hence no nesting */ -#existing-role-dropdown-menu { - padding-top: 5px; - padding-bottom: 5px; - border-radius: 0; - z-index: 1050; -} - -.existing-role-button { - cursor: pointer; -} - -#collab-list .caret { - margin-top: 11px; - border-left: 6px solid transparent; - border-right: 6px solid transparent; - border-top: 6px dashed; -} - -#collab-list .role-dropdown-text { - font-size: 16px; -} - -#existing-collab-role .dropdown-menu > li > a { - padding-left: 15px; - padding-right: 15px; -} - -#collab-list .current-role-text { - line-height: 1.67; -} diff --git a/src/public/modules/core/css/avatar-dropdown.css b/src/public/modules/core/css/avatar-dropdown.css deleted file mode 100644 index e4fb20b7d7..0000000000 --- a/src/public/modules/core/css/avatar-dropdown.css +++ /dev/null @@ -1,257 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version -*/ - -.navbar__avatar { - position: relative; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - height: 80px; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - padding: 10px; -} - -.navbar__avatar__avatar { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - color: #fff; - text-transform: uppercase; - border: 2px solid #484848; - background-color: #484848; - border-radius: 50%; - outline: none; - height: 44px; - width: 44px; - font-size: 16px; - cursor: pointer; - position: relative; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - -@media not all and (min-width: 768px) { - .navbar__avatar__avatar { - height: 36px; - width: 36px; - font-size: 14px; - } -} - -.navbar__avatar__avatar--alert { - position: absolute; - bottom: 12px; - right: 4px; - width: 20px; - height: 20px; - border: 2px solid #a94442; - border-radius: 50%; - background-color: #a94442; - color: white; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - -.navbar__avatar__avatar--alert::after { - content: ''; - width: 22px; - height: 22px; - border: 2px solid white; - border-radius: 50%; - position: absolute; -} - -.navbar__avatar--focused { - background-color: #f0f0f0; -} - -.navbar__dropdown { - cursor: initial; - z-index: 1000; - width: 280px; - position: absolute; - right: 0; - top: 80px; - -webkit-box-shadow: 1px 3px 5px 0 rgba(48, 51, 54, 0.2); - box-shadow: 1px 3px 5px 0 rgba(48, 51, 54, 0.2); - background-color: #fff; -} - -.navbar__dropdown--clickable { - cursor: pointer; -} - -.navbar__dropdown--clickable:hover, -.navbar__dropdown--clickable:focus, -.navbar__dropdown--clickable:active { - background-color: #fdfdfd; -} - -.navbar__dropdown__user { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding: 26px 24px !important; -} - -.navbar__dropdown__user__avatar { - color: #fff; - text-transform: uppercase; - height: 40px; - width: 40px; - font-size: 14px; - border: 2px solid #484848; - background-color: #484848; - border-radius: 50%; - outline: none; - margin-right: 16px; - display: inline-table; - text-align: center; - line-height: 36px; -} - -.navbar__dropdown__user__details { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - word-break: break-all; -} - -.navbar__dropdown__user__details--email { - max-width: 250px; - overflow-wrap: break-word; -} - -.navbar__dropdown__user__contact { - padding: 0 !important; -} - -.navbar__dropdown__user__contact--missing { - padding: 6px 16px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - background-color: #f2dede; - font-size: 14px; - letter-spacing: -0.04px; - color: #a94442; -} - -.navbar__dropdown__user__contact--missing i { - margin-right: 16px; -} - -.navbar__dropdown__user__contact__details { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding: 16px 24px; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.navbar__dropdown__user__contact__details--label { - font-size: 16px; - font-weight: bold; - font-stretch: normal; - font-style: normal; - line-height: 1.25; - letter-spacing: normal; - color: #323232; - margin-right: 16px; -} - -.navbar__dropdown__user__contact__details--link { - font-size: 16px; - font-weight: normal; - font-stretch: normal; - font-style: normal; - line-height: 1.25; - letter-spacing: -0.3px; - color: #2f60ce; - text-decoration: underline; - cursor: pointer; -} - -.navbar__dropdown__user__contact__details--link:focus, -.navbar__dropdown__user__contact__details--link:active, -.navbar__dropdown__user__contact__details--link:hover { - color: #264da4; -} - -.navbar__dropdown__user__contact__details--value { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -.navbar__dropdown__user__contact__details--value div:first-child { - margin-right: 8px; -} - -.navbar__dropdown__logout { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - font-size: 18px; - color: #2f60ce; - font-weight: bold; - cursor: pointer; -} - -.navbar__dropdown__logout--text { - padding-right: 9px; -} - -.navbar__dropdown__logout:focus, -.navbar__dropdown__logout:active, -.navbar__dropdown__logout:hover { - color: #264da4; -} - -.navbar__dropdown ul { - list-style: none; - padding: 0; - margin: 0; -} - -.navbar__dropdown ul li { - padding: 18px 24px; - border-bottom: 1px solid #dcdcdc; -} diff --git a/src/public/modules/core/css/banner.css b/src/public/modules/core/css/banner.css deleted file mode 100644 index b342f9fe22..0000000000 --- a/src/public/modules/core/css/banner.css +++ /dev/null @@ -1,92 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version -*/ - -/* BANNER COMPONENT */ - -banner-component { - -webkit-box-flex: 0; - -ms-flex: 0 1 auto; - flex: 0 1 auto; -} - -.banner-container { - position: sticky; - top: 0; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding: 12px 20px; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - line-height: 20px; - font-weight: normal; - overflow: hidden; - font-size: 16px; - z-index: 999; - width: 100%; -} - -.banner-container-info { - /* Additional padding as opposed to the rest to accomodate dismiss button */ - padding: 12px 50px 12px 20px; - background-color: #1e3e84; - color: #f0f4f6; -} - -.banner-container-info a { - color: #f0f4f6; -} - -.banner-container a { - text-decoration: underline; - cursor: pointer; - font-weight: normal; -} - -.banner-container-warn { - background-color: #ffe47a; - color: #323232; -} - -.banner-container-warn a { - color: #323232; -} - -.banner-container-error { - background-color: #a94442; - color: #fff; -} - -.banner-container-error a { - color: #fff; -} - -.banner-container div { - display: inline-block; -} - -.banner-container #dismiss { - position: absolute; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - right: 0; - top: 0; - height: 100%; - width: 50px; - cursor: pointer; -} diff --git a/src/public/modules/core/css/core.css b/src/public/modules/core/css/core.css deleted file mode 100755 index e6785d62eb..0000000000 --- a/src/public/modules/core/css/core.css +++ /dev/null @@ -1,733 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version -*/ - -/* Global Variables */ - -a { - color: #2f60ce; -} - -a.underlined-link { - text-decoration: underline; -} - -input:-webkit-autofill { - -webkit-box-shadow: 0 0 0 30px white inset !important; -} - -html, -body { - height: 100%; - margin: 0; -} - -body { - font-family: 'Muli', sans-serif; - font-size: 16px; - overscroll-behavior-y: none; -} - -.vcenter { - display: inline-block; - vertical-align: middle; - float: none; -} - -.page-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; - height: 100vh; -} - -/* ====================================================== */ - -/* Custom CSS for Buttons */ - -.btn-custom { - border-radius: 4px; - background-color: #2f60ce; - border-color: transparent; - font-size: 18px; - font-weight: 600; - letter-spacing: 1.2px; - text-align: center; - color: #fff; - outline: 0; - padding-left: 15px; - padding-right: 15px; - text-transform: uppercase; - cursor: pointer; -} - -.btn-custom.lg-width { - width: 286px; -} - -@media not all and (min-width: 768px) { - .btn-custom.lg-width { - width: auto; - } -} - -.btn-custom.working { - background-color: #23489b; -} - -.btn-custom:hover { - background-color: #0e2558; -} - -.btn-custom.btn-pressed { - background-color: #0e2558; - pointer-events: none; -} - -.btn-custom:disabled { - opacity: 0.3; - pointer-events: none; -} - -.btn-large { - height: 54px; - width: 100%; -} - -.btn-medium { - height: 48px; - min-width: 180px; -} - -.btn-small { - height: 48px; - width: 100%; -} - -.btn-custom .bx-loader { - vertical-align: text-top; -} - -/* ====================================================== */ - -/* Custom CSS for Input */ - -.input-custom { - line-height: 1.5; - color: #484848; - border: solid 1px #b8b8b8; - padding-left: 16px; - padding-right: 16px; - width: 100%; - display: block; - border-radius: 0; -} - -.input-large { - font-size: 20px; -} - -.input-medium { - font-size: 18px; -} - -input.input-large, -select.input-large { - height: 54px; -} - -input.input-medium, -select.input-medium { - height: 48px; -} - -textarea.input-custom { - padding-top: 10px; - padding-bottom: 10px; -} - -.input-custom:focus { - border: solid 2px #2f60ce; - -webkit-box-shadow: none; - box-shadow: none; - outline: none; -} - -.input-custom:disabled { - background-color: #f0f0f0; - border: solid 1px #ccc; -} - -.input-custom::-webkit-input-placeholder { - /* Chrome, Firefox, Opera, Safari 10.1+ */ - color: #b8b8b8; - opacity: 1; /* Firefox */ -} - -.input-custom::-moz-placeholder { - /* Chrome, Firefox, Opera, Safari 10.1+ */ - color: #b8b8b8; - opacity: 1; /* Firefox */ -} - -.input-custom:-ms-input-placeholder { - /* Chrome, Firefox, Opera, Safari 10.1+ */ - color: #b8b8b8; - opacity: 1; /* Firefox */ -} - -.input-custom::-ms-input-placeholder { - /* Chrome, Firefox, Opera, Safari 10.1+ */ - color: #b8b8b8; - opacity: 1; /* Firefox */ -} - -.input-custom::placeholder { - /* Chrome, Firefox, Opera, Safari 10.1+ */ - color: #b8b8b8; - opacity: 1; /* Firefox */ -} - -/* ====================================================== */ - -/* Custom CSS for input labels */ - -.label-custom { - color: #323232; - font-weight: 600; - overflow-wrap: break-word; -} - -.label-bottom { - padding-bottom: 10px; -} - -.label-normal { - font-weight: normal; -} - -.label-large { - font-size: 20px; -} - -.label-medium { - font-size: 18px; -} - -.header-custom { - font-size: 16px; - font-weight: normal; - font-style: normal; - font-stretch: normal; - line-height: 1.38; - letter-spacing: 1px; - color: #4a4a4a; - text-transform: uppercase; -} - -/* ====================================================== */ - -/* Custom CSS for alerts/feedback */ - -.alert-custom { - font-size: 18px; - line-height: 1.3; - padding-top: 8px; - padding-bottom: 8px; - padding-left: 10px; - padding-right: 10px; - display: block; - text-align: left; -} - -.alert-error, -.alert-error a { - background-color: #f2dede; - color: #a94442; -} - -.alert-info, -.alert-info a { - background-color: #e9ecf5; - color: #23489b; -} - -.alert-prefill { - background-color: #fef8e3; - color: #4b411f; -} - -.alert-success, -.alert-success a { - background-color: #e5f6f2; - color: #04aa80; -} - -.alert-custom a { - text-decoration: underline; -} - -.alert-custom a:hover { - color: #484848; -} - -.alert-margin { - margin-bottom: 18px; -} - -.alert-padding-top { - padding-top: 10px; -} - -.alert-custom .bx-check, -.alert-custom .bx-loader, -.alert-custom .bx-exclamation, -.alert-custom .bx-error-circle, -.alert-custom .bx-info-circle { - float: left; -} - -.alert-custom .alert-msg { - display: block; - overflow: hidden; -} - -.alert-custom.alert-error.alert-mobile { - max-width: 30rem; /* Following ng-intl-tel-input box */ -} - -/* ====================================================== */ - -/* Custom CSS for delete buttons */ - -button.btn-delete { - background: none; - border: none; - outline: none; - color: #2f60ce; -} - -button.btn-delete:hover { - color: #82a0e2; -} - -/* For mobile devices, hover will be the default color, i.e. there is no hover color change, because after pressing - the button, the hover is sticky and the color does not return to normal until you click away. */ -@media all and (pointer: coarse) { - button.btn-delete:hover { - color: #2f60ce; - } -} - -button.btn-delete:active { - color: #23489b; -} - -button.btn-delete > .bx-trash { - vertical-align: middle; -} - -/* Custom CSS for Toggle Selector */ -.toggle-selector input[type='checkbox'] { - display: none; -} - -.toggle-selector { - cursor: pointer; - height: 34px; - min-width: 64px; - padding: 2px; - border-radius: 23px; - background-color: #dcdcdc; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; - transition: all 0.3s ease-in-out; - margin-bottom: 0; -} - -.toggle-selector.toggle-selector--disabled { - cursor: not-allowed; - background-color: #cfcfcf; -} - -.toggle-selector-switch { - height: 30px; - width: 30px; - background-color: white; - border-radius: 50%; - -webkit-transition: all 0.3s ease-in-out; - -o-transition: all 0.3s ease-in-out; - transition: all 0.3s ease-in-out; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - border: solid 1px #b8b8b8; - color: #b8b8b8; - font-size: 16px; -} - -.toggle-selector--disabled .toggle-selector-switch { - background-color: #b5b5b5; - border-color: #b5b5b5; -} - -.toggle-selector--disabled .toggle-selector-switch > i { - color: #cfcfcf; - margin-left: -3px; -} - -.toggle-selector-switch > i { - font-weight: 600; -} - -.toggle-selector-on.toggle-selector { - background-color: #05e3ab; -} - -.toggle-selector-on .toggle-selector-switch { - -webkit-transform: translateX(101%); - -ms-transform: translateX(101%); - transform: translateX(101%); - border: solid 1px #07926e; - color: #07926e; -} - -.undecorated-link:hover { - text-decoration: none; -} - -[ng\:cloak], -[ng-cloak], -[data-ng-cloak], -[x-ng-cloak], -.ng-cloak, -.x-ng-cloak { - display: none !important; -} - -.dropdown-menu > li > a { - color: #515151; -} - -/* form control */ - -.ui-select-bootstrap > div, -.selectize-input { - padding: 13px 19px !important; - font-size: inherit; - border-radius: 0; - color: #555; - border: 1px solid; - border-color: #b8b8b8; - line-height: 1.42857143; -} - -.dropdown .selectize-input { - height: 54px; -} - -/* dropdown */ - -.ui-select-multiple.ui-select-bootstrap { - height: inherit; - padding: 0; - margin-bottom: 5px; - border: 0; - font-size: inherit; -} - -.ui-select-match, -input.ui-select-search { - height: 100%; - font-size: inherit; - width: calc(100% - 20px) !important; -} - -.ui-select-multiple.ui-select-bootstrap input.ui-select-search { - height: 100%; - margin-bottom: 0; -} - -.selectize-dropdown-content, -.ui-select-bootstrap > .ui-select-choices, -.ui-select-bootstrap > .ui-select-no-choice { - padding: 0; - font-size: 13px; - max-height: 220px; -} - -.ui-select-multiple.ui-select-bootstrap - .ui-select-choices-row-inner[uis-transclude-append], -.ui-select-choices-row-inner[data-selectable] { - border-radius: 4px; - margin: 5px; - padding: 10px; - background-color: rgba(0, 0, 0, 0.05); -} - -.ui-select-bootstrap .ui-select-choices-row.active { - background-color: #f5fafd; -} - -.ui-select-bootstrap .ui-select-choices-row.active > span { - color: #495c68; -} - -.ui-select-bootstrap .ui-select-match-item { - font-size: inherit; - color: inherit; -} - -.ui-select-bootstrap .ui-select-match-item.btn-primary { - background-color: #ccc; -} - -/* Input group */ - -.input-group-btn { - font-size: initial; - vertical-align: top; -} - -.input-group-btn button { - border: solid 1px #b8b8b8; - border-radius: 0; -} - -.input-group-btn button:focus { - outline: none; -} - -.input-group-btn-height button { - height: 54px; -} - -form .input-group-btn button { - padding-left: 13px; -} - -.ui-grid-cell.ui-grid-disable-selection.ui-grid-row-header-cell { - pointer-events: auto; -} - -.static-view-container { - min-height: 100vh; - background-color: #fff; - padding: 5% 5%; -} - -.static-view-container .static-view-logo { - text-align: center; -} - -@media all and (min-width: 768px) { - .static-view-container .static-view-logo img { - height: 60px; - } -} - -@media not all and (min-width: 768px) { - .static-view-container .static-view-logo img { - height: 45px; - } -} - -.static-view-container .static-view-text { - margin-top: 25px; - margin-bottom: 25px; - color: #484848; - line-height: 1.45; -} - -.static-view-container .static-view-text .static-view-header { - font-size: 28px; - color: #323232; - font-weight: bold; - margin-top: 40px; - margin-bottom: 40px; - text-align: center; -} - -.static-view-container .static-view-text .static-view-title { - font-size: 20px; - color: #323232; - font-weight: bold; -} - -.static-view-container .static-view-text hr { - margin-top: 40px; - margin-bottom: 40px; -} - -/* Override toast defualt CSS */ -body #toast-container { - padding: 0 85px; -} - -@media not all and (min-width: 576px) { - body #toast-container { - padding: 0 35px; - } -} - -body #toast-container .toast-message { - margin: 0 40px; -} - -body #toast-container > div { - text-align: center; - opacity: 1; - -webkit-box-shadow: none; - box-shadow: none; - padding: 15px; - width: 100% !important; - max-width: 730px; - margin: 0 auto 30px auto; - border-radius: 0 0 4px 4px; -} - -body #toast-container > div:hover { - -webkit-box-shadow: none; - box-shadow: none; -} - -body #toast-container > .toast { - position: relative; - font-size: 18px; - background-image: none !important; - min-height: 55px; - margin-bottom: 10px; - cursor: default; -} - -body #toast-container > .toast-success { - color: #04aa80; - background-color: #e5f6f2; -} - -body #toast-container > .toast-error { - color: #a94442; - background-color: #f2dede; -} - -body #toast-container .toast .toast-message .toast-custom-icon { - position: absolute; - top: 0; - left: 10px; - font-size: 35px; - height: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -body #toast-container > .toast-error > .toast-message > a { - color: #a94442; - text-decoration: underline; -} - -body #toast-container > .toast-success > .toast-message > a { - color: #2560eb; - text-decoration: underline; -} - -/* Custom css for icons */ - -i.glyphicon-question-sign { - /* This important doesn't matter as it - only applies to the question marks */ - margin-left: 10px !important; - color: #323232 !important; - font-size: 15px !important; -} - -/* Utility Classes */ - -.standard-padding { - max-width: 730px; - margin: 0 auto 30px auto; -} - -.icon-spacing { - margin-right: 5px; -} - -.no-padding { - padding: 0; -} - -.no-left-padding { - padding-left: 0; -} - -.no-right-padding { - padding-right: 0; -} - -.no-left-margin { - margin-left: 0; -} - -.no-right-margin { - margin-right: 0; -} - -.no-bottom-margin { - margin-bottom: 0; -} - -.no-margin { - margin: 0; -} - -@media not all and (min-width: 768px) { - .mobile-scroll-lock { - overflow-y: hidden !important; - } -} - -/* Route loading spinner */ -#route-loading { - position: fixed; - height: 100%; - width: 100%; - background-color: rgba(255, 255, 255, 0.7); - z-index: 1000; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - -#route-loading .bx-loader { - z-index: 1000; - font-size: 60px; - color: #3263cb; -} - -@media print { - * { - overflow: visible !important; - } -} diff --git a/src/public/modules/core/css/edit-contact-number-modal.css b/src/public/modules/core/css/edit-contact-number-modal.css deleted file mode 100644 index 1fdd25316d..0000000000 --- a/src/public/modules/core/css/edit-contact-number-modal.css +++ /dev/null @@ -1,281 +0,0 @@ -.ecm-modal-window { - display: -webkit-box !important; - display: -ms-flexbox !important; - display: flex !important; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.ecm-modal-window .modal-content { - border-radius: 0; - border-width: 0; -} - -.ecm-modal-window .modal-dialog { - width: 50%; -} - -@media screen and (max-width: 1024px) { - .ecm-modal-window .modal-dialog { - width: 80%; - } -} - -@media screen and (max-width: 768px) { - .ecm-modal-window .modal-dialog { - width: 90%; - } -} - -#edit-contact-modal { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - -#edit-contact-modal .bx-loader { - font-size: 30px; -} - -#edit-contact-modal .close-modal { - text-align: right; - font-size: 28px; - color: #979797; - padding: 12px; - background: none; - border: none; - position: absolute; - top: 0; - right: 0; -} - -#edit-contact-modal .close-modal:focus, -#edit-contact-modal .close-modal:hover, -#edit-contact-modal .close-modal:active { - color: #7e7e7e; -} - -#edit-contact-modal input { - width: 100%; - border: solid 2px #b8b8b8; - color: #484848; - display: block; - border-radius: 0; - outline: none; - letter-spacing: 0.2px; -} - -#edit-contact-modal input.ng-touched.ng-invalid { - border: 2px solid #a94442; -} - -#edit-contact-modal input:focus, -#edit-contact-modal input:active { - border: 2px solid #2f60ce; -} - -#edit-contact-modal .ecm__content { - max-width: 575px; - color: #323232; - text-align: center; - padding: 24px; -} - -#edit-contact-modal .ecm__content__image { - width: 80px; - margin: 20px; -} - -#edit-contact-modal .ecm__content__header { - font-size: 24px; - font-weight: bold; - font-stretch: normal; - font-style: normal; - line-height: normal; - letter-spacing: -0.4px; - text-align: center; -} - -#edit-contact-modal .ecm__content__subheader { - margin-top: 8px; - margin-bottom: 48px; - font-size: 18px; - line-height: 1.39; - letter-spacing: -0.3px; - text-align: center; -} - -#edit-contact-modal .ecm__form { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; -} - -@media screen and (max-width: 425px) { - #edit-contact-modal .ecm__form { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - } -} - -#edit-contact-modal .ecm__form__input { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - margin-right: 12px; -} - -@media screen and (max-width: 425px) { - #edit-contact-modal .ecm__form__input { - margin-right: 0; - margin-bottom: 8px; - } -} - -#edit-contact-modal .ecm__form__input input { - line-height: 1.5; - height: 54px; - font-size: 20px; -} - -#edit-contact-modal .ecm__form__input .intl-tel-input { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; -} - -#edit-contact-modal .ecm__otp { - color: #2f60ce; - margin-left: 24px; - text-align: left; -} - -@media screen and (max-width: 425px) { - #edit-contact-modal .ecm__otp { - margin-left: 0; - } -} - -#edit-contact-modal .ecm__otp__header { - font-size: 18px; - font-weight: bold; - line-height: 1.67; -} - -#edit-contact-modal .ecm__otp__subheader { - font-size: 18px; - line-height: 1.28; - margin-bottom: 16px; -} - -#edit-contact-modal .ecm__otp__input { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - margin-bottom: 8px; -} - -@media screen and (max-width: 425px) { - #edit-contact-modal .ecm__otp__input { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - } -} - -#edit-contact-modal .ecm__otp__input--input { - -webkit-box-flex: 1; - -ms-flex: 1; - flex: 1; - margin-right: 12px; -} - -@media screen and (max-width: 425px) { - #edit-contact-modal .ecm__otp__input--input { - margin-right: 0; - margin-bottom: 8px; - } -} - -#edit-contact-modal .ecm__otp__input button { - margin-top: 0; -} - -#edit-contact-modal .ecm__otp__resend button { - font-size: 18px; - line-height: 1.67; - color: #2f60ce; - background: none; - border: none; - text-decoration: underline; -} - -#edit-contact-modal .ecm__otp__resend button:disabled { - opacity: 0.5; -} - -#edit-contact-modal .ecm__otp__resend button:hover, -#edit-contact-modal .ecm__otp__resend button:active, -#edit-contact-modal .ecm__otp__resend button:focus { - color: #264da4; -} - -#edit-contact-modal .ecm__otp__resend span { - opacity: 0.5; -} - -#edit-contact-modal .ecm__vfn-button--success { - background-color: #04aa80; -} - -#edit-contact-modal .ecm__vfn-button--success:disabled { - opacity: 1; -} - -#edit-contact-modal .ecm__button { - min-width: 140px; -} - -#edit-contact-modal .ecm__button--verify { - min-width: 110px; -} - -#edit-contact-modal .otp__form { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - background-color: #e9ecf5; - padding: 32px; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; -} - -@media screen and (max-width: 425px) { - #edit-contact-modal .otp__form { - padding: 12px; - } -} - -@media screen and (max-width: 425px) { - #edit-contact-modal .otp__form img { - display: none; - } -} diff --git a/src/public/modules/core/css/footer.css b/src/public/modules/core/css/footer.css deleted file mode 100644 index ea6aef8405..0000000000 --- a/src/public/modules/core/css/footer.css +++ /dev/null @@ -1,249 +0,0 @@ -footer-component a { - outline: none; - text-decoration-line: none; -} - -footer-component .landing__footer { - display: block; - color: #484848; -} - -footer-component .landing__footer .footer__section { - -webkit-align-items: normal; - -webkit-box-align: normal; - -ms-flex-align: normal; - align-items: normal; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex: 1; - -ms-flex: 1; - flex: 1; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - margin-left: 32px; - margin-right: 32px; - padding-bottom: 44px; - padding-top: 44px; -} - -footer-component .landing__footer .footer__section--bottom-border { - border-bottom: 2px solid; - border-color: #dcdcdc; -} - -footer-component .footer__tagline { - -webkit-align-items: baseline; - -webkit-box-align: baseline; - -ms-flex-align: baseline; - align-items: baseline; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - padding-bottom: 32px; -} - -footer-component .tagline--name { - margin: 0; - font-size: 18px; - line-height: 1.25; - font-weight: 700; -} - -footer-component .tagline--caption { - margin-left: 0.5rem; - font-size: 14px; - font-style: italic; -} - -footer-component .footer__links { - -webkit-align-items: flex-start; - -webkit-box-align: flex-start; - -ms-flex-align: flex-start; - align-items: flex-start; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -footer-component .footer__links--link { - display: block; - margin-bottom: 1rem; - margin-right: 0; - color: #484848; -} - -footer-component a:hover, -footer-component a:focus, -footer-component a:active { - color: #2f60ce; - opacity: 1; - text-decoration-line: none; -} - -footer-component .footer__links--link--last { - margin-bottom: 0; - margin-right: 0; -} - -footer-component .footer__logo { - display: -webkit-inline-box; - display: -webkit-inline-flex; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; -} - -footer-component .footer__logo--builtby { - color: rgba(0, 0, 0, 0.5); - font-size: 12px; - margin-bottom: 6px; -} - -footer-component .footer__logo--logo { - height: 48px; - width: 183px; -} - -footer-component .footer__socials { - -webkit-align-items: flex-start; - -webkit-box-align: flex-start; - -ms-flex-align: flex-start; - align-items: flex-start; - color: rgba(0, 0, 0, 0.5); - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - height: 72px; - -webkit-box-pack: justify; - -webkit-justify-content: space-between; - -ms-flex-pack: justify; - justify-content: space-between; - margin-top: 24px; - padding-top: 4px; -} - -footer-component .footer__socials--links { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -footer-component .footer__socials--link { - margin-left: 8px; - margin-right: 8px; - font-size: 32px; - color: #000; - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; -} - -footer-component .footer__socials--link--first { - margin-left: 0; - margin-right: 8px; -} - -footer-component .footer__socials--link--last { - margin-left: 8px; - margin-right: 0; -} - -footer-component .footer__copyright { - display: -webkit-box; - display: -webkit-flex; - display: -ms-flexbox; - display: flex; - -webkit-flex-direction: column; - -ms-flex-direction: column; - flex-direction: column; - font-size: 10px; - margin-top: 16px; - color: rgba(0, 0, 0, 0.5); -} - -@media screen and (min-width: 30em) { - footer-component .footer__links--link { - margin-bottom: 1rem; - } - - footer-component .footer__links--link--last { - margin-bottom: 0; - } -} - -@media screen and (min-width: 48em) { - footer-component .landing__footer .footer__section { - margin-left: 64px; - margin-right: 64px; - } - - footer-component .footer__copyright { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } -} - -@media screen and (min-width: 62em) { - footer-component .landing__footer .footer__section { - margin-left: 80px; - margin-right: 80px; - padding-top: 40px; - padding-bottom: 40px; - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - } - - footer-component .footer__tagline { - padding-bottom: 0; - } - - footer-component .footer__links { - -webkit-flex-direction: row; - -ms-flex-direction: row; - flex-direction: row; - -webkit-align-items: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - - footer-component .footer__links--link { - margin-bottom: 0; - margin-right: 2rem; - } - - footer-component .footer__links--link--last { - margin-bottom: 0; - margin-right: 0; - } - - footer-component .footer__socials { - -webkit-align-items: flex-end; - -webkit-box-align: flex-end; - -ms-flex-align: flex-end; - align-items: flex-end; - margin-top: 0; - } -} diff --git a/src/public/modules/core/css/how-it-works.css b/src/public/modules/core/css/how-it-works.css deleted file mode 100644 index c638d08550..0000000000 --- a/src/public/modules/core/css/how-it-works.css +++ /dev/null @@ -1,286 +0,0 @@ -#landing #how-it-works { - background-color: #f0f4f6; - height: auto; - padding: 60px 5% 90px 5%; -} - -#landing #how-it-works .carousel-dots { - display: block; - text-align: center; - margin-top: 25px; -} - -@media (min-width: 992px) { - #landing #how-it-works .carousel-dots { - display: none; - } -} - -#landing #how-it-works #how-header { - text-align: center; - font-size: 32px; - font-weight: 800; - line-height: 1.19; - color: #2f60ce; -} - -#landing #how-it-works #how-tabs-container #how-tabs { - list-style: none; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding: 0; - margin: 32px 0; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - -#landing #how-it-works #how-tabs-container #how-tabs span { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - font-size: 18px; - font-weight: bold; - font-stretch: normal; - font-style: normal; - line-height: normal; - letter-spacing: normal; - text-align: center; - color: #484848; - padding: 8px 4px; - margin: 0 10px; -} - -@media (min-width: 992px) { - #landing #how-it-works #how-tabs-container #how-tabs span { - padding: 8px 16px; - margin: 0 40px; - } -} - -#landing #how-it-works #how-tabs-container #how-tabs span:active, -#landing #how-it-works #how-tabs-container #how-tabs span:focus, -#landing #how-it-works #how-tabs-container #how-tabs span:hover { - color: #2f60ce; -} - -#landing #how-it-works #how-tabs-container #how-tabs span.hiw-selected-tab { - color: #2f60ce; - border-bottom: 4px solid #2f60ce; -} - -#landing #how-it-works #how-tabs-container .tab-content #how-disclaimer { - font-size: 20px; - font-weight: 300; - font-stretch: normal; - font-style: normal; - line-height: 1.45; - letter-spacing: normal; - text-align: center; - padding: 0 16px 52px 16px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - max-width: 768px; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin: auto; -} - -@media (min-width: 992px) { - #landing #how-it-works #how-tabs-container .tab-content #how-container-m { - display: none; - } -} - -#landing #how-it-works #how-tabs-container .tab-content #how-container { - display: none; - overflow: auto; -} - -@media (min-width: 992px) { - #landing #how-it-works #how-tabs-container .tab-content #how-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - } -} - -#landing #how-it-works #how-tabs-container .tab-content .how-box-spacer { - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: reverse; - -ms-flex-direction: column-reverse; - flex-direction: column-reverse; - width: 20%; - min-width: 220px; - padding: 0 10px; -} - -@media (min-width: 992px) { - #landing #how-it-works #how-tabs-container .tab-content .how-box-spacer { - margin: 0 1%; - padding: 0; - } -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .how-box { - margin-top: 74px; - display: block; - height: 100%; - background-color: #fff; - border-radius: 4px; - text-align: center; -} - -@media (min-width: 992px) { - #landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .how-box { - -webkit-box-shadow: 0 4px 13px rgba(0, 0, 0, 0.1); - box-shadow: 0 4px 13px rgba(0, 0, 0, 0.1); - margin-bottom: 13px; - } -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .how-box - .how-details { - padding: 122px 20px 27px 20px; -} - -#landing #how-it-works #how-tabs-container .tab-content .how-box-spacer img { - position: absolute; - top: 0; - left: 50%; - -webkit-transform: translate(-50%, 0); - transform: translate(-50%, 0); - max-width: 90%; -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .email-img1, -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .storage-img1 { - margin-top: 19px; -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .storage-img2 { - margin-top: 38px; -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .email-img2 { - margin-top: 29px; -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .email-img3, -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .storage-img3 { - margin-top: 0; -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .storage-img4 { - margin-top: 45px; -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .email-img4 { - margin-top: 20px; -} - -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .email-img5, -#landing - #how-it-works - #how-tabs-container - .tab-content - .how-box-spacer - .storage-img5 { - margin-top: 38px; -} - -#landing #how-it-works #how-tabs-container .tab-content .how-number { - margin: 0 auto; - font-size: 20px; - font-weight: 800; - line-height: 1.45; - text-align: center; - color: #2f60ce; - margin-bottom: 24px; - width: 40px; - height: 40px; - border: solid 2px #2f60ce; - border-radius: 20px; - padding-top: 2px; -} - -#landing #how-it-works #how-tabs-container .tab-content .how-text { - font-size: 18px; - font-weight: 300; - font-stretch: normal; - font-style: normal; - line-height: 1.39; - letter-spacing: normal; - text-align: center; - color: #484848; -} diff --git a/src/public/modules/core/css/landing.css b/src/public/modules/core/css/landing.css deleted file mode 100644 index 71cfdc6501..0000000000 --- a/src/public/modules/core/css/landing.css +++ /dev/null @@ -1,747 +0,0 @@ -#landing { - overflow-x: hidden; -} - -/* HERO */ - -#landing #landing-hero { - background-color: #f0f4f6; - height: auto; - overflow: auto; -} - -@media not all and (min-width: 992px) { - #landing #landing-hero #landing-header, - #landing #landing-hero #landing-banner { - display: none; - } - - #landing #landing-hero #landing-header-m, - #landing #landing-hero #landing-banner-m { - display: block; - } -} - -@media all and (min-width: 992px) { - #landing #landing-hero #landing-header, - #landing #landing-hero #landing-banner { - display: block; - } - - #landing #landing-hero #landing-header-m, - #landing #landing-hero #landing-banner-m { - display: none; - } -} - -#landing #landing-hero #landing-header { - padding-top: 45px; - padding-left: 8%; - padding-right: 8%; - height: 100px; -} - -#landing #landing-hero #landing-header img { - float: left; - height: 48px; - margin-top: -5px; -} - -#landing #landing-hero #landing-header button { - float: right; - width: 120px; - height: 48px; -} - -#landing #landing-hero #landing-header a { - float: right; - font-weight: 600; - letter-spacing: 0.2px; - color: #323232; - outline: none; - text-decoration-line: none; - margin-right: 55px; - margin-top: 12px; -} - -#landing #landing-hero #landing-header a:hover { - color: #2f60ce; - text-decoration-line: none; -} - -#landing #landing-hero #landing-header-m { - background-color: #fff; - height: 54px; -} - -#landing #landing-hero #landing-header-m img { - float: left; - height: 28px; - margin: 13px; -} - -#landing #landing-hero #landing-header-m #sign-in-m { - padding: 13px; - float: right; - width: 118px; - height: 100%; - background-color: #2f60ce; - color: #fff; - font-size: 18px; - font-weight: bold; - letter-spacing: 1.2px; - text-transform: uppercase; - text-align: center; - cursor: pointer; -} - -#landing #landing-hero #landing-header-m #sign-in-m:hover { - background-color: #23489b; -} - -#landing #landing-hero #landing-header-m a { - float: right; - font-weight: 600; - letter-spacing: 0.2px; - color: #323232; - outline: none; - margin: 13px 21px 13px 13px; -} - -#landing #landing-hero #landing-banner { - margin-top: 40px; - padding-left: 8%; - padding-right: 8%; - padding-bottom: 60px; -} - -#landing #landing-hero #landing-banner #tagline { - font-size: 64px; - font-weight: 1000; - line-height: 1.2; - letter-spacing: -0.3px; - color: #323232; - width: 100%; -} - -#landing #landing-hero #landing-banner #main { - margin-top: 30px; - display: flex; - align-items: flex-end; -} - -#landing #landing-hero #landing-banner #main #main-left { - width: 65%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -#landing #landing-hero #landing-banner #main #main-left #stats { - display: flex; - margin-top: 30px; - margin-right: 30px; -} - -#landing #landing-hero #landing-banner #main #main-left #stats .stat-counts { - font-size: 36px; - line-height: 0.89; - letter-spacing: 1.2px; - color: #23489b; - font-weight: 350; -} - -#landing #landing-hero #landing-banner #main #main-left #stats .stat-titles { - opacity: 0.8; - font-family: Muli, sans-serif; - font-size: 12px; - line-height: 2.67; - letter-spacing: 1.2px; - text-transform: uppercase; - color: #484848; - margin-left: 20px; -} - -#landing - #landing-hero - #landing-banner - #main - #main-left - #stats - .stat-counts - div { - text-align: right; - margin-bottom: 25px; -} - -#landing - #landing-hero - #landing-banner - #main - #main-left - #stats - .stat-titles - div { - margin-bottom: 25px; -} - -#landing #landing-hero #landing-banner #main #main-left button { - margin-top: 42px; - height: 54px; - padding: 10px 18px; -} - -#landing #landing-hero #landing-banner #main #main-right { - width: 65%; -} - -#landing #landing-hero #landing-banner #main #main-right img { - width: 100%; - margin-top: -85px; -} - -#landing #landing-hero #landing-banner-m { - padding: 41px 18px 52px 13px; - text-align: center; -} - -#landing #landing-hero #landing-banner-m #tagline-m { - font-size: 30px; - font-weight: 800; - line-height: 1.09; - letter-spacing: -0.3px; - color: #323232; - margin-bottom: 20px; -} - -#landing #landing-hero #landing-banner-m img { - width: 90%; - margin-bottom: 10px; -} - -#landing #landing-hero #landing-banner-m .stat-count-m { - font-size: 36px; - line-height: 0.89; - letter-spacing: 1.2px; - color: #23489b; - margin-bottom: 12px; -} - -#landing #landing-hero #landing-banner-m .stat-title-m { - opacity: 0.8; - font-size: 12px; - line-height: 2.67; - letter-spacing: 1.2px; - color: #484848; - text-transform: uppercase; - margin-bottom: 30px; -} - -#landing #landing-hero #landing-banner-m button { - width: 95%; -} - -/* EXAMPLES */ - -#landing #landing-examples { - background-color: #04aa80; - width: 100%; - height: auto; - overflow: auto; - padding-top: 60px; - padding-bottom: 60px; - color: #fff; -} - -@media not all and (min-width: 768px) { - #landing #landing-examples { - padding-left: 10px; - padding-right: 10px; - } -} - -@media all and (min-width: 768px) { - #landing #landing-examples { - padding-left: 0; - padding-right: 0; - } -} - -#landing #landing-examples #example-header { - text-align: center; - font-size: 32px; - font-weight: 800; - line-height: 1.19; - color: #fff; - margin-bottom: 60px; -} - -#landing #landing-examples #carousel .c-example { - position: relative; - display: inline; - cursor: pointer; -} - -#landing #landing-examples #carousel .c-example img { - display: block; - width: 95%; - height: 100%; - margin: 0 2.5%; - box-shadow: 0 4px 13px rgba(0, 0, 0, 0.1); - transition: 0.5s ease; - z-index: 1; -} - -#landing #landing-examples #carousel .c-example .c-overlay { - display: flex; - align-items: center; - justify-content: center; - position: absolute; - top: 0%; - left: 0; - width: 95%; - margin: 0 2.5%; - height: 100%; - background-color: rgb(30, 62, 132); - transition: 0.5s ease; - opacity: 0; - z-index: 9; - text-align: center; - color: #fff; - font-size: 18px; - letter-spacing: 0.9px; - padding-left: 5%; - padding-right: 5%; - visibility: hidden; -} - -#landing #landing-examples #carousel .c-example:hover img { - opacity: 0.4; -} - -#landing #landing-examples #carousel .c-example:hover .c-overlay { - opacity: 0.85; - visibility: visible; -} - -#landing #landing-examples #carousel .c-example .c-overlay .c-overlay-content { - width: 100%; -} - -#landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-agency { - font-size: 24px; - font-weight: bold; -} - -#landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-btns { - width: 100%; -} - -#landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-btns - a { - display: inline-block; - cursor: pointer; - text-decoration: none; - height: 54px; - background: none; - border-radius: 4px; - border: solid 1px #fff; - font-size: 18px; - font-weight: bold; - line-height: 1.22; - letter-spacing: 1px; - text-align: center; - color: #fff; - text-transform: uppercase; - margin-left: 1%; - margin-right: 1%; - padding-top: 14px; - padding-bottom: 18px; - outline: none; -} - -@media not all and (min-width: 768px) { - #landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-btns { - margin-top: 10px; - } - - #landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-btns - a { - width: 45%; - } -} - -@media all and (min-width: 768px) { - #landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-btns { - margin-top: 40px; - } - - #landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-btns - a { - width: 35%; - } -} - -#landing - #landing-examples - #carousel - .c-example - .c-overlay - .c-overlay-content - .c-overlay-btns - a:hover { - background-color: #fff; - color: #1e3e84; -} - -.carousel-controls { - margin-top: 40px; - display: flex; - justify-content: center; -} - -.carousel-prev { - font-size: 40px; - margin-right: 10px; - cursor: pointer; -} - -.carousel-next { - font-size: 40px; - margin-left: 10px; - cursor: pointer; -} - -.carousel-prev:hover, -.carousel-next:hover { - opacity: 0.5; -} - -.carousel-dots { - margin-top: 13px; -} - -.carousel-dots .c-dot { - height: 10px; - width: 10px; - background-color: #d8d8d8; - border-radius: 50%; - display: inline-block; - margin-left: 15px; - margin-right: 15px; -} - -.carousel-dots .c-dot.dotted { - background-color: #e1b12c; -} - -/* FEATURES */ - -#landing #landing-features { - background-color: #fffefe; - height: auto; - overflow: auto; -} - -@media all and (min-width: 992px) { - #landing #landing-features { - padding: 90px 10% 0 10%; - } - - #landing #landing-features .feature-img { - height: 500px; - } - - #landing #landing-features .feature1 .feature-content, - #landing #landing-features .feature3 .feature-content { - margin-left: 120px; - } - - #landing #landing-features .feature2 .feature-img { - display: inline-block; - } - - #landing #landing-features .feature2 .feature-img-m { - display: none; - } - - #landing #landing-features .feature2 .feature-content { - margin-right: 80px; - } - - #landing #landing-features .feature { - margin-bottom: 175px; - display: flex; - align-items: center; - } -} - -@media not all and (min-width: 992px) { - #landing #landing-features { - padding: 60px 10% 30px 10%; - } - - #landing #landing-features .feature2 .feature-img { - display: none; - } - - #landing #landing-features .feature2 .feature-img-m { - display: inline-block; - } - - #landing #landing-features .feature1 .feature-img, - #landing #landing-features .feature2 .feature-img-m, - #landing #landing-features .feature3 .feature-img { - width: 60%; - min-width: 240px; - text-align: center; - float: none; - } - - #landing #landing-features .feature1 .feature-content, - #landing #landing-features .feature2 .feature-content, - #landing #landing-features .feature3 .feature-content { - text-align: left; - width: 100%; - float: none; - } - - #landing #landing-features .feature .feature-content .feature-title { - margin-top: 30px; - } - - #landing #landing-features .feature { - margin-bottom: 60px; - text-align: center; - } -} - -#landing #landing-features .feature .feature-content { - padding-top: 15px; -} - -#landing #landing-features .feature .feature-content .feature-title { - font-size: 32px; - font-weight: 800; - line-height: 1.25; - color: #2f60ce; - margin-bottom: 32px; -} - -#landing #landing-features .feature .feature-content .feature-text:not(i) { - opacity: 0.8; - font-size: 18px; - line-height: 1.7; - color: #444; -} - -#landing #landing-features .feature .feature-content .feature-text i { - opacity: 1; - font-size: 20px; - margin-right: 18px; - margin-top: 10px; - color: #04aa80; -} - -/* TESTIMONIALS */ - -@media all and (min-width: 992px) { - #landing #agency-testimonials #testimonials .c-testim .c-text { - margin-top: -40px; - margin-left: 100px; - } - - #landing #agency-testimonials #testimonials .c-testim .c-name-agency { - margin-left: 100px; - } -} - -@media not all and (min-width: 992px) { - #landing #agency-testimonials #testimonials .c-testim .c-text { - margin-top: 0; - margin-left: 0; - } - - #landing #agency-testimonials #testimonials .c-testim .c-name-agency { - margin-left: 0; - } -} - -#landing #agency-testimonials { - background-color: #fff; - padding: 60px 10% 90px 10%; -} - -#landing #agency-testimonials #testimonials .c-testim .c-quote { - font-size: 50px; - color: #04aa80; -} - -#landing #agency-testimonials #testimonials .c-testim .c-text { - font-size: 24px; - font-weight: 300; - line-height: 1.44; - letter-spacing: -0.5px; - color: #04aa80; - margin-bottom: 20px; -} - -#landing #agency-testimonials #testimonials .c-testim .c-name-agency { - opacity: 0.8; - font-size: 16px; - line-height: 1.25; - color: #323232; - float: left; -} - -#landing #agency-testimonials .carousel-prev, -#landing #agency-testimonials .carousel-next { - color: #d8d8d8; -} - -#landing #agency-testimonials .carousel-controls { - margin-top: 40px; -} - -#landing #agency-testimonials .carousel-prev:hover, -#landing #agency-testimonials .carousel-next:hover { - color: #484848; -} - -#landing #agency-testimonials .carousel-dots { - display: block; - text-align: center; -} - -/* SIGN UP SECTION */ - -@media all and (min-width: 992px) { - #landing #sign-up-section { - padding: 100px 20%; - } - - #landing #sign-up-section #actions { - display: block; - } - - #landing #sign-up-section #actions-m { - display: none; - } -} - -@media not all and (min-width: 992px) { - #landing #sign-up-section { - padding: 60px 10%; - } - - #landing #sign-up-section #actions { - display: none; - } - - #landing #sign-up-section #actions-m { - display: block; - } -} - -#landing #sign-up-section { - background-color: #2f60ce; - color: #fff; - text-align: center; -} - -#landing #sign-up-section #primary-text { - font-size: 32px; - line-height: 1.19; - margin-bottom: 35px; -} - -#landing #sign-up-section #secondary-text { - font-size: 20px; - line-height: 1.6; - margin-bottom: 40px; -} - -#landing #sign-up-section #actions, -#landing #sign-up-section #actions-m { - text-align: center; -} - -#landing #sign-up-section #actions .sign-up-now-btn, -#landing #sign-up-section #actions-m .sign-up-now-btn { - min-width: 200px; - height: 54px; - border-radius: 4px; - border: none; - background-color: #fff; - font-size: 18px; - font-weight: bold; - letter-spacing: 1.2px; - text-align: center; - color: #2f60ce; - text-transform: uppercase; -} - -#landing #sign-up-section #actions .sign-up-now-btn { - margin-right: 35px; -} - -#landing #sign-up-section #actions-m .sign-up-now-btn { - margin-bottom: 25px; - width: 90%; -} - -#landing #sign-up-section #actions .sign-up-now-btn:hover, -#landing #sign-up-section #actions-m .sign-up-now-btn:hover { - transform: scale(0.95); -} - -#landing #sign-up-section #actions .sign-up-help, -#landing #sign-up-section #actions-m .sign-up-help { - margin-top: 15px; - font-size: 18px; - letter-spacing: 1.2px; - text-align: center; - color: #fff; -} diff --git a/src/public/modules/core/css/navbar.css b/src/public/modules/core/css/navbar.css deleted file mode 100644 index 4fc824eb6f..0000000000 --- a/src/public/modules/core/css/navbar.css +++ /dev/null @@ -1,110 +0,0 @@ -.form-navbar { - width: 100%; - background-color: #fff; - border-bottom: solid 1px #e4e4e4; - height: 60px; - padding: 15px 24px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} - -@media (min-width: 768px) { - .form-navbar { - height: 80px; - padding: 19px 30px; - } -} - -.form-navbar--left { - height: 28px; - padding-right: 10px; -} - -@media (min-width: 768px) { - .form-navbar--left { - height: 40px; - } -} - -.form-navbar__logo { - height: 100%; -} - -.form-navbar__email { - margin-right: 16px; - font-size: 16px; - color: #767676; - cursor: default; -} - -.form-navbar--right { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.form-navbar__links { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.form-navbar__links a:last-child { - margin-right: 48px; -} - -.form-navbar__link { - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - height: 60px; - font-weight: 600; - letter-spacing: 0.2px; - color: #323232; - cursor: pointer; - text-decoration: none; - font-size: 14px; - margin-right: 10px; - padding: 0 5px; -} - -@media (min-width: 768px) { - .form-navbar__link { - height: 80px; - margin-right: 18px; - font-size: 16px; - } -} - -.form-navbar__link:hover { - color: #2f60ce; - text-decoration: none; -} - -.form-navbar__link--active { - border-bottom: 4px solid #2f60ce; - height: 56px; - margin-bottom: -4px; -} - -@media (min-width: 768px) { - .form-navbar__link--active { - height: 76px; - } -} diff --git a/src/public/modules/core/css/sg-govt-banner.css b/src/public/modules/core/css/sg-govt-banner.css deleted file mode 100644 index 12359b4b10..0000000000 --- a/src/public/modules/core/css/sg-govt-banner.css +++ /dev/null @@ -1,90 +0,0 @@ -@font-face { - font-family: 'sgds-icons'; - src: url('../resources/fonts/sgds-icons.ttf') format('truetype'), - url('../resources/fonts/sgds-icons.woff') format('woff'); - font-weight: normal; - font-style: normal; -} - -/* stylelint-disable */ -.sgds-icon { - /* use !important to prevent issues with browser extensions that change fonts */ - font-family: 'sgds-icons' !important; - font-style: normal; - font-weight: normal; - font-variant: normal; - text-transform: none; - line-height: 1; - - /* Better Font Rendering =========== */ - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -/* stylelint-enable */ - -.sgds-icon-sg-crest::before { - content: '\e948'; - color: #db0000; -} - -.sgds-masthead { - position: relative; - background-color: #f0f0f0; - height: auto; - padding: 4px 0; - font-size: 14px; -} - -@media screen and (max-width: 1023px) { - .sgds-masthead { - padding-left: 4px; - padding-right: 4px; - } -} - -.sgds-masthead .is-text { - margin-left: 4px; -} - -.sgds-masthead .sgds-icon { - font-size: 20px; -} - -.sgds-masthead a { - color: #484848; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.sgds-masthead a:hover { - color: #151515; -} - -#sg-govt-banner { - padding-left: 8%; - padding-right: 8%; - background-color: #f0f0f0; -} - -#sg-govt-banner.banner-x-padding-small { - padding-left: 4px; - padding-right: 4px; - background-color: #f0f0f0; -} - -@media screen and (max-width: 992px) { - #sg-govt-banner { - padding: 0; - } -} - -#sg-govt-banner a:focus, -#sg-govt-banner a:active, -#sg-govt-banner a:hover { - color: #000; - text-decoration: none; -} diff --git a/src/public/modules/core/css/toolset-dropdown.css b/src/public/modules/core/css/toolset-dropdown.css deleted file mode 100644 index 6951208391..0000000000 --- a/src/public/modules/core/css/toolset-dropdown.css +++ /dev/null @@ -1,58 +0,0 @@ -.toolset_dropdown_div { - position: relative; - display: -webkit-inline-box; - display: -ms-inline-flexbox; - display: inline-flex; - height: 55px; - float: right; -} - -.toolset_dropdown { - cursor: initial; - z-index: 1000; - width: 280px; - position: absolute; - top: 55px; - -webkit-box-shadow: 1px 3px 5px 0 rgba(48, 51, 54, 0.2); - box-shadow: 1px 3px 5px 0 rgba(48, 51, 54, 0.2); - background-color: #fff; -} - -.toolset_dropdown ul { - list-style: none; - padding: 0; - margin: 0; -} - -.toolset_dropdown ul li { - padding: 0; - border-bottom: 1px solid #dcdcdc; -} - -.toolset_dropdown_anchor_wrapper { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - padding-right: 24px; - padding-left: 24px; - padding-top: 18px; - padding-bottom: 18px; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.toolset_dropdown_anchor { - text-decoration-line: underline !important; - color: #2f60ce !important; - cursor: pointer; -} - -.toolset_dropdown_list_anchor { - margin: 0 0 0 0 !important; - text-decoration-line: none !important; -} - -.toolset_dropdown_list_anchor:hover { - color: #2f60ce !important; -} diff --git a/src/public/modules/core/directives/on-click-outside.client.directive.js b/src/public/modules/core/directives/on-click-outside.client.directive.js deleted file mode 100644 index 7ee35d17c9..0000000000 --- a/src/public/modules/core/directives/on-click-outside.client.directive.js +++ /dev/null @@ -1,42 +0,0 @@ -// Retrieved from https://codepen.io/robmazan/pen/gbeagj - -angular - .module('core') - .directive('onClickOutside', [ - '$document', - '$parse', - '$timeout', - onClickOutside, - ]) - -function onClickOutside($document, $parse, $timeout) { - return { - restrict: 'A', - compile: function (tElement, tAttrs) { - const fn = $parse(tAttrs.onClickOutside) - - return function (scope, iElement, iAttrs) { - function eventHandler(ev) { - if (iElement[0].contains(ev.target)) { - $document.one('click touchend', eventHandler) - } else { - scope.$apply(function () { - fn(scope) - }) - } - } - scope.$watch(iAttrs.onClickWatcher, function (activate) { - if (activate) { - $timeout(function () { - // Need to defer adding the click handler, otherwise it would - // catch the click event from ng-click and trigger handler expression immediately - $document.one('click touchend', eventHandler) - }) - } else { - $document.off('click touchend', eventHandler) - } - }) - } - }, - } -} diff --git a/src/public/modules/core/directives/route-loading-indicator.client.directive.js b/src/public/modules/core/directives/route-loading-indicator.client.directive.js deleted file mode 100644 index 6afa98f984..0000000000 --- a/src/public/modules/core/directives/route-loading-indicator.client.directive.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict' - -angular - .module('core') - .directive('routeLoadingIndicator', ['$rootScope', routeLoadingIndicator]) - -function routeLoadingIndicator($rootScope) { - return { - restrict: 'E', - template: ` -
- -
`, - link: function (scope) { - scope.isRouteLoading = false - - $rootScope.$on('$stateChangeStart', function () { - scope.isRouteLoading = true - }) - - $rootScope.$on('$stateChangeSuccess', function () { - scope.isRouteLoading = false - }) - }, - } -} diff --git a/src/public/modules/core/img/billing.svg b/src/public/modules/core/img/billing.svg deleted file mode 100644 index 8f34780148..0000000000 --- a/src/public/modules/core/img/billing.svg +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/build-illustration.svg b/src/public/modules/core/img/build-illustration.svg deleted file mode 100644 index 34d88a782b..0000000000 --- a/src/public/modules/core/img/build-illustration.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/bx-image-add.svg b/src/public/modules/core/img/bx-image-add.svg deleted file mode 100644 index b08777f325..0000000000 --- a/src/public/modules/core/img/bx-image-add.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/public/modules/core/img/download-icon.svg b/src/public/modules/core/img/download-icon.svg deleted file mode 100644 index 1b11182df7..0000000000 --- a/src/public/modules/core/img/download-icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/public/modules/core/img/emergency-contact.svg b/src/public/modules/core/img/emergency-contact.svg deleted file mode 100644 index c63f2b983c..0000000000 --- a/src/public/modules/core/img/emergency-contact.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/public/modules/core/img/error-illustration.svg b/src/public/modules/core/img/error-illustration.svg deleted file mode 100644 index 66a819853d..0000000000 --- a/src/public/modules/core/img/error-illustration.svg +++ /dev/null @@ -1,39 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/favicon.ico b/src/public/modules/core/img/favicon.ico deleted file mode 100644 index a4317939110ce242429fc94d092d8ae174439f12..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15086 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 diff --git a/src/public/modules/core/img/govtech.jpg b/src/public/modules/core/img/govtech.jpg deleted file mode 100644 index 057d5516089ecde84cbe5f332bf2df64fa20bee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31186 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 diff --git a/src/public/modules/core/img/info-icon.svg b/src/public/modules/core/img/info-icon.svg deleted file mode 100644 index 6e5d622873..0000000000 --- a/src/public/modules/core/img/info-icon.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/public/modules/core/img/landing/restricted__1-MOM.png b/src/public/modules/core/img/landing/restricted__1-MOM.png deleted file mode 100644 index e34dc5026965a8cd21dcc642c2d5aca4ba238c34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37561 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:iuQAVaxz6T=$m(+U z-1-dV`lU*n@psCX-_$qOU7c=+wa?nlbtl$4 ze+p`=x!aX5Oc_y#M{hCCE*?s<{-9FPPdP4)H=+`&4F(G9w8=&=qr37hd~`%whr7hu zT<8bCWtiH&?=K{?B3+r$5bn=c1)Af>j_V9hxy%}=b^O!uieJ6Lw*~qtKCX)_z*axq z4zKHh&C3@yVu8-ZQp2?LxHhuGd0HYFt AApigX diff --git a/src/public/modules/core/img/landing/restricted__2-MOE.png b/src/public/modules/core/img/landing/restricted__2-MOE.png deleted file mode 100644 index 035a812bddd26ce4f5c87791b3cc86e27d3c1c4a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 151779 zcmZsBRajiX((N7wcPF?@a0n12zyx>qpg{u!2<{973l`jEaCZ#^50(TNf#uw7uIj2FKF~k&&ODpO=@Hi;IhcgM*ow`SIa_fq~)W%a^RItU^LUyPjURx3`yrKPRFKo%7h6&4n5Vq;TQR;H$=J{TVH^z?LcaymOZ+uhy0zrS~LbDNo&k&uws z-`^h|9^Tm4`0(L_l$6w)H*aKQWFQd8&CN|(TAHP$rKYB4Nl8gwUS2~(!|Lj)oSfX@ z;bCoUt&NS1f`Y=%&d&Gm-?z55!o$PAefyT2oV>ie+}qo$qob3Mknoq4#l^)13WWv) z1hlrcIyg8iEG&?dlV@jV8yOi*PEO9v&HerRS6y9QRaLdHuyA5xVsvygBO_yceEjq0 z&w6@#zkdB{YHEs%j5IYht*EGoiHY&{_U`KHDl03?&(H7g?;jW#FgG`kii)bLs(QS> z_Vx8OFffRVi(8YEf4se2UtfQ?xLD@r|M~N$v9U1;3CTPu!HS5eiHS)_NXW9F;L+EF zC2p<;db-=izyF4Z>nJH!#Kl)3Z*L~2PV);kG&Jtk*Uu^{FME3C332X^k8hV(mUwy3 z8yaqA=eEquk5kf4vU9fITONdj{`>v=;q>f&dwbK+=ze!^Q%`?GOXsYn=6W1{_2b83 zRP-Dk`ekS5{lVdywCs6v^Ueo{t#>BtO3D{)ZR=`kPj~mYxVZa)L1!f;2-}i)?J`Dyq9~9tcOLS#(h6TdA$4rdB?_*{JCK9|Mc&>E{cJ zlffZyPw!F3k3aPEPyS5)L+m2HfB$K1Gi++UURl|vq1mgVxksn3^Wxw6-1|Wy|6SbRE>ZbN zmDtN9$LM*-)ck*uSoV zhnN0x3ve)0IrkOM8XpqGj45D?DnPmomFMbt#ZLr$zveG6}?YEAs|P20QWh7^uwES3O%j5K}Vt zSgo9gHj3^k6HPrv~) z*KPm&1^vh6UL~fG%yB5Gh&R5N+P{ts>_(A*1i7qu6c?Gq4^<0gJ(HDOp>iDS>)77I z3&i-c&-OxT`V>>Fr{@G&nWQ+r!Lu7|JE=JW(i6e$A^+6)g;0i7-GS`bcAQ4P{Y2Wo zKhwp(r)2%fepJ2ZoP*i~-0xKoGzU7u9D)KN9lw>@E(lr>pt;w!jSI=!u1E_+dptiw zCiQuvqa~SPf__>(@2U+$^#1yT5NKrZsOKZWM3B$eY^fp(n51AvJW8ywsk3g+MbBFl z>v$`TtU!XIf0$xrd=Wv3oL=lXtuknGU)p}W8keKxsQ(ifJSr=bh&q9 zJ#)Q=koxV#1iN|g=BM~0f1!zPXOrjAiHMh6ckLXB>m;}Sq2gZ-)4u$2QQF4*0l2=vixs?<EeT@$WAn=wnm< zKn@fjX%0XltzcCNHOPSX>>3N9_WH&xS)Z$lX{2P_+846Od~?0qluQ4O#Q@VJW8?VX zcA-oNR|(<(;m9^oAq$u5)p)*OI*@aAXi@~e##YuG1Z&XvYzwKUc*8_2<^v@rk?1YcTF`&VG@6;2KYgDds^w`J#yPqBJ! z=D$l|&zFtO9^7df#>LR1YU~90#eae1tL+LTzP!!J=7w4&_&0961~4ZJe(j>PM$gO1 z6+V9g(}$)(!5tB|uwt;oYb4QW5d4}K7C}N6z+Hsmp5A@i?S9XMx(XGz)e+c6xk!zk z1!US~d47FM$t1s^{LhZ;utI`WPCgzW0r4aX>v)F`FH!5Nm!(8!rp|ivx7o3)6Vy3) zX-5QM=J6DRb>g_M>6k(!Klx6l>?>}M<>X-66#}7|vc97&#+bSP4H(W>V~(#qa{aEe zw?dEiEO!J;J-_i;1PRO_u=lK`f28_o@RGmKrQuf z%X(*rz6H5oR9betmTwGQpSVtx^ePjR(3=w0x!2_{?nMMEm%9`le2X9h-IlUwj63O% z=RRRTDwiW`<)vl+S`c${IsIYf%OHa}r|)09Q(mVtd7y`U9;Qv-UQnG!LhNHawr4mM z&1owQF1^0|iyMO%)DgN7hIH|-(83wq#2`L!QoN&n6MjUCB%nI<&HlDb=ahtrSFL|T2Mf3(f{zbx8K)l4Sl zZsk2oCA_4EyP2Xf8SkM}abn_bv*mGdRza?3Gw46nQ4LJprAOPr`t;Z;e)Lo=_Czia zf6%0Q@rVTBXy^{DJeT?&k1{QU!W1_I`#Q&=~P*SG&z9?k9p$gL9+Os*m-h9=!G;Z!*Bb&tQ>@yE}}jqmfrhGK)c z1p(+ff)+O|W~!xI29|X6yMz$0%2?yS;kGE2(h}k}k6jwHGTC)7^kG6+;{LuI);98aGbP!SLBVMgkE=S^|(Gjh9)Ap06;-zcj zpx4U#{tf#s!_~!cOO1NfiqD)XD4QZRug1*dU3XpqMD?YH5h%?p7#CLJ%7t0I5-C*`H>%m-M~ z+0`hhE9`aOL=4^AcQ|18A#8zI)1+%7aaUY8Vk&4cWvAaKpnkLd>TR<* zp}Jj^q_nFmnzH@4Izt0Zm#=Lq_L^!XDnrIx9VcS#*}H#C?_omFS{G8d>1&RhgN1L% zkEEqM63lM*hx*t%%+3n@PJ}cbhG{+}tS#c#OXoFre$Wf3q&+{+?+)&iQQep-QtVMK z)Ko1udJ|FE+vHNkm8z*-ZDQs%yI(1{?+|1AQsP%R`v=VPEIG-zzn4UQQa&kpvpuU- z@eVp2Ob&$H<;5`Alxsqcy8gV0;MM_oRQRCJ(o+kz!%wrMj=x*nUf;m(FA5pK9DYxBh`a;*<%?F4hsp6sreu-`p0uV9L{z$mJ(!%F&VP2|&u{7V^^ zuE>4DPMV`xX-|RO_fPY!+;+E6%XGS-RUodnn?3&fi`FYal+wY(@njV@8^VhF(}VM7 zq*B>=Y)9M4f{TyP)FvH|VMD%{e=mPzlJ=!xojztGyNIdIUBBSwz`YW-@%=a#7F=rF zV!Jh3n@!YofOnH_j;|8ZxQjKz7>cESd>2J>eD3lAR4s~E6HxD+5-tHa`>l<5A*Xk6 z?v=0jw-A3N{jh|DD1)11_~6W#aeWUX{5kDABmHGAx@hrMx7e=^Olu#I@_+%^-<_6) z+D!Lu_i_(#|4DjVBHkztbG*UTFOfhgIL%5;DeLPykl1~oBQln?2~^&4A3^G*t-|W; zEM!o4zgK9ULTQ^^;`f4FO#-={_n&9t1XJ5X?!u6A|K>ZZD z?4Vmc+G6;ne(x|^*4TCWj=J?q3Hc2sge)uDffPyh!BW}FAuXJIf*8aRop~ohWGK;PmxAQv6D+Dch=6g4S&4}hfd37 zFJpxYlius`a&nD|@l8~{S*87*$a{2IH)}CBoc7pvG)?x(i5h}wI21;+iy3ZuGIJzV z*9{^9SbV)`uf`+IYC`nf*1yULjSJV#Q5($ZF}EdwlcElzK=L2EOwBHR;!g*PiVe*? z_F6u_u_gJ(RK0*+i|nY+`EfuX)=UB}NFGQ>aCu23$puI=ApHN$DGB;7| zE|dB}ZyXxbmM(wz66%dyUWdAw^2oSR#bwV@N~F0%)R#XI<`)$=9=$ViM$MPY6s8jq zZbR~63Lt|u>nv0E?@gP#H=)63tn45k^201oYG|0UUz#@9&3|II^F_~OnP$FW2>vr3 zb>})7ib;*clIQSw#MUXSy*?|9sX_mG{^{V47Qvi!hjiG9Zr;YPC?Ai!zcbJeG`W|V6yw{5wmq5wV>WqtmE zN1rDX^TJ;ZW_cQItU8!`ccBi{g@V(d+96@ULh4kBv*Qr>vuF zJ?XjAl&)V$qQXC!$GidIR`-|-qrZbN3Ms#USU7(DrSfabl39V$T8e%h$&7aT1(kuw z*sn=!c@6I3yjX~SeMk`q9%)A47)Uj~Q%TzU6OX(`d9#{CMP+Ae8Xe(;yzeb<@n9{= zO`HfJpOnhyT@FdD+HjLk9t@6;L{hT|*DyZ*Ojz-~7b6!*IFx_L^_whG65*XHbjF5@ z5In<|r>7u9q{}Eq3uNH;yV?Au=-yjn>G~8Wl8?g|rx-IH3~B++4bsQ4h{2L$8+KGf zVJ~|&`U!R#>d1og{xLO}y6T$7ieazi3d98XckKg(>Z5>NK)Cw^xv>;`lBebWtTz?*eIDdH&_y#?1dhYAU!npG|RHp~q6{)tAm@>4Pxl zo82o;o&Mq+$Bi91`FqBvC>WMusSwrpsGYwDV`qGm7LLlJFpWM-D=0H%gh@t^mr9zJ zshSghrr4+R=fF;<2EWKPdx+vfbj*Jg1J01%nxB9R*2`2}r<6)LWjm)YkZ5sXH3R({ z6!cPIckigwwtMVJ)7OcBO3!o%bpi8YgznGjS~^H?eLR z;Pn{mYnX>RSGL099rJvbGweya3%ew$z7+n>z7#~hY}PH?)Mj^AP}F`wLH#S<0d2hz z-Yw|=Ddhly#5yNcoa5wwW_TM){N61EOMIQ5CmiL9N>#K59i*3GwE>p09W_9o7kZ9R$u_N@2@<{`3 zr9A_Bk$bYcPgwqkf zb;OIT-c83t4qKm`ePE$!h)Tmq&N17?k{lxDQ$ zF)gzo#@gfeK6nH|)ySy>?c>$|%V1~G5KEJLp(4L;+BH*KPt+gfPb5rxR< zSZ1HNv34V?FLdM}d~%8?SRP@8YqE03uc#4fQLm>9;W zS1q;PcS4Y_`7IC+j@~2@;j+V+`dECTAjNz0C!9yGHK6LPG5#o*J1+d>lGfl&cWBk? z;eh_+BlqeCZm%<-dF*h^+qp(K&TVvF2r z4c~uD`@_+-pe4ML6|#zct_mTal!##-U66+3{S?XtZDju_@HizTIB!}Xj`ivTG3@-U zky%7rS4qCLCiCi!hXcbZa@6$NtKDh_*Yg5!+`GW&H?p|`TBoyISTGSPG&QG!N6eQO zt#n$x$=JV=XuMN{LgG(`c)#JNJgxkvoQyUo)ec|Lf-#0Zy8ULCvY5WkD1GJoqz!Nh z9KOyiK;l0{`2}r6&KXh{2Vp7R)=C(!WIc&pxhyrZ`+ zQ)X9ip`eSJi{wQTLzpcN9yPE39aLM6PzX-cN-!Wlq@^4ZvF*Gt|oYFgzUYF;5wDbbQVvFDY#bi&eSjYO%E?1&eEX$J@ zj<0EUi6me@ao0Z8!@%CpdqqevD~gYOs7IL7Cd0v4; zm8xImY6hikC?b^56k6AS2WV@glYdq0?p+to&@<8}ONen9U|7+l8@)aGb{3R81rt>y zUroSC9D95shVKjeqX}k2V$xB90_X!VbKP@^8DtG*(Kc znavLiX4t@9Fm-PYda>T?+gY|2ZSb)S)1K!G@rdf;_Kx-vglhiZ?n|W9N7i?I<{2n( z5AD(mWS&hA5+n~AbhcBc6nx4X;KAp1kQPLx!=-LcU>G3!NC??iC@mPUt*2wN_f}(w zxjWU}dAn&urj%oEJ^5q5pdjb64wi`WhQ7*zh|i6&gdWT1nS9$Bk1W^Z)l)H0it6DV zA*Z$(3^qOpWs=4VLKbIt@MM@p`6V(%_1nk&@|d=$K>q8GaJ}-nGeUktI68!^Cz@t* z;TTt|oU22b^WmYTnWbraR@d!aKcQ7GKT6bl78}gL98`+2Yu(lEFU_B~a$n zY596RF9hCP3G0;iC{1dDV$n=vQ8))WTu8&uR;!->I6v8H* z5c(jaP*RC0ua8B)GZ(F!yoCPr8tpziPfMSq@)#Z%gX(&aXBZhV6U`|yUgLe`pbso? zobcNS0$ECsruXriX#|F9zX+iv(HthgsI~PhnL$h~bN%+Dx{K*3U-b%--PC|J!SByL zT%gB)f`?Vpe`=)7@JI3K-+9r~nhaN~-c!~p2Cj>J3tY(JLy}Tt> z-d>L&wFBh%HT2p+@ZS?c!7>$|Lz=|Ap;@pEUzlxXgRu&Gpo?%7d!`4Bzm7^pmH87Y zF5(X0a<0?DZE$)=`#1kzI2&XG{-w+q&F*WcXm#KZP8=;A6q@<4Sv;xN>Q4la2+~wa zgg?!Ti3#%PLD(<$T#$QWaO#gwW4}`QZW9u4gnhNe49RU-X8{VCi^=9~{L`X5t$AfY z+#%uZVPpzihaCGwaGl$eqyaGML(|x#2zG+1PI6!V`3! z1tvm{w6|4hpmxr>qqX%E+2X?N?MQsgJ$49(QIW_Ia;$%9hvp?FmsokJU$SAUmul!5asrNy5^P zhM-~|1lnas+~B7lp>kP5Gl(8s2Mh~s0l-(FE>F9#c?HScIr)=?E$)-)bD-IA=AIeh~LL)8_M=F##J=Z zgLWp`5SU632vI3t!~x{E-BQFH^`(N=DeM0BUB;^^QJz!p{eyZiI+?tP%V2uWL7iF@ zf`M=2ap1| zCI0#HB(tA*jiTt>7C0;`6Xo0O6)_Sucll<9im2Gsz;p=Q*`6WoO5bC{)-5wZv%}~6 zGye6r1!4iqj~wPVX8N@yf02_9RnF=61_o;EOy)M)?oi@GF-SSjwN1VY2NIOtb-afyl5fhJv}D;qR@H8GhT~3 zr#$c(>22Y{*~NFvX6IcD{umDNme8|5NQY-sdty#tv4^hyA`BdyvXCroz~!$J!-d&>0JI0jnysw*JzLDPFKs8xvz;wA(53mrQSX8v6Bpt(?|uekc{@vxe}LzRDItXn-D-(p5NXcsi3hF_(rwW-MC z+&d5S*PXtG39pF(qs_E~l)A~^0i4F;!_FadXDSpsoI$jq7PL8!gk%ERI_oPb7SU%H zwKaa8LaGLxdBp+&S2&y5;>u2lA`*1KFq62BA6r4h-B@sUg2}?26A$E#^)F4&DY>%n z+289t)1f~aD&^1W!z(gNBH#KJa%-!gXFVaqW&;gBf!xb?>HGxYg9}AjKy16l>lKgo zxHlIsIk?#`k(%`5jsH^7_M-LhJm*$h#t%M2tB@aB(7@#mPHMAs-~rRmEnJ-IXbJ@` zI5X1n{xSm)_?a`S|8t|a0t1dh36s^zr`UyZ-G_cY>Ux1Tm zd%R^b4#&ihj(e zkdza`PLfle+74+)K5tbH_Di7B`f4+cI6euay?;A27 z0@s3dEPg;V;*FBNK1h^QGQtQJQPRh5+ZmYx(}JpDR$#%tah=7R_P%Yu-Jb<~zX(cR zh_{AWOa;A1au=`qORSiZXZnkpb~s9xtD`|5Xea7ys(o8Dh97=H{4O%4drvIAxpeu6 zd~$RN6`>ZcR2eT>6!;;Y`!%Ez@^RdmW}PheB_vuKRrrQe%ucR_zwC`D6A0|?^X#Am z132)ntXovDa!Z1h!+?dlCSRqe_3)0^BlRuR;oerR66Y*f)p_6T@We z`x(E@d;6wMp@IIdp!Qb$AS}4}ALQp~2nnn4#+UT9jVOt9&i*jFUm$xex|H%j@70bB zr?w4}2`!Yz46)a#;yzP*MkdQ^wDNcm`Lh@z*aLSimxoPDcn+y#T6IXi_m`n*nKqmgF?IWI1YvWz2n+d2 z>+JrCHBB(#!oxvDx3%;evDk-*g|}z=Y{UoO5of%_>mklWZF)xb(kwr8(C_M%aQ64% zS5dKE=Ow9*N{VSx^aTQ;&7l%ZEnj$$vyiqf-Ivp)trD@K7#q6Duy4+m4l|K;JU^w_ zo1}9P6E!!T@POR!iB_RO^~@05PFZ3p?ffMN9yjkbU)8TzI; za!EIz8GvB?92CX_xYN6kz;+Uxsfrl-PA0cEQM|2gS2u4-dqd}|0;^69{Uxqmk#*Px{nwg(b+*|FrU7-#x(Yi?5_GAsfgURQ9RRcSqLDb&>Tu!+;Kxa2D zoROzKTwV=Y;{#-hc#UsXVi%`;N)nz5UIbKI_ntW2rEK0wtbL6BKROBQ?zBlQM_`d* z)i=*0NC_* zTVc%9#NpBSeTFU9CKuB^?5Q9-3v4Hyy49}y1U9Z47lZs zU>or@#=-hf#-FCB2rHrE)HOKIBLGWU{4T#ut8g<3i0@pUOIYn3q5;*zhN%0>yECLt zT`{x7Hx@(>9KfMTUp;yN0gTxP+-9Iqzd{*Y!;nUb1tZIzXz+Fj#(`(;13BrtWO6XP zS)iT&&3OezZ818;fd)#mf@;S==&Lj|h*u1&fAd!b{$Cs_9jzMbrx3SrQurE!$3ZaPs)*g3%wL;$;_mOUC{!-%GmCbG~?_k`xXljk%+ zgD^(@>>WCtyNDvLH~aBajx>TeJf#p+O~RC$(*Yh+%nTw?0NMA(m#triS3r>!2^DZ~wFc znd=+2n<2T9xbW4A=jqo3kYnGIP`m12oA+rdr_MlAghzhB<@2GElndLqguc2I190Rn zkM!)p7gHUmqLl7jYc6(z#;X?jn$6Kz4zSv<5ZjICPM=y)$N7OF7)P%Y2d=}U8_m`s zvJ_xz&)w1fUv0>$X1u4+eUT6bqphqjjo_<4)`nx&L~hSwo|~5-Hpo=DU z`0zhz07cgrs>jeQtKk8QG*=3VwGdv~vXv&W#~qWDo;UKxd{<#Yi~Z1I+V)HzSAp|3 zZ(k*{7q__Z6?vEa%`~bB$-ysp7kD6dfHg;q*jnWM6WJFg@`j{(40yH!87}E`4y}fG z$Ih!l4Hd4_)()4dF)tO!w~2Xfs-GiIBv5YfnBR%wSRZF7?2#Ordq>BukL~EM?6r2C z1uPx+PJEyVS7@%keN+cB^|GxDWCOBcN_$xV^~Onmu1vHat(EF5Mq=rOGV8@X2x>#W zbr?HjzMI&I6)_8jsNLcxo4v0)2Dw`)us?*!JidjNp!wLo8IGio(9(Gptq697SnV^- z`{Fz;N0H@y$ANQFJUw^RV2M|d(!ztr*Ut=YH08fD59rZ9Iy~;BwKphs?I&dPgGOPI2C! z!7WCp?UZV(dO!-_OclxITK4hekPGV6DbJ*6>giuZU1YpGugLz3K~wHeHyFN#Q555a z2Cq&Dcx-FNyFe0=9uaBt_@U*!YV60}=z_cG>q`P_2J1a!i){coc^e%|oHeC8tssgL zq&GwG-bx>t*`P-ZXvrOfHQVt$0!NVXIjDLFe~roLFbg`xNlrg;gVJEJhm4~vpq+{V zswP=CbuP6#E! z5_^JtERhIx@;_xb>zm=g9-i(1Li%HL9WxO?*&PRV$^F94t?RJ`Jf$`g4S7d-u z!149>6=pdWs7|ybGJJvc$H^M19k8UNf0qSRhxcv~fye}8=@YcCumCO@al^OAT*K{E zh@v3PYZ}OYn**{zu_%~~**7wrCOy|drJo>{XbTSzm>DPNa~p}w2dee`n!0yLe9Rb9 z?z^8`?o@>S(m^D!543+;U1wMp_}2E$z5+&-ELE57>jk!|q)VuF2Gy_D4R;dao{di8 zgXNtk7uR%LOS?7dH(EaWdBv!&H!*5jv_5y9P^tJJ`_!AL%md`Udw!tv^Sk5J>=4#v zGtBt;UWqbved_%uD}2|KB6q|LUqQ2D*7BmJ#Q2Y5@fnHce{t+Y1Hn=ti}FR{L5c&l zNbVBFW+--|d%e@tE*>~A!{&82s@GaowK;$|1>LPpzVGyPuRJr~7r7^TXi06X)~xcS zyVl>=bwH*e-FW_Dm;gVh{Udhfe1r^Z!B0V`UKHe+mB&O{ZVf2jLnc@)T?DFSO6pdb zc7{W_UzDmnkwf+H%N#@^MkfG#f#~FJ40sf(GFONXtBiuO%S4zfC9L_uWw(X@))94D%~4JD`aW)bavl z%1t5+T1~0RwD!EUo%Up&P8;79Bh_B;810lapO{NR-u3%97_R5H%CVm5!Gw{UHRY$>&Iu zWh-Vi`QjU}kVfJtZBJ`p_!XBelzVn|T>1G{Su{>Ybqq7T<^M>L85swi%sOTT#Mi#> zuq^*qR&}=uLh$}>)Y|nwnFVg~ZEK%v8LN}kkI#^IW=7Hd&X)EjE*r`H>{+Y|H>Nnt zwfNmsZF3rg3Ns8;A>;JhNBQ5QK>BR|~spMO1sR=7 zO7qDXqOr*{qXREE7Qxx950g6}yAlr!*hCGoXY6TD_>n%Kx0M*vP!cMSmgT^w} z&2xmvEXdszo_r1XQ0FfKIF$x+CNmZ`0U4*{Wrf{Ifw|`}{@^qxps7WrN7^K-5#Qxn zRIiEUh6pqri@VQxhXznsDW-0T9YwEm;#Y4c7AjtBUY4&1)0J=QtSs$6*CZJ+kU(KX zk~P^K+np>_!vC4jszDKQq>HHKp9^0sIAesC0H7H6BC;n?6a{G`3Y88ozs{LnSYp??SLdhp?-2%~0)9+*xVNxVn`;Q}Uyx6cChc z_UW6ZT^v83n_yKx;=tPy^3-rqPi5FUJAy-XWq2 z{sgezb5)TM!^kyckp6#6_RQECzSL{*ETKKs2Yd^kQDMJ6Xkpo3uL$V;jt$3O61HM+ z=Ph~U00Mk_iGQkIVDVMCDD3LK1}(fEt49?e0Gx21DY34J-%PMT%7b``XD&)MJJD4o z<3nV`FIa3r4G(Q<8M~rkl?jm3pHK4etcXn@ne)7TU!yMrY5gr!@%R#ILqHx}S!yR_ zs7S{*m2l<-GJ5+N-+OZqi4sC&R#x#B6@gC9bHx#273VmC^FHnX!?6jJ6x+A0l_^ZS z@9|vsT<9=H!&2q+m{ZuuCo$f8q6L5DNzCVK51pea`1u@91$BYTSH0^2C#2eyLgB+K zxOqm*W(gu4V}c&LR+~g*YPMgxP~a_-PU~_x_6<9t5+9}}o?-F5Vy!`zr1OX#l@lV-FP!$P|H}-Cy6Iqes(Ue)3 zodEmhUK3+-Srik>E}svrdJ!8j($}Tb`DMUP7H52RwHxidZMo!CM*qo0%6R;b90f!S zzU_zJ=gJTDAyn2LsqE`n9W%N&+H}P~#T^(wOoDk84wn*WaqZVaC{00CtC$SFK6e=` z^3XXMD_AQI=(^gk!w3)**8;Spp=B;uurB}dHkSLGJcHr{sj-1Y1yB3zMP{<@*uM+)yJoKY%&u6fxGsJOx#}?`Ff#jBb8A$3soRMJw-*?RpT++s#@^Xnr6^pV2bH%((nUU^VSjF9 zXclhx)r^)&c@Umuk){&0qJ2y_VfdCw-BO84D)wfy*7c zU5Q=qU&hVR4YregC&9ltIAPyb5uYb0%S^Nd1J+-%?rtxt`XOg-jeK(1aP&<6(hf43 z0L!)WSNb#{ch95*m)(m%^)_2W6Si-@%f1G9kOj7$sog$Iv@x_lW6a6|zcUln_@^|6EPQ18I1X^2gERryi4lZDXKnJt68>^b(w6o#MW3j4 zELWAQ(7liGKuvw9N-_b~f}HruF2GQ@-V}_lrMDCi$1c{g`lphVm_43!k*jfd_Y76@ zramZFlZ;W{j7;lXu|POp;%YP*k4swhw*p2Jg@ZPiUnkGnqysO72zE;W)$Rgp3a)r; zWYq@VAww7mi}TDhW4chrXbbzx^>FF2I*RK2o8Ne#h39^io|U=GyAVM;eoV5fujVK& zEco10LZwvFaKa!kj70Dt?&~|*(-jOx(T{44E9~R%RwaMC(6|B@=ijBMJF|-(=Cu9hg-yM-uE&Stc1t$_Ta5Kl5lH~#fw?c9+>HdV8YTxjzf5&?6_aI2Z z(;Y2nC{PcNs>8UEQ^6W-7umbn>^$ zVp)waAnI7Vgsc7?c-RHmO$D`~z*7;wt`-PR+gsm8;lNj;W@Y?%+I}CrbL%H=_*Qzr zPd-_*L=hZrY94Euoj$o2jk|n_tcO~4mIq|6h~70G9Q5Yr?jDBbjx+EJy!ggX>0i|N zlxVElmV*;{@oeVE059ZyxLlJYgRv@57$lIH zfWv^jLySi5MXJO%IZ>2N!cWH%pF_f)u2@|q2oIi_1w>^5-whCA@VQK6pv{4itht@< z;*br!=($i?m##}_ zFhI4CG0sm25S`s<3t4iG6d)=QMeY9Xz0@~l$)-??M)Zijw=NJA z-7uV?usyZJ4^1LR2&&+~-a+b4vk>}2zy_`66QIP?#zJo9mQy{NX^)cydwD;mzARTF zvNnHTSy^?NhW#ShsH16J5w{PI>K_6Lfiq@Gid6n{Yp&^4Kl44szKB@IM>J72UQH}v z{iSFiXNX=Opoq-gr?&Dts9%27S=g#;Nd1m4`Bk$VON;ua&h#zqcHUj+1HvuG5mR$Z zndn`V`OOxLE1xE-K+{G|V= z@Xf&AiI%mEUVh%JOiRn}52&zD_R1pa-h8Nnh^0tK$`zg-Y1^`kjXY;SYT2n&?G*C+ zYTKDoHBR>0y4(u6OkU$u479Wge^OS*V`K!mX8~sU;UCICCp+${!S0++Hu3mRnQ_ye zg|@iL{|l9I;Q|UZT-t6#-!DE$$wyxVt;WDee%o#fv+H;_gsfifeFpic4{all?sV zoIh~h5AXVztjue!mEmLD_k?Xk&ov(G-Thoi&~9jg=25E6XGC%NdpiVGi}LW?RGSh# zsbGP>8=J+e+el9DW`>+FaVfaA?|o?F@vIm_(q+l3bvyrs(-6LhNSX;}UJ%vBUT~&5 z8H12uX8M=Mv1YO-Td-Va$Bem<_m{>`q@QNWH@&QSFDY^H1M1`4Y0b}x&EGW+I#c32v%>OUvydm-CU7-i zDJIukQ>zXaF%lhtVk{8hG_E26$EGp8_5N6dHil$iiE11w1YZB0Q%v*U_yOAu%0ldK z=~6@B<;yc0n(?VTLXFs-XH9=*P!FLqIYGxxW^{Li=FhJ)KmbF^tucok|bO9IMQYC@?XIp`#GuFFS!ErWuHpJ@Szt1uRU;OCo z<*dBr!3|Fof<)HjqAZa5k6e#?0Nx)*aqZ^sHk7~%WX}cPn>@2?P|~w zxZDV0nvOP%sJ*bicKHM0sK79E zMHPMa>(Aen&QpS>&gLVQGhr}5pxk!B&i60C_bE!leZC|eq@S_AIiA~k0ZX!c?P<9e zou`iTSqk_2&Qn;aNZbHeUwni4$@7{ZmxK`y`IKVEyE|iiNJ1?R$(Ox8Yg{1 z`M(=ZR&9L3m=~L5Smil?8oncgK*p>n)FV6QdT$)n7~u3ztzWcbC~1t$YH%cEX`ss@ zKshDAFaYSYK*=ab0RZ^_FkAdblK#VF@qhOh@uxk(P=* z8BzWyBhABQEIW-TEN5~YiA=s=^H8+ZLGjR1KaIG&ZU-tzxLq$A3X`^aKv)0&dx4hO zkwe&7(zdkzP~B8hFjv0q)@@0@b)26ATDsf3o>j0UKDWRF;3v*)JKg5WoGDW|bAcUA z>lcBJl^skYpks;qo72)+?|H$8_j%oI>oU!@;!>Ax-P1E9Ts^;OW!4 zveq%dO1>Rme!qIHtGqp%JBhhzTC2>v7&Yk|$?euzy|}Qv>I(SmHL)-RQ$5S`SSgx> zGbX&!@aFpN(5AP^Ye{^TcJX>IHp~Ftwrub;GKUBJWL0XF<4K4YJKy;J+Svbt2vJhZ zwat>PS$1Jk?EUL~&P6(Nb*Ii1ZGD19QhJ&TK}7Bvn7*2B)BTfrwtJ4DQI{;wKg(=% z%x|$bz6*zcnq!u3@a!8G#J-N&ssBN6w;d`Epe+D7r%{yDQeVOVkX4wqW7V{hI7vAM zgGAX}wh_3#%f#l-S}@tiWV)XJ`3iH^M4wdLtsPW(=*}E0r7tjVsWYhl8)8&ev#t-c zKPDnE7QEhFp334Z4t!q)Ii1tSJbrQF1iO{*i(%Nn3N9ut0RWnLe+?}(>6ubWG=#*o zP#Lw_31ki7<24p2+LYq*=wptvZeO2guOi1&c@oxUjwg3!)O$;(k+dQkwb8=os$+_L zm-oHoO?-gPbBWDsv0s6C^qOhS&fH+;a0x4J7!0UVZq2*Jab#xxe)+xlT6L;;N6X83 zL2f~4C0kNaUFW7n@-17{V%(MHr>v@f#_ZoWMl__MAtWslg?sX*P3OSBFt45xIYr)x z?vTq^4K(Qfzs46VHV7nw5MeL?hste(rGB`>DMxiM6j52sCmY|k1vVyVi zuC@i7Y!=SSLsVd$(K?Jn&x!d+yw*BU7iZM}{Qlnuemm}ExiOFs1tcd-@UI66HgDy$ zim$)+8v$%4=uY3K01Io77Ay`mFmI+8<9;iLtw74rDZh+~kB>jwKER8AwMeBZWQFq4DEFI0 z4(--~RcIf8+(MG8O@uK;yO%)ho|(YF7-K}{rbd&7tJxDNcI=w@mo85cZi><9SUuY} zcmHZ!{FU%8-i13}#0kU}yfzkf?ijggpLDE|uP~c3mdcoa#+AU0V`kV(^wI_`<}i9X zempfgE0PiZd{QC)x^Lc&zmd zGT>{{uxGU31##R%5RS8b*W0ek^{TId?P{838s5$ppLd;Sj&?SF?XTG zjDugtqxqbxt+x(b{~$LCWJdAmhWI*M7UvPRgU1i9kr#1ZW$fJAK(|cO{EgMf_G`l( z7Z-&^fj04hH=nG6WvtL9gL<}rUN;JS`}xysjx%~S*ESMc;F>hkB;lcR@pWup#P9FR zkM}T*%+R80JWvjR4a zXr8`XqHTSa=1HNp9}45X!o zqyTCL99=RFpi5xuQ4%VgJy&{hW_XIC;xjrp;Ao*;?j!<{a^;w}**F_vV*jrXs90qt zt}cw7Q->}tdg^OH+2?gT{Isd?#GDp$7dIWjz!88361{!g$i}wx256suGB6I(b^4lE zPHbt*a#-@0Jnve9bZ+~r{?<#5s@wh4Yi2<>XN9o_$EDKD{WP!VcjVo<02QnuC#2qt zFMEG^sR&e9iOBHWx{gcj&=uXij(`DQIPhnmU)DE&0?xz`xmc>)tk@U+VXiAJ8{Zev z=YcWxJc5REDB-Ko8b!^mxxVpMA!A33v1UiP1@pxf3ZT#KZ8~Z82!W2{}?i~nU?ov#~>uEwz zuE3zcCFz;xo}ZWge3sGJraXJ?weGTfjZAHa%Sz~mI<1pbqWwDeN||Yag{9V>fubt5 zi<5-p5*mi}9fkTC9V-G`s||w6{E{om{YmRnvx?R-=OACNV@t6_OoHVc@W<&juYfOs zqeOCrvNHN!QcY)KE;V4nA4>RfH> zvo>1|$*4+$bSAxz$~0u+DwG0bJduL5!tSELUCir7p8G_)&C-1L|J0V+*Q`IIK$F2EV{$&b@{-*sD#rViCc>!$Uk zBKerLcxS}oD8BaeXO|TwExC1~PryZX>cey~mw2nZ#csvOGBXYb0M4T|j zZJlb_6#MToJ*AECBRobmjoJQ9wn%#(k&!q{jzb2-;9U^p`5!rQDH4^(jy%69iKvfE zU>Qx!<4BZayZdzhf(Wz9h?x#q0 zo9+=o9Q_Z4eZqRH^p3Y&uJIp%f|aZ1y~7GsjqG<4((1aCUSAZlaK>{RjZ*N7DWz5v z^UCz@SV%g)!9cp&;wajLblRWOvh8k!iiKK>1aV^z&Dju9(V2${)vw$lgI()j z0kF~Psn;);GnGWDAH6=pWJWGlbj%bM1c-Azs$sUXWe;2bxFshLr`Unbq9=6fs9$@y zVH{xS>@~9y2>Y$;GqOP*;CXT|#h~H(`1a=J-eRxPW^252Xq;aFN&pBM=xS&(8aAKmg zWB&e&Pwr*Ghsy)B@U%bna@EV|@;{xDh44?3^n*Zm2C>@2k*;Xm%x^I{nK;XLm2Vw} z<{eytk8k*`vv1Tu`&A~L-&m-ZMSsi5=aJJ4e5{Wjhf2(^o6%%wkfmVVaSQGiv@87M zX4V??8HN&{;ch}BFK^7ThC8q)6F5^CZW|FN_{o>894B+aV{Te{^N*u zYMK@&c}kC6od|5zJW8rvt9ESD7L!@)FP~v+VY-JlcFfAw1hoyW1K$o^Z-NelH}eF* z>w0uJ-?cw^cdWQT1F@O(?+X``dH76bqz_L@lgwtulviPc_@)gJFi6cJAM9Na_ zSRA4;fm6}c!EQd}{n8V19KvIoLNX!f)A>iyu<_}IBs62`ZvpBsI&;H z>91#S06Z-)L3fxz_crl_?puAorjkgCe6^V0?xcH>vxqd~c@sWn%hLjrY%_`E!UyYG$TPG+Xu#&!mrnX$2=v=q6if-u(6oQs$ILtp_8@&5hO(qRmT| z-DXBH(WpkYmnNadhhHgoozmZ+^2z5er5v!%_n~!%kca)>ptbr&A-v7EGfD6r`+P2a zXZg%$%VG(Gx0O>Ah#cGMkAx@il`iM`<7sQ}E#*U*h`mC7g0&FvLc;5h4TDmE$GMf` z_!s$8{LihwT0=%677fhW7Ep;*uT?`gN~zF|nk6&YrD?*IqRN7Q1-AoMge2(q+{hPZ ze+E+Yx?1n(i4#}Y=PHA=fl6KCl=6LtecGC0cj%TBt(ZNLM~Z%H&@NfCvD~Jz?FSp0 z+lV%e3Z=Lc9siJ5RK02Wn1u^Kwz4Y=642s;DAR?Alp@^6y8|JR_Codk_R|Xy-2X<{ zXb|0Q0%YAMfj?F!kx2cd)DK)<1I`z$j5nxVd9$2M{a-`LH6knx-4JVC7+71ra2b0+ z1!;~}1v)T_KPoJIQ%;p_&;YaI*E6%|ZF;~6Aex6Q7S^{onuRxmpOW;AGQD0xv? zsbb$1!Ir$woZHeS18%}bm9k|czf76lICOHUWQRMW>2YkEMpwWUfRxkRn*Hhm=ZU~( zW$0fj4139MnT*Yy^i46n6?73MfF!VBuQvi95+6a>$B!3+&j0+_**Yd>qs(IFu^z0Q zbfwc{koS1n0Z-z1#=ZO0_V|YgPdxYLJTlNHeCi6JAzD8Y9gH`&hk25~Y>+0$1>ZUc ze;6f1PMzg6QMf>WX#F4%)7@}%eJ%#uXK*Q1>_u0^#Us<30wXWT8w}XZR*~2iKty?! z^%feWEo5J`rl+1yi-PCoX88|C58U0>`?q48IkkqAXJrm{~{z7D;*uPl{WR`?itd z2#u+@x7PRv=pBBXIe4YwS5~8d2A}Hp;cZTvs)sOdc%gRb(me?C6iA-yuRxrj7LgE2 zTmY$?k|@-oII0kbfea=M=#P*m0CLW-AQwGTV;pAxDqu>V8G(Kw2Ld6VB+{C40ab9~ zAacLDA|A;j%v~j%^&lSjV{#Y_8D@!BCMP7D>lmwT4jYG%)mLouS+c$&l4G?*HUj{L zCewLg(9GvYw|qg=ZqsK`m_vI!p+K+r?ownD6Ty0$c)MFQ^+akXYj z;37dxOckhTOIyYpKlgSD_=<$5-gM9nW8*x88_R->mHT{Z)s(+m*A+$7vyd0KJEkOQ* zIumWa8qa`6*Ub%-D2UHclBaz$oO`SiC8D$fZGQKD1uWR@jn^m|Att%#VnK^pCV84` z$nnygy0yG?#itYlT-Rc=-io9la56;|GZE9|8wrM3|AMOf=MByi?59aeg9eII0=T{w z)P^fCRB!TJPs8ITn&S8cChQFDf0?6xvAoj;aAT_c6N>x@xxxCaTku9z)R+$I$oOvZ z-~1a55(eikqR6l4miv|b^KGay=$-?dV!z$?o$0$%{Uj+ow@&hfL6X+rV_{%i`un;9(UE5qa zJ6$#QnY_?ESZ)UuUK`V1NH?AcAafWFwM7L(;RNPi;g1qu+$_^ep6g=elUKSXXJ$u$ zQeg#mx>?w0W5+CcdSQp_&cmEiACzL}g-GWJE1HIL>% z%(^h*_Ipl8;XDt&t?iB#(Z%_*Qrm)ruKp$72l9zgbii`St!Xvo_ zf@us6|1UJ~#F&xKRsv>97>eiv%U3MqT0T|)X<%Ue9*Ozpp!`Cq zAQyih>SMji&qpp>n8x~d2I7At0AJ|nU?B0pFnQeS;y=fki=M9lj9-ti8CpqHbXrwp z;0ZP!oTXy-@&?E5ID(jYw4=$kU>L9u7<+2v+d6<8OVJ@B(D#cG-Ch`{)2tvmp>cf9Hx zF-JRN{(0WjFQ&lT_&KnAL3!tYtp518*rWSeEU?&X(P#(5eb<)-Ifs?jUFB6Kkh1sW z6VQ5-|8KTw6%ioCKghOFp;M)O+hK_cs%9c4W5yH?{8c%esqQP+xbBH8qp{t zCTPKg=?v#k6c8&DiV33I6oT>fGZa5F?@|DLc)yH?!ZegLAAO};BmQLD1|mWd^O?1b zwNhU%dUujdrrep5I40Oilj`C42m{getw;cEb`Q-~};CTW+_E`m2 z(!FNSs2Cs_Ntuknr+-u|AH?)768wm37d>&};c1F!VV;W6z#<9&h|59G6En=pf9e1O zDFn!P(V-np@JYWy1c3I=)KY!-o)LJ^X-!&H<>Y{4fOQdhYua*S(~zUI*Ruzeia!)CnZFr zI2}(1fKG}}vYiRl=YGlenj`(S_{9n@1)!q73|#QgZ-bPL=G>MfCx=!dpuJoanDFjb z%%RS)X$K|Heuz5k57Z1SY-#^pPDWk_xYmsCOj=Wb$dt{*h*$(+o@S97>Dd*2s{O*k zz^Od_Bm#9NVQ18J3P@bbW4?_BydHLBFrx|9FpWo$T?67KOf&JYGl|3pM7X<*xn>jTodp=$uMva^$wfTus9*m{Lk^y0 zqx(4B8VJBp<3xdIL)+{swW3f|M|=~2@+ubXJ9h{r+|8s4UKv|(Jd9vhJWlTU4=Z{q zfX*;9QC8`FqfN-*T_rS|j|{N8j_KLmGi~D*|bC%oKW=mrkU$YUD zml6bkG`S#TxLODwfmmC$I3lfmCnmr2%rRE+0h9b|gmV>@T>}4+*t^3v@~;N`B<|^4 z*vd2bH5iz20tL_YMQ{BQg2mwE)sjkObyw1xZi&a?M9gC=6yAI}gb3%)pe94Drl0o5 zQ?9<1L|C^sV?Zo{kl~ttI5PL`0u})cd4zRpz53-1z((bxw#kkWJQ(A z65!4rWs@Hi1pi-Yr~AaoF9%hFzoa%6O>p3r$|P^CrT&R)N!GbNYKj1AerpBD!DBqk z(>E3IW77q_!Sp*em?xanZk7GAA49UP$d}qV7wB@k04(<}JPIdgfX=zPH7FP+RinLg z0Z2~)wfI-p#sHQDf{U*!ilH8b^w{aSk6wU)`UChw1QZArN|2*tME-~1JjpF$iR;#x z1%sye1t6Ii+*KRrH3{%pg`hCTX|?*W6H)N4nC7p@_E8I>phcFZr9Ck&F8Fz&8$U^j z&%qsz`v+m=XG~lKm}70zc@Z97uO%YzBKqgnwH+CVeI#3RXAF!mM?{kFCJeA8r;1e3 zy(-uV>2O30=J3`wWX?*3WDrP!>suMzEcy7AnC41j<=DPK<^jeK2E7Rmeg;HKFP|xLPrOE3f~w>WXKIJ9z_R!@n9Iqus851(B-dS?P`gD$HCv zqjsZSK6)XcR5mGV2%-KnGaR^2&Ih7!{&yt)_sZ^C&rm8jwu0+cVQfi;}{kWahA|-*poCS!RX!(;b1Iq zVnfb)85#Jm1J$D?RUwu-IxAkxoOqe51MEgnw;1fo{w()`v=D7=S`os2zGp0M3F-Nl;d$yaP)D&>=j?DHr#JA0OOg_6X}R zz}QR)%7eekKx!UOwooMPLrK6)j-J5I}^POvUFlGFY0M(}3+V%p?K1fs>*TSFH7 zT~HSVYK3*KH-OI%{%hJDs>zAdCrm{vLTTadtJIL+5vvnO5;!!P-{^C^_wQfn0tzIQ zsi;(X?3#GYh=0;5YaV7aQ?nP@bQRj7Q2RaaFz``tn5HSE@Z4eNnHVfip-4XhrxF*R zE=#f z&<6Ea0E-c*ZjGXr44lBRcR#GLBZr?$)*hl4X2CHr?edErxH-lkA=!H>tNxB5lsZT{ z(rcAs96JQnGD*)w)xkR3NfXrn+PYIkGXKp5-SbU)a-pqfbbRZ}=_+hU# z?9CZI|Bh=Hlgc>CSmkr0h!(y7I}~-9hR&c(ZZ6`GydZ{n*n=lN+)jG!KK8_*N!?dx z{lVM>?iz{!_GK*x&plAkw3MZ>!=k(_^LplnXNRzFlnhf=ikZd0i#|nThfD_Tz76kU zf(8%C+P%#PKh%;%tEo2iGYRuzB~f|sOv8bjXb2jmS$+x`pr-kfx9~|p$&VRvI-koW z^RqJyOoLnJ2~=;UvVf49moEXS0ji}FwbC$)l|Kq}(76&7Hw!vmr{GLi7Xi*C6S7XR z7I=LC8 zm=y#4r_iCTP_`dT=h^J=`;uS>y>qyGMj+Clo{ZJNR~c})tap_?iD=)|((SpH9I`w~ zOkK4n>Z^1RL=@3xisXc-~fRV8;(T+s>PeIBG=zPRqkOAPYK`F_ws}3L)o_fHDc#8DF}7Y zgiH=M+~EM}Qag~TMEHdl{jG>BS;i+vzsrLTKHyOIh_q%ctRH(%Dh$640nXkB&5LFm zT}RHXievJv7LBl_N4 zZv(xXK^z-rnBJmrls+;A)A)Zz?9wwDZnd4py-6OG+;@#q$pl3-yC`FdYZGCb+HuCm z16Dt$p_*QNnO-CUi+oqZ(~Rj#t8f-`GYiS}USC?Eo>PjobFp1fxZ`J2A_R@OHcWrZ zI9^-ltV^u%Vv#fdr=4y~F}}xv3#hU}Kb?@)89P{P`1zZt!9a{haFYq^oCupbI;J*P zv(i1k`i`asIH8<2mUZDnbv*@G;liQ&X;G^7#yP5=B{f+j>Zet8$#rcmHy^ zo@NWdhOK@j1_#8NEc{^U0^YHL_8m3TKXjPb$AqdCoO-%004%Qgs;-9JbEODZUWe~nN(PLAabEjCP13ric-cldM@dLv2!n&{zbup<_A- zdupc#2z!*^|G~_1XPFnoiw5E~V~9=P$=>Suan5a&(>3o4T`~}bBlJ&MN1DhoU?L}L zCS&|FZkxsLId*)A5}LFsgU{W4x=#*C*gZxuQ8y=pkyOXWZQ+9NvGa{3V!&s@YX`xQ zt1{#lnU5L^f>!gK0_dXJ&UoYH8sU6<0ICrI|1SdM7nm{Em}qgd#ehRo$?zCseN2l? zo?>=hS$3|4t8qjF$9i@J0<8JA;TxuYyTJhSU$!sMAQ?&eAf!oLo(<$=ocWE{T}%Lf zaxaF2^syQmzU4mD64x~A)e5O6vC&jGNv`{Kk1kh$#&zdMNZbG%~mMS2`)l)GclOf=H_#dYxG`CoA>jZ)Q`i~!hO>b9!YXbmQQa=90R+$^sxZi>TU&4 zsuI5! z??%n*XHBryxE3`hwo&pJ8E>qp0{=_KOoUuvjpD1|SsjcZBaAQ9FH+wxFR*E-;Y;%9 z=p&C|5c{_Q)tPT0zWi{C5Ecxf%r2NPptcjLi6!;hqfZ%C2 zCDD+ps$wQ}z_XQ0)2$g)+r)EX{mhqE1 zyC`g5ik(zG|*eF!<|5~JRZ~>1~L zRc7B;Q|l+Yp9R4w90~0!%u3SR-B{)h&Xvc;PXGlWfFj7nom}A0CG=o3OZ(%}A`}pz z9a}bA$cvnWzXDShS;jFnpK8{V?Wz)DamCwt`Pt-4eH4w&w*h>>`U^I=#Y~Ok!dB!y zc(5oRBcw9ll}h23&D%XA`t;7fgFDINIJT zf}2gNttY!~;Cb4YK!d&bp4I=q)te>d#}VWsrXO86B$elyxL3y35Moolxmi0uL)IMB za0z}$^|8&;RunJl00kz~@~lbzd*_l%VbZcmzKJ9*SP~9y9~GTPZ2a?*-Md zqorW;j?c#M;XA9cZ{N3%21Z6v-t+HzT6bqo`@HV^<`-AWwOE@IN?j4|)m{QeM3M6% zIS2i0BqQwCWN_We0>F|$3}U>*^F?Dm?{1B>ay>nvAXmL@)(^jh^YBJ4!=1(c81DvQ z98a*(sTcb>rV{=ha|F&ZFgG>5ha>)@^?KedFAJ^mJ?vyPVsC!_BEiJx`8Vd?lK;2A zd);^Q&B-RBm#Qqu6OB=zEXDSX6d5yZ@G}lp*qcrh)RhaD2{Oc!BeC)#@^;)}YOuLm zj?)Ui7I_Ai=?4<)C(}5xbJqrQ2FSR*-V#}&NS9x>nB)h`#@ccoeiN(}oaEW>T3V`* zFN$nE{v3qlu*d6_zg@55o?SgkCt#o@p{-yvG1ArKS3BT#^pw@f&k)dVx!lPSh%~Xn zax_w8GA{7gG)m@Jia#r0r8*QyU{^e+DqCB*G>XkECL91D&FE&l8+pPetFhT{DMByTL-oQSos!5TP>|Ya}-1U%;M^#gL%(Ea& z`LaXc1#EiGYWuOJ{WdN0;fT(v<9RVpJNqzEnzsyFF_WT6cJWu}Q_&HqnPZ$U4InjS zXg_x7Pn;r#t@JoG2oT|?Y8`6vnu(c|Sv6=(0azWE^-ySuBb7r^R zEG>}D`(@($vDS&FQ8HbuuuxuhJzPEl>b#n><@s#4|W#?tL7l@Gt3NDV7*=oZMjgn3FG zmC?Ur`8QkVHE{h~uAY~BK6gyJ>87y$OQmlUWYjXiLDL_p-hz$x&zF$_$2IWn zHrS%*e!HBcmf2V@WYcr!6~;HbIk4DwvHSvFF!S867gfCbh7fWgaG4NZ}PMK#(f zX$|nmI-;mttwrfcPT{VYd2|X}pY;NsVsp?D7WKx1=XL_z47~rT?!0S^b%Y@{URjMi zlTxk)>hcpKTiW1_esdH;)Sv6YW?)H^$j`}z3oW%NO0fQ@^p5*}O?-r`)k{qqX5dYE z8Ht6~v8a55NS%WOz{aO2Ig}+ILWwFiOj#ztK;5$@D4^Vt^@E>g(8x3wRNhK=#h_7x zU9r!|w0L_=n1oxw;m9#RMa*V?JGQQ4UU8nCI)sl!l5w->TJCqvwn=fp@><5h5>sHf zhg5pOM2lnl{V53MpufIu+6;7LK9O9X5X32~7(s~DNonF(_r}1njl**++TJivC7TmA zIVBT+iKe!$!nm-8>?H-r+y7NcPeX9;k6fS(nut=qc1E~VaOk)Nu0XLN(3g~RFhFl$ zZvnI$Kyt?*_auwl5V7qJRin9lk#&;x3^22jszwdEx3hW|V#I)LD}drkCeAm$t>fdk z1yv2HdR}+3~UM#q| z!o5Wye*K#(ZtWm%U&IvNy{Co%#pa}oUUnqsr^I!s=jy*Ik?NiE#_ZM8#FJu&$uqZ; z#>tAvXfV>W(o!HoZ|%m2zZX%_PW04z{%$~GdpMdOVkF?}nXiAQ#)M;^aH>7+37oo@5z!w_!4=jEU!; zA{L*X@q&w@fdCoS;S|q5|5U4;E>1B|Wn*7@{cSyT^?7tKry@2uuBC}1+L?=`-WXB{ zp(LNfe+fS?-sV~reHr<;Hd}KA%GfS5 zc%^41x^ec_zH)2u+UnEm2vEOGw6fJ|-SI6WX|>n~+v{yGYkbtGHZU3;Z9>S(Jt@AL zLF~O6ve6l_G}ro2`}Sd~yelJBUwnH`#%2D3h+h=crImbzzp(t>+c9+LUL z@7hc`&I%h?pHgN#X96KGA|gdv<=H9v;wI{Pf7@UjC-vm9l!hJ20)M4=sQ%9j!$ENO zDwuRZ91+bjVE<|_Kq>)DF$PhtJ-3z};G2a%^c3vBID9MO_5$$g|}6M~Y? zcV|}K@gN^&C}Tj;YA`tzvc8_%cW_T9p!eq6lf+z8go+2|K zL?{&Qb<-gy(Crx}Cu8!U0TYH|Y<%zfG26!ihQjjt@rcfs>wZIfq2`_+TrxFPp=Z$i z_85dQi7CqL_;05v|3))SN{|CQVJNzpmn1_9)puAyu~dlddo!%y2N;T)37GY^@uB`# z%)|cV zS~#i~M*k0H@7>~JJP%i=t2^&lSt8Y(nSlXY93BQCB|xoT-H>Q*dfH`kP@6|Q{I#i2HNDh&+n^!NN?-bx7lk}|3Ax}zx66|r|8i$J$~PV=ingi z*AUMt+kC3IDiwp~wWRol2Ba4Ii9pbY_HKdnfNb}7JW%xlc;r#?>-#d1u&>L(&S3AR zKY8Yoq)z4Wu8*qu8Zzk4{QOd?Vbx5<;x5 zXx6jeF>pSmCN1RdU%=U*hJjB120^FTwO53t_k^v%dN@GmC7euoDrHPe0-QY!G&=#b ztdCFg-tjp+oa@$gGtGhqsWBkrR3>R1W9Bias{U?BD zA<5SpZexwU615thICN4eq|A@p`?NCJjXVt#la(%Kh38)N#ItHRKw`Ge=ceVR>buWw zrjpLto$1~0DWwh>rF-E3BbC}8#{iMRR%J>Kbe9IFLKN|D=rK=c6Y6!8;1loP?uRc_ zMCYvFonDDw_oiVY<#y6%Y6Kj43_fWKGiRrT*8!kG!`6(>PNP!H>}r$EtpI#7MJ0n~ zhvj-JdsjMU2gK0s;;su;_^=P4z}8Or-bf|VHczpxsx&qM);z_Cu`q1;zLSx?HW(DN zu>*7LY6lVeJBg7!pBO(G1uOn`8*C+X`4cxpVh5|Fk)M)qhsoF9_LcgY#|#k9Q~O2= zZ)y6DU+l#Dc*C#Oa$z7>dA9roUN=J%A5S1dxlrw`tRIN zXRsVQkH|Ib_BvF-KrV(AWkFBu1U^FoUG{Ze`pH2R93q9ACH z5-u!M{lXCva^aJ28AIg5FLCp*1%Nh`v#_rjXBS(&Da>NmRH4)tv)W-~5arSi^*c2Q zuD|T=o;pZ};{k!Ja`}s+v*U0$? z<39Ot;bRuxY+XH$i8e^qKb@|Nv7-YFLcqMpwj%wIrbgZHO z)AD7`PVcadBboIdvmZwl%uP|n0&^7^tZ)8^%Y{T<8es?SxMsp#)UAgE3YX)W^bhFWQ_W)m( zx8IWuPs{-|pym0FWliHe`e!?+%#Nk97&MiEe;A5~nbfRrd?IgOR*L+Nm+TuLHYPsZ zj*(27OxuyEiqcPM|KOtVDZDRSY6G25Q|-m$o)xG9KVW(Q@kSch{B;;GWBV&NRq9bZ zFZgb~xrer`$bqz`-Mjc>bLkQHXKw^~peDMLiXbsiLsV!N3l-iUr{nl#5une1f{HuP zc4d7I@%^(o%a$iJkdRTU5`qkvV(Pa#u`HmTMC_zNR&`kQ%xV0z@$Y4QZwrW6{RdK`?HVp4T$& zz{Kb10XtRv&}prJxv&XMx#$)P%q#gxW5gz6G~A%Ahi_!Cn+`Sc$21*@epL{DAC3G*4P{GOJxq3&Z6P*9NlM14y1H`U2ebDe zSdR?ry$`(jaz@gOveGkOf8=wUGW@SoHk0b0B*+mHXN=M_GJ!{ovb?48gGVn3P2N}s z6`*Uf765d0F@AqE;ANNYD zlvYWCNB1$g*^+PnZhWDH7w6+EB{Dq~#v^6oUa^PK5r3o&*V>ftG=5MBg-dGldPhwb zlwygL#r%p#{!NV2HKvm&mAW$tT;((u=hn1STj6{KIM^$k}B* z&qaarnE?yrbUrUX*cg9h`GhdhFnyCG7u;$}Y|7{W95S^|*82&mIs ze#%@YSQ#a;T*MGo1T%a4+!TOKi5+aY|!o5oLk%B2q)XaVqcn%l@Q%nitwnDWxQ0?PX<4 zC4#-t{4;-v6X!R~BsjB3RcV3zUVYk0txURqUai-M2g_sTlYGO4E8y5EnJ#lH;Ij|_bT$Jfa_X5`t^rA@ z!K$l7EhLNoYV&6v(`$>v)VH+v|N5~&UFM6oh&cB%g&+K>@c|`A{(uu-xqw|H{hq*T z+g?p9*rH5hdd&3aCZ5_p{!PRmfbnL>q?)Wud|#RKWce|`2{1u}!c>3}Xh zd^iCDze{0A(%1f7m1j-6+~!d%aPE1DOPfaC!3rOy&H*(WR*T8FcI=?c)d>ELPRUF! zU68VW+W^PFB|?HY+Ira6aX`C{N&mbA70|-S;G#=upUtb8$^f(n0`~UXx=gQmn${d6 zm^T^(k6-O?n{JoJB2z;nIfv7c2*W+;SHpiwcLe)Z&RRxXQ#iK52X4hyNjVzp@8J#+ ze9lT3f0JiSC8fpk-;DdeR!7fD7MaakuW`L|aWf4WktMZJnA5m&sKC3*bIJ8q%Zsy# zg01IFv!ZJb6ae`ZvRS-V=xAlQesSW0t~}&qE)65S8yU77f&o=Uy3EU`sUJUg58~J{ zFl@&L1`9sFBYCptSYHb!haNk5>*Rkxf>FQcPfGXr?dEwq{S6huTXZZR_#Ag%_j@YC zPHn)ov|1&UdyirznR%=E->=&LOV!Qo$jmuQd7QWHY)-(dDwU|?p2~WU4iZf?h)%Xf zdAJHzHGj6Ynf+Jwj^qGrc*h>5$z17( zK7BT7@%%?T7Tk+!^O)YF-II>SVf|rw=pG9(>ws8L>Rg@trE~&orG+fPu}j$uhRi1k=876^px37 zc%k%q-)jdt0|kO;nsgCc3SE;_j3-Q)cAMVjad*Y_-1uh&hSmViJE_3@vN!dP$@5Y2 zAr^;GrmYdyhqPwR9dd6K@|j3!)X@ciz7kUf3`Y@={W&!86g`8^Gw*%lXgRCTW6gNw zNwwRi&~9Z(RhPV~7V;h+RX)7T6~cV?Ea38obPZ~lW|G;^-OuIU!*80CAxe3l;+Y8)CSS!a zb02L?&}+TD@g&5;6nP@JHia2p*d<;^d(8Q5z6BcHZQw^O@7qM)!f$-$&jiI5pnE|f21TP|McV#Km z3tQ?huPA$8ebFgO-TpQD*{BiVYsU9#2zR#u@^@935T<+a2N%ojjw)Vsq|%R$J8qXl zd5WdzaWK|w2vHCsx)~)Me45k|!w(!XQ;byCg)-jP3N_B}=?nl}l900)9VOz7#_BXF zwkLd8PMR5H3o20eUG?)BgPLd@i4?OZLicXnS;dQ0DU{voJ(%`%V5o7Ex3h!Ka})OX zBR^aqjZkBH2tm<0u5VSTF%>N%@xd*l#6nx)6_tTj87_Q#ao<-B%NUfwxY3^(S^X0X zjx4UvB?rQtr^-=#b9HMO&N@_~%{JJ-(KWuzl|4Kuu@J1F^97@I_>3XGF89^V2S6s+edNOd${of@^qJ=YKHbgHab#Rj%sKSI_FWIP5s{+m57MB z_vX)@Al; zf&mpXaz)x<@JU#e^m`OV%`ynWbGShCswe(9&lUCk+@#oTbsY0sx_6ayNCS;FfJX9a*8$fl*es#VLYPA7 z*PI!vy*~5J(K00dlr(IiaItePwOino0oiAC+kpqLam(%Vf*iK>A@xS1L^$8S>e-sbtrUanFr|K1wBSaj{@e7~zu#O#(+y-Y*4$c2y zL-ladW#RcLzO>+P%(7BLF`C?37^2w6Qc7+2m|#CA-}unmH2f~TpevDuwNJOa^FUu; zToaAJhHt{4XWm~z%*iYr@6g%bLErhk0R za@b|l8xMMSGQ4D6tUz#i5AaR2P?+MPi9rSLvC;)x6L(6VfCTMhOse0aRW>m>To3`o zKYp!Eiq(500;qoE>xE89;d1g5_?9?&Wyp(0Tqe&&#R8S@s$>i)1*3=b^T}XEXH06; zn~C%6)G*dO{y0%5VrQN!8t}SxZvel(a2GD#4@{t*p^o|l*>>$ZPO2sd7m0P-T=Du6~lxL4W|o0Kr5@E zF*Vx_&RAMRP1;IW!FAyy|Ft=rwo;L3gSSj6LWP8p-svozIl5vC0`)wmPns0s990R# zhR4ZTBup|G_tCk>*-O$NBUukxE0z3Z0zaq#CWHTh--FfDNazdI_=?o&^#R7VQq=iuZZid(3g3M&lzpb)#0MiQgxe@XkJxn_tc~W$8>NZs01&%Ea zx;9>bkzm{qembFV@y7Hc{-Tc@3m)&Lw%4z#=3sU!L=Z75mQl#OF4xvUf{fs*D}-D3 zit4BhN0|G{m-jBDs~_VS z^k4TV;pxizAOJ@x&G!pR>~wB8SL%GpBbe0z2nnM!AVX0MP{&vSOUI~rTp;Y30CvP0 zxgV8cY^4rbm8KK{E8Ef_E#brT-=jk0v4J8hmzLR>j8e_zNR8ek2PhDUkFA$T4Mz$s zJTGX_=YtW>_^NliU&v<=jzGfCS2@_+`}}(2R|>{~_Zkab4SpwOXN}2j7P>0ELoRrc z>;W;@!x4`Zkq5ZjOhq2z9lvZ~H+BpV1@s7OTqx0x|Ene`tNw)r*S7Zu_zPje{OWt| zU)wKa8iwJ2pchP$)71hI+z7b0{I`G{Zb;VpJ7pOk+>Lj2_37nB>2%l+;IDw5-$Dw0 zxuyeKQL?EIa>X|*?VyeDs2>b+3dZ{3cE$ZBAr@d=aPO274pJ{fLKj5cOha$BnJ1AGnAI$HFZ7dDtd8b_5U~Ba%@urT1pG z&2$!v5_VorLh5G*h`itdeEV2ZkdYz&0{kn^>WGWZaZcy`P;v@8^n_*nfJW&}8t7kH z6%kz-tNlOeTgD_&i7 z{P=zWV0`?UiwmFoe&i3m@h63?urY3RrC5@^B5zPmLxl^Ki7Mq9KjQ3w1pOHZoBHTd z5=Hh#3F*b+@Os8qGN@7amx-};ZU^*zL_Ot!?*6oUS4T*=L8e8Wwm|m>YN&)a9<0oA zC!3)Xf6Z&kg{RpqIwO;JhF#kz`F}YUuNsDKz;Zv}ouFimvS(JY8?|+d7~=sm>TD_O z|EdFW(2-JXe#cd*Dp8npaS$2pMj!F2PQ`)t8$LkS{1cdkF_o2fCUKU&wEpkMK3i)>c$0REn1nnmugj9fb=OcBU z2$+>@OFYsUE!)OaBi_(Ue8vV`;Q->CW+~cuL5-5Wp?a9&nUTOfag2DRju&yTu^cT9 z)QpfN|4^q!{hK$p~0xeIXC(x%q16_SX_|lz^KpY^a-3AXRrO2f5Hf616C;dM&{fX2nUdJ}) z&!pT;?$DdcdPb_eoFIw&er*0~-5sn&s}HiHC(b|6G?uyFp(tVf=a$H)!A>L3eoz}e z_*mWMD~S8|unnEPQy-~23I=LhG~6*XEOEBj<*<;mjPZ88(x%XmVlI{3NJ|qhG#i)) z72am!HQs4Ww#v{eM*z&8*P!u^quXH`%mCK^)O9)^Z=0BWe%O*b-~1Se1n+L5gGyMx zpZ4oCt8Lt+$qZuB3GhNSYGlehn*(Wn&*njLs5<#ou(3Vhrz~`?PBoWl<&A1&@=O6n z;49cuA84|Jo+A+LmZsZ>coaAZ60GQz`g?F%H#&Tw9Mlkl^x{yg&M{{ojbY{^a?`uOP9v;g$%04#A&Y>HY!Zs_$x~) zw0A*E-DaVjD(Sx?mz2U}Z?Z{C>30iY!A_ZJLn;$f%{Ab@xOF05Nf=GWd*D?Q9^~+^ z#?H|*I8Sw9Vs zx+=Qfd{Ow&O5bWj8aRISLJ4*f8#@*(q&>i11k+|N3iUtP!)z-@qZ{|+Lkk^-(;e{1 z1MpxjM1%*UeDMV&LD6Y?1($gSNTw*#{8o~Bg^c+BJhqPj4!8^56H2Qf6wk`%3cwRK zE9129eSpsXZ`Vg4EJx6y*}0ub>jgX6rcbkpeAp>rI}aJsjNWPTC<5*Pz{=VOt}EE< zOqp>Q6UWnRVS6L7md7$oTlX- z0!6hXw40%o-SkJTb`tsrgIxs;P`O(O=Jg)f;7xD)3nqA78F#631_}b_4Y+n#RO|#*>Y`PnV2A+t8%NoG%1cz|CoPoNwKE;i%o~KL6)&~ z05;MU`6(u|v0wA5lp(fkH!gg^!U4kgR1&8&@Kgi3;^10V8x~ITAdzCMz2X78i6+ne zoR0?cVL%F_;<(iD6QkYokoR*O!q8Ke7lFR_$Z^p{K?Tl9H_uyjatCC<%+aw(VF*4E zL5mt|HTct~^`!qD{tvE&q1;r5MYJe=&=MaKbF&WHx1%#_2yww~e^?7fHm|<@sdc44 zti%*%CuTMFof;_v;ydDz(q=|!g%M& zlWrk^u3JpA`@q8w-ba zx&MTWr4I`Z(PC{Q>`|av{*K;AbVkw=(5PtjNKD7hlzjcB*hq{XS(lLZ;CGg*ax{bZ#q z)6$e*kG=Uz&bQD{g>ENY>qY+ock;0YU^;Ul!+I8g4BxdMd9wBBn)$bKazLkzw|^aN zGv4r)@v3LsSY&-RFpDCTXzV)>F2e%RHLE6mTYL5j2YxT{tMh(;;l9DG_wG1V>-+Jd z$?{vqqBVUV_T=)}t+!zH`;CHI1yLg5OG^8R9$ffnl90hx*t6?owGy3Z=IVQ7h`OD< zz5Qt}r3PVCVBp+X^%@4t##7PJH^2#U$7}zI^b4e1*nZh|17K>3C|9FC6TbR|bzTAs zUI(DUH9N5z*(STa%g-dnNVuXU>1gr3_kfa$+^XsMEk%TQ#^$B5@t(5h!tI%D7N$7< zS8!5<64tjp>x<{M;wcOwLr%lxMTGyQvdCr55F)0(T=j}m3v+55;VK(T@?4kG4l-NU zKY}fQjoTlz6Q3pATte8I4W)_DD5$JIaulf}+~`hoCx7hepAFBNm}!bg-3vNw#8yVh zo37J1R^My62Ud*&&t}Gm+j^5LI~K!6=w8xD#;WI4(=cAMbddm19b9ek?d(PfM2wW! z7XUIVHb+@fjOYoSB((Nx;+Nm52kgya>f*N2L3eTaKy>vzKfmgG&Ah`v+P8D4j~_`e zdSci7x`$_rAn5xcHR<|V7(@6ihVXd};yfdm!mG{Cj*r_V0Fc`v8H|(`=Bx{E%e^|1 zt985#BPGpA8SKH~Dz>BmDAU@42ff+*X(@Fdk2pR=^da(!^1gN-QbyNxYV`v8;tfa% zQr3N{qv;rX^pDxQ{7CTqY-KrSkf`b8^#O3-REpq5&C8M!7Yn9o_}TOF;lmrkB~wY- z&Izj*d|2B7DFqhS$X3GPhgY$RXt@Z`B|*;{#c@(WnD(UE$E}MZqsf{gVkzY7xCaKX zTL+tRx4VqFwYr8K*{$7wGD33Gm3uae-t9ttVBR-Go^M-EFYh~PO0)dp#7ptT!cJ&p z`^UyfEAF@Q@WCX6fG~~~c<>6PSU&{paIi-n;j7oHcs4d?)|noeq86YkM&a?lBWy|f zL0WTKT0I!dDuCFbVH?0O6mC;e^Vw|u1Zq4|kj%b84WS=cD#G}KI@VL~%Jnz792HCk zq-5#Z4Hsa~KWJ$m&PV&Yq()^9*gtq@$M81wyePDZ@W0Zn^qN1jpRSMg!I>Ki%0>2A=Vul=BGy9O>^Vo)R z&M*U(f9s*M*nbX-LTML!_JQukiDLS-HZFe@U^x$RLiEJ?iMDOE>v83h8EoIYW#5Df z7mlvzk74`i_@ltMpN`kI1dTUK$8(j3KNTD3**Fwcw=>t1-I5EQz5nmZ%h3vwEH;5P z5TE&^1QqP&r#P-Hls_t_`y&J66M&y=Y0n3fSFd=wh@iLhD-&-!~*L3eM!H@?ar z(O{N!0VU9oY{#&o`rQm*YQ7+uj$a5Zb+CHxJqTh#KSo4~qBI};e##gy)rOP|^_8@$ ztkfdKk{$k)Fy8V3y6c~TLHms$VqA>Y6QRvH&C$R(ih0@FBQRx%Ne5O2a}EHeVol3A zgm~wieSJ|V3~Xz|m#Wa@MeU+L_>)20%R61U?L=&n4X>Fgd3EMW5ksiBghL$K7<` z4Vhq#$WL8k|A_l1l4$^t({>d3I@~x3b>_G>Zork}d$8Lj$@w^Ms-r6+YEAhoB(Bz0 zKXTmpMkgo>-eN#$%mHrhma5#;8ecECZc(7Ssl{I-us)syAgTy)PBL%3gtXL>rW6hT zZ{@@Y={W9(QY8@E%p8^*O1SyrhtyhP4Fj`t{!ik9|2uDoB2d;uTy;{X8{)OjZ&yti#^F1tCo5=H-n$MBZoO4DrN_Yr<%P9JjZxYpi#1(CX>A zO9VNfq~2znM)oS+ZCbX48)U>tu(rB+R$XR(-UQi3VVuZLa)I)lJel0D07x%Kz5p`3 zMIr+)_3K=JGJS;{YwG-fw12)m{Vj#Z^tjlJ?eM+I(=mC##j}ba&nF!IJVUdqBRS@; zu_4sTW~DB(wiR7x1?^QoiAAi-_~|aAoyIssxdeU6j^9xzmfep!aEB7-%FkITeJ+`$ zpULE!q==~az<~C1CkFRV?_02!Owc}n^P)c)1O5RW809>0ua~P-7CI_{yw4{a|HK3~ zj|~3xZ{l%YKU_G5t4Jg=W59?NpH!!h*1%W8yKGN2bSBL=Rcn2m#umhX{nRa>rjp&0 zo;A>SZV$-W_POZbaTjDJ(t~|7x$kStvqe?#^;uwNAz@gKTh>`FA!Jjb1Fxft1AmF< z(Rb2}O-lbrHx9SPHUgO9`;<-Lu*#w2hWjz3XMseM<*n@8TD}fI`_cRWzM2G;pL57i zGSUImf5I^S$j^LLDeW1Kg}aU@@bn3OSgV|XxaIn(PbE)ck%)W8G2M;mt3*U=gSZU= z{fQ*9Hrz9@B`SxN6xTq{oyPt<61>0AD??^W zF^TF3{57LnnNjisLI+~m4 z6v-g9^)|RPFXQ}CvuTyoHEuI0*`yFNnecQ)`7uA{YVk7V`h_#bl>M{0GdFY2>R5s< zXX3<;Q3$(o%(@#1I%Vquz*ZjAc$Q%7TMDbcWdhQcxV4=GInSpxwW8kap?(<#Dsp#l zLUXgmbpx`f+m9G9SPlFgE%a-IPT3( zWhY>bM@)Qvzssx_xvFln~oRZROiDJq7xHFj_ryqJ|c3N(!cb; zyZxwoCcwbWV6|;GyybVDpF-%8iu5Ar+IhTi`R`i+f#T02y)oo{hJ}JyrqB*N*nGIp z7M~Qu{0FjOGs0_bburScgh1}Z3!6g2M_PxUPsyeEw|>uBGtAH2#rjA8*l=eSNg}eo zi=<0mr_G3!OGHX}Sm``{IcA)7e|qnEa#B*pf!TXEZuD@KsjUS0R7k(0wG2Xu*3&GN z;~Ibc`YQ-DAREDg5tR|~?}blSIlB?TiG)Ue7r^bmvSes#*PTt%hEN;faPp>L#h6Cl zN5a6ohMFa}??S5we08dhG#teMfb-7dRd}%pJ3>bw{Dq}hPi;IF4FHfR=I38zUW|q^ z!4iCS%cjSt5MPp_b+8+|cA-N+6d7rhA>65dxDdbsWd8q1nE*gWob$zq%LT4F_$x%_ z@8sJMfCoTr%aixRMJ{s0R9{U9yZqeegUjuN1nM>;#BcvUe$M$aRJ0sJoxgjgSsG9f zhpg8AE0qyC7gt|+?|*oflc=3;bXdd1_=kh&C?fBjAFV>g2J>=VRs7&zqn92^1N`t*XM5ckR3vWv+WebAYeOCs2aB4v~Is^^`WHQvE4{4 z_CA{39{sih=6*r{w=buU9m}HU))qEypIHc}s={`f4UD6FFRbilB^UVlTe4a2agxaO zODI&SYgAQoI;#TCEzR21KRsU8X&or7(J;e!%FFAj#;oh)x$IvbnRL4M{U2=M2iarA zZ*``mfIAyh_i6s0#Za^9jB>f%RFOkI#oW(Br2cIJ3wi~lfvlX%su^;-MN1QE^ZSQC zzJ4J)_3p7a>bWUmc@YOu4C(4th{eBF+p;OcLjBL5!F{eiyhd|3r$q8y(P?sPRS&o@ zxBYWtKpAUvqzE4tY~wJbO@!%#*=; zwA|i-04&`_bh(`F%$h#Um!DRYAJzV1>ug-%7L7Qv0*L3`-fpVTuwe-M z7L8B6n@N<}e%>u^EVZj$6*F&KdD8a|?EN>ae{ZwQ{+r+TT_zZX>v{Zb9|cRr!u!sT z!8H!?I;f2qj3&>xtcz;oD|-M3hqrMn=;Z6~bsfwx-?0haVimJ~6BHDbzRYs1c6ZAg z!7V+?8dtTm&<2X!3>#3yFLl2R2$?94MR1*`F~yD7ifw#ty;@a&=s1H9rYR^-+})$z z71*+5a0VsZ8r8E`p`DLBEac8A8cUY&#{Ee1yeHRq!n${h{h)RTYcVqWarG+##yt8q z1>EygU*-9-tGP0;Q>u7Vf}ZU!jB{j5wW;;7V9&xPjgI_20cYM&P;e6)3S#XHYUn32 zt@X|Dl@Bp~@C|1lP)f1Fu=}k~As?q{dxxCroVERF*Nbukd5H8%9#3n=1h&q`fN66n zYOs;zxyx>%%R6+eN{xBA^(m(=Oj(fR)07Inj_&8L4*x(_$Hz##Q@`g%xf`+PO8VL_ z!s^6}S8}Qtt5n{tZ?^y3{Ucmw-WwmQJA9E08fe}no*!X7-@b{kF{}x1UcAltmo%(u z=Okvf$79A$H0t=S;|J=A;sZGtZNgzvdRH2I`7co6=;5-9phCP73;XgK^LKf5W9uGL z)BI&y)W2nbG0Z5uua5gnzoKBL$tAXk=FWhd)Da7!{%Ogk`8kTz$UpRflXCIt#?Q}o z>Cb$~pP`3`havXl48?GdFP&mitdhy^x+j0o_qiHbAMbqXNHUBdTo=j|w5)dtA$V&T zEO^T)2tP#;o20NObu;g zBeH~qjN_N|7x4CbzD9dC?Tm4qV%PfLu`XgW%5VN$RHXw&+AkIq@iCqUeLvwUxhBZ) z?Dg|tU08DI|GXziTM;G|XcZq@(&68m);=v|bmdw9-oB?eJ#T>br&7m|XN;WJ`?l2w zp+1X|eph*A*0^P7KijhP4;%Jx6*h~biB&bU=reA{*-U;*&fuy4`oLr!`wgRdHF+2n zzE^d6j2G_DwYk&9l>jOo#Wxqc{6N>?Br7^#?%+xU(cM2NN`mtHquy%|>F7YK+>_Vh z^UgzV`H{E|mx8AzT=&1flT#fGdK2s4N-=D2J961lAD=>#a#oz{vjKtOUM;h{llM8P zP2~GNCO*Ai&I`$FH!=M*4}T91Rb$vzS7^qSv=o2)=_X$$Gp*Z9>qkf>LPreS{b;qp z@tNL0yv>BZ>0SPHleVg}m{R46zKhE_A-B;*wM;@d)Npq~2=)Ghze++C%0iD7ol&qR zOQZd;K91&!TbQAApOt_T*6NNO)yTGRORCpyeFbsyN`n9y`cCvmB`|*6#j_Mc4lHwv z8;6hf{zvqIN#%nntwZ9V#qVF7P~MvLV&V_I+us-4#DXvi?Jh|Aggau-U^qC&;Ranw z9p}(DG^)*c*D*>sk>*uS?QZ!LgGbcE6+B=YaiHN@+{|auu+NvJT?W4689GcLj_d?KDY?I%r~u+ABhls3M%-j@+H+-ABR|L<8rTaA zkh`YEZRd!Mb%|vRd@#PW8!cEQGdARrvvk8lo!Jw2DNlRT&f4TVQ`F8yGn8{gIfD=m zxW3R@Z9IG9y6_RL>cs#f+>e!`gjPHd{gaMH%i~yPjF)kqqmLGL-D^GPhzAwbf9)Ym zbG(lFSIN>BCLDZwE#sZPnzMpig9TDyarF1@dO%43^e*=n@+I*}W&}6&Z3)nh$E080V*rTdiT9g0{6}{6=APG_x+seD9J%ou5%=ML8NG3JdzXI2 zq-=LiC|@-WMkUnfWaw^rtEcRcd?c(uI(;PSO4|q&W8FuNXFX(FD!=A~GA(>kqtBeX z7dbfurp9wOR@hF<#97r$-U=8fZW-W%4DnYVFu_E(F^O2UvP%2lPEUuFGXL{$F=lB|B1MLAmEE zKUEsOT~5&^nrq1T7Cpfgj(yTP8*ahA zZ|&4a0SQSlk~Z~s-VDWE>OZe-&yZDqTJ|+nGMQqI;q&UYJ5COi|EoyW=XF;&E?-8P zYVOlJWLHz8I`IE1P;nn0^5dBLk~Y3f<>Pt`M~wmKTH3uUA9&=?vxE;6wi9*LcjX87;`VaqEcY@ zI~YuukALws_G&HWGQB&Ed0!~iD{rcR+NB~3Hn#DB^*pFueGWn~Cd=!Vr>fS(Y%oPS zJCQHViz_Rcvys2CL$}V4;P=~79zm9#WOp`8C{VBy*KMV68)8HcE!jfxQj7_qmsj0G z=6=Wfrs6(A4p%^vIe^_FJc293;;USh8IAkN*TAqqOG)oI*+rN0iA#&Hel1)f;ff2s zgxXy6pQd6=uX^!2!o6diAZn4|&bATMXk>_4AK7?oy%%l`R)-` zCWlbfY%w;IpW06gMhNpJ9leao%T5@hj0T=1^LFg}C`h$)v~$HzobpGLUSB#<#p^%4iutO*dsuG)k7^ppw$grQ84ssbP}G+ntj=HNRz7G<5 zbgC|u|H%<*vXuiynJmsMHnkb*of96V9)ea*API z9IGgka$hkq92tzc(#-yOtqUd-kb`$9cyBKmNFisb>Ft-wj^!R+lXSD>(?B+U(Ostz<<%(-cN zWkrAvrpUPS5k{{Tz>FyY%O4ZoM;6ND(lK|Ws}=dLe~8ON6fa%i zXSZO;(1QIZV+wAv#LcGyzAs)AhRY0ow2VIkyBo6f7OFw~69Tlod0G2{`IQ?SYtyb@ z{_Iw{{+2OA8^zsO5BEqw(L7)dol&loT z^|0#2H0=?foQ92b-6>^~_pI$!D)4Vb2Dp>nS7OaQ@QASeAyROK@#Rsp@ z{?7Jdh#%tJOmfDlNJo(5{ydnZ&ON66z?ibdIG+L?6g#6lMR5YDrp6}|LV!}gjXH69 zs4b<$Wb)62zI3<+X*t>0VZ(fsR_D|X9Gr34FpRZ{O);Hc%PYx0{46Wn)@Z#CyXQ~A z>-o(sAGXUlZxB-W=3iTVi4t2+B@!Hp!iW+h)Ye;h-p+!xo?|nfIVT6x6;05;q8E?^> zI^aSFzZauIIp=D%Z1}r}2zv*KI>>_?GHQ?FZU#_64Bg{%uOz_T9-RJcXt^9miEd+5ZrT2pgb*UtW zwlg&#&$*6sxzOMj@wH$hT>}QGwWc_mse=QXYpxEwHtu&=HR<*0Rz-^T-i+{c7YCg{ zle`dp&@R#ami#IfjzjWO1;^b|H4=XvO|V+Tz;_V;nOe2Qf-x6v?IYOK88?GBD#QGu zfU95P^>wv8I7kFu@FDESA3KB$C=TjSFe=zjTU_PwHA>-tQ+Zpz26TO!SNcLnqrSyA zs+IAxh|0vTpk0?bCnfq!={FJ!w_)#5AWL42GNNsD&igt7%9#IzGxLTfC>2T$ML4h| z2oeKIUT>qnj}!qHXvM=<#EiUIUT;}LSmq5hj>L{A`30ah-DcnmFEWyd zT{^ShR;J0i8m!k5-bZY`)wu9DTR1D}4g9o7OWvlay?>q~qA7FN;fWxcx7i86e>T!C z^22o-i1FdcP$_t}KG2^YJQ4NrF+`lTx65A?M^!MX75KCxi5j?+KJ$^pmcZO@CYh6c*}uDVGH8&r`>qwS$e#!4Gq?Fn z8`Bl>QJ|fOZo-eEqO=ph8a|i5Z zl0XTBY~fb)1}e!{uJHemjlFUBs30A%G>=d$F*b5OZgGhWTR>&+lRSkW9EDL}J2`Jc ziSDlV8wh2~S>Lj#alr&VfQ%oSYv>ppRue6~V&QYV9qD__#rUWpa2=sb+s|_aosKL2 zF-I8rnA2R=+=(x@_z9O(l*+{%0c>z(kEXd#8OhN7fifCPs|tc}xwjN**cn^?V+*ge zTEe(*!oX@+?`z-lc}xN4Ioj>kOlxA*((TQ!wk@V%*nOz|ESx`%BcCTn6~HwYmyAx` zD%oLc?q-}#3xv>9+3z$ag5EiuvE_dwc-T%m0^28XQTuKkyIZnP%!88|?zs)+)bK2yxhcY8I4!b?X`(@nh<```*#-*-F zNooL>T~XE=ZLZ=jRBK+rqUN1G)1XEF^H;EDkb^RMq;XmPkamOsI7_P?6dZAae8WC4YYc9qVC#E20QE|@NE$IND59iy@;P{(}a^J0_2 zdxcAM__93tUR|*(C!?FDial-hMul(H8bGgR`Up@(x6TJi`ORaDdBjp?}%e1BjK41I8ZI{Lp3N~f4XC=$Y9*dA(sRd48zE-$CAK^TNd!vtuo zs=(ui%}uxvA$G|`Jgqga>qLS>YR}TftdbY>(7kTv^qS8P^me54YLIdS%x>s4BlKoK zCvL)j%;Zu360IOs#dj+|;9%v+Lf2lO@DIL<>_%{&+w=7U!Ig;Ti*s<8$bwE!-tVf3 z2^Y9>vN0Q}kx#&XH()`t$+lJl<-+rI_-TR+nc1nM=fvw>OF@OtU6&&a=v_kn`y$kh z+aACvt20vd9(r9$_EDe^c!lbjJjBb%7(0no8|KleVpuMt{!`UqM@cl~9}Q9V+n|6+dleFDgQ!<9 zX7iQoCrTMhM0II(Q6Mw ztxR7!4ot8(-|Eoi#xcfuAT6Z#wQC^?+vu7iJ{=hz3V}Mdp>Ry4z&%N?I_k_|)|fI5 zvN=+av0;TzzmYi7yeC~z7qa6e&?}n8|H}( z52xeYiWGPY0|z_=IRWYcLUpK3Up{AQ4-gn$T3K0t>0h-4#ATHYC;BKZ?Q4YL2!cP% z0aLT@Vdsiuh%X&Yezl3ZmI3Y>yL*PjTNL~Aesy&MoA2gp8B zv~oX5g7$U^z@{ri&>XFl2v%35{a;}<+~hW$JXL^teclJDv+C3|V=chcUpuW9@`zOD=H>4 z0c6|@isKji*8UD=vNZJb79r#iBey^8*+QTB&|Pv%Mo7X@+ zUTNXs>}0z!F-_Q1$26A?$NX(*7EMw(*E=ndv+yQ;U!N&s+)Br~`ZN|37R@-TjorVl zQ-Nr9#$Ir!j**g|3Be(9V8&hkU#DSMQ*1D79_IxVs|d{|Wr4>tApeL3W6w79{UZXn zlLX$*XyxvA;+c z02JDH`{#{K65Fo+uCLzNK|JU~i?+Au)78k_Z z2P?4T10n2l<)#9-@%>-TXXeF^L7;~VUs%BaHv;o{_bGnG6E8_25 zSa`*NQ0`FxmZo7hwa+^^;20GyRlxoY320K>Epn7}^E-Bl#1s?C)Pjn9{f!j-KGKXE z691Wg801D0aeo^ZyqmYOOCs?q05S_f*l$5;_O*4lz^*SuxHwd19T?ahSY~ICFSS)^u+% zo7Th!4nTf%p38|DYki+)S@OkpCgMb)pS}dG!&l67NQxPRn3>;v7T*jSJA?NcSN`N? z$t?OM0RT;q0`3>UB-5kC;NP+np`fM%iu>6y2K(QMx?(Y3q`^(W|m3p z*6kALQ8fVpQHG8Po63O*knN)YcV~0^HBg9#d$Ui!MKk|M&BWg^*p4~TuDVoYT6&#g z1IUVrQHs<^i4T!Ld|$v(f30mQQR3Il2MQAUjAPSQQXBDqSdt%V?0Xcv{9*c*gb=S3 zmt|`HLIvUr6dq{3nk#<=8KD|r8OeLE_6zHZzgm25iV%3-oNi+ubdR8oZ$GqN5ayi9 zHo2?BRK2PGL)wPxAqBMC)yl(8EC1y40uNSitqvgdaV2m^8JvMJTr&UUNK}uW_6srP zSeF@WBVd=ZR*ZT+N1W-pSQUh$WRx>`CR|hQ#3nr%vjQc>dmpIqD)2 zyNSdS-~%dB7rJPUfQ6FrsT6>~Y={FxH#=y%$E%8GiUz z0Y!xxA zUf3;k(7D|cKQK@kWs1BDZof(l?o0B|5XLl7pk?6#4E{Tvn{%J~^wtb;FT)Dtly`gH ztrJ$TAWfxkk(<(Kc*=!?N@f=~-(UkCROx5dh-J{gu^({9`+GVfs&X}Fs-JI++ZMHpi^e71=pLH_N%zd+r4Ryj6TXY9R@ZO z5c@uM-p5zWDS>W|9>8!r2m_}6bJENS4mf(rw9D&rZyJAr_LoL}DJ~O@WBo8hb#oZl z`)Uj5_~c0`8|N+rs!wpfjhCoymRaB9{iNtckf21wt6z57osU><;y+vJ^A`r`B!z^& zE!O;QgzyUX0*vw6(l^(4u_(=lqE~ESDmu_!DB@Jz*&<6#&r`b9f9=RKeZT-?Q%mMm zp~-_>K0&SN2ff~AH6?x(Y~3b*(K0i_)?H&?^*3P@=Aq<}j6hWU7XIU5G3N1Vn$=zw-}xnO7=z|DfLKxB!Kx!m$XyI4<3Bh35|;7`%S* zVyS>VN96;)h%Ms~+#2mg3Xk)?yhU5rvLb`gI7y1)Ajp>}6dQ8umVlqv>N!7%i(prZ z2&Z&f#qgXAQmn#QON4 zNmG`Kk=D_%X5&_rzY15@8A!u%hE-5jumyUR)@`=v=I2l2pQbm>5bccc$OE{LE-Trt zUFM=B1w6RFsJnrTYt*%`NiYa3Z@d?sz+0SDOL0}2Jc_{dMd7~H-FnvMjh)3w;P=zS zNmPo_;)w6lHzGKXlfdPi-5T1wek1gxl-5l%I4EG0?Vb&6lS8W-)p>!lgw6Nr^It(w zqECnLhrYOa@i3p<{b7EwUr(7Cc{3h>d}!g_$cB0$cXV6ZhC75Nz0-?)lM8^BVi$`= z)pOjO!i%7hToqI7zfYeexiP?LX%uZl#ZdSYq}~&)g~d+r1}obGL54-VmDm3dDEtHU z8W-R@>K;v*lXU;(+>Xx*Po<*@D4gg?gH@m7MCaQ2_?vAGn3zumZLHs~HMNPgC*G3J# z|6dTC2|Kdllp7)Y;W7G(5Au9`d_V|gm2fXj+I!maJ(Z>x6o_*OQ^5%fi=^VkFN~=% zP>del!{yS)1dnUA7-k{P@&7mkPnQ#5+CefWr0} z>zrkd^a&QVPK6>}VxpPduzLOaIOzGWU1!}GkLE3ZB4y{=+eEtd5qZ}%HD!oLxsM35 zvk&;l?2_t19S4@&1!c%AIND`;S%jk;@y%cDv&oVK(zkq>?NQRbuK}dOzbC zhU6E>Q#UQsOH+=@EG?Os$xtt5pFV60MAPH)+F*?n(i823WiVqczb;m#j}Aw{K)6ok zRP^cmM@Bn(W)I>=Njc(+&{G&qqpm0g4fy5_WMtYAI~eO`Hq~p4&|K$ zd2-urH})556KY1-{LYtJH}vzdgcHR`>c znn{4C2-XQE`^JXt5kdwI>bWO)-e(eb_;zo0VchU@)RV`&?5+^-K}GN5hH>f5cFTx6 zEJ*}30(DbtSgQ*9ec)vQ7tE;ja2>LEPTSzIVXG6l#r^a7Uis|idq3yUAt#JWGCC@U z!ZXA&`;s%~J1D(L|I!w*sjF`aUICtq^GTa;yA9ke}1JJzxT z_9%oY(v^uw4Z)-ZD$SoID;^;cv6s(-PFzp#zjPCZdgIY5${YyRLyO7i+<;t5<8L|6rl@o4K5 zSVfn*iD})$^c=NZH&a(heXL*wKTZO^FMY6o7YY43+?K`s<@lKk5J0O&EgQ8mLSyDT znkZK@_=E>p!27o1P!ZI*b4LNGSsDnF*9dM|7&W_JGj+_lUl{#IlPpo)Nu=o&#$V(A zGIV?mB@pKj+pO>Q3@x<~47LzqvG&U~stCUs zydOkNf4wYuN1<9H@bT;&pyA=dOpN>YfYo7i3a-df5%qAD#n}G4ql|Q){otEQ(Y>GJ zc?%tnBA{*I9meRA=CZkO+JE%z@e-?Yz9>p%v1E>^%C$&PN2{>N^VW!x(x zVniAA^bZH$v>79>o^`-BL_P%1H4dV*79H<=J4mhze~)bKkiv zl##50X0Eybc13u-M{-TYWW7uYe?}%=$sm-OrbHb0Z`WV=z^2gQKZNTCr}=uqjihee z|07z)q*}7Xee{&>k{)$WN{UD6M!kbYm^SIDHaPw+x*Y!*6WuK6oVzv54#%0iD#y7V zgepZYP~iG>9;(7(M-iGz6;w3l7(HSmOWg8;Iw3MYjNa)etD9M9VM8$h{AQSua&t1p zflI4WtusBwgi@JL0>n57F?}^7WT3(I0RY)tmSG3MCH;tV%TA2zj4Bz646(Y8sJ5Yk z=bOV+lsjTV#qqp}$pNxH%(_ago-h0pv*M`h&aIM*Qvf^5h<)qXn~zyK!2L>82=Rs* zK!TVL@SW5c{dZeZq&@#e;P&WZ#XcbJJDS=ddr0po!BVGo@A+oUkIie66}$&2@?Ljn z-&^0&52(^+BKMa-O8`{dTNQ3_G2VG6&f`+CJ^YtSt+wC5@b{P`2RD$ss%)2ZLivg{ zlHCH~$IFP}cx`n@ZYgVx%X03%^a6))v zs-48SSt&IIEogIeaDDZkykJ;%?0LV@=i_?rV*$_o^(F<9To>pB?VIH`P^Xyt+ka1$ zLN7AHY`RZ+KXZZe%x!J8D*}& zu4#hT!_3eW1j{$tUjyeZ&W!3XYk-9H|ti^2=Rh3C~~8oP((wPuqNj!wL` zzqTzp7TC|2c2=A7m{r%a*ZwlJl}t`e>pI$MwsF#{fs&WOL${lDn!l9=G#u&>_%EHL$%vW5 zQRxd_gX-L}ro*V8SXcnrkGs!lGhdH0n@AS`-~Bo!O5ci&6il`Kb}iwEGP5;>#B%D^ zXL5D7J@D73s)a6aD2?Ay@G&wa=u~MBHx=6)W^(v-Y$zsV(5R5_psQb$%pPEgmoPX6 zKJQ+){#-f!P|;LsJ^+W_pP&A!bt67=;bj&?8u;an)~jM0>y?R?MMH->mtdxaN%5uK z*=bbK-rpP{64?(yi9a(dGXp;Mh>jTd3|125>u#LfO^Ew5Sv6W{Hhf2S%%J+|;B=3o zdCY7RsPpp!;#CqD4$H_!^6OF?ao9SGDU?_LAwY#8==+qD%I`@p`uYt*genhHKgClP z`@5csaNUo^a3rvF%vfpjADs44_-u zbtgHB>8prb2OmF&yWL0Kvg++7DPvSNz@Z9oN1muiuw{IDVE-wIL^~9iBtL+UzVq8c ze&>(0&3&b*nx3QnQyV_nl(<#1jf4AbV`;dB8lPd85RqUs+K#1Uaz97t;K-FJYQ&Wx z!Wos_gK42nGNuDhV51r&@we@9s1@Gke+68>roG9Wx?{tFtah~dnegn$a>m-2|4F^6 zr1+iNs42s%mw!{4_Qo2U9Wzrz>@#n&66?ynE^o&6=eVs!Z8p!K0<)}PE13BZ6ZthoYI~;qp3v9tI>=CJ4FjGlJg-N;Y8=N)&}mGw$hd57bo2`~Gsl~1W9X-Q-ur|=&0&^PwbZ+`a182?Rp>YAlDbZ2dGC_276EO z_#oNc-|4^m8E>lfHhUTB8?C0Dx)62X`wG)idxHHYu~6)w8TrRtW?>VvZNWB#E>b~! zfPicf<(!4120gHM-B_13w@auoW%S&y*bkJcZnZ%sT(Yq_Y9livl={t;rTXxm$%f{^ zJxR*~UVCPtpzvX#0UJ)%u}fNj*U!Nq)<9C`N<)#WC{#{a{vaOA$FK+ZRA`O2B{`47 zeQ8MC+xGS<6H@suyQtq{k#9JJWZ5ffcBduf=PN@}A|2Yy-oHB9{5D|97z`i{ z3U0C$y|=!vF?}_U7aE&6(IstnUvCxazG3u7Y(dChkgu(cN=P4<7(j|jUagx-)>oId zdGE7=2gBmfzdzj6zjVnsA2XV_7^!|dC(LWU`Bu(Ox@+|#B?PJcC}Ln%`=ekw5)K0C zGpbKLMgqY$ZEYg5?Iz!!^S`e(p1u;!6q*##2{!X>j``V?qn`-Z!KmoKd>QfUf9OY)n;!NtRE_I?319DAWp`8BGa{E#c-C+2uci^1Y+# zVXGC~<;5$RsSWc(2^X<7^0oS_%)yURhRU%uVFfdQj%R0$abNX;5e@`%lE@q@o45uK z6W#;nXV3GEZ5^R?-%e`FZO(Y%GQZQ^7k8Y@qbs6~a}neLva@9@#G4{Zw1T>iRo;ae zX|Cw$){n>oizF>ji;T!8@u99^?Q3jfi{w46*kxaTWzNMU=;mU7^;y)8r0ggng?W2UCp-tFS(8 zJ&}mm6w005fyY(Y!4JH%>#y8@MU~ssxR8OOIoZsPI~eRr zNIyB6MwHuJd%b!hN~^BVW^iF4Tq^kyomy|#QnI9LwcjCjQM~>7I$7mi7PI;Ya88hC z)4MtxQ@l;&7h27mIh|-O7(4RGCskGe0J<9|DGOD!+meJ9ms#50DzH_ga>_?AQ6|?I zxKY}+cELmU%KW{VGLwKrT{&zz9*hHpu$BJlsq;3&o>V#Q9_#!mN$NI=C`2Yq`7Au+ z-!t|ACeu#|5frL970c&hz-O2E{8SRPH$w(;TL3L{}+( z$+N+kg~oWZ2Fqcj>w*5mb}!fz;`|=208e?|h+xip#Q#^K&>Xj#IXi%p$$=QK$9ZO6 z#XavtxgW4e%{esCC$6H-n@&tp`+E$}bCM39mQEWoclq#p4eWjUbVyBi#!b?Dw z;_0u@tj8T?8oKrM0D`w?62necwHlixP#BmJps`Edki~?=PQ^@QdbxrzNzA6G0Gh}| zXF9H_{Jf>)yT#4Xm@;oEfeM2@0i36eD%%UplR2oEk#Y*Z{4%J7huUa5uFYZA6LV5g zu@_j6yJwB$&cMU^qDb8x3#dRbuVT8Z)~w_f!ev7+pKCf7s60Q>~Dx5Pvi*N{M-dhhMVk z?k1gee0WmLWR<`N4DQMIt67dvPS*SRXs3>?o0eG!oj**+4C1vL>f1>LzZPrF$2`|CSIg;%{w?ZHh<9@$_4L{ zRKvvykS6~m{PW!MRpi6(fYX&X+CCFu?@JmCE@hj#IBEYaJLe^V!FUOU`AMwEvgxPZ z^E0c~O$NS(9a-MF>W2J^YG%G|p2`)ZU#;yI_O5)T>ud`BDn~ustd3gJF)L^1`y$ zc0k>mC*L2rh@mtNSE%MKMy*^h0s{iRPcDd4ynlCi}J8D_yE)3TqSNe8xxcI$`Jg(o@ zeRy_^da+B)ee;$T33BXMp&C{No6m$KTsPfR-=@d8KaY*|DAt86c-)q+m~@hcESKCc zhY`$8CxoeSJI`lHoc}!ybDLd*pYLC~+%fJ8&<{)1!hMgi5$0m-)26}TYrva}Mn*~V zn*zHzs&L5@lXo)LYV2Xj!&4G)Z>lb&Ku@3AHoI1QAmLWpBX2Bu8QaM|L^F5SuJ0** zpNAe{4Hr18)LPQnz_DSLp7?Kh1u=Tun9DGd&_*^4X=L^idDapcc>nP^6`Q^~;wNDe zot7WC^|qrVE3V>sBPS-Md`Q9*@uy;E(-40YFRzz=MoCQHnEX+ln=ADqBQ7Z{6MoL6 z%)TkitT)6N^Jwwru{wC9dg19oI{Daztc5D)Pxj$&l>?q3?->hI?2nn>MGZ8n35vds zT_x2I-Be0kkH=vntia1ro;Ebnkxk0Y{4G<{o&WxO&EDSADdlH5B6=(*myQ}bXT_e5 z3t_uMvu&@KR5%_RgI@z1e)w(>{6nk&UW*CuVxq9t;?+IV`(8Njzv~5-#Nl!|xsU<5LoD)ZVwF?*619J#~%SHwdF@w^^c}3Jx*zH{g!IKLp_S zF=Twk9`lEOM2Ho_FZmP_e!m#D>aS@)i7ZEY<5As*R_r2Gjkj*PtbF&e!C>BBVmIXN zVR3os5H6N8=7p#BTXkwA-@B|IC+drhaJ1LM8remd!)m}Irl4JH>!o3$fz?L8#@z6D zwh9(jFGHo%p^^Fp)z|3vpZ(7n$>eVwe(DK6ve-v7o8oOssUY!dR0xDi*Sl6PF?W~y zLG;c_#C?i zej?&Gm+R`U@T?t7v?q!aT~VH?@bC7{J#skJJZwzj=v0sQ7yX8REsK^bnT z!jj@g`{gnxG>+I7HumtatFa5zCwJk6lHFwU0wVlpK!>E#;=a6#6}{X&Hpdl)uPwje z)v!A6FZ?k~AT&5O+niOS41x_+42%l$wKlgxEUrVg&rfgH=1(t@et8 zT80K|3PKor^&I$trH8du+KL30tG}lY&GP$;#*Q-#FZvU9;v|zN%BXKjBfcZdI~opa zD$p?je~%zhwhA9VVLCqq+&F-ed+MLzTJmAqiqJ@8EP9AC<$zUrzxS3)@!taApCGe} ztzF<3J6L_aLk3WiIU;Of^MEOpCjrwY54U!o$Os(DCvDLbX9%Naf1`z=2^iL4tAu4f z6T~c_TdRWt4UV(q3{_CPtg#qN8A&$eOZ=y!Fn zh`B=H1=kz9gr}6eNn$hv~5J8dZuKUK&&&kX!*oW@rro^_7bMD5c(7Rwux!E zI6OyB3wS66hGuc}Vo!188JEhxbp2#rvf7~k4tZI+$9l&XFs_9B3rJ@E9_p_UDec26 z-idA6>Y42mGkr#j5OYKW+9+|(+9DAt4p$m<3H(I6NTCX?XARpZ?9W$`-}50lVU@nr z*rmJ72rFCc=c9(Fy_~1{yzCuOPz%Kun72Y6F zR8?8AqcLDm0C-cgD{M5&n-l^H-jbIWe)24BDyhX@_gnQs{|GchtGL?gZa4%$gAi!# zLnj4A<~9)Q*eS1HAkz7=T?+sz96#nF$IZMA*tnr#g)wqHY=Q=8O^0DHL ztCbV@BN}qd9xYw=q7guX8cE^zKK1psq_p8+HZDmkpo8zq5v+SEP>pe+c@jrY`I`cq zR@-RgB&!gxX$G|WS5*Q|_4qT9ZOq@r96bWEDbJAY>}Sn~Mcqi3CKj0rdyJY)I#d&1 zT4jG|^rLLsjY7|_-$vwRL=F>v>q8+N3zM5HQ41n2;~EYp&A&+4L-H`z5@6@;Kqg)uf5 zd$VmB#3qLP1=I)ZAIGYM7h0{|-u^F<05BYB8?uQXRzx#>oE)XyF+pu!4IKdE_`IS*>~3Bqx0AS8r7RgcQRbOp-n)g_v-W8dVejjV26ktRXLQ;ysJeJ7*RC5jNag;GFLvyV#JhT+;Zb|DANKIpaK8{hvKt^(SCFLA_M@Tbg$PoC8Jp;S=wD7kVs9S>&#!A@6#{pLQ*iaaiPL&WyOQy-Cge^G zELr^keBk*ru)*E?_Y-{m{6#Dwh>1m9BZ6beKjZ49qxW!Lhe%Au?hZi|382TkUQDP_GXtkYHclw8a`&LILq|>FW1BD2Ht%v+6f+{48h9 z0_k4ZVR)*`M7!PBFo{HaNX@=c|F3@E|EagREy3P?LDVD0gNj{FKnECMVwxx%Q9Rmo}e3qFY6{VUL-j_x85`@oQT z=0D3e%);y9#F~vM692GwmkZ<%HTUc{DS)m3Bwk^}g-L+~*3LUy(yz{r-F;cbs7=AH zfO-s4F+)ZYRcCNoK95ivm-GW&8*C%t>jw8yUo`O%hf1n%rCtx?TXNgvkJXH5;)l2c9u zI+ZC*UD#HqS#_NioEcse0NIAAxEcOF_~ozgV8J%&o16rGxT{g=1cX4;!8IeMspW(Y zN$^0f6L_9_?OIzB2--Vx9CC!^XHxu-CnSR*lPae1<#G-Iv4JI4n6Ldpfjve_F zTM!zG9B{cbYMugLpDB0rt25zwD-AJT0n?B%p%B(x!~tusKQqKQnS^T(zS44gmYz+^ z_2n2%A$dKlQfwy-|Kt^Gsxvb&vO#Bq-3|JZ80{eke3(+{$~o?W4?b*s8awT2^M$P0 z?uQ1PVb$}(zZ3{~Mdf2d@I!;5EQ^sLnBPJqE@1A&|8oTEyNYS%Lsncj{Ya+8!SN=g zFee4H;;eJKnGp2oOIcZc)7uup4gMP7)Snq&J+S{NIePudt863N+;x_-* z1l*)_i%__!8f!xH{DTxd(K~8@m$lm4hhK~mzfIqL^q?%x@WFHG`8ka~rSHSiSp&I+ zDO#8FRnVUuw?y$+cSl0II3UaGdCbAk{VwEv0SEs*iF;g(0kKXPipBr@N6B9%Z^UEC zP6R^u$ax|0)_ilHUpPVA{>WpUWQ!r#P?CX;^t5yV6d|%;)xA(HT#*ELJ=$2eo1HZ| z;-6--XOXrDy)}1jfC_Hz+awM;Y=}g)cw(Zc(40})V(&K-p^_jST*mR+<`=k#J%z%B zX*i7euA&g^sVC}}52#N*lgO0M8$dEAZ^Z$S;s`aCt>LgVgQ!REZ>!fpNJn8drc%dQ zSlS=~6DDcbE!Dm~JcTXmJK=K==SBo$UxeEbMa1M9bFiQ-%b^BR)@N@;3YEZD1~AdT zw=F>2wKr7?+V?Al-kHeQ`e%NwD#tq$u>1gD!c6jFOXn2TSDdu$?NO*?nB8~L!Oy2* zx6X;7AF67VhjACjriu7Tr|9%8TTsFtqwKEV`4dBeGkBq>X3Lsy{sN)vS$)%Cp5ebM z08vZcvz%=#_``Q_etyLka`Np~%M?Z938yv3jEMWlh(S48>PrX%4|_0&RFiJ=NMgSW zQ?U>A=4Ps%Im&v4i2+&fyfaf29tfnH}+ew^T#!{C^AXd6pkP&46G5)a7%9ZGdf zquLY8>2|#()MVi?D;S-16|`tmE{%q?+$d9tKzYb0)r>;GLI5%ZzW7K;=!;lq7vukM zF-o!#QUqYI`wMm~o1RW&{h-7^Ad>tUJU?14?+jZ6>HRc>Fa}Yk#wi0=>uYfIqr*by z81CBNZof*}OBA=l0_*c`YxUCI@d8coObCN%51bJv-V(K7c@$r>uO@;d};^B7KllWd!E zJEwI}CceY`6FQffGyRz}#-d(XK#!8Ts4`D@kJV!ghB2~wMzgjC4|-f6OETBCKuG33 z&@Q%i_tepH%$kFI!y`{p|Cj)AmDS4Ks6BY3 z1hEZ9!cjFv+3PyPt~p0FB6V4FnxcF7vU%23bYngM4JjRd67U;gtx$ z889S+n9FjY-zfwn)8ea^09P$8h(N3Jf);hE(A-(?MASeyR6Y2hAQi9$!Hud zlC;+`CEPL%TR{E;3$k4!^2jOGw;^Uu*uAih^~%89pYikvXy*xl&@#6R)ZoRyzC3Fj0&BM{XE62sybJih6azTO@Q|P7`y_9Z zgySkBPI9)Im7sUC-gCk+lrK^u-<)P=3~A}gcEZ>w5?<0>zhj|sQXsdBG6+cJjg*To ztf4n|9tg-57S;;ZYzyWtJIc^{qN+7P{Pbg%i)+W8FI6~ZIW+X7hN$O*x>E3@*dw@p zx>;FU8|+5^v^g0qL(+8$5RkNWJfkPIQhW3GB~8pO$cMN0QtM**E2jPYUD8P@^`aX7 z%LAHuyvKQQ_UdQW&^=eGlD#*VzGvQ~(gL6MvW8S8y!06Jq`0=`e|&T!dU{9|>>dQ} zXR~^L-|A5lqzl!*F`SpTF33K+Ur)TQ?&Xuqg)>TGS1<-M&SekSb|Pc#Q@H^RAAR1F zW6q!n1aA5UrAZEXq%~^AhgTO3sw0O!M|YIoCu?i`b~SD7e?4T9C|fW>?UMDgr1UFyoCErXb#?aTv%tSPa}0J# z?4w2DqeYFRDNo>0(H7U$(aED~x9!~4#cu-J0zYw6(uc&)TN@R`Urr>tX7*fk4G*p} z`!g@za}l!Y1~ql~)qM+zzZPsF=vZHeGCibi+I8rgnTb~zd|n{n1uop=G+Eh{yCb}r zOCX=HGOut5dRwG*UcBS;Q9M9TuEwI~oApCED(VlV4T$Qp$P}M}&{q~BKY1<@R7cI9 zL9)u_(2K2?ElcMS+c5i8sAPf1-?~MrMRWX1K&vNO=JsZuzSLn!wZjA>_jVcUEx4u=U1hVXhVUY7EEi5~Nq%aWk2ToXwQ7Unnq731RI7@q7`KP_(;^n-)oOYp29{bJg_v}}2JdidRI*Y~+T z&avL4ur!*DN%s%A);@dZSs`y;iD3pL#@^qCM+hX2+HVR!BL-xxA{T7&3UV0bau{k~ zif(^=zt^&wuJd-sv4q^!7C8T2%H`7e-frPNPAHM9&ztwHuZ3HW8C&X?nJ8;~i5qfu zPVSFXQp_BcuqJTPk&T77Xl=uw(CV>e>gaB1<-^TH<&jI0<;&kV(#Z!Idq z2U3HZ5n(nkFkIYG8xS0@>+wgu7P^%#6ZunBmEO~ z(9zm&a>J5x35CrvshB(aPN{dLRMalRPn|ZlkaCcjX?aonkqi`&5xVT8j_Rn<`whh%=$h{<9)K;n4|@k#V}YSzLn4Qk5)4q&YVrzpD%$ zt6L_G^_`CP+@~Jeb9#Cd1h}wG95D`}wGSW8vN!q6f&hRICd%V0c4;0g-ip()I%a~~ z?&5!~Kl`j%`;v98g1V#@p3*%L0Dv{R5Iop|{=ZYs+nfCRF@S(>%htwkEL!;sXpVA+4RI`%ZL$~Ba$UAd0v-TujyVKK|vZUnKR+^t0VrgJR z0K<|+!i=r|WJ>+Fx)1%2`St(!<^QPef5|2L$C3*Gn%wtoOtML_Kwx|cfP1*~t=i!) zU6q8y?fHwm5wa4uRh9q8hK;gckh^mZJ-h*SP$Pw@4?VWqzCAj#wtf$5gC)j%5aHZ+ zb)lSEudjOP^Cz`x{OnN1WmWK>#?B|+)4jiF4}w6B@wB;z_^-gaFS;l7u>`PIoT-TC zphs{TrJ1v{5nfA1E0O{ODFdv527>%}FAFD1&E?LI6wpFSeEm80pZ&&}s?3cO&TR?l zbOtf0P`p^SG**-S%ogP3g*AdeOwU1nWWoE<@5j_loXeJSc~vgp2H{C*|MNty1dYer zNzENuc*EKYJcX6yoNyf@Hu3|$d#B-K@}k5Bu~j*yU(hx-V4!^TqG z2!@zA*8%cr%Na|?_}=)sMabGIoBY;Q&4#cuWa+0He2xE@(Gj4;TpJV$8`G1~Ti<3!m3@VQ&W#T9%e5)X7jO#l z7IpIu?~HE6T{{SWo_@BZiY)bUWy{PBZ6&jtx}g_<%?bjAUhHZ_b7|zA9qcVs=0+1t z@d|4H{@~qt;8-ohQZwTLSw4>?S8b%Uv!x3$)SB}-b7Q~#vN2gfs`Ou?yarwgeeFx% zb5S(zINF0D?-hVgU;Vku=gTqEV}E`3Za{81YSJk~?y$Dk$xd%l?aWB7hfNFsK97fX z5$y?`5klu+hbQWYowrhA%$AU>k2iO2GxbpqP*m!uS z=&SF{WFLmz@bOrQL$wf_L^6k?-cGg?B-#rJ8aKYjD0-U%!*_+#SOHz3kD720Ow52wqxKRg*~}osZxg%nFmV zGfR)9sK(NYRQk8DRuD*R+P@2u9MTyL&M7xsVI9IAl6rrgtN8gp%TPyaJ)2Yd-H`yk zu{m@gPde|sK1q50{y?6@3Tvl!>OBp-PbgoL4oy0fWGy5$_>p@SZl-BKiN{~%1Q&aT-%3MntDC$ z5ToOfXPT4}ed(xsu;I&o{>MQEZn;EGvoNq2m~FPgJT@9w>$ozh*La($K}B+q`JG)g z#q3xrv{g6hH>@uJ7);IyiRR>E+%>Wtu!0E|7;R?%5p^_>|D1^bY{dVqs(=ss1@w;) zg{7wce^y^}*F^1NO3}9gArR5^MAFQ-K4VXh_h@AAYE)Pae+U|nzEdvQ?;tW9WBhy% zkj^CHFl^fQY^Ub7FA1ad{pb1||EFHHA(=aR3xjX@ z|8pThB}M^sKQ_Jf4elgE%JUXesjD~~_G-{{nuxB|F|)R}-3}18cF*4zY(fs2(`l@& z?|5{C_Q_8hXS4jcI#AB934N1d-^u)W*Nb_fcXX*f80Ure%NqYU7F%d-ZCUUWHGZ3c zXj`qm%&cjCauJvM-kU&!??kqos|~L<2~5sWorWQag(oczB%G-gHbNc5oHzhU^*M{G zB{cXNx0JzlK6g5kl@cbsFYg*_p2Zop9lQMdcj$LjlFcEk+2S{!9fWU+a{g{ls_X{| z8J3v@kc`wDs3ff$GcRms2eALBw;Ijo+4Y?eh1k}L?cpi(I= zmaV~gZ9%byW&3lzYOuWn=izWTU;JjCsn;!|Q%579st*yaTf^sMk137@?a$rl*zxHx z9?>`+>S?Kd!P7fAC(QobgSC8Q+In@d@>4c&wrqIp5x@kudOChqJ zEqnkaU?+8O#`6&khh?(Mv$%$}jZkJ>){C*=rFJvO$KqYIbvgc?#}KRQ`Yb1MC5Ee>Lt$UsIVq6%I`xaxEB|bXN6hmLzPlvaDPQF=;^TmA)VUGidez^4 z9_VP^`-7AoH5A%NZb*V9E$2jp=R;$|Ovw$#zDd~C){jstV6fKTem`;~8i6X}I#-oh zBFv~1jZrxmc1GSRr_&P|UJFyBjAX!y?s;N*jrTRPX+dJD2>Av3;&*>ntB6{i?`7KS`cw z>cpt7+7k)>onDK+vBq+LijZ2FqyVr&D#oJbJ5&^cU6+;Y%mm9IUiXR>=M8GA%M%XV zbO&wp3*QERO9V>>ZeWaU)8`jQ8+S+NsKg*4$U$smfgxHxMf`L4Xk~kS^TNg9|&HI1Nu|b zNDrWV_7^O;R?;7G7Xk1laojiVT5zpFA|McT)o{VLv=3G|GAM5~*sosJ>pjj(->Y>g zTNkik?-vSWI8>lw*)gH-ln$85T6g{vL<==_c?P5)Rdgx;7i(|* z*7g(hdndTNyB2pZPy)qU+}(;5cc;OjXeq9txH}Y=;u?xW@d5#gyFdBf_c`Y;cyi^( z$miOf-JO}8dA-LdX;3{G`@((gWe^?;7-u(uSGFvQ5!G+wFl5jQdj91)s4;wKx)nEB zQ}My)rba{31|e&M)Pckr(R2u=XZ(lJK7G-nOgl_>sZ+Os3x^zwGeI{Jwl|nB0m&+} zlNCCZx-&i8u@%dPIp5`yeCB=1HY&vyDwN_@U#UT>2{@sp9KtqxY~De+vAGHS=BpBD zD7ah`bEX|ZCONZoJG(7GLC?G(^1i=Z#+PeTqPKk~D|n#kJe07$Svti1zQ66EiguDe z2Y6AH>U=u{z!U*~y!v5AGZ@C+fB%UefPGA5s4T`;qx!-aKj4DQ=2wna^A1JpjicmB zJEFFaojO_?N8`R(F@9O=ekTP$RSiRZ6c*Ap-$@GL{S$h;OC!1*Md%vuQHe(DFF}P2 zbwD*QDXnfXTRHZw>G~sL+O z^_i+&J#M`!F#tqj|L{dQ9iEeDc>dVEw!Y3i&6X*ETw2=zXLKT#UA4>#5{HQn*Z3EH zR)YKHUK89cQc9I3a;*QNuXoNa-E1KYPD*(Eu8vt!5VIO5CMU@$UWP z32ojMVKt4t#PB7pYZzz-ng$v*V(t9XX~4c#o>IAn3nE%&#!83fqhhh{lRUX#X)S^wIz_?c3#RXwEz!g(MZau6kom2|6PP5V6x*>$`3AXKo}B>b(7A) zygOc^up@ZqR=-O0^%h!az4HvvKc?P=HNp|+MZOjd<*Q_jMO0m0KfU1Ybwd!?=DZT^ z$6d~_%{!}y=Dhye{1stex35ZH4g2K{LlnED+5Cs=O>$ee#-j4N+p+o9Of5O5@8mKT zmq^7oO~VOD_F+qZ@(2dP`6|QnXNv3d*Z`rszE|1#x!tQNBK3q zI>-n)@YPpg<(B*5OHDe)>F@?B@S$SczuW-rj&C9@VcM?Dxy|i`vkD^2YPfYV6e$5M_fMy3)IvZjZ|VA3 za7%|S{^xPqU$oO73eWEA8^D9g>G#J1YORFoq5KL={{k33k2o>iB51`(Xwjpxp{qArVomHp0*NlOyf>a0T4 z_=}LL==KSxJZYxGB+71Q5kl)enS%La;mAd-?CfnkKwDK$>|+_U5*xQcf9Ym9S26F(Nz=p7b>v#Q%UC*~J`+M#<`a+77zPN*ZM z^F1Q0VJDzBtbAP9K{CEA1xFC-G($1%B2d`uHA8jPY;tPDKsJSfvNKZ-^qgwjH`Bq0 zxs|C8BJYneIK&{mrjwA?=jjo5VZ>`tlyY8mk2ooQ9X4nSDJg>2;PDB4p~kT|x~yJV zq51338=Bc+2J_Bt{m4ll8eF#gq^{dd+qqz)ggbNNP!JG!C!f(6AXpoqRje zB_qM?9GZ8_6J2K4nv-KK|CwbR-#P5wAx_$^qAfy+sJJb6@I?cX^!*6~hOz3W?S_n16h^iA=9p5<>|28JfT>wZKm^wuAbs zpzdWbUGHFc?>upjY&qa#3%hxjv^D@!h-J36%T7o00lDw*#vCB4%9N=|u=r{Uuvl)4 zluhN(r{Tg_uERKuaiym`toS9>p9dEOxMFH_Re^loADT#u0s{~?WrgO?uh|nr?#C15 zs!JI11t>grr;7D==$tjJ>$2l+o7pfJY{M^q!NI|1JaShuiWAXL+#X`dZL}6Q5amJe z9(~m${~%%fbuif3pRLJKS~odSaUJ=)W|+x8Eag__?w^VgI>?a3-mE6q$q)KBoxdYn zIroSa>T1114ZXxo*=y1ybeffrMxzq@4k}pHNn|1XmYRBhGS*EftkA&6ll|>U`I?={&TtqB)y*qKb9r*pB!i}d^<@_K~>$k zM)qoqA!IyA?2a}NfNS?RDxpzUMk|F-E;JBZeE}C5h0J3NQa;kpf2&r-TpTHcUaiH; zIa8j`(?Esrq`A7rkwqzj<*0xbP}dKlRvCmj7%aOW7S{ z|DnL3P_LiIQ%+_xttIe-3@OXtVIL5bm85U4Ctmk&3v8oYPcszFLC(l#akeK&v!X9+ zR<1`tub2ct0nrL~xiUrTE{r$k5UH=_xL9__P&GwNppe7MMHFa;(bQ!y940)pYb7z8 zZ&`bP`mt>3fHjsxiA+s{XG{9uBk_7N$OZ3=#GccEW{|Svnk=IL?E{|;2HLBgYh9Fp zcFkJR4WyML_4`@%&2{PK&Sw%xy1kCffB|Y(HDJ)$?DJ94hJ-*Xd#I2B#I!6OFJBi( zQOS+ZrGlP6i++w1k~}N{GGm(|;r$qihJWi{f-GU6--Y#tp%r7`2o&Q+T?wKi5urkH;>H*|1PtqtjEg^&!1V8wj2O5sDK%k9k> zaKHZskTil+-Oda>Nviyh+fk(U-lRe?@a7|;9eww6lwKt~&JiFQ`eEhPxm zCelxmRjyyEEc#OnNO&65M?W3<(V~2skQx;>uj$^lXSG#94_*(}ySul_ngO;u0t8KS z{luqjp_J#!)^{SIKMC0+7cP+V-t%y9JeLK05B3|h*idHAHC0{K2BWwUb#mCqHg!k= zpwsl=HbpUS_w{w_*HYLglutcr=wMla{6I&uF-`}-m1Cqr0MqYxX3i``b3Ek<-Uizk z1`#@EO)zO#t*Kf(Dy$7}n|yzI*z))%D<=x^YXd>I!4%K%yFcm)7|>ZBp7KOiUm8=@ zQnQwY2cW+#K9)x1X`q;ajN*>sI+C4ZiSoGwEh%&%WH%9br7cIjNP;jpY#H(^bWYce z$@QaJ0x7LSZ3f&_S9xU15YY2WUEFED?N$i|2`G0e8g~ACKARM1A-rk__D$~dH?><^ zEEL=@JGOq+42Vi5q)LePUQZsijB>9+hawlt_W8TzJw=-*lh|n2o+06L4DRZa$2gEd zYE6HOa8dp2RxF(zWpTn0jBfC`UviR;l%Z&3FKnqak8AnL!s5ae{SyUBd2scf#I$|7 zum64vRK>?!UYh%H&%=#jj*J?DuUD{0oUIOUvrmlVYf>iVwjAf9T}WinOXESf%8A{+ z-o5;8i9+Xs1j-K$P~jkR>M5FK(fhy-3X>&$yIpWrQ7l~27~KUPA29vBh)y2rF@80E zb&VL1s-lrtebFw36C_fvV`5O1~rdG_+uWqtjpd_ddDqpuzFn;rOj6CP4plndEE8b?g_OV=GFkEG`C@Jp8cL3imidDX4n zh3y~u*FClWy9oyp?E5bO+x_kofQDBRboBoOSzTqF&>$N`d1su6zDrW9mD|*y;$sBv z{X+)~OCj|2%NCn6L>7&=NKmP5h6@l*EH#Q<|60xFDlw9-*J$N3^51I*p3{&tb5{^_h;7TD_C*i(nJ|?Wd7nJU70JR>t76Ls| ziztZ*if}$W^NuFDIoo7Q;H!TZj|{sPeW&oV@4e^w@x^=lNMVvD*X;qt5<*!-ySeTt z0lh6=AjLNz*36(n6v9vB=$gLPgeRTItYajZULW!@6BQx z`2J_GQRK!VAL4|30}Nu! z9Cn;_gSHoZJDEc=)^Th>;TV}Fz6>&b!z?}iNo9F};9)#VPNfSmj_fbWt4ngU9HUN+ zF6o=?`9GqZm~ck;b`s07kc~b`&MB3WKw06Z^ARMw_3LO_Q9GsHb-vvdCqXu$R!%aQ zM`iM5LM`xW4w<0H$l%O%kR=YmP8;7a<}>c@TTpBaDd(qsvW{28u=Zh7yr5Oxv9kBr z6kT4FN0r_hnT%8tWIwRLBob^BC-ErZ9$sqob&T|O!$b({ZQ(;#oS6VF^Nl7klstK5 zDthkVEhM8iFhn2pZ0+wK>8gsB{S(H+09^O`oN?9^Rmdi;6Fny!LP!1MRoi7M_8xp4 z67eVmWHFsLPNRgDK~{p3g>4_0({uG&TPIiz_$96aP%mkr@E{GoWzKpji%Vle2KBN% z0s_`=q5xSoK68Xh%F(`j1P~>~t|5Fmw3(N`j%IS7mvu|&Tsb$Oeph^Nc_YG>v0{<# z{o=`yq2U8f($=4n2U3D7SqfN=AAEuZL8ZR@b#PaGq`|)_zJ_M?0oeX2;w=g`7Fm;R zPf{Ock?EYH{y$VZg0|m|0eIDyU(ermW7!Mj++w;K2%S=)LfNQRV&Cy*bx#(Oa$pF+ zz=EVgKnhCC#Sj`4SW{}4rVCcnU!c4@3W!p`N==M+;eHlC-L9wB2@pO1T8fji#jq|G zUoGefZb9t?EWG{f*mpF~MF^o>_229;UzA+p_NXkfrMCN!8TAYNK7X4L3(&M6ZR1V^ zc#xBxx4K#=%@nsCwF7tWjr7X1S2b05eU*e0Tp>TB6UB7%Z`^Dnt^l6jtrc8~EH7g? ztFvvf;IKwEuHOViXEk%D*p%aiw)>1o>1ZBlJiseLd5NsKz)MUkz{83p99{n5di0)! zvuH(##1@r;#n?}NoQs1#7Ee{H1fEIg{t+0C*s-b+3*H=6cjgJ$pnQFTm1zJ)W*A@104<3z>bzhvuF^;*Urxa6%Nlc*~Alf+? zNqO`$yoh;%Nv!;hmOy6UQfDtEQ%&W7ZAyvgBa}?fAs`S^9<4b%bqT7z`NCF8(|`A_MOkvvtY6huQ@* z|LP^KF?V$bTU9TjfQ%9|+yGqb2g{v=KqF*MSRS4t|F4CFC0yu2z%M67{q2=GTq(K_ zwbT?K!txRpsX4Q=WqH6A29CKx`eNornG>_7W&VA~{|2EW$u;vU>B-rLn3ux<%1(xt zr1dVxS4038_0e3z0ja))&u1bKj~$YE#}+u>6Fy^+NjLbj1Yk89LOL25V_eYXwMm*4 z^9>x`0t2>zFEAx5Chdd z_6ekmar>ePj*{+qfrW#q#Rx&Xxi5_XYM~^-kVO2(6^}4ir@yM-m?=PuqGca_PVZ^1 zo3^6DD`9|1KdhAcHMD5++^5^gdN`4?p0~7`r#ZqDoW}nU!^ryQYxnAJDl+Wbe|#$4 zXwW91TFQ=a5(jqU1VlJzd z)cM!6SRk6=(r=8Qi#GJ@X*l~^XzFT;x;M3#ni1fSO0=uPu`(sT#az0=SC zr5o%RO83+CQlhV)t4;4DpF3WA<}puT$~TSB&Z%5TfXjS?I|X{Rsx)4GA}KWK&u>MD>SC%*J%hxVg4z- zc}m~YDBEx$dXoa_(Q2y{AP<^ZT{8B8lQ5xzG~+4$9TKL=;%IT*3%$T!D4W6`az<*DwvRo6ubd97E#{CWml%KeJXLUg03o zXPu08!FOC~=^=o2z3J3?y!KUv_z7Ko!)6L|^tw$P8Goa}=F;AS9>Bi^>rLXc|4Yfa z4xG#n$G!$jBf?ON6Y-iS88p5P^4-zIUp9A$p+MZsjpl=6KLc{pVuZ#bN#2(YB0E0U z0ij#5~ zi9oA2Na*N>Q^6947F6pC$#otRW()s&4BuGQ(z%9T9wAol=cr@f*Ld6oRPAi`pxRNa z!(G1%Iq*AbB$yv=lF}+44n!j~5su-x+QI|Ta%V6amhsb@A;bKv)W1`r*uA+M<2V}B zOXjg&Xpu`4>h;0?)LY7MgMR(t;?Q^n&F1HLWkr3?tu|Tf_ZQB-@v!%@+emsSa zsc(6J-|0mDwS6R^3|}5Z0UZ@IAiqcfJnhIJt_?ItU*9#Cprq>2CTp@B^5+GFGwu@-LHxm=`-8fJj$vP)#IE@m6l)T3l zE9jK~Bp~i(s(z^BWhN27G`502U;(< zW8n*)D9T>~+Swc|6jrT|#ICDi)zB_* zYqRrCK3V^7IQi)d=3PHMJ^QD88?rg+>Y!TyPd;UetII3A8|4@g<`M=70vmDfANL^I zt-O6;0R*8`y{}aSnTC`;HKIVT z`e$Mv!b^q#SCTn@pFj4LoWC*4xK{v3`ozr&=DrCxqXW5+!Ohun6gq^?uHVnDcRDL_W+pIn(%R&Dam zh^#($*1}1%SCtTiruPPoYb#1uWo<=>o{siZAk3}QbtJmqLQCxc@Cg;%^^e=y=TgP- zxlPNArwyitXoz=*He};)Y?Y|JUy;}|IE{_CAOAlmk|oeL09{{9jF0zEAR|6K?`1v! zW{;b}nTh9jwT=oM%iuYtfj`zH8&#l9yDi3WKF}^j(hENU<7dIwTWh*tC3N+}J_*%Z zwXL&^$z;AX&=5YX{osIGP4sA%4Ez!)6&Q<4ms5zI!2K3J9EL_S6M?U2p5FV3z^m3B zQ}Fr&5oE*I-1?VgU?&6)@hl22uC?_j$-~LOhm+U71UfZja7bVqM#5XtFsvn>5Wy|X zd`7JkO-4_o0H;*~I<0`apwkb4ctf=ZLtXqpe3@HD;7U%vw5jcb0z~pXT(JWPo%Jzq zfOs)pU2gycFIhJ)R=b>To}64UP!X(#&@T-7r83rsJcvzVsO>%-4J^1Dh)`oo5ribV&i`hH8mt;F$)A4y zeMt%#TDBau$k`_}gR&=`f9Cr^_!kY~Bf!7Uo@iGlkUv-!X3D49i8wA7oB)KG1E)-1 z$f8}5sp4zMhrOp+0M)OP-St)twvpSovoBO25dZ|S{o7S3z$6?kR*A)`ChG_AN=#N; z^i<>>3PeL;ze7Xz`;Q5hn2_5Cxh@e~s#rb;1N6*mz1K=bK7E{3J;zm3k?o1S4o;>FTY&uP(2` znh1UKJ0Oh6g%dfU{nx@8B?^p6?GE~E3kWLaOt4}4=FyA_>DX-8N4*rEl;8&0gy-%6 z{lC{iAO~qiX3Kvc5flbe)&;rX=>x4r(5>UL?>eU|)SMAaqoUjg=c!|^eEjUhzau!c znDZXh?w$J$I!NFaPql{kS`C;*?BGvG)vc8#72N;A+!%hFDX2C=27VXUPd@!51+>e< zyG8r^;ubaeDk|W*z0a-&!?`s3KZDNUrPQhObI^ucqj%QiaRb%vn)pO*6N+8}dKA_~ z*H63POhoE>g@Y-Tb(#2g9^5F)U0*$s9!APG+Ol0w+JXb3R0?bZ2*%xC<=MmI#f4Uh zJ+D@l6y?V3qG4Eg{bMdSd;q5p{#)Ba!i68&&hkQIs-(56^WwF;{Q!{f0`CEnIUn%c ztk4^TXaPj!`oXBs7Ph3d3n6eG7h~>c-IAjx_z041>3hufHlj3DBn>p&7$FQC|7q$J zlOlj{J<2ot^x5gU-D3bBWTom+)YXazW)y>vtB@ zwD5k)!3@F95PE1Gb1u7D;pY6!_I{p4@^34HI10px=IV06<{hglynj!v$OUPo&80I= zhF)$J5~a&9|AqI9!T%%*2*m;-&37~U9gIeWj$i2Uwo>n109P~You`x40%hirjL+iu zs(d#hKM1b$fd0X$V7XVd&8W;qUiw1d1G-*wvCq9b)+zX zWmVH4*qlX1xMV5&Z7EutEeSQm;IvsL@P^5`f5a(%ZS0X9$%4)eo9D(sIcb4Hk+GH? zdzu8D59t4#VO#vrY5~UaM*7K4qg^`|vKsg)?4BA#+iB8T>)~LAXlKk7@^el>SV7~H z6rvsGi3K;YcN3Qwp7CxAq1qpe@Z#kr-4lQIKQ!pj1XZrGaBcRY84rn4{fa%Qkz#{L;TxohTR`c6M?tow&#==5E>9_}65ahu# zl_iI-wj6q^9$h8hO!3a_+_&c3iI2)*K{s^RChvu!Wcekge z9!K^;FrfOk7nd(%#@`|;KW$v;gS{ED@hr|C51wZJxIZn164rjSl9q9Bd9~Z^#v;uC zIB|fbU7jo)jz%pI1S{nGk}{UiYW_)~e)63>=I=p z--HV60JAd9diU85&Oci}Zia_B3IiXg2;%fNdixVY=wC>Wc+`$x%!8keR#k#UP$@n+ zSSI*MdAB6qw7wyCfWLxB;WOM!bzwpHUPkd($9!+fx^|6`Pf=es0;k}DH|2MAD8tx%^m)3Ji zT%AI^gCUjHHPDgu+U*nKV!hy|*8Y0_wHU6x!@(s>{H@mZP-54&(hCnlJ{%NRG!8Qv5(S@Bq)ej6SwJF~;4S$1_x2{h_ zBj}Ob3hOpHKMp?L zGr7q%EeBqJlF3CnC^OLBb5J8g|L2kvurhWbOP9VCP0DCFe`r^GE^$*auk3-J75Q_N z3~X~EDIpK9owt?YFIuUk9Crb(oJXp?Aqf2SlV1JOT>lJX5^$vjM~6s(jJBybQmFr5 z$a||1LkggmlNo>!hAA6{NXrJs7GiG9FINoYzH$JbLjcu%r^d1S=c@0SWf+Gse*q?| z=q>SAmWMmwo=p5_S`Px$?Fc&wnG~bvq;5Z?JjQUv>sp{E7eh$41ToaWO-S?;GzN&m z!n%t-D*W>u*qipfMG6C_(z4_b00y-TbImDoM%rF!ghzmL-nn5%Xll$jRY|xgLXX_^ z35w>S-{0z1qC+n&O#3n1HU92shwuC`qUigiFUV9L`SSrqfCN(7oNrCwF6d93FpS@} z-!E$JT|%-8P(s#b2X-^d{AVCt;8ezB5V1m{n)c?ec1??U>i+( zq1b`Nb3l9rm!_mhk<~PV_UCndbFvEzro5}de6DHfcr+gKF5giRNeYOb(_!Bfa|ufU z0Yka$#5}$S6-qiOlMH30EGo>F5Rz#QBqNX-dmk_U2@NvY(wp^r(G5_IJI3KOr1f?E zGJYwk_`I8+g}WlMQIZ6rk(Q#c88@(5+`kStie^~7vaBXtVtRp7UcdmkS`R;YBoYgp zfCEpXX?B)-#zUd-jTrX{#9>!Awa?5{z9(;!eJ!U5+^#TVI zvF&1m_t=QNP_Q2ws8ZFxrO$llC$!-LiLgtK?Y;*}4dduMmkKz>UtV$7e zcGwGVsZZ{|?d>0>- zI}>+7rv2=SU#oI2+DUfTtW0HQkY5Y3HShathOfEt>j@Zs)+T*1{xNchEb5#n^ghM+ zS?p6bF$kTe%v{}Cqql`(K{t#T%Ci2w=T#255(SD-tcwU~Ou@)A zpk^Qpzfd;!xTVf~856sXtK?Kn(W7?itXOVzXVU`G54(1>ftckyg}Q6PYLh*1oeF(T+PR3Dt%?)dbIRgNUJ@iwLmL@s`RpjF&%$>-X!NYq)f2 zMyOfdptk5Da$zG^J{m zuSYdW1;RV@b4uF^Z{~Rinko^R(tzZWYN6yp$fUws<~^FO8cI4_3FPWC$S+O;U(Ej3 z6V6TLchjB-A1=23!a?H_q2|c$pF8lY8+-4_kS&7a95rH^^WK-4W)?W25muPx)C>0D zF-1>r-nPx_PyK3E8hP50s_ffnn^>dUWpJvSm+_u++jJMTuKfMrl^n{uO*Ov8)=Xu( zYQQ>9Co!+%pS!+5ToyGK3C<0PWpdlthC9YFjkmr(xq2d3yTNE&9@ibkGqfuSx?M8>llo}_lm1=V4aC5FUUH1q=0JrfkC!0Gz;18k=3wgWehc3hr zjDG+ah-qHz4~s>eGZOcHZMX|IgJhtSH^gv~bZBNuJBuwAedoodbiG<+hqV3Dq5dQD zpOg2Kp3GquF}AKu4Lvuhzj5K9PnEKZfPge5A&$%=;=x%FUJ`-ynKEtfbZo@FHBtXm zC4mn7&Oqb$71#PhW$P1TaNKSC58J7wP|b7VMp+O25+jXNIz@NYZjAKOZcv8)@O zzdMfMrF{I!hn|!Q>3^eaol899Jqd{Innd_Lx|ec)zW^okslLq6OJP;4$KZ~4=li8J znBf#5erY%C@JLpvK15EIPPwyqKod|9>Ny-G53L|26(?Ix=lmLDcKvvF;j1$`lK3o| ztm2FQ`Cs1?_>;eO;`49c=k2{0ZBvfI zqu-JU52>2|Wp6e(@!(CR5HF)6ncyZamlS?g0Xj&)*(ZzZhpyzn#{c;;_9CBQ<#dx< ziI&xMW(MriG|A#jI z|LIl73~%|`X3C5$?5_1AQsAd6zFBj~yVBs3P)=?z*1Xv-O)UOmj_RSL*|>`UN@7xo zVOeXeTV438BTz2E2B{%eBU ztwa?BI!PJidYYb zIf|Re*H}l(`*CS&WZ~9>2HOl;*C#gemjlJhK5k_9JF2|>R<-7h*)s-mOz3#9_qpZn z$@jz*PiB7+EsxByMe%eR<6opH`6m?o{7VS)DB04o!8{Xd%g*IvM_YRF3)0os%G9xV zNnb(I(R4p?#+tTZW&{d&haM?Qi&1q-1_PwAF`cIAwqeeIW6~j)QXRC&FUyT5I^3C@OALqa{dfLjn}PwM^AmZuK)H+sT%M(TlcMAevG4$ zD*nk{Q=|L;{zWWxvr-}&tSZ3o(jDb$fDI_gcjQR`C1_qwMg}_B{%QKnqHxUx!ENSG zWfptyo1~>j5AP~O^3+B0^!}fBdmoagpKN8nbSC&63VetK8jr{Ep)G4(pw$aviCQ}o zU$2+h;`k<8`y=?kY$M1Hn*6zS`oo{~kzXL@ z*6iVB`ZVV-escHS?VjI;&u^AYMVC_5To3;Tz4>_^69Dyc)v#9iopEvFuzPuZx>B*> z_r|;#w71W^{p4kJ>&%uiV-*`w)Z8~WYn_llVP_G>d^XeH!=ustp^19Hgd0y4% z2hzB4k4zK)F292UuejckdWajpvXV6aRl;&$yPg;Hq`O6lBz5+d#0`~1c_2&SYQq2h zNfeu3Z1Wx%VTOHnlr??-=PulK5B)Qll;kTKL_x0)y*T@Psxayj7BVaGgiwtc4D!9p zHoACgD-qUJNHY#KGq>C0e|^ysZ+IQbZU2jIuJXlIg;@LDc4lskt!8HOHTFFD9B`h#@ex4HMtZC2Y8{@kyf zo2{2yL@C6P0ec<2OPmu&DXc8}_m<8Q=8xTc$W!AVO&q_>p+1F^l=LfDQLkt8ms#tc zh%2+bdj+UXhiC@*t^LU!7txcInP1`(9Y>$tGP7^GDYA-;A9zy{&r&LedYUJtM`16Y zvUK0Jg{)Aqc_)`j(B7QH^G*bj1jOSf?`{MUeRAr(ks2ER`XuY|Gey}JZVrW~Uh}vX z>`(2;gdT&IgJ_GyvR8eCxkyJhp!2sqwG#7=?8RJJ-hQW6%w@O6*xG+~PlF$PBcLp< z`BWao>A42&FJIqrs!Uxlb!A__B{2(~7U0>)X}Uuv$RZz|sN%5zxxxh5YR6lM<5I*s2J=>g`qIFGt4vZZ8wF_I+ zZs&tO^6lSW_M2qj-(S=i1e%gH0@`8cxl)HoX5X!H!GDZn!zva$muESK@$_;D7RGW( zJ&sK4x}R|r1@qggtx_xZUdloGU1)N7VLxE1I1-<7NqgB7J)%zFN#+k?%V9a(xp6P` zfa9+mH9xlzu9n;t8HvKf`|pLr$u-{-$>olzXqj*r8>m6=aA< zb4Sy#K3Hy5rHeJAN~G5;1{Y!XaAAUkwV)xHNy2l@B?-iA zb^lKMA^xD?LxP5F66ZPPD^YtWxMzQ7b9m>GB;~(c(bQ3ijhF9j=)u2F;pqxO@q%MY z^P(l#s8s&~W3$WiYpU$jW3nQyVlBq84`;#;vgj)+18x-tMsA=C#yy|e;{B-D4%<^T z9drXaYL2oDyH^DS^dbWwyQ~Yjrz5jFNFmh9gc&p`# zlK35^e!&3+gc%W4;x>yXTofyA6=+=+CgH*AWO`x&+0}<)Qksy)W}prTW6L zN(D7UK%mq`ifBmR>6V1riW>b+DSdl!9Z`&kU+^kYvrmj4AOc01_~{*Kdr6(S36RXxe&b>1)?W`@--;JyhA?Qj+-n`qmkslbz&kBIhM|&25jNi7=ebgS#l|*HhUftp$ zH<1_;y6ku2iLmUk%@#|*RfMyHE}z}+ij7UTywQOKkKYV1liVd>Y?LNs+L8I;OS$ex zR;ze?#J|q6OH+2bxuYiL@ykNgEvI`rv-N+H*}iv2sT&x!I^iWjSds}?8zsp8sXnf? ze?&)xeIrEvF5#SBk{{3kXr~je_%x4X=L+$N|6IE07H}}3*tfj!T{>n{%>D{ zmqxr%m)SLEXG9MlDgLUI=fNKeX01$~`1Y$msh7l=PXkNoM~F5pqG#CAH)dtINC|Ts zcF9PGc^yp1ZGqkVr)i=7>kk!nhv_$BATw(+7CwWN;Egyi{bFPU0zR=SZV-v4(tt(? z=eMLXGSLFpBI0fF%tzlQgbL0g+a+QslyBDYB`3`zbeoFYq35_c~iNBOkOUcP&W6U zY|dnt%u=183H!HHzCR+=mau@is5F80WfyuY_$8bL-quw)>#c-{dQ$WocB+Us&nSTu zXx*s0|RAkwhtHwLQt_4Ykd!Jp}3^j5v3UpWaA?{MLe*9?q()I$IYzwm%{gbMx z%7^a5`fCxs1$f)T{SnD6BIZEBVmz!-SNpz==A^NYx#Vyqa87tC*9+0#ILM9ka|D##}^?28iQ@ zGocgaA<(16dCzqueQhHs`11RVqo{~=^iDuv)r+Hr-y*Vts7qV1i^_7Yt?iFY4C#G? z)teUy8ViDK0%Z#7ZkWf^T+3NuDXxQf%|cne%~HPRew$kjsww!~T?T|GA+kKo_1& zYW3JhF^w6dZGhk~3qxaU*zrC^N`}HZp_bnKVIm`YQZPWWen@?JOnA;xvt$6p?#mif zA~j#hG5;&%#>0aF)*H5bSG8K`6 zKGo{|;n}(FpM03nq?3K5|mC@N7Ui-b~jO7E9L&uMaj(wU&Z zT0T~h6-?;otcH(V8m9R~Vg+&jZTDVCSi5Kww7FsZj^JQq@xiv8&tCRVI)#H%sb~t^ zy_E&?*Rp=C-VCELH7Fn^g0|l7e{Y^xam~esOA&r79Qrr6)4Xr`e$;jJTwyzFw_;Ufb2T==gEUK2Xkk&ul9-~YUywc{+r#H(Zc*$ad@6s`3w z8Hj00VxY^G!^=*|)gpd-FldMqV`u5*dlR;L{e>1u2kg|PV^l{SE+sOk(Cch5l#G9NZu)sRBIHO*>In22H<17M5%?4EnJ-0?m-u z95G3#m15#QuZh^A#uRv2)xO+6w$As@-MK|qY@mSBBt~7r5t^CLxxZDxx`#sQyI}~= z9MO;0RuX%)Md9xN$JD#H%TH(<&menJ5N;k5^y08su`Ky$1F?E4y$fP5!hx6N*ZVv} zrI7Xu;Ik|u!v)SmPAlNg2}@RE+_oIuZwG~6T>`%N(r!6yMx6X$aMS+Ho6}Bniekss zMh$xYrS4j1@kA8!heCwti#xQ%il?|2D^jdja5%Z2`+eT?|DDhOPiKEfcJ`iZSu?X{&6>5Y z3pR8#PV1UI5U*_e`zxlw9(C6Xfk{d1ycMyYvqyo?=g)T)w(eTK>d+5+y_=f=F!xzd zx5WvSbRA{$0fhPpMOnO>^`+X@7#A$Dbk-*&l>bDVd<*(AW^j8f>`M;y)w08+X?iE? zzWw1anq2~Eg}15*Yo(u%c31D)OtdJYBBMd;f8xUr36>bvAgk3mfq(59A{wJPMBNDz zaHF^D7{CLsBl^J8AM%gcK8S-J%nK5NE1@1j>7)| zS4-9%#I!g=@|gq1Y-s$2C;0?~oc-I9mPoQcbtj!}SK4&me`-BU5y(QeF>cwpfRr=CZ=fC=d=%@mGXVLfhDmvZwP%c;M@wkhYjGM!OmDfh(}f} zbg9iS4bv5~){YyCO#j{2x^*OauE8%6`g|0j%SCO-;Go)!rg=|arF(l0+@T3NILj> z5oo3*0w6r)IxhuRx0QMC0P(eL zMkThP<~D*)kg5}g(fqF=XOR_~+T1zvQHhISBf(-`e9n4tvn)s25!h5j80Wb*Fl2Dc z4B9oo@OcB(Ul+Ni27NwTGp3c^QD~xvDZM%F)A>)-B1Q5qR zIzcR0IjTBP836B$A8%ywjQ>Ocp+70hA9yZ4eAz}hlA_mkCriFx1nnPw@5D&GmMK4my;svqbklMb=BU+-FWO=v zkJ5{HzoCIoVih?#-EyPep$Pi~k*HhNOq}bW1e!*G$H!mi9V8Pm)*e{2@FzDlQtq8~ z#(m^lWOv)JKFgmR131kJuS#<2XTCf^h5z)nC#lFtEsxy!VwC*DvAm@HP8JBR(lRZ# zPFHOwg~fAXRG5EV>pA1Gn^>w8;+rCXB-#BD2aN9=a%df-<7sOzh`Q9!!!m{<_tSDU zE9buc{S0cGF=W4|00mjCM~gd0%kp4txRJstX9V1qhw`|cTIfHA_xrnShM{Bb`4W}F z(&_!RAQZhO__H?3QQbd#G2s(F%RM}znk-fTFxPkv06EKpC_hIL2rf`*Z^IU1Y9ik16wZ|K2%2>V`cN0q z_U04(D7r<)O-{b_T9c9GpGroNfPbGq)b{%W&Td9+@;Pd~cCchg*IdqSranXgp9q#5 zr`e5tR9*&{su}Ti+@S-cPfjr5YMq21pxuHz`vh*aFB4v>@IaCriRCH$b(xt8ox0jm z2Q9Cf-*0Tpaw>1P)*Wv~y2~cCC%7P+&n10zsv3HY<))H_^`&>4w;mD~eGe1PO1}qr zdn4ogwoVAQfdBdHMo-tX_GcHKu3dy6%pUwRHA!vbmR>YC`(B(=XEqphzw5y5_D8kq zCz;i9_Rl2W-{*t3UvydhvRw_KXO(7O8AMxp-AQS+mtO)kk--Bk1s3O@MrV@-uwma*B{fJ-XMOy)kChN z(Moy?XgtZ!if?ncTWx5W0_fHBbBpV7`^4h2xEwrlvEj~Zf5gZWob>4+b+9Q73}@5$ zk9NDScH7Y56EqTnI1An z9lS<;WYMYx=H9q8eKh4$KZ`K_YZu5?P!(AkDq%BQ$Nb>4t4^JE8&Ofs21tMW#+jT{ z^7h^iB4e8#mxkCeQNN~wmD=puNvEe&`a(XYPRrr|c+2t#4mg@HVTAVZj>SQRQvwJ> zTrduNLOn88LI~v+$4%O|sW6fQD6Gz)_J_ZJ%OUEA{(adpNxn|(zKzW5iw2jLLsFp5Yb z$Ph*>tAL||0BjZkL6Q42iN7yFlR``1%3tP?+?3(MDC;{tyEJr2c?%GW%i>>*&FLFo ztRL$`5D}(C7VpfpUycx_lUd3&H(g2GF#>&@hgpg|LI4sHYJy7%j^ACjx^IbKW)qJo zF7>FeiY{d3onS7ZnEJitlbFGVS4#t=McIjR`6MGg|6|aY8J4`4=ZaJ2AjTPb4r=rt zKmmU|%9~$X1QZO6=xT{XmP{zn!c?A!L2qhUlh=aDVL59}jb_CdAbz*u_p#c0&6iI= z&}e(CFXXwwJ37ts@&C8u6;=eRW9Zg9c)F}o)l^C?`0^8 zOCCJ;^b$n40*Nx4@C?UXLMnaqncI7QRG;;5=p4PuK^H1KxMgkKf^2m}p1g-UnnAlY z$lt$b$z+P7RIwY$?x6nwSn@7^!6hcuV+`1@E$;!~BbM~!AcM&-vkYGaz$szU&oI++ zez9!b`)zt)g3}l8aNXd5S0R_A5X2hO+M0xlcL*Sm2P1{cu=7H*w7m7FHY6#88m3#T z$>CHxNJqUUc7abPs`|lL?s;NL7%faU_+Zkkg!Prr#*CbC@?C7?Ia?1d-1`Kj>53S0 z{^TAXQnzW08|2xI{*3~}_y)#=GX2wQq6Hs5E($RU0t8~zl{>dQEHxKBMM%SoEg>>< zRK-gxS~XfNPqYAwQxk*-_H}CIs@h`L6(K74ALk%BCCuB4?lm2?cjV+IEs7NRA5q7f z%{rYcRgiO(uEa8~tK?i0x~1 z<*>&)K;otb-LZ}u&cJK{kp53eqBT2644I`^D54(anK#<2Q3UYW9;f~eZE!~MA$N7S zEI|0sore&^M!&unMxU3^EBt%^8Mt@J3H>ss8Fb0g(~Amk{yPr{Wa>ld2&?%tb?BM; zq(l3C?(u)LGfdw)4^p#u59UBwKtnXdl#0~k;v>;qjqW*fKlb;wD=Ab@H zj;p1ejSZIpfJxpqUscF)P-6MeRi) zPRsShJW;T{03`WaTo|jlco8yIn59BK}#<|mDmoW1o2yp0N@tJ z$Q&#b&yV8f%@z11Cny)(z^2NjPQ~FnfL7V^1n@~1;`@)Kq%l(@2dQlLWKe)uC>b({nz$!7AC$)LP0aA1wnosC|*2)Hj#Li0kUX& z&jcDBGLGCzmTC#Z|d=fVZyo<5=Ls>G(N`w+$h!1^V~v|V&NA$=Ow5c(vZUb@r`;}n*Z9Fh}zgl z)zL;o%Cgy3@*tMJmhYz)`yl2FN%T{%uQU2T_lE$|dFfc>?-R~T=U+42=UN4O>~3jyGs0brnaoE9RAEU)P`?v%aUipKr~9 zHEw%-YkM;(zcu%0;PS^=huh*^1;`pmCm#EryqsEUaTi8jBB?%)&{DF4(dB;^ur*?1vou1dYPebfG&Pr>zn~LTOYtLV$l4 zek?{Li-`aBF`dT>b(GY368(K@mc!E58Tor2tiy!RTQiLFKNocd$zM;GcYT&u-85m1 z?PI=nL-9eAWqQ^}2P8mb#VHe4|HRcMzizXSi?sCyCi`TWRrWF_m?nSsdO?%3dV`;_SNC0kMX%$L_ z9B-FpiB7*dn)1J+BKRni=xMiOI42p7s(@~y9NW&fcDsZt8w4%+oopC!AiO~1dM%3v zmgyA_S!tOO4Tmw=*HY+@4xTHcl-G9sGUrVussE-S`QCu&g_e%&OFrz#jJPmV*si*c zW7vV8dJxN&%esXF!im3I_skH2u=Q4*FsF`vsj`QRjAmT4%`9K{@Cae z;bXpUI9GxU4xie)X7J`Vw+G_ZBK-*diqF$m4W7^;4E`vF#VhQ9qnyP}-r#8jbU(1_ zo*HD=XR0du7nM6w0$`CC`)a$IJR%4?DQCP1gBeMx<3n}wbRD&5>N-)WJhJwbD^Z}H z^hEvN73Zcfs?Ms{{{9^;p3=tbdJpigLlhvaXJ*6gL*ept$Z;4m#q(fvci`SM4jBuN zst{rRWd33q7$OQ%InOU>h;QC;*6<31Ne58h#a^Wj1bcr1aRwj>yR>E0tUsff%Z{qL}UacIz|taY!BY@GD~F0o2j0r*-sKy)pG-qs?@Zc7Bzd8fv~AMkV{w(5ry9&}dd)+?Wr#7%x5C zc@aaFt6j&YgVBQqFSXH?E-?#97!jSmZgk)#-=lw*4XXl#H7hF)YD^BB~DJY;-P z@V-sc6H;kM@n&m@OQg04P$sht{B?>c6q%a9LoCN(y-J+J^Sx4+no~|E8e3fHl@X>FoKxd}AYo(w4hTztLywdbRh(&B$M=M!746|GMet`xCs z$-$#tjH52qr6R|xKiRcXd7eNFym@)uvaDaek3W*ER(_TRxD9{B6;rGiPuo*Zwdc-R zQ2pA<^Q|fRuW7so7En+f{7CaBE;@^lE;2#at4k>a-UE&3g60Su=ebaG^Su9VV*yZ6 zXhRMWg|SXEiVmh&NaSW4pF=x{b{AUWS6B0U1qeba+CKa=P4x)LU+0#HAIiX)v58}l z>;OcL99N28A4BvYGe(L#fTmWp05@_@@Aym+F)U~8sCQ9n7Zwo2${EwBFuk@Nf-|zS znfY5!{L{4E|BUe_LeY?t!wLOZA;!{3bv?w_?;`;X%p(moc&P)1)PN4>v-J@S1eMTW zOj9dO2?c19`qkRAl-<7`bttSPy-xYe9Uvzl)W z8(z4mm2o912zwl>Qm+i$1T@VbT8t2|oIqblh<8!2D=r?R!p%ZZI@n0RIj)|SqrwXv z)osnW$wjrl=T4(0vK`AoSwOMRV&6-sCZ1!HmrqB_&<|F(=nqiL3;_3dNI*k+Yu*}3 zYh|j}KQ?6=6ghr2oYMm5)fU#v`#xv9f{TXj&HRBP`1->}tzk^CjPE7AjhKOHcsQPk zUIxL(#@nT=BMEw5i$BtfYVmV&n=`|fd=b;N}h*C*oNb60ZrhYDxRyHrVa-;R(E0ZNU%VW#jP4ysaY~JddmYDhz z+Iy-zBro46a+-7>PdgD$9?Bjh2rtrc%kIeI}JDD3O}gwLVD8VCLJX~{8Y50H*>JB zp9e&X$zC|Vc=;`I_4u{u&ykk9F%MT^U^+6U0`d_7y!fzavL?9}jV?$L?uhF169c@6 z0iIOlbL+?^=F+IF1}9gUV8V2(6j&zZpcoZK-^1+=exykKi04^78+X}y9#xXTPKSNY zy(DH-*r$(8PO~WXNrugzR)*wc$V% zprYE=9H@A}o_^@hfI~rcBmkwt0K;36O|N`V?^eBQcbv~3zyAur?hxi+b3QKiYYhCJ z{DltHq)AY+*&^?lm(4%$WdI zSdy_9=?JrQb^;xOC*ic@bl{_R0^x#I&6>{H_81~WAta)Hy7bK&>YSJ{WNw^plAk0G z^@1H!^4B8Z;paCg+6qZo0*X&V<$w4f3<3DE`Rd_Bw*IwO%d!y~QO}|Yd1VvNN+)r3 z(}IjC{^s+49F&1H{$iOJgX~@j5&F?#W3-+GKfC9S@j4T*?D!@{C{=n^H9KLK4&N={ z-?|mDmNBN7{J1BhB=9c2bEayBIwYxJOX||5#8MKs;)Vz3ZqZfxus}sYPE?$x+?#|k ze16_ayW+UGr%!*V{j-SJO`Jju4>JLoAx(W2HIssWi;`$}R>S;Hc#HQjOTrs~hF9{j zjba&rb|iJL=eHa4q;}B2*}x$^{P+&-xz$||##PhAHyI9?ylvD1K>9nCx9~9%R<>Gs zYqrLrRZd>r9DLoDN4-K%9Cou^zjzCP6mgi^(SCooPhZNpF1-+uDvNJh^&@eHHTDCN zO;PoE*t?(P-}gO?zNUVVU`Ka7TIrLzVjDkx2#ZWrq=jEM*z?%lU~c2Jqx#T_5?^7M zM$%p5);AEz=wiw(&=!BO_8+l1{DN{TMKUe!WrQ*D9ZFHXHASYdxzD zlrVTzrK9cLEt)Yx{L@!Q9K6;AzyqN3+4AZo!>_IKpa;E4Oip_ApNJ~gUqpoKjG(1t z<2~N4%V_$hkCP_~%y0L#a%9XUgeyu2FNv^`fQf8Ib%oxWBHKbyQf)>3pWOeVu^gM- z4glQ3&sQeDKG}BH&0ls{&L8|?Dzji)XmL+uG?XJ(9toWM#YywBG!?5~-xD?D2*p5H z_jrV@mOu;t!ylXX0h=EDzs9KFc!7P)Jr6pNtmOu|BjHI1)L!ApvZf&w5(l|C7ji0T z;uqXxy>$@iri8ohL6s*FIjR@v3s)0rE5LR0#yWkds;(u&2gbr2xfxHZ?xqA;@W9Ve z_HP{hUQOfD8w-73#(gp_r-eCV!;XXk`jpnMejeGK`HSqUdv!AGi>mnT=eRjvB{r-( z%^9_Xs6+wVPSER6(v>B{;GZN+`7;qW<#Xg{?+pH8=_TWeSWuwVwQ_}MtBzQ;j6)MU)?v3l@top^K!u#!0w%fP9fNX7$eXWY*j=)Zr}O1t_r; z;A7_gP>j=2!G=iv>4=w{J7ARQ=!~bWo2(XE`SE3fQS^}TioXpVZMh!b`!j}UG z8?Tr&(M{;{Y9JG;HuY!S=&Z}r!4>|J^}P5moS&gLv(0Ko&A2E0#yj2Ux9V_wW2>P~ zF3KzKS2O@r%r=ld{HBT#_ts1(IO0P+am-F)7t`KeG|m(alq>dkT=>4@Pz&$Cfav=( zgDjOO&;koe>84@#+e@RmnqQ+0rd9Zv9oZfmXP}T_hhMDBcUj$c4^Au=TjIgH0XxRa zJ`#zMvFUHgRvYn5d6djJ3>wmpIrLC67~>g;3BRR%_%wWzcP*P`^KA6JZkc}Z%;e>t z&}omtm1*{ykNgsEwNL=&VxFisacl|)V?Fsh4$@|P&i)*MPrk_YEp&bk^#qPyj$g%l z7`qJpzVUTF7C%P=DObKwHg2G4SOlf(O~3=9e_%jqgYKCS!Y2HGdx&=^q}z%3W6mZv z25O(vhP;Ti{Wji#$XVEHe|XhG`}A8YG?HmaA2aiXI(4JT%K>itRqZPxGT>xmc~-zr z;@?2?N!%X(Ye^4K{dxe>!NJc{;GC>pgbF~TEoJw2!>kUcK`801viZI@0J1X2FO(=R+)h~dF@5UFV*f|Ky^Dh> zOR3n9W=5{7s@S^8MeC9_H~SlujN&2O&M=Gh%4lRB+N%%T5t4rNeg4c31V~1@H8ISS zHCMjF*3jnk7qcZkJH0*LTWhL~i*!yE$h81Rqf`a=&3YRSm$wGCfN8sZpS$BcNAF&d zOe1xZ&bRNr%xRlMR8O4%03x-`P9{lqChzq)y<4^zztcICB}Zu1Cfrvzs1YpdVDi-F z(-N{`Sbu)`X9ivL{Jh1Se#L!8Or`OkKX;-Q6{H)Pa=V${n6Vj42;G}y>(GXwmxnw! zt91alCCU^2>hf}XLGXV|aw>4vraS#+X9wQ=L{bUW39jA4}pTn`*3xdE_L{g zV%PeB?*$u8KDdKyWbrU5=2#g%R41N%u7>N}JpM#q%g{iw6LD$8OO{s_v?ije^_#i7 zp17VIxyqcEY5Z-tsX88+N6DBSm>QYU=Ir>2%z^oVerER%qtXAJ4Pxz7Z)6qs{O&4t zY9vBlI53a9T+f29uT#&-VKT!#H^_|ZDBW!zVqsA;yB07-yOJ2_=A~`x&sh5A-Nce; zi8S6&e;xhMbG-oL>RIl$rU4%1!u4Fp`UJq1B=BTq6F%DR!wH{4h!Xpf#RLEZ?g#ZMQ@{-sXCq+a()u&_s~qBXJTq#y6~@eduCO;V?%<3% zKO>kJy#pRX6B=4HH_;YMY~XD*xRUwqzNW`16y)NfHId!vM<&UwW?w`z5}1)T?VR?p z#j*SsQo05z!PC@nobW2PESu-0m)3?P_0^?8xSxN=2ZjS5n1rW$Gt0&9ADN4AhJI(a zuK2(8K9@(o4YT5ej}|4_?jmXC)D&Kd+(h3_>LL?G0PejE<{rI0Yv@Y_f)5uJ?qqwL zVGOmh?phii*~=cE3EfBQ!@4JF=@Xi)d~o)9bhWQ;c_TT0LpOm)f-cW)T%Tfx ze)7GZv(xq*7|3sNCVMVWq0R}4OwNLVIu+jQ`Q3GbJfy@fziNAsf$zGF_J6&<`|=MZ z*8T8W`%~GePgwBViLo^-Tr{BEaSW3s@rj{eoUuVw^JckGEscoNl&I5F`N`8w0ktnN zk=xO(nv9Ij&SkvxR^X0wV{eyy7Ja8V-y7G}$}Sm83bWqPbRoflJ;BrSNi>P)OKdR( zBaV&KtMn`4>khT&?U4$7^J2cim3BR!#NqHZx=cIAo&yhm^oERvD-J$-vslnH~q)=CgR9 z1qHL7kc5*CXRBUofTdNqKP7E&#m4Z419BCyBu#ZnsN2` z<*B~5)jU&BJvg{eV+{=_O1}6N2btAQ^{o9tc4|agr?c<@*}(F)^VyV6@JZV2`A=EW zz1mr4k=z{W()*}hJFVZt_Oid9rTqB#G8p0S6Wje%T;irI+I;(YONDsUoOfRA8J&*L zTa^Yn|tJ5Q8xVOcXe7D#PUrY{mp)B~$5Lbt&4H#aLZ_2$N z^VqVuw8tTSeQn=NL*GCTWf<-snx`fNukkKUV*6ADH^)f{jwg2JN(=QbPmKIFXEiRx zeGtmp90d2BY)bjK6@QIaeGG|}8j>e+^31v**&`fy_>JOqkj%IIB!h6X;r}k!lU%;y z_Bj?m`;spajU{hdXj==06f;uVg0#XlUz@5Ws^2?4T<>8W4Nk_iQ2$PyYjsk38}=No zl37kYbdUg~I*FeWoYaZ{vcPWa$~Lk~rE!Sg10b65{)4fKpOwPEcmNdm3n`aJZ79M> zn8E#y*DxJRylTr;_YQ49`!?ieh+L)7$pB>*^jjO)n+-{a+B=r34uu;r3mA zAhkbf!_zdrZ9-#o5vd4W{gc6}Yh^8c3 zfi?*gQOvA2*l(Yb(H3-Sxh?ovH01KT9M|nUHYuo#Tw36W)J`D=kj_kQm!d}Ok-;+F znRx3>wdi;MehGVR?dQwH<*(@9$Sj8)N@MyYDSR`${5GInFs7{|;D zA~0YSB$)HVp3cE^xq-9w1?ynSIEfne*Y34oAz0I+txdcXohPcR>Ht|w(^l`zrxcptCG(h={JBy~mimw=Rs+c*Qot^pM?A|T& zEIR1Umv1Shr4meEcf1;FPYkYYIr8r^NCQy&PIu8e{3}sF9Sz-pq}c4nh&wJK%*wT&?Y$gMdUFJnyiDO$Y$dfq#N4q_93wm$36I zp2Ioz)n+0Ned=04s8j1}`<}0bBWPJpYjMKf-|h!%Ck2fte!(S?5YVeM-rRQkpZ;7= z{L$JnEMq_=4nWj)8n@}9t#A&#j{@0&+muzg>eBkTSm1C4P0g9;t~RE8dcNM8RJQ!~ zTKRM=TQL+sH_m& zAZ|2Sqgm+hF)}8w?*5xt(v*2`7K6rgvVfsNO7Pt?RIKi-BP4>(=!xb>e^1jzru?bl zev?x+=-OfnVB@0ETq_1xfJoD>0{}`}@)2Z;+dpb&_8*Af&xt!>H`%ZBXa4K}CJJP1 z4!Byr-UoX?l_&dY_z8NS$=iQh=7irWfLhwQNngyr3FoOJ#EP{NvP{@3!~6|I->O+K zgAq>=2B%)XL;@ndW$)S|w%H1ywzMx{`6-_V+UjpBO84vDPW&H{d8wl$a_e44^RB<{ z(*w*;rE7&f(n3YER$nx~0d5MW^w0BR8AM_7;tRly%&Jt-L~v1xC#lWSbok9#CD1wy zDj=R9v{-W753v(#=UA|JyFYe6MY(>K>&U^iy^`YsRcwvlaFc-pi#$cSD43+Zg#{|1 zDLgXV@E$iD0eE}dmQ?u8NW&2uKbDW}9wvYuK|GuqD}J5iLo$lWlyN7m4_bfyGvU+w za4^G>5B3Fm-$aB#*)_>9CDLsYr~~yaqJQ~G2tL<~AOc5zgnv9srxgF4#eK?TEukIg znW7v?w$BSc?0FuqS%gvZsHENM1`KppO(P$?qc8&|Mu`XL|EslLC6p5bv!-17@Q9$_ z+l1L|0(*Liz^0RJzZ)>WiPsnWnNz5}Q?RtZQQWz#E0WTq69Iggs*+{qS2-krJ`Vv9 zQD>NTc-y~SCS@?&LO9Gd*1@z*_5zqz$E3)?c$bp1FPUhH%Cpa|2c5^7{Ru_5e-%>h zagOBi+{DD6>wa$U*fYJ-09uTgfN+QExQotL)TRcw0NKW|AJc$w@b5CDFG&*}IyGRE zfml8hl`p>cV#ar)3e$SF zZiWEBo*HAPCJHdw*gh7P_XLdS9dc_F|6^~IOJf-QqT>(Mjg)6#{>v$++NGl)s`w}m zYgYTLzyI>Rb$-THs^(UOT147+mU$5XcU!X=f+Tt@4x7q#zvyum6(By(3D-c!*-5`x zW0nDTWieo2nKsBy=iBXk12vxLpe@n8MGxgp1dqjasgcUjdY>~8mZl<6*J&qdAY5_mGOnSDgKl4HVe9RK+7H(YF5LR>w7LMNw2E zlpF4|sd1;45aG)Y6rueV27xEtB-9H0!8?M{D9cVuV;VbP#FTtN0D5eXwmg1*!s-@7SQe=s6QpDKZ~g z6GxbnErkW}DuT_Wg={nkg9<@RdGZplZdd_ItCtE7_T3m|*n0YKN|AjylOL(8C_H~j ziQaL?andK?hSMbN(7an7!;dX|%7<1iUs|46lM!oQ4}6>8v@@La)C$C3$jnP(Ej+9c zxTw*dI0H+6&|xl%;4Hb)#Y+gVdIlfRIKKjh2&x9*G~Gx*5p%>%f_JUJZduzFw53&S zY?i+;Rwn9uUVneQZ>nU-0?*x=17O11#15lqHn1;tn9 z2()si6182sO+CwX-MlCz6hNZ|uwX;iM0%i{>}BH%{aFA==Z;Q*JSYRi*aj?+c+q*j zS@8zV^o3-$`|XR_rw$tiB(}b31bN?C##d`{{ z;*gUsY`yZn70|g|$pxX>>4IL;y-cZrR%#~c_K;tLN!323DmO4Pt(Mev+kk$+)qO89 zSPwn&t9boqUV*BdophS;3`v(f+e7*rNhqIH9>nKegS5wy2{hBZmT+5+%SUDl&p~De zQ$ep<%;WM6dagMYR?Sq8SXOHpEfR#8Jy-};RmCwTR7Wmvo*nZOML|F{uyz+!y(9AyX@s{@<$X{a%SyN5`4^ilJ}GbC{xpQf-(Y8VH6O`r6&xKg2w zV>JU199kyjHv+)z>>pUh1PIUa!kZ<~YfbYDV4t)|hB4oR-BS20`QZ~ctgf4ou1Ib; z@1ftkQ}XMxB{Jr zBmy$aanQ%SAI4d=zTR_qaYC6CI?!^rIpFIP{9L_C?9>WqwSOK^p@p{vptN_m@HV&= zGd%T?oDhImEK6K=LYt}cKP67Vuz>d92&ur{5P!>W7#=-5D|2;Ojo9fqZxZd4vK99K z>xdr6Gik?@YK+y?Z4KCoevJQbk7S9%N@u}kjH{|b`3xG(K&HH>B}14BMLpHX-tDq` zEnG1L%HYsX13V|`ulSe%WVSkJw{4)5f)ibVLApsd15FsJTc+iqjrjxfwpSQ8yeKl^ z>auk=L=N^Y%w;O>ZqC`m<*XSf+F6MI3NPVLt)Gn~u-nTGW#@*=yh~{+cA1(A*qt0t zeUekN9Y+440<#jneivp2yTl29M;ep}N)thaL~SKYyLM-R4lJSCk0Jler;yrYP3zS< z6}t?lt(=Jy;Wi`g#Re9t00kZ6)PqY=?)PS&=@YPSm2JsxB;hO(ih`Kd(7B@);H%d| zEal@# zqyr?o)(4bQSGYy^%_`3S6h`NjV3%}Er4a`n(Z2wUb%%)g1-s^4SdXCsT?~%LVlkB* z64LmfneioHqxh!=&`AYx4Mso)$Rm=PNwa;~a%DK=hz))^+_=0vx+-S<-}YSZh5`6Q zKk9tCv`J1Id^L%lo3D>1FsC2-dETR94!_OKbTRqjRjHlrt`nGcnm-pd!{m4mHVYD<2nokqwE!%4c>Na=La)WRa**5 zI53OgGPdsEJ_q23G3O@|g&XY6-T={)-WZ)Q!>za*N?&T2=7Twu!-u1igJ_hDDpTC= zabIBCjop9jWrABpYvr_tHhxK^3@BZDgT54M4IxX#RZwB!U)_8V#UQQ}IrFNfDUtW_ z!`d~!u>ZFGihx53N0?gVmHk-_|D?zHinymzpeG?+E;s3>OdrZ%#cM(+-|wa!nnbr> zz0ctY;W(X9X ziVUoGw^m5GfY@jRTJ)U!$fJzw%p7cCS~8JGbom7V{g=>|Bxf>$qAu2XA^~%4tzY3mqKYe`^Msyd!y@nW=+lwk@vp_O%( zUD}IeUv<(0rMH!7?-D`FW$`-lFxpxRO+T!Q@4v7vL;%%;g`|5x1-EuK_`5k0FiDU= zaa4t;>RKC!`(Gun68V+R(x=)Gzp3iTD5nbjqKgxbu^yBD!iq7RUA=?&QPrg^Vu>@n zpVaMPP&Q~B1lcf|`Ysui$TVzq8#Agv^o4|-_bu7NB%jy0v^Y*;P@3p|tlz#qA05H> zo(Z=6Az|6ho(?M&fvlL(34wQKb%$31ry}@Y*2wfj!pMtz-_-FIaP-r)u$(X4p)tpXJOAzrZzUj3a_qM9rYFq295chp0#9a(U%1W4lR7k z>U*H>j-JozF`sQ{PSAd&q{3k)nE24!SH~Mt?cjIx^yVZ<3xELy0Azll0iiq}CT#MD zMN!2eqmEHbuLD|t3_M5rbnOc-lVkw^$eT-_|BHZG|92J|{=ZiNF`lGT&;kLF$;b`9DsEP=(t6;~Gc8K3)Hgrc6x60V97v zATkdJS7+n%iN~lC8T@1~oc8T8aBk$+(n67be*kdlvQZdU;!pzScjU^KEjIP7=vtqx zbr%^0kK9m>ZeJp<8tYIcq#2z4`d8Uytri$|hN|3RAx~m~=O=&B7x~e{8``Lyjtl4O zxy)wW_Mah7F~KZk!!FMzjc$6HuR5rr6%~Ky zY|8Pyx3k7%`9HUWK#mXJP{J)_HvRXShbni#t>t0=b9k2fX!QPzg>$Fgnz2+$`E}!JepvOQCpLdPZS)fh{VK>Sc+#HOG?00w%xBMD>&72JZk75^&7oavY^YqE z&!S3*Fn|S8NW6zk&1f>Sub3*TnoZjc;$935Sy`VB-()z#i2|A4Heuy?^ew|5Ws z`VYB4Q;c|{($42X6kuUKL7~^Wv*Vn^Ie|4*Z2XoAG z?^P|k#UGABL;u{~aG@MAcqs;r_MM_8F~|PCVySf>ML#K?UBV|8^fSCHZo*qlMzA5_ z1(7m%^0_xCvw+tXJssWN+ya-Zu!S8*3Aev1YaivC({Pyb#>M0q%sM%B?yKqj`E24ds&#K6cd7dQ4Uvp>IoFdC`ELutxm~U973Mpcd|t@d{qnO_5NI@a$$Ch2)LAL4 zT$G>1ajMF>+0?AuXB7*x>iN1Csj3A$Nc6#{Asim%u zfHu=q&pDqf|674R(ym>hELu9b=po0)lQ!LcC`Wv7(o%Y_v-I-tqHd}4)A|4;DvL05j4!Q~V zDs!80l|!S4lRh3B8dfW$a{Q;*DmTIWWDyfgWv*8Gb=uQ6Gd+9?He%!{5J+;v=>TK( z&+hb>M^2zb2zQ0AX1-Ib!?b&&+1z>y>p%S-3(SsZ)q8NbyN21cVo)vdv#=`&(<&w= z$HdQgUvPFLhV>s&V1bR{Lnr34VYv{5`&iYVwR3-tvGl4yE5-YU%oC5YGAD3lRm+}6 zII=9VTcPu^=$Ol1$-oAFCE<3MudHx0%+#1_#hcXhS6|vrL#uW~8&au|Wtm_F(|wFR z54&NZ1P9Utd-Ps<=W;OTT2n(>SBiumd(I-@3Bg&g?+Z5Ue{?@^3A>X&_GY;1;) z#Dra{b>koa;7g#T&n|K`;s3vz=VJX+p>V1IWJ{;;P1fq-_&N!mqHYs~3%O#o!S7E* z^^Y*}z{l6pOD?r@Fg4Qd{+{xnqE=T^3wJm2RiiJHyM*#D@N#m-p8u+OUQT!T!_djI zR*sWxCGYPb0)c>+TKSUY`t+_Xz$6>*RELiEYM-w{waI>bmzrl!-3yaATeP zGw^_h=JGJcXJk~|m>}l5e4OQ(c;oXksXGdG?=XLmF~j|LQAXBVS$)0vcA}-a{&kH} z4G%qJesm_FTWLpCK97WZqAQC=T*lB}iPIqgv)s!8Qc*eKSH|CIh})((3_ zGlL%bBeo1?-vojX#_1HJ>P!<%k-1q_7)fA2fZdlL%~Tdivu_0vH8HV>0aFF91eMo0 zbh5*Y@rbQ*BWP_B1P6VKxWO0rpf4?jA70R?f_hEUq3AxTLUvjcNPMC*;9m zxQdK*{P^LK*xmV7ldTbNb#SCg^(XURYU*b=i6H$5j+rN_;GJ7}@WnSnl6d}ghTr6R zg=nO34aH*nj_j#0XA*es+Ev4vsWB*EIW z(RRO~l4wmW^HyO!e7%ft`(VgZ&P*j6tk%JR`2Qj8tiRfdmUy3_#i6(qcP;J^+@ZKb z@c;#iI|PasE$+dgSSjvOT!Xh1*WeBX3Vpfn-u3>0mtW4xSt~oqIeX8ZnKSeGYA^1L zfAr#-%PXrKANnGF@p@?Ff&89X=|`QzN` z8zeC^y-3z)TIlR^X#GqTegLwGJ+W-*JC{)RK=@++td5x@E{#(G#K7~H@RMctua$Hd zvvct~*7%R0Ko?uA$hm=9q{r(@y2-H(G3cIS)w@yL@alNkg@6u0r~_7HY85p+1aS>S zp#Kz0j}YHVl#4P;@MWqUWcbopfDSZDy`5*H^H^!$iz_{>ii()u6`i-!7jF;3;E8rBu2t1Fh zw_h-R@e1zJSzPlH2A+W6fVem)Hm#qWJP~pw1atk|aG`RHQEco_`dwhp!A*K@BL7TJ zuKGZz5JAqFE`l{`9jdQq$n%CcoAy)0AFbRBhS@g8i7$P2mQnvCAurSjsA;zPp;UZV z&l!H&!P)JtEvm>@5^OZJO#V{yqFYrATLBd z8`(RpME)!wDZ^30BNn^67uh92HqRHgg4>SB@O-4Uzh1mbVom7~`T=MD!3JV~$zM^M zeT5mMR2n@6p!A+wBmqyp`Xu&Dxxp__GDT^R!&yMs4pSba;5Hc-l@(EkfKc*?ZlOa9 z%m^FmOdX}>-Hih+W^D4ve;2$g6NJ%KnmZGoFor`j(-B}whgOu?DLLcZ`uh4n7u+6e zIaFa>vE-Wz)YCWSNy$a*(h ze<{$676XcT7+@mAEHer{S&|hBLIB-gK=;?tgY)Q6$=c;q-9#M+KdfpOL#yWSOV(4@ zFG+h+TsCeZ-pTDtDz>3@8*In^C)m#ITZttTCS^$1azdb|4Bmz0w7tAfUSPrce6wS6 zp${wrCgaVO>Qw_+lTO5EW zgZjL7+u(TDd!ue6#(pBc_gE}R<>MAz9U<7`8@T=U4+@&__#0$IPLkt8O|YN$J;kp% zcA@AEeSTOnx{>K96!&x$?Lz$UWDr|*_ty3IS#g~ixtjkk`qMZw+20xC*%(*%U}zW` z1sKXGGtZP=Jt{usn zr&uD`l%a(?)tLHH>aIoljT<_AxuRGX-!`o9>juT{b{4goVBvCfs+2a#F@+S%7Gp9| zDDHY&>{D$DyI2ZsZk3`9yMvi8rOPI*Y@URLMNp2*Ahoxf4Nj=!_x6-xc)G7ufe{7X z^2h~r0lR)T5GY3EBFp8uIsBb5Go{D)4LA%kEoKNMnpHgr0!fX$2aSr=AQs7rsXGS z%~4-aE#0RIR+GwES9bp1la?CpP);dc2T6ERk8o5J6NvcS?JIEH81-%ft*IvBjrO7& ztEwt2^0G~zM2AXj<`!gE(BMPQI5(=vjbp)$Ow+juRX-4Ngf(!{iNDSz{tXDogGqzp zc+%8Pgo*HxB90uMwsiesz?DDU6@k?9y1jp`uzbBzkqy&Ro{^e;HlX;|(_GPyngwG% z4#)JkMH&srzC-I-u}0LLeM$A;m*czjnG4%rrq~C{xpitIQpTUFq>Z1jp)}7hhUr!2 z#1UHm$+I*6nerT!(X-qSC6{R3&FizK_2yzAj`ksRR&4fdE{k}tRv)Phr$1PO3m;({ z;3XW+0t;Ao5(_`w=*lng%(3ph)+`bf?m#zv-#xgW&Kw1YbfeT#R(H;P%P_gKKvKop zmII9thNRoMMg7)+3fHR|f;UW+s*SvX0v}xFLJIc25#?YO{!9^fdj~|>un|FdQWJoI zkZ}ZH35IrCH#-^-6}_qB%I`!(m7C(@5>kUN7*Q{hkdUue*0YQ~KR7r2_0YlT2kjs9 zGRPE;(!kkd9_GB+KWx$nKaWfcL3&W@qUJ>r0Ag$wHzF15p}??`v`!`EXg(NySNiTx zK@8C_IWp8ST5k)b5y3)$1MfFxd(vUsDwFxH4n630de*DF2F8rX`a3&goWv?lAkW3p)Hih5e+MslqxvDLTC@YrL`sPLbAcG9#+tLM8E)yU?mfN{{1tTb2ZwLm){Nd$rX6} zjhE}aY1Ey#2Kx_-JzMcWJg>UsN$q*rzL8TBGGeDJ)vBLaQ`L>wS~U4m{`MXZx*gT% z@OpJIak%XMz5Zktm?KuAAafr_m=h?Lx$cOka|nbl+DsbPkYi`$Ahe))45ti~L~H_@ zm4wNbavW7S?Rlt5lk5vBM|mafUjkKL+t;gPQehO%rjzkt*qg`;iAcn44>pX)x(eOo)YGQQs zyaZ9KA2SzBujlXra-@459<7+gI+a2k-oZm9Ij=fGW_+5bBeK^sV6w+elQTWf5ZnrHZWIDL~zojj2y zc*p2#ZwTqaBq-@mA@zst5p=h{0nLN*XSb8v02tn>>0<&sDpLtPIN zk6+^L>=;YO@|L{obxJ!W$9}gz*g%KaB9i@MH{i6uI+c$)vugPul@AT1dl7G_0F)?~ zU8*c*5N3m>V&eVdJ^jk+{^7G!AxI`1Z&2t7(DaTv0aLGSgDy%jY3uz*4mL`_8}?Ue z4UC6NVT9v>cSe9`WhsL}9&J%a{JyG~3zQaZPiaxb)TK{)h%Qs{P0GD&!>^d%*{!gJ zNjec2u!9l581^Qyw5ebB$vCKfxV&1m2Kw3V<5dOK*dJ8&g_t3}-|JiX&IFA=d59gvTtkeV#i(`N5{SP>DWpRJ1;w1u2_GCP<)c$`szvtD1SQ?pTi9KG8>2usl4@M-}8bLBpuTYXY7Fm-#Q4A3<5^Y zt;x(qtIDiUkcTJK2i#C`M($(lQ1%*rIN6ic*0qZxe zkUp^px48NX3Booare%}$$GYmlYu$PZN|%`UavVL+f24q^tSFo*ul*+4o#Vh_M{4Qh z5zK5eL~E=q(97ANTyKiRBW0BwPzhUICP-3}lOQc92&p3Y9xZahnYYi^sbtKANiBbN z<^c%$;Ph}-*DQ6?=Nu%Fb;XiVzs!^Weh~?7x|WsJC2HRLdUo!UrmX|!cT4vGN#DTu zuK7;1N7rU=OuEhE?4`A}+iw`KG=0j$+r8#Cz_MYDqq!v@A-}$TDf!on&z$q^6 zm#P`ki3#+Ow@b)~sIR-ZgW0O28M?@jQ-z8^vPg6XrvoEJGunwu@jJ1qr1L=&I&v3(5GU&P4wt7w~cC=_fg7Pxdp0py#!B9{C%W#Rt-N*i&r&TVURP=!jnzcB2FMe_+RgI_SK5 zUW{B*-@lxzy1MrB>OwgfHG3c8@84RfRZDAGKwSINYB#pF2%zfYH8+;m z#wGD6T7QB*^b{s&DsbEc*R06w9BCbd9sglxcZC(o7+8m{Y@rDqz)A# z5lo0Vqq366hE&37M{qtWnpUBRxYm1YMOe_iu|eGJc>?RY9(He{F1x1EMH@FcAwY-H z48+rrF8sSa)Nv2LyD(A4Z#q-pD|_WfiI4=)7MSZ58mNRMWeQhnHBv4n(GBTC923K& z8YMmP`miu1GboxHK{HWq-;Ie|f6t36NiiR@mJZyxgdqSi z@h>P>Pm)M0(uP~!HVX)J$N|33)-3(=;BP>8^iVa{vg@-7Qvwwb(U<<-R*qjJNQL}B z?H(08oRg)%;22vRfqcVvYLn({%^#8IKb}CIZS2X%?3GL2p1fu2prBS<^jtD5!VAn% znU7H}AVpdJ_9O?Hj=xO1w5lCQacIT^mEh9V_4o%iec~nMSW(#NB$5L_H_D#N)yaeB zIC+@5%%mZ>>6;g&xEpE}sB4Ph^wNecR7O8Wbv<&k05}Yh=UJcZPQXAMf%+mZMPbcX z;4>fWH)=<#g$mer^>~L9dfx)o>w;dvIAFFO=I6uCn5ZiEInU{2BVEmBO8!soP0I~f z=zcZ&iz(TARSS(rTPq{lhvfN6Zf|o*1d=GpGWv>0J}V(eHddIpo_IMUXNv)LX8$5T zms~B>?mro*z>&a-`}gWf*}f{(6AeNn%Fc)9#%@Hb`9PyYwPb75+R!a6rK<*mXwwvr z2J>(V3k|o_Ud{h_jv!)rx2nOhM;6(z| zpwINhUsKLPzH8sN*m2|^5Y!nqCUzfI9xu&D!k{NVK2_(eAHDPUXES*!b0aVyI-~=y z2|u6KF55#uPGHJ2zJc_WGdd^`tJIVW1$+>J0Xscf`{+V5Irf;dgguwo9`&QKU)Le) zFA#)vz!BvL3Ra{+;9wg@p|3m*f<+vWZ_-m`=}v5UWOZJ7X5y%ug&o$9U%esGr^tH9;O!x@j*v1 z!)*Z9CLChH5=qkLTR<=5Rb93uxfj-|K2Q5?Y2?J8hE+C}8^7bY&eK7!q$D+-R9Bw$&>YO7fHk~f&PQsia2B4Wq zLtb`LW~+z?tBp{7`0)8}Eh5}S#Jup|PO!0%E^Nn2dez&dpsRzKYq0etf=YT4;l9MT zo?SL;NA@nMT0}h~cTXLGEsSUD9EAC3Z#Rk(LLaW(8@u%7dv;9k9RS@j8_#7Vqw*Z+faZwDdyvN81;WjILC>ry-Hio+nnb#Ma!C-*=nD^F{F z^e-S{r*ZQ|ZaV+sbxZ*a_%MqEHg32n>6tT6V2Hf>WyiVsiXQSILw3`oC|;xG1pp=Q z=HKw<8nh#ss)1!F-aUj>eP7*avoMLIOG*B(S3TqpJNPxLqiObKR8(sf`1 z@_+aQ4yfYgJ{YsC{J(jPFskOOK9!A{PQA>Q(b7feuyxjFX zMVmSP<3=B--Tol`ZYYulfUWv5@A6ZTy)c@QZ(1F{9hPosuW#ru!5|!;wOVo4g)FPA9oE-kYU_Zxx94x?F#Q( zj*o=+JG*5B$3mGp$kOM`(!jAfn#fLH@+qO(-5-E z=yKpBP+eS7<^bRc#)y0?;vewv~N`3 z4YyGS#=It30p!enBaett&u)=l%~yb|djz4tve`fnALvV1j$Da6=^~7a)~X~(SU;rn zYW&y6;|Nw4_wlzh*l_Bk<*SnnR%H$Fmo?mP0Gh75(V=fbeL?@GvXKO8?VX z4>k;)L{h^802_9j{M%sObx`nxKvwP@>4|#wr=X{(zI0kZdX9S0I<^|_!}T2l2s$NZN*QU4hqFRd=JPFlEUPhN%@kw>n}L4n9|pFskwu5>GK!Or~s~?xzeqt z+kO5v78*91RM@8ok2q`gZ=yd6*i*tAVe!{E>o*kPxR@s3PCZ>9<~)M?*r|bCmVZJB znI80GFG%=lIxuF50`9Rt0HKIwd|VJT&&iEkHE|B)X|RC!ObW>7c@sN+53-6NK%>%Y z^SMD1AZ_KA#?LAp5*U#?4IiAtv`O1OvYjF8x@flg!&?&X5{w}5kphBhw)fjP7g;p* z$17+NIfalJLqNdFqL2r^uS%wwBkFjlQX0?LdrvcDFpJ!3tH72Zf}!6<+|j#h;WzxS zajFT_HYAAMZre)!UIm0k9_=6?Awk zRQ=(ajuKjeKpPi9D|voOULySbAZK)VkvReOYO3qr?3v=|I(oqF{4AohU(++)Z=9Y~ zoC%|k>eae>UPHqyV#zY^*HR=%W4!NJ#Dx|4QiEH$+{c+gT3USUt3eEJOkAvw$6aD+ zHKkrCpbUsmUG*w038=IdrXo0tlU~F>*m*odvzLDzj0O{A8Hqr)cKW0G7YWo$3*z~W z)0FgvV^zUqUJA4>)HdTT2}lt8Rf(BL!tLf)01f{si2DS*Db-)3v_J==bBh-{xFldG zkK3CMHmJCJv~p=}^woU(M+Zu^gQzs9D=UV>k`2cj#*nwA@ZIh2IRM>HQ#sBV2>#!v zLEQ(Ojwd?Q%w{t27LnD{5tZcxQ{QaDPmhZKTBVqmeP1XMiv$R_ z;wd}fTEK#dkGw{`QSCAQN?L(HBQdRfmI%H#R7m(9ae=sV)Qfsjn3w+?iup}WQX z8XCM>8URl%2g3OAonI<`qroFLkilJ_6UQ)$!%mH&nvezB3CZ4V+@CEKpmqj5{x&R- zj~V|M-@yN!bjO|ai}-4_u+qi-lg$VMKJ?KM&uzS|?r-TEs3Z^tK4gI)s8?8*f4#AA!t*Tw0>9quR0iyTf_8T#3j)_?7nf&%0nfS+Dd+|Jb1tAe3J@%O zbo%-T+zoGfY5)o6fT zgv$cHzF*=%zkw^WsIWb1NWtvV3N~V)I$(=FKm46qn9;M7z4v)xGa&YhC;zv}9Gdi> zRDT$n2SCfuV5X}}Wvl(A%sSg0u;}pGpAA6T_X@~tN1i9eov*sfc$5A?+vTlF*=6T5AUyU4Td#5{S`TO z)$P}juawk8#<`DO^vZRD8{RO}%C zY#*+m5xP%7A||{y!ongKL-=9q2(V~%JeJoK$l=W+o`QhTf+#WQF@LKC0lLh+e$Ylpp}-GSKD5}vzg1XqX#~V-{e*ZVOos9KIPr)M3D7jt5hPs~F zqvxg<4Mq%rd!`E0yCay}r{nZT2_}>7uIut}0RB!8OR4VN>qPEI6P|{H#xL>!_EJyZa|-w(uG^^~qGs68 z+~CX(kc%-_B#jLA*td;OQ2Z{DN`rCOik74QA`BT$=&vm@;g}8uLNnd1`9CmGswDBA z{^EHvZs*Uwuf$16ijYL;&dHKSqD-?yHVOtrqxQ|#BMGE`!L3dsJSlg}0@x5W*`jxi zK{0a?RI?*aGOilFa@5UqKG&m5z5duW1Ob#(t&MQ&qF^+u-DT9bFW7`7gI>xBAh7-e zT60$yW`EMKgC2v>BS`3m5*KiI4E~m5TAuDR7-wfz(A7lcemH?-VIdbCj{X@wM}IZU8YW_oKIAI zm)}OUnSWOL4mMf>ZuS|GX&e98>IXvQc|JwO^{Hv?^a9{TD6Tf?t+T~0l${!WV{iUq zLR*jd_H>PmJjT$#Si^k*zhqX@lKX0seGr)CF}}T@Mtnmm_j0d7+FE_m_;MH#NJg`u zY_fobJ4#ANbntT38^A)G_m3SE&5HRSb+k&rgTueQNU%RB6rw>|*=8HelCqW$g+Klw zgEj=2#R<@-EAE8 z&~&oZ5<+pH?rlGw7!1~uY*m{zkGYFe@7@NkV;Ou#lv*|&s783CQbqfHb{5HM^qY2X zH0=gRrlJ16g}DKnLVg_oG%<-Nurlj_JK&FU<$kEbfZ2hZMc=2t-@s!xs0kZ)jz`ST zPLe*_&cFCjyw9)Y-3o(hIz25qcP`!jmj>eSR_XHEG0W?Nm$?7v8W`ID#|2?Vf8BWI z<3TL{hy`KB@ar${AxwMu#DDGB#h;)hJy!6Owwd?{9hNxs#u`lITf4|j#uh$%@@~Yy z;+|RlM9>cLu>!2o&82Xe{4=pnzBs--J5twri7%K?6;1oJ8P{yvFo=AK%S9GTF93W+ z`)*t<%^h_P6;UV8>XbC$TJnjaV`BUBAQ~L|!EB=h$&L^I?9&~0Bm?d+GtED2XcgH< zN}tdiQ^0S4h7aqfPs@Yv`a+V&CH=S=Yat!YBoe7mq#2IEh3zpKWC0A%caTZeMEXF1 zmE^wqmfPRGIIsd#0(MKG*KP;o>^$iwU&NAY>_yKj(#DlY$dCs4R*venQeU-PmDgh1 zJp%#;*C%+@ZxhHQc@=*jD6G|K0Rlv@%f5ZdJ|tifA}ZKdwTaHp=ViFYJ|Ap`u>drj zkmNB#CHmfOQ{Xa>rB#bRPJ$}FwT3)tK-OKA-xrPjda`R)?|aNiEZxMY2TJ-tx+aPnim61Scf<6bjt)K)!F;m#V4S{DD; zU*o*1_Rs#R;b%WALbu7g#HN-oim+sz@!Fzg{L?n^|Cm5KwWoSNe=guwuqm+-3bs&4 zld?im$Bb(){Htj|(U=FM)Ft4zN52K`siCX2Dlj$UKk^ty5MuwGpY?#1bUF62ObR+| zLzFlQ7D?6Z;D7USh-Fq*`D%FGq=P5yPRT!z*}Ycb*bt!}(S$rUQX&b^xa+zg-$8(K ziB@a72Jzjvsf0jShp=QO;Z3<#MO;11ZOUk|B-z_p-WeJsfdlh-Zu4LGea8!$ETGPb zkC?ah$1fIFLLiI|891S8X*GI1KukLBuMh@T4(nT|R zaP4aK97%xf?H|9BzS^z%@CPrrt4j&tNXC?7R8c5wMtl*{I_Ejtm5Dro@%)D`qLc>2 zBRCTu5dG0yo#>fW7wz9wfYR+rl&~}q{GI#l_yhNC>iH3$;Qcz;eNob^WOo8b&Xo2Q zIY{ZR$&V|gNAdBC{8mr^Fz3Vj)Dv8Ur4Rj)w&yo4tWo3pVZsQiy*NtQ2v~_^;2(3l zS%__p@KGga=OA;0v#ERZqQKkPum`TcZyATItdT=Zl`W?On;fxkxZ~`i@3vX9-H%(i z-36Da9{%?f_8nJmR}7T^O(t1I*o2>+ZBOGlzy=G6_>5GAHMO^E^7$Mf`N;W>U4R=` z*wdjA>6r{h5@RB!Gz+tbVe@TmekxLN zG{5{iJn+c9g&NHX?YlhfKgt@Kh4BTef9%j6si0$jx+}FE?T_CQ8nBLwss|7OI_DO& z#e%;*V1UFuB#>=h)<)r58s9LZxF9})Z)JxvO~fScF+iQ`Dd6m67KF#$@p1gmub;Yf z`I;=_8j)7m^=5-;;IsCi8`rOYy<`KLj`jpr=Ifmthh}LX_$ z8uW&+u{v|l+#tjGYg?&h+|1pB$e}8O(QM8qpB*Hn3d4mv1D~GIHDVFUXeL?f;jKt) zO?m6dZQ{?A*wOHY=)Kw>dl22?UKH?Ej8J4%^eWt9f72rGB;d=WpI)xFR=Htot0tc6 z%}8U0u&>mjvF3rIuZh2z);w)!?0<6ED{c=a>dERk2-%?xfYojCIW2Lh0={r2H^HfXd zhj8B_HQBUdlE$nD@RiZ?lSyx$(G|NFe|_OkLMJJa$mp*)!m-%4tGG4J0QZBn` zherU4TBk3ieu~DneHvN~LV^um*U4Uf*{mn^PZ{@$&jx7BjS_z;{<=7;1<2X8HhSmN zObVSnWlN}#|5nUi9D#;vruZINAbn8ic|KYx>c=}vXW!Iw9NhJx`hP@FU^?-E>1@TN zx<>;RbWB-e6Sh@#AQtKOjh7HQHm;?PW<0fCVH>%_EO<=_BzLy-E-2K(z+@a4fE6MM zsAz3R7tii?pR#RM=sZi6$HfauB6zioJIGjhe8yU$3e1T z2<&%iH)jX))yz=&*XQr<_K#h3))TBldgl0Kivc?oh@H*u#Pd%OwG9q>mf9CYjnu}H zDFU%yz`*F`+QNlOn$&E;L0zGPdE;ph6i|7~nxvcW=4PS&-pS(g6V8yCK1*RzH#^H^ zFB({ffXsr|Cq!K#o2^qW9|(R>h}s*OKGxKKuZ}>dH`BZmbw3HBGu>mgQTl%m+$S`{ zNQsEEK~rbBSZMxX7+=}7!)n``rb}+ftg?DNysNLwT7KnLTP}XQe1u+i;xjFj);%D8(YQR zC~7d`WX2c^I{$hnuM-hwzb_d0o{eI#8*qsXVRp`|BxaaC_T6d)-c%O~19K2Mk-)fv zBEJIDi(wZ;1|2mU9ZPTJ3=M8e35qWG=7fwK*Wo2C zq8(@4@;h?|1P>VlH1{e&oKLr z!q;bSts_n(D2xgPdW!wjPa>JFGXGc0)*UUZNd$`X-HITi&=jy0VI7}pLLa05E0@AO zw(QMU6(>CqTm&?H>e3&gx#yQ(me8#huxW8QHN?t>)*smAy5#+6o89&L(mgJFU>SlHdvXQbK+@@F2XHfe7C#IVk@Ib{itfMAl6Gc{=qaE@CIgE|RO}{H3JQrdrbd zCzoA<1ir3a^`==n+j079iZBu+2UIbFMu3>P{@10`j$ADT335U5+UA4D2_(S}jRC(X zL|N#1W<%b=x#bQDowD;K9_92-Pf2)d=mm58-QTGuxWf`Ywmlu`4~5P#gOY@bbQhJS zHC8{VWSn82=*!Ip|MkyFm2Ys8+`gp8pO@qGm{E$xwW(>|6zHj@)?|knjhFIO!=TG>hnp9xAuANxHn2hC#pJP!&YztwYF)#+v~408-L5XB7wZ3&WaP72 znxodS1BzNSsgc4!e`J)L?j4!_y{5BVw%%s7v^Z0vuP~&fEZbaU$X4q*NTSAYI^--2 z{Wj`%C|M}ocz|k{6i&JIe$y(oiTnEDDh{V|K7CI1Eg3eI-Q<^+>xaL4<|BWg1{mmS z{TEMOox%mn51$6@eyvzPUhH9NvcGxr<$N=}Ka1tz@9ateqFep1w)HUk(>7*zz*qlK z)C^JifXE>UYDVgDWushhs{*zLRTqtU4sZyszHjLLOHP{w^eoAR>Z5SJ^6s@{Pzdr8 zb!~M2NydaQ9U+3rNVepI<1nsOhV#ewHl*`cta&EFQ+*C?J1EYZF+JrE@lUgCJZ)R< zgY^86JEIFNodJaMfRIjZkiiYIX7gb>UL|@`%~);0GtxDLx@xWIZwE_|nv9Tl99!R1 zHCMbA@@JYSxxDnEB^xTi6GcBv;Xs(3>jJmIrful+uw&P*%tB9n?n4bc^-i_vqe~qAXu1^$uyjqh3;G)$}$KOoKL|_{H z&IidYosi{sNmzYFOXTkG@SrzGF*&?C6-bg{H78!_ zx<9e#FVfi@R#=)f=i0OX)>&^tZXSj5t-<%Km};0-qRj9FkhgLuZt|+Hm4;+KYCL5i z^^Q1wM&u>QT>P)g3W6{2GEVyRLFrP|NnvOe|BJ!zIiGjxhpNA|HNa^t41@A|c5=v3 z0?ElMA)Eh}S9#=#haJOZe4hUHn6&G1pQ|L%PcQ)hFq0k(Li7}M`WU&A#=;t(+9lVdvjm1{(iQJJ(MOPd!oO$I*Mvz4ag(6-UG=0M@^b+x-O4ILqH3 zo;B#LW%7t~5cp-N8s0xA6^w3+-{K~jpa0W%^$mY)=s(B*{}+r+MW(Q7)b&xlVd5(A zNN zIsa=dO`_JJBIJ6kL;Y|okN>_azu{!Z>(@(E+RV{sbBBAkhmgr<^Nns6Qek)n@<+9} z#!w#fi@Kn*)`0oT4OIf4{na%u{41}=x^wAd)j&t_IzjhuEv|)+XOj$U>yMJlms-0= zNPyLM<1dc1^K(TRPR0$K;v7)CJBdB1bjL#r8zR`U)A$q~`1z}&f8d+!Ic<%H338dD zLLsgv^NM(2_ddtLGiqW3%TSCDm0IoS(3`I7v?sL`V7E1gFb6c1r64C;YSH`W z*dwNfSuL!uU@HM#IPMKaqai+NoeU2F<-x~`Wf<^&W6;JlCcLNOXr{c!b1iAC9kNbI z16#7bMSh%iszO@%`j2-0KQr@qqQJ$sSufTiJGkm-eU>T|N1*S-1BEYFW#V5VuAa!|($)^xLO*;R(PS>@}2^Lb$>q;~3<(8W@ciE=M7y$Sg&V+VP z@k7Z>&ac71)vQ;|{5ksFON8meEcoF<80qH1s(rPMih%WF2P6(G;h*a?V!<%cd<9?2 z3*r6Hr*W+2r{(oBOB=D!>&f`@4Qk{?YqI}0zosL7erXd|D$S#bC+1m$lVXM$>3%GM zP@f~D6!v$Y1KxcP@mkX)boXi%a}ou3iMy>yiZ z!~YO;rSFX_(3-waSHcJs(?N2sN8ZZ8Xjy4JvOKFJdYAvN;}bQ0Y#AQwyD27?ea0!* zZVhr2=-%;r{vu2_OIIBv9b?h&T^hFvp;}RYi^>u0kwwb zmKe&HE}4}3IFMzW;A$?AmStjwl7r$v2^!hu+TFd5OQH1|W!?AN(aD-{g?cGN(HMO- z7TBWg%c>;Sr^l|4BOq8(ENf6vdsrx<{>ch53iqX789?BRwcT4 zmWAk(y?{%S_gMOeVJ!RenZWLUrK_xN-soUSiC%KqgLS1F(^tPHUX`EqeQLG|#%t9u zPFN9Kf5423)d_tm4(#$B&3kMRdEJKmx!2T1&dx?iKGywX<{S;}tCMl~)}B7ebmM*J z6qJ2OGAg0Hr7RF=QW#Qa^Uik0r>&xl;a3IOlr+~NH6$afM+4L%TpZ@`mx!!?!LH^k z`2~5U)OX=^|8rP?HP1+ak%~sVl}8;>!HYOx1u>Z~hccDT^%n-u#ON?F>6SIu52LF- z7U>e!DfPtJ?gjCow+o_CV9^zW@iGq7E{wwtDQp;i#uJ zuHziKLj-)pTVoqo^5twZE*VESwN7!DV*j{C&tregQkd?ve1&}*dP|_sI53SQS&VNp zQo@8|0zNA$lFhhFVED&MtT10laCyR(T$?BfFpi7 z0NHMNiq;or5rMB#*oFE4?W6$%A2sixgvmYe1|` zCM#B*av#)xALNXO`zXZ(jqapcgqiQcsElfPdMg9}JwQC+vqBeEJq&qQg?s-QoIdb7 zbO_~-w1-$GJdkH(GYg?12(g&_^{5QD&d2xk`_eAYB;RSt4bfj=zkfLU#-`!r54KH< z+a2GP$~yeDrYKhae#0&=G!#>oXS3TAKQ|6bam7qCa>uV?~=xO^i zPtPAdMWR-GjpFs9&l1W#oL>&=D!0=KhZ(QK$rwR_g1L?H6GGN{vyUi_@;#0ayjE9; z)D7T9L}@9q&D8k9^!VNpb99x7QCQboyI)GTJ0Z=p28(%|U`XP#-=ajUDi-7neK)mu z$%Sw2N{>6+RZ7{;=u&ST2oG%4ZM>Io_b}6!c)cN8=Yj-wPaf||2!wp5o(=Iu20s_K z|B5#+;Lp0)SBAV4Tx2l;0?t$!u^^iIW|(lF-p_?){PpD2_2}k%y=N_&z_q(a7pbZF z-myC+h^wTsU8G~^>y=3Ftgby5%=N#i#=^YZKV_2jy32B*853oh18*Q_Gab4kkh~Ri z5C`afBj%0}Ac^lGo!THc)wU(%7rTGnR?d;c*lk4%Ti*FGlUG2zG(&L%GDf`Mo<7@lxOSsspr^R8Z*~#GJrKHh?jJ0ZcrmZ{CdNEF*5`T#G1l6F_5gE%b-x1TS> zfYblnq;0iAvcPgox_Hk_zhP`S!0WHeILe0i=q`iC`n=i6NKCbWsm7*BQZ$%CA9eUY z?HAPLq#5Mouj&4mb_P(8Sq3GP#pA%cJa%Db=9q^qDnH)$)zna1bAQw#QcN?ow#1fj zFO}#4*+{+FNZJ8gV`OG#hOkoukk6Z~W}QyPREXRp z1tNC6BBFZ@746n7XT|EdMaXldo6Bl5O#!%qh&K9}tFHmoRH<0-p;jgKa{?4=DP(2aBez}og&3@g-7yH~9AD6G_uQhN2v6Q@&jkkS|2hMjx#- zRbk-xW%TcxZ7ul|7|+{KmJB2fK(PH)#rI8JJkX4D*FV>!5;2{;U4C%PvO=7Y6|mGY z!HwbO3t5DTtIISN44Ed%JTN^77pCbpG%gHmVij*AcVGQ_(o13Fx3z@!OVC;gxcUoG z7*AwzNk5E`&#a21RZEo94O=!5);Ldc->Y21g5|P1H&$`%k8cjV(&F}1^3YxwDJOu# zvqx48AW^&P!cC!5yS(oDAn6=yl8LffX+7vJ4>I^ay8|f=baB9Q@cR;*c8veXT&BH- zazO{KslhGNt58>up8VNl^yyZ`8u@^Q;F;#7#bx9 zQu18m4lYK=f37CI<#gV~6+P}m{W4ryi}`iQ$uonPd`gEA7EK~+W_4q`pv84OQe6av zop}Bfv%B#cde0bLb;tRWm9;GPz6Ict=oUn7q8QXBC&epu$H^fkUB>PeM{vI?h59oK z^5*!WYEY&MHdhBvS4D+r0EV0l45lbkSoL0=e@I^eiKG5)T!LS_Hev7{Er zaS&;?8xWjywp14anw~AWV*^#R7#}Y@a&dSc0O3-o#J8tL27lD)xFJ!7=$uwq><=W2 zwFnV$Sa0OK-R8Zkh+q~iPI|w13VdS>9as~Il@NC>f_F{R?h}%|=Cb3( zzB2>V+MoAtZ5UZrHryNv;*1>-Y`eXBP)BN7e2>!hg4^6>Yhi?W0iY!VM6<;V1($Gu zst?5HO(y_ZRV;-5_lHl)*4O#zack93Tnd zRraJz=8ff-lT{H0RSS1&J3|4aM@G{3+M;S8wqs93HCTxVS6ni7gr*;}qBJUej4j-L z5<>XIkLid8rU6d9Gd~zdkzTY8P-2hC4AR= zFO{l{C=Zlq`baiZ*G@v^=C3qwX(TR*8*h|ilGg?ZK&=lC?%WJ}Kt{&ixp;mfsjmE* zLi#qit>XI$D*VQGKcxz*a_G#N12q44ZFTi8h(byg=DV`P2B!%U5AN>n5Zqk`mmtA{ThL&^oiIp(TW|tou;8x2LkKQ|6Wl{^ce(St-}m18 z`>r)>^{-joed=^oovOWSr<`18g%JPWa0FD@e#Yah6i8!}m0ml=2LBA&cCzaQv+Rp* zRpldM47T@+Dri-GVS#*)t`fAdlREV11A zcQ=!IXkrb1%=189I!q zi#Los*{Ja;@1U|jst6Sq9O-`UFku`)PGWv?hXkDt$5KO?4id7>QGu*VK=(Ai53<{q zA?%F`S3$B_R+5BCFQ_Z@TPig=~r4+*tvuOZZAV+;BTqJWzRgKdtk1XfKk*>|t; zeNAl2kYhfRd8lg$XfR@TKx5O990YWC#-@m&@fBikGbCD}OQvUmIjt>q62IRFrDxd% zGotc^`~w<=J0i{15M|kozx)x^LTlVZXqPeGPX?+^_-f40PesGz;&k*-z}I1@J&}Ll ztk=eyu96^wvX1?%#5W(|QEel9I03l!Lz`{^z zdkC1dpn|;pTi0~y7`nbpC+5nTiXsU-z0sr39$Aj4a@i7q^#9rM%0d0%omp%Sfgf)A zSdjvBs&I?4IwPZs2Gozl78eF`9jm;7JxVobS^BMpP#PLUTC+4Jx$f8Th%2THZoYJV z`a7%OELH+&#b0(o-SEh>e--&i-+0BYOv2AOd@vR4zqFA;e;tl_Wy;v)eu^T6YVal- z++bcB7H~!Qi;z##wce_`#!W8^#1b2tpObim6G-&6Ebw$`KMnZnq)|isG{~6f3vGUrF%dOKDQGp}Q1VJ|Il@c}2n2;_+ z-pRKWz48^tz7S3Nv`B@adoIR7Grpz1OzL{EKn-RD=vo+Bil^i+@qbro;rkDk{iIGbuqL8?hV;(gD1-X~;gW8jg*mTUMo$j}GfCRu z|=d?zF^K!s{GY5|MJAVWb5PO-E+FH|@hLuseE>>m@oD}-hHjjtG_pW=E4 zmZr9e>8wJUn;jd&Ch7pk%Q~N3e5x8TKEMZpLDIZ-RSA5}a;C3SrtRGsfVLb~Xn~^) zDtzD*_a97uuBL>P%_g(0teOzxO$S{cr|aivyP^JJ{G-mg zv`yoM0&@LdN#P7c(S4Bn={<#syjK<~ctqh70+fGo;F<~sxbHHbr*;5U)k;O1SnTN* zk{ei(rL%n>3MdK{pD1Q_^AO>`_L(R76HyT{yA_Hq>usIteS zP2iQ%0eL=jHG&*^__RHUVA1`@%oRr!5wfajW3S54q~9a#{ifWj$uHYeKgjletiowbo5`XlC$I&B z=u;4&LSzfiL{QaII~f^l`N&JlYHV;M2lQ<)X$G!tDoe8{*!ng4XXHhZ8lRm?2)X+U zR26{k7`_kc5rSwA=D~G9Y6GU|sDW$}78{|{Dkn!3QyT3a{>y32xOg|3Xe=Hutz30; zOj@IXHU^|ih|X;rL%iZUdwvn%phMcxqRj-meGAXH7b(4sK5kdcQA7W_OLUZ^j=U8C zZ^@yVblHQvX?Nl?WThh+#mnX5Mpc3--B*!~{~F!QaT>Ad#<$(_KHdgFJL62P)W@R8 z0(smZ>9i4Y8*`DWv9SxPLZ@yPjnlI1lb4`w|8JEE^8F9>L$C2HrY$YG0f z2gRYugNergZZ@x5&eBrU5oaDg4ebfW6~K5(_Z54?n%tmR6@YC_dl*X&F3X9RoUBLM z>p^B9H=%CKWEL%7fd?s8(9Ixs)we4?5u5%}ISk6E0H@Cg1RT{zji9|2(NgZ$fv=4m zzXoo)?{kWK8zz9~y>Dutt$iUh@Zx4{&YJK8bHs-LIh-5^|hTomYAx+ECQcmKO z)FxLF@{5P(nwdrPG+c>+E23?!<_QtJny|rI{XHM~QBVpiH%xCgA=ofMmc028RN^h- zsvjz)qI?RH&mXH70W-xWHLF|>W1ikmZMG(q9lmhRAA|%HTQC2{;9b1(q6QZC=H9Uz zzS;M_^THGt;GXiclLjgI1j`1H+jT&n@BC5d*DNz}k`+2^ErOBOV{h&lc-jK%j}~#t zh48Avaks;S7Yjc^^qILKIN~Nx8nvr#<4!q!Mm$B_jU>#zn_&~ez>^%bjK;J=ONbKs zORICQ#?NY{LAF@Lc&*sG1_AnOiTxG(U-IL+CIeWa_4WH}&8a;<0;}@GS`ljc$q0KS zaX%S`!A>p4Kd`Q$K!n{h;Yd=2pVCr-*1DWSQucBA|VCPXukG4PMUT$N5c?8BrmAoVPdAXrdM z3f;l&Rg?KH}zOpU#`=Y?&vy(m9)TcaiGc4c`U1!kc`sLcSdR1FWL1m|!R+ zm!^;~H3a987O47=?a@t?>iBJr7^;O29RZzy$q~HBfW=$41?N!eA_l>6wJDX1KuI8& z4xLs1jij_3MEW=X$-7ZyHA(YsqO+#C*M`QN(jBuHum)(Wp|>^x!9Nes#c zZVB*~e#7rZ1|{h1vLz;XD`Bj^mYL&G;}B7bl+jhuFTdc#aTQn)6A=d*>$s$3ppAPm z%7(giSaO?ned?ItZtZ1bqy5L^H~7%I4-%$d^+<NQflsAnw#mguQGX+hlcM%p_W*RYpGayWL0_Z>6b!6xh==y!-0>v1en2U1 zQ;RPPeUY82XH`{@kJ`0rwRC?w<-jVC0uGey;Dq$n5wR%GqV{whSF=k52!+GTk$^ zrE6|~=4g->bh)i1kN%wSXab+(^>g9&Mi>az%a3X1{@|N%PP0s^3(4AxG>6d4EA|5x z>AUIX!W@=1wRlCNiZKic+i0}?LcP;+ew#5wb%H5Wd)#Ush=K`DFCsuEzGI!}Eu9kd z0@oa}TcnJ2m&clT-tYeOR?*>@Z06VF22zicGK3~pg~=%zJ8eR!-pAwnQNN*cEjpZy zHt<+5^D6N?fzyF&|9hnj!X7ySbIoHQ0Ne_X_eKEy&# zm(#qDL3`^}Dr*nC*;h_ZLCnn2uWz1r;C$)-sapZmJ@F$m_tRO72d&HYHDKcNMRKS} z2aucNnN$_V2n#~jRAm%xXl-+3-`Bs_g;V)``sS|>-NmGHB+gjaxIsdK(pc0^exQ4-!&w?C?rk7`cuDLk5xB?H{If@S-vZ>C z3vR1x@PKidOW&(UYRQPrE{I^@xi$s6C5(3{d;f_;g=8}f)tdUj*Lp@ zi+m|6;(9wFkPEukZd(s^X^#|EHA-A?r5Y_|VUEk^=>VRVkYYuaODH`cIEg6kRm(9; z&66^ep?Qhg?<$`HA?BZkr*n^iG0ccnFyZlP?e*t&eJV(FTCyt;UtFrd&Ex|Z`;7U$ zv3-uo72=LmxZMd z86OXa2q_@XUuPtx9t;rw*VWmE<6W36a5;M>xWG%<7|J3LVSDO64nk>E3R}x1z0s~7 zI{H@Z-zC74(D7^#Hh5aV@d+Kgh2&_eMAq6H{^Q|4*B2*49k@(4f;|!ZQkCWKzS1HC z;QIK}m*tR~wsf4z;a#=he>MrQAv?RaKx}+Q1l|9^gpE_}4X2N)WLJy9b_XDphbAyg z*eYIBu)6_!8p(Pd#bPTzBtsPs8WtHTf5I7&oIC;IU&d;4=vgb>UbYyU+Etc9SE zT=86MaybsfZ?(nnef?r*hjl}>7pAPG){=OJGd>8kYLtFMyu_EFlUja96q8pzUQ>R% zXvNaqI2t-Ptn;@(?nn$KT1)PP(FCWI{)}M1aXG<()wd9M_WbymPYne0(kW;JIK>&; z%R0&W62Se+m`gOR6a+e3IaSsRbFE<8r`XS5c$U%lipE13yDt zYlG~wPCX<10njerH1VFy^6Y{o`Xp1ID*pcOF*+D`rZBgOtyCI8lBt|vG(klK!m?lA z@mK{?tcvO^3LtL!C#ZO^V?kMeT6z=NyE*v&my_gdRk65A z+-c$(ymp3oPa?twwXy}IY!vC?tGgIxFhDyViqcWcH_+aq*u(**{c5?JnUaL{N*KJ= zwc7uQGjI+Y#*WI|h4}3c2>MG5xoB}n`K=A62#WByZ%*Uh#@8jRo&P03yAL3ZY3)YqSen@!jYl#)NzMY%x2wBhdX6 zq}D-*uU<9usU_!n?8~($G+LOE=cZpB1S@dD*&vx=TH3zR!+$t{a66{ZVQ|r*mxNGY zXm_`Kq=USU|1=JCVo0N5ivl@}M zYPe2lteT1nKeP)TZqwFdEW5dKu=1COcwE)welQ%%<+mW}`VefCasNvK=f7s~jm`Dr zJ&OdYZbJ7ZX?C37Nwveb_8g|)-PG^kNm?`*>%U!>LlqT=7UBF|<7j=Po6;59M;YLr z8q`MOveJ)(o8kFWg=-<0vYowI*LjdUlJEh1K-<@8J4o%?DDvofvZ*v$<3W}iM!%E{ z&nUk1^@|^D7S51^css8e=WGZV$42rtvddaay15IS-oL;(peOV>o?KRq2r=>KPiqL5 z4=hMh_|-5GH=jPS3PakdX|>oqY!V=_SN0Go{y+<8yN~*SyTk2@#hCnlO$soJ(f%Do zjmIuv$+qTw_LB)?#o}HDXp37EF$PiCgQg#I1q0`9gD52exDnk7z!JdaKT%ix&V{K$ z&Fvr2=d6WqA+GBs8anA7%27xTWe(&evNirqCeG7}td+5QEOutJ#NP~Pe#no${Fp_D zDi5=>jfzt9t)fFo!O6|5=grhL7~%zAV^PnT$5PG9IaQ1;+wR2$Au_4XhV=(h~C%vwf4>EINjGrc?b>`f;zt5 zEx{cT6fpyXjGRZJ)TzcS$7#^RQ-ul6Hthcu(!@%srUjL}wQGizRqV~!EV%FYvjS3P zdPL%qQy4Hm8b}*pk#Xo)u$3di@xekwQD{0MXpFhPGFtn$Ye%In*d>qEJM}HfMh8@Am9KIGD0L_vhKRBU^{5|dtP|c_}E1J2?;9FvzMpC z0X~R_B7DX{hYG6tLJ|sU;_Dqg@s)c4dou`mKSg%?dd`I`(qbx(Yy=KTmS~D}f`y=) z40`D_8jA43e*^dNANcr^V)WqGNQK_YIe}rvP>E%6j1ci}%7_Ak}I>d3)OyD!Pkf$XK6;dmkl*<0!~7F?mRjQrdui*5pH{%XDkIIVNVd@JiSVY8&6cQh$iGb*DkOgYV^uyq`8+1y7diA-0x@^#f4dwev?RIlF&SE!cZCW<1 zT?$gww}~30hXyDElWFT~Zf& z(e=Ph%B#-~L?5_w((LE@>-x-Zm7aAWIH_``fkLNZVAS+j7Lr`Dk9mgvm3?~k!}G%x zOunb?-M1a_(!40t5W7F3bn2UFX*$+em?;3Yxwlvof@W|qJRJx%5)|^`mCjqZ0=(9J zhQTN1vv$M5d=aJ905w`oR_UwcAKXZ>b6DbFdhed@ny)dmoSffz%j<8YebdT_wKqbZy3bxZ z)nhCzlQ!;J&FN)mS{#Jat2fqEcHP~qb2UP^v@1QE&%N#JHi#XmO%E|(j2zvye>{RG z;)R^4;CGfhz`hH=I><^B*IU_sjam{r27<4EiEp>zMESQdQ<)=!b-wG*BB{k{8|&W% z*A_lA884p$UY0kKQ40nZnPu^xN*Mr(8P>qb-QJ0FTd|Zue4QwGZI9iJe{YSpCTGka zSfsGcj`>wQrN*EHmu(Q&r!&0kZF$HVd*xRP&p*5QTS!{gSdQlikrk^B&*$yq#ol#j zb9e5(F~9^DTJ#HH%?`_zrS@4808cwCDlyT2e*He!kR(nI_zdMEa&WCQz32ep2N$9bmuU%tXb7{zKL3LPW!{x#uep|!i z)Q~1QYc4u@@mX9&I^zLaMGh`O45@$@kKsWDpeCb`UqB3Fx04rLl%If8$QN!ThyGrq z;%P+t0uH9L)uj}=c#NX48|!kotu4f#56=p(m5eyBZrJp182vg2AQ7L>!5&eYevuKRCZ>1aA)@deV*-s|m-x=8w;jbB1WTP#}?W z;*z}j%nnfSn+Ko=A_$bi3;$JFbhcwDJJS5tDSN8CIMW`LSAoi0R1pWihX-QCDm%1W zUEbeB(^;hrFR3F10w(NUNqYoscpCO)%~>UX5kya={Qls3|>mSB1mk?1;m3*V3`czMTSi+*`0hX9Uw%wRJ4bDJV1iUhn$mIpr%cG0GFX(C8MhwkB2777>hcEmUM29U&_|R3p z{9;7n=Md6Q08i*FFBR!)+V0G*mbfqg_xz}K^UETd^Xet!g4V%9)zj**Mq)BMMvnV5 zJaVu4&ASFZd8!>LwSZE&LmU>IvKu0C3O$$ZOS?JiHzl+_bpz4ntZ^@@%jYbwaZR6e zsAZ~+2%x_unpvu5HDf$521-R$6r+Sr?-Sn?!9rp(tg1tN4TE}1ZLCtBiFHN)Yt~x? zkw4H%7%Y7iCWzpIW}<}F5!5-lwa4T((wFf?dhQnErKbKOa(I`(&g06L)S$r3G(Ppj z^89z~xL??<>mi7ipVoI?U_$a@)G;mz|NQz1l-+Guc$GmvP+1$0p)f>5ruJfmzM*m_ zPo&!?y;U8J2X7V}3dtRuUg$p-N6tmYTxBxYkA*iZUKe?>^b?efclVZ$?kBR=k=@@@ z%{iDJPC^UrGVBzdeL9p@QC~;VvSh#f5gdd{Hq zEo#`p>D3$$^{#bYs^})!myHwjWCo?7U!VK%xmp4JVfuwcK*9 zsV{y_fjm>?NNc*^@TW$oW2g6hv;rAU5MRe&*M_)Kk0#XI;C+fB zSUZk@M7c|;dMX)MZ#AtMNc4*YKCr}}Yrh@*?X8Y$`_L(w8k6s$lt0oup4DsK!hx$` z`15PlW?p7o$XRSP60rb<7E5?aYgge3J;e`;;m~H9>xJtNz68AcX1djZHBh69C4-@- z_>-5yX{^WBEqLh*Jo>g)43~L-pHHse@%+#4b=;w~p=MHf<jjMJO{%FAT(gsot;uX`3DFth!86)&kxSGDJfFdadwqqWUmMmA(vv6=ali zd_rgNa(Ny8R3ELXn!2M=3hmPPIViDYl&yH{X;k5OEaR^hC?r!4c&osVmDAWx`YA4u zMMzqVqKI7M(p%^8qr7VIH+j6xur!HsSEqA+!$6LWESx&=^q-0*%^mxqZG|mvw&4N{ z)y~^@4EWiXTIi<)s>}`YjCM<@Bk9xAdVvHaRi8ytYVa8l6K-usviA3F47YpuR=p&1 z#FE;~ny|i)zL0=>kgmE5cX}-g!gzeAWHv<{Ol4Q7G_EBCl*_pya5o-aU2YApdzi6@ z_Y`TD=uNo_i6t51gyXNtP8d^4neeJiOgiFU59iCpx&NwL!GRgn^4d|Kr=wX7DU#8p z3N3k?yv|!eB;U`4F74z`eNac&Y6z{Jeey#Yo--gAuwFEn)ZVQ=Y8CioW{Ppb;h@)~ zKjtdSRX7G1IXNO48}yp=4h#Nuo$#J1N9M-p=NdFZ*arnT9m@!t+xFE3zJ3iG|kR5_xQ=a*?JTgN(9x z?@i2YKNqXwBW-G2BA1`Mh#XCsv1X*3DShldAgA$Lv)?^-(^&((`AhXfgOH&>qh(rY z$h&RV!BBtJDqBM#TKuV{p(5OI>(7_31Ums<)XW7=UfKmtr5AV^cEvUto;BWKFGG7O}4rZqP>x?9gK-sx54 zEf}{5Gq}FQMrT#5JiSS67Lf8V+5hTDRh&0B6y+ZjHJLh?GWp~2A{e;6JbbqFyJq70 zbvOI35tsQ282~!|RB(4zPj9+(bhZupJ4sx@1*>wpmdM|R&wlv&eq-}ut(|Z#ad8F{ zPQmdx^{VABr8&+mQmhCGS~f02nLTq=eS%YRY<)W^una8nzW-jLH8s0?ST9fwhO>1F zZ@LqGxtpi?CA(V!f^G$_;F@qjVlN+cN{XXuP;1PKq(K0rt!%n}`#aaTsAtaD-1uk_LvhZW+n_x2+);dSv1Z8Gc=zsiN0?qLa{JO^|Hc2tGSoWwh}UB~@9DvkDB9_$NqAS4DIMcervUoL zP^+qt*WYy-xI~TS@F=Fsi81uiHWL?rFWKymNiM4zcZfN)JQ0<*T zYSYXut1vzIJ=2lq2j|Yu23RC9!j}amLRICpi4?WJE%)7MP||R|9o&rQ!4Jc;uMeb% zQ#XIka|;Pi${b_zAv`utVmcW^a}Omnq&_a{@Z36kk6-<&&b6Q&cdIyM%LAD%b?hYC zl|=5e>EL5X3$~Tvd*#Q6sj8oZ4ZTd8E7Me_-Z3k#MHq!@-3&Dq#yBj4EdNAnehL}a zQJ%Q=7CQK>9D8B1U@O9(rkFQ@h1ienz1X-_1YUnnZl24y8<}$RQP1n)vxDmZ)L|C&?ZjZGnmZkP5rufe@$4=r zNl!?nnY!IL1B^l~46=My*2W`0ymGaVrKLl<{vL~Ohk&v-{!P12^2M+8yW;K8hNs9` zxz`7Xbdc`oZhQy>m=l;#c4#`)zi7S7ye_D~KY!e1I@{ z2MTISWhZI4;AMYbnEB+S7}0*JtUWLFW+U2=&2H&nm=V=Mf?TVWHvc41>(8bt;{UPx zP|W%1OG)xW4j4^~i*kLdMI@a;2(4#}_rWzu=hhq-58;X{QtUAdn*`c|%b+5fypF<= z^HQ=Ki0BnZrLgl-2jnKZD5}ci#gmg@ieIWWzx&D%r#Y;wy=_L`@8J6?tRx{EWiM0h zZDzQ(t-4|z^Yigv&Q`YbjJu+bgf{T?%UGh?{X7!=2lQRa3ch%3!^=?&l0uk>#khD8 zElGxg~EO6iv7B70X(%MG1a@ zfB;giLG+pkjTl-6x1hF^Bjmjh!vA)V$0BDh&s$49eUb*J2Rw04`fkhc#RL=#SjhxA zr=eSlrwn-Fg%)+MN{9rL1Fx+Lk>vM{WzIemSjHq50$`sIvP~sCRUkCh4_Ubqvrzr_ z)s$u1m6Fp}rgE&#la{K#(CXK3D3NEKeEK;k1g5q`-RPxLT+jTI zYg>NhyfPhuHwPRSG^dIvO1$#HZ6SJFiw+yA$2rkJQAdf;SW026{0Zb^)Ji{SN~JtW zhd*}GX_fPX$U!95zu|_;{Vps-zO8fa!!PVy-OoF8ceyM^)75B5uVxw(5{%iG>6Q8o zjozKje3t9qISt=Pc9K_12Tgrk%5nlNT2$#~1pd0M3t9d4oeN>+b)N6yau`RWzzQQ` za_Br7;m6*k=jK}z3j^|5w;XR!9cp_~W6EdghWv+=>Qu$n+@OWVK^O-Pp27H@QE}Bm zZET~v(bBb(Nj#P54=QnY^Mor7r_P<5p^LU1e=f?=Ki?3%I&JT$7eg!re}?bl8vVoV zoId|>^ASg(q>!8dV&imeB@t6dneem~p!&RE%?qV5&s!aYi^L{Q?8+{eeYrBgZcW?w zb=J25>cupuO*sdUl7 zEV=XMyAMbc7uG`BZvnn@flQhB@+Y@gzKCqL2TrRysfH+EB{jfAxp6TpbuHG=dd zJXxguP^x(8qvX-oM0z7G)7*en83n)0#1i2{R~#OTQleW+|IucK$^^4Po4YGFSE;!u zQePx1E|TtN8YMhm!f3xPe&u-Lt>2y!wjS=c&%xT!SHJ9-0UG>JX6sqMayySI-y^up3u-Lkb75FT^8ch0EEY~#1P~{)W1giM_mu`yL0cO{ru-#eGm&GQ& znrf7>d^NorGRs?u&eXlR`aq+RFDq;$18-&a{|*{)Q8Ssm>1+(9Fb-HudsRLBd&%+J z&hN@RgSx7&=uD-z4c1G|$q#kk2zF#eEsVZyak&U?-tEwjEE{vF&KY`pw{f>1Tuxfi z43RN$b7fx5UE=AXHtz@6JvG=VTzb|2obL8&;`hyq`D<{c%Ts139o~bXFGZU$|4;X~ zU%Bgtfd&r~Ey_+U>eVF<42o>liPMem>PEUj&j4JqaZX^HZzl4Ao3^6Nma*$1&gXqqtAF;@Ot0waVYH7ni3w+ z^yG@Xp39;777tGrtDN|odp;64RPeLN&pVtSdR89IZzL z*LC+~Y#Nu`C}#IWP6HVPgfHg4Gyp5zp|WXI%%mTS5+pn9Sv9iA&4*Lj z8rfK{Mu)v=jZ+}@NKyS+ryWQsF|^!&Y(md|rt}6|xZR~j;){b06&@d2nu6Y!*Eu}6 z;a`e6I)s=N9QiZ9^8Rs7{@3jEmyMD%``=QRCL}LbggKD1JxdMV6W*3EiBvy4)r_)R zOQWshIDe~rAi^>|c-A#CW`OXuqLgSwieK5r@g}mbXU|bk;=}D0d4k#(Wl`I84NZqsgnw^liegnxQ=Kn)K|I0j&cD7UUX)s&MF-zp-~jd4M5 zv@K6NHg$f8XeMlHw4|B(UT z>9AR$q8C6H;udJ8>q`#NU&_R0E zv$fd*(-x1(7UL+zv=3pYSlW&=gOO}&pZ-?98X98uELhnNQSmvk>P6Z?hQ*hB5Rm;% z_IW*}`=Dq-#P-*ggU653l9R%^`<-ZSQo#njFoC>J6k^V}B{f8;HlhU5^aj=cZNx5> z9sU7;i9D-_txtC{g*aaq*DLf@bW^Tol+hp|54(;ble8m^F_IK$xH!ou^6MXKKrJbm8G%Ak@_`9_Gs|2=LRQ|95r{g| zyQihNWfKFndKhoC9wUi7>qT&gi-DH5Q3Gh>0Xd{)&S!24dX5T2`uYn0u7ZU^#9zWU z3mE(vDlCT=ZlE=X6PF%iZ;LMG4U7i((n*}8^Zx^aJ19(&QS~X2tVjz z^~QyZInu41)fU~Js>KXyzcS<<`4|o!B2O+ff<`zj<>y4U^L9izf6TaUOIokI z;qFQ@6GdXk$FuYnpRZ`8sQOHLcI7|bQHnB#e;Jk0j4nPTH*CX>i&WV7m$iT5mpnYr zFhRJI6BF0v0BWq6(kuN-maYJ{^&CV~p}q|Qub3toKqua8{L}LPK8*FIYgV8&LNkwi z0z4}4u(2HKpJW`!W1xh+6&Q3h_J;4`aG3zFw|tGBY%jK*b_6*-(A<_hgRz zO92XW(Pz9K?Yv&=Hsb&IHB4B;`~FzLKQkj&75%{P7}%?q*ijkA7pkvouC@*z;^=uF zX=p1-1d;kapy*(gFa!9So3oDAq&tJPwb%6>qTC3dbw<*LXPqU$xXVK5tsZ54?%pXE z)*jiE`-~8jH*%!2j_jjASY7@E$m^4}WtpLgdJgZqsj-?qfHHQ(A6vGgwcOO@urb@D z(_ES-7P3)re7Y2Y3UJ=*9XI<8}3$N9u;G&)618I-*qva=s#+;1z+f{c;3 zjGCJ0e%GcJbj6}s0+&A*md>@ncozm~!)FcMM;Z}%cX0@Gj&}zZ(cfk&OQq0?l6lDi zzSNq29hHu>eTAg5mS60@txo)Y)T_)KNZ=4m*iiCZ_0vRdoG1MhLouvVVNcWY{}gI3 z&LkIWpbLE+!=Mrv&%Q$<$U$2_zOK7d^%HMHfwtm8WdCvxC9%)-ao*k90OW@YQ&#p#lT2x_#~M&V5np`q_fz{xvVR zr9bJLxT5k|js1?hFJq+l_DuTi)g->ZzsuIn3xfll2oTEuD0SwQEGz(0wJePBI#)rQ zO(h7M1@7V~OemyfGq+C=8f`Tqp^O@y{w~6DN}#jLy=fUL_V#1B9trE;MfhN1a?Z0= z3#J6ZJFF}7Hlo)4P^R7+KTaAspm?OWOJ=QTbh*QPM(Qod8A5}!4N@T?tdq1D`|bBh zN`cU|Ul0b>3&fLV{6B6F;Zgu3D3_J#!xW0<@r%dHF~2f~$|daQ`9g5_FEuPsink`q z2l|M0ecHc$%IM%Bsv6JCgijhw-LYXhG(j)yA11_=`}qfcCW|VUTmT|{AY(3S0ynNm zvRc?!32+~EYxJt-3|EII-{1ai!CXC7xUQMTxRUI$gyYI5M7##?{TH2Rs`i^k#7j)N zdWq0R?~c2wC8du&jrSNLG}_bnQp7Ri#{9Op2Eq28(ngbFqC z4^K!C!su=L8{E~wj<;MJn2QhEh#0utkoZAn?gLOHyQW@i94Pp_Zss$kreA^pf_4$2 zu}GF%OT8a1HDqVfbDh_dRnF+iy71NzFD+%6K1yF=z|n13^QBE+!w^byDPPC1-3^~` zW9WIH!Qc(V)Ux^MxsG~@H@T8m^U)(4pL(X+Y4d~TcO!7(zko>8s86f89EJFIf>YSO z5-4{dG8>=T7*Io$oMDrfj9HJG(*E4Q8-e}9wRee()PNM##spi^uhpTrP2loA8lzO` z_}}_R1EiVHRFMAOcijo!rJrt-YqamAq&x>G1VGtdY7g;=-u`JfqnIbbxmYMHueTke z5UV2*8#B#{WS3MJz+OjYc`i|C?{1gT%#6K(fDx6-`QSuX;r@mg156!&?i+>ABR+nr zWY$a0|2j7|VJtTD5PexOvAyPGCsm=Cj2KRM+x|S>4j>k@E`kAGz&&>~o0d0dFE|S_7BeipVRGCLayU@> zCrN+&2+sI6r|K2C20JFO6v!n2;{|T~p!byK`IKORu_CGRPIiB3AAMpx;W1v#OC(rnUwr72 zbiTj0P3Lt9{GWM@=s><5&FWtO;^L*`CCY)YndTj^521YG2GzGsV2N$;#0GLfluA+J zt|8kcw@MBKepTsGa8(ve*#2#L&lT1vg2M?l@kN#P;vC*DLO2t^P9jUea!B`Lj|v9b zy9Hbnx8mb3|>+GhMbl7#!K{?Z`WlT}!q)q`6GNU#L!b;dt9 zOoZ%X!=4}(WG(mzpjJj|;(wywevjt3%6H;NPRAW?w@}OY>2eMwUlebkkpqD>sGZx^S-Ta{eB%|Lkdx9 zvNK=c=Ahf{Br-tDgjBZwK}HPZ zQ1x2nf?fZgFWl|keASMhJ~ZadC;C%mw&seuS3}B97uft5@P!LPqgvKe@AH<610bcr zgw}0v4ugLFd9z}mM+ND61)mzSmX8&c80PX7)ME~h!M0PwS!jscEc@)%oa!Q=G# z1)$pd^?Tv>!ES`~ej;iQN*q0nf%(diT}4qgB&64rR>0YUJ$xvfc`dI>3x^Cc++=X{ z`^r2D)49z$94+3&#`1>l{s`E!?H$?OI-FDY4dkcOJKXxm>4dm#u0R?SS7D2o~N>L|sf?UFCurQ4J!K@pd~R2xCM4i_COnHs z2Ybwzqq>wrDLp9HN2V7=8#sY*L!xSUckzR8n5^#ZgWgEtD~RAgb_|BE&O>ycp+p)GB^57tifsWnoMa>}ttC^DGKZSk9=AoBd$73!1CjT7iV((I6L^YbSxgo;|*HnV6E2u%cx$J|Q&!_5%-=2 zQwS`N_ig~GgClC_ong~4(ecC+HH0Q2z1@(L-S*efXIuuXqWdJ+_vBQh{og(&&F^lH zS^zFdBF4dKUFR+u>_*TfrF<$2wL_vR3wTWl^oGNRx|ne~y}~lkJ4q>tC0G+D=aC$m zhzAle$!r}CZUO>MS^%l}Byh}42pX);73ln;@P;I~S2Hv;h!pQx`M)w5hXFSj6B7;C z5UZCnz4vPNv3q~y5e&xD94JFrnSbD-(hKd{F9n}GYe4e$--dS4+#diM+0~uLp;3TN zvo&q|q)3+Q#w{L{8oWG27j-4wj^J`JlTnZ0F}6kx?R?;`UA9$b)x-x_U(ApLT4#z8 zsEuj?@mWUj(%WQ>k7%%YI4C%9f~oD(mOR7`3sk%`xeCfQ*9;>sA!S^&X!~TH!Vbgn z38-!dF5hH@8XtD>wQ+~H`kn-N%AgU2CW5jL*v=?q)wF&{uAsmgwomI zW|yaoDkO!$H%s_+A2#+n5&oa@-ZCi8CTJ90+=4p)4Gt<)zyOKlZL^I)l z^uR-Xug@lYfxoF59aKzgCGs{_vHwZ!?~ctF%6>0D;%A|h^P0RsT5sojIpizr9tZdx zjeM4UrARttlA9-aki`t(XFbSEZT1t#6Wr)1{gUOeIbm-HURgK7lN&Bvudl8J)N+Z5 zlgi-L2a^Cb7YolE$dKz5;MXMfM9|S2lQmrV05$&4mqw+Kpa+F;0|g%#y z!b(53mn`dmNk0Vl;JvOH0~Lqt9V$=)w@#_?q%{+-pFs)*;@t*Lzarg>0VHl%5zDDC zq2(hp(&G&SDQZWbB{bDh--@A04nMxZZLZz86$W=;Cm}&}jZr;UEUu}K-5zTqd70o-nW`xcAYwMX?}d(!`M4MyI{4d^LD1b+Y0;)N|;dHYBY3_}7WPW&8} zmqT9-e4+#~2NcPm>sZ&V&`RtMI^)Y3mTJDOJFw<$tkT&PdO4IU}CK3sj%PPFy^CIsHo zqsN*i2gRP;1N(Z=_8;Fa8qCuWApnmE0}&mm0d^CTX7a}fV5cU$m%R!{-vv^B(fnga zbpTGtYt+PQ8md4YjmHLLfKs011ra1A0?deGqD0j0=#0iwV#i*AmyY9wnWkXrf{RCa z5VZ;-=+3pJA;S(d*8PhGw2F(!0pkEse+nqC1LdwAfW(u+bu8LO6!s1TK?)p#40Q2F z?}m{b(YbSKPrKPc$7;6#aNA6x|5xfN5CRS0Gk0xT>^)T^mQ z3^KZN43O`2cq@&K+2o5?QDvG)%|hVudunhF3Z%5&33;MM)O8jW^1bHQ4)H&ft-t)a znuAS)@KAv1{YnP$bA->nxg4URB@6ra_uqf350Ce>qoBt3&{9Fth`**Cz$N&wG(^3B ztJnZUJz5R=bhY2F6|oP^?G-T00JO-nZ1?841Gw}A0KX?aLr(Qk!~oT0r+|~Z?Qw!W zyLN?-rqn0+U^akG=+}!waZCw7a|6DDmM!wL6ZEID|5#nX&h7o37Kc5)v=K|YEZI+E zG%gIzef+#56(Zoinm-l~__jrNxulDWIN$r0tnPLd0j}5(fZZ5mN$?o8Ub6l0v>F8$ z!*KN#$sPRSITagWF)8UIGNhkKB>40QF4yL>U=~esqgu{tes6*c+M)f9!VTqCVnA8j zua2xZ$ojJI97$t?q^quBvT~{M95e|0D|*U__4s8wS127@TD=_p2}HXTN5S_^~ojFo-nN> z_({u+UF&69c+!7w7*LcsN#V@{a7(Le-4)vVT!FB7!;HjH8&KPf&9E=MFH~2cye@um z;P@s5LC$hQzvjs`JJQVzG4;|i31>}C?onZ24FRg=>@)HL-(N1>nXeYW^_&BJ>=fH? zB8=%=q~CAJKNIik^Q(NKpT@nXm=Gut9Wu+^gaaNvT!lSUMx;|50318P+Gmq{4EOeS zpZs~C=nyPyOyKOZ6=Z8ofJB-+t@60!hE)2$_R!+}bCh(e-&R3(cjM6`0KnR_5e)p* zC>}%m2R_S`(8luc;lk`#z_%Y?^26+Hg`YHCe}oD}W{aCy8s~Tca{1Hkfjgh^pC%@< zis%8X)2nb9{8;(}+&^_uVtu^(v#dAH7_ShZXZyMHNyEbP!Zn`^|n zA(TK|hcGj>+MD}(5_{DZ>QeENb>$$-I~X69AAt-Su<82&Br!}v9-kzuTM!s29$FG+ zCt6Pr_T+%?0rVT_AisJed~$PBf5ad*ULwn^6-s@6AJeO~Mg>}>uE@}UjgL*`w_$_t zEp2)AX0`1BLJKdOu-~z7^%9lGc{&%{x&f7b!|=J zGrX*eS&U`QTZcPC0l2)2y7y>8U4h#v49)CvjlO~W!K|OA4Z%@etf2Q2rj|L(lF%gl z?553D$%~m7-fkXXnlq5_aPKgGP3n^m75~QoL~`JpU?a_>j<{4z=+V$?c=pB*v%d?9 zdwcPFu`bNP*kIftr)!odjF$y^*&>VwFqz30wMPUCSEsL>4DxmGWh0%j0}?b$9&BH znw1QB>;#@;pEyTRujL=gsn*{N>9nw;65EzZBW?E*N^^WW-;xt%H^H3>AveTWjrg)_ z1K*^caIw|@Ubn@T^CIfoRC^B+RF97pt;2?s?3scrR=-$Mlt`>SVdEJl177?j-27>a zd#*K0MSX@1cA<#%Yz}_VOC<;M&naK^2-ySxix!&5D*Mf(c>eQTm|g zuk1SZLk$h6i`2y|eS-?=j~v3&dS_=W|8*J(D$Xm3{lPhD!0v5IxL(arfA?elbCT7{ zddFjlw)-PdLOrdH(oC2@p}I~7b&4E5=u5^gG0^q)Z=<~wQUMGEeQGl_aFmeeTNH-* zr2J>G@FYn$%QpHFmF8I`1Rn&y5rb1$!L&~2M?~yDF(KiW1OZih#s{Af9KU-@mx8MX zon^LqG-=Q!kf3IXh~U_@qw^ZInMxKAwHib5^|Z)F-+xS9(KqC%avec}309~-MF^ENs=b6LCrzlsdezHo|hPCZrh8Oy-iOtvX}-gvw5iC{sS zrRg$G$qPlf^g1^XcQskaAtJ}z7Qfre>LRvMQk22Bt_5q z#sokmYioxDmVL&QY!-siMah|OdSdNSPCfU`VZ%d`u2|R|soB>*zv;KD$s2%4LAORp zaYK@?kg@!aXQ1R!R;J_Ax5q$xdgA(kPp`0b_5(O4vV)y**Zkj0H97*C$4b=`?r?`r z=wfVFFC20eW)U2*wGU7s{5r3>_E@|!k;pXWj^8ucJTpPaWgSP|$CHKcw z#g3Ihm5{WqCuZl3coWUEjDlp$8Fu*+S*HUFb|P6d6ET}auPvs z$GHrfr#sC_hKf^xl$gMZl3$|U+E4dfmz&_Pk{!LKtS9g=5``63r4p&NAMFj$CYZig z7ou0gZ;T?39c4n)3-48~?(K^mv7g51eMHPh&d@3EUdaoCunYI?U#m4u2U3T7q`Q(DQsVr4`uUe|9Y{F!zJJ+xM zbzfnp@Ip_M7yUay&#LF(qNJ-IK?^}wzJ93250xJPBsBN zEVy}@ zf=dE?cFpcu^V|KGRkdx;nxec{7rOVFov(Ylca2o!RTiq&c=N_C`V7sXsVd(mSj7YE ztvhsD-Mtw;u*_u>Cl@rs<2-+!vcvyj`S@gWh7&{}vI$6h;v3*?hpUq>a_e|Pf%bZaTl_F}!DZf}6^$Ik_8tcNtHsUkxlS?aqoms~1VA{(Ju}Mf! zBKetPncl1I5;oJd*47;>lq1u%hmZzo2o^6d_jFrmYG0TN)e?IA)9tIh<+IzT&Q#LY z{(ij*%~8Gh9`JlBMsVW?{RfCrDcqaf3W%G83PtnJ@oH{jxlC1|BzLxL(J4~!;AE|F z*?CTE`w{>Tt8b&|bizu1SvnlKlShRPil=$cqD)vWy_J^g*~YIzrMK>U>bC zEsoBW{+{|xsWEq!@3OR1eHN4TtL{t9W}U|Bs2nN)0GYqHF4WhH^)mJ8i~gdqr@7y# zcF2N699d~U&Dp809#eoTJf#Ilp=r}mpmcUlERLdEzwyg4)RaLR4FH%p2|)uPP=<_xPW3ss4V ze~DLi%9F!g^8ui=q;zq3*Z!wITLBhBBWbq0upVMN936`y&S&sH;ezcL(BpyrM1j?}N70|osw5}?z-PYNt?5F! z$8_A9#H0J{xwyp%B++8%ZrOy4Ia?VE`M95hs%Q{hNO@OH{$VphL7#Y0^OgSECNe*~ z?Um=Iei_SUW?#F=X&1@$>7J~}a=(>Fib_5Y%c<|1+@oc$K<_J|cThM`@ zJX_=y%F*{XniR?*zlUbyOpp;N;NYa+gQ#EH0X2Do`$`G5ZxP}55e(9 zd$m}-4Jl>6G9ly$A-!ET>$g1h!yqs+it6el+@^VZmf0EAzi`0pL9V7RnjtSkLeqG9 zmn#wQrq0WY`(+i+iL~*sd(yp=5m-+ZWsM6GKG>0`!mdVu9jhspf`^;Y73E&stNtkM z+>2Z$A;T4vk=HRQ`QAU`I~bo^SIar*2s^wGG&*j+e-;q&5Sb^NSOY`h#gc$=08wAl zUi|Fi_!PG#?ZDrhQlNgO`M&KIbIH81N_oAt24y5mp>s*1OWgllGSr%7k7YFcKmthu z+1x)~ylaodko~jdtsKeS#^!=g#M|OAK_Y>?s$=sOMs~|`oq}uWk+s2F^5aOcrM~X? zB|eh7QbaC1bYytqC_H6{NozXsIqTfkPt8XW>$o)wSUHtC+7aQIuv1@e0T54X@sw(?}&tJuRjCJW)(NRba>fFp1bYH z!i<|7IAzKMz3e@p+3jZ1N4zQZD4p4hp^nBdD#<)%$r*RsCj3LL+?;CsPX=STd;@Nq z-vd~42YOo5dFB-PG#rj1w*^?3U%9DviQ4Se$x2m|V+09$<@)<(U1EUkw{F$EkUL+0 z80O5h@9FPt@m5EHe$&_V(ww#zHpqKk%b5vY#9a2%bG7$TFdlNv5#c1nn6DamR&iAO zxOZw1M3(u2-%oJB{OChD}a?mo(oxoFLaHA0W{8jg4bD%5_HhS)K_b zUe#h68GdRX8kRjH-2Y{js2b>_U{ADOl|x_MkV(vS0Q+hu$+2(%k1U&@BHl_v_eGRn zcvn99@Fh2HeK(0CteD+P%#!^M6*iMHVf1c`fl=?hNQy+@;5<<~bzAhwX4BNQ#(P6G zuPG)MQ(ry;Xw6YCZpNU5@k*TY+=oP`oDxQ)@X#w+_TpJ9?D3YHLq~2PXq`ac!|7I2 zkjC48jRUWIJUd#|F;{zqY2-9Ac}8S-0oTjIPo=ZProDr2cA5R>D{{IA_BfXxlkbY5UdsW9^t{wvj8b*6GgG zvxF~Z0X867q4KxZAk`5wjB8U zU08Q+p04nl0mf;XjW9Uz1V2xaDtbBAW8jtAU==09s|WRrF{gPu-Ex(TGKgyUkpF!x zhtV64)St`Wv);`!_$tmG0vgGW^;xG2j1H6?Ng}5Xe^T`lJq+SjKC{nR;X^VQ)Zgv` zG`4>iXje`SKl6+}nX`nYsxT&h7$?e(&tuXw)eX{4pC$7)uzJqIj@9s?l7-ylR}7 zim7e|RyEztI>!5o#`D4%lLabvalE$A9O00_;HJoK z3oD2s7Thuq-1&XoWgMvdp7)u=9hh2^Roo<|zVA9c%Yz(~I2TzqA+a~2`2 z_awKI82m{qXV&YJ&kBvE7XsKzbWSOPo|`z0zQ%xBN6SvAF};oCAylva634kqRcBmp z_~AVRWJD#C&u*9}!ef88xhDaZy4cK7^}%NvevX=JDEVJ>A(F5n0`MUW4@{PwjHN@!nMxVby$vud{kKhC^H_o+&Xuj8WlS~}< zVS3XXt*cN~#_PL>$-m`cYAY*6Jm#>7jG6-0WOhw!z;{YPq z+P0ddFG{YjdHs}(>o<>@7no39oT0SDi=2mS{Z)-e^oT6kWZ<}u=Dmo`-GeEjgidL? z=VM8j^Fjm&pT)zg%9pm-4nVH;pw!sJ4m1S+e@|Vd=9b0 zhh&ZN)>}9rU)T>HNjE<^cp8G2_y{so{ne-{$Mte6U#YEvrVRXik9%DBi<@rxNE}D2 z?Oy49P$3tpjHZblmfUP8X)r|WDc`cXPap{$eKDqrv8k^1DGYz#3&)SdWp8Va1>8ud z{fLCct_+E$+=Se0UH%tm=!{WuMF4fFC*^}u6Q@3!NPMnv!5;IpDLgMrPr=~VbuN5o zPNp~Sq&Z|!tcXI{<-}*wiZ=AHV*_ZVtFuAdHxN;ejEcR0mA6OX7{@GkBjrn)3RIU?ZL**=-bmUy_jC zwD&!8RUuF@kna5!2JHN!N>Wg@?v7!>EH0c44vS5HF=KjD+fbiBUwSRgGHi*(ZhGxd)#D;U zHMqvp^Ljnq`L17vU!OP~>J%rcOku{?AUNG1o1BGlLnw>05X~z-T725nuc)o)3zY*S z`IQ%2MVB{cqDnGDGWHN9U^?J|fz-})e_gOxx%1QOx1^Z*rj?dY>3*-~iTA%Smes(6 zqu(K_553Q)sKD!(CZ9h;$Fmrk@(eozoxVoC+j9x8bHVf940@v*!UhSaOnSL^PajZ^ zb}^*Teg35n!<&|8scSzBF`b#;-6LCj4wE1&ZJOg>1L!T#K_Vj`iO>!n=G64f?@V{X z_w8EU3`VxVyL}9(fCpLPc>2Y$bKCm2o-5?en+_mN55c}Lg*AS8pdJtE8V_W|qU4nk z4j0?x%I7dvhzKhe>>2}#-tExRp%|^gtIy5Qhrf?x2=23GwW}^}(*VPb``G6zOmXcp z8PJ;9@=h5xn$wWgg@F_-Xpcfb-AT}|eN#mB9E-4b`SCKV{@YY65CNnkHPYZ-D_!Q8 z0aGlJF!Qlt%X#7;~-htngt_I z|Ef~@_bOBs8$*M){|M=ApauoF#yHnkI{)3j<=uB0!c8Rd>VRI^jRa3 z_mJG#($p6vFim%iq7Ha-1ocByr+#@DRRYJ|?|mYL*ft6cfn(|GBk?+3m87lDVRVp3 zJ_z~RO>6Ena$pr$i;0?@LysGFX5hBL%ary+%XstOd;#rWytZ z9EbC2L_8G$v(}>o@o67tID3Iq3Yjkt`5w%kS5*vdA(Sm+zi5z?$Gt`_8@b z1a*xf4CrFCLIVZetz*#qstCy9PwT#^6qyK09jSk)Ys8$)cEo^LSUBWL1dI$44gdr=Hu>~Mf zIqRtW{$!_>;8gHv0hYadX++mX=vi~tD|+o7&K&Sdq)^1no6{$({rPPfFb#nDE*5VK68AN=K8hN&#DZ#}>c8GG8scIvtdV#uPx-%8eroV*8Yqg7@nR=ZGgy+85R(K*mm{eZkmI3pK(s#DT4L4PGp z`4fKQBniW#NM6?)twq)pMmj)n) z;I~K_7X7<;kI=t&ISzh=A1fv5)K%rbWSiq7p;P);!;#3#?NK!*0hcxz`L1hI>F&}F zYLdT@0}rlnD`^=xYJD)&mD9*jo~mBs@9mvH^$o!>R#8<9kjOe9!^!)2Os>kzn({jCqbk$tYaHR3k49j+5aR)ZS5BVH1vc;r zvq!E`$xHKK7+&Zv3m!f0sabfZr%|3ZLFj0^8b}(jNoYo9ZU~#I%0hx$>TT7w^Q4Xh z?sC}6&idA#nxorrGD!}*_87X*8Rxc&HW;A(TK&{xpxdZM1h4s>`y75mRMxvKZ3NN>h z>pt6Hnq{S21kA#1tp-MpTONa-oe=BBvmp1=wdzba^`oQ4zMD}moJ@zgTGqi>?vrN( zwyJT1M4Diqf!HKbM5;NPp_}mrj@x_6Dyzw)Mwx&lTA|Ui#a^35zxv^k#@T41DRaSrI!8x%dP4F#5;G&}6PW*9OLmrNm#KHo-;y21KX4759% zJgC_4**g35x@*HC=c17C0yW%8$(H4G|F+ADHR!ato6@*I$&U6SCr!$(k8-VPcv~b- zO1+{fel-Xd)xA9hh<@`zzPS2k6@x$Xe%}^N19LgGQF*W{9;5c8rS23+8tu^2Z%|om zgk`sBqcO24uisklgFD3P+I15;e{qn>eSW2_cn~v&`>7`(T5qHtKc;f#TQ*f{VV=P= zn-zln051FWy~F>YZ$m22d>z`TRJN#8w^?U*xA??bs>4GIUl=^5X4cI}`6ebmZ&zQp zUY}VVOkVW2XNSG%l1j&eFzKgfz7+$8*3~q`@53UV?DVeL~hB=9|JeBNWTVbTdw{4Ttn(4`Tm{PabL7pr7iF= zW4_2DQ7w=FMjjnT$B9<#N4Ri!OIR%T_JOTfX&;s*MO{cnS5Kbc$-MXU;=*PH zTO*(V=7qQcIm;u$K-;+d6(RSlCqXlcVdLF=vF?{&PmQKe>=^P0fEe68NAo&abIb@w zf_}UQJ|n!3s#+xKGO;)W8*>m2D8VESmxR4dNsQxR=o&oJg5|9y01%2QN|~Z5znmv& zn+^bwIWF=fWsm(ng&%<+O&%S7Qff3w_KW)S00*_ip4?{EDP|E7@B&ilu{`c964a&I zXsl5r>xKXz+fOrab-S=;-jnz7@S;4#1b|>0K4Ei{5;FET6$ukW0Dy2eX4wBsa`*qK z^Dj7@+q;L`q#L)7bnv46*`o=?=!G!O)9IngAf(Fkk=9%eK-R>^U zqI3fgXmHj(ga$7;4lj^i;3NJyjG|;Y5r(N*|LF`ZJn1+9o)ul_&yPPxM)1>1r2og_ znivcMLWMs<-w$F5^S`%3fS)?SGoM!^Sr)=P<^Hq+fgT$|L$72c!$N+90^!rZP5)-6 zQ;ef*=lB#1{nHi?@(p&0h5!4o;<6Pf(8+D$whQJtDfbO`!qX%W9vTb|eE(4dn$pyY zv^ZYflJTjTV)o%Q5L1BnATf#KaO2@UmHUWn1VaE4=*dneS7Fq{g-fj`27XiJ4r zu1fh4L6D3sBm4DV)|jXlos@)Qj^xaOI%UE{s(l?Z?>m2isnABwYd>D)IKscET{SfoX}Y)1O;e$I z^KUlj(qD|af?ER>Wn`m1|NMLt`I$oOefz_n#d^Q2)SD^Gp!b#)#Moc7bY$RTDc2pN;RCY@%l=+1LX~%r z*8casuO zGI9TXX;I&AX-4*a)4PrV(Dj9e+bec^7N+7i6WXKZ66UQYYO($dRk@kv&0pb1+He*b z*dri@a>16Jfa8v%hO@gM*`b^Kko?qgkBUJQ{MWMj4vfk0il5(Z-FAHhzdnEy!GvTt zzpD0nbT-1KC%BF6bxSMjrkmKTiR3KH%RhW)LI0pGz4m>&0Hrxg=%~m7Xc68xb4LRfdr=S5Pg`wJ;(EavF@v+)AswFo_Y8LwZq&=;St^r*bb=L?rIyJl2? z*9QXINT3S=s#1Ou;4}pRhCY`-zBU0dhkOe4)p!34EtP2JvNU{%%8I&ZAT!PQ^149^>~lQ1OMM_6Rn|{?Z}exbBTx~0!{JMT6;%~D zMBJ0XEm(DG}MDnz<3WAydHC4O+sbcWlN{XiF z;WeTODrWeiNq`=A=}j9;q&dE__;s6s0@IJSUwZm6jP`$VQADBogN8}@UZP1_NPGM3 zo6wL6lOBfmyv}OA_C6kVOqNX)ws-&Xf#Mh4Ao-uDChs%L(1Xdq&sCHq(D*Azy_{)#;h2uD6}Y@U3VGoq$!6O2Of=> zEJLP03%7`_#^QC|NHs%f6{d= z-*qs2@**P|VcrkpJ&XwO#WdKp9^nF#dxGYjN=K1|O^8L>Y)3~W3kkm>rR#ko1x_I0 zxqpApr09D;*ZT^oz9q!!b0JFH0_e-Ji1t%;O?();v|m28eaWvZz%SvXEEEvYr7!U# zCScbtJ_{9;UNP{C6!6Rc9qbu!Y{~rA6R@13+bstuwGJijr2wR<_JB~q{)Pq6kpliN zya=xb_xM1-{%^(qZ2T9_|K9j7od0b67ta6Q_#Zg%YX28V&=Jdj<8c-lH0`QWRWI%-{U-3ij9iXZB;vJ%gAs)|U?jON7F@c$C3(##@C z$S`eBx@KoDgwOrbMSLPJK**g$=Ou2%sY6VDC{-JJl6i8)cc>)4;LDzj5#DmW?j^=9 z>G(CgzW|(GVD0&yFnLke9~S!&K#t0rNN2dg^Bc>PqGeg2(~re zYn(SBz+Na#dgTfYgyu~n-SsB+ZEvl_Agn0M2aVK7p5M#-!Olvn1;M=h=cs&q5$--W zD4{|SoYIHlZB%jl!3Ziz4!IipXRKu@`+Dryb;K`!gQhy}V4A|6X1!EjH3EAp=eec8 z_P;Gp>3;1a!YAccQ@+G%o1)Kp%07AVF1Pt9)BK&drXGNT{wd_f!Xh_n^{>vY}jTzp{8D(xTKdH7M8;M(2U0?!2X-5%Sql7=_= z!86xY_t`3of_tl(up+{Ly0hI`yocMPb)+tZzOUW$;(1ZeP~APie}M#g!e4;u?M_;q zO*&b5^kup;{2%_gNf@ryT6(4V#tCZ@mi2(^*4dl#FBmI+V%`6S--v~fO_r6 zrFu@N$-h0kko=Kpcjto?;uDOuZ`YOeT?_%Xy#4F(4K?II@JDirx}qkk6yramF(T4~ z3Oy76>%Md?LgUHn2!>w}EK)c__I6G4_gJeQ_DGbX|96Bnmv}3(ltR10lVR8QOZRSV zSqWF>64zCs;@JE7&K;^du=6$$_3=Q$0xc}|U-nOu%@)_xt;tWe&Eww^m6^Z%WfJM?dVoyBa;_&rv+6!G!&R}-Lywvi0oaDwJ-jx<+my@W(I^q zO8)OyZ~kguS~HtJH5~Ans`&B?>T4kFN2jIutU0FLK7+H0aw zX?H?@`@?8_*RxSy;h_W8U0ziUnS91X#RG66yN%qYF3V#A7R9TxVgOphkB=jWpY70+ zo#2KT8E64080sI*=bhS|7l;Bna6!X?hnEK6Azy|0$iCJ8Ke12#U#asZbnL-6PUzyV Py{Ig&Ay+5!D&l_ubjN^) diff --git a/src/public/modules/core/img/landing/restricted__3-NEA.png b/src/public/modules/core/img/landing/restricted__3-NEA.png deleted file mode 100644 index fc756434b841e3811bbd1872f9494d35c773e7aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154777 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 diff --git a/src/public/modules/core/img/landing/restricted__7-MFA.png b/src/public/modules/core/img/landing/restricted__7-MFA.png deleted file mode 100644 index 3683321fe6ce412300d58130eaa08d544a654e6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56551 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�MB~h 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%0AZjZ+z2TK2|%L+VSyox zg$e!xjcEP{8kX|~8Upl(-C;TZ@G>;<3-tf5nWjnIN% zxR=?dBs}@yoNm4+llouyq(K!k9M z=5Q^#8payUuc-}xR$h*G#2mwi4^xLOOP)YA<0-rdpO8u zU_|0!^@dtob(t)RV3@m8+(LP&VHtgAF%E2PQhg1r^+GF5ut3J!Kt*|(+udPHdJT+h zmv_YLA&<5{>T*d%Q_DYfX&ExQ3>~8dCv|RAXTd`JC|P(e%3gC%bR3R9h73HKbvy(# z1Y=qy{%MSnDK|TPUP#;L&gFDHJ~r*%lhBxvT$tb1t)?;yBdE9Ix0}b+D;Gw2+U&!n zDPQ^JT6Lji!hV9Pl%+SlgvUOQZHrxpaj_p_+WToo^-6m5{+*wV+C=OJG6G{$@5jx3 z)1igJhqGTSIreS_tdT<{-D96!=v-7sWV1^v&M#zuqa)Ab%AOC-b>yN)292#N_bwFC zXNIo#6W53TL3Oj{W;6l+#8$}Q5306Bg_+P$1!2CaPM{*dFQrOS?U*zttj!{1c?UBol)Ad?tZl|{-0KBLJ+m11S&4Mq22A@ zAq8b@iQT#OigzUN5{R!k+_%lQ|WQ$H^rQ&c&HPmt#+0^qf+Ngo)$*fm() zalqEuQ|4veOlMF^sd|YW@)vyh4bzI?dTAjc5BTKKS4ej~|%9UqXyX1u0NpS*JV0 zIra6AMHn44|DDdcHUf<4>ow8U%G%rz=9>cEJShX7+cuC&j z;t0Z&G4r}2=KrUE4q_jkH)epxd1pXt8wd8_z`()Amnctjw^=gqH$O|_uZ!GXc>kh( zt9~A*XT+6qKu@vWTMnr4&hiyCzp=i)XT1YAh3MSJXK5gX0=_8W!d@{87V;mVn~Kob z8*mzHbCr_(f2Z$AQ@AjU(iK^tPxrzr=DzjSh&enTCw`*ipt z;75)qwrGL%LL)7RA|p2&JkxB~&iYNw6uD}r?{z@xn> zb?!i^Ye#YrXJCcy0~UB9!#5hTu)Y@7d;Mj-t=;bZU1e)l6^27^y+{J4a_?d4sI&u=WOcoVg40woLLG2jr=E; zE6X0ni`E{`V>jK$X2Ub5_MS#-kIh}KBAbWzVPRpF`G>#yw7RN|wpC9LuEWAkdt?p> z`FxhOo_MZ!{-xlv>+Pu_sVKxY-WHs}z2jz40=5`a@JPh_IBSQ+9bbPk525(DXBtFhCF>nv5q8 zV*COLT{^j*9mYhel1RT2HamZYro@B=p0GB;baZc6-aMgjs&>3*jWx^jljAOfLWP*f zgb)*%6=Dw>Ky2rqkkn5oc!=%%KQI0_qh#T~;N8~`QgrUW!~6fd_+N~x6oS9J{x52Q znQw)ZTEA>NT68O@n%bPAL)O5G!SRthw&olhs_;}mp_cWm><;&?d_0*bP>~Z;2;a{a znbrWPL=8YfNW~0GTN(1BC3iJiQ(&ci>b)gsE^5L`;wbrMf0f2K>{yD^^f{CH_n08r z=cv$SZZ!+@h2Uigju?#r6U}>5T^*xF96ukpC7$yPXU-cu#8-i=AS}`Te)6mQv)jFu zH4)jLwpIL7KuSdgk`wL`Wj&n@a~y9XUCMVglsmCw=ljl_$GFPwTo5#uO!le1*E>$uwcksoX|F#TD_K=gS%3iZj#b?+SPuu==FeUy6A_6jmC$fcn$b7sV%x%MJ~zYvFR zpC%4bEg48vF~Yeo5p0Xbw=`?e_3@|n=ObJ6;sf{4b8<4{bA6FONq<_R8^X^uQ6 zMlt5+r{P;{Awvg5VRriFQL?&R39r5R?ecTej$wMIrr`&TK`&dWPE-9S&4j(Avia!x z&pY-x)6Bi4BUdrdse4T}_9wmjEE8m6)jGt^Ke5i+@48DeHp|y!jNnjpS3sxovg;!k ziiVc7Fc?!CCwlJ>Gwk>G?HFkfdzco9d7+SOb{#2xf!744q{C?D{bmJpVYKVnGos5> zQXCpK$K~K7z{8TF{#79TYsbvkr>}rx3QxjZG+xHv-8d-DS=U5oqBQRlOAYb0HBsmbMcMv}%AkPd%viufM!-mV){JHmk638_ z?)-3DH~IOUEW&_#bZTqYcC!bY)#g@#odXZ2-@9n!Akk#Wv}A?LRxFe5F&id;@@a)4 z&#n!-VoC3M5TQ43Ta1k*XRC{Y(^zsdA2!`BPtLd6fX?%EHn@S%{P_Cej!lqTweV0Q z&dgRKVOzOcv`j$$uW_4RSc2hOg*}HD?k_@?ozS0aNGVO!@GkbfY1fT!5dY;@0NN+2 z&-tyXx=k~BG&1dztgXFK*U0=wmKAz8qW)P|jF=K}AtJtS=C2im5zQS-DNw)0Z@*PC zx+ap7|KcF~L&&}d{{ArCHYhM)&47y(z05{V)({xHq|U5mF3o9pu5Net81Hj-Ol8|uJH^OMAWvkz`o z6Kteofo5k`15Oxm3)es8_4$qXJpI zCtY#_Flk^c_(tnr4}7RiE{f;9$1;B61#g`yMGnCtr&${8DX{T3u%{{81Hs55?CT1w zAAkCu)qu<%TbS+}3K6xBLlJlFL6oJlo8)|4`V@gyDZ{Su4yl(b7J)#yd&n-H3CH z?)2#sF3W8JhuUzcOx#Kkt0Qp*nd(yqhO?-bV-isI(^ zt#8c%b}5MbU094JKsj`8dUF^dDdE@uu5LchS<)B;{e``jQU7j*1sn1@ZI3EO7(C>a zjiw@6**0~nLLrnLr9r`FuuaIKI6vj75MkZ}k@zRl9RhM4QCTo!G}xNS7=j5r23`z;KAoJ)O$o zk{Q)zvLqDaBK4qn`2>Ao*)f!F9Yw6IfbEyLMZoOx_llI&gnYP1!+WBC1oKUZs=P8P zY*SfPReJWMlj^N5nF?X;QJCF~Y2H9IhCZ~``GE4ndPTo=s`t&T?-9$7Lh0*`Aaz>O zq2E!Fn~EcKIDHvV4r^VsFo#m!;h&;ZGHrs`PhwEb zTrlSDpCr!3E;;@Rk}g>yWbAg7U#Y=53snw{ISSw3X}|lpXL{jUzy@Wi)~g4ca7sYD zrbmMs>g`Z~lxgvYp3$xvcqVlq{9yt_K&Mq-cy|!z&OdxKnh7I_wlh;}3Po5!35pu> zMI2j03{>J%F@Z90hN%|LWhVd&)VvPSnN`(eu96JQK)Qs!8(oxZ9Qm@jG_4B!#de86 zyq%DWn@h1AK;El==LSoG_;;8A2x%bd)M9pAjPk&)osXm&9<&qJYN0D7TlUA#mhThLrwS= ztH0_3{UA8FYY-_8T@n--hKVRsY)BPIM>}z3Vsg*(MxA#Bp7VH0ZA*)Cw)H^)?n18j zMjIG#G>Su`{x*F!wfYUHkN!>pFx>1l`-Fzf5dkx&L)+Pt*KA{A)1%}wd;!gu1sx_N z55uQKibLb+cKWe~kg;0~uKn_iDSF>RnB?<%k@?T&|0vOdp4&H<1*vXpu7Jlm$f@Ec z_;9s|VFah=j#TxddFZ*&^sO*6vwEB__^?ib)(<=&7H@ix?YPs?vn1nyKHNnwC&;gU zzZ<7nGen$z=)f>uCsT96)*e<>c;295pO9CE!*%qpM9bh5>D}{1lthKigXXI{qe{n+ zI|jDH*7$r90-fjU0qd6u!3MTkbXdAWh-@M`XFY;CN2soY$2N zdlSI0=}tX}K@qKP#V6&$a?spb>xn`vmePs+Y zyimxgj|t`?nxn&oedmU>gFpnny(;$AyQhXp^*YCmcBYDCAeO4Zi$5-%MS+=HovaYw z)<6%9rEs_r3Md`LbNYC}fw0%`xBxoA`a2F{Ror*ehzW_>S>@1mKICL9fV+P2a9+Zd+9II-(`-TGx+SH~Nh{zqrWk!$F=-2u6G z>y+kJ0A8WtpXLHstKiD1-=zyuZL{vNey#1|`Un?_Wg*v&4zxjUuw3SPJALayG^6+u zth7hp7ubFDCDs$sHh7;D|7vzrx;{(p267?BAL|lun2z)6qdipQIUW`12PfHThuw*B z>p}PmZD*>5I)|huE@zPzUsKa4M8C!Lbn+M-I0&1}-91*vY&jiTNp2mAr$r3pzju}Q ziPFwH=L2Pn1SV?9Pp{*t4gX+*2MIoBxAhM>q-M@*@$aSVmGu);-b~&T$DH5#=FL)L z6?tgs#LQ=%udR&Ykl@2}3ODZX*~?C}FAb^_DP@5_~gh~S9r zkA?GjJaPYu8<($dHAtX<+WhYajyJ+o%@uu>dWW|RoF#v+_&hnmq$>GDN->;maKqPR zC=EYJUJhhbLN@)v&!RfF2#?M{vD^;{WVO>31YnT!vsms-^xNHEu}HxB%rH8nUL7Dw z+|fb6TP0)^7_DZMVn>!Qp-y1p4h1~UnK-N4TLofLA@o3qi7WxJKEFV-v`Z8OrJ5`m z1`kfjhYdY!F8aZ1Ekwi-oPDy`Zw7c(@qjEUfm;i84GW+NnzAEwRU1tb16izZgN;tqKC4s9;rrU2mG5_~+d< zt$W^}$Amh-QGv3$Bm9ufSzluqvrmSS|VTzV~q)+};n+eD?)Z~fqT`||*UW^c_=4{jF-&czFGy0T7&XW3L>!{1V zh|%e@GdmX_23>%CAvxK*q@J^{dxvgOsUOSw#|~~jvq?HW$VnR$LbkAXCUiE z@F)v>qS(*KgRcuYB)8~t9|i~ROSMzi3hG#A!I$WjZ+-1w)IN_NLujw)BBAsnA;GdAr zN#bd&FPu+J?^wYrLLsFV%gR_SkS*$UMkQx)p?$^HU1j*TgKM!Bd=SN<%AbkqkzLaJ zMDA@2FkBD3aImm2V!3U|p+;8|(Q~X>#?HfFNK{s@0Z{cN{s0HaobG_PGI+ z_Fnn%;DN&9OQb(5CafYSa#aNSd@jobZ}5hXooC6-$`DJ_ZAWm*N9 zukRBihd*ZEhR=G!sUTw0aE@t_`>OQ$B9>jaB3)88>#L6~iP0%w=|MVW-wfh}gZlBA zJnYY*b=GBR*O5yOh#SuLogR9wf0Od>m4jy`XW@gsY|NF=8SCG3dSD}bH9(_pH20d)U z33MSBl>Bs>m*@IC8c7QUOH7&UJXzt5F$U`kgxT;&w<63k<^({l4rvr9<9fJ*C5CwW z^6otg4ZRO@P@w$aZ>nJs#35b7!kT$HH6Y$0;C4<+6mxv4kG6n#^$3IIynbaJk9@6o zwK3=p{o?I=@$&uge84~^^MCdB{m%=i|6M5AF+)HPd~wf0x#S=jJbk8zJ;{RH$^zo= zLnlRnkc1Vg*_1u@PDL#nY9I;<%GYzYR17aLn-wbO2~_eKK3-R~0j9^G0==X&5T#Ch zxy$UtZ_0eai75RXR{w$alml}0i`7f=!~cE!f8Ch>^WwkwR{s~G#8(&r;xzw@>;JNh z{=fVpyD{DIh`gCF%=mft@a_!&G7GybwU9bpU2Zn?dgsR@LAe}Qh{))2EKrg8^+?s5 zJusiJHHAs@B0BUA7IhVfwMqI`8|hNGMp;LeSQXggPkjmBZ_p415~H?3ArY6fOu|x= z1C6MA6+L{z5Ykg_u%vK=joW*we-o3=8F9}IcT8;fkkv5SY>^Ax_te-;aN~*_UY@is z;uH&wj}MpYMa_nP|E7J>2mK=CAh{P2hssvvvmlx@{X+z&tS42-V~7Zby|Aa>`>5{t zL6*C{>HdN#Yqalq0aD@UpKr?di@x*lqiHqWPVLtRZEtVKh~KF|*2|x~4UFwxY-o3j z;+Nkq_ewlLN?*O?4grB7%O9umv6LEX&D^K9Jmx$FNxi);saC~p-?d2pg8LWf*^8AA z%O*7Z5ZJD|hk%VB41Y-7FvW6t?-x&aG`t&+<6+gjMVkAb zrj16zDxav*6~A+IErnM%|6A9Ga{aZt?4e;6jdBXx4-_NmwEkzErAxgu!zEFhg3;5v z24XFsc4gil$7Cj=XCa!i6pQ1{f2XmJQAk^V9#@o6U`ZHUWEx_&(cHR|i+X&!F;a0S z#W^>?WksK7r&aX(^VT>Xl~%_4+tiDbv(<$St4Vz4tSY%OF_ycv6k==ddXJR&X0$1p zFPVewI*0EX-`#N656gh#-kd&xOowxPw_kiQV7gUu~^AFCJXfi4I#uM8gdS`%m7R|FG z=Y8rn?PXR**x8Gqjt1J+oluQpq;@lIz7L#nwcB1Po!sZaag4OZbLlf&}IzH`yd{!$W6^{I}wrnE2g)X)(xB9O*YE{!QI2L z_>o0fx-544_^}}S;ir^>c~K^Anx*s>hHf8moLMKSZSB_Mk1{a-Um_%b!0OJD5TKyw zk0+j^F-*r-ksB>`S$g+1e2h2m!=wQ%PWB#q9_q}`M#>{8*qUMsrQu5JMRO+P9ebCR z%hHU|ZEIPTg@+zpOPk9D4Yv>+m_`kbwFkcP&{@4z7GV%?Z#~+LUOD)(pB^b@yJ+aJ zrF3ikt)tI+{L8c{c_fovM$3EXS0kd#STcId!i&qp3DxTxUxC+}jr>trFmoSj zyQm)>fyQxUpDa^!GiJ_lqYy3{*3p>fH1)7Ff{D)frltK-xyVsreTpzHKF8 zKeRGT!|8*Jr__W&2ywEhsi71<&!F!re?obuatAcvSl?p%Q<< z`YMs`Ttv4j4$$@S)CPX}aLQwMzU13B9EP&UkcyO#r}@xa?Mr?KSS%QZc4t~8EbFv@ znJ>7;*5COL7Hvi;6druH!U?3)=vmM*kOi0#cMk8l;VzP!b_{B(?w5SMRX2ojXY;=; zmULD=F@iFpDZrB6K*x}Hrv)YI;VMmw5AA=Y4|*#(c#;gRs%{XsrIQmNek&YDNSbS0mg|lj!2A9n><^K4qn|`pE9Rk%q3HW9#&|yoIHL`+W zgyEd_w|!l->NzFLo**?~<$|onhBTgqv6xZKE$T5*rY->GZXC{%zg~3Ji_(D%qO~Se zPf)B=Gl?R7P8jaO^3#bia62JOsF%6WGne;i50WxPOO<3fAF`3wfNYi#L;zpIqSH_i zCaCV41i5kdj{r_mhl%X7@D%OrYpUJh2Cr6T+YLW|HRFEN1=^bQ=w2r3rmmNJGl80| zbzz+@!aV1n2nrd|cfN(uv`?oc{YB)6iD?*#$_>Lh8+Ms?i-R0fB@ZY^a$|NTK07TA z@HllZU{*|)S9rFqlBz980JfSg>a>_eNNwWS#HrQQA_ND`Fts+g%vM3lZ2vPXA#>vF zQyS?_yk0T2(O5fDEdI!m{38|^_eCq+`pv0*B^4}qg(W;Sr6y#K>zGyo0{=U*;nGYL z^S2mG;yl7y@qMWAl3X}?gy3R7&t1p3+}f0!(+*@NNM6LB74P-c_;ly@;&x|OmnI7h z^xVydPRo9E9%Hlij1*iwH1oT!Qzq=w+{B~n&5RLmt9zWZ9J|McB(bBmdw1x~<{y7) zs6Uf}DUge(cxDH;dwFn_;~nT1@=G z`F`=EFN98YRIKxMi4Dy9mQ|;atGL^YrBAI{E$f!Td%ykC$mOUJfb{c6E^I}=h2a`t zWT2OwYD0-vJ?KuPciz18&2t!5q~1ztY5j(}qx?;Pt;hWv`|y3_?$L|r&O1xA9?b6j zAns6uJhtYGzQuLS{>$LZZ|-zB`qb8m7epFjZt4s=&%QC!Bu-KcZGi3cg7Ob*z z*Vk@fReq%uSarWDaQ`UoU2c8M;d8lh_4{=;`>Vt*)b2n1J8-I|-LiLEUg|Rb-MRQ> zPMPy@3;hdD5I678d|Dd2eRiVIDa+aOuPm_dHns|*WtjtBKdeQm4h z-|J_bCAn&rzM%O(HNDe!FMnV6Tk~pxOn1EX9@$k%A2+=5mu{SO@c6X@52I%-o&4eT z>TvC(t@qU9-)OBq&CUMj*W9&+KfT&^9N#GqoD7P&{@MCEaGT-!qPDz#>dhsILzBAKaujPkuqsw%g?a~YDmW1YCwO$&~SQlW^`8M2n?*X>L z-Fb(SKiwcYWRQz-@Y()YZBc|JQTt-anbX`mlR+P4SDCG(K~t zrG9&_X1V^lYW&O3ZQsw6jJ~q=tUq=ZdCzN}ob`XzQGJ{JTz%L6U(b`h1zecJD3bc> zKs@IRQHvwK>@Pe|y!2f*HFr9ffP0fd<@x&mkAXczX5RCs&K(zvm;7$}yLk8WHFwq* wUNZ{|mn*!rI{f;cqxYHN-5An)85PW;cNYJ>vrusvFlZP&UHx3vIVCg!04^fvUjP6A diff --git a/src/public/modules/core/img/landing/restricted__8-IPOS.png b/src/public/modules/core/img/landing/restricted__8-IPOS.png deleted file mode 100644 index dbf458c3076637999e485dc2cd6b4d68c05f91aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47885 zcmd?Pbx>4&8$Y}v3W|V~G>C*W(hW=ZBHf@O9n#%`NJ~pMNK1Ej?gG*!z0@MGbnI_Y z@B5kOooD8qdH;H6erM*u?%6%x@0FkHb6sacUV~&XACo)=005YBvXZI*00s~Mc+if1 zA9>}7LUiwig$-ZXTeBqyt(sgp;bDOp)b=>mb^U}ZyGo}HZE3iAsL^!KkoFAfh6nO@RMiAzAC zP;n8_`T6;o>FM2_oi9;Q4fPGCa6xZd2B{mh)zzb; zqq*5RWk0X?kFJ{5uP?L6${nS2WMxl0sIq6ydnXRB%ZU)}II=R<_SQBA0kbkXDHf(? zX?jv?r-+I!m`UzD0fm`suAW=rGQg|oHm>N&g1#c54LUIj-HMdEtWcZy;aN^KCB#FPp^WG7J67jx0<*omc#|X z?WoQ(jV_C%WiH z<^h1ZAvsAgbvMJkDSk}9*Z2Uj>nrc+Ep+tEOghe!$1^sFCjh|t2=G3@&;KC+a32!@ zct`>OJmCTW-elebwEzF;1HXa##;FVKNtyL#Qvi`U!1ffD#~od>e084Fb4-F?^Z8pG zeL})ZA(*=7TqgASLuDMCA7T;`Y$%{wj49GDX|C^L4>_uy#E3o5dg&j2#S&-HBygm! zA=g+WloIKB+kbcin!d{B_KyAis!cXIZ1cei(x@EK_JZu0QBz5pNK zSC0@W5|V`21)~?>Mu@Z9o{#wPxOv@*cPVjU-5<*wqiZDu08o*JCt{ZJ{h1`Xe>|hv zUB%@o(%9Bq-+C+Sb$hOJda@gl3h5L@xHcZA&b+BsANRM-R;$^H86g=H0&ULaeQ$dD z`Es>)@#UC$Hy-mP228!h3>@@1wMA<`mm~<-`0h}W{?PRv;Q5_%$LTj>z~cLM?N!Yg zW)8we`c_vLY^o5W59^<94-iQ(ftR(pq-m%2`PMF9oeV*nCp(H*R-&1@j;4XnR1)2n&kw1##5V)fu20Ei45fXQ(kr_OQMt$j;9O-9gcl8~1O{{{V3 z2_v-abGeb6xG$lLtT`htoVRmQf4{whz1c9#gwL@!saPJ9JgXM_s2+cPKyga4YKPiA z;WYWG=5-Vo{Gc=#@JDu2#neXg%^-zDhR+y*l=t1w6)$xd%x8_-9w%E%h5M`4%iIQ`D4RKNcF;%ZPw zENJ%1P_ymfE{ECPBgDKYBkFGx_;rl47bm{dUA*w2pjb2rH#|m)XacwiEfM!c$SefB zgjkq5kEi!|2(68i({#1&k23d=m7T~OjoZpHCw?aBK|0FM?;&!niGsx-pH{LoFFqBe z%<^(JR@?XM7@ckEk8U&=&9{1)HnU-dBi+9)OJ7Zy^1VJJ>aKawVawfhsFyn6F#Enm zkG=K6*8ER&p(Jae!L#x+(z-gn!jBz+zFx4cu%W9frhyyYafmNYQGn02*+h|4mTr~9 zlQt7z)e~azX$%Vc(l;-(ma1{Gy;QymmlaU+94Y|-Pay!njQ

lOi4jw9HDkP+*gf!&y5YCC^| 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

;tzV^+P| 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 diff --git a/src/public/modules/core/img/landing/restricted__build-demo.png b/src/public/modules/core/img/landing/restricted__build-demo.png deleted file mode 100644 index 00d5e1387b38f4fcc0259098178c20f3752d90e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64661 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 diff --git a/src/public/modules/core/img/landing/restricted__feature1.png b/src/public/modules/core/img/landing/restricted__feature1.png deleted file mode 100644 index 33273419e0ce35f55464f68a715e205cf82262f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28496 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 diff --git a/src/public/modules/core/img/landing/restricted__feature2.png b/src/public/modules/core/img/landing/restricted__feature2.png deleted file mode 100644 index 2f56a95824c1ac4b4a9568a5807a6807a2a0d761..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36426 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 diff --git a/src/public/modules/core/img/landing/restricted__feature3.png b/src/public/modules/core/img/landing/restricted__feature3.png deleted file mode 100644 index ea1b113e4dbb4b6e5fe67342a0ec8a063b3488f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24742 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

RMD~( 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 diff --git a/src/public/modules/core/img/landing/restricted__img-buildshare.svg b/src/public/modules/core/img/landing/restricted__img-buildshare.svg deleted file mode 100644 index 34c044e9cb..0000000000 --- a/src/public/modules/core/img/landing/restricted__img-buildshare.svg +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/landing/restricted__img-email-mode.svg b/src/public/modules/core/img/landing/restricted__img-email-mode.svg deleted file mode 100644 index 0ed49f87bb..0000000000 --- a/src/public/modules/core/img/landing/restricted__img-email-mode.svg +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/landing/restricted__img-excel.svg b/src/public/modules/core/img/landing/restricted__img-excel.svg deleted file mode 100644 index b7ef9dc3db..0000000000 --- a/src/public/modules/core/img/landing/restricted__img-excel.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/landing/restricted__img-login.svg b/src/public/modules/core/img/landing/restricted__img-login.svg deleted file mode 100644 index df86267347..0000000000 --- a/src/public/modules/core/img/landing/restricted__img-login.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/landing/restricted__img-responses-email.svg b/src/public/modules/core/img/landing/restricted__img-responses-email.svg deleted file mode 100644 index f8d670a6b5..0000000000 --- a/src/public/modules/core/img/landing/restricted__img-responses-email.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/landing/restricted__img-secretkey.svg b/src/public/modules/core/img/landing/restricted__img-secretkey.svg deleted file mode 100644 index fa562c797a..0000000000 --- a/src/public/modules/core/img/landing/restricted__img-secretkey.svg +++ /dev/null @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/landing/restricted__img-storagemode.svg b/src/public/modules/core/img/landing/restricted__img-storagemode.svg deleted file mode 100644 index 298fa8a3f6..0000000000 --- a/src/public/modules/core/img/landing/restricted__img-storagemode.svg +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/logo-horizontal-color.svg b/src/public/modules/core/img/logo-horizontal-color.svg deleted file mode 100644 index 32054b6af2..0000000000 --- a/src/public/modules/core/img/logo-horizontal-color.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/logo-horizontal-dark.svg b/src/public/modules/core/img/logo-horizontal-dark.svg deleted file mode 100644 index 7d2172376c..0000000000 --- a/src/public/modules/core/img/logo-horizontal-dark.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/logo-horizontal-light.svg b/src/public/modules/core/img/logo-horizontal-light.svg deleted file mode 100644 index fa888443fc..0000000000 --- a/src/public/modules/core/img/logo-horizontal-light.svg +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/logo-logomark-color.svg b/src/public/modules/core/img/logo-logomark-color.svg deleted file mode 100644 index 8942d530eb..0000000000 --- a/src/public/modules/core/img/logo-logomark-color.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/public/modules/core/img/logo-logomark-dark.svg b/src/public/modules/core/img/logo-logomark-dark.svg deleted file mode 100644 index 7a5f8e186a..0000000000 --- a/src/public/modules/core/img/logo-logomark-dark.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/public/modules/core/img/logo-logomark-light.svg b/src/public/modules/core/img/logo-logomark-light.svg deleted file mode 100644 index c1d3fdc19c..0000000000 --- a/src/public/modules/core/img/logo-logomark-light.svg +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/public/modules/core/img/logo-vertical-color.svg b/src/public/modules/core/img/logo-vertical-color.svg deleted file mode 100644 index cccaee948f..0000000000 --- a/src/public/modules/core/img/logo-vertical-color.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/logo-vertical-dark.svg b/src/public/modules/core/img/logo-vertical-dark.svg deleted file mode 100644 index f49618cd68..0000000000 --- a/src/public/modules/core/img/logo-vertical-dark.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/logo-vertical-light.svg b/src/public/modules/core/img/logo-vertical-light.svg deleted file mode 100644 index e1192d246a..0000000000 --- a/src/public/modules/core/img/logo-vertical-light.svg +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/logomark.ico b/src/public/modules/core/img/logomark.ico deleted file mode 100644 index 3ce52612517c3692466a24fcef7d69f56680a38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100864 zcmeI5aZnW39mn@t7AUR4l+M&TYOp3&t;)5gO_&5l$BZ~_qm!md(>MYtk~T3#6GJnm zh0~6rX_M*1OcP5qf3%t4ftZ92jU{5n7BL7%Gab?>B8n6`#&V?;MUlJyR?r-Ga=@MN zuLTyS=Ymc$;CQu8=Jg`pa>K@$U^bBTine@B5K#`^pxZv3=#e%O=E3j*+jPusn6? zeb%QIqOD!8da_XV8S&8arHk)>=J>xpI{4g)?@h@+?auz`H-EW#%jAOem2Z~D{ddmV z%A?>*NDczM;y!+7hwF?p-ZLKfOuIT>f+OA3IQ*91AKVx14Z#LG{xYK%{KCm(R z@pIF>=O4*w%isU*I}acDN9GGp-CcfH&xO5diTkGIUTCjBoAlZCyyU9=yY|Pv*Y)Ru z`W@eIY3;~uZC=~@cBkjjtk!io&-S<)J7Y^u_GEOu^xcMuRpm)F8LbPA{PK^Zik7`~ zIA{Gcw|}vrrv06b)w8E&-Suv_`vcFVV>{~devq7XTb>a&Q?sA4hm#$Z6RX^9_B$3d z^255#6{m+&fkqN!xsp~3ml1lc z!+-b>|MlX$@7cnC_z(Ym8KKuY{D=SWUoX!4o-O=`|M1_J5qhob&i`Gt=IXsIkxNvd zxFu?y>S)uw{eOSVY%V%uHY&i0;uiB|+F$M5AN{BQ zuOJ5Sf5qBwjXR>3ij`OGeRmHxwU*aGB4-lj=E}(ztANr@R|Fhd=etmCCjlM;zQ0qyc$p*|FnOov2Sfh{D&9*2Jx@9|5phA;XnQ#Y7C(N z=zmx>fdAot5(CPvf8hTi=f3p+$$#+wu-wluHWfuw2t2AFn&E|zrP~05(LERdA zOvw15J?iCEQ!4}>RjAzXmF^=svo3^!_n(^mANe2OABGP5ZwgXp926+KPo{eHd~43G zDwJ~mv_J6=|5e2R`iK7GfB3(m7@+?{|Cjzh`49P@q8On6NB>We_giBw_&@%S|0~jd zYs>-tNB_}(@_$7!fdAwF_&@%yZT@dfpRk^Zb0c4^C&Khi%NXykeMhPDZ|gY`c0sz} z+H)dqm4e?Qa|HJY{yJLN>WuuH-!5-xQI5M#FlzH0_hKu0Q68Pz8$B)bdua)~5tA_)*@A>V(BMkn|XdnNcQzM$keLDEj27b!% z2j?&K9~d*f?+`!4kI!=!(4QNe3!p!~Y7@AQ{-8fP>yO-DKs70y#;kDUKtXp?Jp=Ag*5N9?>Wp-JEg z74JXx)t;k|&%Hh#n|n#}i?cy+L~_ukaPrWaw4nXap~e7?v485H_zQlmG+6z>KlEpi zF{Gii*ZLg&RqTJ(Fiju~YXoLE@XKaKUbMz3tYL`+!L@OU2r2k2k|$YX6z;(w;{ey$ z>XR?&-)_)x2HD>H5PKc?ljS<){{ihA BI8^`u diff --git a/src/public/modules/core/img/og/img_metatag.png b/src/public/modules/core/img/og/img_metatag.png deleted file mode 100644 index ec612f58a8348a6fbcda344dd3c8f8d7bd676778..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26891 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 diff --git a/src/public/modules/core/img/og/logo-vertical-color.png b/src/public/modules/core/img/og/logo-vertical-color.png deleted file mode 100644 index e3a687fb666470cf0dd2932a7df641709dcd7674..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4429 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

  • sk|blSTTb-0w(73sRiCUI25(FKik z5OB)V&B_a>`<)*tl-U=t9wsXho$k^I6mm#jfE06jVbeuzoy`K!iI1jsN6Ef*HpkCp zVzU<03VMBh%%lR(mFfgZC$QJv(A&(#e(CLrh1FwOLO_7WQJVqMZ{=*Qu`ONd@ zw|I*2I`85d4ih)dKyph$I^VwFTyjshFMtO81SK#n(f@XMIJ#5%=Z}1rg4hhkOBiBa zbNTvg^@dS!QK>K!b>=R@CFr*L#^B?4Bs{VKPgKlIoY$7;S%*jRMoUO(tywKL{+tqIUd2(*K_&`uwAx-sZzmND_Uk0k8b@y4r})iqg93|6Y<|CfRgBwv0c{`Y@5cpzeJ6#M*{P0z?l2|&bDW%fS%orwI) z&>OLe%A}}>cIGF>X6zo@|7x2#+ZN$f|HdK)AuU3VgV;SWDDCQ|4>GOwI)3cnd8W&O zrfX=3Rr)00e?CCiIml7EBs}a~961~_z)H}HyI-YS?(e1s|L^1?Zpam;*$v-DBePy& z2`UP821{WkBsS*|VE<`&kb08^qQ-ru@&W_N3^MDf{Oj^ab)~mV6G7~^7u;0o5@RWN zQwQPtw~%GA)F_S~Jo#y_@Dh3EAtE+J0yx0@VoEtH&~cBYEoa8r6R8#ax|X`)>98!h zSoH;5k(e+#o&U1+nni<-L_rvw=#r5ITdOG+Tt2>w`51HfV8NY@&GpR>iC)&F;^VlE zO@5JocvHA{;)Qn23$uA_NR?MDsDCROpN%+Oh$dm0hJKB>vX?{{R1`^FP-+=#Z{Xax z0&c=zp6Sfs6btyl%Y(3Dh zqQ36zsOOd;UEQ2I;yi^CzpgC`740;Z)Y$857z00Yky7tw!z?HTU}k?!-1~al)>{&U zGxT_rw&bRClwT*G0Ek>*$29MUTXt@{j&yHehD|fW=vN+>Tu7@w za#oa9sc>$~21RpOkh4vyiin@dN8w7Mc^uR_;KOus>U(}^$nSuvm0MBmT# z>_?laxU(VvVoGZIG@gGW0=MLPMSwRRZclcMbLG#!^Rb7FQxfY6G>7f&(g zm)ewQ&_x{i3cMP}oo3bdBYCY#rx}Qxy$D?k?Ra?q79AWbYBksMts;UR6QU6kc3%7T zL&8^EWe-3U9gxON(SCW5nPVEj0gU7CaeR;f04G2^%J77JdEK4G6ABPX2Y2?R{J%T!~on6p1lDf^}SyJmh!e{=mq2!$sxjdXj+u0;m5oy=#)v?7(P()&cNA8>d zKsC=tIn#JwqZMZu+*Tal5Td2JoAIl^t;x}3KAO1f2#}y5@;yyK6cC(nhf8^aCZ7Wg zMSR$(oO^EBL8W;hsDtZ+^Yr;6QJWr>H0ESlO|*f90aBYx%PK<=eBD7PA#Dj-?;oDI zVTndMnH`Q39j!p*pI{Gwb~xx(5-)AkDGRs~T!Q;L(>p&6NDBG$iN~eOR>$NTP8Z#) zMoLH!55isx#09G4`RMrYG--t&FCH8p!`p - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/otp-email-illustration.svg b/src/public/modules/core/img/otp-email-illustration.svg deleted file mode 100644 index 026ec8dc08..0000000000 --- a/src/public/modules/core/img/otp-email-illustration.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - 76329746-A9B8-4B63-8B73-91434975D2B6 - Created with sketchtool. - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/public/modules/core/img/otp-mobile-illustration.svg b/src/public/modules/core/img/otp-mobile-illustration.svg deleted file mode 100644 index 39d42b79fd..0000000000 --- a/src/public/modules/core/img/otp-mobile-illustration.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - 37292198-44AA-424C-B100-E12520D616C5 - Created with sketchtool. - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/public/modules/core/img/sign-in-illustration.svg b/src/public/modules/core/img/sign-in-illustration.svg deleted file mode 100644 index 5b341364a2..0000000000 --- a/src/public/modules/core/img/sign-in-illustration.svg +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/smileys/angry.svg b/src/public/modules/core/img/smileys/angry.svg deleted file mode 100644 index 14b66b4609..0000000000 --- a/src/public/modules/core/img/smileys/angry.svg +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/smileys/happy.svg b/src/public/modules/core/img/smileys/happy.svg deleted file mode 100644 index f6df1bb9c4..0000000000 --- a/src/public/modules/core/img/smileys/happy.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/smileys/neutral.svg b/src/public/modules/core/img/smileys/neutral.svg deleted file mode 100644 index 64bf2b455a..0000000000 --- a/src/public/modules/core/img/smileys/neutral.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/public/modules/core/img/smileys/ok.svg b/src/public/modules/core/img/smileys/ok.svg deleted file mode 100644 index a9bb4892bf..0000000000 --- a/src/public/modules/core/img/smileys/ok.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/src/public/modules/core/img/smileys/sad.svg b/src/public/modules/core/img/smileys/sad.svg deleted file mode 100644 index 1383dc3408..0000000000 --- a/src/public/modules/core/img/smileys/sad.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/public/modules/core/resources/fonts/sgds-icons.ttf b/src/public/modules/core/resources/fonts/sgds-icons.ttf deleted file mode 100644 index a39450e80df9348cadcf518afe4bdae2298b7824..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34992 zcmd7534A1Foi|=jRd-h()%V?8?L|^vKh{!SkCru6q9ROAj5fzx4bXj=O#*-uGRO2(e9L!t?ETZomAh z({G;Uc6E~bg z>G$ybGrXTZdE(S*)Dy=|R9=`9gc`e@)1s`i{NEzx&(%A7o+~f|rE5Bvt?5Atj&s~E zJ|*m(+sA!O*vowkanu)$Bdi4IYjn2Yoq89PR4tr_>qoqi({nuj7#IGqcAYXI2jAKY;ZHnVLt~8(|SxEQlaT=~XcV3v`&vPlR$SvbGpz5(?7t1hr zp^b%D%pJ*l+;*2P7KtWC@aXasBKf|ey*CkK2qTD4ROc=s8B#?P#ooS1p;#!!iZOT0 zT@c3CyWQ!;_n**9TH|r%Hb|18Ry9bKu`FNBj*Vqy_mRoTBXrKh^7$A}`9CYwD*pN6 z;6Q)b(qe5bO9r`WFq;j({AK6pXeX;?N9A*rY1NS1MxT7{pMD-0+9U_K^u)EXYwL#8&=T&D|I ztuCET%Bbo6_H}XkRpoz=era5O7d8#4>@&0=Y_w#XiuaSS;ngXhR9${Zc_`2uqs zO*WczXsdwr^Pn(;af@M;R-&CzOe+!9_O>xE)(56n32OwkPbTn3H#9@J7kibLg}jm! zGY>h1nB7}S^4!ji8&5}~(a7nI8+WQbI$EhEZ`#;(`Od7;R+CgnBp0_eDGsY`)!DU;w)$EabK31$UtzrgjeY4*aoxkk z-?R~&`Tt;Sy#!e>X~jRLy{|U5+h}NSzvFcd?e*)Qcw&9_cA$0rJWRC!o@M|?S99CB zgWOe^(P3SWz1tHB_u-a^xPbuN767J164-#Xu@WYCJ)#&_Uli3?hBWmcB}g`K9)MEu z6~b;F(6tO0%W$3J{^Byd_VC%WhjjYO{$h?BeaEt8?-;e6tX5Cjcuu{maY{-xh?G@A zG7V(Yd>2gB+BA?QAaJKa&}FhZW0(ASk5dpF?l+nvQS+Nt({;+N#MFMlzB*32zk!=Ths*$mmq8a0M&g*gV8@j15n0Kr1-fCgm9xX&7?$ToKESHL208Y5 zdE?oUZwxbT_yaEirD?b+z{NWO7kylii*r3F10aDQgV(O}089`W0nkviC%v(vGh#0Q z(ho5^tJ4jbQw3hrE`LsM(Q0*!>9kslo;QgWtxo&!iWNuY@=KY}QI~r2&e9?-N#RZZ~$FU2CAp^ z*TC}@j=ue>-+iU;z4BKS+GibTpEsc2BTB!I;2QwMpx=OcEv%KOHgx?6>rEu%B~Uma z7AX-OAvR6l=CE+@yQP#zKI}dl<}0-aw(}{XeA0dgHQV9GL{$Uq z=EqzfkLxj`TY7}><=0GZ;~fHyx4u<=*9^L_c^3OIF1jYV&B^(>FxSZqF72V-1g2o5 zg8|06?Mapt?Gf!f5sIc2=V>_55Q}NI{Pc`G!%xp~)pOIhR;EF(afJ1=qoY|*IPCF+ zLY~F6TWw}$raC)4!!T@Id4|nAKb9q0BRh6)NJ;Jqfn@;2F9`eiuX0`7Uevb)#F+Pb z=+7mh({-XQO31%giO!F)zTRXaig?8KmXt&YQH0Cuq1VXlTF9nkM68mVJ<}FSCATJ% z;gHR0wT1SCk|}zUBy-FhKbF{?NZ{HgwM%C6TP_xP(d_)mHnq5L5@n}Qs?}z*hESv= zB~a$Ecmie8Cmy^=+{NlZi|wksP$!Sw$hTm8)Fl*A)uu_&JWv)TVhX#){vg7rR

    HM#jv6`p^Znh%nptM>`*Cgj|iFC^nAtSFUY^s28egVsv_H*3K z41aKD2Azc_(VhCdT(03=WoAan%r%zsY$lyi#{J;j!@{G0{SR{A;-2Dug<6YP3>ZQ& ztx*4%=y)J{7zhAxi0DLx7RJ&6F-hpbD}q!8*uuaoS3qK~g)Jqk6GG?#$;kOs!q6Je(8}8QXj5?z?<65RQ z>S&_1=Xtif{YQhB*xOy5M|yW|+;BP?(Q1vRT(oD^9-plI*o=X490(1&}lGFRT!?(@bU3fCS6XY+5!1>Lc7W2Z;$mGy;7)0 zXN%Y}9UW^zVXx0(5p_Dd!DAUVJ9S!(Mr$*k?95 z24k_wR-UCojAv%kGM*`%e+=!~6MK5-u-Rwy`P>~JP`8BhGe=maj<6xq( zk_xo8y!JS)DZ>5F)*f$&0pxU*=W5`Zt1IuQ&47vK6at`$PaZyA1zE&T&(7Xadp6A~ zm1$*NROg-m9Qih=p%L&^6^@HzdMAMnFmq|nb~cj4eSfG|55}wpke0zLAZ&34%|lwJjW2Xi#vdF z0K?ozRz_4Fphx(tOV zxgi!WC7GA;pKKcqTUsnDkA^g{*c(=KWwRSW(0ENo-fZ@deml78h(^0b*YctvU0$gL0I{%;dc!VEH6t^S2)s<>dfxW zW|Jst?8u}gXx`#%dC?@Xc#sJ^7TfAK>c1w9v{$AdDbEDrOfo&esMIpb&5{z5A5{oU zRgO%ua-)S`Yw83(jHcJlO;;dN!+JMj?2DkqZv_RRhlJ0@xv&C8AXAy(AlU{cheVEe zXIzpvOE|S?NEg^CbP3R1GNQ0brTT0EQ##5@$v9;y)H6^-)LTef_C z^XE2i-rQ%>X#-iSchBI?**Y95*3*`N)I(&a-y~@Of-+45)!teJ3K))f@ zy8E5-<5b=}-P3^w$elA_Jxeh_wjox;B2wT5N_H3Q5HQUP3I&Yq{uB19FSXL2_r=D2 zKCkA)3HhfawBxzSBm6-bSGKOYttEO|5O|;8zbty7DnFpUJ~D|<PUfd%E7UAr@3w)#33Jd) zN(1nBJLbM9ObZ6i!9}?|cNzB?)K#U96&#|HQ)08ElmHGmKO&PbHsCHG`t~ZKyI3NY zh@v^jkNKu^gDwMQrjSFRit?a|lqm;-h*%bZmMIb@qp@gAq236918EgWzzMLfOi#KL zNbrdnpb&C&5nXPVTOk08Jh%J=IwF^Q=g7#~NGP;9JG6cK(9m{|%T;V)UcSxgYGZ&} zQma`qvpZOOG`=?!5LBlh~ zYXpNS-Qtccyp6hp8IvAF4!zar`N1`#BiHA00e|4c^6chND8l5ssBYVbT8b{0hg}1F z=(Gm(qNop83sjpJRVH@vDzfIf%O_D0^;4ko^-4vetD{lht5h=$ck_qdnbGI{96~mmw?^BO?CpDB0^DxMw@EJ%ITPIVDCi9;}vA)8l8eDG3Dawt}%decexgU%JD(k8bDQXa^9Jnl`U(u&!e zHf*>_t_a*zc?$pRpsJh#(BT^TDS6i6T#?HSrU~7q2XnakMB>JZB3oQ{>b+<>Bu%M9dlD;>@`ZvXoA z`+0?qBiY4y(CX(o3l{*KUA}lGVVeIjlZmNZZ9~Ho;knHxPj23PvNaf-OsI0CvFy%O zla~gAm`k9Sg278CSM8K%TY{BhvA4HatOQ$X)9fH+I=MM984R|vOhW`EPdgl#PebZ_ z8p3>XU_Nz+BPj!pR3zN3(%))3tdOT=InG(EQ(ZAtCnYR-jsbJmS=-*e>OE)9{9t5w zCYSr@l~=v(^1XX*PNrr8f!!m+6H_EKgYb+m&J2(I;LMqO-gecMAI;_D|CmW7Z{D-_ z@`>S*-GRWHlr#{q(Oe*1*^8iuo`AfyPnGOh7%1O1Hbg`(`V@S-f3rv2e^>DI9K6j1Y zVPI1_N!Po|!?u<|+Uq>l*%^obetXCynV81pncAwg8T<}bb@*%Vb>2C3*%!11jr@?o zCJyat`&X7;Qum}%_ZYD+AO=W6q1KCljH1^ZWn&7lqAl2Cae5iCqxuwEu!61--acPt zbGym8agEljdoNX)pR6~j)`fabQ_bZ&)tXaVSeiX?L8WC>y569QeC~0oIh#;xPA#E+ z2TcX}BxkYk2DdRb?)L|QEg{{i)7}NlHR8V%N+p))=_YEYK4c_R zLc{1%@bq+3qwDhzc$C?_!dbA6{!;1cbS9I&x>WMFr1Z45E*dKv{+aJ;=@4}qPi zbi5cH@e6vvXoi%~0(v#j?O~?6Ool`?B%7&)Ct_xwIoaVz4%^=wNT|?15%>$oaLV41 zl)^&$sz`;wLPgX-Elu`k`TklM{TZe*zD2QGg%~Kjn)z*P@f8b3Q>=cZ?8otMwljUrmX zs3-&%tvj4UAkIcGR*ldo;Ebx7ifN&cQvODP900NGkiJ0Fq>7akq(1*t_4zj!3Z=(O zg~DdP&*}3yy{<$c4W=Fgh?~nxakVm(RZt7mrp;Gudwkm!=Gydwb%7Oos3KPzVcU$) z>xGolWNP<%eKTHH+3B10bQq)lWYX{P&^2o8@XY$0WtVq0J(D?QPN&VaXCSnv{!#H8 z(Qd=sIQaZmoa-ea0)C2mf@lGKz#x7sv8l#fWYdlLdEm6no%V&iu6Qtm#!e>! znPA-I4f#SOd93}E-M+r|59=?OKld`7{E{&fob@J6QEIivL)WM&>75N`jPg^UnWjlx zN%*>MN2P%@3|e4=CK5NZIE#x0mK0{>GAJzQ#A^L$N2~l(`KP#kcr`_>W)IRJf%by_ zV0v1fnN3qTt>}bQdW2*mX3&IO+@7>+OLh@P8lt@vcWdL?Vku^iYvX)*8X&SNlX^Qt zrOk1AJ*m+dH_4u#l--j>_IwdHDW@3g@OP33R1t%Ec8UJL#zKCuGMF!H4EV)e7evVA zX2FyiPPVu2X9v|Xb~s-#>wH=AY_oVu4Hx#ew;(0nxi_fc}R4G4`v=A_QRP^OP7w?K~_fRjz31otX_l)12(dlUBo?!LuyAr5IFE!?Jm zRryHRzVYA6RDuG8LqRN*3f@9;fdc{jRgBnFEucy=5H?b%3?duxuc`sHy@`?{^+fLy z1aX6=hP(~`kdlF%_BKz_CIaI>d4s5NS)^<$^eN_`HL)Q9;=$MLi;el5LA}!r(K^wL z!&!sFknBF3doFjlJ0n_j9iw_slRTK9XC))!d0sMV%?2ssM+qx}#h|^-X!C0Idfq72 zp5%E35vxJVJGBM`7}F$N?bj_|{*I_O2I0NFfms^paJRl=ODeIZJzRA10xuc_QOC3z zT{Ph7ZC!b0(%a>=d9t4DG96TRTX3L;#gyceI<}`XMiVrA;n6m0i`mnn(Q28f6`U4N zAs8AB>umS$==*V;>v=#v)SsAo%rzl*gGIgZ>!A2#oN0W-`N%BjLW< zeP@xdZ@vI5v*tXk1fe@A`XDap5z0!Y+Q<04OEO{60wkUKlgk7JN$Q* zI=PbrtmI~1YCJozY87i=rKWtE1sNVG)6??Pt5}@YDPtw%eHMA~Etu9N4Xng^_@6WR zPJE2Mc#Ivy2kReJ>UJ0EHmRiVDKR277<&lmP$8vQo>8sT%*r=3+%fP^?}vPRANMr( z0{5S2m7-Kt83_dfScwA!Hvu~vEKP-%P<4+43kX_5^o?MBS+{{z$Lc0B6|69krC9!6 zRs90NIptCQbHtMXLgR^6JC-{BiCf0U$i6`ZJ}~luNF1yOAa{x4lnBJ(KSU){JW}8v z;6s5Rt@Qa4)D0?_QQ(P{;f4qiR5WTv0ur>RYl&6#nKe4y8d1xOF3Hql(^_9&!!w8kQOGA?)AuH!XnSDUdSns}oTc7YXRn=2#m zT6@Cn%6LSxCeu37mJuvEm`S)2b}cVt79}^dIw^TKqS*PKJVtbc(nAZZP z*8jEqVKE!+fyhB;7GZY4Yk6MN?d|q?yWBan6{>~#%(>Wwnf1ANLEzQQ=r3eoz3JVV zULJCq5o+W9<>4WZ*Eh#0twc+)243LS3oiaNXaZQ1L4XS}ZnBgt@!a<(zTfy~A8&*Z z1zNqzOhT1CSf?X6XOlSqY04U=0?pysI&Ov#OOIv<(}g_{1Hsm!3TR!HXJBT@j525^uoG#sq`{;!YNdc=bReS{hdg7; zdOQ&zrwS~tC|QOfAHgEnUIIsyfg^~YfoYc$rcx32`~|jw3g<-JQ-wE`%jYVUSxAEc z!&y!!vpbNFb0SMoNy+Xwe3;4v{YHKpd2oCy0eKV!2zkrUsvbZuKo+R-4kgm(E9210 zKsczpMl18e#6vDXRMf-otHetT`&?gt9x`BgUiKr-1$Vu#LTa=>nzlr0QeXjQoo z%THHfdP4$4y@inScIUD0t8BA7<_H(}(4!Sv#rX>On~Mb=>`PUl8_#{>pJ%poM%hcN_Ov^iH?V+YME1 zzAxDgSsElbE?qI!trPL&#!Z2+JxU4^H1@<1-|c}o4s;jOQIY= zI%J{A)Q#zd#Id?Vg4jpk(1pU2aU}?2%kG3C!b2&DrO#3~D<44dA{Bu5RJCNH=d12E zPi}p2%-?60T+VAVlYI<6J+Pb7!-2!mnlvVoPG)i&Ca)c{SnLi*z`Q-x3Ja=ObhF!& zv)fFcjio}aj+JA(qHgy@Hrx4mxNo_f8wLkAZrHo;4eWSMBR_X=e7s<@j(&n4Y4iK} zaA-R-na#rLa9HE_XL>bzJ$AdrW*r~1*(95ly)@9#QZ5Q!pUciWO;J6Q05Tj-r_GWN z_VW50-?hBd2ZyRmroYhM*?F+1Cu^3nZK2rFlqVW*F`D#7V``4e<#KD>9${Ha>s^-| zS-)@cH$qSMnf2>?H}4*8OQ-jCb|t*}35&ihncUIYndv*QEb4Tw?(JPRUMNgDoirz) z|A73IY#s$p1WX|ta7=u%{Z{P1apz~@=~RY0P+7gR^X2kPxeT8m9u7o{%FqCtll{ZO ziqm4%F`QL_tKk!klijM6G4rRDK^9n4hI)UMGG4JQLRCg?s)c&Lpe=x}knL2VyU;)n zN;aVO2qYGYDzpTiN_B`M^9Sf%A$yGp8Cg0^;-*-BmYpN`D*yGh*RI4r{|33bk^Nl- zPE}R1r^GsxzrB*I)6r-29aTOOgvIPQzOzUOJa25Ez*#3K4@D*n3APGN+z|jBh&(MM z?p6gH&^b-4x}puo6{{vTH-(=HwaNzow6}D0z`8e-mZaKrsFi(WQ51jvf_(Kd1=74NTt$_>Ww_mW#00VtElFf(KDm?+HO3Qvbj2EGp9SgB`qx_7@@r-Pdv?7(QwHuS$4K&3UR zFXOxf`NBX$T~q%q&=NfU3Myr_yAeVa}0H;6-PhV%tkt=^|4OuC8!B02aK+ zq?=i}ZY2{tmgSbMxCPqq`}O~}{&1W&d= zFc=_jIK`8VL23gjCUEy+|2)#-zRG&~BU;AL(XX*h^0PD;uiZV5RTck{h76wk4cETz z_6Vw?2w@!U&Eg`5%*7fuSPOu*ciEzX$;^YVU?w9- z(P)m94^PCF`8*z`bwj)%F%fzj2BY3e=E4qBJE7U^uqk}r;52&E_NX99yxwWD1dL`2 zW4Y+W;kJNxIPA+fA~q9maGAi2KnFL+UD&1S7c0$%iOu20dRF_9=E(opdWJ>O>s!yS zV}=kN&&foL{%~ovbqTJSf4+^HbCE^z(`?Lc@(iUU?SuvL84w zp;!l;a;CB4SLF^ zc=@>tgJgu^1xt!Pw@2W3xIl;~y&L1pRY)Yt|2)h}5M{`-APotFDqYC6=PUgAas@Ao zkOx#*26{yfq@0S(VR(RJDc&Y8zl%|eK#(HNi=gelUb*t3Wa2Em(N+UJ(;8^B%Se`h z%*sQHmgAL~BDx^Yf+0!>jZ}y#;-nxa62ii{mP*Sxfgd;3rlWag3(f}I6~H9Ws1A?7 z@=^X)&BFoth78*hct~6Bj=B8)hvivc+L+O3NxJ{AIqr@^gvjx1mOIF2>bx|E#StsQ zCKsl@vkK}y2s$4AL&_NFz)Rc;+PR3HA->zed03d2`n`CW&S7NzdK-8j(r~DNwk)n8_D63)T<$q?*UZ|)oDx^;V4E% zNkZk$G1yvTK47B@{wIf4>%@GFMq1RZJ_M<>)@8aq%-|WLW8vFPF1Vp;<$Gu@7?-0bEPXzn!`@W6YaCcQC{xRFluo0~K7k195t zu%#qllVU?0I7YHSRip>fG}cf!Dh#ZGh}sR zmyooC9R?=^$rvEavF|B74@r4S07C#+#9N5EI=fM4M@j`XwoX4a#2tO;btDvQC*|2| z3%9Ks=*lg#+F)Gn-`ram%y)LJYiY6UvZqofCRVOlGdj9AfMf6I=$g)KW=nf}8^8N% z%GhN!wS_9hzJY;!&l;E8X6;WUbCZKZo16~4J`%lb`LeZZmM=RRiRht}YQ-K2RQIL4 z0Hz9nNW+@s!oZ)z3ph&<$iv~Cj4NLYPw>+IeZ~Fzi~IKD`Wkox`BG$V{9mN4oBt=< z3V#D?=WA&u3;d?|(7N8Wuc?XuR(yDE@46;9*9Ko2tZu@P3iG>|cB3`zEiJLPtUH#} z=|Q3T;TROO#3Za58{Hekv3GQA)xee6yN7G#W|upcYa*8`7Q1p2Zdc3Q*((Q{(<|g$ zFdqBxFgu|pxiBlq$Ewg1!Jh<}G6g<;9JaXn1W2A{7$BDeBmGPWnCNev#n29j> ztV@QB-fY%q3=$d2z;=X0A4;NfIitiYDP$Phz`mpmUm>I+5ldzvCx1}UYP-vd4T+~b zMI~a#6viY&wXCSUD{6|$6z!v;Y^E}+Se=yXIgiy-D>>0`jeQ4vuohX)ZRMu8KWp?G zOf?ikFzOEyA%k&;`6c#aP>qBD?a?{f7_iWMGFWmT8R3JaJqHi}3yM?l1}wswyV%QS zU?bD0E!sJQJ&ct0QH`hAxVzCpYLKqpMl|%%`Cd_4>Y*-~@1A?nrS-9pt7O^aUg%WC zqp-Qtm0ra-Ne1?OeH`Y;O6gW*ATfIHfZp_4{`;U`$?`oU5Mm=?3t_o2p$KAA!65TE z5nZE-UKG_96s?NJEXRXb;JHC(rn)Dr_nbgxRC0!eEfq(;7g}@c0bGp_=(dg(YZU6t`0lg!_`b=w^K}=zQt_%dI++8 z$)~?-*5DNNdV#;}2skReUUVAHy~m&s5m# zB8LgZv7I)b%HtDc$8`|$or7E}G&ZUShthuyZ|cY*rdUvQ7i7x-)n>El0uS{|Gst6= z<|lcYZ1PzJSNUh_ip6zw@&_+8SW-=&)>mu>VjO! z1YR+NacmN#IRC(S@|nu)EdFO-X+Zgdv*mMOqN=Yrs2c7B_{oR(-zzk=>cvdtx5A`5 zv3_CXtQxnF#Sg7(X5b?PKFa0IS~nEHI=QNnxB_Q#>9inis~~QN*ih{j_K^m=&0k?O zn~gQj=rtHk3OOsVnumW=?Pgk=-~o!@0d7_503M+6{W=eDE13t%sxDwbu5AKbhr3;K zf004%YsKmi22^R|H};yaJ71){W%=l9!}2s=8+@3+MY*y1dVU@4QPq`v`L)n0?7_19 z@M~*{Zr;{Y0#r)EQ)GZ!MWaMW5~K5CDRLjbiewEorr>5DgoKd9t*!ZGSt5!)?TN%G|Rz4>`+He=SH>~ci62<^2BQ$;P z+@r^k6@vddtDOO7UPU%GwR8&?f+LLk^4#x)OZXp=&ja~j9)S9e+JEI{bjg z3QH_V5P3t3=b27NAb2$U(=kUbclX$Dhku*t?Y$!36OY4%4SK(4qN&tom;<&LjYhXC z^58#ordsT93j_ya#Et+PQxA*`jXvmUF~9-~76XFS`%L!oK+xIw%-G$zoMY^_Bmb81 z`wdoGJl@lDthYD&45&nt$=CuCWOFJNeUSQqhdz2?A2$_uQj-+ej|(+E0?ew1L}C>uxa%M_!2x!W{-8QPr-48h{E}G4uxmQMb7v z@3X>UhN1xBvZw-0+8#-nBujP@+M7=E)!I2eEk8f7b?d;uR<>op9fLEY)tYv?yckr! zB|TMf*he!M_e^Hg?x;+qzr+3lyT3rAFQ*x9lCEjP2&@I@FBSU(`Tbi42DfY(9N6*$ zugjUXTJ?H;%ngrqqe*@&JDzEe6|n!LwGeC1jAuWEtu{upvjc= zw^*qe<8MpfR?e({Pv6xn^Y%n8cO+lPLdD%GK%Nn6-&H8|7P0@5!%@CaGx^=MTVIm@ zo_%Jhk0b{Pw+A$H8#LYrdwY9&5{aB%Z!`si8+&?+O?uF}K2w$3JuFlqOY%ZKl~ndC z!mO%y8>(7IrP#6z@*;2`WFJO?CE6jxjxI)8J7$?Wcc_c`&&l5w%`l$CmMUhE{R_fc z?GIWeCggv9%0!dofLxuHtCfw>KCQMd%Br?jqe+5}2+7R4+FAH-D2F7nhrjo}mGbpG zcOy*%qx{|b*h}TkXzis~CpKF!wc2_z(6KjcQIe2_6;S_Gfa*Irm}|t*-wJI{MsE;@ zDdHpqFgPVla8L+j5TO%AJX_$}NSp3Z81IlYR_fLz`#fR{q+!$6or^a~<0m~~y{OeN zr)2h^$p%Q70{wz^VtLD8tEa~=xwL?mw$ec>OL#nNP6b@?6JR?eD~~Sl>8(t-12XY;ADbL9*<=6U z$@v{2v(9GJYaD__;J3cg-fT> zmK`UoMjNHNJ!Bzg6}2L7{@>4Hm$4I-8{iv+NYSKWFpJ|40*%!-pRy-H*rdkjGUyC~ zb(%<~ve5~nINoR%VO%D_7!)?*s!hNq?k?1g_T^Qel4^OViZ^L`4zeD#p2}Oqgh)i- zQV<&w{vmTmoB&W+*FExfHOS2884a)rdv|deUlDNlG*qWuOQphG3|Q zJn*)MWu%PRtTX70Cei4Gn~~ktx~{_cC*(;H^E`@9`7IwyMuC$X3yqpPVAZfFu0y>L9 ztFsBol>vj^W=v}mMynxR@bLHQ(l)9FJgWq~(U$TDdYtJAxM~Rwvl;vLLIjCg1Z{e3 z4aC>00r$LkclR47R&MAF#cXNgc($W=<@mNWYu?t=6BBiIeAQ)Wv)S5=o}|m)<`3xf zf>sEO#moW8>=Zi&(>jN-Ba6WSJ@_}m2L+Ma!*QMJPH&=C7bTvWgfU(%3`*nJO`!*d zs27WmQ@jeO=hHSN%}7Sk@*{XJZ`6vSmhHVr zQdU4@>DT%ey&ycJ(L`>+&Z$O=RsUf@_>I^KgYBOn@>W68AyT|sjeJ<6kp)SVKaOer z9gXJKdP+x`DP56$0T^k4PYOah4{Q;C7459>D!Ta?F~u;di(z&yMjMET@oW|3$D~z; z{CL%>(GgX=H!?c;N*dbFkPG=XNcy^Ry~M@3TxAIY!4b;6v?PA+mGrRkw#iE_nN;(W z)Uc}vSVC?7s_<$4DL~+T1brD+7#2)#oe~j2Q_%8KfGgn;tSWVRsV}hNAkhM`f<#2S zXkkg5=!Gw?y4X~+U^qCc3twb{)~*$H!W7avm|)!zXqAlti#uux=Ol~GZZYS=rYPtK zij8!$N^0BX|74)lv+N$mQlk!D zD@3}D`fK$@r_I_MF-4s46pR$DR;NLKo!*d(B7tKp#d48o?l&%jg#CLh0cTsv8n~v_ z%4+~J^=5B0>hNFQ%ATy9DGP0?Z|H-Bs zfEpg?pV+x!@MXX`RDawAuzUnNlg8 z9`kyvd!n1ViX9yT*nUvcAKepuYvH{GgNfb3^hbo@lcjF^vPefsv$}LuIE@bu42+Kt z3~a|HHNHmJ@8f@rNw{Id&RrWes5?V%*syD-5|-_4ZR?{^z3BD~`2%6MJMVJwyw%p# z+R}2`>*slwEAMtQU9A5o`^y2JDP=J|p=bT&72EcPMy*bf=e@ZPfp{cd_RGRupnrJK z5|F-?yv3x}Ub4qaBHgb4`Zrkc8}iTo_8E5jQ@j7{`G5SF{N)pD-ADi9`e)?+x3h0y z>O&vLK{rpn%&M&&r})4-OF~@mI>D>MreWQ|_3X01Wr214^YL23#{a0V7SQtl((GSq z=QeV?VO9E01>4m(h!UMDGSZH+p1uSI5a6IEp(}KgI8$hfj49|^F&I_18&t?N1rG`W za90qFD(&4%!ggn!6n!s9b&o;dMOg#cb zULY3Tn#<+a-BM7!@liH-Ko?7cKfL=fljBQI8I^9 zZ{F9jFJJ8Gsl;G-u&rZ78|VX~9713mSXf~9z0B@aA6YUS?v%`ZxsISO?Q<5|eZ#5i z*oSI=3s1?7@>h|_D6wjKW4mnfw#RlAdk5IeJT#mCo>~u#ALIaYzYspf{}|&(`_Lzq zJ?EnCh`^~Uw>y}j-F zc&~glo=+-4B~m_x=c_4LEYf>r-qqz7pNAfJ8z70o^M{y6p?xq>i1i13u24ak0`-j? zweYCuDStlp$=k2`3fFFflR+;w z_i-_hZ6fRCMbH;K`9TO8Rw6en#-bXHSN<_Ppp14MFmXu;I^fSWoDh8$(W(RBgs*@$ zF$^0G$yn>KLxgU2TwaXV4x!)Ttk3$A+5YpqVAO8b8U<(}1Yt9IbYY80jfQQ-XV_zK zC(k_wN?R0NCi#AcSEFekG?_ITlg@6$EE;MT-6qK+p86}vZkMi{m~Af<+JE0(*l&mN zx5{6CS+VV>-%cP&5ZO|~&Wz;1Bp7bUq-itf1~*A&o7kfRWN|SP2OmVd5XnGAvf0K- zlr;UIMBUJm-yQbIAE3>4+2x*apZu4!l?b~uJ2E2Q$%5DxfzE%}kK=mzFN2-d$Fj@C z8!7qq*CS1~MalU+x_)CMTl+D^@zLyv{JT~k=@_#*OzaZ({pomz;l>tcnZ*)QeWM1w(O*U+^o z%s)M?(}i@{{8Kls(|sE^L8m*rovMMlbYQbiszguhZArbhN2k~8dbIlQ>2(DP;_}!G zTs#`NzlGf3l|Qh}?)BQgVfUppLQg$+W;3$GqmeF8E@TI$YS=^4{x*Mbmd1qj4hyyb za5~L=#e(1so#W%3{M+c-*NAmkt{d-Mctf@X+r3!|iEC|w*VJBSy%Tqk>&9>Bva6JQE?H78 zat(wd$?#_8z9ekJoTc^1E#*rEz+%N{y1p8L)V^eOyRGsXi^pSSza^L}TX5wcK;&9_ z#lC2D*8~L=_w~gIEYo-N^KxwZP7ZRMP1v{c1a}?23E)VEH0qRxA{CpmxcjjZKzP%R zl<}qS5r_BSG`s12;dSS)LO7Ohhq-qid%t~}-%g>J68C8!2cGOJiX{~@k{iHI_{t3O$h0sQw@V6BHkaH0>rccg^Cd>0E7TY*bse}*|qZZ+n;=r zA8%~$wCTi&O*r2}FSb2-Zj3ff>dcO@^ht`|wCUv1F{Z^o4`u;5mui#vA1R}2sgE>` zZbBJpi#oXKK=Uf^f^r z&k^nre7LSvm(wA25gn)r+jjMmq&YpGwZWj9=9b~wyeT}PlF zb8J!loE$97mi7XfhfyU|08FMl6k5PQF`=vW3CZD*_}#eP|F!*t=?6Ln_YQSD&@nXB z!Qa*~BzPPW8=)lfHzWu9(O16mC3^KG|-HvLq)f~QTr1l#CQ@;Uy@p-P+?J~jM6SUS;8f;U2SsEX1CiYtU8qL|IDbmfBz^OZ+_dHtDf?+*t-IgGduQ* zebp#)`NB3A$JLKD7pH!vsJePC-+!+H7e+@v{YR(d@%uG!|I2nJ6WH<|ElVUjQRsl( zjzU-L-@gKd)>U8}My!Dk)%_%Lu$r3096rEZ2_L;1xZAl8ai8KI;2!1vmitHU=iF~O znVDb?8)MyUn5}__RueE273m=nw-8*Z;ui(xmHvm)xM>A9Am{(DAA7}F*W9$%m&pAy z+BbA?`}V>5PI;%(tx!d@wWeo>wrv}tvyLK8rCVFmbk0(0%2glE)0CQW)vEt*mL-_f z77lH1SARvLb973rar)}l@TN_!sO=v_c`BY9J*M^<%2RsgPkPhJrqzxf+7@f*pY$Y3O?zevR~7HpH(LINBX&3+UEefY^18jFf=HnbFSCM4}Nk6)28q zHDb8NQc*0vIwiGs$@>0m}k#sGN7MeIGCYdhroe7@$)f6 z;%LP24_02LUyS2%NvGlUn8v0hKmrO(rxG?tPeyfG+HJDlel)>}Cn)*Uq~5pyJs(~=p`pQ;#c39* zG#r6kl5LP-XbASbDpw1$hF^Ilz5G_a}-)k~UPWdH^(P*LbU6K`7 zre2u@#e>mkRj=|P{xH#3wY%y1_h#NE9v5xAc~H`Kw;XTj)=T_VwR`Xb6ng%U+0Gp1 z+TG!|pkr|n#l7d~Q@*Bi-u<1|J?bESB zAtqNY8qaQBU@8_uauaj05R19ZbFWm$oRob6wqv{`*MzGJ`Z}<7^_Y;fE z_9!7sABHG`=B#i}681#>HW)MPQ2fjQMYsE*8lW2M)Y@;ghrb z_rGi5qq}*j_VMPAZCV;Z>sNqXs;a+i$G2(CK{AiiiVaOs2h2Z3(uNrcSrMr=6;W-H zi6utAeIW9`f#ghn6cViGAWt(`@l#-Y2i!8)<9fFQ_x$^?C#U|pAIs0QeUgQ?-?HoG z-E236Zt~Y5D@}{g-syj#gWmOVN_L+C(l59Ex{t~~`D7~#J$lRTn*kzGCF~7h6-N2b zD|_5PEXc60Haf@4gi)`zHtkNO+8%?qzTgUCd7}a)n~N7$QMC8G&Sk=+4)UDByC zA6^n(!nsjpJ`|IS5`O$jUGNHt1!WTPcM2uP{(J9+jVHqq9@`=03rG8krF|PVTpbPz zaBu0!7cR%vcc!k+&Yjsz+7^u-7#doEr(Ky$#vY9v7#d!o8?ID_=_JV^&OPnzyAlZj z8%7Rwc8*xB>Z3t<9EQTw2tcnCzX{ZXPVWmagK>L8g;8Eqqz1juYzp7IMu%llB zieq3Jy#(`MlJhFsAc*wn$@@e8<9cQ^_{C2rH*_fdqx47qSn=J6#~vfF-1(_iEVLW! zdihQG?E&hSwtIsw*dMD4d)}@X8axn*+QQ4j$>fH3 zk6=RidS>{B%@%LpnMi0vmwt3_+lLH(7?F`+{~&%=r@f#NHc|ihU`A9l8Y{#8oMX9v z)1=;|7ZQnG?d@7^k!N1tcr@ZnjCea+*I-3qjUDGYgb(pgL$Y}c`#~+?S-mBiLi5(p z_4$J-fgb`;`k`Td>2Az1b(SF;ypy2iZ~jFyH4i3beOkIzn-X*-iXxFOY^=PBwF!31 z*}it|@o+@1Z}WOuJD}V$8%=Gk+04-a9N2Z+WC7@6OCpvyE5sh`j8G`n_59*x3>f*J36w(oi6ML)ZvG2A3rKIWVTrR9SOJF zwX?`S9SR>uk*Q>IO(cS^_x2v|?=KYM@r*`ewT8nx`}&3^uIuS&iAL5Wld0`%*BlRr zPD$pj2!8J*li8X`paPjR=6?OtRF8Bf+7U`5wq`P^j!2}-ES+XU-91O+9lnVO#yK3B z@O8wG_H+-i23%413j=gmD$|Gw@!A(%EiEp7EnQ8G07W7**<}6=_;8Z_k*#Q{)v*A+P)5fF<0X3ApNPB?wL!ScggXV>)$kN-z~EE_Bq11|jL zS~i$S1o^+mm2D=I;1p%N@-vrTH2mH~@CTG07wQ9}LZ`y2Ns(c8f+Jl6_;x9GihBoS z3V%>$%TzQ~*CS|2I#w6Cx^%Qb-@+4#-xr=he>XiXez*8(spwYd3_4|_GZ1jH-#dfd zvKa5}jkEv4we}z6g@KcOPwpT>hCN9UuMjTEf3Kv;()AU>7WoqjD&I|4`gsZdZu;@kpkZw$X(ib~FNWUi&P4 z0~d@5?N$3F;Uj`h8533B%Yn9@muHhR4NNW;%_``*7D{94_)>?zT4feeO`m zeZ^46{Z!oji2e7A#n#u%S73WV?FvJVxC~s-rI2a>^^v5$LFE;eJcB7(oIqUi93#rC zxdd%2i8PD4Blf#nsPk`ulh2QCq25;>&(8;cF&{FpN9L2tgW-64WIj22P%@h7v5*v+ag)POzWhf#h_8A zwbA^{u#8CSr&6Ruv0;rVL?ii_{jpE{2jpo27OXRYHUn zvzZVnD-<4Iwtwz`b@)ZjM25~B_vCxNQd+pf8|G2em^4{D#o|CdVei~NVu0un9#u+G z!u88%)i>%BWy5p1e$F(7S0davDW1-$`n@^b#}HSopH$94oOEx*HPTYvT^f$9uD|~# z?mKXPt^VAo1Ep)^ZNxS1vrE!aJf)?3_51>VQ*;yAk2{BkadnQp4Oa z++V;+X;H^U`uY3)^>_4s>Dl-$#Zx_A=^V$qD=*B?C_nPD5KedfeWMI2lTNDtJC?j_ zq&b0n^)i&S6#r$MG?6B!$!j=4Bs?vHU6z>)O4BYKGW}|-B`-C{d$-{|OdJnqaoE6y`6jq9}Q$L_a!F85sT`H<&}p1Rs3@AtpY|2h97fpB0jm=3NF9uM9g{6g^OEt^|zXnCPE+(iclF_n++lK>srXHw^rE&^EYv@S}r|3_de-*)Tu+cf&7? zY#t4azH7`lHa(siKdC^7&$6|E^>j2KiSkgtSYR)rkoLG55vPWEc&7YWJuD!8tRB`N ze0x2t1w3u5hjobGR}UNEZSYs%;F!jM7#H5CVIElM`g)ioH*4x)4ZjOwzxvy)mmYn?m4~i@|MsN{)o~?vh`Z+1v#dIC{B-!}rN=M5 z=FsU&kAx4uCA{X66B|yPINk+Y9jftZE{w7+MTjbU2+xtuJ6U7%1%L`WdV zk|u=^mO>IBTsAa72~ZM32zj|u3NLTHX-P_#(2_t>pp?)yjmGcyHzV1ycQ-)N|Nrxj zJu}Zd^E}Ty=kNYKdef#=t2oBtxaAejq})G?XP!b!k4@Whd5&Xx#2=*7dRnKy?3zO- z5qBk?x6|pZ{GZ&>L#HV25j;~`I&DXq!q*)7 z6MXkwHY5xy=XcopGMfam6e(I*xi;~e+%PYQeI_HiE-_HrM^JJ$3*tb~=XAk>0)6mG$lQnhdz zt{-lT$$Q*(mo65GCPwh+@)RQZzM{Q15n~7= zh)`7LE+H9GMH9u|zDS{1D8`C0cg$T7#@D;u>BRS+)Jt09appEilA%^LNR_cHU(Jq< zWo7q~$;l&h&cyQh7*6>=E7dCg`QqR}f7#MvZ7oX%xoR+*4ZrwB=jdoBt7b>#bChY- zkt3_h`B-~C-yX|X%hhTb9iipQoC$4u2z?Xca$JG>mqk!X`$FxtZA`QF({rz1{|Qkwxs0croIR2<2LZ%IBwXt^K!AW6-x+EfzuWS`9Yccl>sT-|w*d`RQ7P zpOz~OC;w1BCUevp9@j&rHq>0F3s|i#oleTA>HYR}S>{-|Ql=_%5;rsVkWdy(sI!yv zVpc@B1eZqbd$|E_lv{CO3z$7(XOUvWi%J&7f;(0mV)cu5{%Ik;iY(&#I`-%4oVYjYKRy%1X*)i!gPbVRrRlmU-M-q-;zw3{}joOfPkqgz*h7OswA~ z(r(uVnn?BO)T5R3FVbX_|CaqyookYT$BdI_)M*y*`NpF4sisV^{(-^KtXyr(EX+5H zrPbOZduYZna=`

    6dZz;)hJ2!4T9f?LGr#EigsfG>uu-Dtx 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 diff --git a/src/public/modules/core/resources/landing-examples.js b/src/public/modules/core/resources/landing-examples.js deleted file mode 100644 index fa0b1b3897..0000000000 --- a/src/public/modules/core/resources/landing-examples.js +++ /dev/null @@ -1,81 +0,0 @@ -const examples = [ - { - img: '/public/modules/core/img/landing/restricted__1-MOM.png', - agency: 'MOM', - title: 'Report an Employment Act violation', - formLink: 'https://form.gov.sg/5a0ae8bb66545d85005daf6f', - }, - { - img: '/public/modules/core/img/landing/restricted__3-NEA.png', - agency: 'NEA', - title: 'Update particulars of deceased next-of-kin', - formLink: 'https://form.gov.sg/5a9e53d0b3a3b6006e6e0b74', - }, - { - img: '/public/modules/core/img/landing/restricted__7-MFA.png', - agency: 'MFA', - title: 'Scholarship Mailing List', - formLink: 'https://form.gov.sg/5a9f3906b3a3b6006e6ee595', - }, - { - img: '/public/modules/core/img/landing/restricted__8-IPOS.png', - agency: 'IPOS', - title: 'FinTech Fast Track Initiative Registration', - formLink: 'https://form.gov.sg/5ac6cced5eaf2b0030597aaa', - }, - { - img: '/public/modules/core/img/landing/restricted__9-SCB.png', - agency: 'SCB', - title: 'National Science Challenge Registration', - formLink: 'https://form.gov.sg/5a813986c860b96e00a3026d', - }, - { - img: '/public/modules/core/img/landing/restricted__2-MOE.png', - agency: 'MOE', - title: 'School placement for returning Singaporeans', - formLink: 'https://form.gov.sg/5aa5e5b1dcff52006dfd5f86', - }, -] - -const testims = [ - { - name: 'Lua Lee Hui', - agency: 'Sport Singapore (SportSG)', - text: 'Form.sg has helped us to overcome data collection limitations and with the user friendly interface on mobile devices, we have progressively moved away from paper forms and that has significantly reduced administrative efforts spent on transcribing hardcopy forms. We also love the logic feature which has gotten us creative in designing forms with customised view for our Team Nila volunteers. KUDOS to Form.sg team for the continuous effort to improve the product for us!', - }, - { - name: 'Ang Mui Kim', - agency: 'Ministry of Manpower (MOM)', - text: 'Thank you for a good product that is easy to use and deploy. FYI - we had used it for a workshop last week to collate questions from participants and presented some scattered plots on the spot. It is easy to create and we had a few iterations including some last minute changes at the workshop itself. Cheers!', - }, - { - name: 'Pang Sze Kiang', - agency: 'Ministry of Education (MOE)', - text: 'It is really easy to create forms using Form.sg. There is a good variety of form elements, ranging from ‘Short Text’ to ‘Dropdown’ fields. My colleagues and I are able to build customized forms that are able to meet the various needs of my branch. One big plus point is that the form responses are sent in the form of emails to only intended recipients – thus making the data collected very secure. Thank you, Form.sg!', - }, - { - name: 'Elton Kang', - agency: "People's Association (PA)", - text: 'With Form.sg, users can easily access the form with the comfort and convenience of their mobile phones. Although the product is not all-encompassing compared to other digital form platforms out in the market, Form.sg edges out its competitors in one main and critical aspect: security. Having to interface with multiple internal and external stakeholders, data security is of paramount importance and thus far, Form.sg is most effective when we used it for workshops, surveys, registration for programmes, and collation of personal particulars.', - }, - { - name: 'Regina Wang', - agency: 'National Environment Authority (NEA)', - text: 'We regularly hold industry briefing and will require collating industrial partners’ and external parties’ attendance. This takes a lot of effort using emails and excel. Using formsg, we cut down manpower to collate these registration details. The user experience feedback was positive and pleasant as well.', - }, - { - name: 'Ji Min Sheng', - agency: 'Municipal Services Office (MSO)', - text: 'Thank you GovTech for coming up with FormSG! FormSG provides a quick and structured way to consolidate information across agencies. It has improved the productivity of our officers by allowing them to highlight cases to other agencies on-the-go, and eliminated the need for manual collation of data. The clear form structure has also minimised clarification emails.', - }, - { - name: 'Jeremy Ang', - agency: 'Nanyang Junior College (NYJC)', - text: 'Our sincere thanks to GovTech for creating FormSG along with the macro script, data collation tool and SingPass verification. This is very useful on so many levels. We use it to collect data from the public, from students and from colleagues for a variety of applications, while still meeting IM8 requirements on personal data protection. The scripts and templates are easy to use and customisable and the option to integrate this with a Shared CES Inbox streamlines processes for our School Admin Team and teachers. With one click, we can aggregate the data into the format in that we need. It’s all done in less than a minute. We’ve also shared this with several other schools and they are very keen to use it too. Great job, GovTech!', - }, -] - -module.exports = { - examples, - testims, -} diff --git a/src/public/modules/core/services/gtag.client.service.js b/src/public/modules/core/services/gtag.client.service.js deleted file mode 100644 index d468f221ee..0000000000 --- a/src/public/modules/core/services/gtag.client.service.js +++ /dev/null @@ -1,513 +0,0 @@ -const UserService = require('../../../services/UserService') - -angular.module('core').factory('GTag', ['$rootScope', '$window', GTag]) - -function GTag($rootScope, $window) { - // Google Analytics tracking ID provided on signup. - const GATrackingID = $window.GATrackingID - let gtagService = {} - - const getUserEmail = () => { - const user = UserService.getUserFromLocalStorage() - return user && user.email - } - - /** - * Internal wrapper function to initialise GA with some globals - * - * @return {Void} - */ - const _gtagSetup = () => { - if (GATrackingID) { - $window.gtag('config', GATrackingID, { - custom_map: { - dimension1: 'form_id', - dimension2: 'message', - metric1: 'duration', - metric2: 'num_workers', - metric3: 'num_submissions', - metric4: 'err_count', - }, - }) - } - } - - /** - * Internal wrapper function for event tracking. - * Does not fire if GA Tracking ID is not provided. - * A list of default event names and parameters may be found here: - * https://developers.google.com/gtagjs/reference/event - * @param {String} eventName Name of the event to track. - * @param {Object} eventParams Event parameters to track. - * @return {Void} - */ - const _gtagEvents = (eventName, eventParams) => { - if (GATrackingID) { - $window.gtag('event', eventName, eventParams) - } - } - - /** - * Internal wrapper function to track page views by setting the gtag.js - * configuration. Does not fire if GA Tracking ID is not provided. - * - * @param {String} [pageTitle] The page's title. - * @param {String} [pagePath] The page's URL. - * @param {String} [pageLocation] The path portion of `location`. Must - * start with a slash (/) character. - * @return {Void} - */ - const _gtagPageview = ({ pageTitle, pagePath, pageLocation }) => { - if (GATrackingID) { - $window.gtag('config', GATrackingID, { - page_title: pageTitle, - page_path: pagePath, - page_location: pageLocation, - }) - } - } - - // Register custom dimensions and metrics - _gtagSetup() - - // Track pageviews by binding to UI-Router - $rootScope.$on('$stateChangeSuccess', ($event, $toState) => { - _gtagPageview({ - pageTitle: $toState.name, - pageLocation: $toState.templateUrl, - pagePath: $toState.url, - }) - }) - - /** - * Logs an admin user's success on login - * @param {String} loginMethod Login method e.g. 'otp' - * @return {Void} - */ - gtagService.loginSuccess = (loginMethod) => { - if (loginMethod) { - _gtagEvents('login', { - event_category: 'Login', - event_action: loginMethod + ' Login Successful', - method: loginMethod, - }) - } - } - - /** - * Logs an admin user's failure to login - * @param {String} loginMethod Login method e.g. 'otp' - * @return {Void} - */ - gtagService.loginFailure = (loginMethod, message) => { - if (loginMethod) { - let eventParams = { - event_category: 'Login', - event_action: loginMethod + ' Login Failure', - method: loginMethod, - } - if (message) eventParams.message = message - _gtagEvents('login', eventParams) - } - } - - /** - * Logs an admin user's failure to create form - * @param {Object} form The form object - * @return {Void} - */ - gtagService.createFormFailed = () => { - _gtagEvents('create_form', { - event_category: 'Create Form', - event_action: 'Create Form failed', - event_label: getUserEmail(), - }) - } - - /** - * Logs an admin user landing on the Examples tab. - * @return {Void} - */ - gtagService.examplesVisitPage = () => { - _gtagEvents('search', { - event_category: 'Examples', - event_action: 'Visit Examples', - }) - } - - /** - * Logs an admin user's search term from the search bar on the Examples tab. - * @return {Void} - */ - gtagService.examplesSearchTerm = (searchTerm) => { - if (searchTerm) { - _gtagEvents('search', { - search_term: searchTerm, - event_category: 'Examples', - event_action: 'Search Examples', - event_label: searchTerm, - }) - } - } - - /** - * Logs an admin user's click upon selecting a form on the Examples tab. - * @param {Object} form The form object - * @return {Void} - */ - gtagService.examplesClickOpenTemplate = (form) => { - _gtagEvents('search', { - event_category: 'Examples', - event_action: 'Click Open Template', - event_label: `${form.title} (${form._id})`, - form_id: form._id, - }) - } - - /** - * Logs an admin user's click to close a form template on the Examples modal - * after selecting a form. - * @param {Object} form The form object - * @return {Void} - */ - gtagService.examplesClickCloseTemplate = (form) => { - _gtagEvents('search', { - event_category: 'Examples', - event_action: 'Click Close Template', - event_label: `${form.title} (${form._id})`, - form_id: form._id, - }) - } - - /** - * Logs an admin user's click to create a form from the Examples modal. - * @param {Object} form The form object - * @return {Void} - */ - gtagService.examplesClickCreateNewForm = (form) => { - _gtagEvents('search', { - event_category: 'Examples', - event_action: 'Click Create New Form', - event_label: `${form.title} (${form._id})`, - form_id: form._id, - }) - } - - /** - * Logs an admin user's click to create a form from scratch - * @param {Object} form The form object - * @return {Void} - */ - gtagService.covid19ClickCreateFromScratch = () => { - _gtagEvents('create_template', { - event_category: 'COVID19 Template', - event_action: 'Click Create From Scratch', - }) - } - - /** - * Logs an admin user's click upon selecting a COVID19 template - * @param {Object} form The form object - * @return {Void} - */ - gtagService.covid19ClickOpenTemplate = (template) => { - _gtagEvents('create_template', { - event_category: 'COVID19 Template', - event_action: 'Click Open Template', - event_label: template.title, - }) - } - - /** - * Logs an admin user's click to close a COVID19 template preview - * @param {Object} form The form object - * @return {Void} - */ - gtagService.covid19ClickCloseTemplate = (template) => { - _gtagEvents('create_template', { - event_category: 'COVID19 Template', - event_action: 'Click Close Template', - event_label: template.title, - }) - } - - /** - * Logs an admin user's click to create a form from COVID19 template modal. - * @param {Object} form The form object - * @return {Void} - */ - gtagService.covid19ClickUseTemplate = (template) => { - _gtagEvents('create_template', { - event_category: 'COVID19 Template', - event_action: 'Click Use Template', - event_label: template.title, - }) - } - - /** - * Internal wrapper function for logging Public Form events - * @param {Object} form The form object - * @param {String} eventAction The Google Analytics event_action - * @param {[Date]} startDate An optional start date to track duration - * @param {[Date]} endDate An optional end date to track duration - * @param {String} message An optional message for the event - * @constructor - * @return {Void} - */ - function _gtagPublicFormEvents( - form, - eventAction, - startDate, - endDate, - message, - ) { - let eventParams = { - event_category: 'Public Form', - event_action: eventAction, - event_label: `${form.title} (${form._id})`, - form_id: form._id, - } - - if (startDate && endDate && endDate > startDate) { - eventParams.duration = (endDate - startDate) / 1000 // seconds - } - - if (message) { - eventParams.message = message - } - - _gtagEvents('public_form', eventParams) - } - - /** - * Logs a visit to a published form - * @param {Object} form The form object - * @return {Void} - */ - gtagService.visitPublicForm = (form) => { - if (!form.isPreview && form.status === 'PUBLIC') { - _gtagPublicFormEvents(form, 'Visit Public Form') - } - } - - /** - * Logs a successful public form submission - * @param {Object} form The form object - * @param {Date} startDate The start date - * @param {Date} endDate The end date - * @return {Void} - */ - gtagService.submitFormSuccess = (form, startDate, endDate) => { - if (!form.isPreview && form.status === 'PUBLIC') { - _gtagPublicFormEvents( - form, - 'Submit Public Form Success', - startDate, - endDate, - ) - } - } - - /** - * Logs a failed public form submission - * @param {Object} form The form object - * @param {Date} startDate The start date - * @param {Date} endDate The end date - * @return {Void} - */ - gtagService.submitFormFailure = (form, startDate, endDate, message) => { - if (!form.isPreview && form.status === 'PUBLIC') { - _gtagPublicFormEvents( - form, - 'Submit Public Form Failure', - startDate, - endDate, - message, - ) - } - } - - /** - * Logs a form-filler's use of the persistent login feature - * @param {Object} form The form object - * @return {Void} - */ - gtagService.persistentLoginUse = (form) => { - if (!form.isPreview && form.status === 'PUBLIC') { - _gtagEvents('public_form', { - event_category: 'Public Form', - event_action: 'Persistent Login', - }) - } - } - - /** - * Logs a successful public form submission where persistent session was used - * @param {Object} form The form object - * @param {Date} start Time since persistent login. - * @param {Date} endDate Time of successful form submission. - * @return {Void} - */ - gtagService.formSubmitWithPersistentSession = (form, start, end) => { - if (!form.isPreview && form.status === 'PUBLIC') { - _gtagPublicFormEvents( - form, - 'Submit Public Form with Persistent Session', - start, - end, - ) - } - } - - /** - * Logs the start of a storage mode responses download. - * @param {Object} params The response params object - * @param {String} params.formId ID of the form - * @param {String} params.formTitle The title of the form - * @param {number} expectedNumSubmissions The expected number of submissions to download - * @param {number} numWorkers The number of decryption workers - * @return {Void} - */ - gtagService.downloadResponseStart = ( - params, - expectedNumSubmissions, - numWorkers, - ) => { - _gtagEvents('storage', { - event_category: 'Storage Mode Form', - event_action: 'Download start', - event_label: `${params.formTitle} (${params.formId}), ${getUserEmail()}`, - form_id: params.formId, - num_workers: numWorkers, - num_submissions: expectedNumSubmissions, - }) - } - - /** - * Logs a successful storage mode responses download. - * @param {Object} params The response params object - * @param {String} params.formId ID of the form - * @param {String} params.formTitle The title of the form - * @param {number} downloadedNumSubmissions The number of submissions downloaded - * @param {number} numWorkers The number of decryption workers - * @param {number} duration The duration taken by the download - * @return {Void} - */ - gtagService.downloadResponseSuccess = ( - params, - downloadedNumSubmissions, - numWorkers, - duration, - ) => { - _gtagEvents('storage', { - event_category: 'Storage Mode Form', - event_action: 'Download success', - event_label: `${params.formTitle} (${params.formId}), ${getUserEmail()}`, - form_id: params.formId, - duration: duration, - num_workers: numWorkers, - num_submissions: downloadedNumSubmissions, - }) - } - - /** - * Logs a failed storage mode responses download. - * @param {Object} params The response params object - * @param {String} params.formId ID of the form - * @param {String} params.formTitle The title of the form - * @param {number} numWorkers The number of decryption workers - * @param {number} expectedNumSubmissions The expected number of submissions - * @param {number} duration The duration taken by the download - * @param {string} errorMessage The error message for the failure - * @return {Void} - */ - gtagService.downloadResponseFailure = ( - params, - numWorkers, - expectedNumSubmissions, - duration, - errorMessage, - ) => { - _gtagEvents('storage', { - event_category: 'Storage Mode Form', - event_action: 'Download failure', - event_label: `${params.formTitle} (${params.formId}), ${getUserEmail()}`, - form_id: params.formId, - duration: duration, - num_workers: numWorkers, - num_submissions: expectedNumSubmissions, - message: errorMessage, - }) - } - - /** - * Logs a failed attempt to even start storage mode responses download. - * @param {Object} params The response params object - * @param {String} params.formId ID of the form - * @param {String} params.formTitle The title of the form - * @param {string} errorMessage The error message for the failure - * @return {Void} - */ - gtagService.downloadNetworkFailure = (params, errorMessage) => { - _gtagEvents('storage', { - event_category: 'Storage Mode Form', - event_action: 'Network failure', - event_label: `${params.formTitle} (${params.formId}), ${getUserEmail()}`, - form_id: params.formId, - message: errorMessage, - }) - } - - /** - * Logs partial (or full) decryption failure when downloading responses. - * @param {Object} params The response params object - * @param {String} params.formId ID of the form - * @param {String} params.formTitle The title of the form - * @param {number} numWorkers The number of decryption workers - * @param {number} expectedNumSubmissions The expected number of submissions - * @param {number} errorCount The number of submissions that failed to decrypt - * @param {number} attachmentErrorCount The number of submissions attachments that failed to download (if any were requested) - * @param {number} duration The duration taken by the download - * @return {Void} - */ - gtagService.partialDecryptionFailure = ( - params, - numWorkers, - expectedNumSubmissions, - errorCount, - attachmentErrorCount, - duration, - ) => { - _gtagEvents('storage', { - event_category: 'Storage Mode Form', - event_action: 'Partial decrypt error', - event_label: `${params.formTitle} (${params.formId}), ${getUserEmail()}`, - form_id: params.formId, - duration: duration, - num_workers: numWorkers, - num_submissions: expectedNumSubmissions, - err_count: errorCount, - attachment_err_count: attachmentErrorCount, - }) - } - - /** - * Logs clicking on mailto link to share form secret key with collaborators. - */ - gtagService.clickSecretKeyMailto = (formTitle) => { - _gtagEvents('storage', { - event_category: 'Storage Mode Form', - event_action: 'Secret key mailto clicked', - event_label: formTitle, - }) - } - - /** - * Logs client form reCAPTCHA onError. - */ - gtagService.reCaptchaOnError = (form) => { - _gtagPublicFormEvents(form, 'reCAPTCHA connection failure') - } - - return gtagService -} diff --git a/src/public/modules/core/views/edit-contact-number-modal.view.html b/src/public/modules/core/views/edit-contact-number-modal.view.html deleted file mode 100644 index af7dd4795d..0000000000 --- a/src/public/modules/core/views/edit-contact-number-modal.view.html +++ /dev/null @@ -1,178 +0,0 @@ -

    - -
    - -
    Emergency mobile number
    -
    - Please verify your mobile number so we can contact you in the unlikely - case of an urgent form issue. You can change this number later in user - settings. -
    -
    - -
    - -
    - - -
    -
    - - Invalid mobile number -
    -
    - - Please fill in required field -
    -
    - - Please verify your mobile number. -
    -
    - -
    -
    - - {{vm.contact.error}} -
    -
    - - -
    -
    - -
    -
    - - -
    - -
    -
    Verify your mobile number
    -
    - A text message with a verification code was just sent to you. The - code will be valid for 10 minutes. -
    -
    - -
    - - - -
    -
    - - Please fill in required field -
    -
    - - OTP must be 6 digits -
    -
    - -
    -
    - - {{vm.otp.error}} -
    -
    - - -
    - - -
    - -
    -
    - - -
    - - - in {{ vm.otp.countdown}} seconds - -
    -
    -
    - -
    -
    -
    diff --git a/src/public/modules/core/views/landing.client.view.html b/src/public/modules/core/views/landing.client.view.html deleted file mode 100644 index 5b2d9463da..0000000000 --- a/src/public/modules/core/views/landing.client.view.html +++ /dev/null @@ -1,760 +0,0 @@ - - -
    - - - -
    - -
    - - - - - -
    -
    - -
    - - - -
    - - -
    -
    - -
    - -
    -
    -
    -
    -
    -
    {{vm.stats.userCount | number}}
    -
    {{vm.stats.formCount | number}}
    -
    {{vm.stats.submissionCount | number}}
    -
    -
    -
    -
    -
    -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - -
    - -
    - -
    {{vm.stats.userCount}}
    -
    -
    {{vm.stats.formCount}}
    -
    -
    {{vm.stats.submissionCount}}
    -
    - -
    -
    - - - - -
    -
    - - - - - - -
    - - - - -
    -
    - -
    -
    -
    - -
    - -

    - -
    - -

    - -
    - -
    -
    -
    - -
    - -
    -
    -
    - -
    - -

    - -
    - -

    - -
    - - -
    - - -
    - - -
    - - -
    -
    -
    - -
    - -
    - -
    -
    -
    - -
    - -

    - -
    - -

    - -
    - -
    -
    -
    -
    - - - - -
    -
    How it works
    -
    -
      -
    • - -
    • -
    • - -
    • -
    - -
    - - - -
    - - -
    -
    - -
    -
    -
    1
    -
    -
    -
    -
    -
    - -
    -
    -
    2
    -
    - - -
    -
    -
    -
    -
    - -
    -
    -
    3
    -
    -
    -
    -
    -
    - -
    -
    -
    4
    -
    -
    -
    -
    -
    - -
    -
    -
    5
    -
    -
    -
    -
    -
    - - -
    -
    - -
    -
    -
    1
    -
    -
    -
    -
    -
    - -
    -
    -
    2
    -
    - - -
    -
    -
    -
    -
    - -
    -
    -
    3
    -
    -
    -
    -
    -
    - -
    -
    -
    4
    -
    -
    -
    -
    -
    - -
    -
    -
    5
    -
    -
    -
    -
    -
    - -
    - - - -
    - - -
    -
    - -
    -
    -
    1
    -
    -
    -
    -
    -
    - -
    -
    -
    2
    -
    -
    -
    -
    -
    - -
    -
    -
    3
    -
    -
    -
    -
    -
    - -
    -
    -
    4
    -
    -
    -
    -
    -
    - -
    -
    -
    5
    -
    -
    -
    -
    -
    - - -
    -
    - -
    -
    -
    1
    -
    -
    -
    -
    -
    - -
    -
    -
    2
    -
    -
    -
    -
    -
    - -
    -
    -
    3
    -
    -
    -
    -
    -
    - -
    -
    -
    4
    -
    -
    -
    -
    -
    - -
    -
    -
    5
    -
    -
    -
    -
    -
    - -
    -
    -
    -
    - - - - -
    -
    -
    -
    -
    {{testim.text}}
    -
    - {{testim.name}} -
    - {{testim.agency}} -
    -
    -
    - - - -
    - - - - -
    -
    -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    -
    - -
    diff --git a/src/public/modules/forms/admin/componentViews/edit-logic.client.view.html b/src/public/modules/forms/admin/componentViews/edit-logic.client.view.html deleted file mode 100644 index 064f2b3976..0000000000 --- a/src/public/modules/forms/admin/componentViews/edit-logic.client.view.html +++ /dev/null @@ -1,141 +0,0 @@ -
    - -
    - -
    - - Your form's logic has errors. Scroll down to fix them before sharing - your form. -
    - - -
    - - Only advanced users should attempt to implement conditional logic - within forms. -
    -
    - - -
    - You are responsible for testing whether the form logic you specify - works as expected. -
    -
    - You may receive warnings if your form logic is faulty. However, an - absence of errors does not mean that your form logic works. - Please test thoroughly. -
    -
    -
    - - -
    -
    -
    -
    -
    -
    IF
    -
    - -
    -
    - -
    -
    -
    - -
    - {{ vm.getFieldTitle(condition.fieldInfo) }} -
    -
    -
    - -
    Field not found
    -
    -
    -
    - {{condition.state}} {{vm.formatValue(condition.value)}} -
    -
    -
    -
    -
    THEN SHOW
    - -
    -
    -
    - -
    - {{ vm.getFieldTitle(fieldInfo) }} -
    -
    -
    - -
    Field not found
    -
    -
    -
    -
    -
    -
    THEN DISABLE FORM
    -
    -
    -
    - {{ logic.preventSubmitMessage }} -
    -
    -
    -
    -
    -
    -
    - - -
    - Add new logic -
    -
    -
    diff --git a/src/public/modules/forms/admin/componentViews/export-button.client.view.html b/src/public/modules/forms/admin/componentViews/export-button.client.view.html deleted file mode 100644 index 05ad75a168..0000000000 --- a/src/public/modules/forms/admin/componentViews/export-button.client.view.html +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/src/public/modules/forms/admin/componentViews/form-emails-input.client.view.html b/src/public/modules/forms/admin/componentViews/form-emails-input.client.view.html deleted file mode 100644 index d97d2fe392..0000000000 --- a/src/public/modules/forms/admin/componentViews/form-emails-input.client.view.html +++ /dev/null @@ -1,77 +0,0 @@ -
    -
    - - -
    -
    - -
    - -
    - - {{vm.emailInfoMsg}} -
    -
    -
    - - You must at least enter one email to receive responses -
    -
    - - Please enter valid email(s) (e.g. me@example.com) separated by - commas -
    -
    - - Please remove duplicate emails -
    -
    - - Please limit number of emails to 30 -
    -
    -
    diff --git a/src/public/modules/forms/admin/componentViews/form-title-input.client.view.html b/src/public/modules/forms/admin/componentViews/form-title-input.client.view.html deleted file mode 100644 index 4edbce3b36..0000000000 --- a/src/public/modules/forms/admin/componentViews/form-title-input.client.view.html +++ /dev/null @@ -1,50 +0,0 @@ -
    - -
    - -
    - -
    - - Form name cannot contain special characters. - Form name must be at least 4 characters. - Form name must be at most 200 characters. - Form name is required. -
    -
    - - It is advised to use a shorter, more succinct form name. -
    -
    diff --git a/src/public/modules/forms/admin/componentViews/response-views/response-attachment.client.view.html b/src/public/modules/forms/admin/componentViews/response-views/response-attachment.client.view.html deleted file mode 100644 index 88f9662708..0000000000 --- a/src/public/modules/forms/admin/componentViews/response-views/response-attachment.client.view.html +++ /dev/null @@ -1,11 +0,0 @@ -
    - Filename: - {{ vm.field.answer }} -
    - - There was a problem downloading the attachment. Please refresh and try - again. -
    -
    diff --git a/src/public/modules/forms/admin/componentViews/response-views/response-table.client.view.html b/src/public/modules/forms/admin/componentViews/response-views/response-table.client.view.html deleted file mode 100644 index 7df7e7511b..0000000000 --- a/src/public/modules/forms/admin/componentViews/response-views/response-table.client.view.html +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/src/public/modules/forms/admin/componentViews/response-views/response-title.client.view.html b/src/public/modules/forms/admin/componentViews/response-views/response-title.client.view.html deleted file mode 100644 index daf6ba02c1..0000000000 --- a/src/public/modules/forms/admin/componentViews/response-views/response-title.client.view.html +++ /dev/null @@ -1,6 +0,0 @@ -
    - - {{ vm.field.questionNumber ? vm.field.questionNumber + '.' : ''}} - - {{ vm.getPrefixedQuestion() }} -
    diff --git a/src/public/modules/forms/admin/componentViews/response-views/response.client.view.html b/src/public/modules/forms/admin/componentViews/response-views/response.client.view.html deleted file mode 100644 index dbfa773e07..0000000000 --- a/src/public/modules/forms/admin/componentViews/response-views/response.client.view.html +++ /dev/null @@ -1,19 +0,0 @@ - -
    - - - - - - -
    diff --git a/src/public/modules/forms/admin/componentViews/share-form.client.view.html b/src/public/modules/forms/admin/componentViews/share-form.client.view.html deleted file mode 100644 index 3baa3c894b..0000000000 --- a/src/public/modules/forms/admin/componentViews/share-form.client.view.html +++ /dev/null @@ -1,143 +0,0 @@ -
    -
    -
    - - - - - - - - - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - -
    -
    -
    diff --git a/src/public/modules/forms/admin/components/edit-logic.client.component.js b/src/public/modules/forms/admin/components/edit-logic.client.component.js deleted file mode 100644 index 2021929ddb..0000000000 --- a/src/public/modules/forms/admin/components/edit-logic.client.component.js +++ /dev/null @@ -1,116 +0,0 @@ -'use strict' - -const { LogicType } = require('../../../../../../shared/types') -const UpdateFormService = require('../../../../services/UpdateFormService') - -angular.module('forms').component('editLogicComponent', { - templateUrl: 'modules/forms/admin/componentViews/edit-logic.client.view.html', - bindings: { - myform: '=', - isLogicError: '<', - updateForm: '&', - }, - controller: [ - '$uibModal', - 'FormFields', - 'Toastr', - '$q', - editLogicComponentController, - ], - controllerAs: 'vm', -}) - -function editLogicComponentController($uibModal, FormFields, Toastr, $q) { - const vm = this - vm.LogicType = LogicType - const getNewCondition = function () { - return { - _id: Math.floor(100000 * Math.random()), - field: undefined, - state: undefined, - value: undefined, - ifValueType: 'number', - } - } - /** - * Retrieves the form field object from myform that matches the given fieldId. - * @param {String} fieldId The ID of the field to find from myform - * @returns {Object} The form field with the specified fieldId - */ - const getField = function (fieldId) { - return vm.myform.form_fields.find(function (field) { - return field._id === fieldId - }) - } - vm.getField = getField - - /** - * Maps an array of field IDs (Strings that are object IDs) to their corresponding fields in myform. - * @param {String[]} logicIds An array of field IDs - * @returns {Object[]} An array of form fields - */ - vm.mapIdsToFields = function (logicIds) { - return logicIds.map((id) => getField(id)) - } - - vm.getFieldTitle = FormFields.getFieldTitle - - /** - * Extract the field type of a form field object. - * @param {Object} field A form field object - * @returns {String} The field type of the form field - */ - vm.getFieldFieldType = function (field) { - return field && field.fieldType - } - - vm.formatValue = function (values) { - if (values instanceof Array) { - return values.join(' or ') - } - return values - } - - vm.addLogic = function () { - let newLogic = { - conditions: [getNewCondition()], - show: [], - } - - vm.openEditLogicModal(newLogic, true) - } - - vm.deleteLogic = function (logicIndex) { - const logicIdToDelete = vm.myform.form_logics[logicIndex]._id - $q.when(UpdateFormService.deleteFormLogic(vm.myform._id, logicIdToDelete)) - .then(() => { - vm.myform.form_logics.splice(logicIndex, 1) - }) - .catch((logicDeleteError) => { - console.error(logicDeleteError) - Toastr.error('Failed to delete logic, please refresh and try again!') - }) - } - - vm.openEditLogicModal = function (currLogic, isNew, logicIndex = -1) { - vm.editLogicModal = $uibModal.open({ - animation: true, - backdrop: 'static', - keyboard: false, - templateUrl: 'modules/forms/admin/views/edit-logic.client.modal.html', - windowClass: 'edit-modal-window full-page-modal', - controller: 'EditLogicModalController', - controllerAs: 'vm', - resolve: { - externalScope: () => ({ - currLogic, - isNew, - logicIndex, - getField, - getNewCondition, - myform: vm.myform, - }), - }, - }) - } -} diff --git a/src/public/modules/forms/admin/components/export-button.client.component.js b/src/public/modules/forms/admin/components/export-button.client.component.js deleted file mode 100644 index 360f395629..0000000000 --- a/src/public/modules/forms/admin/components/export-button.client.component.js +++ /dev/null @@ -1,11 +0,0 @@ -angular.module('forms').component('exportButtonComponent', { - templateUrl: - 'modules/forms/admin/componentViews/export-button.client.view.html', - bindings: { - onClick: '&', - isDisabled: '<', - isLoading: '<', - isFullWidth: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/admin/components/form-emails-input.client.component.js b/src/public/modules/forms/admin/components/form-emails-input.client.component.js deleted file mode 100644 index ea7e166568..0000000000 --- a/src/public/modules/forms/admin/components/form-emails-input.client.component.js +++ /dev/null @@ -1,22 +0,0 @@ -angular.module('forms').component('formEmailsInputComponent', { - templateUrl: - 'modules/forms/admin/componentViews/form-emails-input.client.view.html', - bindings: { - formData: '=', - formController: '=', - saveForm: '&', - }, - controllerAs: 'vm', - controller: ['$scope', formEmailsInputController], -}) - -function formEmailsInputController($scope) { - const vm = this - - $scope.$watch('vm.formData.emails', (newEmails) => { - vm.emailInfoMsg = - newEmails && String(newEmails).split(',').length === 1 - ? 'Recommended: at least 2 recipients to prevent response loss from bounced emails' - : null - }) -} diff --git a/src/public/modules/forms/admin/components/form-title-input.client.component.js b/src/public/modules/forms/admin/components/form-title-input.client.component.js deleted file mode 100644 index 266b9b0f72..0000000000 --- a/src/public/modules/forms/admin/components/form-title-input.client.component.js +++ /dev/null @@ -1,23 +0,0 @@ -angular.module('forms').component('formTitleInputComponent', { - templateUrl: - 'modules/forms/admin/componentViews/form-title-input.client.view.html', - bindings: { - formData: '=', - formController: '=', - saveForm: '&', - setFocus: '<', - }, - controllerAs: 'vm', - controller: formTitleInputController, -}) - -function formTitleInputController() { - const vm = this - vm.focusOnInput = () => { - if (vm.setFocus) { - setTimeout(() => { - angular.element('#settings-name').focus() - }, 100) - } - } -} diff --git a/src/public/modules/forms/admin/components/response-components/response-answer-array.client.component.js b/src/public/modules/forms/admin/components/response-components/response-answer-array.client.component.js deleted file mode 100644 index f6faa2bdf8..0000000000 --- a/src/public/modules/forms/admin/components/response-components/response-answer-array.client.component.js +++ /dev/null @@ -1,7 +0,0 @@ -angular.module('forms').component('responseAnswerArrayComponent', { - template: '{{ vm.field.answerArray.join(", ") }}', - bindings: { - field: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/admin/components/response-components/response-answer.client.component.js b/src/public/modules/forms/admin/components/response-components/response-answer.client.component.js deleted file mode 100644 index 22ea48847e..0000000000 --- a/src/public/modules/forms/admin/components/response-components/response-answer.client.component.js +++ /dev/null @@ -1,7 +0,0 @@ -angular.module('forms').component('responseAnswerComponent', { - template: '{{ vm.field.answer }}', - bindings: { - field: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/admin/components/response-components/response-attachment.client.component.js b/src/public/modules/forms/admin/components/response-components/response-attachment.client.component.js deleted file mode 100644 index ea4ec62922..0000000000 --- a/src/public/modules/forms/admin/components/response-components/response-attachment.client.component.js +++ /dev/null @@ -1,43 +0,0 @@ -const { triggerFileDownload } = require('../../../helpers/util') -const AdminSubmissionsService = require('../../../../../services/AdminSubmissionsService') - -angular.module('forms').component('responseAttachmentComponent', { - templateUrl: - 'modules/forms/admin/componentViews/response-views/response-attachment.client.view.html', - bindings: { - field: '<', - encryptionKey: '<', - }, - controllerAs: 'vm', - controller: ['$q', '$timeout', responseAttachmentComponentController], -}) - -function responseAttachmentComponentController($q, $timeout) { - const vm = this - - vm.downloadAndDecryptAttachment = function () { - vm.hasDownloadError = false - $q.when( - AdminSubmissionsService.downloadAndDecryptAttachment( - vm.field.downloadUrl, - vm.encryptionKey.secretKey, - ), - ) - .then((bytesArray) => { - if (!bytesArray) { - vm.hasDownloadError = true - return - } - // Construct a downloadable link and click on it to download the file - let blob = new Blob([bytesArray]) - // field.answer is the filename - triggerFileDownload(blob, vm.field.answer) - }) - .catch(() => { - // Use timeout to trigger digest cycle - $timeout(() => { - vm.hasDownloadError = true - }) - }) - } -} diff --git a/src/public/modules/forms/admin/components/response-components/response-table.client.component.js b/src/public/modules/forms/admin/components/response-components/response-table.client.component.js deleted file mode 100644 index 8ad892460f..0000000000 --- a/src/public/modules/forms/admin/components/response-components/response-table.client.component.js +++ /dev/null @@ -1,51 +0,0 @@ -const { TableField } = require('../../../viewmodels/Fields') -const get = require('lodash/get') - -angular.module('forms').component('responseTableComponent', { - templateUrl: - 'modules/forms/admin/componentViews/response-views/response-table.client.view.html', - bindings: { - field: '<', - }, - controllerAs: 'vm', - controller: ['$timeout', responseTableComponentController], -}) - -function responseTableComponentController($timeout) { - const vm = this - - vm.$onInit = () => { - vm.tableField = getDisplayedTable(vm.field) - } - - // Construct a locked TableField full of textfields so we can reuse the - // table component to render the results - const getDisplayedTable = (field) => { - const numCols = get(field, 'answerArray[0].length') - const columns = [] - for (let i = 0; i < numCols; i++) { - columns.push({ - columnType: 'textfield', - _id: `columnId${i}`, - required: true, - }) - } - const tableData = { - fieldType: 'table', - columns, - minimumRows: field.answerArray.length, - } - const tableField = new TableField(tableData) - // Use $timeout to trigger digest cycle - $timeout(() => { - tableField.lock() - // Manually modify TableField state to reflect field values - field.answerArray.forEach((row, rowIndex) => { - row.forEach((value, colIndex) => { - tableField.components[rowIndex][colIndex].fieldValue = value - }) - }) - }) - return tableField - } -} diff --git a/src/public/modules/forms/admin/components/response-components/response-title.client.component.js b/src/public/modules/forms/admin/components/response-components/response-title.client.component.js deleted file mode 100644 index 8197d63d6c..0000000000 --- a/src/public/modules/forms/admin/components/response-components/response-title.client.component.js +++ /dev/null @@ -1,24 +0,0 @@ -angular.module('forms').component('responseTitleComponent', { - templateUrl: - 'modules/forms/admin/componentViews/response-views/response-title.client.view.html', - bindings: { - field: '<', - }, - controllerAs: 'vm', - controller: responseTitleComponentController, -}) - -function responseTitleComponentController() { - const vm = this - - vm.getPrefixedQuestion = () => { - if (vm.field.signature) { - return `[verified] ${vm.field.question}` - } - - // Can extend for other types of fields such as verified fields in the - // future, similar to `email-submissions.server.controller` - - return vm.field.question - } -} diff --git a/src/public/modules/forms/admin/components/response-components/response.client.component.js b/src/public/modules/forms/admin/components/response-components/response.client.component.js deleted file mode 100644 index 886d203ff0..0000000000 --- a/src/public/modules/forms/admin/components/response-components/response.client.component.js +++ /dev/null @@ -1,9 +0,0 @@ -angular.module('forms').component('responseComponent', { - templateUrl: - 'modules/forms/admin/componentViews/response-views/response.client.view.html', - bindings: { - field: '<', - encryptionKey: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/admin/components/share-form.client.component.js b/src/public/modules/forms/admin/components/share-form.client.component.js deleted file mode 100644 index cbd8abd34e..0000000000 --- a/src/public/modules/forms/admin/components/share-form.client.component.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict' -const dedent = require('dedent-js') - -const UserService = require('../../../../services/UserService') - -angular.module('forms').component('shareFormComponent', { - templateUrl: 'modules/forms/admin/componentViews/share-form.client.view.html', - bindings: { - formId: '<', - isLogicError: '<', - status: '<', - userCanEdit: '<', - }, - controller: ['$state', '$translate', shareFormController], - controllerAs: 'vm', -}) - -function shareFormController($state, $translate) { - const vm = this - - vm.$onInit = () => { - $translate(['LINKS.APP.ROOT', 'APP_NAME']) - .then(function (translations) { - vm.appUrl = translations['LINKS.APP.ROOT'] - vm.appName = translations.APP_NAME - }) - .then(() => { - // Link for form sharing - server contains redirect endpoint - vm.sharedFormUrl = $state - .href('submitForm', { formId: vm.formId }, { absolute: true }) - .replace('/#!', '') - - vm.sharedFormUseTemplateUrl = $state - .href('useTemplate', { formId: vm.formId }, { absolute: true }) - .replace('/#!', '') - - // Formulate embedded HTML here - vm.embeddedHTML = dedent(` -
    If the form below is not loaded, you can also fill it in at here.
    - - - - -
    Powered by ${vm.appName}
    -`) - }) - } - - // Copied tooltip for both link and embed - vm.isCopied = [false, false] - vm.onSuccess = (index) => { - vm.isCopied[index] = true - setTimeout(() => { - vm.isCopied[index] = false - }, 1000) - } - - // Show different pro tip for user depending on their email - const user = UserService.getUserFromLocalStorage() - vm.isGovOfficer = user && String(user.email).endsWith('.gov.sg') -} diff --git a/src/public/modules/forms/admin/constants/covid19.js b/src/public/modules/forms/admin/constants/covid19.js deleted file mode 100644 index e3a6c39fa6..0000000000 --- a/src/public/modules/forms/admin/constants/covid19.js +++ /dev/null @@ -1,961 +0,0 @@ -/** - * COVID-19 Hardcoded Form Templates - * ================================= - * 1. COVID-19 Employee Feedback Form - * 2. Health and Travel Declaration - * 3. Temperature Taking - * 4. Volunteer Registration - * - * For each template, we remove the following top-level field: - * - _id - * - reponseMode (encrypt/email) - * - status (private/public) - * - * We also set admin.agency.logo to the FormSG logo URL - * Also added '.' to all the first sentence in the title. - */ - -const templates = [ - { - admin: { - agency: { - logo: 'https://s3-ap-southeast-1.amazonaws.com/agency-logo.form.sg/formsg-logo.svg', - }, - }, - authType: 'NIL', - endPage: { - title: 'We appreciate your feedback!', - buttonText: 'Submit another form', - buttonLink: '', - }, - form_fields: [ - { - fieldOptions: ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], - title: - 'How confident are you in fulfilling your work duties during this COVID-19 situation?', - description: '(1 = very low, 10 = very high)', - required: true, - disabled: false, - fieldType: 'dropdown', - _id: '5e83fff04013e50011d30388', - }, - { - fieldOptions: ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], - title: - 'How well have you adapted to the changes in working arrangements and environment caused by the COVID-19 situation?', - description: - 'e.g. telecommuting, work-from-home, split-team implementation\n(1 = very low, 10 = very high)', - required: true, - disabled: false, - fieldType: 'dropdown', - _id: '5e84001c4013e50011d303cc', - fieldValue: '', - }, - { - fieldOptions: ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], - title: - "How clear has the Organisation's communication with you been regarding and throughout this COVID-19 situation?", - description: - "e.g. management emails, HR's instructions, supervisor's briefings\n(1 = very low, 10 = very high)", - required: true, - disabled: false, - fieldType: 'dropdown', - _id: '5e84006a433b3b0011385204', - fieldValue: '', - }, - { - fieldOptions: ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], - title: - 'How comfortable do you feel raising any COVID-related issues or concerns to your supervisor?', - description: '(1 = very low, 10 = very high)', - required: true, - disabled: false, - fieldType: 'dropdown', - _id: '5e8400964013e50011d30478', - fieldValue: '', - }, - { - fieldOptions: ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], - title: - 'How well is the Organisation supporting you as an employee in this period?', - description: - 'e.g. IT support, support for alternative work arrangements and volunteering, well-being support such as hand sanitiser\n(1 = very low, 10 = very high)', - required: true, - disabled: false, - fieldType: 'dropdown', - _id: '5e8400d84013e50011d304dc', - fieldValue: '', - }, - { - fieldOptions: ['10', '9', '8', '7', '6', '5', '4', '3', '2', '1'], - title: - 'How confident are you that the Organisation has taken the necessary precautions to protect your well-being amidst the outbreak?', - description: '(1 = very low, 10 = very high)', - required: true, - disabled: false, - fieldType: 'dropdown', - _id: '5e8400fa433b3b00113852f4', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: - 'Is there any additional support you need to carry out your work during this period?', - description: '', - required: false, - disabled: false, - fieldType: 'textarea', - _id: '5e9614d878a996001147764b', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: 'Any other feedback or concerns you would like to share?', - description: '', - required: false, - disabled: false, - fieldType: 'textarea', - _id: '5e9614e70809d700111a239f', - fieldValue: '', - }, - { - autoReplyOptions: { - hasAutoReply: false, - autoReplySubject: '', - autoReplySender: '', - autoReplyMessage: '', - includeFormSummary: false, - }, - isVerifiable: false, - title: - "Please provide your work email address if you don't mind being contacted about your feedback", - description: '', - required: false, - disabled: false, - fieldType: 'email', - _id: '5e961d80fc26690011d0a0da', - fieldValue: '', - }, - ], - form_logics: [], - hasCaptcha: false, - startPage: { - colorTheme: 'grey', - logo: { - state: 'DEFAULT', - }, - estTimeTaken: 10, - paragraph: - 'How are employees coping with changes to working arrangements as we battle COVID-19?', - }, - title: 'COVID-19 Employee Feedback Form', - }, - { - admin: { - agency: { - logo: 'https://s3-ap-southeast-1.amazonaws.com/agency-logo.form.sg/formsg-logo.svg', - }, - }, - authType: 'NIL', - endPage: { - title: 'Thank you for submitting your declaration.', - buttonText: 'Submit another form', - buttonLink: '', - }, - form_fields: [ - { - title: 'Personal Particulars', - description: '', - required: true, - disabled: false, - fieldType: 'section', - _id: '5e96041878a99600114773d4', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: 'Full Name', - description: '', - required: true, - disabled: false, - fieldType: 'textfield', - _id: '5e3be2bf0001c00011b436f8', - fieldValue: '', - }, - { - fieldOptions: ['Singapore Citizen or Permanent Resident'], - othersRadioButton: true, - title: 'Nationality', - description: '', - required: true, - disabled: false, - fieldType: 'radiobutton', - _id: '5e3d2cd44bfa3c001134fad9', - }, - { - title: 'NRIC / FIN', - description: '', - required: true, - disabled: false, - fieldType: 'nric', - _id: '5e3d260b0001c00011b47d5f', - fieldValue: '', - }, - { - autoReplyOptions: { - hasAutoReply: false, - autoReplySubject: '', - autoReplySender: '', - autoReplyMessage: '', - includeFormSummary: false, - }, - isVerifiable: false, - title: 'Email Address', - description: '', - required: true, - disabled: false, - fieldType: 'email', - _id: '5e960aaa78a996001147750b', - fieldValue: '', - }, - { - title: 'Contact Number', - description: 'Singapore mobile number', - allowIntlNumbers: false, - isVerifiable: false, - required: true, - disabled: false, - fieldType: 'mobile', - _id: '5e3d328bae17b00011e729fb', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: 'Residential Address', - description: 'Block, street name and unit number, where applicable', - required: true, - disabled: false, - fieldType: 'textarea', - _id: '5e3bd959c29ac50011eb8fbc', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: 6, - selectedValidation: 'Exact', - }, - title: 'Postal Code', - description: 'Singapore 6-digit postal code', - required: true, - disabled: false, - fieldType: 'number', - _id: '5e9604cb0809d700111a2185', - fieldValue: '', - }, - { - title: 'Health Declaration', - description: '', - required: true, - disabled: false, - fieldType: 'section', - _id: '5e3d310b4bfa3c001134fc2a', - fieldValue: '', - }, - { - title: - 'Have you, or anyone living with you, been diagnosed with COVID-19?', - description: '', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d3118e41f590012017548', - }, - { - title: - 'Are you, or anyone living with you, experiencing respiratory or flu-like symptoms?', - description: - 'Fever, shortness of breath, cough, sore throat, runny nose, body ache, headache', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d3169f9a57600115a03a0', - }, - { - title: - 'Are you, or anyone living with you, under a Home Quarantine Order, Stay Home Notice, or Leave of Absence?', - description: '', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d3123ebccff001168e9c3', - }, - { - title: - 'Within the past 14 days, have you or anyone living with you had close contact with', - description: - '- A confirmed COVID-19 case, or\n- Anyone under Home Quarantine Order?', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d31950408ad001131cf56', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: - "Please provide details for all the questions you checked '✓ Yes' to.", - description: '', - required: true, - disabled: false, - fieldType: 'textarea', - _id: '5e3d31ddc29ac50011ebd973', - fieldValue: '', - }, - { - title: 'Travel Declaration', - description: '', - required: true, - disabled: false, - fieldType: 'section', - _id: '5e96069e78a9960011477452', - fieldValue: '', - }, - { - title: - 'Have you, or anyone living with you, travelled overseas in the past 14 days?', - description: '', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d3134f9a57600115a0391', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: - 'For all locations travelled to, please list traveller details, country, city and travel dates (dd/mm/yyyy)', - description: - 'e.g. Sister living with me, France, Paris, 01/02/2020 - 28/02/2020', - required: true, - disabled: false, - fieldType: 'textarea', - _id: '5e9609640809d700111a223c', - fieldValue: '', - }, - { - dateValidation: { - customMinDate: null, - customMaxDate: null, - selectedDateValidation: null, - }, - title: 'Date of return to Singapore', - description: '', - required: true, - disabled: false, - fieldType: 'date', - _id: '5e3ed8b45203c3001108bbc9', - fieldValue: '', - }, - { - title: 'Last Temperature Recorded', - description: '', - required: true, - disabled: false, - fieldType: 'section', - _id: '5e96092efc26690011d09e76', - fieldValue: '', - }, - { - dateValidation: { - customMinDate: null, - customMaxDate: null, - selectedDateValidation: null, - }, - title: 'Date of last temperature recording', - description: '', - required: true, - disabled: false, - fieldType: 'date', - _id: '5e960ad1fc26690011d09edc', - fieldValue: '', - }, - { - ValidationOptions: { - customMin: 35, - customMax: 45, - }, - validateByValue: true, - title: 'Last temperature recorded', - description: - 'Enter your last temperature recorded to the nearest decimal place (e.g. 36.5)', - required: true, - disabled: false, - fieldType: 'decimal', - _id: '5e960b0bfc26690011d09ee6', - fieldValue: '', - }, - { - ValidationOptions: { - customMin: null, - customMax: null, - }, - fieldOptions: [ - 'I declare that all information provided above is true, correct and accurate.', - ], - othersRadioButton: false, - validateByValue: false, - title: 'Declaration', - description: '', - required: true, - disabled: false, - fieldType: 'checkbox', - _id: '5e3cc7d7f1bd9500112b336c', - fieldValue: [false, false], - }, - ], - form_logics: [ - { - show: ['5e9609640809d700111a223c', '5e3ed8b45203c3001108bbc9'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '2985', - field: '5e3d3134f9a57600115a0391', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e3d338cf1bd9500112b5570', - }, - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '36446', - field: '5e3d3169f9a57600115a03a0', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e3d33a10001c00011b481d8', - }, - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '72041', - field: '5e3d31950408ad001131cf56', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e3d33b4c29ac50011ebd9fe', - }, - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '63179', - field: '5e3d3118e41f590012017548', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e960a29fc26690011d09ec7', - }, - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '30746', - field: '5e3d3123ebccff001168e9c3', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e960a4c78a99600114774fd', - }, - ], - hasCaptcha: true, - startPage: { - colorTheme: 'blue', - logo: { - state: 'DEFAULT', - }, - estTimeTaken: 5, - paragraph: 'For visitors, staff and event attendees.', - }, - title: 'Health and Travel Declaration', - }, - { - admin: { - agency: { - logo: 'https://s3-ap-southeast-1.amazonaws.com/agency-logo.form.sg/formsg-logo.svg', - }, - }, - authType: 'NIL', - endPage: { - title: 'Thank you for filling out the form.', - buttonText: 'Submit another form', - buttonLink: '', - paragraph: - 'Please be reminded that you are to submit your daily temperature taken via this form.', - }, - form_fields: [ - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: 'Full Name', - description: '', - required: true, - disabled: false, - fieldType: 'textfield', - _id: '5e960d0a78a996001147755b', - fieldValue: '', - }, - { - autoReplyOptions: { - hasAutoReply: false, - autoReplySubject: '', - autoReplySender: '', - autoReplyMessage: '', - includeFormSummary: false, - }, - isVerifiable: false, - title: 'Work Email', - description: '', - required: true, - disabled: false, - fieldType: 'email', - _id: '5e960f130809d700111a2309', - fieldValue: '', - }, - { - dateValidation: { - customMinDate: null, - customMaxDate: null, - selectedDateValidation: null, - }, - title: 'Date', - description: '', - required: true, - disabled: false, - fieldType: 'date', - _id: '5e41399e4d8c1600113a1738', - fieldValue: '', - }, - { - fieldOptions: ['AM', 'PM'], - othersRadioButton: false, - title: 'Time', - description: 'Please select either AM or PM', - required: true, - disabled: false, - fieldType: 'radiobutton', - _id: '5e4134ea4ed7dc00111c2aea', - fieldValue: '', - }, - { - ValidationOptions: { - customMin: 35, - customMax: 45, - }, - validateByValue: true, - title: 'Temperature', - description: - 'Enter your temperature in degrees Celsius (°C) to the nearest decimal place (e.g. 36.5)', - required: true, - disabled: false, - fieldType: 'decimal', - _id: '5e9611b378a99600114775f4', - fieldValue: '', - }, - { - title: 'Are you experiencing any respiratory or flu-like symptoms?', - description: - 'e.g. fever, shortness of breath, cough, sore throat, running nose, headache, body ache', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e45e9b190b2a700117bfcb5', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: 'Please specify which symptoms', - description: '', - required: true, - disabled: false, - fieldType: 'textfield', - _id: '5e4144d24d8c1600113a1914', - fieldValue: '', - }, - ], - form_logics: [ - { - show: ['5e4144d24d8c1600113a1914'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '79576', - field: '5e45e9b190b2a700117bfcb5', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e4647ee351f7400111dee15', - }, - ], - hasCaptcha: false, - startPage: { - colorTheme: 'green', - logo: { - state: 'DEFAULT', - }, - estTimeTaken: 1, - paragraph: - 'Submit daily temperature recordings via this form.\n\nFor automated alerts of ≥38°C and missing temperature reports, please onboard your agency using the TemperatureSG Whitelist Form.', - }, - title: 'Temperature Taking', - }, - { - admin: { - agency: { - logo: 'https://s3-ap-southeast-1.amazonaws.com/agency-logo.form.sg/formsg-logo.svg', - }, - }, - authType: 'NIL', - endPage: { - title: 'Thank you for registering your interest.', - buttonText: 'Submit another form', - buttonLink: '', - paragraph: - 'Our volunteer management team will be in touch with you shortly.', - }, - form_fields: [ - { - title: 'Personal Particulars', - description: '', - required: true, - disabled: false, - fieldType: 'section', - _id: '5e96041878a99600114773d4', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: 'Full Name', - description: '', - required: true, - disabled: false, - fieldType: 'textfield', - _id: '5e3be2bf0001c00011b436f8', - fieldValue: '', - }, - { - autoReplyOptions: { - hasAutoReply: false, - autoReplySubject: '', - autoReplySender: '', - autoReplyMessage: '', - includeFormSummary: false, - }, - isVerifiable: false, - title: 'Email Address', - description: '', - required: true, - disabled: false, - fieldType: 'email', - _id: '5e960aaa78a996001147750b', - fieldValue: '', - }, - { - title: 'Contact Number', - description: 'Singapore mobile number', - allowIntlNumbers: false, - isVerifiable: false, - required: true, - disabled: false, - fieldType: 'mobile', - _id: '5e3d328bae17b00011e729fb', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: 'Residential Address', - description: 'Block, street name and unit number, where applicable', - required: true, - disabled: false, - fieldType: 'textarea', - _id: '5e3bd959c29ac50011eb8fbc', - fieldValue: '', - }, - { - ValidationOptions: { - customVal: 6, - selectedValidation: 'Exact', - }, - title: 'Postal Code', - description: 'Singapore 6-digit postal code', - required: true, - disabled: false, - fieldType: 'number', - _id: '5e9604cb0809d700111a2185', - fieldValue: '', - }, - { - title: 'Availability', - description: '', - required: true, - disabled: false, - fieldType: 'section', - _id: '5e9619b178a99600114776bf', - fieldValue: '', - }, - { - ValidationOptions: { - customMin: 1, - customMax: null, - }, - fieldOptions: [ - 'Monday', - 'Tuesday', - 'Wednesday', - 'Thursday', - 'Friday', - 'Saturday', - 'Sunday', - ], - othersRadioButton: false, - validateByValue: true, - title: 'Preferred Days', - description: 'Check all that apply', - required: true, - disabled: false, - fieldType: 'checkbox', - _id: '5e961a8278a99600114776d6', - fieldValue: [false, false, false, false, false, false, false, false], - }, - { - ValidationOptions: { - customMin: 1, - customMax: null, - }, - fieldOptions: ['1 Jul 2020', '2 Jul 2020', '3 Jul 2020'], - othersRadioButton: false, - validateByValue: true, - title: 'Preferred Dates', - description: 'Check all that apply', - required: true, - disabled: false, - fieldType: 'checkbox', - _id: '5e961a3178a99600114776ca', - fieldValue: [false, false, false, false], - }, - { - ValidationOptions: { - customMin: 1, - customMax: null, - }, - fieldOptions: [ - '9.00am - 12.00pm', - '1.00pm - 4.00pm', - '6.00pm - 9.00pm', - ], - othersRadioButton: false, - validateByValue: true, - title: 'Preferred Timeslots', - description: 'Check all that apply', - required: true, - disabled: false, - fieldType: 'checkbox', - _id: '5e961b410809d700111a244d', - fieldValue: [false, false, false, false], - }, - { - ValidationOptions: { - customMin: 1, - customMax: null, - }, - fieldOptions: ['North', 'South', 'East', 'West', 'Central'], - othersRadioButton: false, - validateByValue: true, - title: 'Preferred Locations', - description: 'Check all that apply', - required: true, - disabled: false, - fieldType: 'checkbox', - _id: '5e961b8d0809d700111a2458', - fieldValue: [false, false, false, false, false, false], - }, - { - title: 'Health Declaration', - description: '', - required: true, - disabled: false, - fieldType: 'section', - _id: '5e3d310b4bfa3c001134fc2a', - fieldValue: '', - }, - { - title: - 'Have you, or anyone living with you, been diagnosed with COVID-19?', - description: '', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d3118e41f590012017548', - }, - { - title: - 'Are you, or anyone living with you, experiencing respiratory or flu-like symptoms?', - description: - 'Fever, shortness of breath, cough, sore throat, runny nose, body ache, headache', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d3169f9a57600115a03a0', - }, - { - title: - 'Are you, or anyone living with you, under a Home Quarantine Order, Stay Home Notice, or Leave of Absence?', - description: '', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d3123ebccff001168e9c3', - }, - { - title: - 'Within the past 14 days, have you or anyone living with you had close contact with', - description: - '- A confirmed COVID-19 case, or\n- Anyone under Home Quarantine Order?', - required: true, - disabled: false, - fieldType: 'yes_no', - _id: '5e3d31950408ad001131cf56', - }, - { - ValidationOptions: { - customVal: null, - selectedValidation: null, - }, - title: - "Please provide details for all the questions you checked '✓ Yes' to.", - description: '', - required: true, - disabled: false, - fieldType: 'textarea', - _id: '5e3d31ddc29ac50011ebd973', - fieldValue: '', - }, - ], - form_logics: [ - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '36446', - field: '5e3d3169f9a57600115a03a0', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e3d33a10001c00011b481d8', - }, - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '72041', - field: '5e3d31950408ad001131cf56', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e3d33b4c29ac50011ebd9fe', - }, - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '63179', - field: '5e3d3118e41f590012017548', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e960a29fc26690011d09ec7', - }, - { - show: ['5e3d31ddc29ac50011ebd973'], - logicType: 'showFields', - conditions: [ - { - ifValueType: 'single-select', - _id: '30746', - field: '5e3d3123ebccff001168e9c3', - state: 'is equals to', - value: 'Yes', - }, - ], - _id: '5e960a4c78a99600114774fd', - }, - ], - hasCaptcha: true, - startPage: { - colorTheme: 'red', - logo: { - state: 'DEFAULT', - }, - estTimeTaken: 5, - paragraph: - 'Collect volunteer particulars, availability and health declarations.', - }, - title: 'Volunteer Registration', - }, -] - -module.exports = { templates } diff --git a/src/public/modules/forms/admin/constants/update-form-types.ts b/src/public/modules/forms/admin/constants/update-form-types.ts deleted file mode 100644 index e2bd8606a0..0000000000 --- a/src/public/modules/forms/admin/constants/update-form-types.ts +++ /dev/null @@ -1,7 +0,0 @@ -export const UPDATE_FORM_TYPES = { - UpdateField: 'update-field', - CreateField: 'create-field', - DeleteField: 'delete-field', - DuplicateField: 'duplicate-field', - ReorderField: 'reorder-field', -} diff --git a/src/public/modules/forms/admin/controllers/activate-form-modal.client.controller.js b/src/public/modules/forms/admin/controllers/activate-form-modal.client.controller.js deleted file mode 100644 index 0c7de8ce9c..0000000000 --- a/src/public/modules/forms/admin/controllers/activate-form-modal.client.controller.js +++ /dev/null @@ -1,138 +0,0 @@ -const dedent = require('dedent-js') - -angular - .module('forms') - .controller('ActivateFormController', [ - '$uibModalInstance', - '$timeout', - '$q', - 'externalScope', - 'MailTo', - ActivateFormController, - ]) - -function ActivateFormController( - $uibModalInstance, - $timeout, - $q, - externalScope, - MailTo, -) { - let { updateFormStatusAndSave, checks, formParams } = externalScope - - const vm = this - - const checkEnum = Object.freeze({ default: 0, esrvcId: 1, password: 2 }) - vm.checkEnum = checkEnum - vm.checkStatus = checkEnum.default - vm.remainingChecks = Object.keys(checks).length // Decrement for every successful check - - // 0 - Check not yet initialized / completed - // 1 - Loading SPCP website to check E-Service Id - // 2 - Check is completed - vm.esrvcIdStatus = 0 - - // 0 - Not yet saved - // 1 - Is saving - // 2 - Is saved - vm.savingStatus = 0 - - vm.publicKey = _.get(checks, 'passwordParams.publicKey', '') // Pass it to verify-secret-key directive - - vm.closeActivateFormModal = function () { - $uibModalInstance.close() - } - - vm.initializeChecks = function () { - const { eSrvcIdParams, passwordParams } = checks - if (eSrvcIdParams) { - vm.checkStatus = checkEnum.esrvcId // Initiate the check for e-service id first automatically - checkESrvcId(eSrvcIdParams).then((isEsrvcIdValid) => { - if (isEsrvcIdValid) { - $timeout(() => { - vm.remainingChecks-- - }, 500) - if (passwordParams) { - // If we also need to check password - $timeout(() => { - vm.checkStatus = checkEnum.password // Move to the view for checking password - }, 1000) - } else { - // Save - vm.savingStatus = 1 - const toastMessage = dedent` - Congrats! Your form is now live.
    For high-traffic forms, - - AutoArchive your mailbox to prevent lost responses. - ` - return updateFormStatusAndSave(toastMessage, { - timeOut: 10000, - extendedTimeOut: 10000, - skipLinky: true, - }).then(() => { - vm.savingStatus = 2 - }) - } - } - // If the e-service id is not valid, don't do anything, let the user close the modal manually - }) - } else if (!eSrvcIdParams && passwordParams) { - vm.checkStatus = checkEnum.password // password only - // Check is initiated by user uploading a file - } - } - - const checkESrvcId = ({ authType, esrvcId }) => { - const updateDisplay = (error, success, waitDuration = 500) => { - $timeout(() => { - if (error) vm.esrvcIdError = error - if (success) vm.esrvcIdSuccess = success - vm.esrvcIdStatus = 2 - }, waitDuration) - } - - $timeout(() => { - vm.esrvcIdStatus = 1 - }) - - if (['SP', 'CP', 'MyInfo'].includes(authType) && esrvcId !== '') { - // CorpPass doesn't return any error page even with the wrong e-service id - // With transition to OIDC, SP does not return any error page even with the wrong e-service id - updateDisplay(null, { authType, esrvcId }, 0) - return Promise.resolve(true) - } else if (authType === 'SGID') { - // sgID doesn't have an esrvcId - updateDisplay(null, { authType }, 0) - return Promise.resolve(true) - } - } - - vm.passwordCallback = function ({ encryptionKey }) { - if (encryptionKey !== null) { - vm.remainingChecks-- - vm.savingStatus = 1 - MailTo.generateMailToUri( - formParams.title, - encryptionKey.secretKey, - formParams._id, - ) - .then((mailToUri) => { - const toastMessage = dedent` - Congrats! Your form is now live.
    - - Email secret key to colleagues for safekeeping. - - ` - return updateFormStatusAndSave(toastMessage, { - timeOut: 10000, - extendedTimeOut: 10000, - skipLinky: true, - }) - }) - .then(() => { - vm.savingStatus = 2 - vm.closeActivateFormModal() - }) - } - } -} diff --git a/src/public/modules/forms/admin/controllers/admin-form.client.controller.js b/src/public/modules/forms/admin/controllers/admin-form.client.controller.js deleted file mode 100644 index cca0b34945..0000000000 --- a/src/public/modules/forms/admin/controllers/admin-form.client.controller.js +++ /dev/null @@ -1,393 +0,0 @@ -'use strict' - -const { StatusCodes } = require('http-status-codes') -const get = require('lodash/get') -const moment = require('moment-timezone') -const { LogicType } = require('../../../../../../shared/types') -const UpdateFormService = require('../../../../services/UpdateFormService') -const UserService = require('../../../../services/UserService') -const FieldFactory = require('../../helpers/field-factory') -const { UPDATE_FORM_TYPES } = require('../constants/update-form-types') - -// All viewable tabs. readOnly is true if that tab cannot be used to edit form. -const VIEW_TABS = [ - { title: 'Build', route: 'build', readOnly: false }, - { title: 'Logic', route: 'logic', readOnly: false }, - { title: 'Settings', route: 'settings', readOnly: false }, - { title: 'Share', route: 'share', readOnly: true }, - { title: 'Data', route: 'results', readOnly: true }, -] - -// TODO: refactor canUserEdit into its own service -function canUserEdit(form, user) { - const { email: userEmail } = user - const { email: adminEmail } = form.admin - return ( - userEmail === adminEmail || - form.permissionList.some( - (permissions) => permissions.write && permissions.email === userEmail, - ) - ) -} - -function getViewTabs(canEdit) { - return canEdit ? VIEW_TABS : VIEW_TABS.filter((tab) => tab.readOnly) -} - -// Forms controller -angular - .module('forms', ['ng-drag-scroll']) - .controller('AdminFormController', [ - '$q', - '$scope', - '$translate', - '$uibModal', - 'FormData', - 'FormFields', - 'Toastr', - '$state', - '$window', - 'FormApi', - AdminFormController, - ]) - -function AdminFormController( - $q, - $scope, - $translate, - $uibModal, - FormData, - FormFields, - Toastr, - $state, - $window, - FormApi, -) { - // Banner message on form builder routes - $scope.bannerContent = $window.siteBannerContent || $window.adminBannerContent - $scope.myform = FormData.form - - // Redirect to signin if unable to get user - $scope.user = - UserService.getUserFromLocalStorage() || - $state.go( - 'signin', - { - targetState: 'viewForm', - targetFormId: $scope.myform._id, - }, - { location: 'replace' }, - ) - - // Get support form link from translation json. - $translate('LINKS.SUPPORT_FORM_LINK').then((supportFormLink) => { - $scope.supportFormLink = supportFormLink - }) - - // userCanEdit is inherited by the share-form component, so avoid changing - // the variable name - $scope.userCanEdit = canUserEdit($scope.myform, $scope.user) - $scope.viewTabs = getViewTabs($scope.userCanEdit) - - /* Top bar within form */ - $scope.lastModifiedString = '-' - $scope.$watch( - '[myform.lastModified]', - () => { - // Transform last modified time into readable format - let today = moment().clone().startOf('day') - let isToday = moment($scope.myform.lastModified).isSame(today, 'd') - if (isToday) { - $scope.lastModifiedString = - moment($scope.myform.lastModified).format('h:mm A, ') + 'Today' - } else { - $scope.lastModifiedString = moment($scope.myform.lastModified).format( - 'h:mm A, D/M/YY', - ) - } - }, - true, - ) - - /* Collaborator */ - $scope.refreshFormDataFromCollab = (form) => { - $scope.myform = form - } - - /** - * If the collab modal is shown, hide it, and if it is hidden, show it. - * When showing the collab modal, the html body for mobile will be scroll locked, to prevent the ability to scroll - * the page while edit collaborator dropdowns (which are appended to the body) are open. - */ - $scope.toggleCollabModal = () => { - angular.element('body').addClass('mobile-scroll-lock') - $uibModal.open({ - animation: false, - templateUrl: 'modules/forms/admin/views/collaborator.client.modal.html', - windowClass: 'full-screen-modal-window', - controller: 'CollaboratorModalController', - resolve: { - externalScope: () => ({ - form: $scope.myform, - user: $scope.user, - userCanEdit: $scope.userCanEdit, - refreshFormDataFromCollab: $scope.refreshFormDataFromCollab, - }), - }, - }) - } - - const handleUpdateError = (error) => { - if (!error) { - return - } - let errorMessage - const status = get(error, 'response.status') || get(error, 'status') - switch (status) { - case StatusCodes.CONFLICT: - case StatusCodes.BAD_REQUEST: - errorMessage = - 'Your changes could not be saved. The page may be outdated, or your input is invalid. Please refresh and try again.' - break - case StatusCodes.FORBIDDEN: - case StatusCodes.UNAUTHORIZED: - errorMessage = - 'Your changes could not be saved as your account lacks the requisite privileges.' - break - case StatusCodes.UNPROCESSABLE_ENTITY: - // Validation can fail for many reasons, so return more specific message - errorMessage = get( - error, - 'response.data.message', - 'Your changes contain invalid input.', - ) - break - case StatusCodes.REQUEST_TOO_LONG: // HTTP Payload Too Large - errorMessage = ` - Your form is too large. Reduce the number of fields, or submit a - Support Form. - ` - break - default: - errorMessage = 'An error occurred while saving your changes.' - } - Toastr.error(errorMessage) - return error - } - - /** - * Calls the update form api - * formId is the id of the form to update - * updatedForm is a subset of fields from scope.myform which have been edited - * - * @param {Object} {formId: String, updatedForm: Object} - * @returns Promise - */ - $scope.updateForm = (update) => { - const updateType = get(update, 'type') - switch (updateType) { - case UPDATE_FORM_TYPES.CreateField: { - const { body } = update - return $q - .when( - UpdateFormService.createSingleFormField($scope.myform._id, body), - ) - .then((updatedFormField) => { - // !!! Convert retrieved form field objects into their class counterparts. - const updatedFieldClass = - FieldFactory.createFieldFromData(updatedFormField) - FormFields.injectMyInfoFieldInfo(updatedFieldClass) - - // insert created field into form - $scope.myform.form_fields = [ - ...$scope.myform.form_fields, - updatedFieldClass, - ] - }) - .catch(handleUpdateError) - } - case UPDATE_FORM_TYPES.DeleteField: { - const { fieldId } = update - return $q - .when( - UpdateFormService.deleteSingleFormField($scope.myform._id, fieldId), - ) - .then(() => { - // Success, remove deleted form field - const updatedFormFields = $scope.myform.form_fields.filter( - (f) => String(f._id) !== fieldId, - ) - $scope.myform.form_fields = updatedFormFields - }) - .catch(handleUpdateError) - } - case UPDATE_FORM_TYPES.UpdateField: { - const { fieldId, body } = update - return $q - .when( - UpdateFormService.updateSingleFormField( - $scope.myform._id, - fieldId, - body, - ), - ) - .then((updatedFormField) => { - // !!! Convert retrieved form field objects into their class counterparts. - const updatedFieldClass = - FieldFactory.createFieldFromData(updatedFormField) - FormFields.injectMyInfoFieldInfo(updatedFieldClass) - - // merge back into the form fields - const updateIndex = $scope.myform.form_fields.findIndex( - (f) => f._id === fieldId, - ) - if (updateIndex !== -1) { - $scope.myform.form_fields[updateIndex] = updatedFieldClass - } else { - Toastr.error('An error occurred while saving your changes.') - } - }) - .catch(handleUpdateError) - } - case UPDATE_FORM_TYPES.DuplicateField: { - const { fieldId } = update - return $q - .when( - UpdateFormService.duplicateSingleFormField( - $scope.myform._id, - fieldId, - ), - ) - .then((updatedFormField) => { - // !!! Convert retrieved form field objects into their class counterparts. - const updatedFieldClass = - FieldFactory.createFieldFromData(updatedFormField) - FormFields.injectMyInfoFieldInfo(updatedFieldClass) - - // insert created field into form - $scope.myform.form_fields = [ - ...$scope.myform.form_fields, - updatedFieldClass, - ] - }) - .catch(handleUpdateError) - } - case UPDATE_FORM_TYPES.ReorderField: { - const { fieldId, newPosition } = update - - return $q - .when( - UpdateFormService.reorderSingleFormField( - $scope.myform._id, - fieldId, - newPosition, - ), - ) - .then((updatedFields) => { - // !!! Convert retrieved form field objects into their class counterparts. - const updatedFieldClasses = updatedFields.map((f) => { - const fieldClass = FieldFactory.createFieldFromData(f) - FormFields.injectMyInfoFieldInfo(fieldClass) - return fieldClass - }) - $scope.myform.form_fields = updatedFieldClasses - }) - .catch(handleUpdateError) - } - default: - // This block should not be reached. All updateForm calls should have an update type. - return $q - .when(FormApi.updateForm($scope.myform._id, update)) - .then((savedForm) => { - // Updating this form updates lastModified - // and also updates myform if a formToUse is passed in - $scope.myform = savedForm - }) - .catch(handleUpdateError) - } - } - - $scope.updateFormEndPage = (newEndPage) => { - return $q - .when(UpdateFormService.updateFormEndPage($scope.myform._id, newEndPage)) - .then((updatedEndPage) => { - $scope.myform.endPage = updatedEndPage - }) - .catch(handleUpdateError) - } - - $scope.updateFormStartPage = (newStartPage) => { - return $q - .when( - UpdateFormService.updateFormStartPage($scope.myform._id, newStartPage), - ) - .then((updatedStartPage) => { - $scope.myform.startPage = updatedStartPage - }) - .catch(handleUpdateError) - } - - /** - * Calls the update form settings API - * @param {Object} settingsToUpdate the object with new values for settings. - * @returns Promise - */ - $scope.updateFormSettings = (settingsToUpdate) => { - return $q - .when( - UpdateFormService.updateFormSettings( - $scope.myform._id, - settingsToUpdate, - ), - ) - .then((updatedSettings) => { - // merge back into main form since updating settings only returns the changed subset. - Object.assign($scope.myform, updatedSettings) - }) - .catch(handleUpdateError) - } - - /* Logic stuff with checking across Build and Logic tabs */ - $scope.$watch( - '[myform.form_fields, myform.form_logics]', - () => { - $scope.checkLogicError() - }, - true, - ) - - /** - * Updates $scope.isLogicError based on whether form has logic units with fields - * that no longer exist. - */ - $scope.checkLogicError = () => { - $scope.isLogicError = $scope.myform.form_logics.some((logicUnit) => { - return hasConditionError(logicUnit) || hasShowError(logicUnit) - }) - } - - /** - * Checks if all fields exist in a logic unit's conditions. - * @param {Object} logicUnit - */ - const hasConditionError = (logicUnit) => { - return logicUnit.conditions.some((condition) => !getField(condition.field)) - } - - /** - * Checks if a logic unit has any errors in its fields to show. - * @param {Object} logicUnit - */ - const hasShowError = (logicUnit) => { - if (logicUnit.logicType !== LogicType.ShowFields) { - return false - } - return logicUnit.show.some((showField) => !getField(showField)) - } - - let getField = (fieldId) => { - return $scope.myform.form_fields.find(function (field) { - return field._id === fieldId - }) - } -} diff --git a/src/public/modules/forms/admin/controllers/collaborator-modal.client.controller.js b/src/public/modules/forms/admin/controllers/collaborator-modal.client.controller.js deleted file mode 100644 index 6938a52feb..0000000000 --- a/src/public/modules/forms/admin/controllers/collaborator-modal.client.controller.js +++ /dev/null @@ -1,379 +0,0 @@ -'use strict' - -const { get } = require('lodash') -const { StatusCodes } = require('http-status-codes') -const UpdateFormService = require('../../../../services/UpdateFormService') - -angular - .module('forms') - .controller('CollaboratorModalController', [ - '$q', - '$scope', - '$state', - '$timeout', - '$uibModalInstance', - 'externalScope', - 'Toastr', - 'FormApi', - CollaboratorModalController, - ]) - -/** - * @typedef {string} Role - */ -/** - * @enum {Role} - */ -const ROLES = { - ADMIN: 'Owner', - EDITOR: 'Editor', - VIEWER: 'Read only', -} - -function CollaboratorModalController( - $q, - $scope, - $state, - $timeout, - $uibModalInstance, - externalScope, - Toastr, - FormApi, -) { - $scope.ROLES = ROLES - $scope.myform = externalScope.form - $scope.user = externalScope.user - $scope.userCanEdit = externalScope.userCanEdit - $scope.collab = {} - - // Three possible button states - // 1 - unpressed, - // 2 - pressed; loading, - // 3 - pressed; saved - $scope.btnStatus = 1 - - // Stores the open/close state of every collaborator dropdown - this is an array of booleans, - // where each index is bound to the is-open attribute of the corresponding edit collaborator - // dropdown menu. - $scope.collaboratorDropdownsOpen = [] - - // This is used to prevent scrolling when an edit collaborator dropdown is opened, because - // the dropdown is appended to the html body, and will not follow the dropdown button if - // the user scrolls the page while open. - $scope.lockCollaboratorScroll = false - - $scope.isDisplayTransferOwnerModal = false - $scope.transferOwnerEmail = undefined - - $scope.isDisplayRemoveSelfFromCollabModal = false - - /** - * Transfers ownership of the form to the selected user, reset UI messages - */ - $scope.transferOwner = () => { - if ($scope.transferOwnerEmail === $scope.myform.admin.email) { - Toastr.error('You are already the owner of this form') - $scope.isDisplayTransferOwnerModal = false - return - } - - $q.when(FormApi.transferOwner($scope.myform._id, $scope.transferOwnerEmail)) - .then((res) => { - $scope.myform = res.form - externalScope.refreshFormDataFromCollab($scope.myform) - Toastr.success('Form ownership transferred. You are now an Editor.') - }) - .catch((err) => { - Toastr.error(err.response.data.message) - return - }) - .finally(() => { - $scope.isDisplayTransferOwnerModal = false - }) - } - - /** - * Calls UpdateFormService to update the permission list (collaborators) of a form - * @param {Array} permissionList - New permission list for the form - */ - $scope.updatePermissionList = (permissionList) => { - return $q - .when( - UpdateFormService.updateCollaborators( - $scope.myform._id, - permissionList, - ), - ) - .then((updatedCollaborators) => { - $scope.myform.permissionList = updatedCollaborators - externalScope.refreshFormDataFromCollab($scope.myform) - }) - } - - /** - * Update the role of an existing user in the permissionList. - * Called via an edit collaborator dropdown menu. - * @param {Number} index - The index of the user object in the permissionList (the ng-repeat index) - * @param {Role} newRole - The selected role - */ - $scope.updateRole = function (index, newRole) { - if ( - $scope.myform.permissionList && - index > -1 && - index < $scope.myform.permissionList.length - ) { - let { write } = $scope.roleToPermissions(newRole) - let permissionList = _.cloneDeep($scope.myform.permissionList) - permissionList[index].write = write - $scope.updatePermissionList(permissionList).catch((err) => { - // NOTE: Refer to https://axios-http.com/docs/handling_errors - // Axios errors are wrapped in 2 layers of indirection, which means the actual message on the error has to be extracted manually - Toastr.error( - get( - err, - 'response.data.message', - 'Sorry, an error occurred. Please refresh the page and try again later.', - ), - ) - return err - }) - } - } - - /** - * Removes the current user from the collaborator list and bounces the user back to the forms select page - */ - $scope.removeSelfFromCollab = () => { - return $q - .when(UpdateFormService.removeSelfFromCollaborators($scope.myform._id)) - .then(() => { - // redirects the user back to the home page now that they have lost access to this form - $scope.toggleRemoveSelfFromCollabModal() - $scope.closeModal() - $state.go('listForms') - }) - } - - /** - * Toggles the remove self from collaboration modal - */ - $scope.toggleRemoveSelfFromCollabModal = () => { - $scope.isDisplayRemoveSelfFromCollabModal = - !$scope.isDisplayRemoveSelfFromCollabModal - } - - /** - * Remove the current user from the permissionList, prompting the user first before confirming the action. - */ - $scope.handleRemoveSelfFromCollabButtonClick = () => { - $scope.isDisplayRemoveSelfFromCollabModal = true - } - - /** - * Remove the user object that has the email provided from the permissionList. - * @param {String} email - The email of the user to remove. - */ - $scope.deleteCollabEmail = (email) => { - let permissionList = _.cloneDeep( - $scope.myform.permissionList.filter( - (user) => user.email.toLowerCase() !== email.toLowerCase(), - ), - ) - $scope.updatePermissionList(permissionList).catch((err) => { - // NOTE: Refer to https://axios-http.com/docs/handling_errors - // Axios errors are wrapped in 2 layers of indirection, which means the actual message on the error has to be extracted manually - Toastr.error( - get( - err, - 'response.data.message', - 'Sorry, an error occurred. Please refresh the page and try again later.', - ), - ) - return err - }) - } - - /** - * Set the collab form's role. Called via the dropdown menu. - * @param {Role} role - The selected role - */ - $scope.selectRole = function (role) { - $scope.collab.form.role = role - } - - /** - * Determine role of user based on permission level. This is used to display the role of the user on - * the collaborators list. Admins will not be rendered using this function, - * they are hardcoded into the view instead of determined by this function. - * @param {Object} userObj - The user object to check - * @param {Boolean} userObj.write - The write permissions of the user object - */ - $scope.permissionsToRole = (userObj) => { - if (userObj.write) { - return ROLES.EDITOR - } else { - return ROLES.VIEWER - } - } - - /** - * Determine permission level of a user based on role. This is used to create new user objects to be - * added into the permission list. - * @param {Role} role - The role to determine permissions for - */ - $scope.roleToPermissions = (role) => { - switch (role) { - case ROLES.ADMIN: - case ROLES.EDITOR: - return { write: true } - case ROLES.VIEWER: - return { write: false } - default: - throw new Error('Invalid role!') - } - } - - /** - * Update the form by adding the email that was filled in the input, with the permissions according to - * the selected role (edit rights by default), into the permissionList. - * Admins, the user themselves, and users already in the permissionList cannot be added to the form. - */ - $scope.saveCollabEmail = () => { - let email = $scope.collab.form.email.toLowerCase() - let permissions = $scope.roleToPermissions($scope.collab.form.role) - - // Not allowed to add oneself or existing collaborator/admin as collaborator - if ( - email === $scope.user.email.toLowerCase() || - $scope.myform.permissionList.find( - (user) => user.email.toLowerCase() === email, - ) || - email === $scope.myform.admin.email - ) { - Toastr.error('This user is an existing collaborator. Edit role below.') - return - } - - /** - * Clear the input, set the button to its unpressed state, - * and set the to-be-added collaborator's role to editor. - */ - function resetCollabForm() { - $scope.btnStatus = 1 // unpressed - $scope.collab.form.email = '' - $scope.collab.form.role = ROLES.EDITOR - } - // Allowed to add collaborator - // Deep copy form to use - let permissionList = [{ email, ...permissions }].concat( - _.cloneDeep($scope.myform.permissionList), - ) - - $scope.btnStatus = 2 // pressed; loading - $scope - .updatePermissionList(permissionList) - .then(() => { - // If no error, clear email input - $scope.btnStatus = 3 // pressed; saved - $scope.closeEditCollaboratorDropdowns() - - $timeout(() => { - resetCollabForm() - }, 1000) - }) - .catch((err) => { - // Make the alert message correspond to the error code - if (err.response.status === StatusCodes.BAD_REQUEST) { - Toastr.error( - 'Please ensure that the email entered is a valid government email. If the error still persists, refresh and try again later.', - ) - } else if (err.response.status === StatusCodes.UNPROCESSABLE_ENTITY) { - Toastr.error(`${email} is not part of a whitelisted agency.`) - } else { - Toastr.error('Error adding collaborator.') - } - resetCollabForm() - }) - } - - /** - * Handle modal close - */ - $scope.closeModal = () => { - angular.element('body').removeClass('mobile-scroll-lock') - $uibModalInstance.close('cancel') - } - - /** - * Toggle transfer ownership confirmation view - */ - $scope.toggleTransferOwnerModal = () => { - $scope.isDisplayTransferOwnerModal = !$scope.isDisplayTransferOwnerModal - } - - /** - * Sets the state of all collaborator dropdowns to closed, - * and unlocks the collaborator modal scroll locks. - */ - $scope.closeEditCollaboratorDropdowns = () => { - $scope.collaboratorDropdownsOpen = $scope.collaboratorDropdownsOpen.map( - (_state) => false, - ) - $scope.lockCollaboratorScroll = false - } - - /** - * Display transfer ownership verification view - */ - $scope.handleTransferOwnerButtonClick = () => { - const email = $scope.collab.form.email.toLowerCase() - $scope.transferOwnerEmail = email - $scope.toggleTransferOwnerModal() - } - - /** - * Display transfer ownership verification view - */ - $scope.handleUpdateRoleToOwner = (index) => { - const email = $scope.myform.permissionList[index].email - $scope.transferOwnerEmail = email - $scope.toggleTransferOwnerModal() - $scope.collaboratorDropdownsOpen[index] = false - } - - /* State management for the edit collaborator dropdowns */ - - // collaboratorDropdownsOpen, toggleScrollLock and closeEditCollaboratorDropdowns are used due - // to a bug with uib-dropdown's toggle-open with multiple dropdowns: - // https://github.com/angular-ui/bootstrap/issues/6316 . - - /** - * Activates scroll-lock when there is any dropdown open. The function is used as a dropdown - * event listener; when an edit collaborator dropdown is opened, it calls this function with - * isOpen === true, and when one is closed, it is called with isOpen === false. - * @param {Boolean} isOpen - True if the dropdown is being opened, false if it is being closed - * @param {Number} index - The index of the dropdown being opened/closed - */ - $scope.toggleScrollLock = (isOpen, index) => { - // First, handle the dropdown event by updating the state accordingly. - $scope.collaboratorDropdownsOpen = $scope.collaboratorDropdownsOpen.map( - (state, idx) => { - // When opening a dropdown, close everything else - if (isOpen) { - return index === idx - // When closing a dropdown, close only the dropdown that is actually being closed, - // the rest should be left as they are. This is because if you click a new dropdown - // while a previous dropdown is opened, you will call the "onOpen" of the new one, - // and immediately call the "onClose" of the previous dropdown, and we don't want - // to automatically close the new one. - } else { - return index === idx ? false : state - } - }, - ) - // Lock the scroll if any of the edit collaborator dropdowns are open - $scope.lockCollaboratorScroll = $scope.collaboratorDropdownsOpen.find( - (state) => state === true, - ) - } -} diff --git a/src/public/modules/forms/admin/controllers/create-form-modal.client.controller.js b/src/public/modules/forms/admin/controllers/create-form-modal.client.controller.js deleted file mode 100644 index 01e5d830c3..0000000000 --- a/src/public/modules/forms/admin/controllers/create-form-modal.client.controller.js +++ /dev/null @@ -1,311 +0,0 @@ -'use strict' -const { triggerFileDownload } = require('../../helpers/util') -const { templates } = require('../constants/covid19') -const Form = require('../../viewmodels/Form.class') -const { FormSgSdk } = require('../../../../services/FormSgSdkService') - -/** - * Determine the form title when duplicating a form - * @param {string} title Intended form title - * @param {Object} myforms List of forms - */ -function determineDuplicateFormTitle(title, myforms) { - const titlePrefix = title + '_' - // Only appends number when original form is copied, treats duplicates as originals too - let copyIndex = 1 - // Only match forms titles with same prefix - let formsWithTitlePrefix = _(myforms) - .map('title') - .filter((title) => title.startsWith(titlePrefix)) - .value() - - while ( - formsWithTitlePrefix.indexOf(titlePrefix + copyIndex.toString()) > -1 - ) { - copyIndex++ - } - return `${titlePrefix}${copyIndex}` -} - -angular - .module('forms') - .controller('CreateFormModalController', [ - '$uibModalInstance', - '$state', - '$timeout', - '$uibModal', - 'Toastr', - 'responseModeEnum', - 'createFormModalOptions', - 'FormToDuplicate', - 'FormApi', - 'FormFields', - 'GTag', - 'externalScope', - 'MailTo', - '$q', - CreateFormModalController, - ]) - -function CreateFormModalController( - $uibModalInstance, - $state, - $timeout, - $uibModal, - Toastr, - responseModeEnum, - createFormModalOptions, - FormToDuplicate, - FormApi, - FormFields, - GTag, - externalScope, - MailTo, - $q, -) { - const vm = this - - function getFormDataObject(mode, isEncryptModeEnabled, emails, title) { - return { - mode, - // Defaults to encrypt instead of email if encrypt mode is enabled - responseMode: isEncryptModeEnabled - ? responseModeEnum.ENCRYPT - : responseModeEnum.EMAIL, - emails, - isEncryptModeEnabled, - title: title || '', - } - } - - // Whether this operation should allow Storage Mode forms - const isEncryptModeEnabled = - !FormFields.preventStorageModeDuplication(FormToDuplicate) - - const { mode } = createFormModalOptions - vm.mode = mode - - let emails, title - switch (mode) { - case 'duplicate': - emails = FormToDuplicate.emails || externalScope.user.email - title = determineDuplicateFormTitle( - FormToDuplicate.title, - externalScope.myforms, - ) - break - case 'useTemplate': - emails = externalScope.user.email - title = 'Template_' + externalScope.form.title - break - case 'create': // Create Form - emails = externalScope.user.email - break - } - // For use with configure-form-directive - vm.formData = getFormDataObject(mode, isEncryptModeEnabled, emails, title) - - // COVID-19 Templates - vm.showCovid = mode == 'create' - vm.templates = templates - - /** - * Handle "Create From Scratch" button click - * and proceed with original create flow - */ - vm.handleStartFromScratch = function () { - vm.showCovid = false - GTag.covid19ClickCreateFromScratch() - } - - /** - * Callback for CreateFormTemplateModalController - * to handle "USE TEMPLATE" button click - * - * @param {Object} template - form template selected - */ - vm.handleUseCovidTemplate = function (template) { - vm.showCovid = false - vm.template = template - vm.mode = 'createFromTemplate' - GTag.covid19ClickUseTemplate(template) - } - - /** - * Handle template card click and proceed to - * display form preview - * - * @param {Object} template - form template selected - */ - vm.openTemplateModal = function (template) { - const previewForm = new Form( - Object.assign({}, template, { isTemplate: true }), - ) - - $uibModal.open({ - animation: false, - templateUrl: - 'modules/forms/admin/views/create-form-template.client.modal.html', - windowClass: 'create-form-template-modal-window', - controller: 'CreateFormTemplateModalController', - controllerAs: 'vm', - resolve: { - externalScope: () => ({ - user: externalScope.user, - form: previewForm, - useTemplate: vm.handleUseCovidTemplate, - }), - }, - }) - - GTag.covid19ClickOpenTemplate(template) - } - - /** - * Returns the first sentence of the string - * - * @param {string} s - string to extract first sentence - * - * @returns {string} first sentence of the string, or the whole - * string if the first sentence cannot be extracted. - */ - vm.firstSentence = function (s) { - const match = s.match(/^.*?[\.!\?](?:\s|$)/) // eslint-disable-line - if (!match) { - return s - } - return match[0] - } - - // Status for response mode === responseModeEnum.ENCRYPT , - // 1 - Get Started, select response mode - // 2 - Pending creation of private/public key - // 3 - Display private key - vm.formStatus = 1 - vm.publicKey = '' - - vm.hasSavedKey = false - - vm.closeCreateModal = function () { - $uibModalInstance.close('cancel') - } - - vm.goToWithId = function (route, id) { - $state.go(route, { formId: id }, { reload: true }) - } - - vm.downloadFile = function () { - if (vm.formStatus === 3 && vm.secretKey !== '') { - const blob = new Blob([vm.secretKey], { - type: 'text/plain;charset=utf-8', - }) - const filename = `Form Secret Key - ${vm.formData.title}.txt` - triggerFileDownload(blob, filename) - vm.hasSavedKey = true - } else { - Toastr.error('Form password could not be downloaded') - } - } - - function handleCreateFormError(errorResponse) { - if (errorResponse && errorResponse.data) { - Toastr.error(errorResponse.data.message) - } - GTag.createFormFailed() - - vm.closeCreateModal() - } - - vm.createNewForm = function () { - if ( - vm.formStatus === 1 && - vm.formData.responseMode === responseModeEnum.ENCRYPT - ) { - vm.formStatus = 2 - const { publicKey, secretKey } = FormSgSdk.crypto.generate() - vm.publicKey = publicKey - vm.secretKey = secretKey - MailTo.generateMailToUri(vm.formData.title, secretKey).then( - (mailToUri) => { - $timeout(() => { - vm.mailToUri = mailToUri - vm.formStatus = 3 - }) - }, - ) - } else if ( - (vm.formStatus === 1 && - vm.formData.responseMode === responseModeEnum.EMAIL) || - (vm.formStatus === 3 && vm.publicKey !== '') - ) { - if (vm.createForm.$valid) { - vm.formStatus = 2 - delete vm.secretKey - - // Common parameters regardless of mode of form creation - const formParams = { - title: vm.formData.title, - responseMode: vm.formData.responseMode, - publicKey: - vm.formData.responseMode === responseModeEnum.ENCRYPT - ? vm.publicKey - : '', - emails: vm.formData.emails, - } - - const formMode = vm.mode - switch (formMode) { - case 'duplicate': { - $q.when( - FormApi.duplicateForm(FormToDuplicate._id, formParams), - ).then((data) => { - vm.closeCreateModal() - externalScope.onDuplicateSuccess(data) - }, handleCreateFormError) - break - } - case 'useTemplate': { - const { form } = externalScope - $q.when(FormApi.useTemplate(form._id, formParams)).then((data) => { - vm.closeCreateModal() - vm.goToWithId('viewForm', data._id + '') - GTag.examplesClickCreateNewForm(form) - }, handleCreateFormError) - break - } - case 'createFromTemplate': { - // Create new form from template selected - const newForm = Object.assign({}, vm.template, formParams) - $q.when(FormApi.createForm(newForm)).then((data) => { - vm.closeCreateModal() - vm.goToWithId('viewForm', data._id + '') - }, handleCreateFormError) - break - } - case 'create': // Create form - $q.when(FormApi.createForm(formParams)).then((data) => { - vm.closeCreateModal() - vm.goToWithId('viewForm', data._id + '') - }, handleCreateFormError) - break - } - } - } else { - Toastr.error('An error occurred creating the form, please try again') - GTag.createFormFailed() - } - } - - vm.handleMailToClick = () => { - GTag.clickSecretKeyMailto(vm.formData.title) - } - - // Whether user has copied secret key - vm.isCopied = false - vm.copied = () => { - vm.isCopied = true - $timeout(() => { - vm.isCopied = false - }, 1000) - } -} diff --git a/src/public/modules/forms/admin/controllers/create-form-template-modal.client.controller.js b/src/public/modules/forms/admin/controllers/create-form-template-modal.client.controller.js deleted file mode 100644 index 8da52ca57c..0000000000 --- a/src/public/modules/forms/admin/controllers/create-form-template-modal.client.controller.js +++ /dev/null @@ -1,41 +0,0 @@ -'use strict' -const { getFormLogo } = require('../../helpers/logo') - -angular - .module('forms') - .controller('CreateFormTemplateModalController', [ - '$uibModalInstance', - 'GTag', - 'externalScope', - CreateFormTemplateModalController, - ]) - -function CreateFormTemplateModalController( - $uibModalInstance, - GTag, - externalScope, -) { - const vm = this - vm.myform = externalScope.form - vm.logoUrl = getFormLogo(vm.myform) - - // Handle modal close click - vm.closeTemplateModal = function () { - $uibModalInstance.close('cancel') - GTag.covid19ClickCloseTemplate(vm.myform) - } - - // Disable submit button on preview - vm.isSubmitButtonDisabled = function () { - return true - } - - /** - * Handle 'USE TEMPLATE' button click and - * invoke the callback passed by the externalScope - */ - vm.useTemplate = function () { - $uibModalInstance.close('cancel') - externalScope.useTemplate(externalScope.form) - } -} diff --git a/src/public/modules/forms/admin/controllers/delete-field-warning-modal.client.controller.js b/src/public/modules/forms/admin/controllers/delete-field-warning-modal.client.controller.js deleted file mode 100644 index 4d5d5c6f88..0000000000 --- a/src/public/modules/forms/admin/controllers/delete-field-warning-modal.client.controller.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict' - -angular - .module('forms') - .controller('DeleteFieldWarningController', [ - '$uibModalInstance', - 'processDelete', - DeleteFieldWarningController, - ]) - -function DeleteFieldWarningController($uibModalInstance, processDelete) { - const vm = this - - vm.confirmDeleteField = function () { - processDelete().then((error) => { - if (!error) { - $uibModalInstance.close() - } - }) - } - - vm.closeDeleteFieldWarningModal = function () { - $uibModalInstance.close() - } -} diff --git a/src/public/modules/forms/admin/controllers/delete-form-modal.client.controller.js b/src/public/modules/forms/admin/controllers/delete-form-modal.client.controller.js deleted file mode 100644 index ecbb75f89b..0000000000 --- a/src/public/modules/forms/admin/controllers/delete-form-modal.client.controller.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict' - -const get = require('lodash/get') - -angular - .module('forms') - .controller('DeleteFormModalController', [ - '$uibModalInstance', - 'externalScope', - 'FormApi', - 'Toastr', - '$q', - DeleteFormModalController, - ]) - -function DeleteFormModalController( - $uibModalInstance, - externalScope, - FormApi, - Toastr, - $q, -) { - const vm = this - - vm.cancel = function () { - $uibModalInstance.close('cancel') - } - - vm.currFormTitle = externalScope.currFormTitle - vm.myforms = externalScope.myforms - - vm.deleteForm = function () { - let formIndex = externalScope.formIndex - if (formIndex >= vm.myforms.length || formIndex < 0) { - throw new Error( - `Error: formIndex in removeForm() must be between 0 and ${ - vm.myforms.length - 1 - }`, - ) - } - $q.when(FormApi.deleteForm(vm.myforms[formIndex]._id)).then( - function () { - vm.myforms.splice(formIndex, 1) - vm.cancel() - }, - function (error) { - const errorMessage = get(error, 'response.data.message') - Toastr.error(errorMessage) - }, - ) - } -} diff --git a/src/public/modules/forms/admin/controllers/edit-end-page-modal.client.controller.js b/src/public/modules/forms/admin/controllers/edit-end-page-modal.client.controller.js deleted file mode 100644 index f6c6c8890a..0000000000 --- a/src/public/modules/forms/admin/controllers/edit-end-page-modal.client.controller.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict' - -const { getFormLogo } = require('../../helpers/logo') - -angular - .module('forms') - .controller('EditEndPageController', [ - '$uibModalInstance', - 'myform', - 'updateEndPage', - EditEndPageController, - ]) - -function EditEndPageController($uibModalInstance, myform, updateEndPage) { - const vm = this - - vm.logoUrl = getFormLogo(myform) - // Make a copy so nothing is changed in the original. - vm.myform = angular.copy(myform) - const formHash = '#!/' + vm.myform._id - - // If buttonLink is empty or formHash (default for old forms), set to empty string - if ( - !vm.myform.endPage.buttonLink || - vm.myform.endPage.buttonLink === formHash - ) { - vm.myform.endPage.buttonLink = '' - } - - if (!vm.myform.endPage.buttonText) { - vm.myform.endPage.buttonText = '' - } - - vm.saveEndPage = function (isValid) { - if (isValid) { - // Check if http(s):// is appended, if not append it - let inputLink = vm.myform.endPage.buttonLink.trim() - - // If form buttonLink is formHash, set to empty string - if (inputLink === formHash) { - inputLink = '' - } - - if ( - !( - inputLink.toLowerCase().startsWith('http://') || - inputLink.toLowerCase().startsWith('https://') || - inputLink === '' - ) - ) { - inputLink = 'http://' + inputLink - } - - vm.myform.endPage.buttonLink = inputLink - - updateEndPage({ newEndPage: vm.myform.endPage }).then((error) => { - if (!error) { - $uibModalInstance.close() - } - }) - } - } - - vm.cancel = function () { - $uibModalInstance.close() - } -} diff --git a/src/public/modules/forms/admin/controllers/edit-fields-modal.client.controller.js b/src/public/modules/forms/admin/controllers/edit-fields-modal.client.controller.js deleted file mode 100644 index c5eb893100..0000000000 --- a/src/public/modules/forms/admin/controllers/edit-fields-modal.client.controller.js +++ /dev/null @@ -1,638 +0,0 @@ -'use strict' - -const axios = require('axios').default -const values = require('lodash/values') -const range = require('lodash/range') -const cloneDeep = require('lodash/cloneDeep') - -const UserService = require('../../../../services/UserService') - -const { - VALID_UPLOAD_FILE_TYPES, - MAX_UPLOAD_FILE_SIZE, - MB, -} = require('../../../../../../shared/constants/file') -const { UPDATE_FORM_TYPES } = require('../constants/update-form-types') -const { uploadImage } = require('../../../../services/FileHandlerService') -const { - DateSelectedValidation: DateValidationOptions, - RatingShape, -} = require('../../../../../../shared/types/field') -const CancelToken = axios.CancelToken - -const EMAIL_MODE_ALLOWED_SIZES = ['1', '2', '3', '4', '7'] - -angular - .module('forms') - .controller('EditFieldsModalController', [ - '$scope', - '$uibModalInstance', - 'externalScope', - 'responseModeEnum', - 'Attachment', - 'FormFields', - '$q', - '$state', - 'Toastr', - EditFieldsModalController, - ]) - -function EditFieldsModalController( - $scope, - $uibModalInstance, - externalScope, - responseModeEnum, - Attachment, - FormFields, - $q, - $state, - Toastr, -) { - let source - const vm = this - - // Copy so as to not touch the original - vm.field = angular.copy(externalScope.currField) - vm.responseModeEnum = responseModeEnum - vm.isConditionField = externalScope.isConditionField - vm.myform = externalScope.myform - vm.attachmentsMax = externalScope.attachmentsMax - - if ( - ['dropdown', 'checkbox'].includes(vm.field.fieldType) && - vm.field.fieldOptions.length > 0 - ) { - vm.field.fieldOptionsFromText = vm.field.fieldOptions.join('\n') - } else if (['radiobutton'].includes(vm.field.fieldType)) { - vm.field.manualOptions = vm.field.fieldOptions - } - - // Serialize allowed email domains - vm.user = UserService.getUserFromLocalStorage() || $state.go('signin') - if (vm.field.fieldType === 'email') { - const userEmailDomain = '@' + vm.user.email.split('@').pop() - - // Backwards compatibility and inconsistency fix. - // Set allowedEmailDomains array to empty if allow domains toggle is off. - if (vm.field.hasAllowedEmailDomains === false) { - vm.field.allowedEmailDomains = [] - } else { - // hasAllowedEmailDomains is true, set "true" state based on length of allowedEmailDomains. - vm.field.hasAllowedEmailDomains = vm.field.allowedEmailDomains.length > 0 - } - - vm.field.allowedEmailDomainsPlaceholder = `${userEmailDomain}\n@agency.gov.sg` - if (vm.field.hasAllowedEmailDomains) { - vm.field.allowedEmailDomainsFromText = - vm.field.allowedEmailDomains.join('\n') - } - $scope.$watch('vm.field.isVerifiable', (newValue) => { - if (newValue) { - vm.tooltipHtml = 'e.g. @mom.gov.sg, @moe.gov.sg' - } else { - vm.tooltipHtml = - 'e.g. @mom.gov.sg, @moe.gov.sg
    OTP verification needs to be activated first.' - } - }) - } - - // Set Validation Options on older paragraph fields - This ensures backward compatibility - // TODO: Is this safe to remove? - vm.enforceCompatibility = function (field) { - if ( - FormFields.isCustomValField(field.fieldType) && - !field.ValidationOptions - ) { - vm.clearCustomValidation(field) - } - } - - // decides whether field options block will be shown - vm.showAddOptions = function (field) { - return ( - field.fieldType === 'dropdown' || - field.fieldType === 'checkbox' || - field.fieldType === 'radiobutton' - ) - } - - // add new option to the field - vm.addOption = function (currField) { - if (['dropdown', 'checkbox', 'radiobutton'].includes(currField.fieldType)) { - currField.manualOptions = currField.manualOptions - ? currField.manualOptions - : [] - const currNumOfOptions = currField.manualOptions.length - currField.manualOptions.push(`Option ${currNumOfOptions + 1}`) - if (currField.fieldType === 'checkbox') { - currField.fieldValue.splice(currNumOfOptions, 0, false) - } - } - } - - // delete particular option - vm.deleteOption = function (currField, option) { - if (['checkbox', 'radiobutton'].includes(currField.fieldType)) { - const indexToDelete = currField.manualOptions.indexOf(option) - currField.manualOptions.splice(indexToDelete, 1) - if (currField.fieldType === 'checkbox') { - currField.fieldValue.splice(indexToDelete, 1) - } - } - } - - // Updates field.fieldOptions array for dropdown fields when the - // admin user types into the - - - -

    - -
    - - -
    - -

    - - - - - - - - diff --git a/src/public/modules/forms/admin/views/edit-fields.client.modal.html b/src/public/modules/forms/admin/views/edit-fields.client.modal.html deleted file mode 100644 index ba0c452484..0000000000 --- a/src/public/modules/forms/admin/views/edit-fields.client.modal.html +++ /dev/null @@ -1,1397 +0,0 @@ - diff --git a/src/public/modules/forms/admin/views/edit-logic.client.modal.html b/src/public/modules/forms/admin/views/edit-logic.client.modal.html deleted file mode 100644 index dd8a13b96d..0000000000 --- a/src/public/modules/forms/admin/views/edit-logic.client.modal.html +++ /dev/null @@ -1,357 +0,0 @@ - diff --git a/src/public/modules/forms/admin/views/edit-myinfo-field.client.modal.html b/src/public/modules/forms/admin/views/edit-myinfo-field.client.modal.html deleted file mode 100644 index 81ad773f58..0000000000 --- a/src/public/modules/forms/admin/views/edit-myinfo-field.client.modal.html +++ /dev/null @@ -1,109 +0,0 @@ - diff --git a/src/public/modules/forms/admin/views/edit-start-page.client.modal.html b/src/public/modules/forms/admin/views/edit-start-page.client.modal.html deleted file mode 100644 index e407ea51e0..0000000000 --- a/src/public/modules/forms/admin/views/edit-start-page.client.modal.html +++ /dev/null @@ -1,229 +0,0 @@ - diff --git a/src/public/modules/forms/admin/views/list-forms.client.view.html b/src/public/modules/forms/admin/views/list-forms.client.view.html deleted file mode 100644 index 0bf7be60b9..0000000000 --- a/src/public/modules/forms/admin/views/list-forms.client.view.html +++ /dev/null @@ -1,125 +0,0 @@ -
    - - - -
    -
    -
    - -
    -
    - - -
    Welcome back, {{vm.userName}}
    - - -
    - - Create new form -
    - - -
    - -
    -
    - {{form.title | limitTo: 24}}{{form.title.length > 24 ? '...' : - ''}} -
    -
    {{form.title}}
    -
    {{form.lastModifiedString}}
    -
    - Published -
    -
    - Inactive -
    -
    - -
    - -
    - - - -
    - - -
    -
    -
    - - -
    -
    -
    -
    Welcome {{vm.userName}}
    - -
    - Your dashboard seems empty. Start creating a new form or view - some examples below. -
    - -
    - -
    -
    -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/admin/views/mobile-edit-fields.client.modal.html b/src/public/modules/forms/admin/views/mobile-edit-fields.client.modal.html deleted file mode 100644 index 4f8ccb4591..0000000000 --- a/src/public/modules/forms/admin/views/mobile-edit-fields.client.modal.html +++ /dev/null @@ -1,159 +0,0 @@ - - - diff --git a/src/public/modules/forms/admin/views/pop-up.client.modal.html b/src/public/modules/forms/admin/views/pop-up.client.modal.html deleted file mode 100644 index e8e6cb04e9..0000000000 --- a/src/public/modules/forms/admin/views/pop-up.client.modal.html +++ /dev/null @@ -1,23 +0,0 @@ -
    - -
    diff --git a/src/public/modules/forms/admin/views/results-panel.client.view.html b/src/public/modules/forms/admin/views/results-panel.client.view.html deleted file mode 100644 index 1fdb72fd93..0000000000 --- a/src/public/modules/forms/admin/views/results-panel.client.view.html +++ /dev/null @@ -1,16 +0,0 @@ -
    - -
    -
    - -
    -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/admin/views/view-responses.client.view.html b/src/public/modules/forms/admin/views/view-responses.client.view.html deleted file mode 100644 index 9dafc4e3de..0000000000 --- a/src/public/modules/forms/admin/views/view-responses.client.view.html +++ /dev/null @@ -1,267 +0,0 @@ -
    -
    - -
    - - -
    - - {{vm.responsesCount}} response(s) to date. - - - No responses yet. - -
    -
    - - - FormSG does not store form responses.

    - To collate the responses in your Outlook Inbox, use the - Data Collation Tool. -
    -
    - - -
    -
    -
    - -
    No signs of movement
    -
    This form doesn't have any responses yet.
    - -
    - Once there are responses, you will need your Secret Key to read them. -
    -
    -
    -
    - - -
    -
    -
    -
    - - {{vm.responsesCount}} response(s) to - date - - - - -
    -
    - - - View All - -
    -
    - -
    - - -
    -
    -
    -
    -
    -
    -
    -
    - - - - - - -
    - {{row.number}} - - {{row.refNo}} - - {{row.submissionTime}} -
    -
    -
    -
    - -
    No results found
    -
    - Did you enter the right response ID? We can't seem to find the - response. -
    -
    -
    -
    -
    -
    -
    -
    -
    - - Back to list -
    -
    - Respondent #{{ vm.decryptedResponse.responseNum }} -
    -
    - - -
    -
    -
    - Respondent #{{ vm.decryptedResponse.responseNum }} -
    -
    - -
    -
    -
    - Response ID -
    -
    {{ vm.decryptedResponse.refNo }}
    -
    -
    -
    - Timestamp -
    -
    - {{ vm.decryptedResponse.submissionTime }} -
    -
    - -
    - -
    -
    - -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/end-page.html b/src/public/modules/forms/base/componentViews/end-page.html deleted file mode 100644 index cf880a2bef..0000000000 --- a/src/public/modules/forms/base/componentViews/end-page.html +++ /dev/null @@ -1,49 +0,0 @@ -
    -
    -
    -
    -
    -
    -

    - - Response ID: {{ vm.submissionId }} - -
    - - Form submitted - {{ vm.timestamp }} - -

    -

    {{ vm.title }}

    -
    -

    -
    -
    -

    You will be automatically logged out of Singpass.

    -
    - - - - -
    - -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/feedback-form.client.view.html b/src/public/modules/forms/base/componentViews/feedback-form.client.view.html deleted file mode 100644 index cc506584fe..0000000000 --- a/src/public/modules/forms/base/componentViews/feedback-form.client.view.html +++ /dev/null @@ -1,58 +0,0 @@ - -
    -
    -
    -

    - How would you rate your overall experience today? -

    -

    - Help us improve by sharing with us how we did -

    -
    - - - - - -
    - -

    Any other feedback?

    - - - - -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-attachment.client.view.html b/src/public/modules/forms/base/componentViews/field-attachment.client.view.html deleted file mode 100644 index 25e92e55c8..0000000000 --- a/src/public/modules/forms/base/componentViews/field-attachment.client.view.html +++ /dev/null @@ -1,97 +0,0 @@ -
    - - - - -
    - -
    -
    - Max File Size: {{ vm.field.attachmentSize }} MB -
    -
    -
    -
    -
    - -
    -
    -

    {{ vm.fileName }}

    - {{ vm.fileSize }} -
    -
    - -
    -
    -
    -
    - - -
    -
    - - {{ vm.fileError }}. Please try again. -
    - - -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-checkbox.client.view.html b/src/public/modules/forms/base/componentViews/field-checkbox.client.view.html deleted file mode 100644 index eca5236a4a..0000000000 --- a/src/public/modules/forms/base/componentViews/field-checkbox.client.view.html +++ /dev/null @@ -1,162 +0,0 @@ -
    - -
    -
    - {{ vm.field.field_number }}. - {{ vm.field.title }} - (optional) -
    -
    -
    - - -
    -
    -
    - -
    -
    - -
    -
    - -
    - - -
    - - Please specify others -
    -
    -
    -
    -
    - - - -
    -
    - -
    -
    -
    - Please select exactly {{vm.field.ValidationOptions.customMin}} - option(s) -
    -
    - Please select between {{vm.field.ValidationOptions.customMin}} to - {{vm.field.ValidationOptions.customMax}} options -
    -
    -
    - Please select at least {{vm.field.ValidationOptions.customMin}} - option(s) -
    -
    - Please select at most {{vm.field.ValidationOptions.customMax}} - option(s) -
    -
    - Please select at least 1 option -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-date.client.view.html b/src/public/modules/forms/base/componentViews/field-date.client.view.html deleted file mode 100644 index 4d4bd7d053..0000000000 --- a/src/public/modules/forms/base/componentViews/field-date.client.view.html +++ /dev/null @@ -1,79 +0,0 @@ -
    - - - - -
    -
    - - - - -
    -
    - - -
    - -
    - - Invalid date format. Please choose a date from the popup calendar, or - else key in a valid date such as '01 Jan 2020'. -
    -
    - - - Selected date is not within the allowed date range. Please choose a - date from the popup calendar. -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-decimal.client.view.html b/src/public/modules/forms/base/componentViews/field-decimal.client.view.html deleted file mode 100644 index 96b2d3b203..0000000000 --- a/src/public/modules/forms/base/componentViews/field-decimal.client.view.html +++ /dev/null @@ -1,114 +0,0 @@ -
    - - - - -
    - -
    - - - -
    -
    - -
    -
    - Please enter a required decimal between - {{vm.formatNumber(vm.field.ValidationOptions.customMin)}} and - {{vm.formatNumber(vm.field.ValidationOptions.customMax)}} (inclusive) -
    -
    - Please enter a required decimal greater than or equal to - {{vm.formatNumber(vm.field.ValidationOptions.customMin)}} -
    -
    - Please enter a required decimal less than or equal to - {{vm.formatNumber(vm.field.ValidationOptions.customMax)}} -
    -
    - Please fill in required field -
    -
    -
    - -
    - -
    -
    - Please enter a decimal between - {{vm.formatNumber(vm.field.ValidationOptions.customMin)}} and - {{vm.formatNumber(vm.field.ValidationOptions.customMax)}} (inclusive) -
    -
    - Please enter a decimal greater than or equal to - {{vm.formatNumber(vm.field.ValidationOptions.customMin)}} -
    -
    - Please enter a decimal less than or equal to - {{vm.formatNumber(vm.field.ValidationOptions.customMax)}} -
    -
    - Please enter a valid decimal -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-dropdown.client.view.html b/src/public/modules/forms/base/componentViews/field-dropdown.client.view.html deleted file mode 100644 index a78908a2dc..0000000000 --- a/src/public/modules/forms/base/componentViews/field-dropdown.client.view.html +++ /dev/null @@ -1,66 +0,0 @@ - diff --git a/src/public/modules/forms/base/componentViews/field-email.client.view.html b/src/public/modules/forms/base/componentViews/field-email.client.view.html deleted file mode 100644 index 7c6653be8c..0000000000 --- a/src/public/modules/forms/base/componentViews/field-email.client.view.html +++ /dev/null @@ -1,74 +0,0 @@ - -
    - - - - - -
    - -
    - - -
    - -
    - - Please enter a valid email. -
    -
    - - Not an allowed email domain -
    -
    - - Please verify your email. -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-homeno.client.view.html b/src/public/modules/forms/base/componentViews/field-homeno.client.view.html deleted file mode 100644 index a522f9d139..0000000000 --- a/src/public/modules/forms/base/componentViews/field-homeno.client.view.html +++ /dev/null @@ -1,78 +0,0 @@ -
    - - - - -
    - -
    -
    - -
    - -
    -
    - - Invalid home number -
    -
    - - Please fill in required field -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-image.client.view.html b/src/public/modules/forms/base/componentViews/field-image.client.view.html deleted file mode 100644 index e8e65b7797..0000000000 --- a/src/public/modules/forms/base/componentViews/field-image.client.view.html +++ /dev/null @@ -1,8 +0,0 @@ -
    - -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-mobile.client.view.html b/src/public/modules/forms/base/componentViews/field-mobile.client.view.html deleted file mode 100644 index f6815f9345..0000000000 --- a/src/public/modules/forms/base/componentViews/field-mobile.client.view.html +++ /dev/null @@ -1,92 +0,0 @@ -
    - - - - - - -
    - -
    -
    - -
    - -
    -
    - - Invalid mobile number -
    -
    - - Please fill in required field -
    -
    - - Please verify your mobile number. -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-nric.client.view.html b/src/public/modules/forms/base/componentViews/field-nric.client.view.html deleted file mode 100644 index 67f01462ee..0000000000 --- a/src/public/modules/forms/base/componentViews/field-nric.client.view.html +++ /dev/null @@ -1,56 +0,0 @@ -
    - - - - -
    - -
    - - -
    - -
    - - Please enter a valid NRIC or FIN -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-number.client.view.html b/src/public/modules/forms/base/componentViews/field-number.client.view.html deleted file mode 100644 index 27abe19ed0..0000000000 --- a/src/public/modules/forms/base/componentViews/field-number.client.view.html +++ /dev/null @@ -1,80 +0,0 @@ -
    - - - - - -
    - -
    - - -
    -
    - -
    - - Please enter a valid number -
    -
    - - Please enter a valid number -
    -
    -
    - - Minimum {{vm.field.ValidationOptions.customVal}} characters - ({{vm.forms.myForm[(vm.field._id || - 'defaultID')].$viewValue.length}}/{{vm.field.ValidationOptions.customVal}}) -
    -
    -
    -
    - - Maximum {{vm.field.ValidationOptions.customVal}} characters - ({{vm.forms.myForm[(vm.field._id || - 'defaultID')].$viewValue.length}}/{{vm.field.ValidationOptions.customVal}}) -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-radiobutton.client.view.html b/src/public/modules/forms/base/componentViews/field-radiobutton.client.view.html deleted file mode 100644 index 6be20298e6..0000000000 --- a/src/public/modules/forms/base/componentViews/field-radiobutton.client.view.html +++ /dev/null @@ -1,112 +0,0 @@ -
    - - - -
    -
    - -
    -
    - -
    -
    - -
    -
    - -
    - - -
    - - Please specify others -
    -
    -
    -
    -
    -
    - - -
    - - -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-rating.client.view.html b/src/public/modules/forms/base/componentViews/field-rating.client.view.html deleted file mode 100644 index 0b17b92c6a..0000000000 --- a/src/public/modules/forms/base/componentViews/field-rating.client.view.html +++ /dev/null @@ -1,49 +0,0 @@ -
    - - - - -
    - - -
    - - -
    - -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-section.client.view.html b/src/public/modules/forms/base/componentViews/field-section.client.view.html deleted file mode 100644 index 6143b08c44..0000000000 --- a/src/public/modules/forms/base/componentViews/field-section.client.view.html +++ /dev/null @@ -1,13 +0,0 @@ -
    -
    - {{ vm.field.title }} -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-statement.client.view.html b/src/public/modules/forms/base/componentViews/field-statement.client.view.html deleted file mode 100644 index 64c17b0722..0000000000 --- a/src/public/modules/forms/base/componentViews/field-statement.client.view.html +++ /dev/null @@ -1,5 +0,0 @@ -
    diff --git a/src/public/modules/forms/base/componentViews/field-table.client.view.html b/src/public/modules/forms/base/componentViews/field-table.client.view.html deleted file mode 100644 index 24836c0937..0000000000 --- a/src/public/modules/forms/base/componentViews/field-table.client.view.html +++ /dev/null @@ -1,120 +0,0 @@ -
    - -
    -
    - {{ vm.field.field_number }}. - {{ vm.field.title }} -
    -
    -
    - - -
    -
    -
    - -
    -
    - {{tableField.title}} - (optional) -
    -
    -
    -
    -
    - -
    - -
    - {{vm.field.columns[$index].title}} - (optional) -
    - -
    - - -
    - -
    -
    - -
    -
    -
    -
    -
    - - - -
    -
    - -
    -
    - ({{vm.getNumRows()}} out of max {{vm.field.maximumRows}} rows) - ({{vm.getNumRows()}} rows) -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-textarea.client.view.html b/src/public/modules/forms/base/componentViews/field-textarea.client.view.html deleted file mode 100644 index 118a0ec194..0000000000 --- a/src/public/modules/forms/base/componentViews/field-textarea.client.view.html +++ /dev/null @@ -1,77 +0,0 @@ -
    - - - - -
    - -
    - -
    - - - - - -
    - -
    -
    - Minimum {{vm.field.ValidationOptions.customVal}} characters - ({{vm.field.fieldValue.length}}/{{vm.field.ValidationOptions.customVal}}) -
    -
    - Maximum {{vm.field.ValidationOptions.customVal}} characters - ({{vm.field.fieldValue.length}}/{{vm.field.ValidationOptions.customVal}}) -
    -
    - Must be exactly {{vm.field.ValidationOptions.customVal}} characters - ({{vm.field.fieldValue.length}}/{{vm.field.ValidationOptions.customVal}}) -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-textfield.client.view.html b/src/public/modules/forms/base/componentViews/field-textfield.client.view.html deleted file mode 100644 index 6d898ff599..0000000000 --- a/src/public/modules/forms/base/componentViews/field-textfield.client.view.html +++ /dev/null @@ -1,72 +0,0 @@ -
    - - - - -
    - -
    - - -
    - -
    - -
    -
    - - Minimum {{vm.field.ValidationOptions.customVal}} characters - ({{vm.forms.myForm[(vm.field._id || - 'defaultID')].$viewValue.length}}/{{vm.field.ValidationOptions.customVal}}) -
    -
    -
    -
    - - Maximum {{vm.field.ValidationOptions.customVal}} characters - ({{vm.forms.myForm[(vm.field._id || - 'defaultID')].$viewValue.length}}/{{vm.field.ValidationOptions.customVal}}) -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-uen.client.view.html b/src/public/modules/forms/base/componentViews/field-uen.client.view.html deleted file mode 100644 index 794bcbc0c4..0000000000 --- a/src/public/modules/forms/base/componentViews/field-uen.client.view.html +++ /dev/null @@ -1,56 +0,0 @@ -
    - - - - -
    - -
    - - -
    - -
    - - Please enter a valid UEN -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/field-yes-no.client.view.html b/src/public/modules/forms/base/componentViews/field-yes-no.client.view.html deleted file mode 100644 index c896b5e715..0000000000 --- a/src/public/modules/forms/base/componentViews/field-yes-no.client.view.html +++ /dev/null @@ -1,66 +0,0 @@ -
    - -
    -
    - {{ vm.field.field_number }}. - {{ vm.field.title }} - (optional) -
    -
    -
    - - -
    -
    - - -
    -
    - - -
    - - -
    -
    diff --git a/src/public/modules/forms/base/componentViews/fieldError.html b/src/public/modules/forms/base/componentViews/fieldError.html deleted file mode 100644 index 482f6e230b..0000000000 --- a/src/public/modules/forms/base/componentViews/fieldError.html +++ /dev/null @@ -1,4 +0,0 @@ -
    - - {{vm.text}} -
    diff --git a/src/public/modules/forms/base/componentViews/start-page.html b/src/public/modules/forms/base/componentViews/start-page.html deleted file mode 100644 index fc03a99273..0000000000 --- a/src/public/modules/forms/base/componentViews/start-page.html +++ /dev/null @@ -1,175 +0,0 @@ -
    -
    -

    {{ vm.formTitle }}

    -
    - - Log out - -
    -
    -
    -
    - -
    - -
    -
    -
    -
    - -
    -
    - -
    -
    - -

    {{ vm.formTitle }}

    -
    -
    -

    - - - {{ vm.estTimeTaken }} min{{ vm.estTimeTaken === 1 ? "" : "s" - }} - estimated time to complete - -

    -
    - - - - - -
    -
    - Login with Singpass to access this form. Your Singpass ID will be - included with your form submission. -
    -
    - Corporate entity login is required for this form. Your Singpass ID - and corporate Entity ID will be included with your form - submission. -
    -
    -
    -
    Logged in as corporate user
    -
    - -
    -
    -
    -
    - - - An error occurred while retrieving your MyInfo details. Kindly refresh - your browser and log in again, or try again later. - -
    -
    -
    -
    -

    - Instructions -

    -

    -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/componentViews/verifiable-field.html b/src/public/modules/forms/base/componentViews/verifiable-field.html deleted file mode 100644 index fd97acf537..0000000000 --- a/src/public/modules/forms/base/componentViews/verifiable-field.html +++ /dev/null @@ -1,141 +0,0 @@ - -
    -
    - - - - - -
    - - -
    -
    - - -
    -
    - {{ 'Verify your ' + (vm.field.fieldType === 'mobile' ? 'mobile number' - : 'email') }} -
    -
    - {{ (vm.field.fieldType === 'mobile' ? 'A text message' : 'An email') + - ' with a verification code was just sent to you. The code will be - valid for 30 minutes.' }} -
    -
    -
    - - - -
    - - - -
    - - -
    - - -
    -
    -
    - - -
    -
    - - -
    - Resend OTP - in {{ vm.countdown}} seconds -
    - -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/components/end-page.client.component.js b/src/public/modules/forms/base/components/end-page.client.component.js deleted file mode 100644 index 3d107bc984..0000000000 --- a/src/public/modules/forms/base/components/end-page.client.component.js +++ /dev/null @@ -1,34 +0,0 @@ -'use strict' - -angular.module('forms').component('endPageComponent', { - templateUrl: 'modules/forms/base/componentViews/end-page.html', - bindings: { - logoUrl: '@', - title: '@', - paragraph: '@', - buttonText: '@', - buttonLink: '@', - authType: '@', - isAdminPreview: '<', - colorTheme: '@', - submissionId: '@', - timestamp: '@', - }, - controller: ['SpcpSession', '$window', endPageController], - controllerAs: 'vm', -}) - -function endPageController(SpcpSession, $window) { - const vm = this - - vm.userName = SpcpSession.userName - vm.formLogout = SpcpSession.logout - - vm.customLinkReload = () => { - if (!vm.buttonLink || vm.buttonLink === $window.location.hash) { - $window.location.reload() - } else { - $window.location.href = vm.buttonLink - } - } -} diff --git a/src/public/modules/forms/base/components/feedback-form.client.component.js b/src/public/modules/forms/base/components/feedback-form.client.component.js deleted file mode 100644 index af82b929d5..0000000000 --- a/src/public/modules/forms/base/components/feedback-form.client.component.js +++ /dev/null @@ -1,55 +0,0 @@ -'use strict' - -const FormFeedbackService = require('../../../../services/FormFeedbackService') - -angular.module('forms').component('feedbackFormComponent', { - templateUrl: - 'modules/forms/base/componentViews/feedback-form.client.view.html', - bindings: { - isPreview: '<', - formId: '@', - submissionId: '@', - colorTheme: '@', - }, - controller: ['Toastr', '$q', feedbackController], - controllerAs: 'vm', -}) - -function feedbackController(Toastr, $q) { - const vm = this - - vm.$onInit = () => { - vm.isSubmitted = false - vm.comment = '' - vm.rating = null - } - - vm.submitFeedback = function () { - vm.isLoading = true - - if (vm.rating !== null) { - const feedback = { - rating: vm.rating, - comment: vm.comment, - isPreview: vm.isPreview, - } - - $q.when( - FormFeedbackService.postFeedback(vm.formId, vm.submissionId, feedback), - ).then( - function () { - vm.isSubmitted = true - vm.isLoading = false - Toastr.success('Thank you for your submission!') - }, - function () { - vm.isSubmitted = true - vm.isLoading = false - Toastr.error( - "It's likely your network connectivity is down. Please try again later.", - ) - }, - ) - } - } -} diff --git a/src/public/modules/forms/base/components/field-attachment.client.component.js b/src/public/modules/forms/base/components/field-attachment.client.component.js deleted file mode 100644 index 6388ed804d..0000000000 --- a/src/public/modules/forms/base/components/field-attachment.client.component.js +++ /dev/null @@ -1,162 +0,0 @@ -'use strict' - -const { - getFileExtension, - isInvalidFileExtension, - getInvalidFileExtensionsInZip, -} = require('../../../../../../shared/utils/file-validation') -const { KB, MB } = require('../../../../../../shared/constants/file') - -angular.module('forms').component('attachmentFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-attachment.client.view.html', - bindings: { - field: '<', - forms: '<', - isadminpreview: '<', - }, - controller: ['$timeout', attachmentFieldComponentController], - controllerAs: 'vm', -}) - -function attachmentFieldComponentController($timeout) { - const vm = this - - vm.MB = MB - - vm.isAttachmentTouched = false - vm.touchAttachment = function () { - vm.isAttachmentTouched = true - } - - vm.fileAttached = false - vm.isLoading = false - vm.beforeResizingImages = function (_fieldId) { - vm.isLoading = true - } - vm.uploadFile = function (file, errFiles, _fieldId) { - let err - if (errFiles.length > 0) { - err = errFiles[0].$error - if (err === 'maxSize') { - const currentSize = (errFiles[0].size / MB).toFixed(2) - showAttachmentError( - `${currentSize} MB / ${vm.field.attachmentSize} MB: File size exceeded`, - ) - } else if (err === 'resize') { - showAttachmentError(`An error has occurred while resizing your image`) - } else { - showAttachmentError(err) - } - return - } - - if (!file) return - - let fileExt = getFileExtension(file.name) - if (isInvalidFileExtension(fileExt)) { - showAttachmentError( - `Your file's extension ending in *${fileExt} is not allowed`, - ) - return - } - - const invalidFilesInZip = - fileExt === '.zip' - ? getInvalidFileExtensionsInZip('blob', file) - : Promise.resolve([]) - invalidFilesInZip - .then((invalidFiles) => { - // Use $timeout to trigger digest cycle - $timeout(() => { - if (invalidFiles.length > 0) { - const stringOfInvalidExtensions = invalidFiles.join(', ') - showAttachmentError( - `The following file extensions in your zip are not valid: ${stringOfInvalidExtensions}`, - ) - } else { - saveFileToField(file) - } - }) - }) - .catch(() => { - $timeout(() => { - showAttachmentError( - 'An error has occurred while parsing your zip file', - ) - }) - }) - } - - vm.attachmentIsDisabled = (field) => { - return (vm.isadminpreview && !vm.isLoading) || field.disabled - } - - vm.removeFile = function () { - delete vm.field.file - vm.fileAttached = false - vm.field.fieldValue = '' - } - - // Context: iOS seems to clear file attachment content in attached files - // after one minute (or more) resulting in an empty content buffer being - // sent to the server. This results in an invalid submission if the form has - // attachments and the user takes more than one minute to submit the form. - // A possibly stupid solution is to convert the file reference into a blob - // and back again to create a new reference that does not get inexplicably - // cleared on iOS (and that is indeed what is being done here). - const saveFileToField = (file) => { - const reader = new FileReader() - - // Context: Android file picker gives an option to upload files directly - // from Google Drive, but those cause errors with FileReader and - // XMLHttpRequest. - reader.onerror = () => { - $timeout(() => { - showAttachmentError( - 'Upload failed. If you are using online storage such as Google Drive, ' + - 'download your file before attaching the downloaded version', - ) - }) - } - - reader.onload = function (e) { - $timeout(() => { - const blob = new Blob([new Uint8Array(e.target.result)], { - type: file.type, - }) - - // Not using File constructor because IE11 does not support File - blob.name = file.name - blob.lastModifiedDate = file.lastModifiedDate - - // Assign it to the field. - vm.field.file = blob - vm.field.fieldValue = file.name - - vm.fileAttached = true - vm.fileError = false - vm.fileName = file.name - vm.fileSize = file.size / KB - if (file.size / KB > KB) { - vm.fileSize = String((file.size / MB).toFixed(2)) + ' MB' - } else { - vm.fileSize = String((file.size / KB).toFixed(2)) + ' KB' - } - vm.isLoading = false - }) - } - reader.readAsArrayBuffer(file) - } - - /** - * Shows an error message and erases file. - * @param {string} message Error message to show. Should not include period as period is hardcoded in view. - */ - const showAttachmentError = (message) => { - vm.fileError = message - vm.field.fieldValue = '' - vm.fileAttached = false - vm.isLoading = false - } -} diff --git a/src/public/modules/forms/base/components/field-checkbox.client.component.js b/src/public/modules/forms/base/components/field-checkbox.client.component.js deleted file mode 100644 index 9299f41000..0000000000 --- a/src/public/modules/forms/base/components/field-checkbox.client.component.js +++ /dev/null @@ -1,27 +0,0 @@ -'use strict' - -angular.module('forms').component('checkboxFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-checkbox.client.view.html', - bindings: { - field: '<', - forms: '<', - colortheme: '<', - }, - controller: checkboxFieldComponentController, - controllerAs: 'vm', -}) - -function checkboxFieldComponentController() { - const vm = this - - vm.$onInit = () => { - vm.field.fieldValue = Array(vm.field.fieldOptions.length + 1).fill(false) - } - - vm.focusCustomCheckbox = function (selectedOthersCheckbox, _id) { - if (selectedOthersCheckbox === true) { - angular.element('.' + _id).focus() - } - } -} diff --git a/src/public/modules/forms/base/components/field-date.client.component.js b/src/public/modules/forms/base/components/field-date.client.component.js deleted file mode 100644 index 73c09078d1..0000000000 --- a/src/public/modules/forms/base/components/field-date.client.component.js +++ /dev/null @@ -1,95 +0,0 @@ -'use strict' - -const moment = require('moment-timezone') -const { get } = require('lodash') - -angular.module('forms').component('dateFieldComponent', { - templateUrl: 'modules/forms/base/componentViews/field-date.client.view.html', - bindings: { - field: '<', - forms: '<', - isValidateDate: '<', - }, - controller: dateFieldComponentController, - controllerAs: 'vm', -}) - -function dateFieldComponentController() { - const vm = this - - vm.dateOptions = { - showWeeks: false, - formatMonth: 'MMM', - yearRows: 4, - yearColumns: 3, - minDate: null, - maxDate: null, - initDate: null, - } - - vm.$onChanges = (changesObj) => { - if (changesObj.isValidateDate) { - vm.dateOptions.minDate = null - vm.dateOptions.maxDate = null - const todayIsoFormat = moment - .tz('Asia/Singapore') - .format('YYYY/MM/DD HH:mm:ss') - if ( - get(vm.field, 'dateValidation.selectedDateValidation') === - 'Disallow past dates' - ) { - // Get GMT+8 time information from moment.tz - // but convert it to JS date using the format string - // as js date does not contain tz information - vm.dateOptions.minDate = new Date(todayIsoFormat) - } - if ( - get(vm.field, 'dateValidation.selectedDateValidation') === - 'Disallow future dates' - ) { - vm.dateOptions.maxDate = new Date(todayIsoFormat) - } - if (get(vm.field, 'dateValidation.customMinDate')) { - vm.dateOptions.minDate = new Date(vm.field.dateValidation.customMinDate) - } - - if (get(vm.field, 'dateValidation.customMaxDate')) { - vm.dateOptions.maxDate = new Date(vm.field.dateValidation.customMaxDate) - } - - // If minDate is set, default view upon opening datepicker to be month of minDate - // Setting vm.dateOptions.initDate = vm.dateOptions.minDate directly leads to a bug - // whereby after a date is selected on the datepicker,minDate is set to the start of - // the month of the selected date. - // This is possibly because init date is automatically updated to the month of - // the latest date selection (did not find more details in documentation); - // since object properties are passed by reference, this led to dateOptions.minDate - // also being updated to the start of the selected month - if (vm.dateOptions.minDate) { - vm.dateOptions.initDate = new Date(vm.dateOptions.minDate) - } else { - vm.dateOptions.initDate = null - } - } - } - - vm.isDateInvalid = () => { - const date = vm.field.fieldValue ? moment(vm.field.fieldValue) : null - const minDate = vm.dateOptions.minDate - ? moment(vm.dateOptions.minDate).startOf('day') - : null - const maxDate = vm.dateOptions.maxDate - ? moment(vm.dateOptions.maxDate).startOf('day') - : null - if (date && minDate && maxDate) { - return date < minDate || date > maxDate - } - if (date && minDate) { - return date < minDate - } - if (date && maxDate) { - return date > maxDate - } - return false - } -} diff --git a/src/public/modules/forms/base/components/field-decimal.client.component.js b/src/public/modules/forms/base/components/field-decimal.client.component.js deleted file mode 100644 index d894fe6fcc..0000000000 --- a/src/public/modules/forms/base/components/field-decimal.client.component.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict' - -const MAX_FRACTION_DIGITS = 20 // maximum allowed for number formatting option - -angular.module('forms').component('decimalFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-decimal.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controller: decimalFieldComponentController, - controllerAs: 'vm', -}) - -function decimalFieldComponentController() { - const vm = this - - /** - * Formats the number to have commas, etc. - * @return {Number} Language-sensitive representation of the number - */ - vm.formatNumber = function (num) { - const formatOptions = { - minimumFractionDigits: 0, - maximumFractionDigits: MAX_FRACTION_DIGITS, - } - if (typeof num !== 'number') { - return num - } - return num.toLocaleString(undefined, formatOptions) - } -} diff --git a/src/public/modules/forms/base/components/field-dropdown.client.component.js b/src/public/modules/forms/base/components/field-dropdown.client.component.js deleted file mode 100644 index cfeab04592..0000000000 --- a/src/public/modules/forms/base/components/field-dropdown.client.component.js +++ /dev/null @@ -1,61 +0,0 @@ -'use strict' - -angular.module('forms').component('dropdownFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-dropdown.client.view.html', - bindings: { - field: '<', - forms: '<', - onDropdownClickParent: '&onDropdownClick', - }, - controller: dropdownFieldComponentController, - controllerAs: 'vm', -}) - -function dropdownFieldComponentController() { - const vm = this - - vm.$onInit = () => { - vm.filteredDropdownOptions = getFieldOptions() - vm.infiniteScroll = {} - // Progressively load more items - vm.infiniteScroll.numToAdd = 3 - // Initial number of items to load - vm.infiniteScroll.initalItems = 30 - // Current number of items to show - vm.infiniteScroll.currentItems = vm.infiniteScroll.initalItems - // Infinite scroll container (need to specify id in selector for multiple dropdowns to work) - // Cannot use #id in selector if id starts with number - vm.infiniteScroll.scrollContainer = `[id="${ - vm.field._id || 'defaultID' - }"] .ui-select-choices-content` - } - - vm.dropdownFilter = function (searchString) { - let dropdownOptions = getFieldOptions() - vm.filteredDropdownOptions = dropdownOptions.filter((option) => { - return ( - option.trim().toLowerCase().indexOf(searchString.toLowerCase()) > -1 - ) - }) - } - - vm.onDropdownOpenClose = function () { - if (vm.onDropdownClickParent) { - vm.onDropdownClickParent() - } - // Reset current items to show - vm.infiniteScroll.currentItems = vm.infiniteScroll.initalItems - } - vm.addMoreItems = function () { - vm.infiniteScroll.currentItems += vm.infiniteScroll.numToAdd - } - - function getFieldOptions() { - if (!vm.field.manualOptions) { - return vm.field.fieldOptions - } else { - return vm.field.manualOptions - } - } -} diff --git a/src/public/modules/forms/base/components/field-email.client.component.js b/src/public/modules/forms/base/components/field-email.client.component.js deleted file mode 100644 index 7f20687d0c..0000000000 --- a/src/public/modules/forms/base/components/field-email.client.component.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -angular.module('forms').component('emailFieldComponent', { - templateUrl: 'modules/forms/base/componentViews/field-email.client.view.html', - bindings: { - field: '<', - forms: '<', - transactionId: '<', - formId: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-homeno.client.component.js b/src/public/modules/forms/base/components/field-homeno.client.component.js deleted file mode 100644 index 6dbf4455f8..0000000000 --- a/src/public/modules/forms/base/components/field-homeno.client.component.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -angular.module('forms').component('homenoFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-homeno.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-icon.client.component.js b/src/public/modules/forms/base/components/field-icon.client.component.js deleted file mode 100644 index cc44cfce1b..0000000000 --- a/src/public/modules/forms/base/components/field-icon.client.component.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict' - -const { iconTypeMap } = require('../resources/icon-types') - -angular.module('forms').component('fieldIconComponent', { - template: '', - bindings: { - typeName: '@', - }, - controller: fieldIconController, - controllerAs: 'vm', -}) - -function fieldIconController() { - const vm = this - - vm.$onChanges = (changes) => { - if (changes.typeName) { - vm.typeIcon = iconTypeMap[vm.typeName] - } - } -} diff --git a/src/public/modules/forms/base/components/field-image.client.component.js b/src/public/modules/forms/base/components/field-image.client.component.js deleted file mode 100644 index ba32ac7336..0000000000 --- a/src/public/modules/forms/base/components/field-image.client.component.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' - -angular.module('forms').component('imageFieldComponent', { - templateUrl: 'modules/forms/base/componentViews/field-image.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-mobile.client.component.js b/src/public/modules/forms/base/components/field-mobile.client.component.js deleted file mode 100644 index 2e640d6dce..0000000000 --- a/src/public/modules/forms/base/components/field-mobile.client.component.js +++ /dev/null @@ -1,13 +0,0 @@ -'use strict' - -angular.module('forms').component('mobileFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-mobile.client.view.html', - bindings: { - field: '<', - forms: '<', - transactionId: '<', - formId: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-nric.client.component.js b/src/public/modules/forms/base/components/field-nric.client.component.js deleted file mode 100644 index 6427b9a082..0000000000 --- a/src/public/modules/forms/base/components/field-nric.client.component.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' - -angular.module('forms').component('nricFieldComponent', { - templateUrl: 'modules/forms/base/componentViews/field-nric.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-number.client.component.js b/src/public/modules/forms/base/components/field-number.client.component.js deleted file mode 100644 index 1353ac2d1e..0000000000 --- a/src/public/modules/forms/base/components/field-number.client.component.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -angular.module('forms').component('numberFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-number.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-radiobutton.client.component.js b/src/public/modules/forms/base/components/field-radiobutton.client.component.js deleted file mode 100644 index 381b748910..0000000000 --- a/src/public/modules/forms/base/components/field-radiobutton.client.component.js +++ /dev/null @@ -1,36 +0,0 @@ -'use strict' - -angular.module('forms').component('radioButtonFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-radiobutton.client.view.html', - bindings: { - field: '<', - forms: '<', - colortheme: '<', - }, - controller: radioButtonFieldComponentController, - controllerAs: 'vm', -}) - -function radioButtonFieldComponentController() { - const vm = this - - vm.selectRadioBtn = function (event, field) { - let id = field._id || 'defaultID' - let lastSelectedRadio = angular.element('#radio' + id) - if (lastSelectedRadio.data('last-selected') === event.target.value) { - field.fieldValue = '' - lastSelectedRadio.data('last-selected', '') - } else { - lastSelectedRadio.data('last-selected', event.target.value) - if (event.target.value === 'radioButtonOthers') { - angular.element('#others' + id).focus() - } - } - } - - vm.selectRadioOthers = function (_id) { - angular.element('#radio' + _id).data('last-selected', 'radioButtonOthers') - vm.field.fieldValue = 'radioButtonOthers' - } -} diff --git a/src/public/modules/forms/base/components/field-rating.client.component.js b/src/public/modules/forms/base/components/field-rating.client.component.js deleted file mode 100644 index e2d0c36aae..0000000000 --- a/src/public/modules/forms/base/components/field-rating.client.component.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -angular.module('forms').component('ratingFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-rating.client.view.html', - bindings: { - field: '<', - forms: '<', - colortheme: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-section.client.component.js b/src/public/modules/forms/base/components/field-section.client.component.js deleted file mode 100644 index c013ea96bd..0000000000 --- a/src/public/modules/forms/base/components/field-section.client.component.js +++ /dev/null @@ -1,12 +0,0 @@ -'use strict' - -angular.module('forms').component('sectionFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-section.client.view.html', - bindings: { - field: '<', - forms: '<', - colortheme: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-statement.client.component.js b/src/public/modules/forms/base/components/field-statement.client.component.js deleted file mode 100644 index f4038efadf..0000000000 --- a/src/public/modules/forms/base/components/field-statement.client.component.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -angular.module('forms').component('statementFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-statement.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-table.client.component.js b/src/public/modules/forms/base/components/field-table.client.component.js deleted file mode 100644 index 71e4473c66..0000000000 --- a/src/public/modules/forms/base/components/field-table.client.component.js +++ /dev/null @@ -1,70 +0,0 @@ -'use strict' - -const range = require('lodash/range') - -angular.module('forms').component('tableFieldComponent', { - templateUrl: 'modules/forms/base/componentViews/field-table.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controller: ['$scope', tableFieldComponentController], - controllerAs: 'vm', -}) - -function tableFieldComponentController($scope) { - const vm = this - - $scope.$watch( - () => vm.field.minimumRows, - () => { - vm.field.render() - }, - ) - - // Add new element to all fieldValue arrays and increment counter - vm.addTableRow = function () { - vm.field.addRow(true) - } - - // Delete particular element from fieldValue arrays and decrement counter - vm.deleteTableRow = function (index) { - vm.field.deleteRow(index) - } - - // Generate array of table row indexes for the purpose of rendering - vm.generateTableRowIndexes = function () { - return range(vm.getNumRows()) - } - - // We must add padding whenever a dropdown is open in the last two rows of - // the table, otherwise the options in those dropdowns get hidden. - vm.handleDropdownClick = function (fieldType, index) { - // Flip end padding state if a dropdown in the last 2 rows are clicked - if (fieldType === 'dropdown' && index >= vm.getNumRows() - 2) { - vm.hasEndPadding = !vm.hasEndPadding - } - } - - // Show error is required columns are unfilled - vm.isTableError = function () { - const componentIds = vm.field.getComponentIds() - return componentIds.some((rowIds) => { - return rowIds.some((id) => { - return ( - vm.forms.myForm[id] && - vm.forms.myForm[id].$touched && - vm.forms.myForm[id].$invalid - ) - }) - }) - } - - vm.isLastRow = function (index) { - return index === vm.getNumRows() - 1 - } - - vm.getNumRows = function () { - return vm.field.minimumRows + vm.field.additionalRowCount - } -} diff --git a/src/public/modules/forms/base/components/field-textarea.client.component.js b/src/public/modules/forms/base/components/field-textarea.client.component.js deleted file mode 100644 index df34943839..0000000000 --- a/src/public/modules/forms/base/components/field-textarea.client.component.js +++ /dev/null @@ -1,11 +0,0 @@ -'use strict' - -angular.module('forms').component('textareaFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-textarea.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-textfield.client.component.js b/src/public/modules/forms/base/components/field-textfield.client.component.js deleted file mode 100644 index 9181748881..0000000000 --- a/src/public/modules/forms/base/components/field-textfield.client.component.js +++ /dev/null @@ -1,46 +0,0 @@ -'use strict' - -const querystring = require('querystring') - -angular.module('forms').component('textFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-textfield.client.view.html', - bindings: { - field: '<', - forms: '<', - placeholder: '<', - }, - controller: ['$location', '$sanitize', textFieldComponentController], - controllerAs: 'vm', -}) - -function textFieldComponentController($location, $sanitize) { - // If a query parameter is provided to a form URL in the form ?=&=... - // And if the fieldIds are valid mongoose object IDs and refer to a short text field, - // Then prefill and disable editing the corresponding form field on the frontend - - const vm = this - vm.$onInit = () => { - const query = $location.url().split('?') - const queryParams = - query.length > 1 ? querystring.parse(query[1]) : undefined - - if ( - !vm.field.myInfo && // disallow prefill for myinfo - vm.field.allowPrefill && // allow prefill only if flag enabled - queryParams && - vm.field._id in queryParams - ) { - const prefillValue = queryParams[vm.field._id] - if (typeof prefillValue === 'string' && prefillValue.length > 0) { - // Only support unique query params. If query params are duplicated, - // none of the duplicated keys will be prefilled - vm.field.fieldValue = $sanitize(prefillValue) // $sanitize as a precaution to prevent xss - // note that there are currently no unit tests to ensure that value is sanitized correctly; manual testing required - - // Indicate that field is prefilled - vm.field.isPrefilled = true - } - } - } -} diff --git a/src/public/modules/forms/base/components/field-uen.client.component.js b/src/public/modules/forms/base/components/field-uen.client.component.js deleted file mode 100644 index 758960d2ea..0000000000 --- a/src/public/modules/forms/base/components/field-uen.client.component.js +++ /dev/null @@ -1,10 +0,0 @@ -'use strict' - -angular.module('forms').component('uenFieldComponent', { - templateUrl: 'modules/forms/base/componentViews/field-uen.client.view.html', - bindings: { - field: '<', - forms: '<', - }, - controllerAs: 'vm', -}) diff --git a/src/public/modules/forms/base/components/field-yes-no.client.component.js b/src/public/modules/forms/base/components/field-yes-no.client.component.js deleted file mode 100644 index 16cd8e95a4..0000000000 --- a/src/public/modules/forms/base/components/field-yes-no.client.component.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' - -angular.module('forms').component('yesNoFieldComponent', { - templateUrl: - 'modules/forms/base/componentViews/field-yes-no.client.view.html', - bindings: { - field: '<', - forms: '<', - colortheme: '<', - }, - controller: yesNoFieldComponentController, - controllerAs: 'vm', -}) - -function yesNoFieldComponentController() { - const vm = this - - vm.$onInit = () => { - vm.field.fieldValue = '' - } - - vm.selectYesNo = function (event, field) { - let yesNoSelector = event.currentTarget.parentElement.parentElement - let lastSelectedDataSource = 'data-last-selected' - let lastSelected = yesNoSelector.getAttribute(lastSelectedDataSource) - if (lastSelected !== undefined) { - if (lastSelected === event.target.value) { - field.fieldValue = '' - yesNoSelector.setAttribute(lastSelectedDataSource, '') - } else { - yesNoSelector.setAttribute(lastSelectedDataSource, event.target.value) - } - } - } -} diff --git a/src/public/modules/forms/base/components/field.error.component.js b/src/public/modules/forms/base/components/field.error.component.js deleted file mode 100644 index 8e702085c1..0000000000 --- a/src/public/modules/forms/base/components/field.error.component.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -angular.module('forms').component('fieldErrorComponent', { - bindings: { - text: '<', - }, - templateUrl: 'modules/forms/base/componentViews/fieldError.html', - controller: [fieldErrorController], - controllerAs: 'vm', -}) - -function fieldErrorController() { - const vm = this - vm.$onInit = () => { - vm.text = vm.text || 'Please fill in required field' - } -} diff --git a/src/public/modules/forms/base/components/start-page.client.component.js b/src/public/modules/forms/base/components/start-page.client.component.js deleted file mode 100644 index 8771a7be32..0000000000 --- a/src/public/modules/forms/base/components/start-page.client.component.js +++ /dev/null @@ -1,85 +0,0 @@ -'use strict' - -const { FormLogoState } = require('../../../../../../shared/types') - -angular.module('forms').component('startPageComponent', { - templateUrl: 'modules/forms/base/componentViews/start-page.html', - bindings: { - logoUrl: '@', - colorTheme: '@', - estTimeTaken: '<', - paragraph: '@', - logoState: '@', - formTitle: '@', - authType: '<', - myInfoError: '<', - isAdminPreview: '<', - isTemplate: '<', - formLogin: '&', - }, - controller: ['SpcpSession', 'Toastr', '$window', startPageController], - controllerAs: 'vm', -}) - -function startPageController(SpcpSession, Toastr, $window) { - const vm = this - - vm.formLogout = SpcpSession.logout - - vm.rememberMe = { - checked: false, - } - - vm.$onInit = () => { - $window.document.title = this.formTitle - vm.userName = SpcpSession.userName - vm.FormLogoState = FormLogoState - - if (SpcpSession.isJustLogOut()) { - Toastr.success('You have been logged out') - } - - if (SpcpSession.isLoginError()) { - Toastr.error( - 'There was an unexpected error with your log in. Please try again later.', - ) - } - } - - vm.$onDestroy = () => { - $window.document.title = 'FormSG' - } - - const isInViewport = function () { - if ($('#start-page-container').length) { - let elementTop = $('#start-page-container').offset().top - let elementBottom = - elementTop + $('#start-page-container').outerHeight() - 80 - let viewportTop = $(window).scrollTop() - let viewportBottom = viewportTop + $(window).height() - return elementBottom > viewportTop && elementTop < viewportBottom - } - } - - $(window).on('resize scroll', function () { - if (vm.isAdminPreview) { - return - } - const header = document.getElementById('start-page-header') - - if (!header) { - return - } - - const banner = document.getElementById('notification-banner') - const bannerHeight = banner ? `${banner.offsetHeight + 20}px` : '20px' - // Update height of header - header.style.paddingTop = bannerHeight - - if (isInViewport()) { - header.style.visibility = 'hidden' - } else { - header.style.visibility = 'visible' - } - }) -} diff --git a/src/public/modules/forms/base/components/verifiable-field.client.component.js b/src/public/modules/forms/base/components/verifiable-field.client.component.js deleted file mode 100644 index d3ca37869a..0000000000 --- a/src/public/modules/forms/base/components/verifiable-field.client.component.js +++ /dev/null @@ -1,446 +0,0 @@ -'use strict' -const { isEmpty, merge, keys, get } = require('lodash') -const FieldVerificationService = require('../../../../services/FieldVerificationService') -angular.module('forms').component('verifiableFieldComponent', { - transclude: true, - templateUrl: 'modules/forms/base/componentViews/verifiable-field.html', - bindings: { - transactionId: '<', - field: '<', // The model that the input field is based on - input: '<', - formId: '<', - }, - controller: ['$q', '$timeout', '$interval', verifiableFieldController], - controllerAs: 'vm', -}) - -function verifiableFieldController($q, $timeout, $interval) { - const vm = this - vm.$onInit = () => { - vm.otp = { - id: `otp-${vm.field._id}`, - value: '', - } - updateView(getView()) - vm.isLoading = false - } - - vm.handleChange = () => { - if (vm.vfnSection[vm.otp.id].$dirty) { - vm.clearOtpError() - } - } - - vm.getNewOtp = async () => { - if (!vm.field.isVerifiable) { - return - } - updateView(STATES.VFN_REQUESTED) - vm.isLoading = true - try { - lastRequested.value = vm.field.fieldValue - clearOtpInput() - vm.clearOtpError() - - // No id found, jump straight to failure - if (!vm.transactionId) { - throw new Error( - 'Unable to generate OTP. Please refresh the page and try again.', - ) - } - - await FieldVerificationService.triggerSendOtp({ - formId: vm.formId, - transactionId: vm.transactionId, - fieldId: vm.field._id, - answer: lastRequested.value, - }) - disableResendButton(DISABLED_SECONDS) - updateView(STATES.VFN_WAITING_FOR_INPUT) - } catch (err) { - updateView(STATES.VFN_ERROR, getErrorMessage(err)) - } finally { - vm.isLoading = false - } - } - - vm.verifyOtp = async (otp) => { - if (!vm.field.isVerifiable) { - return - } - vm.isLoading = true - updateView(STATES.VFN_SUBMITTED) - try { - if (vm.field.fieldValue !== lastRequested.value) { - throw new Error( - `Current value ${vm.field.fieldValue} does not match the value that an otp was requested for`, - ) - } - - // No id found, jump straight to failure - if (!vm.transactionId) { - return onVerificationFailure() - } - - $q.resolve( - FieldVerificationService.verifyOtp({ - formId: vm.formId, - transactionId: vm.transactionId, - fieldId: vm.field._id, - otp, - }), - ) - .then(onVerificationSuccess) - .catch(onVerificationFailure) - } catch (err) { - updateView(STATES.VFN_ERROR, getErrorMessage(err)) - updateInputValidity(lastRequested.verified) - } finally { - vm.isLoading = false - } - } - - vm.resetFieldInTransaction = () => { - if (!vm.field.isVerifiable) { - return - } - - try { - // Restores the verified state if input was not changed - if ( - vm.field.fieldValue === lastRequested.value && - lastRequested.verified - ) { - onVerificationSuccess(lastRequested.signature) - } else { - if (getView() !== STATES.VFN_DEFAULT) { - // We don't await on reset because we don't care if it fails - // The signature will be wrong anyway if it fails, and submission will be prevented - FieldVerificationService.resetVerifiedField({ - formId: vm.formId, - transactionId: vm.transactionId, - fieldId: vm.field._id, - }) - } - resetDefault() - } - } catch (err) { - updateView(STATES.VFN_ERROR, getErrorMessage(err)) - } - } - - vm.clearOtpError = () => { - $timeout(() => { - vm.display.err = '' - }) - } - - /** - * If there is no input in the verifiable field, or if the verifiable field has any errors besides 'verified' (eg. format), - * the `verify` button will be disabled. - */ - vm.isInputValid = () => { - // Mobile input appears to compile after this controller has been instantiated, - // due to the strange ng-if and duplication of input in mobile.html, - // which causes vm.input to be undefined initially. - // Hence, we check for the presence of vm.input - if (vm.input) { - const errors = keys(vm.input.$error) - const fieldHasValue = !isEmpty(vm.field.fieldValue) - const fieldHasNoErrors = errors.length === 0 - const fieldHasOnlyVerifiedError = - errors.length === 1 && errors[0] === 'verified' - return fieldHasValue && (fieldHasNoErrors || fieldHasOnlyVerifiedError) - } - return true - } - - /** - * Counter for seconds to wait till resend can occur - */ - vm.countdown = 0 - - /** - * State for the last verified value - * If user verifies x@y.com then changes it to another value, then changes it back, they should not need to reverify that value. - */ - const lastRequested = { - _value: null, - _verified: false, - _signature: null, - get value() { - return this._value - }, - set value(value) { - this._value = value - this._verified = false - this._signature = null - }, - get verified() { - return this._verified - }, - set verified(value) { - this._verified = value - }, - get signature() { - return this._signature - }, - set signature(value) { - this._signature = value - }, - } - - let _view = STATES.VFN_DEFAULT - - const updateView = (value, errMessage) => { - _view = value - vm.display = merge(vm.display, DISPLAY[_view]) - if (_view === STATES.VFN_ERROR) { - $timeout(() => { - vm.display.err = errMessage - }) - } - } - - const getView = () => _view - - const resetDefault = () => { - delete vm.field.signature - updateInputValidity(isEmpty(vm.field.fieldValue)) - updateView(STATES.VFN_DEFAULT) - } - - const clearOtpInput = () => { - vm.vfnSection[vm.otp.id].$setUntouched() - vm.vfnSection[vm.otp.id].$setPristine() - vm.otp.value = '' - } - - const updateInputValidity = (isValid) => { - vm.input.$setValidity('verified', isValid) - } - - const disableResendButton = (seconds) => { - vm.display.resendBtn.overrideDisabled = true - vm.countdown = seconds - $interval( - () => { - vm.countdown-- - }, - 1000, - seconds, - ) - $timeout(() => { - // Re-enable it when seconds have elapsed - vm.display.resendBtn.overrideDisabled = false - }, seconds * 1000) - } - - const onVerificationSuccess = (signature) => { - lastRequested.verified = true - lastRequested.signature = signature - vm.field.signature = signature - updateInputValidity(lastRequested.verified) - updateView(STATES.VFN_SUCCESS) - } - - const onVerificationFailure = (err) => { - lastRequested.verified = false - updateInputValidity(lastRequested.verified) - updateView(STATES.VFN_ERROR, getErrorMessage(err)) - } - - const getErrorMessage = (err) => { - // TODO (#941): keep only this code, remove switch case for custom strings - const serverErrorMsg = get(err, 'response.data.message') - if (serverErrorMsg) return serverErrorMsg - - // So that switch case works for both axios error objects and string objects. - const error = get(err, 'response.data', err) - let errMessage = '' - switch (error) { - case 'SEND_OTP_FAILED': - case 'RESEND_OTP': - errMessage = 'Error - try resending the OTP.' - break - case 'INVALID_OTP': - errMessage = 'Wrong OTP' - break - case 'INVALID_MOBILE_NUMBER': - errMessage = 'Error - Please enter a valid number.' - break - default: - errMessage = error || 'Error - please refresh the form.' - } - return errMessage - } -} - -const DISABLED_SECONDS = 30 - -const STATES = { - /* - Answer has been updated - verify button has not been pressed. - */ - VFN_DEFAULT: 'VFN_DEFAULT', - /* - A request to get otp has been made - */ - VFN_REQUESTED: 'VFN_REQUESTED', - /* - Waiting for user to enter otp - */ - VFN_WAITING_FOR_INPUT: 'VFN_WAITING_FOR_INPUT', - /* - User has submitted the otp - */ - VFN_SUBMITTED: 'VFN_SUBMITTED', - /* - Answer has been verified successfully. - */ - VFN_SUCCESS: 'VFN_SUCCESS', - /* - Answer was not verified successfully (could be error, or incorrect input) - */ - VFN_ERROR: 'VFN_ERROR', -} - -const DISPLAY = { - VFN_DEFAULT: { - verifyBtn: { - hidden: false, - loading: false, - disabled: false, - }, - section: { - hidden: true, - }, - tick: { - hidden: true, - }, - otpInput: { - disabled: true, - }, - otpSubmitBtn: { - loading: false, - disabled: true, - }, - resendBtn: { - disabled: true, - }, - }, - VFN_REQUESTED: { - verifyBtn: { - hidden: false, - loading: true, - disabled: true, - }, - section: { - hidden: true, - }, - tick: { - hidden: true, - }, - otpInput: { - disabled: false, - }, - otpSubmitBtn: { - loading: false, - disabled: true, - }, - resendBtn: { - disabled: true, - }, - }, - VFN_WAITING_FOR_INPUT: { - verifyBtn: { - hidden: false, - loading: false, - disabled: true, - }, - section: { - hidden: false, - }, - tick: { - hidden: true, - }, - otpInput: { - disabled: false, - }, - otpSubmitBtn: { - loading: false, - disabled: false, - }, - resendBtn: { - disabled: false, - }, - }, - VFN_SUBMITTED: { - verifyBtn: { - hidden: false, - disabled: true, - }, - section: { - hidden: false, - }, - tick: { - hidden: true, - }, - otpInput: { - disabled: true, - }, - otpSubmitBtn: { - loading: true, - disabled: true, - }, - resendBtn: { - disabled: true, - }, - }, - VFN_SUCCESS: { - verifyBtn: { - hidden: true, - loading: false, - disabled: true, - }, - section: { - hidden: true, - }, - tick: { - hidden: false, - }, - otpInput: { - disabled: true, - }, - otpSubmitBtn: { - loading: false, - disabled: true, - }, - resendBtn: { - disabled: true, - }, - }, - VFN_ERROR: { - verifyBtn: { - hidden: false, - loading: false, - disabled: true, - }, - section: { - hidden: false, - }, - tick: { - hidden: true, - }, - otpInput: { - disabled: false, - }, - otpSubmitBtn: { - loading: false, - disabled: false, - }, - resendBtn: { - disabled: false, - }, - }, -} diff --git a/src/public/modules/forms/base/controllers/error-page.client.controller.js b/src/public/modules/forms/base/controllers/error-page.client.controller.js deleted file mode 100644 index 59cda90a79..0000000000 --- a/src/public/modules/forms/base/controllers/error-page.client.controller.js +++ /dev/null @@ -1,35 +0,0 @@ -'use strict' - -const HttpStatus = require('http-status-codes') - -angular - .module('forms') - .controller('ErrorPageController', ['$transition$', ErrorPageController]) - -function ErrorPageController($transition$) { - const vm = this - - const params = $transition$.params() - - // Display the error message provided - vm.errorMessage = params.errorMessage - - // Display the form id that led to this page - vm.formId = params.targetFormId - - if (params.errorType === String(HttpStatus.NOT_FOUND) && params.isPageFound) { - // For custom messages, the custom message provided is sub-text - vm.errorMessage = `"${params.targetFormTitle}" is not available.` - vm.subText = params.errorMessage - } else if (params.errorType === String(HttpStatus.NOT_FOUND)) { - vm.subText = 'Please check your link again.' - } else if ( - params.errorType === String(HttpStatus.UNAUTHORIZED) || - params.errorType === String(HttpStatus.FORBIDDEN) - ) { - vm.subText = 'Authorization is required to access this page.' - } else { - vm.subText = - 'If you think this is a mistake, please contact the agency that gave you the form link.' - } -} diff --git a/src/public/modules/forms/base/controllers/submit-form.client.controller.js b/src/public/modules/forms/base/controllers/submit-form.client.controller.js deleted file mode 100644 index d78b8c394a..0000000000 --- a/src/public/modules/forms/base/controllers/submit-form.client.controller.js +++ /dev/null @@ -1,159 +0,0 @@ -'use strict' - -const { getFormLogo } = require('../../helpers/logo') - -angular - .module('forms') - .controller('SubmitFormController', [ - 'FormData', - 'SpcpSession', - '$window', - '$location', - '$cookies', - '$document', - 'GTag', - 'Toastr', - 'prefill', - SubmitFormController, - ]) - -function SubmitFormController( - FormData, - SpcpSession, - $window, - $location, - $cookies, - $document, - GTag, - Toastr, - prefill, -) { - const vm = this - const form = FormData.form - - // The form attribute of the FormData object contains the form fields, logic etc - vm.myform = form - - const isSpcpSgidForm = !!['SP', 'CP', 'SGID'].includes(vm.myform.authType) - const isMyInfoForm = !!( - !FormData.isTemplate && vm.myform.authType === 'MyInfo' - ) - const isUserLoggedIn = !!( - FormData.spcpSession && FormData.spcpSession.userName - ) - - // Handle prefills - // If it is an authenticated form, read the storedQuery from local storage and append to query params - // As a design decision, regardless of whether user is logged in, we should replace the queryId with the - // stored query params - // queryId could exist even though user is not logged in if user initiates the login flow - // but does not complete it and returns to the public form view within the same session - - if (isSpcpSgidForm || isMyInfoForm) { - const location = $window.location.toString().split('?') - if (location.length > 1) { - const queryParams = new URLSearchParams(location[1]) - const queryId = queryParams.get(prefill.QUERY_ID) - - let storedQuery - - try { - // If storedQuery is not valid JSON, JSON.parse throws a SyntaxError - // In try-catch block as this should not prevent rest of form from being loaded - storedQuery = JSON.parse( - $window.sessionStorage.getItem(prefill.STORED_QUERY), - ) - } catch (e) { - console.error('Unable to parse storedQuery, not valid JSON string') - } - - if ( - queryId && - storedQuery && - storedQuery._id === queryId && - storedQuery.queryString - ) { - $window.location.href = `${location[0]}?${storedQuery.queryString}` // Replace the queryId with stored queryString - $window.sessionStorage.removeItem(prefill.STORED_QUERY) // Delete after reading the stored queryString, as only needed once - } - } - } - - // For SP / CP / SGID forms, also include the spcpSession details - // This allows the log out button to be correctly populated with the UID - // Also provides time to cookie expiry so that client can refresh page - if (isSpcpSgidForm && isUserLoggedIn) { - SpcpSession.setUser(FormData.spcpSession) - } - - // Set MyInfo login status - if (isMyInfoForm) { - if (isUserLoggedIn) { - SpcpSession.setUserName(FormData.spcpSession.userName) - } else { - SpcpSession.clearUserName() - } - } - - vm.myform.isTemplate = Boolean(FormData.isTemplate) - vm.myform.isPreview = Boolean(FormData.isPreview) - vm.myInfoError = Boolean(FormData.myInfoError) - if ( - FormData.isIntranetUser && - ['SP', 'CP', 'SGID', 'MyInfo'].includes(vm.myform.authType) - ) { - Toastr.permanentError( - 'SingPass/CorpPass login is not supported from WOG Intranet. Please use an Internet-enabled device to submit this form.', - ) - } - vm.logoUrl = getFormLogo(vm.myform) - - // Show banner content if available - if ($window.siteBannerContent) { - vm.banner = { - msg: $window.siteBannerContent, - } - } else if ($window.isGeneralMaintenance) { - // Show banner for SingPass forms - vm.banner = { - msg: $window.isGeneralMaintenance, - } - } else if (vm.myform.authType === 'SP' && $window.isSPMaintenance) { - vm.banner = { - msg: $window.isSPMaintenance, - } - } else if (vm.myform.authType === 'CP' && $window.isCPMaintenance) { - vm.banner = { - msg: $window.isCPMaintenance, - } - } else if (vm.myform.authType === 'MyInfo' && $window.myInfoBannerContent) { - vm.banner = { - msg: $window.myInfoBannerContent, - } - } else { - vm.banner = {} - } - - angular.element($document[0]).on('touchstart', function (e) { - let activeElement = angular.element($document[0].activeElement)[0] - if (!isTextInput(e.target) && isTextInput(activeElement)) { - activeElement.blur() - } - }) - - if (vm.myInfoError) { - vm.myform.lockFields() - } - - // Google Analytics - GTag.visitPublicForm(vm.myform) - - /** - * Dismiss keyboard on clicking outside. - * @param {Object} node - HTML document node - * @return {Boolean} bool - Checks if HTML document node is a text input node - */ - const isTextInput = (node) => { - return ['INPUT', 'TEXTAREA'].indexOf(node.nodeName) !== -1 - } -} diff --git a/src/public/modules/forms/base/css/base-form.css b/src/public/modules/forms/base/css/base-form.css deleted file mode 100644 index 68b8ee6a3f..0000000000 --- a/src/public/modules/forms/base/css/base-form.css +++ /dev/null @@ -1,419 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version -*/ - -/* Standardised padding */ - -#admin-form #edit-logic, -#admin-form #settings-form, -#admin-form #share-tab, -#admin-form #results-tab { - padding-top: 50px; - padding-bottom: 50px; - min-height: 100vh; -} - -@media (max-width: 576px) { - #admin-form #results-tab { - padding: 28px 15px; - } -} - -/* The entire top panel bar */ -#admin-tab-bar { - background-color: #2f60ce; - white-space: nowrap; - height: 53px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: end; - -ms-flex-pack: end; - justify-content: flex-end; -} - -#admin-tab-bar #admin-tabs-container { - display: inline-block; - overflow: scroll; - overflow: -moz-scrollbars-none; - height: 100%; - text-align: center; - -ms-overflow-style: none; -} - -#admin-tab-bar #admin-tabs-container::-webkit-scrollbar { - display: none; -} - -@media not all and (min-width: 768px) { - #admin-tab-bar #admin-tabs-container { - width: 75%; - } - - #preview-admin-tabs { - width: 10%; - min-width: 70px; - overflow: hidden; - } - - #preview-admin-tabs #preview-form-btn { - padding: 13px 15px 13px 15px; - } -} - -@media all and (min-width: 768px) { - #admin-tab-bar #admin-tabs-container { - width: 60%; - } - - #preview-admin-tabs { - width: 20%; - min-width: 180px; - overflow: hidden; - } - - #preview-admin-tabs #preview-form-btn { - margin-top: 8px; - margin-right: 20px; - padding: 6px 15px 6px 15px; - border-radius: 4px; - } -} - -#preview-admin-tabs #preview-form-btn { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - float: right; - white-space: nowrap; - cursor: pointer; - background-color: #82a0e2; - border: none; - color: white; - -webkit-text-decoration-line: none; - text-decoration-line: none; - font-weight: bold; - text-transform: uppercase; -} - -#preview-admin-tabs #preview-form-text { - font-size: 16px; - letter-spacing: 1.2px; - padding-left: 10px; - padding-top: 2px; -} - -#preview-admin-tabs #preview-form-eye { - font-size: 27px; -} - -#preview-admin-tabs a#preview-form-btn:hover { - opacity: 0.9; -} - -#admin-tabs-container { - scrollbar-width: none; -} - -#admin-tabs-container > li { - width: 20%; - text-align: center; - display: inline-block; - height: 100%; - max-width: 110px; - min-width: 70px; - cursor: pointer; - font-size: 17px; -} - -#admin-tabs-container > li > a { - color: #b3c9f9; - font-weight: bold; - text-decoration: none; - display: inline-block; - height: 100%; - width: 100%; - padding-top: 14px; -} - -#admin-tabs-container > li.active, -#admin-tabs-container > li.active:focus, -#admin-tabs-container > li.active:hover { - border-bottom: 3px solid #e4e4e4; -} - -#admin-tabs-container > li.active > a { - color: #fff; -} - -/* Edit form panel */ - -.panel-default.newLogic { - border-style: dashed; - border-color: #a9a9a9; - border-width: 3px; -} - -/* Datepicker styles */ - -div[uib-datepicker] { - -webkit-animation: datepicker-fade-in 0.4s ease; - animation: datepicker-fade-in 0.4s ease; -} - -@-webkit-keyframes datepicker-fade-in { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -@keyframes datepicker-fade-in { - 0% { - opacity: 0; - } - - 100% { - opacity: 1; - } -} - -div[uib-datepicker] td button span.text-muted { - opacity: 0.5; -} - -div[uib-datepicker] td button { - border-color: #fff; -} - -div[uib-datepicker] td button:hover { - background-color: #f0f4f6; -} - -div[uib-datepicker] td button.btn-info { - background-color: #2f60ce; - border-color: #2f60ce; -} - -div[uib-datepicker] thead tr:first-child, -div[uib-datepicker] thead tr:first-child button { - background-color: #f0f4f6; - border-color: #f0f4f6; -} - -div[uib-datepicker] thead tr:first-child button.btn-default:hover { - border-color: #ccc; -} - -@media (max-width: 400px) { - div[uib-datepicker] table[ng-switch-when='year'] td button span { - font-size: 3.5vw; - } -} - -ul.dropdown-menu[uib-datepicker-popup-wrap] { - padding-top: 0; -} - -/* Modal CSS Styles */ - -.modal-header { - padding: 15px; - font-size: 18px; - font-weight: normal; - margin-bottom: 18px; - border: none; -} - -.modal-footer input[type='text'] { - min-height: 34px; - padding: 7px 8px; - font-size: 13px; - color: #333; - vertical-align: middle; - background-color: #fff; - background-repeat: no-repeat; - background-position: right 8px center; - border: 1px solid #ccc; - border-radius: 3px; - -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); - box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075); -} - -.modal-footer { - border-top: none; - text-align: left; -} - -.modal-body > .modal-body-alert { - color: #796620; - background-color: #f8eec7; - border-color: #f2e09a; - margin: -16px -15px 15px; - padding: 10px 15px; - border-style: solid; - border-width: 1px 0; -} - -#admin-form.container { - -webkit-box-flex: 1; - -ms-flex: 1 1 auto; - flex: 1 1 auto; - width: 100%; - padding: 0; - overflow-y: hidden; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-flow: column; - flex-flow: column; - height: 100vh; -} - -#admin-form .form-controls .row { - padding: 5px; -} - -/* Styles for admin view tabs */ - -#admin-form .panel-heading { - background-color: #f1f1f1; - position: relative !important; -} - -/* Styles for form admin view (/:formID/admin) */ - -@media not all and (min-width: 768px) { - #admin-form .panel-heading { - text-align: center; - } -} - -#admin-form .panel-heading:hover { - cursor: pointer; - background-color: #45a247; - color: #fff; -} - -#admin-form .panel-heading a:hover { - text-decoration: none; -} - -#admin-form .panel-heading a.disabled { - pointer-events: none; - cursor: default; -} - -/* Styles for add fields tab */ - -#admin-form .oscar-field-select { - margin: 10px 0 10px; -} - -.status-light.status-light-off { - color: #be0000; -} - -.status-light.status-light-on { - color: #3c0; -} - -#empty-form img { - display: block; - margin: 0 auto; - width: 25%; - height: 35%; - min-width: 160px; - min-height: 212px; -} - -#empty-form #empty-form-title { - font-size: 20px; - line-height: 1.1; - text-align: center; - color: #4a4a4a; - margin-top: 30px; - margin-bottom: 7px; -} - -#empty-form .empty-form-description { - font-size: 18px; - line-height: 1.22; - text-align: center; - color: #979797; - margin-bottom: 10px; -} - -.inactive-row { - position: absolute; - bottom: 38px; -} - -.inactive-row .list-group-item-text { - font-size: 0.95em; -} - -/* Error and Success messages */ -.settings-save-msg { - margin-top: 1em; - padding: 8px 28px; - text-align: left; -} - -@media not all and (min-width: 768px) { - .settings-save-msg { - text-align: center; - padding: 1px; - } -} - -.save-changes-err { - font-size: 0.9em; - height: 42px; - color: #a94442; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -@media not all and (min-width: 1200px) { - .save-changes-err { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-top: 10px; - text-align: center; - } -} - -.panel-heading { - border-radius: 0; -} - -.padded-view { - padding: 0 100px; - margin: auto; -} - -@media not all and (min-width: 576px) { - .padded-view { - padding: 0 50px; - margin: auto; - } - - #form-container.padded-view, - #start-page-container .padded-view { - padding: 0 35px; - } -} diff --git a/src/public/modules/forms/base/css/color-theme.css b/src/public/modules/forms/base/css/color-theme.css deleted file mode 100644 index 7fffab780e..0000000000 --- a/src/public/modules/forms/base/css/color-theme.css +++ /dev/null @@ -1,293 +0,0 @@ -/* Color Themes */ - -/* BLUE */ -.blue-bg { - background-color: #2f60ce !important; - color: white !important; -} - -.blue-bg-dark { - background-color: #1e3e84 !important; - color: white !important; -} - -button.btn-custom.blue-bg:hover, -button.btn-custom.blue-bg.btn-pressed, -button.btn-custom.blue-bg-dark:hover, -button.btn-custom.blue-bg-dark.btn-pressed { - background-color: #0e2558 !important; - border-color: #0e2558 !important; -} - -.blue-border { - border-color: #2f60ce !important; -} - -.blue-border-dark { - border-color: #1e3e84 !important; -} - -.blue-font { - color: #2f60ce !important; -} - -.blue-label { - border: solid 2px #2f60ce !important; - background-color: rgba(47, 96, 206, 0.2) !important; - color: #2f60ce !important; -} - -/* Radio */ -.field-group.radiobtn .radiomark.blue-border::before { - background-color: #2f60ce !important; -} - -/* Rating */ -.angular-input-stars > li.blue-font .active { - color: #2f60ce !important; -} - -/* ====================================================== */ - -/* RED */ -.red-bg { - background-color: #dc2a2a !important; - color: white !important; -} - -.red-bg-dark { - background-color: #b22222 !important; - color: white !important; -} - -button.btn-custom.red-bg:hover, -button.btn-custom.red-bg.btn-pressed, -button.btn-custom.red-bg-dark:hover, -button.btn-custom.red-bg-dark.btn-pressed { - background-color: #7c0e0e !important; - border-color: #7c0e0e !important; -} - -.red-border { - border-color: #dc2a2a !important; -} - -.red-border-dark { - border-color: #b22222 !important; -} - -.red-font { - color: #dc2a2a !important; -} - -.red-label { - border: solid 2px #dc2a2a !important; - background-color: rgba(220, 42, 42, 0.2) !important; - color: #dc2a2a !important; -} - -/* Radio */ -.field-group.radiobtn .radiomark.red-border::before { - background-color: #dc2a2a !important; -} - -/* Rating */ -.angular-input-stars > li.red-font .active { - color: #dc2a2a !important; -} - -/* ====================================================== */ - -/* GREEN */ -.green-bg { - background-color: #048665 !important; - color: white !important; -} - -.green-bg-dark { - background-color: #025641 !important; - color: white !important; -} - -button.btn-custom.green-bg:hover, -button.btn-custom.green-bg.btn-pressed, -button.btn-custom.green-bg-dark:hover, -button.btn-custom.green-bg-dark.btn-pressed { - background-color: #003c2d !important; - border-color: #003c2d !important; -} - -.green-border { - border-color: #048665 !important; -} - -.green-border-dark { - border-color: #025641 !important; -} - -.green-font { - color: #048665 !important; -} - -.green-label { - border: solid 2px #048665 !important; - background-color: rgba(4, 134, 101, 0.2) !important; - color: #048665 !important; -} - -/* Radio */ -.field-group.radiobtn .radiomark.green-border::before { - background-color: #048665 !important; -} - -/* Rating */ -.angular-input-stars > li.green-font .active { - color: #048665 !important; -} - -/* ====================================================== */ - -/* ORANGE */ -.orange-bg { - background-color: #ff6d00 !important; - color: white !important; -} - -.orange-bg-dark { - background-color: #a34600 !important; - color: white !important; -} - -button.btn-custom.orange-bg:hover, -button.btn-custom.orange-bg.btn-pressed, -button.btn-custom.orange-bg-dark:hover, -button.btn-custom.orange-bg-dark.btn-pressed { - background-color: #562806 !important; - border-color: #562806 !important; -} - -.orange-border { - border-color: #ff6d00 !important; -} - -.orange-border-dark { - border-color: #a34600 !important; -} - -.orange-font { - color: #ff6d00 !important; -} - -.orange-label { - border: solid 2px #ff6d00 !important; - background-color: rgba(255, 109, 0, 0.2) !important; - color: #ff6d00 !important; -} - -/* Radio */ -.field-group.radiobtn .radiomark.orange-border::before { - background-color: #ff6d00 !important; -} - -/* Rating */ -.angular-input-stars > li.orange-font .active { - color: #ff6d00 !important; -} - -/* ====================================================== */ - -/* BROWN */ -.brown-bg { - background-color: #8d7b68 !important; - color: white !important; -} - -.brown-bg-dark { - background-color: #5a4e42 !important; - color: white !important; -} - -button.btn-custom.brown-bg:hover, -button.btn-custom.brown-bg.btn-pressed, -button.btn-custom.brown-bg-dark:hover, -button.btn-custom.brown-bg-dark.btn-pressed { - background-color: #342f29 !important; - border-color: #342f29 !important; -} - -.brown-border { - border-color: #8d7b68 !important; -} - -.brown-border-dark { - border-color: #5a4e42 !important; -} - -.brown-font { - color: #8d7b68 !important; -} - -.brown-label { - border: solid 2px #8d7b68 !important; - background-color: rgba(141, 123, 104, 0.2) !important; - color: #8d7b68 !important; -} - -/* Radio */ -.field-group.radiobtn .radiomark.brown-border::before { - background-color: #8d7b68 !important; -} - -/* Rating */ -.angular-input-stars > li.brown-font .active { - color: #8d7b68 !important; -} - -/* ====================================================== */ - -/* GREY */ -.grey-bg { - background-color: #495c66 !important; - color: white !important; -} - -.grey-bg-dark { - background-color: #2e3b42 !important; - color: white !important; -} - -button.btn-custom.grey-bg:hover, -button.btn-custom.grey-bg.btn-pressed, -button.btn-custom.grey-bg-dark:hover, -button.btn-custom.grey-bg-dark.btn-pressed { - background-color: #0e171c !important; - border-color: #0e171c !important; -} - -.grey-border { - border-color: #495c66 !important; -} - -.grey-border-dark { - border-color: #2e3b42 !important; -} - -.grey-font { - color: #495c66 !important; -} - -.grey-label { - border: solid 2px #495c66 !important; - background-color: rgba(73, 92, 102, 0.2) !important; - color: #495c66 !important; -} - -/* Radio */ -.field-group.radiobtn .radiomark.grey-border::before { - background-color: #495c66 !important; -} - -/* Rating */ -.angular-input-stars > li.grey-font .active { - color: #495c66 !important; -} diff --git a/src/public/modules/forms/base/css/datepicker.css b/src/public/modules/forms/base/css/datepicker.css deleted file mode 100644 index bb01291fdd..0000000000 --- a/src/public/modules/forms/base/css/datepicker.css +++ /dev/null @@ -1,99 +0,0 @@ -/* Uib Datepicker thead */ - -div.uib-datepicker thead tr:first-child button { - padding: 0.5em; - background-color: white; - border: 0; -} - -div.uib-datepicker thead tr:first-child button.uib-left.uib-right { - color: #b8b8b8; -} - -div.uib-datepicker thead tr:first-child button.uib-left:hover { - color: #2f60ce; -} - -div.uib-datepicker thead tr:first-child button.uib-right:hover { - color: #2f60ce; -} - -div.uib-datepicker thead tr:first-child { - border-bottom: 1px solid #d6d6d6; -} - -/* ====================================================== */ - -/* Uib Datepicker title */ - -div.uib-datepicker .uib-title:hover .uib-title-year { - color: #2f60ce; -} - -/* ====================================================== */ - -/* Uib Datepicker week (day-picker) */ - -div.uib-datepicker .uib-weeks button { - height: 2.85em; - width: 2.85em; - border-radius: 50%; - color: #767676; -} - -/* ====================================================== */ - -/* Uib Datepicker month (month-picker) */ - -div.uib-datepicker .uib-months button { - height: 2.85em; - min-width: 5em; - border-radius: 0.5em; - color: #767676; -} - -/* ====================================================== */ - -/* Uib Datepicker year (year-picker) */ - -div.uib-datepicker .uib-years button { - height: 2.85em; - min-width: 5em; - border-radius: 0.5em; - color: #767676; -} - -/* ====================================================== */ - -/* Uib Datepicker label buttons */ - -div.uib-datepicker .uib-label-btn:hover { - background-color: #f0f4f6; - border: 1px solid #f0f4f6; -} - -div.uib-datepicker .uib-label-btn.text-muted { - color: #b8b8b8; -} - -div.uib-datepicker .uib-label-btn.border-info { - border: 1px solid #2f60ce; -} - -div.uib-datepicker .uib-label-btn.active { - color: white; - background-color: #2f60ce; - border: 1px solid #2f60ce; -} - -/* ====================================================== */ - -/* Uib Datepicker Popup */ - -ul.uib-datepicker-popup .uib-button-bar .uib-datepicker-current { - text-align: center; - color: #2f60ce; - width: 100%; - padding: 0; - background-color: white; -} diff --git a/src/public/modules/forms/base/css/end-page.css b/src/public/modules/forms/base/css/end-page.css deleted file mode 100644 index f4e0b8862d..0000000000 --- a/src/public/modules/forms/base/css/end-page.css +++ /dev/null @@ -1,16 +0,0 @@ -#end-page-header { - margin-top: 68px; - text-transform: uppercase; -} - -#end-page-header #end-page-timestamp { - font-weight: bold; -} - -#end-page-header #end-page-submissionId { - font-size: 12px; -} - -#end-page-header #end-page-submissionId #end-page-id { - text-transform: lowercase; -} diff --git a/src/public/modules/forms/base/css/error-page.css b/src/public/modules/forms/base/css/error-page.css deleted file mode 100644 index 3e71aeeb6d..0000000000 --- a/src/public/modules/forms/base/css/error-page.css +++ /dev/null @@ -1,65 +0,0 @@ -#error-page-bg { - background-color: #2f60ce; - text-align: center; - height: 400px; -} - -#error-page-bg #error-page-content { - position: relative; - padding: 40px; - max-width: 750px; - margin: 0 auto; -} - -#error-page-bg #error-page-content img { - height: 406px; - width: 100%; -} - -#error-page-bg #error-page-content h3 { - margin-top: 40px; - font-size: 28px; - font-weight: 600; - color: #323232; - letter-spacing: 0.5px; - line-height: 1.3; -} - -#error-page-bg #error-page-content p { - margin: 15px auto 0 auto; - font-size: 16px; - color: #767676; - max-width: 510px; -} - -#error-page-bg #form-footer #form-id-text { - font-size: 14px; - color: #b8b8b8; - padding-bottom: 10px; -} - -@media not all and (min-width: 768px) { - #error-page-bg { - height: 300px; - } - - #error-page-bg #error-page-content { - position: relative; - top: 7%; - padding: 40px; - } - - #error-page-bg #error-page-content h3 { - font-size: 22px; - } - - #error-page-bg #error-page-content img { - height: 280px; - width: 100%; - } -} - -#error-page-bg #form-footer { - position: relative; - top: 5%; -} diff --git a/src/public/modules/forms/base/css/feedback-form.css b/src/public/modules/forms/base/css/feedback-form.css deleted file mode 100644 index 4853e3cc1d..0000000000 --- a/src/public/modules/forms/base/css/feedback-form.css +++ /dev/null @@ -1,69 +0,0 @@ -#feedback-form-container { - max-width: 800px; - margin: 0 auto; -} - -#feedback-form-container #feedback-title { - text-align: center; - font-size: 24px; - font-weight: 600; - letter-spacing: -0.2px; -} - -#feedback-form-container #feedback-description { - text-align: center; - font-weight: 200; - color: #767676; - margin-bottom: 34px; -} - -#feedback-form-container #feedback-sub-title { - margin-top: 53px; - margin-bottom: 12px; - font-size: 20px; - color: #323232; - font-weight: 600; -} - -#feedback-form-container #feedback-textfield { - font-size: 16px; - height: 150px; - resize: vertical; -} - -#feedback-form-container #feedback-submit-btn { - margin-top: 30px; -} - -/* Feeling options */ -#feedback-form-container .feeling-field { - text-align: center; -} - -#feedback-form-container .feeling-field input[type='radio'] { - display: none; -} - -#feedback-form-container .feeling-field label { - text-align: center; - padding: 10px; - border: 2px solid transparent; - transition: border-color 0.1s ease-in; - margin: 0 3px; -} - -#feedback-form-container .feeling-field label:hover { - border-color: #ffc800; -} - -#feedback-form-container .feeling-field label > i { - font-size: 28px; -} - -#feedback-form-container .feeling-field label img { - pointer-events: none; -} - -#feedback-form-container .feeling-field .selected-feeling-field { - border-color: #ffc800; -} diff --git a/src/public/modules/forms/base/css/form-field.css b/src/public/modules/forms/base/css/form-field.css deleted file mode 100644 index 5845bfb7f0..0000000000 --- a/src/public/modules/forms/base/css/form-field.css +++ /dev/null @@ -1,615 +0,0 @@ -/* - Structure of general CSS classes: - - field-group - field-question - field-number - field-title - field-optional - field-description - field-input -*/ - -.field-group { - margin-bottom: 20px; -} - -.field-group .field-number { - font-size: 15px; - font-weight: 600; - color: #323232; - margin-right: 15px; -} - -.field-group .field-title { - overflow-wrap: break-word; - font-size: 20px; - font-weight: 600; - color: #323232; -} - -.field-group .field-optional { - font-size: 15px; - font-weight: normal; - color: #b8b8b8; - margin-left: 10px; -} - -.field-group .field-description { - overflow-wrap: break-word; - font-size: 16px; - font-weight: normal; - color: #767676; - text-align: justify; - white-space: pre-wrap; - margin-top: 6px; -} - -.field-group .field-question { - margin-bottom: 15px; -} - -/* ====================================================== */ - -/* Input Focus States */ - -.field-group .field-input .input-custom:focus { - border: solid 2px #484848; -} - -.field-group .field-input input.ng-invalid.ng-touched, -.field-group .field-input input.ng-invalid.ng-dirty, -.field-group .field-input textarea.ng-invalid.ng-touched, -.field-group .field-input textarea.ng-invalid.ng-dirty, -.field-group .field-input .ng-invalid.ng-touched .selectize-input:not(.focus), -.field-group .field-input .ng-invalid.ng-dirty .selectize-input:not(.focus) { - border: 2px solid #a94442 !important; -} - -.field-group .field-input .selectize-input.focus, -.field-group .field-input .ng-valid > .selectize-input.selectize-focus { - border: solid 2px #484848 !important; -} - -/* ====================================================== */ - -/* Textfield / Text Area */ - -.field-group.text-field textarea { - resize: vertical; -} - -.field-group.text-field .input-custom.myinfo-disable { - background: transparent; - border: none transparent; - padding-left: 0; - color: #484848; -} - -.field-group.text-field .prefill-highlight { - background-color: #fef8e3; -} - -/* ====================================================== */ - -/* Mobile Number */ -.field-group.text-field .intl-tel-input { - width: 30rem; - max-width: 100%; -} - -.field-group.text-field .intl-tel-input input:disabled { - padding-left: 52px; -} - -/* ====================================================== */ - -/* Section */ - -.field-group.section .field-title { - font-size: 28px; - border: none; - border-bottom: 3px solid; -} - -.field-group.section .field-description { - margin-top: 9px; -} - -/* ====================================================== */ - -/* Statement */ - -.field-group.statement { - font-size: 16px; - font-weight: normal; - color: #767676; - text-align: justify; - white-space: pre-wrap; -} - -/* ====================================================== */ - -/* Image */ - -.field-group.image img { - max-width: 100%; - display: block; - margin: 0 auto 0 auto; - width: fit-content; -} - -.field-group.image .field-description { - text-align: center; - margin-top: 15px; - overflow: hidden; -} - -/* ====================================================== */ - -/* Yes/No */ - -.field-group.yes-no { - font-size: 20px; - color: #767676; -} - -.field-group.yes-no .custom-toggle label { - cursor: pointer; - padding: 13px 10px; - font-weight: normal; - background-color: #f0f0f0; - border-style: solid; - border-width: 1px 1px 1px 0; - border-color: #b8b8b8; - width: 50%; - text-align: center; - margin: 0; -} - -.field-group.yes-no .custom-toggle label:first-child { - border-left-width: 1px; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; - float: left; -} - -.field-group.yes-no .custom-toggle label:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; - float: right; -} - -.field-group.yes-no .custom-toggle input[type='radio'] { - display: none; -} - -.field-group.yes-no .custom-toggle .bx-check, -.field-group.yes-no .custom-toggle .bx-x { - vertical-align: bottom; -} - -/* ====================================================== */ - -/* Rating */ - -.field-group.rating .angular-input-stars { - display: inline-block; - padding: 0; - margin: 0; -} - -.field-group.rating .angular-input-stars > li { - font-size: 17px; - display: inline-block; - padding-right: 10px; - cursor: pointer; - color: #484848 !important; -} - -/* ====================================================== */ - -/* Checkbox/Radiobtn */ - -.field-group.checkbox input[type='checkbox'], -.field-group.radiobtn input[type='radio'] { - display: none; -} - -.field-group.checkbox, -.field-group.radio { - margin-bottom: 0; - margin-top: 0; -} - -.field-group.checkbox .checkbox-option, -.field-group.radiobtn .radio-option { - padding-top: 10px; - padding-bottom: 10px; -} - -.field-group.checkbox .checkbox-option > label, -.field-group.radiobtn .radio-option > label { - padding-left: 53px; - font-size: 20px; - color: #767676; - margin: 0; - font-weight: normal; - cursor: pointer; -} - -.field-group.checkbox .checkbox-option:hover, -.field-group.radiobtn .radio-option:hover { - background-color: #f0f4f6; -} - -.field-group.checkbox .checkmark { - position: absolute; - top: 0; - left: 0; - height: 28px; - width: 28px; - background-color: #fff; - border: solid 1px #b8b8b8; - text-align: center; - vertical-align: middle; -} - -.field-group.checkbox .checkmark > i { - font-size: 30px; - color: #fff; - position: relative; - top: -3px; - left: -2px; -} - -.field-group.radiobtn .radiomark { - position: absolute; - top: 0; - left: 0; - height: 28px; - width: 28px; - background-color: #fff; - border: solid 1px #b8b8b8; - border-radius: 50%; -} - -.field-group.radiobtn .radiomark::before { - position: absolute; - content: ''; - top: 7px; - left: 7px; - height: 12px; - width: 12px; - border-radius: 50%; - background-color: transparent; -} - -.field-group.radiobtn .radiomark > i { - font-size: 22px; - color: #fff; -} - -.field-group.checkbox .others-text-field-pad, -.field-group.radiobtn .others-text-field-pad { - padding-left: 56px; - padding-top: 10px; -} - -/* ====================================================== */ - -/* Dropdown/Date */ - -.field-group.date-field input { - background-color: white; - z-index: 5; -} - -.field-group.dropdown .selectize-input, -.field-group.table-field .selectize-input { - z-index: 5; - font-size: 20px; - color: #484848; - box-shadow: none; - height: 54px; -} - -.field-group.dropdown .selectize-control, -.field-group.table-field .selectize-control { - max-height: 54px; -} - -.field-group.dropdown .ui-select-choices-row-inner, -.field-group.table-field .ui-select-choices-row-inner { - padding-left: 16px; - padding-right: 16px; - padding-top: 15px; - padding-bottom: 15px; - font-size: 20px; - color: #767676; -} - -.field-group.dropdown .bx-x, -.field-group.date-field .bx-x { - vertical-align: text-bottom; -} - -.field-group.dropdown .input-group-btn button, -.field-group.date-field .input-group-btn button { - background-color: white; -} - -.field-group.date-field .input-custom.myinfo-disable { - color: #484848; - opacity: 0.5; -} - -/* ====================================================== */ - -/* Attachment */ - -.field-group.attachment-field .attachment-button { - max-width: 350px; - display: flex; - flex-direction: column; - justify-content: center; -} - -.field-group.attachment-field .attachment-button.disabled { - opacity: 0.3; - pointer-events: none; -} - -.field-group.attachment-field .attachment-button input.attachment-upload-input { - width: 0.01px; - height: 0.01px; - opacity: 0; - z-index: -1; - padding: 0; - margin: 0; - border: none !important; -} - -.field-group.attachment-field .attachment-upload { - margin-right: 12px; - font-size: 18px; -} - -.field-group.attachment-field .attachment-attached { - border: 1px solid #ccc; - text-align: left; -} - -.field-group.attachment-field .attachment-attached-contents { - padding-top: 12px; - padding-bottom: 12px; -} - -.field-group.attachment-field .attachment-attached-item { - display: inline-block; - vertical-align: middle; -} - -.field-group.attachment-field .attachment-attached-name { - margin-left: 20px; - margin-top: 0; - margin-bottom: 0; - overflow: hidden; - text-overflow: ellipsis; - line-height: 1.2; -} - -.field-group.attachment-field .attachment-attached-size { - margin-left: 20px; -} - -.field-group.attachment-field .attachment-attached-icon { - line-height: 41px; - float: right; - margin-right: 15px; -} - -.field-group.attachment-field .attachment-attached-filename { - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - max-width: 80%; -} - -@media (max-width: 768px) { - .field-group.attachment-field .attachment-attached-filename { - max-width: 60%; - } -} - -.field-group.attachment-field .attachment-filesize { - margin-top: 9px; - font-size: 16px; - color: #767676; -} - -.field-group.attachment-field .attachment-attached-i { - font-size: 25px; - color: #767676; - margin-top: 10px; -} - -.field-group.attachment-field .attachment-attached-i:hover { - opacity: 0.8; -} - -.field-group.attachment-field .attachment-file-i { - margin-left: 15px; - font-size: 35px; - color: #767676; -} - -/* ====================================================== */ - -/* Table */ - -.field-group.table-field .table-row { - display: flex; - align-items: center; -} - -.field-group.table-field .table-labels-mobile { - display: none; -} - -.field-group.table-field .table-column { - padding-left: 10px; - padding-right: 10px; - padding-bottom: 12px; - padding-top: 12px; - min-width: 280px; - flex: 1; -} - -.field-group.table-field .table-column .field-group.row, -.field-group.table-field .table-column .field-group.row label, -.field-group.table-field .table-column .field-group.row .field-input, -.field-group.table-field .table-column-mobile .field-group.row, -.field-group.table-field .table-column-mobile .field-group.row label, -.field-group.table-field .table-column-mobile .field-group.row .field-input { - margin: 0; - padding: 0; -} - -.field-group.table-field .table-component .field-question { - display: none; -} - -.field-group.table-field .table-scrollable { - overflow-x: auto; - overflow-y: hidden; -} - -.field-group.table-field .table-row-blue { - background-color: #f0f4f6; -} - -.field-group.table-field .table-add-row div { - margin-top: 20px; -} - -.field-group.table-field .table-add-row .bx-plus { - font-weight: 600; -} - -.field-group.table-field .table-delete-row-mobile, -.field-group.table-field .table-delete-row, -.field-group.table-field .table-add-row { - cursor: pointer; -} - -.field-group.table-field .table-delete-row { - min-width: 80px; - margin-left: -10px; - height: 79px; - display: flex; - align-items: center; - justify-content: center; - color: #2f60ce; -} - -.field-group.table-field .table-delete-row.bottom-row-line { - height: 79px; -} - -.field-group.table-field .table-delete-row-mobile { - display: none; -} - -.field-group.table-field .table-row-mobile { - padding-bottom: 12px; - padding-top: 12px; -} - -.field-group.table-field .table-column-mobile { - padding-left: 10px; - padding-right: 10px; - width: 100%; -} - -.field-group.table-field .input-group-btn .bx-x { - vertical-align: text-bottom; -} - -.field-group.table-field #row-tally { - color: #767676; -} - -@media (min-width: 768px) { - .field-group.table-field #row-tally { - text-align: right; - padding-right: 25px; - display: flex; - justify-content: flex-end; - align-items: center; - min-height: 48px; - } -} - -@media not all and (min-width: 768px) { - .field-group.table-field #row-tally { - text-align: center; - max-width: 210px; - } -} - -.field-group.table-field .bottom-row-line { - border-bottom: 1px solid #ddd; -} - -.field-group.table-field .dropdownPadding { - padding-bottom: 110px; -} - -.field-group.table-field .ui-select-choices-group { - max-height: 110px; -} - -.field-group.table-field .ui-select-match { - overflow: hidden; -} - -/* Mobile styling for table */ -@media (max-width: 768px) { - .field-group.table-field .table-row div.bottom-row-line { - border-bottom: none; - } - - .field-group.table-field .table-row.table-labels-desktop { - display: none; - } - - .field-group.table-field .table-row div.bottom-row-line:last-child { - border-bottom: 1px solid #ddd; - } - - .field-group.table-field .table-delete-row { - display: none; - } - - .field-group.table-field .table-delete-row-mobile { - display: flex; - width: 100%; - padding: 10px; - padding-top: 0; - color: #2f60ce; - } - - .field-group.table-field .table-labels-mobile { - display: flex; - } - - .field-group.table-field .table-row { - /* Block for IE11 compatibility in mobile */ - display: block; - } - - .field-group.table-field .table-column { - width: 100%; - } -} diff --git a/src/public/modules/forms/base/css/form.css b/src/public/modules/forms/base/css/form.css deleted file mode 100644 index 5dd6f8a181..0000000000 --- a/src/public/modules/forms/base/css/form.css +++ /dev/null @@ -1,238 +0,0 @@ -/* Preview mode header on top of form's preview */ - -#preview-header { - width: 100%; - height: 50px; - display: flex; - background-color: #04aa80; - line-height: 1.22; - font-size: 18px; - color: #fff; -} - -#preview-header #preview-header-title { - float: left; - width: 90%; - padding: 12.5px 12.5px 12.5px 18px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} - -#preview-header #preview-header-edit { - background-color: #048665; - padding: 15px; - cursor: pointer; - text-align: center; - text-decoration-line: none; - color: #fff; -} - -@media all and (min-width: 768px) { - #preview-header #preview-header-edit { - min-width: 175px; - width: 10%; - } - - #preview-header #preview-header-edit i { - margin-right: 20px; - } -} - -@media not all and (min-width: 768px) { - #preview-header #preview-header-edit { - min-width: 60px; - width: 15%; - } - - #preview-header #preview-header-edit i { - font-size: 30px; - margin-top: -5px; - } -} - -#preview-header #preview-header-edit:hover { - background-color: #025641; -} - -/* Live form */ - -.public-form .form-header { - width: 100%; - color: black !important; - padding: 20px 16.2222222% 13.6px 16.2222222%; - overflow-wrap: normal; - z-index: 11; -} - -.public-form .form-header img { - display: block; - max-width: 100%; - max-height: 110px; - width: auto; - height: auto; -} - -@media all and (min-width: 768px) { - .public-form .form-header { - font-size: 30px; - } -} - -@media not all and (min-width: 768px) { - .public-form .form-header { - font-size: 25px; - } -} - -.public-form .form-locked-msg { - text-align: center; - color: white; - font-size: 18px; - margin-bottom: 0; - margin-top: 40px; - - /* Offset container padding */ - margin-left: -35px; - margin-right: -35px; -} - -.public-form.submit-form .form-locked-msg.myinfo-error { - color: #a94442; - margin-left: 0; - margin-right: 0; - margin-bottom: 40px; -} - -.public-form.submit-form .form-locked-msg.myinfo-error i { - position: relative; - top: 4px; - font-size: 22px; -} - -.public-form.submit-form, -.public-form.submit-form .overlay { - min-height: 100vh; - background-color: #fff; - overflow-x: hidden; -} - -.public-form.submit-form .btn-sm { - font-size: 1em !important; -} - -.public-form.submit-form .btn { - font-size: 1.3em; -} - -.public-form.submit-form .btn:hover { - opacity: 0.9; - outline: none; -} - -.public-form.submit-form .btn[disabled] { - opacity: 0.3; -} - -/* Start page & end page */ -div.start-end-page { - word-wrap: break-word; -} - -div.start-end-page .form-actions { - padding: 10px; -} - -div.start-end-page .form-actions .btn { - text-decoration: none; - min-width: 120px; -} - -div.start-end-page .form-actions .url-btn { - background-color: #5bc0de; - margin: 25px; -} - -/* Form fields */ - -.field-directive { - margin: 0; - padding: 10px 0; - position: relative; -} - -/* Form footer */ - -#form-submit { - margin-left: -5px; - margin-right: -5px; -} - -#form-submit #preview-captcha-notice { - margin-top: 20px; -} - -/* Have to use important to override Google's default CSS */ -.grecaptcha-badge { - width: 100% !important; - box-shadow: none !important; - margin-top: 10px; -} - -.rc-anchor-normal .rc-anchor-pt { - margin-left: -5px !important; - right: auto !important; - width: 88px !important; -} - -.disable-link { - pointer-events: none; -} - -.end-page-link { - padding-top: 10px; -} - -#form-footer { - text-align: center; - padding-bottom: 107px; - margin-top: 89px; -} - -#form-footer-logo { - margin: 0 auto 19px auto; - width: 340px; - max-width: 90%; - border-top: 2px solid #e2e2e2; - text-align: center; -} - -#form-footer-logo .form-footer-links { - margin-top: 40px; -} - -#form-footer-logo .form-footer-links a { - padding: 0 12px; -} - -#form-footer-logo > p { - font-size: 14px; - font-weight: 600; - letter-spacing: 1px; - margin-top: 38px; - margin-bottom: 0; - color: #767676; - text-transform: uppercase; -} - -#form-footer-logo img { - display: block; - height: 72px; - margin: 19px auto 0 auto; -} - -#form-footer #privacy-policy { - display: inline-block; - margin-top: 19px; - margin-bottom: 48px; -} diff --git a/src/public/modules/forms/base/css/start-end-page.css b/src/public/modules/forms/base/css/start-end-page.css deleted file mode 100644 index 0a88293f13..0000000000 --- a/src/public/modules/forms/base/css/start-end-page.css +++ /dev/null @@ -1,302 +0,0 @@ -/* =========== Start Page CSS =========== */ -#start-page-main-container { - color: white; - letter-spacing: 0.5px; - margin-bottom: 62px; -} - -#start-page-main-container > .form-header { - background-color: white; -} - -/* Form Title */ -#start-page-main-container #start-page-title { - display: block; - text-align: center; - margin: 0 auto; -} - -#start-page-main-container #start-page-title h1 { - max-width: 1094px; - font-size: 74px; - font-weight: 200; - line-height: 1.11; - letter-spacing: -1.2px; - margin: auto; - padding: 0 100px; -} - -@media not all and (min-width: 768px) { - #start-page-main-container #start-page-title h1 { - font-size: 40px; - padding: 0 50px; - } -} - -#start-page-main-container #start-page-time-taken { - font-weight: 200; - font-size: 18px; - margin-top: 35px; - margin-bottom: 0; - letter-spacing: 0.5px; - padding: 0 35px; -} - -#start-page-main-container #start-page-time-taken > i { - margin-right: 4px; - font-size: 23px; - position: relative; - top: 1px; -} - -#start-page-main-container #start-page-btn-container { - display: block; - padding: 0 35px; -} - -#start-page-main-container - #start-page-btn-container - label - input[type='checkbox'] { - display: none; -} - -#start-page-main-container #start-page-btn-container label .checkmark { - position: absolute; - height: 24px; - width: 24px; - border: solid 1px #fff; - text-align: center; - vertical-align: middle; -} - -#start-page-main-container #start-page-btn-container label .checkmark > i { - font-size: 22px; - background-color: #fff; - position: relative; - top: 0; - left: 0; -} - -#start-page-main-container #start-page-btn-container .remember-me-btn { - margin-top: 30px; -} - -#start-page-main-container #start-page-btn-container .remember-me-span { - font-size: 18px; - font-weight: 300; - margin-left: 35px; - vertical-align: middle; -} - -@media all and (min-width: 768px) { - #start-page-main-container .row { - padding: 70px 0; - } -} - -@media not all and (min-width: 768px) { - #start-page-main-container .row { - padding: 50px 0; - } -} - -/* Instructions */ -#start-page-req #start-page-req-content { - display: inline-block; - text-align: left; - padding-bottom: 45px; - border-bottom: 2px solid rgba(184, 184, 184, 0.61); - width: 100%; -} - -#start-page-req #start-page-req-content > h3 { - margin-bottom: 0; -} - -#start-page-req #start-page-req-content > p { - margin-top: 26px; - margin-bottom: 0; - line-height: 1.67; - color: #484848; - font-size: 18px; - white-space: pre-wrap; -} - -/* Page Header */ - -#start-page-header { - padding: 20px 0; - position: fixed; - z-index: 99; - top: 0; - width: 100%; - display: flex; - opacity: 1; - transition: opacity 0.2s ease-in-out; - align-items: center; - justify-content: space-between; - visibility: hidden; -} - -@media not all and (min-width: 768px) { - #start-page-header { - display: none; - } -} - -#start-page-header #start-page-header-title { - margin: -4px 30px 0 35px; - font-weight: 300; - font-size: 24px; - letter-spacing: -0.2px; - color: white; - text-align: left; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -#start-page-header #start-page-header-nav { - text-align: right; - margin-right: 32px; -} - -#start-page-header .start-page-header-nav-item { - margin: 0 0 0 32px; - font-size: 18px; - font-weight: 600; - color: white; - cursor: pointer; -} - -#start-page-header .start-page-header-nav-item > i { - margin-left: 10px; - font-size: 20px; - position: relative; - top: 2px; -} - -/* =========== End Page CSS =========== */ -#end-page-main-container { - color: white; - letter-spacing: 0.3px; - margin-bottom: 73px; - padding: 0 100px; -} - -@media not all and (min-width: 768px) { - #end-page-main-container { - padding: 0 40px; - } -} - -#end-page-main-container #end-page-title { - font-size: 44px; - font-weight: 200; - letter-spacing: -1px; - margin-bottom: 13px; -} - -#end-page-main-container .end-page-follow-up { - font-weight: 200; - font-size: 18px; -} - -#end-page-main-container .end-page-follow-up.end-page-instructions { - margin-bottom: 40px; -} - -#end-page-main-container .end-page-follow-up > p { - white-space: pre-wrap; -} - -#end-page-main-container .end-page-follow-up > p > a { - text-decoration: underline; - color: white; -} - -#end-page-main-container #end-page-btn-link { - font-size: 18px; - font-weight: 600; - margin-top: 38px; - margin-bottom: 60px; -} - -#end-page-main-container #end-page-btn-link > p { - color: white; - text-decoration: none; - cursor: pointer; -} - -#end-page-main-container #end-page-btn-link > p > span { - border-bottom: 2px solid rgba(255, 255, 255, 0.5); - padding-bottom: 2px; -} - -/* =========== Common Utils =========== */ -#start-page-main-container .start-page-btn, -#end-page-main-container .end-page-btn { - margin: 66px auto 59px auto; - background-color: white; - color: #2f5fce; - max-width: 350px; - height: 58px; - padding: 17px; - font-size: 18px; - letter-spacing: 1.2px; - text-transform: uppercase; - font-weight: 700; - border: none; - transition: all 0.1s ease-in-out; - display: flex; - justify-content: center; - border-radius: 4px; - width: 100%; -} - -#start-page-main-container .start-page-multiline-btn { - height: auto; - max-width: max-content; - padding: 17px 30px; -} - -#start-page-main-container .start-page-multiline-btn-decorator { - display: flex; - align-items: center; -} - -#start-page-main-container .start-page-btn { - margin: 39px auto 0 auto; -} - -#end-page-main-container .end-page-btn { - margin: 66px auto 59px auto; -} - -#start-page-main-container .start-page-btn:hover, -#end-page-main-container .end-page-btn:hover { - opacity: 1; - transform: scale(0.95); -} - -#start-page-main-container .start-page-btn:focus, -#end-page-main-container .end-page-btn:focus { - outline: none; -} - -#start-page-main-container .start-page-btn i, -#end-page-main-container .end-page-btn i { - margin-left: 9px; - font-size: 22px; -} - -#start-page-main-container .start-page-btn[disabled], -#end-page-main-container .end-page-btn[disabled] { - opacity: 1; -} - -#start-page-main-container .start-page-btn[disabled]:hover, -#end-page-main-container .end-page-btn[disabled]:hover { - opacity: 1; -} diff --git a/src/public/modules/forms/base/css/verifiable-field.css b/src/public/modules/forms/base/css/verifiable-field.css deleted file mode 100644 index 06f6fa2dfb..0000000000 --- a/src/public/modules/forms/base/css/verifiable-field.css +++ /dev/null @@ -1,66 +0,0 @@ -.verifiable .field-question > span, -.verifiable .field-question > div { - white-space: pre; -} - -.verifiable .vfn-section { - background-color: #e9ecf5; - color: #2f60ce; - line-height: 23px; - font-size: 18px; - margin-left: 15px; - width: 100%; - padding: 32px 24px; - display: flex; -} - -.verifiable .vfn-section .top-2x { - margin-top: 16px; -} - -.verifiable .vfn-section .top-1x { - margin-top: 8px; -} - -.verifiable .vfn-section .title { - font-weight: 600; -} - -.verifiable .vfn-section .resend > a { - text-decoration: underline; - cursor: pointer; -} - -.verifiable .vfn-section .resend.disabled, -.verifiable .vfn-section .resend.disabled > a { - color: #b8b8b8; - cursor: not-allowed; -} - -.verifiable .vfn-section .resend span { - margin-left: 1px; -} - -.verifiable .btn--loading { - font-size: 3rem; - display: flex; - align-items: center; - justify-content: center; -} - -.vfn-btn-container { - padding-left: 0; -} - -.vfn-slot { - padding-left: 0; - padding-right: 0; -} - -@media all and (max-width: 768px) { - .vfn-btn-container { - padding-top: 8px; - margin-bottom: 0; - padding-left: 15px; - } -} diff --git a/src/public/modules/forms/base/directiveViews/datepicker-day.html b/src/public/modules/forms/base/directiveViews/datepicker-day.html deleted file mode 100644 index 26996ebcd8..0000000000 --- a/src/public/modules/forms/base/directiveViews/datepicker-day.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - -
    - - - - - -
    - {{::label.abbr[0]}} -
    - {{ weekNumbers[$index] }} - - -
    diff --git a/src/public/modules/forms/base/directiveViews/datepicker-month.html b/src/public/modules/forms/base/directiveViews/datepicker-month.html deleted file mode 100644 index d2fcd87240..0000000000 --- a/src/public/modules/forms/base/directiveViews/datepicker-month.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - -
    - - - - - -
    - -
    diff --git a/src/public/modules/forms/base/directiveViews/datepicker-popup.html b/src/public/modules/forms/base/directiveViews/datepicker-popup.html deleted file mode 100644 index 4fc849972b..0000000000 --- a/src/public/modules/forms/base/directiveViews/datepicker-popup.html +++ /dev/null @@ -1,27 +0,0 @@ - - - diff --git a/src/public/modules/forms/base/directiveViews/datepicker-year.html b/src/public/modules/forms/base/directiveViews/datepicker-year.html deleted file mode 100644 index d5190394e9..0000000000 --- a/src/public/modules/forms/base/directiveViews/datepicker-year.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - - - - - - - - - -
    - - - - - -
    - -
    diff --git a/src/public/modules/forms/base/directiveViews/datepicker.html b/src/public/modules/forms/base/directiveViews/datepicker.html deleted file mode 100644 index 4a47c96216..0000000000 --- a/src/public/modules/forms/base/directiveViews/datepicker.html +++ /dev/null @@ -1,32 +0,0 @@ - -
    -
    -
    -
    -
    diff --git a/src/public/modules/forms/base/directiveViews/field.client.directive.view.html b/src/public/modules/forms/base/directiveViews/field.client.directive.view.html deleted file mode 100644 index c1e4c3675b..0000000000 --- a/src/public/modules/forms/base/directiveViews/field.client.directive.view.html +++ /dev/null @@ -1,106 +0,0 @@ -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    diff --git a/src/public/modules/forms/base/directiveViews/input-stars.html b/src/public/modules/forms/base/directiveViews/input-stars.html deleted file mode 100644 index 3f324f25f0..0000000000 --- a/src/public/modules/forms/base/directiveViews/input-stars.html +++ /dev/null @@ -1,12 +0,0 @@ -
      -
    • - - -
    • -
    diff --git a/src/public/modules/forms/base/directiveViews/submit-form.directive.view.html b/src/public/modules/forms/base/directiveViews/submit-form.directive.view.html deleted file mode 100644 index 16cd86fdd8..0000000000 --- a/src/public/modules/forms/base/directiveViews/submit-form.directive.view.html +++ /dev/null @@ -1,161 +0,0 @@ -
    -
    - - -
    - -
    - -
    - -
    -
    -
    - - The highlighted fields in this form have been pre-filled - according to the link that you clicked. Please check that these - values are what you intend to submit, and edit if necessary. - -
    -
    -
    - - - -
    -
    - -
    -
    - - -
    -
    - - -
    -
    -
    - {{ uiState.submitPreventedMessage }} -
    -
    -
    -
    -
    -
    - -
    -
    - - -
    -
    - -
    - -
    - - -
    -
    - - - diff --git a/src/public/modules/forms/base/directives/field.client.directive.js b/src/public/modules/forms/base/directives/field.client.directive.js deleted file mode 100644 index 72b55bb4cd..0000000000 --- a/src/public/modules/forms/base/directives/field.client.directive.js +++ /dev/null @@ -1,76 +0,0 @@ -'use strict' - -const get = require('lodash/get') - -angular - .module('forms') - .directive('fieldDirective', ['FormFields', fieldDirective]) - -function fieldDirective(FormFields) { - return { - restrict: 'E', - templateUrl: - 'modules/forms/base/directiveViews/field.client.directive.view.html', - scope: { - field: '=', - required: '&', - forms: '=', - colortheme: '@', - isadminpreview: '=', - isTemplate: '=', - transactionId: '<', - onDropdownClick: '&', - isValidateDate: '<', - formId: '<', - }, - link: function (scope) { - if ((scope.isadminpreview || scope.isTemplate) && scope.field.myInfo) { - // Determine whether to disable field in preview - if ( - ['dropdown', 'checkbox', 'radiobutton'].includes( - scope.field.fieldType, - ) - ) { - // Always allow admin to explore dropdown fields - scope.field.disabled = false - } else if ( - // Disable field if it is always verified - ['SG', 'PR', 'F'].every((status) => - scope.field.myInfo.verified.includes(status), - ) - ) { - scope.field.disabled = true - } else { - scope.field.disabled = false - } - - // Populate default values - scope.field.fieldValue = FormFields.getMyInfoPreviewValue( - scope.field.myInfo.attr, - ) - } - // Add a default description for editable MyInfo fields - /** - * @param {String} myInfoAttr MyInfo attribute - * @param {String} readOnly Whether the field is meant for readOnly - * @return {String} Description for formfield format - */ - function _getMyInfoPlaceholder(myInfoAttr, readOnly) { - if (readOnly) { - return '' - } else if (myInfoAttr === 'mobileno') { - return '+65 9XXXXXXX' - } - return '' - } - - // Insert placeholder text for MyInfo fields that are not disabled - if (scope.field.myInfo) { - scope.placeholder = _getMyInfoPlaceholder( - get(scope.field, 'myInfo.attr'), - scope.field.disabled, - ) - } - }, - } -} diff --git a/src/public/modules/forms/base/directives/iframe-onload.client.directive.js b/src/public/modules/forms/base/directives/iframe-onload.client.directive.js deleted file mode 100644 index 38ee6d7a39..0000000000 --- a/src/public/modules/forms/base/directives/iframe-onload.client.directive.js +++ /dev/null @@ -1,13 +0,0 @@ -angular.module('forms').directive('ngOnload', ngOnload) - -function ngOnload() { - return { - restrict: 'A', - scope: { - callback: '&ngOnload', - }, - link: (scope, element, _attrs) => { - element.on('load', (event) => scope.callback({ event: event })) - }, - } -} diff --git a/src/public/modules/forms/base/directives/ng-intl-tel-input.js b/src/public/modules/forms/base/directives/ng-intl-tel-input.js deleted file mode 100644 index 54f63e5c31..0000000000 --- a/src/public/modules/forms/base/directives/ng-intl-tel-input.js +++ /dev/null @@ -1,206 +0,0 @@ -/** - * ngIntlTelInput module forked from https://github.com/hodgepodgers/ng-intl-tel-input - * This module has been updated for v1.7. - */ - -const { - isMobilePhoneNumber, - isHomePhoneNumber, - startsWithSgPrefix, -} = require('../../../../../../shared/utils/phone-num-validation') - -angular - .module('ngIntlTelInput') - .provider('ngIntlTelInput', ngIntlTelInputProvider) - -function ngIntlTelInputProvider() { - var me = this - var props = {} - var setFn = function (obj) { - if (typeof obj === 'object') { - for (var key in obj) { - props[key] = obj[key] - } - } - } - me.set = setFn - - me.$get = [ - '$log', - function ($log) { - return Object.create(me, { - init: { - value: function (elm) { - if (!window.intlTelInputUtils) { - $log.warn( - 'intlTelInputUtils is not defined. Formatting and validation will not work.', - ) - } - elm.intlTelInput(props) - }, - }, - }) - }, - ] -} - -angular - .module('ngIntlTelInput') - .directive('ngIntlTelInput', [ - 'ngIntlTelInput', - '$log', - '$window', - '$parse', - ngIntlTelInput, - ]) - -function ngIntlTelInput(ngIntlTelInput, $log, $window, $parse) { - return { - restrict: 'A', - require: 'ngModel', - scope: { - allowIntlNumbers: '<', - isHomeNumber: '<', - }, - link: function (scope, elm, attr, ctrl) { - /** - * Validates that user input is a mobile number - * @param {String} value The number to validate - * @returns {Boolean} True if empty string or valid number, false otherwise - */ - ctrl.$validators.isValidPhoneNumber = function (value) { - if (!value) return true - if (scope.isHomeNumber) return isHomePhoneNumber(value) - return isMobilePhoneNumber(value) - } - - /** - * Validates that user input starts with Singapore prefix - * @param {String} value The number to validate - * @returns {Boolean} True if empty string or valid prefix, false otherwise - */ - ctrl.$validators.startsWithSgPrefix = function (value) { - if (!value || scope.allowIntlNumbers) return true - else return startsWithSgPrefix(value) - } - - /** - * Prevent users from typing '+' when international numbers are not - * allowed. This prevents users from changing the expected country from - * Singapore to another country. - */ - ctrl.$parsers.push((value) => { - const onlyNumRegex = /^[0-9]*$/ - - if (scope.allowIntlNumbers || !value || value.match(onlyNumRegex)) { - // Allow international numbers and thus only remove alphabets. - // Only allow phone like digits - const transformedValue = value.replace(/([^\d+()-])/g, '') - ctrl.$setViewValue(transformedValue) - ctrl.$render() - return transformedValue - } - - // Remove all non-digit characters from value - const transformedValue = value.replace(/\D/g, '') - ctrl.$setViewValue(transformedValue) - ctrl.$render() - return transformedValue - }) - - /** - * Sets $modelValue from $viewValue in ngModelController pipeline - */ - ctrl.$parsers.push(function (_value) { - return elm.intlTelInput('getNumber') - }) - - /** - * Formats $viewValue from $modelValue in ngModelController pipeline - */ - ctrl.$formatters.push(function (value) { - if (value) { - if (value.charAt(0) !== '+') { - value = '+' + value - } - elm.intlTelInput('setNumber', value) - } - return value - }) - - /** - * Convenience function to set model values - * @param {Object} model attribute property - * @param {String} value value to set the attribute - */ - function setAttribute(model, value) { - const getter = $parse(model) - const setter = getter.assign - setter(scope, value) - } - - // Handle dropdown change - function handleCountryChange() { - if (attr.selectedCountry) { - setAttribute( - attr.selectedCountry, - elm.intlTelInput('getSelectedCountryData'), - ) - } - ctrl.$setViewValue(elm.intlTelInput('getNumber'), 'countrychange') - } - // Teardown listeners when element is destroyed - function cleanUp() { - angular.element($window).off('countrychange', handleCountryChange) - } - - // Warning for bad directive usage. - if ( - (!!attr.type && attr.type !== 'text' && attr.type !== 'tel') || - elm[0].tagName !== 'INPUT' - ) { - $log.warn( - 'ng-intl-tel-input can only be applied to a *text* or *tel* input', - ) - return - } - - // Configuration - if (scope.allowIntlNumbers) { - ngIntlTelInput.set({ allowDropdown: true }) - } else { - ngIntlTelInput.set({ allowDropdown: false }) - } - // Override default country if supplied - if (attr.initialCountry) { - ngIntlTelInput.set({ initialCountry: attr.initialCountry }) - } - - // Set correct placeholder for home number and mobile number - if (scope.isHomeNumber) { - ngIntlTelInput.set({ - placeholderNumberType: 'FIXED_LINE', - }) - } else { - ngIntlTelInput.set({ - placeholderNumberType: 'MOBILE', - }) - } - - // Override selected country if supplied - if (attr.selectedCountry) { - setAttribute( - attr.selectedCountry, - elm.intlTelInput('getSelectedCountryData'), - ) - } - // Initialisation - ngIntlTelInput.init(elm) - - // Register listeners - angular.element($window).on('countrychange', handleCountryChange) // new country selected from dropdown - - scope.$on('$destroy', cleanUp) - }, - } -} diff --git a/src/public/modules/forms/base/directives/rating-stars.client.directive.js b/src/public/modules/forms/base/directives/rating-stars.client.directive.js deleted file mode 100644 index 4ad1d88f7f..0000000000 --- a/src/public/modules/forms/base/directives/rating-stars.client.directive.js +++ /dev/null @@ -1,199 +0,0 @@ -'use strict' - -/** - * @typedef {Object} FaClassName - * @property {String} full - The CSS class for a filled-in shape e.g. 'fa-heart', 'fa-star' - * @property {String} empty - The CSS class for an empty shape e.g. 'fa-heart-o', 'fa-star-o' - */ - -/** - * Determine empty and filled class names - * @param {String} shapeType Either 'Star' or 'Heart' - * @returns {FaClassName} - */ -function getRatingShapeClassNames(shapeType) { - switch (shapeType) { - case 'Star': - return { - full: 'fa-star', - empty: 'fa-star-o', - } - case 'Heart': - return { - full: 'fa-heart', - empty: 'fa-heart-o', - } - default: - return undefined - } -} - -/** - * Determine specific empty or filled class name - * @param {String} shapeType Either 'Star' or 'Heart' - * @param {Boolean} outline Whether the outlined shape is returned, - * otherwise the filled shape is returned - * @returns {FaClassName} - */ -function getIconClassName(shapeType, outline) { - let shapeData = getRatingShapeClassNames(shapeType) - if (!shapeData) return undefined - else if (outline) return shapeData.empty - else return shapeData.full -} - -angular.module('forms').directive('inputStars', ['$timeout', inputStars]) - -function inputStars($timeout) { - let directive = { - restrict: 'E', - replace: true, - templateUrl: 'modules/forms/base/directiveViews/input-stars.html', - require: 'ngModel', - scope: { - colortheme: '<', - }, - link: link, - } - - return directive - - /** - * links FontAwesome icons to rating icons - * @param {Object} scope - Scope of ratings field page - * @param {Object} element - Element of rating field - * @param {Object} attrs - Attribute of icon - * @param {Object} ngModelCtrl - Controller of ratings field - */ - function link(scope, element, attrs, ngModelCtrl) { - let state = { - iconEmpty: getIconClassName(attrs.iconEmpty, true) || 'fa-star-o', - iconFull: getIconClassName(attrs.iconFull, false) || 'fa-star', - iconBase: attrs.iconBase || 'fa fa-fw', - } - - // Validators - ngModelCtrl.$validators.required = function (viewValue) { - if (attrs.required) { - return viewValue > 0 - } - return true - } - - // Parser to translate viewValue (integer) into modelValue (string) - ngModelCtrl.$parsers.push(function (viewValue) { - if (viewValue === 0) { - return '' - } - return String(viewValue) - }) - - // Formatter to translate modelValue (string) into viewValue (integer) - ngModelCtrl.$formatters.push(function (modelValue) { - if (modelValue === '') { - return 0 - } - return Number(modelValue) - }) - - // Update directives when any of the bound values are changed - attrs.$observe('steps', function (steps) { - scope.items = new Array(+steps) - }) - attrs.$observe('iconEmpty', function (newEmptyIcon) { - state.iconEmpty = - getIconClassName(newEmptyIcon, true) || newEmptyIcon || 'fa-star-o' - }) - attrs.$observe('iconFull', function (newFullIcon) { - state.iconFull = - getIconClassName(newFullIcon, false) || newFullIcon || 'fa-star' - }) - - /** - * Figure out CSS classes for icons - */ - scope.getIconClass = function (index) { - if (index >= ngModelCtrl.$viewValue) { - return state.iconBase + ' ' + state.iconEmpty - } - - return state.iconBase + ' ' + state.iconFull + ' active ' - } - - // Behaviour of Rating - // A. empty and click - highlight - // B. non-empty and click before/after - change highlight - // C. non-empty and click on last star - remove all - - scope.unpaintStars = function (hover) { - scope.paintStars(ngModelCtrl.$viewValue - 1, hover) - } - - /** - * Logic to paint the rating shape. If the shape position defined - * by $index is greater than the previously selected shape, - * defined by scope.lastValue, the shape is colored. - * If the shape position is less than the previously selected shape, - * the colour is unchanged. - * @param {Number} $index The zero-indexed position - * @param {Boolean} [hover] Whether the paint is being evaluated during a hover - */ - scope.paintStars = function ($index, hover = false) { - // hovering over stars less than previous selection - // does not change highlight - if (hover && $index < ngModelCtrl.$viewValue) { - return - } - - const items = element.find('li').find('i') - - for (let index = 0; index < items.length; index++) { - let shapeElement = angular.element(items[index]) - - if ($index >= index) { - shapeElement.removeClass(state.iconEmpty) - shapeElement.addClass(state.iconFull) - shapeElement.addClass('active') - } else { - shapeElement.removeClass(state.iconFull) - shapeElement.addClass(state.iconEmpty) - shapeElement.removeClass('active') - } - } - } - - /** - * Calls $setViewValue on click to update ngModel - */ - scope.setValue = function (index, _event) { - // click on last selected shape removes all - if (index === ngModelCtrl.$viewValue - 1) { - return reset() - } - // set model value - ngModelCtrl.$setViewValue(index + 1) - ngModelCtrl.$setTouched() - ngModelCtrl.$setDirty() - } - - /** - * Resets the state of the rating star directive - */ - function reset() { - // Initialise ngModel - ngModelCtrl.$setViewValue(0) - ngModelCtrl.$setUntouched() - ngModelCtrl.$setPristine() - scope.unpaintStars(false) - } - - // Initialise - scope.items = new Array(+attrs.steps) - reset() - - // Necessary to force a validation on init - $timeout(() => { - ngModelCtrl.$validate() - }, 0) - } -} diff --git a/src/public/modules/forms/base/directives/submit-form.directive.js b/src/public/modules/forms/base/directives/submit-form.directive.js deleted file mode 100644 index 09f20184c2..0000000000 --- a/src/public/modules/forms/base/directives/submit-form.directive.js +++ /dev/null @@ -1,532 +0,0 @@ -'use strict' -const cloneDeep = require('lodash/cloneDeep') -const get = require('lodash/get') -const cuid = require('cuid') -const { default: format } = require('date-fns/format') - -const FieldVerificationService = require('../../../../services/FieldVerificationService') -const PublicFormAuthService = require('../../../../services/PublicFormAuthService') -const PublicFormService = require('../../../../services/PublicFormService') -const UpdateFormService = require('../../../../services/UpdateFormService') -const { - getVisibleFieldIds, - getLogicUnitPreventingSubmit, -} = require('../../../../../shared/util/logic') - -/** - * @typedef {number} FormState - */ -/** - * @enum {FormState} - */ -const FORM_STATES = { - DEFAULT: 0, - SUBMITTING: 1, - SUBMITTED: 2, - SUBMISSION_ERROR: 3, - SUBMIT_PREVENTED: 4, -} - -angular - .module('forms') - .directive('submitFormDirective', [ - '$q', - '$window', - 'GTag', - 'SpcpSession', - 'captchaService', - 'responseModeEnum', - 'Toastr', - '$filter', - 'Submissions', - '$uibModal', - '$timeout', - '$location', - 'prefill', - submitFormDirective, - ]) - -function submitFormDirective( - $q, - $window, - GTag, - SpcpSession, - captchaService, - responseModeEnum, - Toastr, - $filter, - Submissions, - $uibModal, - $timeout, - $location, - prefill, -) { - return { - restrict: 'E', - templateUrl: - 'modules/forms/base/directiveViews/submit-form.directive.view.html', - scope: { - form: '=', - logoUrl: '<', - myInfoError: '<', - disableSubmitButton: '<', - }, - link: function (scope, _element, _attrs, _ctrl) { - const startDate = Date.now() // Used to calculate time spent on form - scope.captchaService = captchaService - scope.SpcpSession = SpcpSession - - // Necessary to pass scope.forms.myForm to field directives - scope.forms = {} - - scope.uiState = { - submitButtonClicked: false, - savedForm: null, - formSubmitted: false, - progressModal: null, - submitPrevented: false, - submitPreventedMessage: '', - } - - // Also used to store a backup of the form state during submission, the state - // of the progress modal - scope.controllerState = {} - - const setReferrerToNull = () => { - const meta = document.createElement('meta') - meta.setAttribute('name', 'referrer') - meta.setAttribute('content', 'no-referrer') - meta.style.display = 'none' - $('head').append(meta) - } - - scope.formLogin = function (isPersistentLogin) { - // Fire GA tracking event - if (isPersistentLogin) GTag.persistentLoginUse(scope.form) - - const query = $location.url().split('?') - const queryString = query.length > 1 ? query[1] : undefined - const queryId = queryString ? cuid() : undefined - const encodedQuery = queryId - ? btoa(`${prefill.QUERY_ID}=${queryId}`) - : undefined - const queryObject = { - _id: queryId, - queryString, - } - - if (queryString) { - // Defensive - try catch block in case the storage is full - // See https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem - try { - // We use storedQuery as the sessionStorage key rather than just using the queryId - // because only one person can be logging in at a time in a given session, so - // we should only store one set of prefill params. Meanwhile, we use queryId and pass it to the - // backend instead of simply storing the query params directly in sessionStorage, so as to - // ensure that the stored query is loaded only for the session where it was generated - sessionStorage.setItem( - prefill.STORED_QUERY, - JSON.stringify(queryObject), - ) - } catch (e) { - console.error('Failed to store query string') - // Login can proceed, since after login, user can still prefill form by accessing - // url with query params - } - } - - return $q - .when( - PublicFormAuthService.createRedirectURL( - scope.form._id, - isPersistentLogin, - encodedQuery, - ), - ) - .then((response) => { - setReferrerToNull() - $window.location.href = response.redirectURL - }) - .catch((error) => { - console.error(error) - Toastr.error( - 'Sorry, there was a problem with your login. Please try again.', - ) - }) - } - - /* - ** Private function that shows all invalid fields and fade in - * error message if Submit is pressed. - */ - function displayInvalidSubmit() { - Toastr.error( - 'Sorry, your submission has errors. Correct them and submit again.', - ) - // Display error messages of all fields - let invalidElements = angular.element('.field-input .ng-invalid') - // force all the "Please fill in required field" message to appear by touching all fields - for (let i = 0; i < invalidElements.length; i++) { - if ( - !invalidElements[i].id || - !scope.forms.myForm[invalidElements[i].id] - ) { - continue - } - scope.forms.myForm[invalidElements[i].id].$setTouched() - } - } - - const isAnyFieldInvalid = () => { - // Check the validity of each individual field. We do this due to - // a possible bug in WebKit where form submission may not be correctly - // prevented when the form is invalid. - return ( - scope.forms.myForm.$invalid || - scope.form.form_fields.some( - ({ _id }) => - scope.forms.myForm[_id] && scope.forms.myForm[_id].$invalid, - ) - ) - } - - scope.checkCaptchaAndSubmit = () => { - if (isAnyFieldInvalid()) { - displayInvalidSubmit() - return - } - - // Manually retry captcha if captcha not set yet - // unless in preview mode. - // or captcha feature not enabled - if ( - scope.form.hasCaptcha && - !scope.form.isPreview && - !captchaService.isValid() - ) { - captchaService.challenge() // captcha service will call submitForm on success - return - } else { - scope.submitForm() - } - } - - function advanceLogic() { - const visibleFieldIds = getVisibleFieldIds( - scope.form.form_fields, - scope.form, - ) - scope.form.form_fields.forEach(function (field) { - const fieldWasVisibleBeforeUpdate = field.isVisible - field.isVisible = visibleFieldIds.has(field._id) - // If the field goes from shown to hidden, then clear its contents - if (fieldWasVisibleBeforeUpdate && !field.isVisible) { - field.clear(false) - } - }) - const preventSubmitLogicUnit = getLogicUnitPreventingSubmit( - scope.form.form_fields, - scope.form, - visibleFieldIds, - ) - setPreventSubmitState(preventSubmitLogicUnit) - } - - /** - * Sets the form state based on a logic unit that prevents submission. - * @param {Object} preventSubmitLogicUnit Return value of getLogicUnitPreventingSubmit - */ - function setPreventSubmitState(preventSubmitLogicUnit) { - // Edge case: advanceLogic is also called when the user has just clicked submit, - // in which case we shouldn't set the form state back to default. This relies on - // the event loop to set scope.uiState.submitButtonClicked = true before calling - // advanceLogic. - if (preventSubmitLogicUnit) { - setFormState( - FORM_STATES.SUBMIT_PREVENTED, - preventSubmitLogicUnit.preventSubmitMessage, - ) - } else if (!scope.uiState.submitButtonClicked) { - setFormState(FORM_STATES.DEFAULT) - } - } - - const setFormState = (state, preventSubmitMessage) => { - switch (state) { - case FORM_STATES.DEFAULT: - closeProgressModal() - scope.uiState.submitButtonClicked = false - // This check is necessary to prevent clearing of submission error Toast - if (scope.uiState.submitPrevented) { - scope.uiState.submitPrevented = false - scope.uiState.submitPreventedMessage = '' - } - break - case FORM_STATES.SUBMITTING: - scope.controllerState.savedForm = cloneDeep(scope.form) - scope.form.lockFields() - scope.uiState.submitButtonClicked = true - if (scope.form.hasAttachments()) { - openProgressModal() - } - break - case FORM_STATES.SUBMITTED: - if (scope.form.hasAttachments()) { - $timeout(() => { - closeProgressModal() - scope.uiState.formSubmitted = true - $window.scrollTo(0, 0) - }, 1500) - } else { - scope.uiState.formSubmitted = true - $window.scrollTo(0, 0) - } - break - case FORM_STATES.SUBMISSION_ERROR: - scope.form = scope.controllerState.savedForm - setFormState(FORM_STATES.DEFAULT) - break - case FORM_STATES.SUBMIT_PREVENTED: - if (!preventSubmitMessage) { - preventSubmitMessage = - 'The form admin has disabled submission for forms with these answers.' - } - scope.uiState.submitPreventedMessage = preventSubmitMessage - scope.uiState.submitPrevented = true - break - default: - throw new Error('setFormState called with invalid input.') - } - } - - /** - * Opens the submission progress modal. - */ - const openProgressModal = function () { - scope.controllerState.progressModal = $uibModal.open({ - animation: true, - backdrop: 'static', - keyboard: false, - templateUrl: - 'modules/forms/base/views/submit-progress.client.modal.html', - windowClass: 'submit-progress-modal-window', - }) - } - - /** - * Closes the submission progress modal if it is currently open. - */ - const closeProgressModal = () => { - if (scope.controllerState.progressModal) { - scope.controllerState.progressModal.close() - scope.controllerState.progressModal = null - } - } - - /** - * Listener for submit button. Wraps main submission flow to catch - * and handle any errors. - */ - scope.submitForm = () => { - try { - submitFormMain(scope.form) - } catch (error) { - handleSubmitFailure(error, 'Please try again later.') - } - } - - /** - * Processes and submits form to backend. - * @param {Object} form Copy of form to submit - */ - const submitFormMain = async (form) => { - // Disable UI and optionally open progress modal while processing - setFormState(FORM_STATES.SUBMITTING) - - // submissionContent is the POST body to backend when we submit the form - let submissionContent - - try { - submissionContent = await form.getSubmissionContent() - } catch (err) { - return handleSubmitFailure( - err, - 'There was an error while processing your submission. Please refresh and try again. ' + - 'If the problem persists, try using a different browser.', - ) - } - - const captchaResponse = captchaService.response - - switch (form.responseMode) { - case responseModeEnum.EMAIL: { - const content = { responses: submissionContent.responses } - - const submitFn = form.isPreview - ? UpdateFormService.submitEmailModeFormPreview - : PublicFormService.submitEmailModeForm - - return $q - .when( - submitFn({ - formId: scope.form._id, - content, - captchaResponse, - attachments: submissionContent.attachments, - }), - ) - .then(handleSubmitSuccess) - .catch(handleSubmitFailure) - } - case responseModeEnum.ENCRYPT: { - const submitFn = form.isPreview - ? UpdateFormService.submitStorageModeFormPreview - : PublicFormService.submitStorageModeForm - - return $q - .when( - submitFn({ - formId: scope.form._id, - content: submissionContent, - captchaResponse, - }), - ) - .then(handleSubmitSuccess) - .catch(handleSubmitFailure) - } - default: - handleSubmitFailure( - new Error( - 'Invalid response mode', - 'There was an error while processing your submission. Please refresh and try again. ' + - 'If the problem persists, try using a different browser.', - ), - ) - } - } - - /** - * Helper function for Google Analytics to check for persistent login. - */ - const shouldTrackPersistentLoginUse = () => { - scope.form.authType === 'SP' && SpcpSession.isRememberMeSet() - } - /** - * Returns a callback for form submission success, which updates UI - * state and Google Analytics. - */ - const handleSubmitSuccess = (response) => { - scope.submissionId = response.submissionId - scope.timestamp = format( - new Date(response.timestamp), - 'dd MMM yyyy, HH:mm:ss z', - ) - setFormState(FORM_STATES.SUBMITTED) - GTag.submitFormSuccess(scope.form, startDate, Date.now()) - if (shouldTrackPersistentLoginUse()) { - GTag.formSubmitWithPersistentSession( - scope.form, - SpcpSession.getIssuedAt(), - Date.now(), - ) - } - } - - /** - * Returns a callback for form submission failure, which updates UI - * state and Google Analytics. - * @param {Error} error the error object that caused the submission failure. - * @param {string?} toastMessage The toast message to display, if any. - */ - const handleSubmitFailure = (error, toastMessage) => { - const form = scope.form - const errorMessage = get( - error, - 'response.data.message', - get( - error, - 'message', - "Please refresh and try again. If this doesn't work, try switching devices or networks.", - ), - ) - - console.error('Submission error:\t', error) - setFormState(FORM_STATES.SUBMISSION_ERROR) - if (!toastMessage) { - toastMessage = errorMessage - } - Toastr.error( - toastMessage, - { - timeOut: 5000, - extendedTimeOut: 1000, - closeButton: false, - }, - 'Submission Error', - ) - GTag.submitFormFailure(form, startDate, Date.now(), error) - if (get(error, 'response.data.spcpSubmissionFailure')) { - SpcpSession.logout(form.authType) - } - - // Expire captcha if form has captcha - if (form.hasCaptcha) { - captchaService.expire() - } - } - - scope.isSubmitButtonDisabled = () => { - return ( - scope.uiState.submitPrevented || - (!scope.uiState.submitButtonClicked && - scope.form.isTemplate && - !scope.form.isPreview) - ) - } - // Monitor logic changes - scope.$watch( - function () { - return JSON.stringify(scope.form.form_fields) - }, - function (_newVal, _oldVal) { - advanceLogic() - // Update field numbers depending on what fields are shown - scope.form.form_fields = $filter('addFieldNumber')( - scope.form.form_fields, - ) - }, - true, - ) - - // Create a transaction if there are fields to be verified and the form is intended for submission - if (!scope.disableSubmitButton) { - $q.resolve( - FieldVerificationService.createTransactionForForm(scope.form._id), - ) - .then((res) => { - if (res.transactionId) { - scope.transactionId = res.transactionId - } - }) - .catch((error) => { - const statusCode = get(error, 'response.status') - if (statusCode === 429) { - const toastMessage = - 'You have requested this form too many times and fields that require verification will fail. Please try refreshing the form after one minute.' - - console.error('transactionId error:\t', error) - Toastr.permanentError(toastMessage) - } - }) - } - - // Variable to indicate if there are prefill fields - // Use scope.$watch to monitor logic changes - scope.$watch(() => { - scope.hasPrefill = scope.form.form_fields.some((field) => { - return field.allowPrefill && field.isVisible && field.isPrefilled - }) - }) - }, - } -} diff --git a/src/public/modules/forms/base/directives/validate-checkbox.client.directive.js b/src/public/modules/forms/base/directives/validate-checkbox.client.directive.js deleted file mode 100644 index fc8112a7d7..0000000000 --- a/src/public/modules/forms/base/directives/validate-checkbox.client.directive.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict' - -angular - .module('forms') - .directive('validateCheckbox', ['$timeout', validateCheckbox]) - -function validateCheckbox($timeout) { - return { - restrict: 'A', - scope: { - fieldValue: ' scope.maxSelected) { - return false - } - return true - } - - scope.$watch( - 'fieldValue', - (_newVal, _oldVal) => { - ngModel.$validate() - }, - true, - ) - - ngModel.$validate() - }, 500) - }, - } -} diff --git a/src/public/modules/forms/base/directives/validate-email-domain.client.directive.js b/src/public/modules/forms/base/directives/validate-email-domain.client.directive.js deleted file mode 100644 index 6efc050cf5..0000000000 --- a/src/public/modules/forms/base/directives/validate-email-domain.client.directive.js +++ /dev/null @@ -1,33 +0,0 @@ -'use strict' - -angular.module('forms').directive('validateEmailDomain', validateEmailDomain) - -function validateEmailDomain() { - return { - restrict: 'A', - require: 'ngModel', - link: (scope, elem, attr, ngModel) => { - const allowedEmailDomains = - scope.vm.field.isVerifiable && scope.vm.field.hasAllowedEmailDomains - ? new Set( - scope.vm.field.allowedEmailDomains.map((domain) => - domain.toLowerCase(), - ), - ) - : new Set() - ngModel.$validators.emailDomainValidator = (emailAddress) => { - // Early return, do not even check domains if string is empty. - if (!emailAddress) { - return true - } - if (allowedEmailDomains.size) { - const emailDomain = ( - '@' + emailAddress.split('@').pop() - ).toLowerCase() - return allowedEmailDomains.has(emailDomain) - } - return true - } - }, - } -} diff --git a/src/public/modules/forms/base/directives/validate-email-format.client.directive.js b/src/public/modules/forms/base/directives/validate-email-format.client.directive.js deleted file mode 100644 index 5b4d147ed9..0000000000 --- a/src/public/modules/forms/base/directives/validate-email-format.client.directive.js +++ /dev/null @@ -1,16 +0,0 @@ -'use strict' - -const { isEmail } = require('validator') -angular.module('forms').directive('validateEmailFormat', validateEmailFormat) - -function validateEmailFormat() { - return { - restrict: 'A', - require: 'ngModel', - link: (scope, elem, attr, ngModel) => { - ngModel.$validators.emailFormatValidator = (emailAddress) => { - return !emailAddress || isEmail(emailAddress) - } - }, - } -} diff --git a/src/public/modules/forms/base/directives/validate-nric.client.directive.js b/src/public/modules/forms/base/directives/validate-nric.client.directive.js deleted file mode 100644 index 224f0689a5..0000000000 --- a/src/public/modules/forms/base/directives/validate-nric.client.directive.js +++ /dev/null @@ -1,22 +0,0 @@ -'use strict' - -const { - isNricValid, - isMFinSeriesValid, -} = require('../../../../../../shared/utils/nric-validation') - -angular.module('forms').directive('validateNric', validateNric) - -function validateNric() { - return { - restrict: 'A', - require: 'ngModel', - link: function (_scope, _elem, _attrs, ctrl) { - ctrl.$validators.nricValidator = function (modelValue) { - return ctrl.$isEmpty(modelValue) - ? true - : isNricValid(modelValue) || isMFinSeriesValid(modelValue) - } - }, - } -} diff --git a/src/public/modules/forms/base/directives/validate-uen.client.directive.js b/src/public/modules/forms/base/directives/validate-uen.client.directive.js deleted file mode 100644 index ea2b727a4e..0000000000 --- a/src/public/modules/forms/base/directives/validate-uen.client.directive.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict' - -const { isUenValid } = require('../../../../../../shared/utils/uen-validation') - -angular.module('forms').directive('validateUen', validateUen) - -function validateUen() { - return { - restrict: 'A', - require: 'ngModel', - link: function (_scope, _elem, _attrs, ctrl) { - ctrl.$validators.uenValidator = function (modelValue) { - return ctrl.$isEmpty(modelValue) ? true : isUenValid(modelValue) - } - }, - } -} diff --git a/src/public/modules/forms/base/directives/validate-url.client.directive.js b/src/public/modules/forms/base/directives/validate-url.client.directive.js deleted file mode 100644 index eff521e1a6..0000000000 --- a/src/public/modules/forms/base/directives/validate-url.client.directive.js +++ /dev/null @@ -1,23 +0,0 @@ -'use strict' - -const { - isValidHttpsUrl, - isValidUrl, -} = require('../../../../../../shared/utils/url-validation') - -angular.module('forms').directive('validateUrl', validateUrl) - -function validateUrl() { - return { - restrict: 'A', - require: 'ngModel', - link: function (_scope, _elem, attrs, ctrl) { - ctrl.$validators.urlValidator = (modelValue) => { - if (attrs.allowHttp) { - return ctrl.$isEmpty(modelValue) || isValidUrl(modelValue) - } - return ctrl.$isEmpty(modelValue) || isValidHttpsUrl(modelValue) - } - }, - } -} diff --git a/src/public/modules/forms/base/resources/icon-types.js b/src/public/modules/forms/base/resources/icon-types.js deleted file mode 100644 index 1cb8b46398..0000000000 --- a/src/public/modules/forms/base/resources/icon-types.js +++ /dev/null @@ -1,58 +0,0 @@ -const iconTypeMap = { - // Regular fields - textfield: 'bx bx-rename', - dropdown: 'bx bx-select-arrows', - date: 'bx bx-calendar', - checkbox: 'bx bx-checkbox-checked', - email: 'bx bx-envelope', - mobile: 'bx bx-mobile-alt', - textarea: 'bx bx-left-indent', - rating: 'bx bx-star', - statement: 'bx bx-quote-left', - section: 'bx bx-heading', - yes_no: 'bx bx-toggle', - number: 'bx bx-hash', - decimal: 'bx bx-calculator', - image: 'bx bx-image', - nric: 'bx bx-user', - uen: 'bx bx-building', - attachment: 'bx bx-cloud-download', - radiobutton: 'bx bx-radio-circle-marked', - table: 'bx bx-table', - // MyInfo attributes - name: 'bx bx-user-circle', - sex: 'bx bx-male', - race: 'bx bx-body', - nationality: 'bx bx-globe', - birthcountry: 'bx bx-flag-alt', - dialect: 'bx bx-quote-left', - residentialstatus: 'bx bx-certification', - housingtype: 'bx bx-home-alt', - hdbtype: 'bx bx-home', - marital: 'bx bx-diamond', - countryofmarriage: 'bx bx-globe-alt', - workpassstatus: 'bx bx-task', - // householdincome: "", - // marriedname: "", - // hanyupinyinname: "", - // aliasname: "", - // hanyupinyinaliasname: "", - // secondaryrace: "", - passportnumber: 'bx bx-world', - regadd: 'bx bx-building', - occupation: 'bx bx-briefcase', - employment: 'bx bx-contact', - vehno: 'bx bx-car', - dob: 'bx bx-calendar-plus', - passportexpirydate: 'bx bx-calendar-minus', - marriagedate: 'bx bx-calendar-check', - divorcedate: 'bx bx-calendar-x', - workpassexpirydate: 'bx bx-calendar-alt', - homeno: 'bx bx-phone', - mobileno: 'bx bx-mobile-alt', - marriagecertno: 'bx bx-award', -} - -module.exports = { - iconTypeMap, -} diff --git a/src/public/modules/forms/base/views/error-page.client.view.html b/src/public/modules/forms/base/views/error-page.client.view.html deleted file mode 100644 index f89ed67e63..0000000000 --- a/src/public/modules/forms/base/views/error-page.client.view.html +++ /dev/null @@ -1,19 +0,0 @@ -
    -
    - -

    {{ vm.errorMessage }}

    -

    -
    - - -
    diff --git a/src/public/modules/forms/base/views/submit-form.client.view.html b/src/public/modules/forms/base/views/submit-form.client.view.html deleted file mode 100644 index b35c730180..0000000000 --- a/src/public/modules/forms/base/views/submit-form.client.view.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -
    -
    -
    - Preview mode -
    -
    - Preview with test data -
    - - - -
    -
    - - -
    -
    diff --git a/src/public/modules/forms/base/views/submit-progress.client.modal.html b/src/public/modules/forms/base/views/submit-progress.client.modal.html deleted file mode 100644 index b45a1af100..0000000000 --- a/src/public/modules/forms/base/views/submit-progress.client.modal.html +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/src/public/modules/forms/config/forms.client.config.js b/src/public/modules/forms/config/forms.client.config.js deleted file mode 100644 index db7a812835..0000000000 --- a/src/public/modules/forms/config/forms.client.config.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict' - -// Configuring the Forms drop-down menus -angular.module('forms').filter('addFieldNumber', addFieldNumber) - -function addFieldNumber() { - // Calculates the question number to display on the form - return function (fields) { - if (fields) { - let nonResponseFields = 0 - let numHiddenFields = 0 - - fields.forEach(function (field, index) { - if (['section', 'statement', 'image'].includes(field.fieldType)) { - nonResponseFields++ - } else if (!field.isVisible) { - numHiddenFields++ - } else { - field.field_number = index + 1 - nonResponseFields - numHiddenFields - } - }) - } - return fields - } -} diff --git a/src/public/modules/forms/config/forms.client.routes.js b/src/public/modules/forms/config/forms.client.routes.js deleted file mode 100644 index 6a098605af..0000000000 --- a/src/public/modules/forms/config/forms.client.routes.js +++ /dev/null @@ -1,190 +0,0 @@ -'use strict' - -const ExamplesService = require('../../../services/ExamplesService') -const UserService = require('../../../services/UserService') - -// Setting up route -angular.module('forms').config([ - '$stateProvider', - function ($stateProvider) { - // Forms state routing - $stateProvider - .state('listForms', { - url: '/forms', - templateUrl: 'modules/forms/admin/views/list-forms.client.view.html', - controller: 'ListFormsController', - controllerAs: 'vm', - }) - .state('submitForm', { - url: '/{formId:[0-9a-fA-F]{24}}', - templateUrl: 'modules/forms/base/views/submit-form.client.view.html', - resolve: { - FormData: [ - 'FormApi', - '$transition$', - function (FormApi, $transition$) { - return FormApi.getPublicForm($transition$.params().formId) - }, - ], - }, - controller: 'SubmitFormController', - controllerAs: 'vm', - }) - .state('previewForm', { - url: '/{formId:[0-9a-fA-F]{24}}/preview', - templateUrl: 'modules/forms/base/views/submit-form.client.view.html', - resolve: { - FormData: [ - 'FormApi', - '$transition$', - function (FormApi, $transition$) { - return FormApi.previewForm($transition$.params().formId).then( - (FormData) => { - FormData.isTemplate = true - FormData.isPreview = true - return FormData - }, - ) - }, - ], - }, - controller: 'SubmitFormController', - controllerAs: 'vm', - }) - .state('templateForm', { - url: '/{formId:[0-9a-fA-F]{24}}/template', - templateUrl: 'modules/forms/base/views/submit-form.client.view.html', - resolve: { - FormData: [ - 'FormApi', - '$transition$', - function (FormApi, $transition$) { - return FormApi.queryTemplate($transition$.params().formId).then( - (FormData) => { - FormData.isTemplate = true - return FormData - }, - ) - }, - ], - }, - controller: 'SubmitFormController', - controllerAs: 'vm', - }) - .state('useTemplate', { - url: '/{formId:[0-9a-fA-F]{24}}/use-template', - templateUrl: 'modules/users/views/examples.client.view.html', - resolve: { - FormErrorService: 'FormErrorService', - // If the user is logged in, this field will contain the form data of the provided formId, - // otherwise it will only contain the formId itself. - FormData: [ - 'FormErrorService', - '$stateParams', - function (FormErrorService, $stateParams) { - if (!UserService.getUserFromLocalStorage()) { - return $stateParams.formId - } - - return ExamplesService.getSingleExampleForm($stateParams.formId) - .then(function (response) { - response.form.isTemplate = true - return response.form - }) - .catch((response) => { - return FormErrorService.redirect({ - response, - targetState: 'useTemplate', - targetFormId: $stateParams.formId, - }) - }) - }, - ], - }, - controller: 'ExamplesController', - controllerAs: 'vm', - }) - .state('viewForm', { - url: '/{formId:[0-9a-fA-F]{24}}/admin', - resolve: { - FormData: [ - 'FormApi', - '$stateParams', - function (FormApi, $stateParams) { - return FormApi.getAdminForm($stateParams.formId) - }, - ], - }, - views: { - '': { - templateUrl: - 'modules/forms/admin/views/admin-form.client.view.html', - controller: 'AdminFormController', - }, - 'settings@viewForm': { - template: ``, - }, - 'build@viewForm': { - template: ` - `, - }, - 'logic@viewForm': { - template: ` - `, - }, - 'share@viewForm': { - template: ` - `, - }, - 'results@viewForm': { - templateUrl: - 'modules/forms/admin/views/results-panel.client.view.html', - controller: 'ResultsPanelController', - controllerAs: 'vm', - }, - 'responses@viewForm': { - templateUrl: - 'modules/forms/admin/views/view-responses.client.view.html', - controller: 'ViewResponsesController', - controllerAs: 'vm', - resolve: {}, - }, - 'feedback@viewForm': { - template: - '', - }, - }, - }) - .state('error', { - url: '/error/:errorType', - templateUrl: 'modules/forms/base/views/error-page.client.view.html', - controller: 'ErrorPageController', - controllerAs: 'vm', - params: { - errorType: null, - // The text to be shown on the error page. The default here is that of 404 pages. - errorMessage: "Oops! We can't find the page you're looking for.", - // This flag is used to override the default 404 message ("please check link") in the - // case that 404 is returned, but the form actually exists - isPageFound: false, - targetFormId: null, - // This should be present if isPageFound - targetFormTitle: null, - }, - }) - }, -]) diff --git a/src/public/modules/forms/helpers/CsvGenerator.ts b/src/public/modules/forms/helpers/CsvGenerator.ts deleted file mode 100644 index 13682395a3..0000000000 --- a/src/public/modules/forms/helpers/CsvGenerator.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { stringify } from 'csv-string' - -import { triggerFileDownload } from './util' - -// Used to denote to Excel that the CSV is UTF8-encoded. See -// https://stackoverflow.com/questions/19492846/javascript-to-csv-export-encoding-issue -// for more information. -const UTF8_BYTE_ORDER_MARK = '\uFEFF' - -export class CsvGenerator { - expectedNumberOfRecords: number - numOfMetaDataRows: number - numOfHeaderRows: number - lastCreatedAt: number - startIdx: number - idx: number - records: string[] - - constructor(expectedNumberOfRecords = 0, numOfMetaDataRows = 0) { - this.expectedNumberOfRecords = expectedNumberOfRecords - this.numOfMetaDataRows = numOfMetaDataRows - this.numOfHeaderRows = 1 - this.lastCreatedAt = 0 - - // Index to start inserting new data into. - // (Assume 1 row for header and 1 for the byte order mark.) - this.startIdx = this.numOfMetaDataRows + this.numOfHeaderRows + 1 - // Index to insert next row data into. - this.idx = this.startIdx - // Preallocate for performance. - this.records = Array(this.startIdx + this.expectedNumberOfRecords).fill('') - // Must be added first for Excel to know that this file is an UTF8-encoded - // CSV. - this.records[0] = UTF8_BYTE_ORDER_MARK - } - - /** - * Insert raw data for a given row into the CSV file - */ - addLine(rowData: (number | string)[]): void { - this.records[this.idx] = stringify(rowData) - this.idx++ - } - - /** - * Insert headers into the CSV file after the meta-data - */ - setHeader(headerLabels: string[]): void { - this.records[this.startIdx - 1] = stringify(headerLabels) - } - - /** - * Insert meta-data array into the start of the CSV file - */ - addMetaData(metaDataRows: (number | string)[][]): void { - const metaData = metaDataRows.map((data) => stringify(data)) - // Start splicing at index 1 because BOM is at index 0. - this.records.splice(1, this.numOfMetaDataRows, ...metaData) - } - - /** - * Download CSV file to disk - */ - triggerFileDownload(fileName: string): void { - const blob = new Blob(this.records, { - type: 'text/csv;charset=utf-8', - }) - triggerFileDownload(blob, fileName) - } - - /** - * Returns current length of CSV file excluding header and meta-data - */ - length(): number { - return this.idx - this.startIdx - } -} diff --git a/src/public/modules/forms/helpers/CsvMergedHeadersGenerator.ts b/src/public/modules/forms/helpers/CsvMergedHeadersGenerator.ts deleted file mode 100644 index 5dae250995..0000000000 --- a/src/public/modules/forms/helpers/CsvMergedHeadersGenerator.ts +++ /dev/null @@ -1,205 +0,0 @@ -import keyBy from 'lodash/keyBy' -import moment from 'moment-timezone' - -import { DisplayedResponseWithoutAnswer } from '../../../types/response' - -import { Response } from './csv-response-classes' -import { CsvGenerator } from './CsvGenerator' -import { getResponseInstance } from './response-factory' - -type KeyedResponse = { [fieldId: string]: Response } - -type UnprocessedRecord = { - created: string - submissionId: string - record: KeyedResponse -} - -type SubmissionRecord = { - record: DisplayedResponseWithoutAnswer[] - created: string - submissionId: string -} - -export class CsvMergedHeadersGenerator extends CsvGenerator { - hasBeenProcessed: boolean - hasBeenSorted: boolean - fieldIdToQuestion: Map< - string, - { - created: string - question: string - } - > - fieldIdToNumCols: Record - unprocessed: UnprocessedRecord[] - - constructor(expectedNumberOfRecords: number, numOfMetaDataRows: number) { - super(expectedNumberOfRecords, numOfMetaDataRows) - - this.hasBeenProcessed = false - this.hasBeenSorted = false - this.fieldIdToQuestion = new Map() - this.fieldIdToNumCols = {} - this.unprocessed = [] - } - - /** - * Returns current length of CSV file excluding header and meta-data - */ - length(): number { - return this.unprocessed.length - } - - /** - * Extracts information from input record, rearranges record and then adds an UnprocessedRecord to this.unprocessed - * @param decryptedContent - * @param decryptedContent.record - * @param decryptedContent.created - * @param decryptedContent.submissionId - * @throws Error when trying to convert record into a response instance. Should be caught in submissions client factory. - */ - addRecord({ record, created, submissionId }: SubmissionRecord): void { - // First pass, create object with { [fieldId]: question } from - // decryptedContent to get all the questions. - const fieldRecords = record.map((content) => { - const fieldRecord = getResponseInstance(content) - if (!fieldRecord.isHeader) { - const currentMapping = this.fieldIdToQuestion.get(fieldRecord.id) - // Only set new mapping if it does not exist or this record is a later - // submission. - // Might need to differentiate the question headers if we allow - // signed-but-failed-verification rows to proceed. - if (!currentMapping || created > currentMapping.created) { - this.fieldIdToQuestion.set(fieldRecord.id, { - created, - question: fieldRecord.question, - }) - } - // Number of columns needed by this answer in the CSV - const contentNumCols = fieldRecord.numCols - // Number of columns currently allocated to the field - const currentNumCols = this.fieldIdToNumCols[fieldRecord.id] - // Update the number of columns allocated - this.fieldIdToNumCols[fieldRecord.id] = currentNumCols - ? Math.max(currentNumCols, contentNumCols) - : contentNumCols - } - return fieldRecord - }) - - // Rearrange record to be an object identified by field ID. - this.unprocessed.push({ - created, - submissionId, - record: keyBy(fieldRecords, (fieldRecord) => fieldRecord.id), - }) - } - - /** - * Process the unprocessed records by creating the correct headers and - * assigning each answer to their respective locations in each response row in - * the csv data. - */ - process(): void { - if (this.hasBeenProcessed) return - - // Create a header row in CSV using the fieldIdToQuestion map. - const headers = ['Response ID', 'Timestamp'] - this.fieldIdToQuestion.forEach((value, fieldId) => { - for (let i = 0; i < this.fieldIdToNumCols[fieldId]; i++) { - headers.push(value.question) - } - }) - this.setHeader(headers) - - // Craft a new csv row for each unprocessed record - // O(qn), where q = number of unique questions, n = number of submissions. - this.unprocessed.forEach((up) => { - const createdAt = moment(up.created).tz('Asia/Singapore') - const formattedDate = createdAt.isValid() - ? createdAt.format('DD MMM YYYY hh:mm:ss A') - : createdAt.toString() // just convert to string if given date is not valid - const row = [up.submissionId, formattedDate] - - this.fieldIdToQuestion.forEach((_question, fieldId) => { - const numCols = this.fieldIdToNumCols[fieldId] - for (let colIndex = 0; colIndex < numCols; colIndex++) { - row.push(this._extractAnswer(up.record, fieldId, colIndex)) - } - }) - this.addLine(row) - }) - this.hasBeenProcessed = true - } - - /** - * Extracts the string representation from a field response - * @param unprocessedRecord - * @param fieldId - * @param colIndex - * @returns string representation of unprocessed record - */ - private _extractAnswer( - unprocessedRecord: KeyedResponse, - fieldId: string, - colIndex: number, - ): string { - const fieldRecord = unprocessedRecord[fieldId] - if (!fieldRecord) return '' - return fieldRecord.getAnswer(colIndex) - } - - /** - * Sorts unprocessed records from oldest to newest - */ - sort(): void { - if (this.hasBeenSorted) return - this.unprocessed.sort((a, b) => this._dateComparator(a.created, b.created)) - this.hasBeenSorted = true - } - - /** - * Add meta-data as first three rows of the CSV. If there is already meta-data - * added, it will be replaced by the latest counts. - */ - addMetaDataFromSubmission(errorCount: number, unverifiedCount: number): void { - const metaDataRows = [ - ['Expected total responses', this.expectedNumberOfRecords], - ['Success count', this.length()], - ['Error count', errorCount], - ['Unverified response count', unverifiedCount], - ['See download status column for download errors'], - ] - this.addMetaData(metaDataRows) - } - - /** - * Main method to call to retrieve a downloadable csv. - * @param filename name of csv file - */ - downloadCsv(filename: string): void { - this.sort() - this.process() - this.triggerFileDownload(filename) - } - - /** - * Comparator for dates - * @param firstDate - * @param secondDate - */ - private _dateComparator(firstDate: string, secondDate: string): number { - // cast to Asia/Singapore to ensure both dates are of the same timezone - const first = moment(firstDate).tz('Asia/Singapore') - const second = moment(secondDate).tz('Asia/Singapore') - if (first.isBefore(second)) { - return -1 - } else if (first.isAfter(second)) { - return 1 - } else { - // dates are the same - return 0 - } - } -} diff --git a/src/public/modules/forms/helpers/FeedbackCsvGenerator.ts b/src/public/modules/forms/helpers/FeedbackCsvGenerator.ts deleted file mode 100644 index b15e9f5f7a..0000000000 --- a/src/public/modules/forms/helpers/FeedbackCsvGenerator.ts +++ /dev/null @@ -1,26 +0,0 @@ -import moment from 'moment-timezone' - -import { FormFeedbackDto } from '../../../../../shared/types/form/form_feedback' - -import { CsvGenerator } from './CsvGenerator' - -/** - * Class to encapsulate the FeedbackCsv and its attributes - */ -export class FeedbackCsvGenerator extends CsvGenerator { - constructor(expectedNumberOfRecords: number) { - super(expectedNumberOfRecords, 0) - this.setHeader(['Date', 'Comment', 'Rating']) - } - - /** - * Generate a string representing a form feedback CSV line record - */ - addLineFromFeedback(feedback: FormFeedbackDto) { - const createdAt = moment(feedback.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A') - - this.addLine([createdAt, feedback.comment || '', feedback.rating]) - } -} diff --git a/src/public/modules/forms/helpers/__tests__/CsvGenerator.spec.ts b/src/public/modules/forms/helpers/__tests__/CsvGenerator.spec.ts deleted file mode 100644 index 878b91c96e..0000000000 --- a/src/public/modules/forms/helpers/__tests__/CsvGenerator.spec.ts +++ /dev/null @@ -1,186 +0,0 @@ -import { stringify } from 'csv-string' - -import { CsvGenerator } from '../CsvGenerator' -import { triggerFileDownload } from '../util' - -const UTF8_BYTE_ORDER_MARK = '\uFEFF' - -jest.mock('../util') -const MockTriggerFileDownload = jest.mocked(triggerFileDownload) - -describe('CsvGenerator', () => { - afterAll(() => { - jest.clearAllMocks() - }) - - describe('Constructor', () => { - it('should initialise the instance properties correctly with defaults if params are not passed to constructor', () => { - // Arrange - const csv = new CsvGenerator() - - // Assert - expect(csv.expectedNumberOfRecords).toEqual(0) - expect(csv.numOfMetaDataRows).toEqual(0) - expect(csv.numOfHeaderRows).toEqual(1) - expect(csv.lastCreatedAt).toEqual(0) - expect(csv.startIdx).toEqual(2) - expect(csv.idx).toEqual(2) - expect(csv.records.length).toEqual(2) - expect(csv.records[0]).toEqual(UTF8_BYTE_ORDER_MARK) - }) - - it('should initialise the instance properties correctly if params are passed to constructor', () => { - // Arrange - const expectedNumberOfRecords = 1 - const numOfMetaDataRows = 2 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - - // Assert - expect(csv.expectedNumberOfRecords).toEqual(expectedNumberOfRecords) - expect(csv.numOfMetaDataRows).toEqual(numOfMetaDataRows) - expect(csv.numOfHeaderRows).toEqual(1) - expect(csv.lastCreatedAt).toEqual(0) - expect(csv.startIdx).toEqual(numOfMetaDataRows + 2) - expect(csv.idx).toEqual(numOfMetaDataRows + 2) - expect(csv.records.length).toEqual( - expectedNumberOfRecords + numOfMetaDataRows + 2, - ) - expect(csv.records[0]).toEqual(UTF8_BYTE_ORDER_MARK) - }) - }) - - describe('addLine', () => { - it('should insert raw data of type string correctly', () => { - // Arrange - const expectedNumberOfRecords = 1 - const numOfMetaDataRows = 0 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - const lineToAdd = ['a', 'b'] - const stringifiedData = stringify(lineToAdd) - - // Act - csv.addLine(lineToAdd) - - // Assert - expect(csv.idx).toEqual(numOfMetaDataRows + 3) // Add 3 because line added - expect(csv.records.length).toEqual( - expectedNumberOfRecords + numOfMetaDataRows + 2, - ) - expect(csv.records[2]).toEqual(stringifiedData) - }) - - it('should insert raw data of type number correctly', () => { - // Arrange - const expectedNumberOfRecords = 1 - const numOfMetaDataRows = 0 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - const lineToAdd = [1, 2] - const stringifiedData = stringify(lineToAdd) - - // Act - csv.addLine(lineToAdd) - - // Assert - expect(csv.idx).toEqual(numOfMetaDataRows + 3) // Add 3 because line added - expect(csv.records.length).toEqual(numOfMetaDataRows + 3) - expect(csv.records[2]).toEqual(stringifiedData) - }) - }) - - describe('setHeader', () => { - it('should set headers correctly', () => { - // Arrange - const expectedNumberOfRecords = 0 - const numOfMetaDataRows = 0 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - const headers = ['field1', 'field2'] - const stringifiedHeaders = stringify(headers) - - // Act - csv.setHeader(headers) - - // Assert - expect(csv.records[1]).toEqual(stringifiedHeaders) - }) - }) - - describe('addMetaData', () => { - it('should set metaData correctly for both string and numbers', () => { - // Arrange - const expectedNumberOfRecords = 1 - const numOfMetaDataRows = 3 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - const metaData = [ - ['metaData1a', 'metaData1b'], - [1, 2], - ['metaData3a', 3], - ] - const stringifiedMetaData = metaData.map((data) => stringify(data)) - - // Act - csv.addMetaData(metaData) - - // Assert - expect(csv.records[1]).toEqual(stringifiedMetaData[0]) - expect(csv.records[2]).toEqual(stringifiedMetaData[1]) - expect(csv.records[3]).toEqual(stringifiedMetaData[2]) - }) - }) - - describe('triggerFileDownload', () => { - it('should call triggerFileDownload with the correct parameters', () => { - // Arrange - const expectedNumberOfRecords = 1 - const numOfMetaDataRows = 0 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - const lineToAdd = [1, 2] - const blob = new Blob(csv.records, { - type: 'text/csv;charset=utf-8', - }) - - // Act - csv.addLine(lineToAdd) - csv.triggerFileDownload('some filename') - - // Assert - expect(MockTriggerFileDownload).toHaveBeenCalledWith( - blob, - 'some filename', - ) - }) - }) - - describe('length', () => { - it('should corrently return length of csv file when header and meta data are empty', () => { - // Arrange - const expectedNumberOfRecords = 1 - const numOfMetaDataRows = 0 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - const lineToAdd = [1, 2] - - // Act - csv.addLine(lineToAdd) - - // Assert - expect(csv.length()).toEqual(expectedNumberOfRecords) - }) - - it('should corrently return length of csv file when header and meta data are present', () => { - // Arrange - const expectedNumberOfRecords = 1 - const numOfMetaDataRows = 1 - const csv = new CsvGenerator(expectedNumberOfRecords, numOfMetaDataRows) - const lineToAdd = [1, 2] - const metaData = [['metaData1a', 'metaData1b']] - const headers = ['field1', 'field2'] - - // Act - csv.addLine(lineToAdd) - csv.setHeader(headers) - csv.addMetaData(metaData) - - // Assert - expect(csv.length()).toEqual(expectedNumberOfRecords) - }) - }) -}) diff --git a/src/public/modules/forms/helpers/__tests__/FeedbackCsvGenerator.spec.ts b/src/public/modules/forms/helpers/__tests__/FeedbackCsvGenerator.spec.ts deleted file mode 100644 index 5e2c73e786..0000000000 --- a/src/public/modules/forms/helpers/__tests__/FeedbackCsvGenerator.spec.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { ObjectId } from 'bson' -import moment from 'moment-timezone' - -import { FormFeedbackDto } from '../../../../../../shared/types/form/form_feedback' -import { DateString } from '../../../../../../shared/types/generic' -import { FeedbackCsvGenerator } from '../FeedbackCsvGenerator' - -describe('FeedbackCsvGenerator', () => { - describe('setHeader', () => { - it('should set headers correctly', () => { - // Arrange - const feedbackCsv = new FeedbackCsvGenerator(1) - - // Assert - expect(feedbackCsv.records[1]).toEqual( - expect.stringContaining('Date,Comment,Rating'), - ) - }) - }) - - describe('addLineFromFeedback', () => { - it('should add line successfully if created and lastmodified dates are provided', () => { - // Arrange - const feedbackCsv = new FeedbackCsvGenerator(1) - const feedback: FormFeedbackDto = { - rating: 3, - comment: 'some comment', - formId: new ObjectId().toHexString(), - created: new Date('2019-11-05T13:12:14').toISOString() as DateString, - lastModified: new Date( - '2019-11-05T13:12:14', - ).toISOString() as DateString, - } - const insertedCreatedDate = moment(feedback.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A') - - const insertedLine = `${insertedCreatedDate},${feedback.comment},${feedback.rating}` - - // Act - feedbackCsv.addLineFromFeedback(feedback) - - //Assert - expect(feedbackCsv.idx).toEqual(3) - expect(feedbackCsv.records[2]).toEqual( - expect.stringContaining(insertedLine), - ) - }) - - it('should add line successfully if comment, created and lastmodified dates are not provided', () => { - // Arrange - const feedbackCsv = new FeedbackCsvGenerator(1) - const feedback: FormFeedbackDto = { - rating: 3, - formId: new ObjectId().toHexString(), - } - const todaysDate = moment().tz('Asia/Singapore').format('DD MMM YYYY') - - // Act - feedbackCsv.addLineFromFeedback(feedback) - - //Assert - expect(feedbackCsv.idx).toEqual(3) - expect(feedbackCsv.records[2]).toEqual( - expect.stringContaining(todaysDate), - ) - }) - - // Testing for no regression in this generator as compared to the one in React. - it('should not add single quote before comment if comment starts with a formula character', () => { - // Arrange - const feedbackCsv = new FeedbackCsvGenerator(1) - const feedback: FormFeedbackDto = { - rating: 3, - comment: '=formula', - formId: new ObjectId().toHexString(), - created: new Date('2019-11-05T13:12:14').toISOString() as DateString, - lastModified: new Date( - '2019-11-05T13:12:14', - ).toISOString() as DateString, - } - const insertedCreatedDate = moment(feedback.created) - .tz('Asia/Singapore') - .format('DD MMM YYYY hh:mm:ss A') - - const insertedLine = `${insertedCreatedDate},${feedback.comment},${feedback.rating}` - - // Act - feedbackCsv.addLineFromFeedback(feedback) - - //Assert - expect(feedbackCsv.idx).toEqual(3) - expect(feedbackCsv.records[2]).toEqual( - expect.stringContaining(insertedLine), - ) - }) - }) -}) diff --git a/src/public/modules/forms/helpers/attachments-map.js b/src/public/modules/forms/helpers/attachments-map.js deleted file mode 100644 index a97c91271c..0000000000 --- a/src/public/modules/forms/helpers/attachments-map.js +++ /dev/null @@ -1,76 +0,0 @@ -const formsg = require('@opengovsg/formsg-sdk')() -const { encode: encodeBase64 } = require('@stablelib/base64') - -/** - * Creates a map of { fieldId: encryptedFile }. - * @param {Object} attachmentsMap Map of { fieldId: unencryptedFile } - * @param {*} publicKey Form public key - * @returns {Object} - */ -function getEncryptedAttachmentsMap(attachmentsMap, publicKey) { - let attachmentPromises = [] - - Object.keys(attachmentsMap).forEach((id) => { - attachmentPromises.push( - new Promise((resolve, reject) => { - const reader = new FileReader() - - reader.onload = function (event) { - const fileContentsView = new Uint8Array(event.target.result) - - const encryptedContentsPromise = formsg.crypto - .encryptFile(fileContentsView, publicKey) - .then((file) => { - file.binary = encodeBase64(file.binary) - return { id, encryptedFile: file } - }) - .catch(reject) - - resolve(encryptedContentsPromise) - } - reader.readAsArrayBuffer(attachmentsMap[id]) - }), - ) - }) - - return Promise.all(attachmentPromises).then((attachmentsArray) => { - let encryptedAttachmentsMap = {} - attachmentsArray.forEach((encryptedAttachment) => { - const { id, encryptedFile } = encryptedAttachment - encryptedAttachmentsMap[id] = { encryptedFile } - }) - - return encryptedAttachmentsMap - }) -} - -/** - * Extracts a map of { fieldId: file } from a list of answered - * form fields. - * @param {Array} formFields Array of all fields in the form - * @returns {Object} - */ -function getAttachmentsMap(formFields) { - const attachmentsMap = {} - formFields.forEach((field) => { - if (fieldHasAttachment(field)) { - attachmentsMap[field._id] = field.file - } - }) - return attachmentsMap -} - -/** - * Returns true if the field has an attachment uploaded. - * @param {Object} field - * @returns {boolean} - */ -function fieldHasAttachment(field) { - return field.fieldType === 'attachment' && field.fieldValue && field.file -} - -module.exports = { - getEncryptedAttachmentsMap, - getAttachmentsMap, - fieldHasAttachment, -} diff --git a/src/public/modules/forms/helpers/byline.js b/src/public/modules/forms/helpers/byline.js deleted file mode 100644 index 22128e855a..0000000000 --- a/src/public/modules/forms/helpers/byline.js +++ /dev/null @@ -1,134 +0,0 @@ -'use strict' - -/** - * NOTICE - * - * This is a modified fork of the node-byline library, available at - * https://github.com/jahewson/node-byline - * - * To improve its performance parsing newline-delimited JSON from the server - * for decrypting form submissions, significant changes have been made: - * - * - The stream is assumed to be ASCII-encoded instead of UTF-8. This works because - * encrypted content is in Base 64 and results in much faster Buffer -> String conversion. - * - * - The line break character is directly assumed to be '\n' to avoid expensive - * regular expressions. Characters such as '\r\n' or other Unicode - * characters will not work. - * - * Last updated 30 Sep 2019 - * Yuanruo Liang - */ - -const stream = require('stream') -const util = require('util') -const timers = require('timers') - -// convenience API -module.exports = function (readStream, options) { - return module.exports.createStream(readStream, options) -} - -// basic API -module.exports.createStream = function (readStream, options) { - if (readStream) { - return createLineStream(readStream, options) - } else { - return new LineStream(options) - } -} - -// deprecated API -module.exports.createLineStream = function (readStream) { - console.warn( - 'WARNING: byline#createLineStream is deprecated and will be removed soon', - ) - return createLineStream(readStream) -} - -function createLineStream(readStream, options) { - if (!readStream) { - throw new Error('expected readStream') - } - if (!readStream.readable) { - throw new Error('readStream must be readable') - } - let ls = new LineStream(options) - readStream.pipe(ls) - return ls -} - -// -// using the new node v0.10 "streams2" API -// - -module.exports.LineStream = LineStream - -function LineStream(options) { - stream.Transform.call(this, options) - options = options || {} - - // use objectMode to stop the output from being buffered - // which re-concatanates the lines, just without newlines. - this._readableState.objectMode = true - this._lineBuffer = [] - this._keepEmptyLines = options.keepEmptyLines || false - - // take the source's encoding if we don't have one - let self = this - this.on('pipe', function (src) { - if (!self.encoding) { - // but we can't do this for old-style streams - if (src instanceof stream.Readable) { - self.encoding = src._readableState.encoding - } - } - }) -} -util.inherits(LineStream, stream.Transform) - -LineStream.prototype._transform = function (chunk, encoding, done) { - // decode binary chunks as ascii - encoding = 'ascii' - chunk = chunk.toString(encoding) - - this._chunkEncoding = encoding - - let lines = chunk.split('\n') - - if (this._lineBuffer.length > 0) { - this._lineBuffer[this._lineBuffer.length - 1] += lines[0] - lines.shift() - } - - this._lineBuffer = this._lineBuffer.concat(lines) - this._pushBuffer(encoding, 1, done) -} - -LineStream.prototype._pushBuffer = function (encoding, keep, done) { - // always buffer the last (possibly partial) line - while (this._lineBuffer.length > keep) { - let line = this._lineBuffer.shift() - // skip empty lines - if (this._keepEmptyLines || line.length > 0) { - if (!this.push(this._reencode(line, encoding))) { - // when the high-water mark is reached, defer pushes until the next tick - let self = this - timers.setImmediate(function () { - self._pushBuffer(encoding, keep, done) - }) - return - } - } - } - done() -} - -LineStream.prototype._flush = function (done) { - this._pushBuffer(this._chunkEncoding, 0, done) -} - -// see Readable::push -LineStream.prototype._reencode = function (line, _chunkEncoding) { - return line -} diff --git a/src/public/modules/forms/helpers/csv-response-classes/ArrayAnswerResponse.class.ts b/src/public/modules/forms/helpers/csv-response-classes/ArrayAnswerResponse.class.ts deleted file mode 100644 index 47a514ff17..0000000000 --- a/src/public/modules/forms/helpers/csv-response-classes/ArrayAnswerResponse.class.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { ArrayResponse } from '../../../../types/response' - -import { Response } from './Response.class' - -export class ArrayAnswerResponse extends Response { - private response: ArrayResponse - - constructor(responseData: ArrayResponse) { - super(responseData) - this.response = responseData - } - - getAnswer(): string { - return this.response.answerArray.join(';') - } - - get numCols(): number { - return 1 - } -} diff --git a/src/public/modules/forms/helpers/csv-response-classes/Response.class.ts b/src/public/modules/forms/helpers/csv-response-classes/Response.class.ts deleted file mode 100644 index c9390c9723..0000000000 --- a/src/public/modules/forms/helpers/csv-response-classes/Response.class.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { DisplayedResponseWithoutAnswer } from '../../../../types/response' - -export abstract class Response { - private data: DisplayedResponseWithoutAnswer - - constructor(responseData: DisplayedResponseWithoutAnswer) { - this.data = responseData - } - - get id(): string { - return this.data._id - } - - /** - * Gets the CSV header. - * @returns {string} - */ - get question(): string { - return this.data.question - } - - get isHeader(): boolean { - return this.data.isHeader ?? false - } - - abstract get numCols(): number - - abstract getAnswer(colIndex?: number): string -} diff --git a/src/public/modules/forms/helpers/csv-response-classes/SingleAnswerResponse.class.ts b/src/public/modules/forms/helpers/csv-response-classes/SingleAnswerResponse.class.ts deleted file mode 100644 index 8c208475dc..0000000000 --- a/src/public/modules/forms/helpers/csv-response-classes/SingleAnswerResponse.class.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { SingleResponse } from '../../../../types/response' - -import { Response } from './Response.class' - -export class SingleAnswerResponse extends Response { - private response: SingleResponse - - constructor(responseData: SingleResponse) { - super(responseData) - this.response = responseData - } - - getAnswer(): string { - return this.response.answer - } - - get numCols(): number { - return 1 - } -} diff --git a/src/public/modules/forms/helpers/csv-response-classes/TableResponse.class.ts b/src/public/modules/forms/helpers/csv-response-classes/TableResponse.class.ts deleted file mode 100644 index 5addca656a..0000000000 --- a/src/public/modules/forms/helpers/csv-response-classes/TableResponse.class.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { NestedResponse } from '../../../../types/response' - -import { Response } from './Response.class' - -export class TableResponse extends Response { - private response: NestedResponse - - constructor(responseData: NestedResponse) { - super(responseData) - this.response = responseData - } - - getAnswer(colIndex: number): string { - // Leave cell empty if number of rows is fewer than the index - if (colIndex >= this.response.answerArray.length) { - return '' - } - return this.response.answerArray[colIndex].join(';') - } - - get numCols(): number { - return this.response.answerArray.length - } -} diff --git a/src/public/modules/forms/helpers/csv-response-classes/index.ts b/src/public/modules/forms/helpers/csv-response-classes/index.ts deleted file mode 100644 index b3ac7f159c..0000000000 --- a/src/public/modules/forms/helpers/csv-response-classes/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { SingleAnswerResponse } from './SingleAnswerResponse.class' -export { ArrayAnswerResponse } from './ArrayAnswerResponse.class' -export { TableResponse } from './TableResponse.class' -export { Response } from './Response.class' diff --git a/src/public/modules/forms/helpers/decryption.worker.js b/src/public/modules/forms/helpers/decryption.worker.js deleted file mode 100644 index 9f1810f52b..0000000000 --- a/src/public/modules/forms/helpers/decryption.worker.js +++ /dev/null @@ -1,256 +0,0 @@ -require('core-js/stable') -require('regenerator-runtime/runtime') - -const formsgPackage = require('@opengovsg/formsg-sdk') -const { cloneDeep } = require('lodash') -const { decode: decodeBase64 } = require('@stablelib/base64') -const JSZip = require('jszip') -const moment = require('moment-timezone') -const { default: PQueue } = require('p-queue') - -const { - processDecryptedContent, -} = require('../helpers/process-decrypted-content') -const { - TRANSACTION_EXPIRE_AFTER_SECONDS, -} = require('../../../../../shared/utils/verification') - -let formsgSdk -const queue = new PQueue({ concurrency: 1 }) - -function initFormSg(formsgSdkMode) { - if (!formsgSdkMode) { - throw new Error('An init message must contain a `formsgSdkMode` parameter') - } - formsgSdk = formsgPackage({ - mode: formsgSdkMode, - verificationOptions: { - transactionExpiry: TRANSACTION_EXPIRE_AFTER_SECONDS, - }, - }) -} - -function downloadAndDecryptAttachment(url, secretKey) { - return fetch(url) - .then((response) => response.json()) - .then((data) => { - data.encryptedFile.binary = decodeBase64(data.encryptedFile.binary) - return formsgSdk.crypto.decryptFile(secretKey, data.encryptedFile) - }) -} - -function downloadAndDecryptAttachmentsAsZip(attachmentDownloadUrls, secretKey) { - var zip = new JSZip() - let downloadPromises = [] - for (const [questionNum, metadata] of attachmentDownloadUrls) { - downloadPromises.push( - downloadAndDecryptAttachment(metadata.url, secretKey).then( - (bytesArray) => { - zip.file( - 'Question ' + questionNum + ' - ' + metadata.filename, - bytesArray, - ) - }, - ), - ) - } - return Promise.all(downloadPromises).then(() => { - return zip.generateAsync({ type: 'blob' }) - }) -} - -/** - * Verifies that the signatures for every field that has a corresponding signature are valid. - * If any one of them is invalid, append NOT VERIFIED to that record. - * We do not retrieve the form to check if fields must be verifiable. Thus if a field is verifiable but does not have a signature, - * we would not verify it here. - * @param {Array} decryptedSubmission Array of JSON objects representing questions and answers - * @param {String} created Database timestamp of submission - * @returns {Boolean} - */ -function verifySignature(decryptedSubmission, created) { - let signatureFields = decryptedSubmission.filter((field) => field.signature) - if (signatureFields.length === 0) return true - const verified = signatureFields.map((field) => { - const { signature: signatureString, _id: fieldId, answer } = field - try { - return formsgSdk.verification.authenticate({ - signatureString, - submissionCreatedAt: Date.parse(created), - fieldId, - answer, - }) - } catch (error) { - return false - } - }) - return verified.every((v) => v) -} - -/** @class CsvRecord represents the CSV data to be passed back, along with helper functions */ -class CsvRecord { - /** - * Creates an instance of CsvRecord - * - * @constructor - * @param {string} id The ID of the submission - * @param {Moment} created The time of submission - * @param {string} status The status of the submission decryption/download process - */ - constructor(id, created, status) { - this.id = id - this.created = created - this.status = status - - /** @private */ this._statusMessage = status - /** @private */ this._record = [] - } - - /** - * Sets the decryption/download status - * - * @param {string} status A status code indicating the decryption success to be consumed by submissions.client.factory.js - * @param {string} msg A human readable status message to be presented as part of the CSV download - */ - setStatus(status, msg) { - this.status = status - this._statusMessage = msg - } - - /** - * Sets the ZIP attachment blob to be downloaded - * - * @param {Blob} blob A blob containing a ZIP file of all the submission attachments downloaded - */ - setDownloadBlob(blob) { - this.downloadBlob = blob - } - - /** - * Sets the decrypted CSV record - * - * @param {Array} record The decrypted submission record - */ - setRecord(record) { - this._record = record - } - - /** - * Materializes the `submissionData` field - * - * This function should be called before the CsvRecord is passed back using `postMessage`. - * Since `postMessage` does not support code being passed back to the main thread, the - * `CsvRecord` received will only contain simple fields (e.g. `created`, `status`, etc...). - * - * This function creates a `submissionData` field in the object containing the final - * answers to be added to the CSV file. This `submissionData` field will be passed back - * using `postMessage` since it does not contain code. - */ - materializeSubmissionData() { - let downloadStatus = { - _id: '000000000000000000000000', - fieldType: 'textfield', - question: 'Download Status', - answer: this._statusMessage, - questionNumber: 1000000, - } - let output = cloneDeep(this._record) - output.unshift(downloadStatus) - - this.submissionData = { - created: this.created, - submissionId: this.id, - record: output, - } - } -} - -/** - * Decrypts given data into a {@link CsvRecord} and posts the result back to the - * main thread. - * @param {{line: string, secretKey: string}} data The data to decrypt into a csvRecord. - */ -async function decryptIntoCsv(data) { - if (!formsgSdk) { - throw new Error( - 'An init message containing the node environment must first be passed in before any other action', - ) - } - - const { line, secretKey, downloadAttachments } = data - - let submission - let csvRecord - let attachmentDownloadUrls = new Map() - let downloadBlob - - try { - submission = JSON.parse(line) - csvRecord = new CsvRecord(submission._id, submission.created, 'UNKNOWN') - try { - const decryptedSubmission = processDecryptedContent( - formsgSdk.crypto.decrypt(secretKey, { - encryptedContent: submission.encryptedContent, - verifiedContent: submission.verifiedContent, - version: submission.version, - }), - ) - - if (verifySignature(decryptedSubmission, submission.created)) { - csvRecord.setStatus('OK', 'Success') - csvRecord.setRecord(decryptedSubmission) - } else { - csvRecord.setStatus('UNVERIFIED', 'Unverified') - } - if (downloadAttachments) { - let questionCount = 0 - - decryptedSubmission.forEach((field) => { - // Populate question number - if (field.fieldType !== 'section') { - field.questionNumber = ++questionCount - } - // Populate S3 presigned URL for attachments - if (submission.attachmentMetadata[field._id]) { - attachmentDownloadUrls.set(questionCount, { - url: submission.attachmentMetadata[field._id], - filename: field.answer, - }) - } - }) - - try { - downloadBlob = await queue.add(() => - downloadAndDecryptAttachmentsAsZip( - attachmentDownloadUrls, - secretKey, - ), - ) - csvRecord.setStatus('OK', 'Success (with Downloaded Attachment)') - csvRecord.setDownloadBlob(downloadBlob) - } catch (error) { - csvRecord.setStatus('ATTACHMENT_ERROR', 'Attachment Download Error') - } - } - } catch (error) { - csvRecord.setStatus('ERROR', 'Decryption Error') - } - } catch (err) { - csvRecord = new CsvRecord( - 'ERROR', - moment().tz('Asia/Singapore').format('DD MMM YYYY hh:mm:ss A'), - 'ERROR', - ) - csvRecord.setStatus('ERROR', 'Error') - } - csvRecord.materializeSubmissionData() - self.postMessage({ csvRecord }) -} - -self.addEventListener('message', ({ data }) => { - if (data.init) { - return initFormSg(data.formsgSdkMode) - } else { - return decryptIntoCsv(data) - } -}) diff --git a/src/public/modules/forms/helpers/field-factory.js b/src/public/modules/forms/helpers/field-factory.js deleted file mode 100644 index 110d8afc5f..0000000000 --- a/src/public/modules/forms/helpers/field-factory.js +++ /dev/null @@ -1,92 +0,0 @@ -const { - AttachmentField, - CheckboxField, - DateField, - DecimalField, - DropdownField, - EmailField, - HeaderField, - MobileField, - HomeNoField, - NumberField, - NoAnswerField, - RadioField, - RatingField, - SingleAnswerField, - TableField, - TextAreaField, - TextField, -} = require('../viewmodels/Fields') -const { - types: basicTypes, -} = require('../../../../../shared/constants/field/basic') - -const createFieldFromData = (fieldData) => { - const fieldClass = getClass(fieldData.fieldType) - return new fieldClass(fieldData) -} - -const createDefaultBasicField = (fieldType) => { - const name = getFieldName(fieldType) - const fieldData = { - fieldName: name, - title: name, - fieldType, - } - return createFieldFromData(fieldData) -} - -const getFieldName = (fieldType) => { - const field = basicTypes.find((f) => f.name === fieldType) - if (field) return field.value - return undefined -} - -const getClass = (fieldType) => { - switch (fieldType) { - case 'attachment': - return AttachmentField - case 'checkbox': - return CheckboxField - case 'date': - return DateField - case 'decimal': - return DecimalField - case 'dropdown': - return DropdownField - case 'email': - return EmailField - case 'homeno': - return HomeNoField - case 'mobile': - return MobileField - case 'number': - return NumberField - case 'radiobutton': - return RadioField - case 'rating': - return RatingField - case 'section': - return HeaderField - case 'table': - return TableField - case 'textarea': - return TextAreaField - case 'textfield': - return TextField - case 'nric': - case 'uen': - case 'yes_no': - return SingleAnswerField - case 'image': - case 'statement': - return NoAnswerField - default: - throw new Error('Invalid fieldtype passed to createFieldFromData.') - } -} - -module.exports = { - createFieldFromData, - createDefaultBasicField, -} diff --git a/src/public/modules/forms/helpers/logo.js b/src/public/modules/forms/helpers/logo.js deleted file mode 100644 index 7c01cd53f5..0000000000 --- a/src/public/modules/forms/helpers/logo.js +++ /dev/null @@ -1,37 +0,0 @@ -const get = require('lodash/get') - -const { FormLogoState } = require('../../../../../shared/types') - -/** - * Function used to decide how to obtain the form logo. - * @param {Object} myform form object - * @returns {String} Form logo URL - */ -function getFormLogo(myform) { - const logo = get(myform, 'startPage.logo', null) - if (logo) { - switch (logo.state) { - case FormLogoState.None: - return '' - case FormLogoState.Default: - return myform.admin.agency.logo - case FormLogoState.Custom: - if (logo.fileId) { - return `${window.logoBucketUrl}/${logo.fileId}` - } else { - // Occurs when custom radio button is selected, but logo is not uploaded yet - return '' - } - default: - console.error( - `logo is in an invalid state. Only NONE, DEFAULT and CUSTOM are allowed but state is ${logo.state} for form ${myform._id}`, - ) - } - } else { - return myform.admin.agency.logo - } -} - -module.exports = { - getFormLogo, -} diff --git a/src/public/modules/forms/helpers/ndjsonStream.ts b/src/public/modules/forms/helpers/ndjsonStream.ts deleted file mode 100644 index 829cb3c91c..0000000000 --- a/src/public/modules/forms/helpers/ndjsonStream.ts +++ /dev/null @@ -1,73 +0,0 @@ -// Modified fork of https://github.com/canjs/can-ndjson-stream to enqueue -// the string immediately without a JSON.parse() step, as the stream payload -// is to be decrypted by the decryption worker. - -// Note that this code assumes a polyfill of TextDecoder is available to run in IE11. - -export const ndjsonStream = ( - response: ReadableStream, -): ReadableStream => { - // For cancellation - let maybeReader: ReadableStreamDefaultReader | undefined - let shouldCancel = false - return new ReadableStream({ - start: function (controller) { - const reader = response.getReader() - maybeReader = reader - const decoder = new TextDecoder() - let data_buf = '' - - return reader - .read() - .then(function processResult(result): Promise | undefined | void { - if (result.done && shouldCancel) { - return - } - - if (result.done) { - data_buf = data_buf.trim() - if (data_buf.length !== 0) { - try { - controller.enqueue(data_buf) - } catch (e) { - controller.error(e) - return - } - } - controller.close() - return - } - - // Read the input in as a stream and split by newline and trim - data_buf += decoder.decode(result.value, { stream: true }) - const lines = data_buf.split('\n') - - // Reads in every line BUT the last - // Trims the line and queues it in the controller if there is content in the line - for (let i = 0; i < lines.length - 1; ++i) { - const l = lines[i].trim() - if (l.length > 0) { - try { - controller.enqueue(l) - } catch (e) { - controller.error(e) - shouldCancel = true - void reader.cancel() - return - } - } - } - data_buf = lines[lines.length - 1] - - return reader.read().then(processResult) - }) - }, - cancel: function (reason) { - console.log('Cancel registered due to ', reason) - shouldCancel = true - if (maybeReader) { - void maybeReader.cancel() - } - }, - }) -} diff --git a/src/public/modules/forms/helpers/process-decrypted-content.ts b/src/public/modules/forms/helpers/process-decrypted-content.ts deleted file mode 100644 index 02226695c8..0000000000 --- a/src/public/modules/forms/helpers/process-decrypted-content.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { - DecryptedContent, - FormField as VerifiedFormField, -} from '@opengovsg/formsg-sdk/dist/types' -import has from 'lodash/has' - -import { BasicField } from '../../../../../shared/types' -import { - CURRENT_VERIFIED_FIELDS, - VerifiedKeys, -} from '../../../../../shared/utils/verified-content' -import { SgidFieldTitle, SPCPFieldTitle } from '../../../../types' - -/** - * Returns a response matching the given type containing the given value. - * @param type the field type to match - * @param value the value to insert into the response to be returned - * @returns the desired response object if type is valid. Else returns null. - */ -const getResponseFromVerifiedField = ( - type: VerifiedKeys, - value: string, -): VerifiedFormField | null => { - switch (type) { - case VerifiedKeys.SpUinFin: - return { - question: SPCPFieldTitle.SpNric, - fieldType: BasicField.Nric, - answer: value, - // Just a unique identifier for CSV header uniqueness - _id: SPCPFieldTitle.SpNric, - } - - case VerifiedKeys.CpUen: - return { - question: SPCPFieldTitle.CpUen, - fieldType: BasicField.ShortText, - answer: value, - _id: SPCPFieldTitle.CpUen, - } - - case VerifiedKeys.CpUid: - return { - question: SPCPFieldTitle.CpUid, - fieldType: BasicField.Nric, - answer: value, - _id: SPCPFieldTitle.CpUid, - } - case VerifiedKeys.SgidUinFin: - return { - question: SgidFieldTitle.SgidNric, - fieldType: 'nric', - answer: value, - // Just a unique identifier for CSV header uniqueness - _id: SgidFieldTitle.SgidNric, - } - default: - return null - } -} - -/** - * Converts a decrypted verified object into an array with the same shape as the - * current decrypted content to be concatenated with the decrypted content. - * NOTE: This function assumes verifiedObj is an object with simple string - * key-value pairs. - * @param verifiedObj the object to convert - * @returns the converted array. - */ -const convertToResponseArray = ( - verifiedObj: Record, -): VerifiedFormField[] => { - return CURRENT_VERIFIED_FIELDS.filter((fieldType) => - has(verifiedObj, fieldType), - ) - .map((fieldType) => - getResponseFromVerifiedField(fieldType, verifiedObj[fieldType]), - ) - .filter((field): field is VerifiedFormField => { - return !!field - }) -} - -/** - * Processes the decrypted content containing the previously encrypted responses - * and verified content, and combines them into a single response array. - * @param decrypted.responses the previously encrypted responses content - * @param decrypted.verified the previously encrypted verified content,if it exists - * @returns the processed content - */ -export const processDecryptedContent = ( - decrypted: DecryptedContent, -): VerifiedFormField[] => { - const { responses: displayedContent, verified } = decrypted - // Convert decrypted content into displayable object. - - return verified - ? displayedContent.concat(convertToResponseArray(verified)) - : displayedContent -} diff --git a/src/public/modules/forms/helpers/response-factory.ts b/src/public/modules/forms/helpers/response-factory.ts deleted file mode 100644 index b010f7467e..0000000000 --- a/src/public/modules/forms/helpers/response-factory.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { BasicField } from '../../../../../shared/types/field' -import { hasProp } from '../../../../../shared/utils/has-prop' -import { - ArrayResponse, - DisplayedResponseWithoutAnswer, - NestedResponse, - SingleResponse, -} from '../../../types/response' - -import { - ArrayAnswerResponse, - Response, - SingleAnswerResponse, - TableResponse, -} from './csv-response-classes' - -/** - * Converts a field record into a custom response instance - * @param fieldRecordData Field record - * @returns Response instance - * @throws Error when data does not fit any known response type - */ -export const getResponseInstance = ( - fieldRecordData: DisplayedResponseWithoutAnswer, -): Response => { - if ( - isNestedResponse(fieldRecordData) && - fieldRecordData.fieldType === BasicField.Table - ) { - return new TableResponse(fieldRecordData) - } else if ( - isArrayResponse(fieldRecordData) && - fieldRecordData.fieldType === BasicField.Checkbox - ) { - return new ArrayAnswerResponse(fieldRecordData) - } else if (isSingleResponse(fieldRecordData)) { - return new SingleAnswerResponse(fieldRecordData) - } else { - // eslint-disable-next-line typesafe/no-throw-sync-func - throw new Error('Response did not match any known type') - } -} - -const isNestedResponse = ( - response: DisplayedResponseWithoutAnswer, -): response is NestedResponse => { - return ( - hasAnswerArray(response) && - response.answerArray.every( - (arr) => - Array.isArray(arr) && - arr.every((value: unknown) => typeof value === 'string'), - ) - ) -} - -const isArrayResponse = ( - response: DisplayedResponseWithoutAnswer, -): response is ArrayResponse => { - return ( - hasAnswerArray(response) && - response.answerArray.every((value) => typeof value === 'string') - ) -} - -const isSingleResponse = ( - response: DisplayedResponseWithoutAnswer, -): response is SingleResponse => { - return hasProp(response, 'answer') && typeof response.answer === 'string' -} - -type AnswerArrayObject = { - answerArray: Array -} - -const hasAnswerArray = (response: unknown): response is AnswerArrayObject => { - return hasProp(response, 'answerArray') && Array.isArray(response.answerArray) -} diff --git a/src/public/modules/forms/helpers/util.js b/src/public/modules/forms/helpers/util.js deleted file mode 100644 index 10c9ed839a..0000000000 --- a/src/public/modules/forms/helpers/util.js +++ /dev/null @@ -1,21 +0,0 @@ -const FileSaver = require('file-saver') -const fixParamsToUrl = function (dict, url) { - Object.keys(dict).forEach(function (key) { - url = url.replace(':' + key, dict[key]) - }) - return url -} - -/** - * Triggers a file download to disk. - * @param {Blob} The file contents - * @param {String} The filename - */ -const triggerFileDownload = function (blob, filename) { - FileSaver.saveAs(blob, filename) -} - -module.exports = { - fixParamsToUrl, - triggerFileDownload, -} diff --git a/src/public/modules/forms/services/attachment.client.service.js b/src/public/modules/forms/services/attachment.client.service.js deleted file mode 100644 index 91368295ad..0000000000 --- a/src/public/modules/forms/services/attachment.client.service.js +++ /dev/null @@ -1,13 +0,0 @@ -const { zipWith } = require('lodash') - -angular.module('forms').service('Attachment', [Attachment]) - -function Attachment() { - this.sizes = ['1', '2', '3', '4', '7', '10', '20'] - - this.descriptions = ['1 MB', '2 MB', '3 MB', '4 MB', '7 MB', '10 MB', '20 MB'] - - this.dropdown = zipWith(this.descriptions, this.sizes, (desc, size) => { - return { name: desc, value: size } - }) -} diff --git a/src/public/modules/forms/services/captcha.client.service.js b/src/public/modules/forms/services/captcha.client.service.js deleted file mode 100644 index 476603d08f..0000000000 --- a/src/public/modules/forms/services/captcha.client.service.js +++ /dev/null @@ -1,96 +0,0 @@ -'use strict' - -angular - .module('forms') - .service('captchaService', [ - '$window', - 'vcRecaptchaService', - 'Toastr', - 'GTag', - captchaService, - ]) - -function captchaService($window, vcRecaptchaService, Toastr, GTag) { - /** - * Captcha public key associated with app - */ - this.publicKey = $window.captchaPublicKey - - /** - * Captcha response if captcha answered successfully - */ - this.response = null - - /** - * Widget Id of captcha on this particular client - */ - this.widgetId = null - - /** - * Set widgetId - * @param {String} widgetId - */ - this.setWidget = function (widgetId) { - this.widgetId = widgetId - // With multiple captchas on the page, you will need to pass the widgetId - // of the captcha you want to reset to the reload method. - // Multiple captchas may occur if the formId after the hash is replaced - // without reloading the page - vcRecaptchaService.reload(this.widgetId) - } - - /** - * Set response and call success callback function - * @param {String} response - * @param {Function} cb - */ - this.onSuccess = function (response, cb) { - this.response = response - cb() - } - - /** - * Show error toast and log error with Google Analytics - * @param {*} form the form this error occurred for - */ - this.onError = function (form) { - Toastr.error( - 'Error: Cannot connect to reCAPTCHA. Please check your internet connectivity or try submitting on another device.', - ) - GTag.reCaptchaOnError(form) - } - - /** - * Expire captcha - */ - this.expire = function () { - vcRecaptchaService.reload(this.widgetId) - this.response = null - } - - /** - * Check if response has been set - */ - this.isValid = function () { - if (this.response) { - return true - } else { - return false - } - } - - /** - * Manually execute CAPTCHA verification. - */ - this.challenge = function () { - try { - vcRecaptchaService.execute(this.widgetId) - } catch (err) { - // If https://www.google.com/recaptcha/api.js?onload=vcRecaptchaApiLoaded&render=explicit - // could not loaded. vcRecaptchaService throws an error. - Toastr.error( - 'Please ensure you have internet connectivity for CAPTCHA to load on this form.', - ) - } - } -} diff --git a/src/public/modules/forms/services/form-api.client.factory.js b/src/public/modules/forms/services/form-api.client.factory.js deleted file mode 100644 index 9f6ef1c0fd..0000000000 --- a/src/public/modules/forms/services/form-api.client.factory.js +++ /dev/null @@ -1,201 +0,0 @@ -'use strict' -const { get } = require('lodash') -const Form = require('../viewmodels/Form.class') -const CreateFormService = require('../../../services/CreateFormService') -const UpdateFormService = require('../../../services/UpdateFormService') -const ExamplesService = require('../../../services/ExamplesService') -const AdminViewFormService = require('../../../services/AdminViewFormService') -const PublicFormService = require('../../../services/PublicFormService') - -// Forms service used for communicating with the forms REST endpoints -angular - .module('forms') - .factory('FormApi', ['FormErrorService', 'FormFields', FormApi]) - -/** - * Service for making API calls to /:formId/:accessMode endpoint, which is used - * for all CRUD operations for forms. - */ -function FormApi(FormErrorService, FormFields) { - /** - * Handles data passed into API calls. In charge of stripping of - * MyInfo data when saving forms to the database. - * @param {*} input API service data input - * @returns Transformed input - */ - const stripMyInfo = (input) => { - FormFields.removeMyInfoFromForm(input) - return input - } - - /** - * Handles data returned from API calls. Responsibilities include: - * 1) Injecting MyInfo data when forms are received from the database. - * 2) Converting plain form objects to smart Form class instances before returning - * them to controllers. - * @param {*} data Data returned from API call - * @returns Transformed data - */ - const injectMyInfo = (data) => { - // The backend returns different shapes for different request types. For GET - // requests, it returns an object with a form attribute containing - // all the form data; for PUT requests, it returns an object with - // all the form data at the top level. We need to ensure that the postprocessing - // is done in both cases. - if (get(data, 'form.form_fields')) { - FormFields.injectMyInfoIntoForm(data.form) - // Convert plain form object to smart Form instance - data.form = new Form(data.form) - } else if (get(data, 'form_fields')) { - FormFields.injectMyInfoIntoForm(data) - data = new Form(data) - } - return data - } - - /** - * Handles error returned from API calls. In charge of redirecting users using FormErrorService - * if redirectOnError is true. - * @param {Error} err Error returned from API calls - * @param {{redirectOnError: boolean, errorTargetState: string }} errorParams redirectOnError specifies - * whether to use FormErrorService to redirect to errorTargetState when an error is encountered. - * If redirectOnError is true, this is the redirect state which will be passed to FormErrorService - */ - const handleError = (err, errorParams) => { - const { redirectOnError, errorTargetState, targetFormId } = errorParams - if (redirectOnError) { - FormErrorService.redirect({ - response: err.response, - targetState: errorTargetState, - targetFormId, - }) - } else { - throw err // just pass error on - } - } - - const generateService = ( - service, - handleInput, - handleResponse, - errorParams, - ...inputs - ) => { - const input = handleInput - ? inputs.map((input) => handleInput(input)) - : inputs - return service(...input) - .then((data) => { - return handleResponse ? handleResponse(data) : data - }) - .catch((err) => handleError(err, errorParams)) - } - - return { - getDashboardView: () => - generateService(AdminViewFormService.getDashboardView, null, null, { - redirectOnError: true, - errorTargetState: 'listForms', - }), - getAdminForm: (formId) => - generateService( - AdminViewFormService.getAdminFormView, - null, - injectMyInfo, - { - redirectOnError: true, - errorTargetState: 'viewForm', - targetFormId: formId, - }, - formId, - ), - getPublicForm: (formId) => - generateService( - PublicFormService.getPublicFormView, - null, - injectMyInfo, - { redirectOnError: true, targetFormId: formId }, - formId, - ), - updateForm: (formId, update) => - generateService( - UpdateFormService.updateForm, - stripMyInfo, - injectMyInfo, - { redirectOnError: false }, - formId, - update, - ), - duplicateForm: (formId, duplicateFormBody) => - generateService( - CreateFormService.duplicateForm, - null, - injectMyInfo, - { redirectOnError: false }, - formId, - duplicateFormBody, - ), - deleteForm: (formId) => - generateService( - UpdateFormService.deleteForm, - null, - null, - { redirectOnError: false }, - formId, - ), - createForm: (newForm) => - generateService( - CreateFormService.createForm, - stripMyInfo, - injectMyInfo, - { redirectOnError: true, errorTargetState: 'listForms' }, - newForm, - ), - queryTemplate: (formId) => - generateService( - ExamplesService.queryTemplate, - null, - injectMyInfo, - { - redirectOnError: true, - errorTargetState: 'templateForm', - targetFormId: formId, - }, - formId, - ), - previewForm: (formId) => - generateService( - AdminViewFormService.previewForm, - null, - injectMyInfo, - { - redirectOnError: true, - errorTargetState: 'previewForm', - targetFormId: formId, - }, - formId, - ), - useTemplate: (formId, overrideParams) => - generateService( - ExamplesService.useTemplate, - null, - null, - { - redirectOnError: true, - errorTargetState: 'useTemplate', - targetFormId: formId, - }, - formId, - overrideParams, - ), - transferOwner: (formId, newOwner) => - generateService( - UpdateFormService.transferOwner, - null, - injectMyInfo, - { redirectOnError: false }, - formId, - newOwner, - ), - } -} diff --git a/src/public/modules/forms/services/form-error.client.factory.js b/src/public/modules/forms/services/form-error.client.factory.js deleted file mode 100644 index a3898e01b3..0000000000 --- a/src/public/modules/forms/services/form-error.client.factory.js +++ /dev/null @@ -1,51 +0,0 @@ -// Forms service used to redirect users to the error page, based on the response received - -const HttpStatus = require('http-status-codes') - -angular - .module('forms') - .factory('FormErrorService', ['$state', FormErrorService]) - -function FormErrorService($state) { - return { - /** - * Take an error response, and redirect the user to the error page with the relevant error message, or to sign in. - * If the response error code is anything other than 401, the user is redirected to the error page. - * If the error code is 401 and targetState is provided, the user is redirected to the login page instead, - * after which they are sent back to the page they initially intended to visit. - * @param {object} response - The response object - * @param {number} [response.status] - The status code of the error - * @param {string} [response.data.message] - The error message to be shown on the error page - * @param {boolean} [response.data.isPageFound] - If a page was actually found, but returned a 404. - * @param {string} [response.data.formTitle] - The title of the form that triggered the error - * @param {string} [targetState] - If this redirect was called due to the user not being logged in (401 error), - * pass this as the targetState to the sign-in page's controller - * @param {string} targetFormId - The formId of the form which gave rise to this error. If the target - * state requires a formId, this should be provided - */ - redirect: function ({ response, targetState, targetFormId }) { - // Attempt to login to resolve the authentication error, if there was a targetState provided - if (response.status === HttpStatus.UNAUTHORIZED && targetState) { - return $state.go( - 'signin', - { targetState, targetFormId }, - { location: 'replace' }, - ) - } - - return $state.go( - 'error', - response.data - ? { - errorType: response.status, - errorMessage: response.data.message, - isPageFound: response.data.isPageFound, - targetFormId, - targetFormTitle: response.data.formTitle, - } - : null, - { location: 'replace' }, - ) - }, - } -} diff --git a/src/public/modules/forms/services/form-fields.client.service.js b/src/public/modules/forms/services/form-fields.client.service.js deleted file mode 100644 index d5729057b2..0000000000 --- a/src/public/modules/forms/services/form-fields.client.service.js +++ /dev/null @@ -1,221 +0,0 @@ -'use strict' - -const get = require('lodash/get') - -const { - types: basicTypes, -} = require('../../../../../shared/constants/field/basic') -const { - types: myInfoTypes, -} = require('../../../../../shared/constants/field/myinfo') - -angular.module('forms').service('FormFields', [FormFields]) - -function FormFields() { - this.basicTypes = basicTypes - this.myInfoTypes = myInfoTypes - this.customValFields = ['textarea', 'textfield', 'number'] - - /** - * Whether a field uses custom validation options. - * @param {string} fieldType - */ - this.isCustomValField = (fieldType) => { - return this.customValFields.includes(fieldType) - } - - /** - * Extract the representative "title" of a form field object. For statement fields (write-ups), - * the "title" is the "description", but for all other fields, the "title" is "title". - * @param {Object} field A form field object - * @returns {String} The "title" of the form field - */ - this.getFieldTitle = (field) => { - if (field && field.fieldType) { - switch (field.fieldType) { - case 'statement': - return field.description - case 'image': - return field.name - default: - return field.title - } - } - return null - } - - /** - * Create a new MyInfo field object of the specified type (attribute) - * @param {String} myInfoAttr Type (attribute) of MyInfo field to - * create - * @return {Object} A MyInfo field object - */ - this.createMyInfoField = (myInfoAttr) => { - let newMyInfoField = { - myInfo: { - attr: myInfoAttr, - }, - fieldValue: '', - required: true, - disabled: false, - ValidationOptions: { - customMax: null, - customMin: null, - customVal: null, - selectedValidation: null, - }, - } - this.injectMyInfoFieldInfo(newMyInfoField) - return newMyInfoField - } - - /** - * Injects MyInfo details into a single field. - * @param {Object} field An element in form.form_fields array - * @return {undefined} Update is done in-place. - */ - this.injectMyInfoFieldInfo = (field) => { - if (field.myInfo && field.myInfo.attr) { - let [myInfoField] = this.myInfoTypes.filter( - (x) => x.name === field.myInfo.attr, - ) - - // Common information for all MyInfo fields - field.title = myInfoField.value - field.fieldName = myInfoField.value - field.fieldType = myInfoField.fieldType - field.ValidationOptions = myInfoField.ValidationOptions - field.myInfo.source = myInfoField.source - field.myInfo.description = myInfoField.description - field.myInfo.verified = myInfoField.verified - - // fieldOptions for categorical fields - if (['dropdown', 'checkbox', 'radiobutton'].includes(field.fieldType)) { - field.fieldOptions = myInfoField.fieldOptions - field.loadProgress = 0 - } - } - } - - /** - * Remove MyInfo details from a single field. - * @param {Object} field An element in form.form_fields array - * @return {undefined} Update is done in-place. - */ - this.removeMyInfoFieldInfo = (field) => { - if (field.myInfo && field.myInfo.attr) { - // Note: fieldType not removed as there is a verification check on - // backend, ensuring myInfo attribute is the correct fieldType - // Title is also not removed so that user does not see it go missing - // when the update is made. - field.fieldName = '' - field.fieldValue = '' - field.myInfo.source = '' - field.myInfo.description = '' - field.myInfo.verified = [] - - if (['dropdown', 'checkbox', 'radiobutton'].includes(field.fieldType)) { - field.fieldOptions = [] - } - } - } - /** - * Updates a form object in-place with MyInfo details injected. - * Does not affect non-MyInfo fields. - * @param {Object} form Form object - * @return {undefined} - */ - this.injectMyInfoIntoForm = (form) => { - if (form.form_fields) form.form_fields.map(this.injectMyInfoFieldInfo) - if ((form.editFormField || {}).field) - this.injectMyInfoFieldInfo(form.editFormField.field) - } - - /** - * Updates a form object in-place with MyInfo details removed. Does not - * affect non-MyInfo fields. - * @param {Object} form Form object - * @return {undefined} - */ - this.removeMyInfoFromForm = (form) => { - if (form.form_fields) form.form_fields.map(this.removeMyInfoFieldInfo) - if ((form.editFormField || {}).field) - this.removeMyInfoFieldInfo(form.editFormField.field) - } - - /** - * Checks if the form contains MyInfo fields. - * @param {Object} form Form object - * @return {Boolean} - */ - this.containsMyInfoFields = (form) => { - return (form.form_fields || []).some((field) => field.myInfo) - } - - /** - * Determines whether a form should be prevented from being duplicated - * for Storage Mode. - * @param {Object} form Form object - * @return {Boolean} - */ - this.preventStorageModeDuplication = (form) => { - if (!form) { - return false - } - return form.form_fields.some((field) => get(field, 'myInfo.attr')) - } - - /** - * Retrieves the MyInfo value shown on preview given a MyInfo attribute. - * The running gag is that this returns the MyInfo profile of Phua Chu Kang. - * @param {string} myInfoAttr A MyInfo attribute - */ - this.getMyInfoPreviewValue = (myInfoAttr) => { - switch (myInfoAttr) { - case 'name': - return 'PHUA CHU KANG' - case 'sex': - return 'MALE' - case 'race': - return 'CHINESE' - case 'nationality': - return 'SINGAPORE CITIZEN' - case 'birthcountry': - return 'SINGAPORE' - case 'passportnumber': - return 'E1234567X' - case 'regadd': - return '411 CHUA CHU KANG AVE 3, #12-3, SINGAPORE 238823' - case 'mobileno': - return '+65 98765432' - case 'occupation': - return 'MANAGING DIRECTOR/CHIEF EXECUTIVE OFFICER' - case 'employment': - return 'PCK PTE LTD' - case 'marital': - return 'MARRIED' - case 'dob': - return new Date(1965, 2, 23) - case 'passportexpirydate': - return new Date() - case 'marriagedate': - return new Date(1999, 2, 2) - case 'divorcedate': - return new Date(2007, 1, 10) - case 'residentialstatus': - return 'CITIZEN' - case 'dialect': - return 'HOKKIEN' - case 'vehno': - return 'SHA1234X' - case 'marriagecertno': - return '123456789012345' - case 'countryofmarriage': - return 'SINGAPORE' - case 'housingtype': - return 'DETACHED HOUSE' - default: - return '' - } - } -} diff --git a/src/public/modules/forms/services/mailto.client.factory.js b/src/public/modules/forms/services/mailto.client.factory.js deleted file mode 100644 index 9c6703eb41..0000000000 --- a/src/public/modules/forms/services/mailto.client.factory.js +++ /dev/null @@ -1,48 +0,0 @@ -const dedent = require('dedent-js') - -angular.module('forms').factory('MailTo', ['$window', '$translate', MailTo]) - -function MailTo($window, $translate) { - /** - * Generates a mailto URI which opens the client's default email application - * with an email to share their secret key. This requires the form title and - * secret key at minimum, and optionally the form ID. - * @param {string} title - * @param {string} secretKey - * @param {string} [formId] - * @return {Promise} - */ - const generateMailToUri = (title, secretKey, formId) => { - return $translate(['LINKS.APP.ROOT']).then((translations) => { - const appUrl = translations['LINKS.APP.ROOT'] - // Construct body piece by piece to avoid confusion with order of operations - let body = dedent` - Dear collaborator, - - I am sharing my form's secret key with you for safekeeping and backup. This is an important key that is needed to access all form responses. - - Form title: ${title}` - if (formId) { - // Note the newline at the start - body += dedent` - - Form URL: ${appUrl}/${formId}` - } - // Note the newline at the start - body += dedent` - - Secret key: ${secretKey} - - All you need to do is keep this email as a record, and please do not share this key with anyone else. - - Thank you for helping to safekeep my form!` - return ( - 'mailto:?subject=' + - $window.encodeURIComponent(`Shared Secret Key for ${title}`) + - '&body=' + - $window.encodeURIComponent(body) - ) - }) - } - return { generateMailToUri } -} diff --git a/src/public/modules/forms/services/spcp-session.client.factory.js b/src/public/modules/forms/services/spcp-session.client.factory.js deleted file mode 100644 index a5e9d07d69..0000000000 --- a/src/public/modules/forms/services/spcp-session.client.factory.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict' - -const PublicFormAuthService = require('../../../services/PublicFormAuthService') - -angular - .module('forms') - .factory('SpcpSession', [ - '$interval', - '$q', - 'Toastr', - '$window', - '$cookies', - SpcpSession, - ]) - -function SpcpSession($interval, $q, Toastr, $window, $cookies) { - let session = { - userName: null, - rememberMe: null, - issuedAt: null, - setUser: function ({ userName, rememberMe, iat, exp }) { - session.userName = userName - session.rememberMe = rememberMe - session.issuedAt = iat - $interval(() => { - if (Date.now() > exp * 1000) { - $window.location.reload() - } - }, 5000) // Every 5s, check cookie expiry time and refresh if necessary - }, - setUserName: function (userName) { - session.userName = userName - }, - clearUserName: function () { - session.userName = undefined - }, - logout: function (authType) { - $q.when(PublicFormAuthService.logoutOfSpcpSession(authType)) - .then(() => { - $cookies.put('isJustLogOut', true) - $window.location.reload() - }) - .catch(() => { - Toastr.error('Failed to log out, please refresh and try again!') - }) - }, - isJustLogOut: function () { - let val = $cookies.get('isJustLogOut') - $cookies.remove('isJustLogOut') - return val - }, - isLoginError: function () { - let val = $cookies.get('isLoginError') - $cookies.remove('isLoginError') - return val - }, - isRememberMeSet: function () { - return session.rememberMe - }, - getIssuedAt: function () { - // Send in milliseconds - return session.issuedAt * 1000 - }, - } - return session -} diff --git a/src/public/modules/forms/services/submissions.client.factory.js b/src/public/modules/forms/services/submissions.client.factory.js deleted file mode 100644 index d04fae5570..0000000000 --- a/src/public/modules/forms/services/submissions.client.factory.js +++ /dev/null @@ -1,304 +0,0 @@ -'use strict' - -const { - CsvMergedHeadersGenerator, -} = require('../helpers/CsvMergedHeadersGenerator') -const DecryptionWorker = require('../helpers/decryption.worker.js') -const { fixParamsToUrl, triggerFileDownload } = require('../helpers/util') -const { ndjsonStream } = require('../helpers/ndjsonStream') -const fetchStream = require('fetch-readablestream') - -const AdminSubmissionsService = require('../../../services/AdminSubmissionsService') - -const NUM_OF_METADATA_ROWS = 5 - -angular - .module('forms') - .factory('Submissions', [ - '$q', - '$timeout', - '$window', - 'GTag', - SubmissionsFactory, - ]) - -let downloadAbortController -let workerPool = [] - -// Helper function to kill an array of EncryptionWorkers -function killWorkers(pool) { - pool.forEach((worker) => worker.terminate()) -} - -function SubmissionsFactory($q, $timeout, $window, GTag) { - const ADMIN_FORMS_PREFIX = '/api/v3/admin/forms' - - const generateDownloadUrl = (params, downloadAttachments) => { - // NOTE: The ? is appended behind to ensure that the query parameters in url are constructed correctly - let resUrl = `${fixParamsToUrl( - params, - `${ADMIN_FORMS_PREFIX}/:formId/submissions/download?`, - )}` - if (params.startDate && params.endDate) { - resUrl += `startDate=${params.startDate}&endDate=${params.endDate}&` - } - if (downloadAttachments) { - resUrl += `downloadAttachments=true&` - } - return resUrl - } - - const submissionService = { - /** - * Cancels an existing on-going download. - */ - cancelDownloadEncryptedResponses: function () { - downloadAbortController.abort() - killWorkers(workerPool) - workerPool = [] - }, - - /** - * Triggers a download of file responses when called - * @param {String} params.formId ID of the form - * @param {String} params.formTitle The title of the form - * @param {String} params.startDate? The specific start date to filter for file responses in YYYY-MM-DD - * @param {String} params.endDate? The specific end date to filter for file responses in YYYY-MM-DD - * @param {Boolean} downloadAttachments Whether to download attachments as ZIP files in addition to responses as CSV - * @param {String} secretKey An instance of EncryptionKey for decrypting the submission - * @returns {Promise} Empty Promise object for chaining - */ - downloadEncryptedResponses: function ( - params, - downloadAttachments, - secretKey, - ) { - // Clear current worker pool. - workerPool = [] - // Creates a new AbortController for every request - downloadAbortController = new AbortController() - const { formId, startDate, endDate } = params - - return $q - .when( - AdminSubmissionsService.countFormSubmissions({ - formId, - dates: { startDate, endDate }, - }), - ) - .then((expectedNumResponses) => { - return new Promise(function (resolve, reject) { - // No responses expected - if (expectedNumResponses === 0) { - return resolve({ - expectedCount: 0, - successCount: 0, - errorCount: 0, - }) - } - - let resUrl = generateDownloadUrl(params, downloadAttachments) - let csvGenerator = new CsvMergedHeadersGenerator( - expectedNumResponses, - NUM_OF_METADATA_ROWS, - ) - let attachmentErrorCount = 0 - let errorCount = 0 - let unverifiedCount = 0 - let receivedRecordCount = 0 - - // Create a pool of decryption workers - // If we are downloading attachments, we restrict the number of threads - // to one to limit resource usage on the client's browser. - const numWorkers = downloadAttachments - ? 1 - : $window.navigator.hardwareConcurrency || 4 - - // Trigger analytics here before starting decryption worker. - GTag.downloadResponseStart(params, expectedNumResponses, numWorkers) - - for (let i = 0; i < numWorkers; i++) { - workerPool.push(new DecryptionWorker()) - } - - // Configure each worker - workerPool.forEach((worker) => { - // When worker returns a decrypted message - worker.onmessage = (event) => { - const { data } = event - const { csvRecord } = data - - if (csvRecord.status === 'ATTACHMENT_ERROR') { - attachmentErrorCount++ - errorCount++ - } else if (csvRecord.status === 'ERROR') { - errorCount++ - } else if (csvRecord.status === 'UNVERIFIED') { - unverifiedCount++ - } - - if (csvRecord.submissionData) { - try { - // accumulate dataset if it exists, since we may have status columns available - csvGenerator.addRecord(csvRecord.submissionData) - } catch (error) { - errorCount++ - console.error('Error in getResponseInstance', error) - } - } - - if (downloadAttachments && csvRecord.downloadBlob) { - triggerFileDownload( - csvRecord.downloadBlob, - 'RefNo ' + csvRecord.id + '.zip', - ) - } - } - // When worker fails to decrypt a message - worker.onerror = (error) => { - errorCount++ - console.error('EncryptionWorker Error', error) - } - - // Initiate all workers with formsgSdkMode so they can spin up - // formsg sdk with the correct keys. - worker.postMessage({ - init: true, - formsgSdkMode: $window.formsgSdkMode, - }) - }) - - let downloadStartTime - fetchStream(resUrl, { signal: downloadAbortController.signal }) - .then((response) => ndjsonStream(response.body)) - .then((stream) => { - downloadStartTime = performance.now() - const reader = stream.getReader() - let read - reader - .read() - .then( - (read = (result) => { - if (result.done) return - try { - // round-robin scheduling - workerPool[ - receivedRecordCount % numWorkers - ].postMessage({ - line: result.value, - secretKey, - downloadAttachments, - }) - receivedRecordCount++ - } catch (error) { - console.error('Error parsing JSON', error) - } - - reader.read().then(read) // recurse through the stream - }), - ) - .catch((err) => { - if (!downloadStartTime) { - // No start time, means did not even start http request. - GTag.downloadNetworkFailure(params, err) - } else { - const downloadFailedTime = performance.now() - const timeDifference = - downloadFailedTime - downloadStartTime - // Google analytics tracking for failure. - GTag.downloadResponseFailure( - params, - numWorkers, - expectedNumResponses, - timeDifference, - err, - ) - } - - console.error( - 'Failed to download data, is there a network issue?', - err, - ) - killWorkers(workerPool) - reject(err) - }) - .finally(() => { - function checkComplete() { - // If all the records could not be decrypted - if ( - errorCount + unverifiedCount === - expectedNumResponses - ) { - const failureEndTime = performance.now() - const timeDifference = - failureEndTime - downloadStartTime - // Google analytics tracking for partial decrypt - // failure. - GTag.partialDecryptionFailure( - params, - numWorkers, - csvGenerator.length(), - errorCount, - attachmentErrorCount, - timeDifference, - ) - killWorkers(workerPool) - reject( - new Error( - JSON.stringify({ - expectedCount: expectedNumResponses, - successCount: csvGenerator.length(), - errorCount, - unverifiedCount, - }), - ), - ) - } else if ( - // All results have been decrypted - csvGenerator.length() + errorCount + unverifiedCount >= - expectedNumResponses - ) { - killWorkers(workerPool) - // Generate first three rows of meta-data before download - csvGenerator.addMetaDataFromSubmission( - errorCount, - unverifiedCount, - ) - csvGenerator.downloadCsv( - `${params.formTitle}-${params.formId}.csv`, - ) - - const downloadEndTime = performance.now() - const timeDifference = - downloadEndTime - downloadStartTime - - // Google analytics tracking for success. - GTag.downloadResponseSuccess( - params, - numWorkers, - csvGenerator.length(), - timeDifference, - ) - - resolve({ - expectedCount: expectedNumResponses, - successCount: csvGenerator.length(), - errorCount, - unverifiedCount, - }) - // Kill class instance and reclaim the memory. - csvGenerator = null - } else { - $timeout(checkComplete, 100) - } - } - - checkComplete() - }) - }) - }) - }) - }, - } - return submissionService -} diff --git a/src/public/modules/forms/services/toastr.client.factory.js b/src/public/modules/forms/services/toastr.client.factory.js deleted file mode 100644 index 97b12088f6..0000000000 --- a/src/public/modules/forms/services/toastr.client.factory.js +++ /dev/null @@ -1,71 +0,0 @@ -'use strict' - -let toastr = require('toastr') - -angular.module('FormSG').factory('Toastr', ['$filter', Toastr]) - -function Toastr($filter) { - const defaultSuccessOptions = { - newestOnTop: true, - positionClass: 'toast-top-full-width', - timeOut: 1500, - extendedTimeOut: 1500, - preventDuplicates: true, - } - - const defaultErrorOptions = { - newestOnTop: true, - positionClass: 'toast-top-full-width', - timeOut: 3000, - extendedTimeOut: 3000, - preventDuplicates: true, - } - - const permanentErrorOptions = { - newestOnTop: true, - positionClass: 'toast-top-full-width', - timeOut: 0, - extendedTimeOut: 0, - tapToDismiss: false, - } - - const successIconHtml = - '' - const errorIconHtml = - '' - - let toastrNotification = { - success: function (message, options = {}, title = '') { - if (!options.skipLinky) { - message = $filter('linky')(message, '_blank') - } - toastr.success( - message + successIconHtml, - title, - Object.assign({}, defaultSuccessOptions, options), - ) - }, - error: function (message, options = {}, title = '') { - const linkyfiedMessage = $filter('linky')(message, '_blank') - toastr.error( - linkyfiedMessage + errorIconHtml, - title, - Object.assign({}, defaultErrorOptions, options), - ) - }, - permanentError: function (message, options = {}, title = '') { - $('.toast').remove() // necessary to fix the bug where two permanent toasts are shown - const linkyfiedMessage = $filter('linky')(message, '_blank') - - toastr.error( - linkyfiedMessage + errorIconHtml, - title, - Object.assign({}, permanentErrorOptions, options), - ) - }, - remove: function () { - toastr.clear() - }, - } - return toastrNotification -} diff --git a/src/public/modules/forms/viewmodels/Fields/AnswerField.class.js b/src/public/modules/forms/viewmodels/Fields/AnswerField.class.js deleted file mode 100644 index 1b5065eaa1..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/AnswerField.class.js +++ /dev/null @@ -1,24 +0,0 @@ -const Field = require('./Field.class') - -/** - * Superclass for all fields which users are able to answer. - */ -class AnswerField extends Field { - /** - * Returns a response, but without an answer. Subclasses should - * add an answer attribute depending on the format of the answer. - */ - getResponse() { - const response = { - _id: this._id, - fieldType: this.fieldType, - question: this.title, - } - if (this.myInfo) { - response.myInfo = this.myInfo - } - return response - } -} - -module.exports = AnswerField diff --git a/src/public/modules/forms/viewmodels/Fields/ArrayAnswerField.class.js b/src/public/modules/forms/viewmodels/Fields/ArrayAnswerField.class.js deleted file mode 100644 index 98ea599855..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/ArrayAnswerField.class.js +++ /dev/null @@ -1,8 +0,0 @@ -const AnswerField = require('./AnswerField.class') - -/** - * Superclass for all fields which return arrays as their response. - */ -class ArrayAnswerField extends AnswerField {} - -module.exports = ArrayAnswerField diff --git a/src/public/modules/forms/viewmodels/Fields/AttachmentField.class.js b/src/public/modules/forms/viewmodels/Fields/AttachmentField.class.js deleted file mode 100644 index 7ed167d0d3..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/AttachmentField.class.js +++ /dev/null @@ -1,13 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') - -/** - * Field class for field.fieldType === 'attachment'. - */ -class AttachmentField extends SingleAnswerField { - clear(shouldClearMyInfo) { - super.clear(shouldClearMyInfo) - delete this.file - } -} - -module.exports = AttachmentField diff --git a/src/public/modules/forms/viewmodels/Fields/CheckboxField.class.js b/src/public/modules/forms/viewmodels/Fields/CheckboxField.class.js deleted file mode 100644 index efaecf69f4..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/CheckboxField.class.js +++ /dev/null @@ -1,56 +0,0 @@ -const ArrayAnswerField = require('./ArrayAnswerField.class') -const MixIns = require('./MixIns') - -/** - * Field class for field.fieldType === 'checkbox'. - */ -class CheckboxField extends MixIns.RangeValidation(ArrayAnswerField) { - constructor(fieldData) { - super(fieldData) - // This check ensures that if we support injected values in the future, they - // don't get overridden. The current default is that fieldValue for checkboxes - // is stored as an empty string in the backend. - if (!this.fieldValue) { - this.fieldValue = Array(this.fieldOptions.length + 1).fill(false) - } - } - - getResponse() { - const response = super.getResponse() - // Throw error if field value is missing - if (this.isVisible && this.required && this.fieldValue.every((v) => !v)) { - console.error( - `Attempt to getResponse on required field with no answer:\tfieldType=${ - this.fieldType - }, fieldId=${this._id}, typeof fieldValue=${typeof this.fieldValue}`, - ) - throw new Error( - `Missing answer for required field, fieldType ${this.fieldType}.`, - ) - } - // The backend will look for answerArray instead of answer for checkbox - response.answerArray = this.fieldOptions.filter( - (_, i) => this.fieldValue[i], - ) - if (this.fieldValue[this.fieldValue.length - 1]) { - response.answerArray.push(`Others: ${this.fieldValueOthers}`) - } - return response - } - - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.fieldOptions = ['Option 1'] - return fieldData - } - - clear(shouldClearMyInfo) { - if (this.myInfo && this.myInfo.attr && !shouldClearMyInfo) { - return - } - this.fieldValue.fill(false) - this.fieldValueOthers = '' - } -} - -module.exports = CheckboxField diff --git a/src/public/modules/forms/viewmodels/Fields/DateField.class.js b/src/public/modules/forms/viewmodels/Fields/DateField.class.js deleted file mode 100644 index 852dd1b7ae..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/DateField.class.js +++ /dev/null @@ -1,38 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') -const moment = require('moment-timezone') - -/** - * Field class for field.fieldType === 'date'. - */ -class DateField extends SingleAnswerField { - constructor(fieldData) { - super(fieldData) - // Parse to Date object in the SG timezone if MyInfo injects a value - if (this.fieldValue) { - this.fieldValue = moment - .tz(this.fieldValue, 'YYYY-MM-DD', true, 'Asia/Singapore') - .toDate() - // This is only set for dates that represent Asia/Singapore timezones e.g. date of birth. - // We do not set this for other date fields so that the intended value is shown to the form admin. - this.modelOptions = { timezone: 'GMT+8' } - } - } - getResponse() { - const response = super.getResponse() - if (this.fieldValue && this.myInfo && this.myInfo.attr) { - // MyInfo fields imply Asia/Singapore timezone - response.answer = moment(this.fieldValue) - .tz('Asia/Singapore') - .format('DD MMM YYYY') - } else if (this.fieldValue) { - // Do not do a timezone conversion for non-MyInfo fields - // so that the correct date is submitted to the form admin - response.answer = moment(this.fieldValue).format('DD MMM YYYY') - } else { - response.answer = '' - } - return response - } -} - -module.exports = DateField diff --git a/src/public/modules/forms/viewmodels/Fields/DecimalField.class.js b/src/public/modules/forms/viewmodels/Fields/DecimalField.class.js deleted file mode 100644 index 497dae8bad..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/DecimalField.class.js +++ /dev/null @@ -1,9 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') -const MixIns = require('./MixIns') - -/** - * Field class for field.fieldType === 'decimal'. - */ -class DecimalField extends MixIns.RangeValidation(SingleAnswerField) {} - -module.exports = DecimalField diff --git a/src/public/modules/forms/viewmodels/Fields/DropdownField.class.js b/src/public/modules/forms/viewmodels/Fields/DropdownField.class.js deleted file mode 100644 index 856de0611f..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/DropdownField.class.js +++ /dev/null @@ -1,15 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') - -/** - * Field class for field.fieldType === 'dropdown'. - */ -class DropdownField extends SingleAnswerField { - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.fieldOptionsFromText = 'Option 1' - fieldData.fieldOptions = fieldData.fieldOptionsFromText.split('\n') - return fieldData - } -} - -module.exports = DropdownField diff --git a/src/public/modules/forms/viewmodels/Fields/EmailField.class.js b/src/public/modules/forms/viewmodels/Fields/EmailField.class.js deleted file mode 100644 index 05787f109d..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/EmailField.class.js +++ /dev/null @@ -1,21 +0,0 @@ -const VerifiableField = require('./VerifiableField.class') - -/** - * Field class for field.fieldType === 'email'. - */ -class EmailField extends VerifiableField { - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.autoReplyOptions = { - hasAutoReply: false, - autoReplyMessage: '', - includeFormSummary: false, - } - fieldData.isVerifiable = false - fieldData.hasAllowedEmailDomains = false - fieldData.allowedEmailDomains = [] - return fieldData - } -} - -module.exports = EmailField diff --git a/src/public/modules/forms/viewmodels/Fields/Field.class.js b/src/public/modules/forms/viewmodels/Fields/Field.class.js deleted file mode 100644 index 5eae38fcbe..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/Field.class.js +++ /dev/null @@ -1,40 +0,0 @@ -/* -The inheritance hierachy is as follows: - Field - / \ - AnswerField NoAnswerField (includes image, statement) - / \ - ArrayAnswer SingleAnswer (includes NRIC, Yes/No) - / | | - Checkbox Table Attachment, Date, Dropdown, Header, Radio, Rating, Verifiable - | - (includes mobile, email) - -*/ - -/** - * Superclass for all fields. - */ -class Field { - /** - * Called to deserialise raw field object returned by backend. - * @param {fieldData} fieldData Raw field data as in form.form_fields in - * the form object returned by backend. - */ - constructor(fieldData) { - Object.assign(this, this.getDefaultBasicData(), fieldData) - } - - getDefaultBasicData() { - return { - required: true, - disabled: false, - } - } - - lock() { - this.disabled = true - } -} - -module.exports = Field diff --git a/src/public/modules/forms/viewmodels/Fields/HeaderField.class.js b/src/public/modules/forms/viewmodels/Fields/HeaderField.class.js deleted file mode 100644 index 5f82e40625..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/HeaderField.class.js +++ /dev/null @@ -1,15 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') - -/** - * Field class for field.fieldType === 'section'. - */ -class HeaderField extends SingleAnswerField { - getResponse() { - const response = super.getResponse() - response.answer = '' - response.isHeader = true - return response - } -} - -module.exports = HeaderField diff --git a/src/public/modules/forms/viewmodels/Fields/HomeNoField.class.js b/src/public/modules/forms/viewmodels/Fields/HomeNoField.class.js deleted file mode 100644 index c599e5f086..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/HomeNoField.class.js +++ /dev/null @@ -1,8 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') - -/** - * Field class for field.fieldType === 'homeno'. - */ -class HomeNoField extends SingleAnswerField {} - -module.exports = HomeNoField diff --git a/src/public/modules/forms/viewmodels/Fields/MixIns.js b/src/public/modules/forms/viewmodels/Fields/MixIns.js deleted file mode 100644 index aba9eb7554..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/MixIns.js +++ /dev/null @@ -1,45 +0,0 @@ -/** - * These interfaces provide common functions across different subclasses - * of the Field hierarchy. - */ - -/** - * Fields which allow setting of a maximum and a minimum, but not an exact - * value. Currently includes Checkbox (can choose between min-max value) - * and Decimal (can choose a value between min-max). - * @param {Class} Base Class being extended - */ -const RangeValidation = (Base) => - class extends Base { - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.ValidationOptions = { - customMax: null, - customMin: null, - } - fieldData.validateByValue = false - return fieldData - } - } - -/** - * Fields which allow setting of a maximum, minimum or exact number number - * of characters. Currently includes Number, TextArea and TextField. - * @param {Class} Base Class being extended - */ -const CustomValidation = (Base) => - class extends Base { - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.ValidationOptions = { - customVal: null, - selectedValidation: null, - } - return fieldData - } - } - -module.exports = { - RangeValidation, - CustomValidation, -} diff --git a/src/public/modules/forms/viewmodels/Fields/MobileField.class.js b/src/public/modules/forms/viewmodels/Fields/MobileField.class.js deleted file mode 100644 index 53f408f979..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/MobileField.class.js +++ /dev/null @@ -1,15 +0,0 @@ -const VerifiableField = require('./VerifiableField.class') - -/** - * Field class for field.fieldType === 'mobile' - */ -class MobileField extends VerifiableField { - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.allowIntlNumbers = false - fieldData.isVerifiable = false - return fieldData - } -} - -module.exports = MobileField diff --git a/src/public/modules/forms/viewmodels/Fields/NoAnswerField.class.js b/src/public/modules/forms/viewmodels/Fields/NoAnswerField.class.js deleted file mode 100644 index 96c9c4229a..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/NoAnswerField.class.js +++ /dev/null @@ -1,15 +0,0 @@ -const Field = require('./Field.class') - -/** - * Superclass for all fields which users cannot answer, and are - * therefore not included in form responses. - */ -// TODO: Currently empty, will be used to add methods -// for image/statement fields in future. -class NoAnswerField extends Field { - // Implement clear so it can be called on this field, but it - // does not need to do anything. - clear() {} -} - -module.exports = NoAnswerField diff --git a/src/public/modules/forms/viewmodels/Fields/NumberField.class.js b/src/public/modules/forms/viewmodels/Fields/NumberField.class.js deleted file mode 100644 index e0acc897b9..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/NumberField.class.js +++ /dev/null @@ -1,9 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') -const MixIns = require('./MixIns') - -/** - * Field class for field.fieldType === 'number'. - */ -class NumberField extends MixIns.CustomValidation(SingleAnswerField) {} - -module.exports = NumberField diff --git a/src/public/modules/forms/viewmodels/Fields/RadioField.class.js b/src/public/modules/forms/viewmodels/Fields/RadioField.class.js deleted file mode 100644 index dcceb20c8b..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/RadioField.class.js +++ /dev/null @@ -1,27 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') - -/** - * Field class for field.fieldType === 'radiobutton'. - */ -class RadioField extends SingleAnswerField { - getResponse() { - const response = super.getResponse() - if (this.fieldValue === 'radioButtonOthers') { - response.answer = `Others: ${this.fieldValueOthers}` - } - return response - } - - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.fieldOptions = ['Option 1'] - return fieldData - } - - clear(shouldClearMyInfo) { - super.clear(shouldClearMyInfo) - this.fieldValueOthers = '' - } -} - -module.exports = RadioField diff --git a/src/public/modules/forms/viewmodels/Fields/RatingField.class.js b/src/public/modules/forms/viewmodels/Fields/RatingField.class.js deleted file mode 100644 index 81068169f1..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/RatingField.class.js +++ /dev/null @@ -1,17 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') - -/** - * Field class for field.fieldType === 'rating'. - */ -class RatingField extends SingleAnswerField { - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.ratingOptions = { - steps: 5, - shape: 'Heart', - } - return fieldData - } -} - -module.exports = RatingField diff --git a/src/public/modules/forms/viewmodels/Fields/SingleAnswerField.class.js b/src/public/modules/forms/viewmodels/Fields/SingleAnswerField.class.js deleted file mode 100644 index e9a4f677b3..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/SingleAnswerField.class.js +++ /dev/null @@ -1,54 +0,0 @@ -const AnswerField = require('./AnswerField.class') - -/** - * Superclass for all fields which return a single answer as opposed - * to an array. - */ -class SingleAnswerField extends AnswerField { - constructor(fieldData) { - super(fieldData) - // This check prevents overriding of injected MyInfo values - if (!this.fieldValue) { - this.fieldValue = '' - } - } - - /** - * Returns the answer to the field if it is given, or an empty - * string if answer is not defined. - */ - getResponse() { - const response = super.getResponse() - // Throw error if field value is missing - if ( - this.isVisible && - this.required && - this.fieldType !== 'section' && - this.fieldValue !== 0 && - !this.fieldValue - ) { - console.error( - `Attempt to getResponse on required field with no answer:\tfieldType=${ - this.fieldType - }, fieldId=${this._id}, typeof fieldValue=${typeof this.fieldValue}`, - ) - throw new Error( - `Missing answer for required field, fieldType ${this.fieldType}.`, - ) - } - response.answer = - this.fieldValue === undefined || this.fieldValue === null - ? '' - : String(this.fieldValue) - return response - } - - clear(shouldClearMyInfo) { - if (this.myInfo && this.myInfo.attr && !shouldClearMyInfo) { - return - } - this.fieldValue = '' - } -} - -module.exports = SingleAnswerField diff --git a/src/public/modules/forms/viewmodels/Fields/TableField.class.js b/src/public/modules/forms/viewmodels/Fields/TableField.class.js deleted file mode 100644 index 490c46482e..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/TableField.class.js +++ /dev/null @@ -1,210 +0,0 @@ -const ArrayAnswerField = require('./ArrayAnswerField.class') -const { DropdownField, TextField } = require('.') - -/** - * Field class for field.fieldType === 'table'. - * A note on the implementation on TableField: this.columns is a _specification_ - * for each column, whereas this.components is a ROWWISE 2D array of child components - * which implement the specifications of this.columns, i.e. this.components[0][1] is - * a Field instance at row 0, column 1. this.columns gets saved to the database, while - * this.components is used only for rendering. - */ -class TableField extends ArrayAnswerField { - constructor(fieldData) { - super(fieldData) - // Counter to ensure that ID of each component is unique - this._counter = 0 - this.render() - } - - /** - * Creates all child components from scratch. - */ - render() { - // Rowwise 2D array of components - this.components = [] - const colFieldData = this.columns.map(this._getFieldData, this) - const colFieldClasses = this.columns.map(this._getChildClass) - for (let i = 0; i < this.minimumRows; i++) { - this.addRow(false, colFieldData, colFieldClasses) - } - } - - /** - * Adds one row of components to the end of the table. - * @param {boolean} isAdditional Whether the new row is additional, i.e. not - * part of the minimum. - * @param {Object} [colFieldData] Field data to be passed into constructors. - * If not provided, this will be calculated from the column data. - * @param {Array} [colFieldClasses] Field class constructors for each column. - * If not provided, this will be calculated from the column data. - */ - addRow(isAdditional, colFieldData, colFieldClasses) { - if (!colFieldData) { - colFieldData = this.columns.map(this._getFieldData, this) - } - if (!colFieldClasses) { - colFieldClasses = this.columns.map(this._getChildClass) - } - if (isAdditional) { - this.additionalRowCount++ - } - const row = [] - colFieldData.forEach((fieldData, index) => { - const FieldClass = colFieldClasses[index] - row.push(this._getComponentInstance(fieldData, FieldClass)) - }) - this.components.push(row) - } - - /** - * Deletes a row of components at the given index. - * @param {number} index - */ - deleteRow(index) { - this.additionalRowCount-- - this.components.splice(index, 1) - } - - /** - * Adds a default column (i.e. textfields). Updates both this.columns - * and this.components, such that the database can be updated correctly - * and the field is rendered correctly. - */ - addColumn() { - const columnData = this._getDefaultColumnData() - // Update this.columns so database is updated - this.columns.push(columnData) - // Update this.components so preview is rendered correctly - this._spliceColumnAtIndex(columnData, this.columns.length - 1) - } - - /** - * Deletes a column at the given index. Updates this.columns so that database - * can be updated correctly and this.components so that field is rendered - * correctly. - * @param {number} index - */ - deleteColumn(index) { - // Update this.columns so database is updated - this.columns.splice(index, 1) - // Update this.components for preview - this.components.forEach((row) => { - row.splice(index, 1) - }) - } - - changeColumnType(index) { - // columnType has already been updated via ng-model - const columnData = this.columns[index] - // Delete column id so that discriminator key can be updated - delete columnData._id - this._spliceColumnAtIndex(columnData, index) - } - - updateColumnOptions(index) { - this._spliceColumnAtIndex(this.columns[index], index) - } - - getResponse() { - const response = super.getResponse() - const columnTitles = this.columns.map((col) => col.title) - // Question in response should contain column titles - response.question = `${this.title} (${columnTitles.join(', ')})` - // The backend will look for answerArray instead of answer for tables - response.answerArray = this.components.map((row) => - row.map((component) => component.getResponse().answer), - ) - return response - } - - getDefaultBasicData() { - const fieldData = super.getDefaultBasicData() - fieldData.minimumRows = 2 - fieldData.addMoreRows = false - fieldData.additionalRowCount = 0 - fieldData.columns = [ - { - title: 'Text Field', - required: true, - columnType: 'textfield', - }, - ] - return fieldData - } - - getComponentIds() { - return this.components.map((row) => { - return row.map((component) => component._id) - }) - } - - clear(shouldClearMyInfo) { - this.components.forEach((row) => { - row.forEach((component) => component.clear(shouldClearMyInfo)) - }) - } - - lock() { - this.components.forEach((row) => { - row.forEach((component) => component.lock()) - }) - } - - _spliceColumnAtIndex(columnData, index) { - const fieldData = this._getFieldData(columnData) - const FieldClass = this._getChildClass(columnData) - this.components.forEach((row) => { - row.splice(index, 1, this._getComponentInstance(fieldData, FieldClass)) - }) - } - - _getComponentInstance(fieldData, FieldClass) { - // Need to guarantee that the field has a unique ID so that - // we can check whether it is valid in this.hasError. - this._makeIdUnique(fieldData) - return new FieldClass(fieldData) - } - - _getDefaultColumnData() { - return { - title: 'Text Field', - required: true, - columnType: 'textfield', - } - } - - _makeIdUnique(fieldData) { - if (!fieldData._id) { - fieldData._id = 'defaultId' - } - fieldData._id += `-${this._counter}` - this._counter++ - } - - _getFieldData(columnData) { - const fieldData = { ...columnData, fieldType: columnData.columnType } - // We don't want to render a title for each component - delete fieldData.title - return fieldData - } - - /** - * This is a near-copy of getClass in field-factory.js, which currently only - * handles DateField and TextField. Unfortunately we cannot import field-factory - * because it would create a circular dependency. - * @param {Object} columnData Column specification as specified by ColumnSchema - */ - _getChildClass(columnData) { - switch (columnData.columnType) { - case 'dropdown': - return DropdownField - case 'textfield': - return TextField - default: - throw new Error('Invalid fieldtype passed to _getChildClass.') - } - } -} - -module.exports = TableField diff --git a/src/public/modules/forms/viewmodels/Fields/TextAreaField.class.js b/src/public/modules/forms/viewmodels/Fields/TextAreaField.class.js deleted file mode 100644 index 9c875e0945..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/TextAreaField.class.js +++ /dev/null @@ -1,9 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') -const MixIns = require('./MixIns') - -/** - * Field class for field.fieldType === 'textarea'. - */ -class TextAreaField extends MixIns.CustomValidation(SingleAnswerField) {} - -module.exports = TextAreaField diff --git a/src/public/modules/forms/viewmodels/Fields/TextField.class.js b/src/public/modules/forms/viewmodels/Fields/TextField.class.js deleted file mode 100644 index 4116a0eec5..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/TextField.class.js +++ /dev/null @@ -1,9 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') -const MixIns = require('./MixIns') - -/** - * Field class for field.fieldType === 'textfield'. - */ -class TextField extends MixIns.CustomValidation(SingleAnswerField) {} - -module.exports = TextField diff --git a/src/public/modules/forms/viewmodels/Fields/VerifiableField.class.js b/src/public/modules/forms/viewmodels/Fields/VerifiableField.class.js deleted file mode 100644 index 5525b1bad4..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/VerifiableField.class.js +++ /dev/null @@ -1,19 +0,0 @@ -const SingleAnswerField = require('./SingleAnswerField.class') - -/** - * Field class for all fields which can be verified. - */ -class VerifiableField extends SingleAnswerField { - /** - * Adds the field's signature to the default response. - */ - getResponse() { - const response = super.getResponse() - if (this.signature) { - response.signature = this.signature - } - return response - } -} - -module.exports = VerifiableField diff --git a/src/public/modules/forms/viewmodels/Fields/index.js b/src/public/modules/forms/viewmodels/Fields/index.js deleted file mode 100644 index c824119988..0000000000 --- a/src/public/modules/forms/viewmodels/Fields/index.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports.Field = require('./Field.class') - -module.exports.NoAnswerField = require('./NoAnswerField.class') -module.exports.AnswerField = require('./AnswerField.class') - -module.exports.SingleAnswerField = require('./SingleAnswerField.class') -module.exports.ArrayAnswerField = require('./ArrayAnswerField.class') - -module.exports.AttachmentField = require('./AttachmentField.class') -module.exports.CheckboxField = require('./CheckboxField.class') -module.exports.DateField = require('./DateField.class') -module.exports.DecimalField = require('./DecimalField.class') -module.exports.DropdownField = require('./DropdownField.class') -module.exports.EmailField = require('./EmailField.class') -module.exports.HeaderField = require('./HeaderField.class') -module.exports.MobileField = require('./MobileField.class') -module.exports.HomeNoField = require('./HomeNoField.class') -module.exports.NumberField = require('./NumberField.class') -module.exports.RadioField = require('./RadioField.class') -module.exports.RatingField = require('./RatingField.class') -module.exports.TextAreaField = require('./TextAreaField.class') -module.exports.TextField = require('./TextField.class') -module.exports.VerifiableField = require('./VerifiableField.class') -// Table depends on the other fields, so put it last -module.exports.TableField = require('./TableField.class') diff --git a/src/public/modules/forms/viewmodels/Form.class.js b/src/public/modules/forms/viewmodels/Form.class.js deleted file mode 100644 index 1185e9e6a8..0000000000 --- a/src/public/modules/forms/viewmodels/Form.class.js +++ /dev/null @@ -1,128 +0,0 @@ -const _ = require('lodash') - -const FieldFactory = require('../helpers/field-factory') -const { - getEncryptedAttachmentsMap, - getAttachmentsMap, - fieldHasAttachment, -} = require('../helpers/attachments-map') -const { NoAnswerField } = require('./Fields') -const { - encryptSubmissionResponses, -} = require('../../../services/EncryptionService') - -// The current encrypt version to assign to the encrypted submission. -// This is needed if we ever break backwards compatibility with -// end-to-end encryption -const ENCRYPT_VERSION = 1 - -/** - * Deserialises raw form object returned by backend and - * manages form-wide operations. - */ -class Form { - /** - * Called to deserialise raw FormData object returned by backend. - * @param {Object} form Form object as returned by FormApi.getPublic - * or FormApi.getAdmin. - */ - constructor(form) { - Object.assign(this, form) - this.form_fields = this.form_fields.map((fieldData) => - FieldFactory.createFieldFromData(fieldData), - ) - } - - /** - * Prevents all fields from being edited. - */ - lockFields() { - this.form_fields.forEach((field) => field.lock()) - } - - /** - * Internal helper function to get the submitted values of all fields - * that are supposed to have answers. - * @returns {Array} Array of response objects. - */ - _getResponses() { - return this.form_fields - .filter((field) => !(field instanceof NoAnswerField)) - .map((field) => { - if (!field.isVisible) { - field.clear(true) - } - return field.getResponse() - }) - } - - /** - * Internal helper function that creates a map of field ID to attachment file. - * The values of the map are encrypted for Storage Mode. - * forms. - * @returns {Object} Map of { id: file } - */ - _getAttachments() { - const attachmentsMap = getAttachmentsMap(this.form_fields) - if (this.responseMode === 'encrypt') { - return getEncryptedAttachmentsMap(attachmentsMap, this.publicKey) - } else { - return Promise.resolve(attachmentsMap) - } - } - - /** - * Determines if any field has an attachment uploaded. - * @returns {Boolean} True if any field has an attachment uploaded - */ - hasAttachments() { - return this.form_fields.some(fieldHasAttachment) - } - - /** - * Gets the encrypted values of the responses. Only applicable to - * Storage Mode forms. - */ - _getEncryptedContent() { - if (this.responseMode === 'encrypt') { - return encryptSubmissionResponses(this._getResponses(), this.publicKey) - } - return null - } - - /** - * Method to abstract away edge cases for submission responses in email vs encrypt mode - */ - _getResponsesForSubmission() { - if (this.responseMode === 'encrypt') { - // Edge case: We still send mobile and email fields to the server in plaintext - // even with end-to-end encryption in order to support SMS and email autoreplies - return this._getResponses() - .filter((item) => ['mobile', 'email'].includes(item.fieldType)) - .map((item) => { - return _(item) - .pick(['fieldType', '_id', 'answer', 'signature']) - .omitBy(_.isNull) - .value() - }) - } else return this._getResponses() - } - - /** - * Method to determine what to POST to the backend submission endpoint. - * Does not include captcha verification. - */ - async getSubmissionContent() { - const submissionContent = { - attachments: await this._getAttachments(), - responses: this._getResponsesForSubmission(), - } - if (this.responseMode === 'encrypt') { - submissionContent.encryptedContent = this._getEncryptedContent() - submissionContent.version = ENCRYPT_VERSION - } - return submissionContent - } -} - -module.exports = Form diff --git a/src/public/modules/users/config/users.client.config.js b/src/public/modules/users/config/users.client.config.js deleted file mode 100755 index 47a21fdb4d..0000000000 --- a/src/public/modules/users/config/users.client.config.js +++ /dev/null @@ -1,28 +0,0 @@ -'use strict' - -const HttpStatus = require('http-status-codes') - -// Config HTTP Error Handling -angular.module('users').config([ - '$httpProvider', - function ($httpProvider) { - $httpProvider.interceptors.push([ - '$q', - '$window', - function ($q, $window) { - return { - responseError: function (response) { - if (response.status === HttpStatus.UNAUTHORIZED) { - $window.localStorage.removeItem('user') - $window.localStorage.removeItem('is-logged-in') - $window.location.assign('/#!/signin') - } else if (response.status === HttpStatus.FORBIDDEN) { - $window.location.assign('/#!/forms') - } - return $q.reject(response) - }, - } - }, - ]) - }, -]) diff --git a/src/public/modules/users/config/users.client.routes.js b/src/public/modules/users/config/users.client.routes.js deleted file mode 100755 index a8ae515790..0000000000 --- a/src/public/modules/users/config/users.client.routes.js +++ /dev/null @@ -1,52 +0,0 @@ -'use strict' - -// Setting up route -angular.module('users').config([ - '$stateProvider', - function ($stateProvider) { - // Users state routing - $stateProvider - .state('privacy', { - url: '/privacy', - templateUrl: 'modules/users/views/static/privacy.client.view.html', - }) - .state('terms', { - url: '/terms', - templateUrl: 'modules/users/views/static/terms.client.view.html', - }) - .state('signin', { - url: '/signin', - templateUrl: - 'modules/users/views/authentication/signin.client.view.html', - controller: 'AuthenticationController', - controllerAs: 'vm', - params: { - // After logging in, the user will be redirected to the targetState. - // By default, redirect to list forms page on login. - targetState: 'listForms', - // If targetState is provided, use targetFormId to redirect users to the right form's page. - // e.g. if targetState is 'use-template', redirect users to /:formId/use-template upon successful login. - // By default, there will be no targetFormId. - targetFormId: undefined, - }, - }) - .state('examples', { - url: '/examples', - templateUrl: 'modules/users/views/examples.client.view.html', - resolve: { - // FormData will contain a specific form's information if the examplesController is supposed to pre-open that - // form as a modal, as in the 'use-template' state. - // By default, no specified template should be opened. - FormData: () => undefined, - }, - controller: 'ExamplesController', - controllerAs: 'vm', - }) - .state('billing', { - url: '/billing', - templateUrl: 'modules/users/views/billing.client.view.html', - controller: 'BillingController', - controllerAs: 'vm', - }) - }, -]) diff --git a/src/public/modules/users/controllers/authentication.client.controller.js b/src/public/modules/users/controllers/authentication.client.controller.js deleted file mode 100755 index 35fa3201fd..0000000000 --- a/src/public/modules/users/controllers/authentication.client.controller.js +++ /dev/null @@ -1,287 +0,0 @@ -'use strict' - -const { StatusCodes } = require('http-status-codes') -const get = require('lodash/get') -const validator = require('validator').default -const AuthService = require('../../../services/AuthService') -const UserService = require('../../../services/UserService') - -angular - .module('users') - .controller('AuthenticationController', [ - '$q', - '$scope', - '$state', - '$timeout', - '$window', - 'GTag', - AuthenticationController, - ]) - -function AuthenticationController($q, $scope, $state, $timeout, $window, GTag) { - const vm = this - - let notifDelayTimeout - - vm.credentials = {} - vm.buttonClicked = false - vm.showOtpDelayNotification = false - - // logic/booleans to show sign in process sequentially. 2 possible values. - // 'email' - email input - // 'otp' - otp input - vm.signInSteps = 'email' - - // Banner message on login - vm.loginBannerContent = $window.siteBannerContent || $window.isLoginBanner - - // logic/booleans to show error/success messages - vm.signInMsg = { - isMsg: false, - isError: true, - msg: null, - } - - // boolean to enable/disable email submit button - vm.isSubmitEmailDisabled = false - - /** - * Action on keyup for email input - */ - - vm.handleEmailKeyUp = function (e) { - if (e.keyCode == 13) { - vm.isSubmitEmailDisabled === false && vm.login() - // condition vm.isSubmitEmailDisabled == false is necessary to prevent retries using enter key - // when submit button is disabled - } else { - vm.removeError(e) - vm.isSubmitEmailDisabled = false - } - } - - /** - * Redirects user with active session to target page - */ - vm.redirectIfActiveSession = function () { - if (UserService.getUserFromLocalStorage()) { - $state.go($state.params.targetState) - } - } - - /** - * Removes error messages from email input box - * @param {Object} e - Keyboard event object - */ - vm.removeError = function (e) { - if (e.keyCode !== 13) { - vm.signInMsg.isMsg = false - } - } - - /** - * Disallows user from inputing letters into OTP field - * @param {Object} e - Keyboard event object - */ - vm.manageOtp = function (e) { - let charCode = e.keyCode - let allowChar - if ( - charCode === 37 || - charCode === 38 || - charCode === 39 || - charCode === 40 || - charCode === 46 || - e.ctrlKey || - e.metaKey - ) { - allowChar = true // for arrow keys, delete key and cntrl key - } else if (e.shiftKey) { - allowChar = false // user pressed the shift key - } else if ( - charCode <= 31 || - (charCode >= 48 && charCode <= 57) || - (charCode >= 96 && charCode <= 105) - ) { - allowChar = true // for numeric character and ascii char from 1 to 31 - } else { - allowChar = false - } - if (allowChar === false) { - e.preventDefault() - } - } - - const setEmailSignInError = (errorMsg) => { - vm.buttonClicked = false - vm.signInMsg = { - isMsg: true, - isError: true, - msg: errorMsg, - } - vm.isSubmitEmailDisabled = true - } - - // Steps of sign-in process - // 1 - Check if user email is in valid format - // 2 - Check if user's email domain (i.e. agency) is valid - // 3 - Send OTP to user email - // 4 - Verify OTP - - /** - * Checks validity of email domain (i.e. agency) and sends login OTP if email - * is valid. - */ - vm.login = function () { - vm.buttonClicked = true - - const email = vm.credentials.email - if (!email || !validator.isEmail(email)) { - setEmailSignInError('Please enter a valid email address') - return - } - - $q.when(AuthService.checkIsEmailAllowed(vm.credentials.email)) - .then(() => vm.sendOtp()) - .catch((error) => { - const validationMsgInBody = get( - error, - 'response.data.validation.body.message', - ) - const errorMsgInBody = get(error, 'response.data.message') - const errorMsgAsPlain = get(error, 'response.data') - setEmailSignInError( - validationMsgInBody || - errorMsgInBody || - errorMsgAsPlain || - 'Something went wrong while validating your email. Please refresh and try again', - ) - }) - } - - /** - * Sends otp to user email - */ - vm.sendOtp = function () { - // Show opt input section - vm.signInSteps = 'otp' - vm.signInMsg.isMsg = false - vm.isOtpSending = true - vm.buttonClicked = true - vm.showOtpDelayNotification = false - - $q.when(AuthService.sendLoginOtp(vm.credentials.email)) - .then((success) => { - vm.isOtpSending = false - vm.buttonClicked = false - // Configure message to be show - vm.signInMsg = { - isMsg: true, - isError: false, - msg: success, - } - $timeout(function () { - angular.element('#otp-input').focus() - angular.element('#otp-input').select() - }, 100) - - // Cancel existing timeout and set new one. - cancelNotifDelayTimeout() - notifDelayTimeout = $timeout(function () { - vm.signInMsg.isMsg = false - vm.showOtpDelayNotification = true - }, 20000) - }) - .catch((error) => { - const errorMsg = get( - error, - 'response.data.message', - 'Failed to send login OTP. Please try again later and if the problem persists, contact us.', - ) - vm.isOtpSending = false - vm.buttonClicked = false - // Configure message to be shown - vm.signInMsg = { - isMsg: true, - isError: true, - msg: errorMsg, - } - }) - } - - /** - * Verifies otp inputted - */ - vm.verifyOtp = function () { - vm.buttonClicked = true - $q.when( - AuthService.verifyLoginOtp({ - otp: vm.credentials.otp, - email: vm.credentials.email, - }), - ) - .then((user) => { - UserService.saveUserToLocalStorage(user) - vm.buttonClicked = false - // Configure message to be show - vm.signInMsg = { - isMsg: true, - isError: false, - msg: 'OTP Verified!', - } - // Add lag between approval of otp and redirection to target page - $timeout(function () { - // If using the /:formId/use-template link, send client to that state along with the targetFormId - if ($state.params.targetFormId) { - $state.go($state.params.targetState, { - formId: $state.params.targetFormId, - }) - // Otherwise just send client to the target state - } else { - $state.go($state.params.targetState) - } - }, 500) - - GTag.loginSuccess('otp') - }) - .catch((error) => { - let errorMsg = - get(error, 'response.data.validation.body.message') || - get( - error, - // Normally the error message is in response.data.message, but this particular - // API is an exception as it sends the error message as a string in response.data - 'response.data', - 'Failed to send login OTP. Please try again later and if the problem persists, contact us.', - ) - const errorStatus = get(error, 'response.status') - if (errorStatus >= StatusCodes.INTERNAL_SERVER_ERROR) { - errorMsg = 'An unknown error occurred' - } - - vm.buttonClicked = false - // Configure message to be show - vm.signInMsg = { - isMsg: true, - isError: true, - msg: errorMsg, - } - $timeout(function () { - angular.element('#otp-input').focus() - angular.element('#otp-input').select() - }, 100) - - GTag.loginFailure('otp', String(errorStatus || errorMsg)) - }) - } - - const cancelNotifDelayTimeout = () => { - if (notifDelayTimeout) { - $timeout.cancel(notifDelayTimeout) - } - } - - $scope.$on('$destroy', function () { - cancelNotifDelayTimeout() - }) -} diff --git a/src/public/modules/users/controllers/billing.client.controller.js b/src/public/modules/users/controllers/billing.client.controller.js deleted file mode 100644 index 21a6972568..0000000000 --- a/src/public/modules/users/controllers/billing.client.controller.js +++ /dev/null @@ -1,208 +0,0 @@ -'use strict' - -const { CsvGenerator } = require('../../forms/helpers/CsvGenerator') -const BillingService = require('../../../services/BillingService') -const UserService = require('../../../services/UserService') - -angular - .module('users') - .controller('BillingController', [ - '$q', - '$state', - '$timeout', - 'NgTableParams', - BillingController, - ]) - -function BillingController($q, $state, $timeout, NgTableParams) { - const vm = this - - vm.user = UserService.getUserFromLocalStorage() - - // Send non-logged in personnel to sign in page - if (!vm.user) { - $state.go('signin', { targetState: 'billing' }, { location: 'replace' }) - return - } - - vm.authTypeToName = (authType) => { - switch (authType) { - case 'SP': - return 'SingPass' - case 'MyInfo': - return 'SingPass (MyInfo)' - case 'CP': - return 'CorpPass' - default: - return 'NIL' - } - } - - vm.authTypeToShortName = (authType) => { - switch (authType) { - case 'SP': - return 'SP' - case 'MyInfo': - return 'SP (MI)' - case 'CP': - return 'CP' - default: - return 'NIL' - } - } - - vm.loading = true - - vm.searchState = { - hide: true, - input: '', - intro: true, - } - - // Empty and close search bar - will not affect results shown - vm.closeSearch = () => { - vm.searchState = { - hide: true, - input: '', - intro: false, - } - } - - // Empty and open search bar, with focus - will not affect results shown - vm.openSearch = () => { - vm.searchState = { - hide: false, - input: '', - intro: false, - } - $timeout(() => { - angular.element('#search-bar').focus() - }, 100) - } - - vm.focusOnBilling = () => { - $timeout(() => { - angular.element('#intro-container input').focus() - }, 500) - } - - vm.searchBillingRecords = () => { - vm.searchState.intro = false - angular.element('#search-bar').blur() - vm.getBillingForTimePeriod(null, vm.searchState.input) - } - - vm.getBillingForTimePeriod = function (timePeriod, esrvcId) { - vm.selectedTimePeriod = timePeriod || vm.selectedTimePeriod - esrvcId = esrvcId || vm.esrvcId - vm.loading = true - vm.searchError = false - $q.when( - BillingService.getBillingInfo({ - yr: vm.selectedTimePeriod.yr, - mth: vm.selectedTimePeriod.mth, - esrvcId, - }), - ).then( - function (response) { - // Remove loader - $timeout(function () { - vm.updateTable(response.loginStats) - vm.esrvcId = esrvcId - vm.loading = false - }, 1000) - }, - function (error) { - vm.loading = false - vm.searchError = true - console.error(error) - }, - ) - } - - vm.updateTable = function (dataset) { - vm.sumTotal = dataset.reduce((a, b) => a + b.total, 0) - vm.currLoginStats = dataset - vm.tableParams = new NgTableParams( - { - page: 1, // show first page - count: 50, // count per page - }, - { - dataset, - counts: [], // Remove page size options - }, - ) - } - - vm.downloadBilling = function () { - const csvGenerator = new CsvGenerator( - /* expectedNumRecords= */ 0, - /* numOfMetaDataRows= */ 1, - ) - csvGenerator.addMetaData([ - [`Billing data for ${vm.selectedTimePeriod.name}`], - ]) - - csvGenerator.setHeader([ - 'Form Name', - 'Form Admin', - 'Authentication', - 'Total Logins', - 'Form Link', - ]) - - vm.currLoginStats.forEach((stat) => { - csvGenerator.addLine([ - stat.formName, - stat.adminEmail, - vm.authTypeToName(stat.authType), - stat.total, - $state.href('submitForm', { formId: stat.formId }, { absolute: true }), - ]) - }) - - // Generate a file name without spaces - const fileName = - `Billing-${vm.searchState.input}-${vm.selectedTimePeriod.name}.csv` - .split(' ') - .join('_') - - csvGenerator.triggerFileDownload(fileName) - } - - vm.generateTimePeriods = function () { - // List of all Month Names - const monthNames = [ - 'January', - 'February', - 'March', - 'April', - 'May', - 'June', - 'July', - 'August', - 'September', - 'October', - 'November', - 'December', - ] - - const referenceDate = new Date() - const numDisplayedMonths = 8 - const timePeriods = [] - for (let i = 0; i <= numDisplayedMonths; i++) { - const date = new Date(referenceDate) - date.setMonth(date.getMonth() - i) - const yr = date.getFullYear() - const mth = date.getMonth() - timePeriods.push({ - yr, - mth, - name: `${monthNames[mth]} ${yr}`, - }) - } - vm.timePeriods = timePeriods - vm.selectedTimePeriod = vm.timePeriods[0] - } -} diff --git a/src/public/modules/users/controllers/examples-card.client.directive.js b/src/public/modules/users/controllers/examples-card.client.directive.js deleted file mode 100644 index cd8afe08c0..0000000000 --- a/src/public/modules/users/controllers/examples-card.client.directive.js +++ /dev/null @@ -1,121 +0,0 @@ -'use strict' -const BetaService = require('../../../services/BetaService') - -const UserService = require('../../../services/UserService') - -angular.module('users').directive('examplesCard', [examplesCard]) - -function examplesCard() { - return { - templateUrl: 'modules/users/views/examples-card.client.view.html', - restrict: 'E', - scope: { - form: '<', - // true if this is the example card of a form specified for use-template. - // Used as a flag to automatically call openClientModal() - autoOpenModal: '<', - }, - controller: [ - '$scope', - 'FormApi', - 'emoji', - '$uibModal', - '$state', - 'GTag', - '$location', - 'Toastr', - '$q', - examplesCardController, - ], - } -} - -function examplesCardController( - $scope, - FormApi, - emoji, - $uibModal, - $state, - GTag, - $location, - Toastr, - $q, -) { - $scope.user = UserService.getUserFromLocalStorage() - - $scope.openTemplateModal = () => { - $scope.templateUrl = $state.href( - 'templateForm', - { formId: $scope.form._id }, - { absolute: true }, - ) - $scope.feedbackScore = $scope.form.avgFeedback - ? $scope.form.avgFeedback.toFixed(2) - : '-' - $scope.emojiUrl = emoji.getUrlFromScore($scope.form.avgFeedback) - $scope.showTemplate = true - $scope.showIframeSpinner = true - angular.element('body').addClass('modal-open') - - GTag.examplesClickOpenTemplate($scope.form) - } - - $scope.closeTemplateModal = () => { - $scope.showTemplate = false - angular.element('body').removeClass('modal-open') - // If this was a use-template page, send them back to examples page when they close the modal - if ($scope.autoOpenModal) { - $state.go('examples') - } - GTag.examplesClickCloseTemplate($scope.form) - } - - $scope.onIframeLoad = () => { - $scope.showIframeSpinner = false - $scope.$apply() - } - - /** - * Copy Template Modal functions - */ - - $scope.useTemplate = function () { - const missingBetaPermissions = BetaService.getMissingBetaPermissions( - $scope.user, - $scope.form, - ) - if (missingBetaPermissions.length !== 0) { - const errMsg = - 'You cannot use this template because it has the following beta fields' + - ' which you cannot access: ' + - missingBetaPermissions.join(', ') - Toastr.error(errMsg) - return - } - $scope.createModal = $uibModal.open({ - animation: false, - templateUrl: 'modules/forms/admin/views/create-form.client.modal.html', - windowClass: 'full-screen-modal-window', - controller: 'CreateFormModalController', - controllerAs: 'vm', - resolve: { - FormToDuplicate: () => { - return $q - .when(FormApi.queryTemplate($scope.form._id)) - .then((res) => res.form) - }, - createFormModalOptions: () => ({ mode: 'useTemplate' }), - externalScope: () => ({ - user: $scope.user, - form: $scope.form, - }), - }, - }) - } - - // Open the specified form template - // Used for /:formId/use-template - if ($scope.autoOpenModal) { - $scope.openTemplateModal() - } -} diff --git a/src/public/modules/users/controllers/examples-list.client.controller.js b/src/public/modules/users/controllers/examples-list.client.controller.js deleted file mode 100644 index 5569241b41..0000000000 --- a/src/public/modules/users/controllers/examples-list.client.controller.js +++ /dev/null @@ -1,171 +0,0 @@ -'use strict' - -const ExamplesService = require('../../../services/ExamplesService') -const UserService = require('../../../services/UserService') - -const PAGE_SIZE = 16 - -angular.module('users').controller('ExamplesController', [ - '$q', - '$scope', - 'GTag', - '$state', - '$timeout', - // When landing on the examples page, FormData is undefined. - // From the use-template page, if the user was logged in, FormData will be a JSON object with the form field. - // If the user was not logged in, FormData will contain the formId of the target form. - 'FormData', - ExamplesController, -]) - -function ExamplesController($q, $scope, GTag, $state, $timeout, FormData) { - const vm = this - - vm.user = UserService.getUserFromLocalStorage() - - // Send non-logged in personnel to sign in page - if (!vm.user) { - // If there is no form data, they landed on the examples page - if (!FormData) { - $state.go('signin', { targetState: 'examples' }, { location: 'replace' }) - // Otherwise, they landed on the /:formId/use-template page, redirect and provide the form data - } else { - $state.go( - 'signin', - { targetState: 'useTemplate', targetFormId: FormData }, - { location: 'replace' }, - ) - } - return - } - - vm.agencyName = vm.user.agency.shortName - vm.agencyId = vm.user.agency._id - vm.duplicateState = null - // The form specified in use-template. Undefined if the user is on - // the default examples page with no specified template - vm.templateForm = FormData - - vm.searchParams = { - pageNo: 0, - filterByAgency: false, - searchTerm: '', - } - - vm.uiState = { - forms: [], - searchInput: '', - loadingState: 'free', // Can be free, busy, complete - hideSearchBar: true, - totalNumResults: 0, - numResultsLoadedSoFar: 0, - } - - // Empty and close search bar - will not affect results shown - vm.closeSearch = () => { - vm.uiState.searchInput = '' - vm.uiState.hideSearchBar = true - } - - // Empty and open search bar, with focus - will not affect results shown - vm.openSearch = () => { - vm.uiState.searchInput = '' - vm.uiState.hideSearchBar = false - $timeout(() => { - angular.element('#search-bar').focus() - $scope.$apply() - }, 100) - } - - // Update forms shown based on filter - vm.updateSelection = (filterByAgency) => { - vm.searchParams.pageNo = 0 - vm.searchParams.filterByAgency = filterByAgency - // do not update vm.searchParams.searchTerm - vm.uiState.forms = [] - vm.uiState.numResultsLoadedSoFar = 0 - vm.uiState.loadingState = 'free' - vm.loadNextPage() - } - - // Get forms based on search query - vm.searchForms = (event) => { - if (event && event.target) { - event.target.blur() - } - vm.searchParams.searchTerm = vm.uiState.searchInput - vm.updateSelection(vm.searchParams.filterByAgency) - - GTag.examplesSearchTerm(vm.searchParams.searchTerm) - } - - // Reset to default search params - vm.resetSearch = () => { - vm.searchParams.searchTerm = '' - vm.closeSearch() - vm.updateSelection(false) - } - - vm.loadNextPage = () => { - // Don't load next page if there is ongoing processes - if (vm.uiState.loadingState !== 'free') return - vm.uiState.loadingState = 'busy' - - // Extract search parameters - let pageNo = vm.searchParams.pageNo - let searchTerm = vm.searchParams.searchTerm - let agency = vm.searchParams.filterByAgency ? vm.agencyId : '' - /** - * Only check total num forms on the first page of a non-empty search query. - * In particular, this variable will be `false` when first loading up the examples page, - * thereby speeding up the page load time because counting all forms is a slow query - */ - const shouldGetTotalNumResults = pageNo === 0 && searchTerm !== '' - - // Get next page of forms and add to ui - $q.when( - ExamplesService.getExampleForms({ - pageNo, - searchTerm, - agency, - shouldGetTotalNumResults, - }), - ).then( - function (response) { - /* Form Properties - ------------------ - _id: form id - avgFeedback: 4.5 - title: form title - logo: form logo url - agency: agency shortname - colorTheme: blue - */ - // Update forms listed in UI - vm.uiState.forms = vm.uiState.forms.concat(response.forms) - // Update number of results listed in UI only if there is a search query - if (shouldGetTotalNumResults) { - vm.uiState.totalNumResults = response.totalNumResults - } - - const numResultsInPage = response.forms.length - vm.uiState.numResultsLoadedSoFar += numResultsInPage - - // If number of forms returned is less than pageSize, there are no more forms - if (numResultsInPage < PAGE_SIZE) { - vm.uiState.loadingState = 'complete' - return - } - // Increment page number and free loading state - vm.searchParams.pageNo += 1 - vm.uiState.loadingState = 'free' - }, - function (error) { - console.error(error) - vm.uiState.loadingState = 'complete' - vm.uiState.totalNumResults = 0 - vm.uiState.numResultsLoadedSoFar = 0 - }, - ) - } -} diff --git a/src/public/modules/users/css/billing.css b/src/public/modules/users/css/billing.css deleted file mode 100644 index e0d544bffa..0000000000 --- a/src/public/modules/users/css/billing.css +++ /dev/null @@ -1,369 +0,0 @@ -#billing-tab { - width: 100%; - height: 100%; - background-color: #f0f4f6; - overflow-x: hidden; -} - -#billing-tab .container { - padding-left: 24px; - padding-right: 24px; - padding-bottom: 50px; -} - -/* Header */ - -#billing-tab #title-grp { - display: flex; - justify-content: space-between; - align-items: center; - height: 48px; -} - -#billing-tab #title { - font-weight: bold; - font-size: 28px; - color: #2f60ce; - margin-top: 41px; -} - -#billing-tab #sub-title { - font-size: 18px; - line-height: 1.67; - color: #484848; -} - -@media not all and (min-width: 768px) { - #billing-tab #sub-title.subtitle-hidden { - display: none; - } -} - -#billing-tab #divider { - height: 1px; - border: solid 0.5px #dcdcdc; - margin: 39px 0 29px 0; -} - -/* Calendar Dropdown */ - -#billing-tab .selectize-input, -#billing-tab .selectize-input.focus, -#billing-tab .selectize-input.selectize-focus { - border: solid 1px #b8b8b8 !important; -} - -#billing-tab .selectize-control, -#billing-tab .selectize-input { - height: 48px; -} - -#billing-tab .selectize-input { - box-shadow: none; -} - -/* Login Stats */ - -#billing-tab #stats-options-grp { - display: flex; - justify-content: space-between; -} - -@media (min-width: 768px) { - #billing-tab #stats-options-grp { - flex-direction: row; - align-items: center; - } - - #billing-tab #options-grp { - min-width: 450px; - } - - #billing-tab #stats-grp { - align-items: center; - } -} - -@media (max-width: 768px) { - #billing-tab #stats-options-grp { - flex-direction: column; - align-items: flex-start; - } - - #billing-tab #options-grp { - width: 100%; - } - - #billing-tab #stats-grp { - align-items: end; - } -} - -#billing-tab #stats-grp { - color: #484848; - font-size: 18px; - height: 48px; - display: flex; -} - -#billing-tab #stats-grp .stat-text { - font-weight: 700; -} - -/* Button */ - -#billing-tab button { - margin-top: 0; -} - -/* Loader */ - -#billing-tab .loader { - font-size: 60px; - position: absolute; - z-index: 5; - width: 100%; -} - -#billing-tab .loader i { - color: #3263cb; - position: relative; - top: 50px; - left: calc(50% - 35px); -} - -#billing-tab #table-loader-grp { - position: relative; - margin-bottom: 40px; - margin-top: 29px; -} - -/* No Results View */ - -#billing-tab .search-error { - display: flex; - flex-direction: column; -} - -#billing-tab .search-error img { - width: auto; - height: 40vh; - min-height: 270px; - margin-bottom: 20px; - margin-top: 20px; -} - -#billing-tab .search-error #msg-1 { - font-size: 28px; - font-weight: bold; - text-align: center; - color: rgb(50, 50, 50); -} - -#billing-tab .search-error #msg-2 { - font-size: 18px; - text-align: center; - color: rgb(118, 118, 118); -} - -/* Billing Table */ - -#billing-tab table { - table-layout: fixed; - font-size: 18px; -} - -#billing-tab th.header, -#billing-tab .ng-table th.sortable.sort-asc, -#billing-tab .ng-table th.sortable.sort-desc { - background-color: #444; - color: white; - text-shadow: none; - border-bottom: none; -} - -#billing-tab .ng-table td, -#billing-tab .ng-table th { - height: 50px; - vertical-align: inherit; -} - -#billing-tab .ng-table th.sortable .sort-indicator::after, -#billing-tab .ng-table th.sortable .sort-indicator::before { - border-color: white transparent; -} - -#billing-tab .ng-table th.sortable.sort-desc .sort-indicator::after { - border-top: 4px solid white; -} - -#billing-tab .ng-table th.sortable.sort-asc .sort-indicator::after, -#billing-tab .ng-table th.sortable.sort-desc .sort-indicator::after { - opacity: 1; -} - -#billing-tab th.header.total-col.sortable { - width: 10%; - text-align: center; -} - -#billing-tab th.header.email-col.sortable, -#billing-tab th.header.auth-col.sortable { - width: 25%; - text-align: left; - padding-left: 11px; -} - -#billing-tab th.header.title-col.sortable { - width: 40%; - text-align: left; - padding-left: 11px; -} - -#billing-tab td.total-col { - text-align: center; -} - -#billing-tab td.email-col, -#billing-tab td.title-col, -#billing-tab td.auth-col { - text-align: left; - white-space: normal; - word-wrap: break-word; - padding-left: 11px; -} - -@media (min-width: 768px) { - #billing-tab .auth-col-mobile { - display: none; - } -} - -@media not all and (min-width: 768px) { - #billing-tab .auth-col-desktop { - display: none; - } -} - -/* Background blur on search */ - -#billing-tab .background-blur { - opacity: 0.5; -} - -/* Search Bar */ - -#billing-tab #search-icon { - color: #484848; - font-size: 24px; - cursor: pointer; -} - -#billing-tab #search-input { - position: relative; -} - -@media (min-width: 768px) { - #billing-tab #search-input { - min-width: 450px; - } -} - -@media not all and (min-width: 768px) { - #billing-tab #search-input { - width: 100%; - } -} - -#billing-tab #search-input input { - padding-left: 35px; - padding-right: 35px; - width: 100%; -} - -#billing-tab #search-input i.bx-search { - position: absolute; - top: 14px; - left: 9px; - color: #484848; - font-size: 24px; -} - -#billing-tab #search-input i.bx-x { - position: absolute; - top: 12px; - right: 9px; - color: #979797; - font-size: 24px; - cursor: pointer; -} - -/* Billing Intro */ - -#billing-tab #intro-container { - padding-top: 100px; - display: flex; - flex-direction: column; - justify-content: center; -} - -#billing-tab #intro-title { - font-size: 24px; - font-weight: bold; - text-align: center; - color: #323232; - padding-top: 30px; -} - -#billing-tab #intro-sub-title { - font-size: 20px; - line-height: 1.4; - text-align: center; - color: #323232; - margin-bottom: 30px; -} - -#billing-tab #intro-img { - height: 230px; - width: auto; -} - -@media (min-width: 768px) { - #billing-tab #intro-container { - width: 510px; - } -} - -@media (max-width: 768px) { - #billing-tab #intro-container { - width: 345px; - } -} - -/* Billing Intro Button */ - -#billing-tab #btn-search { - margin-top: 30px; -} - -#billing-tab #faq-link a { - text-decoration: underline; -} - -@media all and (min-width: 768px) { - #billing-tab #faq-link { - margin-top: 13px; - text-align: right; - } -} - -@media all and (max-width: 768px) { - #billing-tab #faq-link { - margin-top: 20px; - text-align: center; - } - - #billing-tab .btn-custom { - width: 100%; - } -} diff --git a/src/public/modules/users/css/examples-card.css b/src/public/modules/users/css/examples-card.css deleted file mode 100644 index ec5b9846b2..0000000000 --- a/src/public/modules/users/css/examples-card.css +++ /dev/null @@ -1,372 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version,IE 11 -*/ - -/* ie11 specific css */ -.examples-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; -} - -@media all and (min-width: 768px) and (max-width: 992px) { - @supports (display: grid) { - .examples-container { - display: -ms-grid; - display: grid; - grid-template-columns: repeat(auto-fill, 320px); - grid-gap: 1rem; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - } - } - - .examples-container #form-card { - width: 320px; - min-width: 320px; - display: inline-block; - margin-left: 10px; - margin-right: 10px; - } -} - -@media all and (min-width: 992px) { - @supports (display: grid) { - .examples-container { - display: -ms-grid; - display: grid; - grid-template-columns: repeat(auto-fill, 265px); - grid-gap: 1rem; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - } - } - - .examples-container #form-card { - width: 265px; - min-width: 265px; - display: inline-block; - margin-left: 5px; - margin-right: 5px; - } -} - -@media not all and (min-width: 768px) { - .examples-container { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - - .examples-container examples-card { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - } - - .examples-container #form-card { - width: 320px; - } -} - -#form-card .bottom-section, -#form-card .top-section { - background-color: #fff; - text-align: center; -} - -#form-card .bottom-section { - padding-top: 15px; - padding-bottom: 15px; - font-size: 12px; - text-transform: uppercase; -} - -#form-card .bottom-section #agency-name { - font-weight: bold; - color: #767676; - letter-spacing: 0.25px; -} - -#form-card .bottom-section #last-submission { - color: #b8b8b8; - letter-spacing: 0.25px; -} - -#form-card .top-section { - padding-top: 7px; - padding-bottom: 7px; -} - -#form-card .top-section img { - max-height: 27px; - width: auto; -} - -#form-card .middle-section { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - height: 115px; - font-weight: 200; - font-size: 18px; - color: rgb(255, 255, 255); - overflow-wrap: break-word; - padding-left: 15px; - padding-right: 15px; - text-align: center; - text-transform: capitalize; -} - -#form-card .middle-section .form-title { - overflow: hidden; - word-wrap: break-word; - line-height: 23px; - max-height: 69px; -} - -#form-card { - -webkit-box-shadow: 1px 2px 6px 0 rgba(0, 0, 0, 0.1); - box-shadow: 1px 2px 6px 0 rgba(0, 0, 0, 0.1); - margin-bottom: 30px; - cursor: pointer; - position: relative; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; -} - -#form-card:hover { - -webkit-box-shadow: 1px 2px 6px 0 rgba(0, 0, 0, 0.3); - box-shadow: 1px 2px 6px 0 rgba(0, 0, 0, 0.3); -} - -@media not all and (min-width: 768px) { - #form-card { - width: 100%; - } -} - -/* FULL SCREEN TEMPLATE */ - -.full-screen-template { - position: fixed; - top: 0; - bottom: 0; - right: 0; - left: 0; - z-index: 1; -} - -.full-screen-template .template-background { - background-color: rgba(50, 50, 50, 0.7); - position: absolute; - height: 100%; - width: 100%; - z-index: -1; -} - -.full-screen-template .template-header { - background-color: white; - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; - -webkit-box-pack: justify; - -ms-flex-pack: justify; - justify-content: space-between; - height: 80px; - border-bottom: solid 1px #e4e4e4; - padding: 16px 29px; -} - -.template-header .header-group { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: normal; - -ms-flex-direction: row; - flex-direction: row; -} - -/* Use template button spinner */ -.full-screen-template .bx-loader { - color: #3263cb; -} - -#examples-tab .template-header .header-group .bx-lg, -.template-header .header-group .bx-lg { - color: white; -} - -.template-header .header-stat { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: start; - -ms-flex-align: start; - align-items: flex-start; - height: 100%; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-right: 27px; -} - -.template-header .header-stat .stat-title { - font-size: 12px; - line-height: 1.83; - letter-spacing: 0.7px; - color: #4a4a4a; - text-transform: uppercase; -} - -.template-header .header-stat .stat-value { - font-size: 28px; - font-weight: bold; - line-height: 1.07; - color: black; -} - -.template-header .header-stat .stat-value .rating-value { - white-space: nowrap; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; -} - -.template-header .header-stat .stat-value .rating-value img { - padding-left: 10px; - height: 26px; -} - -.full-screen-template .template-iframe { - height: calc(100% - 81px); - width: 1024px; - max-width: 100%; - background: white; - margin: auto; -} - -@supports (-webkit-overflow-scrolling: touch) { - /* CSS specific to iOS devices - Enable iframe scrolling on iOS devices */ - .full-screen-template .template-iframe { - -webkit-overflow-scrolling: touch; - overflow-y: auto; - } -} - -.full-screen-template .template-iframe iframe { - width: 100%; - height: 100%; -} - -.template-header .use-template-btn { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - margin-right: 70px; -} - -@media (max-width: 768px) { - .full-screen-template .template-header { - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - height: 140px; - } - - .template-header .use-template-btn { - width: 100%; - margin-right: 0; - } -} - -.template-header .close-button { - cursor: pointer; - height: 48px; - width: 48px; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - font-size: 28px; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - color: #979797; - margin-left: 27px; - position: absolute; - right: 15px; - top: 15px; -} - -.template-header .close-button:hover { - color: #333; -} - -.full-screen-template .loading-spinner { - position: absolute; - font-size: 60px; - left: calc(50% - 30px); - top: 50%; -} - -@media (max-width: 768px) { - /* To match the position of the spinner in the iframe */ - .full-screen-template .loading-spinner { - top: calc(50% + 60px); - } -} diff --git a/src/public/modules/users/css/examples-list.css b/src/public/modules/users/css/examples-list.css deleted file mode 100644 index 2233fed995..0000000000 --- a/src/public/modules/users/css/examples-list.css +++ /dev/null @@ -1,239 +0,0 @@ -#examples-tab { - width: 100%; - height: 100%; - background-color: #f0f4f6; - overflow-x: hidden; -} - -#examples-tab .container { - padding-left: 24px; - padding-right: 24px; - padding-bottom: 50px; -} - -#examples-tab #title { - font-weight: bold; - font-size: 28px; - color: #2f60ce; - margin-top: 41px; -} - -#examples-tab #sub-title { - font-size: 18px; - line-height: 1.67; - color: #484848; -} - -#examples-tab #sub-title a { - text-decoration: underline; -} - -#examples-tab #sub-title #searchResults { - padding-right: 10px; -} - -#examples-tab #search-icon { - margin-left: 25px; - color: #484848; - font-size: 24px; - cursor: pointer; -} - -#examples-tab #search-input { - position: relative; - margin-left: 25px; -} - -#examples-tab #search-input input { - padding-left: 35px; - padding-right: 35px; - width: 250px; -} - -#examples-tab #search-input i.bx-search { - position: absolute; - top: 14px; - left: 9px; - color: #484848; - font-size: 24px; -} - -#examples-tab #search-input i.bx-x { - position: absolute; - top: 12px; - right: 9px; - color: #979797; - font-size: 24px; - cursor: pointer; -} - -#examples-tab #search-grp { - display: flex; - align-items: center; - height: 48px; -} - -@media all and (min-width: 992px) { - #examples-tab #search-grp { - flex-direction: row; - justify-content: flex-end; - } - - #examples-tab #forms-list { - margin-top: 50px; - } - - #examples-tab #title-grp { - display: flex; - align-items: baseline; - } -} - -@media not all and (min-width: 992px) { - #examples-tab #search-grp { - margin-top: 25px; - justify-content: space-between; - } - - #examples-tab #forms-list { - margin-top: 20px; - } -} - -@media not all and (min-width: 768px) { - #examples-tab .hide-dropdown { - display: none; - } - - #examples-tab #search-input { - margin-left: 0; - width: 100%; - } - - #examples-tab #search-input input { - width: 100%; - } -} - -#examples-tab #dropdown-selection { - font-size: 18px; - color: #08080d; - margin-right: 38px; - cursor: pointer; -} - -#examples-tab #dropdown-options a { - font-size: 18px; - color: #484848; - padding: 10px 20px; -} - -#examples-tab #dropdown-options a.bold { - font-weight: bold; -} - -/* Loader */ -#examples-tab .loader { - text-align: center; - font-size: 60px; -} - -@media (min-width: 768px) { - #examples-tab .loader { - margin-top: 50px; - margin-bottom: 50px; - } -} - -@media (max-width: 768px) { - #examples-tab .loader { - margin-top: 25px; - margin-bottom: 25px; - } -} - -#examples-tab .bx-loader { - color: #3263cb; -} - -/* Error when there is no results */ -#examples-tab .search-error { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -#examples-tab .search-error #msg-1 { - font-size: 28px; - font-weight: bold; - text-align: center; - color: #323232; -} - -#examples-tab .search-error #msg-2 { - font-size: 18px; - text-align: center; - color: #767676; -} - -#examples-tab .search-error img { - width: auto; - height: 40vh; - min-height: 270px; - margin-bottom: 15px; - margin-top: 15px; -} - -@media (max-width: 768px) { - #examples-tab .search-error img { - height: 30vh; - min-height: 150px; - } -} - -/* For maintenance page while we improve Examples search */ -#examples-tab-maintenance #title-maintenance { - font-weight: bold; - font-size: 28px; - color: #2f60ce; - margin-top: 41px; - text-align: center; -} - -#examples-tab-maintenance #sub-title-maintenance { - font-size: 18px; - line-height: 1.67; - color: #484848; - text-align: center; -} - -#examples-tab-maintenance #title-grp-maintenance { - display: flex; - align-items: baseline; -} - -#examples-tab-maintenance #no-results-maintenance { - margin-top: 50px; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; -} - -#examples-tab-maintenance #no-results-maintenance img { - width: auto; - height: 40vh; - min-height: 270px; - margin-bottom: 15px; - margin-top: 15px; -} - -@media (max-width: 768px) { - #examples-tab-maintenance #no-results-maintenance img { - height: 30vh; - min-height: 150px; - } -} - -/* End for maintenance page while we improve Examples search */ diff --git a/src/public/modules/users/css/privacy-tou.css b/src/public/modules/users/css/privacy-tou.css deleted file mode 100644 index 411b238538..0000000000 --- a/src/public/modules/users/css/privacy-tou.css +++ /dev/null @@ -1,59 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version -*/ - -#privacy-tou ol { - list-style: none; - padding-top: 8px; - padding-bottom: 8px; -} - -@media screen and (max-width: 425px) { - #privacy-tou ol { - -webkit-padding-start: 28px; - padding-inline-start: 28px; - } -} - -#privacy-tou li { - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - padding-top: 8px; - padding-bottom: 8px; -} - -#privacy-tou .tou-point-bold { - font-size: 20px; - color: #323232; - font-weight: 700; - word-break: break-word; -} - -#privacy-tou .tou-point-header::before { - font-size: 20px; -} - -#privacy-tou ol > li::before { - content: attr(seq) ' '; - position: relative; - left: -44px; - width: 0; - height: 0; - display: inline-block; -} - -#privacy-tou ol > li > ol > li::before { - left: -50px; -} - -#privacy-tou ol > li > ol > li > ol > li::before { - left: -60px; -} diff --git a/src/public/modules/users/css/sign-in.css b/src/public/modules/users/css/sign-in.css deleted file mode 100755 index 3fb1c4018c..0000000000 --- a/src/public/modules/users/css/sign-in.css +++ /dev/null @@ -1,230 +0,0 @@ -/* -* Prefixed by https://autoprefixer.github.io -* PostCSS: v7.0.29, -* Autoprefixer: v9.7.6 -* Browsers: last 4 version -*/ - -#sign-in { - height: 100vh; - background-color: #fff; -} - -/* CSS shared by Email and OTP section */ - -#sign-in .input-box { - min-height: 100%; - width: 100%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: horizontal; - -webkit-box-direction: reverse; - -ms-flex-direction: row-reverse; - flex-direction: row-reverse; - position: relative; -} - -#sign-in .input-container { - height: 100%; - width: 60%; - display: -webkit-box; - display: -ms-flexbox; - display: flex; - -webkit-box-orient: vertical; - -webkit-box-direction: normal; - -ms-flex-direction: column; - flex-direction: column; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; -} - -#sign-in .input-container .input-wrapper { - max-width: 80%; - padding: 40px; -} - -#sign-in .input-banner { - display: block; - background-color: #2f60ce; - position: absolute; - top: 0; - left: 0; -} - -#sign-in .input-overlay { - display: block; - position: absolute; -} - -#sign-in .btn-grp { - margin-bottom: 50px; -} - -@media not all and (max-width: 992px) { - #sign-in .input-box { - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - - #sign-in .input-banner { - height: 100%; - width: 40%; - } - - #sign-in .input-overlay { - width: 37%; - height: 55%; - top: 30%; - left: 12.5%; - max-height: 344px; - max-width: 524px; - } -} - -@media (max-width: 992px) { - #sign-in .input-container { - width: initial; - max-width: 100%; - } - - #sign-in .input-container .input-wrapper { - max-width: 100%; - padding: 0; - } -} - -@media (min-width: 768px) and (max-width: 992px) { - #sign-in .input-box { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: normal; - -ms-flex-align: normal; - align-items: normal; - padding-top: 448px; - } - - #sign-in .input-banner { - height: 200px; - width: 100%; - } - - #sign-in .input-overlay { - width: 430px; - height: 283px; - top: 68px; - left: auto; - max-height: 283px; - max-width: 430px; - } -} - -@media not all and (min-width: 768px) { - #sign-in .input-box { - -webkit-box-pack: center; - -ms-flex-pack: center; - justify-content: center; - -webkit-box-align: center; - -ms-flex-align: center; - align-items: center; - } - - #sign-in .input-banner { - display: none; - } - - #sign-in .input-overlay { - display: none; - } - - #sign-in .input-container { - padding: 20px; - } -} - -#sign-in .btn-qn { - font-size: 18px; - color: #767676; - margin-left: 25px; -} - -#sign-in .input-label { - font-size: 20px; - font-weight: 600; - color: #323232; -} - -#sign-in .input-sublabel { - font-size: 16px; - font-weight: 400; - color: #323232; - margin-bottom: 20px; -} - -#sign-in .title { - font-size: 28px; - font-weight: bold; - color: #2f60ce; -} - -#sign-in #tagline { - font-size: 16px; - color: #767676; - margin-top: 15px; -} - -#sign-in .btn-custom { - margin-top: 30px; -} - -#sign-in .otp-disable { - cursor: not-allowed; - pointer-events: none; -} - -@media (min-width: 768px) { - #sign-in .input-custom, - #sign-in .alert-custom, - #sign-in #tagline { - width: 460px; - max-width: 100%; - } - - #sign-in .logo { - height: 57px; - } - - #sign-in .input-label { - margin-top: 50px; - } -} - -@media (max-width: 768px) { - #sign-in .input-custom, - #sign-in .alert-custom, - #sign-in #tagline { - width: 345px; - max-width: 100%; - } - - #sign-in .logo { - height: 54px; - } - - #sign-in .btn-qn { - margin-top: 100px; - display: block; - margin-left: 0; - text-align: center; - } - - #sign-in .input-label { - margin-top: 46px; - } -} diff --git a/src/public/modules/users/views/authentication/signin.client.view.html b/src/public/modules/users/views/authentication/signin.client.view.html deleted file mode 100755 index 189d2e3c89..0000000000 --- a/src/public/modules/users/views/authentication/signin.client.view.html +++ /dev/null @@ -1,131 +0,0 @@ - -
    - -
    -
    - -
    -
    - -
    Build government forms in minutes
    -
    Login
    -
    - Singapore Public Service official email addresses only -
    - -
    - - -
    -
    - - Have a question? -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    One-Time Password
    - -
    - - {{vm.signInMsg.msg}} -
    -
    - - Sending OTP... -
    -
    - - - OTP might be delayed due to government email traffic. If you are - unable to sign in, please try again later, or contact us. - -
    -
    - - Resend OTP? -
    -
    -
    -
    -
    diff --git a/src/public/modules/users/views/billing.client.view.html b/src/public/modules/users/views/billing.client.view.html deleted file mode 100644 index 10a9682c0b..0000000000 --- a/src/public/modules/users/views/billing.client.view.html +++ /dev/null @@ -1,188 +0,0 @@ -
    - - -
    -
    -
    Billing
    -
    -
    - Export monthly bill charges -
    - -
    - - - -
    -
    -
    -
    -
    -
    - {{vm.sumTotal}} login(s) for - {{vm.esrvcId}} -
    -
    -
    -
    -
    - - {{$select.selected.name}} - - - - -
    -
    - -
    -
    -
    -
    - -
    -
    - -
    -
    - -
    An error occurred.
    -
    Note that e-service IDs are case-sensitive.
    -
    -
    -
    - - - - - - - - -
    - {{row.formName}} - - {{vm.authTypeToName(row.authType)}} - - {{vm.authTypeToShortName(row.authType)}} - - {{row.total}} -
    -
    -
    - -
    No results found
    -
    Note that e-service IDs are case-sensitive.
    -
    -
    -
    -
    -
    - -
    Bill charges
    -
    - To view your billing, enter your e-service ID below. -
    -
    e-service ID
    -
    - - -
    -
    -
    -
    diff --git a/src/public/modules/users/views/examples-card.client.view.html b/src/public/modules/users/views/examples-card.client.view.html deleted file mode 100644 index 4d907fdf16..0000000000 --- a/src/public/modules/users/views/examples-card.client.view.html +++ /dev/null @@ -1,55 +0,0 @@ - -
    -
    - -
    -
    -
    {{form.title}}
    -
    - {{form.title.substring(0, 65)}} ... -
    -
    -
    -
    {{form.agency}}
    -
    -
    - -
    -
    -
    -
    -
    -
    Rating
    -
    - - {{ feedbackScore }} - - -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    diff --git a/src/public/modules/users/views/examples-list.client.view.html b/src/public/modules/users/views/examples-list.client.view.html deleted file mode 100644 index 6dea69969a..0000000000 --- a/src/public/modules/users/views/examples-list.client.view.html +++ /dev/null @@ -1,108 +0,0 @@ -
    - - -
    -
    -
    Form examples
    -
    -
    - - {{vm.uiState.totalNumResults}} form(s) matching - ‘{{vm.searchParams.searchTerm}}’ in ‘{{ - vm.searchParams.filterByAgency ? 'Your agency' : 'All agencies' - }}’ - Reset - - - Explore forms and use as a template - -
    -
    - - - -
    - - - -
    -
    -
    - -
    - - -
    -
    - -
    -
    - -
    No results found
    -
    - Try other keywords such as survey, feedback or - registration. -
    -
    - -
    - -
    -
    -
    - -
    diff --git a/src/public/modules/users/views/static/privacy.client.view.html b/src/public/modules/users/views/static/privacy.client.view.html deleted file mode 100644 index 645a194215..0000000000 --- a/src/public/modules/users/views/static/privacy.client.view.html +++ /dev/null @@ -1,210 +0,0 @@ -
    -
    - - -

    Privacy Policy

    - - -

    - This Privacy Policy must be read in conjunction with the Terms of Use that - accompany the applicable service you are requesting from us (the - "Service"). If you are a form respondent, this Privacy Policy will - also apply in addition to any other privacy policy that the form creator - provides to you as part of the form. In this Privacy Policy, - "Public Sector Entities" means the Government (including its - ministries, departments and organs of state) and public authorities (such - as statutory boards) and "personal data" shall have the same meaning as - its definition in the Personal Data Protection Act 2012 (No. 26 of 2012). -

    - -
      -
    1. - Insofar as the Service consists of or is provided to you through a - website, please note that: -
        -
      1. - We may use "cookies", where a small data file is sent to your - browser to store and track information about you when you enter our - websites. The cookie is used to track information such as the number - of users and their frequency of use, profiles of users and their - preferred sites. While this cookie can tell us when you enter our - sites and which pages you visit, it cannot read data off your hard - disk. -
      2. -
      3. - You can choose to accept or decline cookies. Most web browsers - automatically accept cookies, but you can usually modify your - browser setting to decline cookies if you prefer. This may prevent - you from taking full advantage of the website. -
      4. -
      -
    2. -
    3. - We may request/collect certain types of data from you in connection with - your access or use of the Service. The data that may be - requested/collected include those identified in the Annex herein. Your - data may be stored in our servers, systems or devices, in the servers, - systems or devices of our third party service providers or - collaborators, or on your device, and may be used by us or our third - party service providers or collaborators to facilitate your access or - use of the Service. We or our third party service providers or - collaborators may collect system configuration information and/or - traffic information (such as an IP address) and/or use information or - statistical information to operate, maintain or improve the Services or - the underlying service of the third party service provider or - collaborator. For the avoidance of doubt, in this Privacy Policy, a - reference to a third party service provider or collaborator includes - other third parties who provide a service or collaborate with our third - party service provider or collaborator. -
    4. -
    5. - If you provide us with personal data: -
        -
      1. - We may use, disclose and process the data for any one or more of the - following purposes: -
          -
        1. - to assist, process and facilitate your access or use of the - Service; -
        2. -
        3. - to administer, process and facilitate any transactions or - activities by you, whether with us or any other Public Sector - Entity or third party service provider or collaborator, and - whether for your own benefit, or for the benefit of a third - party on whose behalf you are duly authorized to act; -
        4. -
        5. - to carry out your instructions or respond to any queries, - feedback or complaints provided by (or purported to be provided - by) you or on your behalf, or otherwise for the purposes of - responding to or dealing with your interactions with us; -
        6. -
        7. - to monitor and track your usage of the Service, to conduct - research, data analytics, surveys, market studies and similar - activities, in order to assist us in understanding your - interests, concerns and preferences and improving the Service - (including any service of a third party service provider or - collaborator) and other services and products provided by Public - Sector Entities. For the avoidance of doubt, we may also - collect, use, disclose and process such information to create - reports and produce statistics regarding your transactions with - us and your usage of the Services and other services and - products provided by Public Sector Entities for record-keeping - and reporting or publication purposes (whether internally or - externally); -
        8. -
        9. - for the purposes of storing or creating backups of your data - (whether for contingency or business continuity purposes or - otherwise), whether within or outside Singapore; -
        10. -
        11. - to enable us to contact you or communicate with you on any - matters relating to your access or use of the Service, including - but not limited to the purposes set out above, via email, SMS, - instant messaging, push notifications or such other forms of - communication that we may introduce from time to time depending - on the functionality of the Service and/or your device. -
        12. -
        -
      2. -
      3. - We may share necessary data with other Public Sector Entities, and - third party service providers in connection with the Service, so as - to provide the Service to you in the most efficient and effective - way unless such sharing is prohibited by law. -
      4. -
      5. - We will NOT share your personal data with entities which are not - Public Sector Entities, except where such sharing is necessary for - such entities to assist us in providing the Service to you or for - fulfilling any of the purposes herein. -
      6. -
      7. - For your convenience, we may also display to you data you had - previously supplied us or other Public Sector Entities. This will - speed up the transaction and save you the trouble of repeating - previous submissions. Should the data be out-of-date, please supply - us the latest data. -
      8. -
      -
    6. -
    7. - Please note that we may be required to disclose your data by law, - including any law governing the use/provision of any service of a third - party service provider or collaborator. -
    8. -
    9. - To safeguard your personal data, all electronic storage and transmission - of personal data is secured with appropriate security technologies. -
    10. -
    11. - You may withdraw your consent to the use and disclosure of your data by - us with reasonable notice and subject to any prevailing legal or - contractual restrictions; however, doing so may prevent the proper - functioning of the Service and may also result in the cessation of the - Service to you. -
    12. -
    13. - The Service may contain links to external sites whose data protection - and privacy practices may differ from ours. We are not responsible for - the content and privacy practices of these other websites and encourage - you to consult the privacy notices of those sites. -
    14. -
    15. Please see the Annex for additional terms/notices.
    16. -
    17. - - Please contact - support@form.gov.sg if you: - -
        -
      1. - have any enquiries or feedback on our data protection policies and - procedures; or -
      2. -
      3. - need more information on or access to data which you have provided - to us in the past. -
      4. -
      -
    18. -
    - -

    -
    This Privacy Policy is dated 24 Nov 2020.
    -
    -

    ANNEX

    - -

    Name of Service: Form

    -
      -
    1. - If you are a form administrator or creator, please note that GovTech - will collect your email address and other contact details. In the event - you request data from us concerning the form respondents, you warrant - and represent that you have the consent of form respondents for us to - provide the data to you or that such consent is not necessary under the - applicable rules/laws. -
    2. -
    3. - If you are a form respondent, please note that GovTech may collect, - store and/or process data in accordance with this Privacy Policy (which - applies in addition to the privacy policy/statement of the form - administrator/creator agency(/ies)) and disclose the data to the form - administrators/creator, or process the data for the form - administrators/creator. However, if you have any enquiries or feedback - on the form creator’s data protection, policies and procedures or need - more information on or access to data which you have provided directly - to the form creator in the past, please consult the privacy - policy/statement of the form creator agency(/ies) and contact the form - creator agency(/ies) directly. -
    4. -
    -
    -
    diff --git a/src/public/modules/users/views/static/terms.client.view.html b/src/public/modules/users/views/static/terms.client.view.html deleted file mode 100644 index 9baea0f24f..0000000000 --- a/src/public/modules/users/views/static/terms.client.view.html +++ /dev/null @@ -1,700 +0,0 @@ -
    -
    - - -

    Terms of Use

    - - -
      -
    1. - General -
        -
      1. - - These Terms of Use govern your access to and use of our services, - including the application (whether as software or as a website or - otherwise), its contents, push notifications and all other - accompanying materials as identified in the Schedule below - (collectively, the "Service"). - -
      2. -
      3. - - This Service is provided to you by the Government Technology - Agency ("GovTech"). GovTech’s office is located at 10 Pasir - Panjang Road, #10-01, Mapletree Business City, Singapore 117438. - -
      4. -
      5. - - By accessing or using any part of this Service, you - unconditionally agree and accept to be legally bound by these - Terms of Use and any amendments thereto from time to time. GovTech - reserves the right to change these Terms of Use at its sole - discretion and at any time. - - You should read the Terms of Use carefully each time you access - or use any part of this Service as such access or use will - constitute your agreement to the Terms of Use and any amendments - to it. - - -
      6. -
      7. - - If you do not agree to these Terms of Use, please do not use this - Service or any part of this Service. - -
      8. -
      9. - If you are accessing or using the Service for and on behalf of - another entity (such as your employer), you warrant and represent - that you have the necessary authority to bind such entity to these - Terms of Use. -
      10. -
      -
    2. -
    3. - Nature of this Service - - Please see the Schedule for more information and terms concerning this - Service. - -
    4. -
    5. - Licence Terms and Restrictions -
        -
      1. - The Service, including the materials made available on or through - the Service, is owned by, licensed to, managed or controlled by - GovTech. Please see clause 4 (Third Party Materials) for more - information. -
      2. -
      3. - Subject to these Terms of Use, GovTech grants to you a - non-exclusive, revocable, and non-transferable right to access and - use the Service for personal or internal purposes only, and only for - such use permitted by the functions of the Service and intended by - GovTech. You shall not, amongst other things, benchmark, reproduce, - modify, reverse-engineer, decompile, adapt, publish, redistribute or - sublicense the Service or any part of the Service without the prior - written consent of GovTech or the respective third party owners. You - also shall not use the Service in violation of any applicable laws - or agreements that you have with any third parties. All express or - implied rights to the Service not specifically granted herein are - expressly reserved to GovTech. -
      4. -
      5. - GovTech reserves the right to: -
          -
        1. - Update or modify this Service from time to time; -
        2. -
        3. - Deny or restrict access to or use of the Service by any - particular person without ascribing any reasons whatsoever; and -
        4. -
        5. - Discontinue or terminate this Service at any time without notice - or liability to you whatsoever, whereupon all rights granted to - you hereunder shall also terminate forthwith. You shall further - upon notice from GovTech return or destroy all copies of the - Service or materials therein that you may have been provided - with. -
        6. -
        -
      6. -
      7. - You will not interfere or attempt to interfere with the proper - working of the Service or otherwise do anything that imposes an - unreasonable or disproportionately large load on GovTech’s servers. -
      8. -
      -
    6. -
    7. - Account Access and Security -
        -
      1. - You are solely responsible for maintaining the confidentiality and - security of any authentication credentials associated with your use - of the Service, including the security of any of your devices which - store the authentication credentials. -
      2. -
      3. - GovTech shall be entitled, but not obliged, to verify the identity - of the person using the Service. Without prejudice to the foregoing, - GovTech is not under any duty to verify that any biometric - identifier used with the Service, or on your device, belongs to you. -
      4. -
      5. - GovTech shall have the sole and absolute discretion to invalidate - any authentication credentials at any time, or require you to have - to re-authenticate or refresh your authentication credentials at any - time, without having to give any reason for the same. -
      6. -
      7. - GovTech shall be entitled, but not obliged, to act upon or rely on - any instructions, information, transmissions of data, or - communications received from the account or use of the Service in - relation to your authentication credentials, as if such - instructions, information, data or communications were issued by - you, whether or not the same was authorized by you. -
      8. -
      9. - For the avoidance of doubt, you are solely responsible for any loss - of whatever nature arising from unauthorized or unofficial - modifications made to your device which permit or escalate - privileged access, or remove restrictions to such access, which are - not intended by the manufacturer or provider of your device or - operating system of your device (e.g., "rooting" or "jailbreaking" - your mobile phone). -
      10. -
      -
    8. -
    9. - Third Party Materials -
        -
      1. - The Service may require, enable or facilitate access to or use of - software or services of a third party ("Third Party"). In - such an event, there may be terms of use of the third party - software or service (the "Third Party Terms"). GovTech may - be required under or as a result of the Third Party Terms to - notify you of certain terms that apply to you (either directly as - an end user, or as a party whose acts or omissions could cause - GovTech to breach the Third Party Terms) when you use the - Services. An example of Third Party Terms may be open source - software terms or standard form terms of the distribution platform - from which you obtain any part of the Service (e.g. Google Play - Store or Apple App Store terms) which bind GovTech as a developer - or user of the distribution platform (the "Distribution Terms"). Information on the Third Party Terms are embedded in the - Service, already accounted for in these Terms of Use, publicly - available (e.g the Distribution Terms) or otherwise listed in the - Schedule herein. For the avoidance of doubt, insofar as this - Clause 4 relates to the Distribution Terms, the relevant - Distribution Terms are the terms of the specific platform from - which you obtained a copy of the software or application that is - part of the Service. For example, if you obtained the said copy - from the Google Play Store, then the relevant terms are Google’s - Distribution Terms. - -
      2. -
      3. - - It is your responsibility to check and read the most up-to-date - versions of these Third Party Terms and you are deemed to have - notice of the same. - - In particular, you are deemed to have notice of the Third Party - Terms that GovTech (under the Third Party Terms) is required to - notify you, and you unconditionally agree to be bound by all the - obligations in the Third Party Terms which are applicable to you - as the end user. For the avoidance of doubt, where Third Party - Terms are listed, such Third Party Terms shall be deemed to - include any privacy policies and acceptable use policies as are - applicable to you. -
      4. -
      5. - If the Third Party Terms require you to enter into an agreement - directly with the Third Party, then you unconditionally agree to - enter into such agreement, and in any event, to be legally bound by - the Third Party Terms. For the avoidance of doubt: -
          -
        1. - some Third Party Terms (particularly open-source terms) permit - either a direct licence to you from the Third Party or a - sublicence from GovTech to you. In such cases, your licence is a - direct licence from the Third Party to you; and -
        2. -
        3. - the terms of your agreement with the Third Party will govern - your use of the relevant third party software or service, and - not these Terms of Use. -
        4. -
        -
      6. -
      7. - If the Third Party Terms expressly or impliedly require GovTech - to incorporate certain terms in these Terms of Use (inclusive of - terms which impose any minimum or maximum standards herein, and/or - terms described in Clause 4.5 below), such terms are deemed to - have been so incorporated (the "Incorporated Terms"). - Examples of Incorporated Terms include provisions which require - GovTech to give you notice of certain rights and liabilities or - require GovTech to ensure that you acknowledge certain matters. - Similarly, if the Third Party Terms expressly or impliedly require - these Terms of Use to be altered such that the Third Party Terms - are complied with, the parties herein agree that the Terms of Use - shall be deemed to be so altered but only to the extent necessary - for compliance. -
      8. -
      9. - Some Third Party Terms grant the Third Party, or require GovTech to - grant the Third Party, direct rights of enforcement of these Terms - of Use as a third party beneficiary, against you. Such Third Party - Terms are deemed to have been incorporated into these Terms of Use - as Incorporated Terms, and you hereby agree to grant such Third - Party, such direct rights of enforcement against you. -
      10. -
      11. - For the avoidance of doubt, without prejudice to Clause 4.4, to the - extent of any inconsistency between these Terms of Use and the Third - Party Terms, the latter shall prevail provided nothing in the Third - Party Terms increases the liability of GovTech beyond that stated in - Clause 6. -
      12. -
      13. - Without prejudice and in addition to the foregoing, GovTech shall - not be responsible for your use of any software or service of a - Third Party. -
      14. -
      -
    10. -
    11. - - Your Consent to Access Functions of Your Device - - - Use of the Service may require you to allow access by the Service to - certain functions of your device, such as push notifications, the - obtaining and/or sharing of your location, or the collection of data - from you in connection with the Service. Please also see clause 8 - (Privacy Policy). Your use of the Service shall constitute your - consent to the access by the Service of such functions of your device - as may be reasonably required by the Service. - -
    12. -
    13. - - Ownership of Feedback/Requests/Suggestions - - - You agree that all title and interest in any feedback, requests or - suggestions from you concerning the Services shall be owned by - GovTech. - -
    14. -
    15. - Confidentiality -
        -
      1. - - If you receive information or data (in whatever form) from GovTech - or a Third Party which is designated confidential or proprietary - or is otherwise reasonably understood to be confidential or - proprietary (collectively, "Confidential Information"), you - shall not use, disclose or reproduce the Confidential Information - except for the purpose for which it was provided to you. If - consent to disclose the Confidential Information to a third party - is given by GovTech or the Third Party to you, any act or omission - in respect of the Confidential Information by that person shall be - deemed to be your act or omission and you agree to be fully liable - for the same. In all cases, you shall protect the Confidential - Information to the same extent you protect your own confidential - information but in no event less than a reasonable standard of - care. You shall ensure that any recipients are bound by - confidentiality terms at least as restrictive as this Clause. - -
      2. -
      3. - You shall destroy any Confidential Information immediately upon - request by GovTech or the Third Party. -
      4. -
      5. - In the event: -
          -
        1. - you are, or likely to be, required by an order of court to - disclose Confidential Information; or -
        2. -
        3. - you have reasonable grounds to suspect the unauthorised use or - disclosure or reproduction of Confidential Information; -
        4. -
        - - you shall immediately notify GovTech or the Third Party of the same - and cooperate with GovTech or the Third Party to prevent or limit - such disclosure. -
      6. -
      7. - Nothing in this Clause 5B shall prejudice GovTech’s or the Third - Party’s other rights at law. -
      8. -
      -
    16. -
    17. - Disclaimers and Indemnity -
        -
      1. - - The Service is provided on an "as is" and "as available" basis - without warranties of any kind. To the fullest extent permitted by - law, GovTech does not make any representations or warranties of - any kind whatsoever in relation to the Service and hereby - disclaims all express, implied and/or statutory warranties of any - kind to you or any third party, whether arising from usage or - custom or trade or by operation of law or otherwise, including but - not limited to any representations or warranties: - -
          -
        1. - - as to the accuracy, completeness, correctness, currency, - timeliness, reliability, availability, interoperability, - security, non-infringement, title, merchantability, quality or - fitness for any particular purpose of the Service; and/or - -
        2. -
        3. - - that the Service or any functions associated therewith will be - uninterrupted or error-free, or that defects will be corrected - or that this Service, website and the server are and will be - free of all viruses and/or other malicious, destructive or - corrupting code, programme or macro. - -
        4. -
        -
      2. -
      3. - - GovTech shall also not be liable to you or any third party for any - damage or loss of any kind whatsoever and howsoever caused, - including but not limited to any direct or indirect, special or - consequential damages, loss of income, revenue or profits, lost or - damaged data, or damage to your computer, software or any other - property, whether arising directly or indirectly from – - -
          -
        1. - - your access to or use of this Service, or any part thereof; - -
        2. -
        3. - - any loss of access or use of this Service or any part of this - Service, howsoever caused; - -
        4. -
        5. - - any inaccuracy or incompleteness in, or errors or omissions in - the transmission of, the Service; - -
        6. -
        7. - - any delay or interruption in the transmission of the Service, - whether caused by delay or interruption in transmission over - the internet or otherwise; or - -
        8. -
        9. - - any decision made or action taken by you or any third party in - reliance upon the Service, - -
        10. -
        - - regardless of whether GovTech has been advised of the possibility - of such damage or loss. - -
      4. -
      5. - - Without prejudice and in addition to the foregoing, insofar as the - Service facilitates or requires the provision, use or functioning - of, or is provided in conjunction with, other products, software, - materials and/or services not provided by GovTech, GovTech makes - no representation or warranty in relation to such products, - software, materials and/or services (including without limitation - any representation or warranties as to timeliness, reliability, - availability, interoperability, quality, fitness for purpose, - non-infringement, suitability or accuracy). - -
      6. -
      7. - You shall not rely on any part of the Service to claim or assert any - form of legitimate expectation against GovTech, whether or not - arising out of or in connection with GovTech’s roles and functions - as a public authority. -
      8. -
      9. - You agree to defend and indemnify and keep GovTech and its officers, - employees, agents and contractors harmless against all liabilities, - losses, damages, costs or expenses (including legal costs on an - indemnity basis) howsoever arising out of or in connection with your - access or use of the Service (including third party software or - services) or your non-compliance with the Terms of Use, Third Party - Terms or Incorporated Terms, whether or not you had been advised or - informed of the nature or extent of such liabilities, losses, - damages, costs or expenses. You warrant and represent that your - access or use of the Service does not and will not breach or violate - any laws, regulations, trade, economic and/or export sanctions - (wherever in the world) applicable to you, and that you shall not - transmit any malicious code, illegal, infringing or undesirable - content or materials to GovTech or its agents or any Third Party. -
      10. -
      11. - Without prejudice and in addition to GovTech’s other rights herein: -
          -
        1. - in no event shall GovTech’s total cumulative liability arising - out of or in connection with these Terms of Use to you exceed - the amount of fees or payment received by GovTech (and not paid - or given to any Third Party by GovTech) from you for the Service - in the 12 months preceding the date of the first cause of - action; and -
        2. -
        3. - no action may be brought by you against GovTech arising out of - or in connection with these Terms of Use more than one (1) year - after the cause of action arose. -
        4. -
        -
      12. -
      -
    18. -
    19. - Hyperlinks -
        -
      1. - Insofar as the Service provides a hyperlink to material not - maintained or controlled by GovTech, GovTech shall not be - responsible for the content of the hyperlinked material and shall - not be liable for any damages or loss arising from access to the - hyperlinked material. Use of the hyperlinks and access to such - hyperlinked materials are entirely at your own risk. The hyperlinks - are provided merely as a convenience to you and do not imply - endorsement by, association or affiliation with GovTech of the - contents of or provider of the hyperlinked materials. -
      2. -
      3. - Caching and hyperlinking to, and the framing of, any part of the - Service is prohibited save where you have obtained GovTech’s prior - written consent. Such consent may be subject to any conditions as - may be determined by GovTech in its sole discretion. If you - hyperlink to or frame any part of the Service, that shall constitute - your acceptance of these Terms of Use and all amendments thereto. If - you do not accept these Terms of Use as may be amended from time to - time, you must immediately discontinue linking to or framing of any - part of the Service. -
      4. -
      5. - GovTech reserves all rights: -
          -
        1. - to disable any links to, or frames of, any materials which are - unauthorised (including without limitation materials which imply - endorsement by or association or affiliation with GovTech, - materials containing inappropriate, profane, defamatory, - infringing, obscene, indecent or unlawful topics, names, or - information that violates any written law, any applicable - intellectual property, proprietary, privacy or publicity - rights); and -
        2. -
        3. - to disclaim responsibility and/or liability for materials that - link to or frame any part of the Service. -
        4. -
        -
      6. -
      -
    20. -
    21. - Privacy Policy - - You also agree to the terms of the Privacy Policy for this Service as - may be amended from time to time. The Privacy Policy will form part of - these Terms of Use. - -
    22. -
    23. - Rights of Third Parties - - Subject to the rights of the Third Party, a person who is not a party - to this Terms of Use shall have no right under the Contract (Rights of - Third Parties) Act or otherwise to enforce any of its terms. - -
    24. -
    25. - Assignment -
        -
      1. - You may not assign or sub-contract this Terms of Use without the - prior written consent of GovTech. -
      2. -
      3. - GovTech may assign, novate, transfer, or sub-contract the rights and - liabilities in respect of the Service and this Terms of Use, without - notifying you and without further reference to you. Your acceptance - of this Terms of Use shall also constitute your consent to such - assignment, novation, transfer or sub-contract. -
      4. -
      -
    26. -
    27. - Severability - - If any term of these Terms of Use is held by a court or tribunal of - competent jurisdiction to be invalid or unenforceable, then these - Terms of Use, including all of the remaining terms, will remain in - full force and effect as if such invalid or unenforceable term had - never been included but, to the extent permissible, such invalid or - unenforceable terms shall be deemed to have been replaced by terms - that are (a) valid and enforceable and (b) express the intention or - produce the result closest to the original intention of the invalid or - unenforceable terms. - -
    28. -
    29. - Governing Law and Dispute Resolution -
        -
      1. - These Terms of Use shall be governed by and construed in accordance - with laws of Singapore. -
      2. -
      3. - Subject to clause 11.3, any dispute arising out of or in connection - with these Terms of Use, including any question regarding its - existence, validity or termination, shall be referred to and finally - resolved in the Courts of the Republic of Singapore and the parties - hereby submit to the exclusive jurisdiction of the Courts of the - Republic of Singapore. -
      4. -
      5. - - GovTech may, at its sole discretion, refer any dispute referred to - in clause 11.2 above to arbitration administered by the Singapore - International Arbitration Centre ("SIAC") in Singapore in - accordance with the Arbitration Rules of the SIAC ("SIAC Rules") for the time being in force, which rules are deemed to be - incorporated by reference in this clause. Further: - -
          -
        1. - The seat of the arbitration shall be Singapore. -
        2. -
        3. - The tribunal shall consist of one (1) arbitrator. -
        4. -
        5. - The language of the arbitration shall be English. -
        6. -
        7. - All information, pleadings, documents, evidence and all matters - relating to the arbitration shall be confidential. -
        8. -
        - Where GovTech is the defendant or respondent, it shall be given at - least 30 days before the commencement of any legal action against it - to elect to exercise the right herein to have the dispute submitted - to arbitration. This right to elect shall not prejudice GovTech’s - right to a limitation defence and the period to exercise the right - shall not be abridged by reason of any accrual of a limitation - defence in favour of GovTech during the said period. -
      6. -
      -
    30. -
    - -

    -
    These Terms of Use are dated 19 Oct 2021.
    -
    -

    SCHEDULE

    - - -
      -
    1. - Name of Service: Form -
    2. -
    3. - Nature of Service - If you are creating a form, (a) to (e) apply to you: - -
        -
      1. - Notwithstanding anything in the Terms of Use, the Service is - intended for use by a Singapore public sector agency or a healthcare - institution that is under the NHG, SingHealth, or NUHS healthcare - clusters only. "You" in (a) to (e) refers to such entities. -
      2. -
      3. - This Service is a form builder tool for the permitted entities - (listed in sub-paragraph (a) above) to build their own online forms. -
      4. -
      5. - Please note that GovTech may collect, store and/or process data that - you collect using the forms created by the Service. -
      6. -
      7. - You are responsible for any issues concerning the forms you create - and for replying to and/or dealing with the form respondent or any - other person concerning your form, including without limitation the - use, linking, or publication of your own privacy policy/statement - applying to the form. GovTech is not responsible for your compliance - with the applicable rules or laws, or for any failure by you to - provide a privacy policy/statement. -
      8. -
      9. - GovTech shall have the right to give your form respondents notice of - GovTech’s Terms of Use and Privacy Policy in the forms you create. -
      10. -
      - - If you are responding to a form, (f) to (h) apply to you: -
        -
      1. The Terms of Use apply to you.
      2. -
      3. - Please note that GovTech may be collecting data on behalf of the - form creator. GovTech’s Privacy Policy will also apply to you. -
      4. -
      5. - GovTech’s Terms of Use and Privacy Policy apply in addition to any - terms or privacy policy/statement of the form creator. -
      6. -
      -
    4. -
    5. - Third party software/services -
        -
      1. - - Please see this - - link - - for a list of open source components used in the Service. - -
      2. -
      -
    6. -
    7. - Special terms/notices - - Certain image(s) or footage (as applicable) are used under license - from Shutterstock.com. - -
    8. -
    -
    -
    diff --git a/src/public/polyfills.js b/src/public/polyfills.js deleted file mode 100644 index f97242e3e5..0000000000 --- a/src/public/polyfills.js +++ /dev/null @@ -1,36 +0,0 @@ -/** - * Runtime polyfill injection with feature detection to make app work on older browsers. - */ - -// core-js polyfills crucial, commonly used functions expected to be in the standard library -// e.g. Promise, Object.values, Array.prototype.includes -// The stable option includes ES and web standards. See link for more info: -// https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md -require('core-js/stable') - -// Runtime library for async and generator functions. Babel transpilation expects this to be in -// the target namespace, and it also relies on core-js, so this cannot be removed -// until IE11 support is dropped. -require('regenerator-runtime/runtime') - -// Web Streams API has varying levels of support amongst different browsers -// See https://caniuse.com/streams -if (!window.ReadableStream || !window.WritableStream) { - require('web-streams-polyfill') -} - -// For IE11, Opera Mini -// https://caniuse.com/?search=fetch -if (!window.fetch) { - require('whatwg-fetch') // fetch API - require('abortcontroller-polyfill/dist/polyfill-patch-fetch') -} - -// For IE11, Opera Mini -// https://caniuse.com/?search=TextEncoder -if (!window.TextDecoder || !window.TextEncoder) { - // TextEncoder and TextDecoder - const textEncoding = require('text-encoding') - window['TextDecoder'] = textEncoding.TextDecoder - window['TextEncoder'] = textEncoding.TextEncoder -} diff --git a/src/public/robots.txt b/src/public/robots.txt deleted file mode 100755 index 9e6c57de6e..0000000000 --- a/src/public/robots.txt +++ /dev/null @@ -1,7 +0,0 @@ -# robotstxt.org/ - -User-agent: NLB_archive_bot - -Allow: / -Allow: /public/ -Disallow: * diff --git a/src/public/services/AdminMetaService.ts b/src/public/services/AdminMetaService.ts deleted file mode 100644 index 8370c4ddbd..0000000000 --- a/src/public/services/AdminMetaService.ts +++ /dev/null @@ -1,16 +0,0 @@ -import axios from 'axios' - -/** Exported for testing */ -export const FORM_API_PREFIX = '/api/v3/admin/forms' - -/** - * Retrieves the free sms counts used by the admin of a specified form - * @param formId - * @returns The amount of free sms counts used by the admin of the form - */ -export const getFreeSmsCountsUsedByFormAdmin = ( - formId: string, -): Promise => - axios - .get(`${FORM_API_PREFIX}/${formId}/verified-sms/count/free`) - .then(({ data }) => data) diff --git a/src/public/services/AdminSubmissionsService.ts b/src/public/services/AdminSubmissionsService.ts deleted file mode 100644 index a881501c52..0000000000 --- a/src/public/services/AdminSubmissionsService.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { EncryptedFileContent } from '@opengovsg/formsg-sdk/dist/types' -import { decode as decodeBase64 } from '@stablelib/base64' -import axios from 'axios' -import JSZip from 'jszip' - -import { - FormSubmissionMetadataQueryDto, - StorageModeAttachment, - StorageModeSubmissionDto, - StorageModeSubmissionMetadataList, - SubmissionCountQueryDto, -} from '../../../shared/types' - -import { FormSgSdk } from './FormSgSdkService' -import { ADMIN_FORM_ENDPOINT } from './UpdateFormService' - -/** - * Counts the number of submissions for a given form - * @param urlParameters Mapping of the url parameters to values - * @returns The number of form submissions - */ -export const countFormSubmissions = async ({ - formId, - dates, -}: { - formId: string - dates?: SubmissionCountQueryDto -}): Promise => { - const queryUrl = `${ADMIN_FORM_ENDPOINT}/${formId}/submissions/count` - if (dates) { - return axios - .get(queryUrl, { - params: { ...dates }, - }) - .then(({ data }) => data) - } - return axios.get(queryUrl).then(({ data }) => data) -} - -/** - * Retrieves the metadata for a page of submissions - * @param formId The id of the form to retrieve submission for - * @param pageNum The page number of the responses - * @returns The metadata of the page of forms - */ -export const getSubmissionsMetadataByPage = async ({ - formId, - page, -}: { - formId: string - page: NonNullable -}): Promise => { - return axios - .get( - `${ADMIN_FORM_ENDPOINT}/${formId}/submissions/metadata`, - { - params: { - page, - }, - }, - ) - .then(({ data }) => data) -} - -/** - * Retrieves the metadata for a single submissionId if submissionId is specified - * @param formId The id of the form to retrieve submission for - * @param submissionId The id of the specified submission to retrieve - * @returns The metadata of the form - */ -export const getSubmissionMetadataById = async ({ - formId, - submissionId, -}: { - formId: string - submissionId: NonNullable -}): Promise => { - return axios - .get( - `${ADMIN_FORM_ENDPOINT}/${formId}/submissions/metadata`, - { - params: { - submissionId, - }, - }, - ) - .then(({ data }) => data) -} - -/** - * Returns the data of a single submission of a given storage mode form - * @param formId The id of the form to query - * @param submissionId The id of the submission - * @returns The data of the submission - */ -export const getEncryptedResponse = async ({ - formId, - submissionId, -}: { - formId: string - submissionId: string -}): Promise => { - return axios - .get( - `${ADMIN_FORM_ENDPOINT}/${formId}/submissions/${submissionId}`, - ) - .then(({ data }) => data) -} - -/** - * Triggers a download of a set of attachments as a zip file when given attachment metadata and a secret key - * @param {Map} attachmentDownloadUrls Map of question number to individual attachment metadata (object with url and filename properties) - * @param {String} secretKey An instance of EncryptionKey for decrypting the attachment - * @returns {Promise} A Promise containing the contents of the ZIP file as a blob - */ -export const downloadAndDecryptAttachmentsAsZip = async ( - attachmentDownloadUrls: Map, - secretKey: string, -): Promise => { - const zip = new JSZip() - const downloadPromises = Array.from(attachmentDownloadUrls).map( - async ([questionNum, { url, filename }]) => { - const bytesArray = await downloadAndDecryptAttachment(url, secretKey) - const fileName = `Question ${questionNum} - ${filename}` - return zip.file(fileName, bytesArray ?? []) - }, - ) - - return Promise.all(downloadPromises).then(() => { - return zip.generateAsync({ type: 'blob' }) - }) -} - -/** - * Triggers a download of a single attachment when given an S3 presigned url and a secretKey - * @param {String} url URL pointing to the location of the encrypted attachment - * @param {String} secretKey An instance of EncryptionKey for decrypting the attachment - * @returns {Promise} A Promise containing the contents of the file as a Blob - */ -export const downloadAndDecryptAttachment = ( - url: string, - secretKey: string, -): Promise => { - return axios.get(url).then(({ data }) => { - const { encryptedFile } = data - if (!encryptedFile) return null - - const decodedFile: EncryptedFileContent = { - ...encryptedFile, - binary: decodeBase64(encryptedFile.binary), - } - return FormSgSdk.crypto.decryptFile(secretKey, decodedFile) - }) -} diff --git a/src/public/services/AdminViewFormService.ts b/src/public/services/AdminViewFormService.ts deleted file mode 100644 index 403620e71f..0000000000 --- a/src/public/services/AdminViewFormService.ts +++ /dev/null @@ -1,50 +0,0 @@ -import axios from 'axios' - -import { - AdminDashboardFormMetaDto, - AdminFormViewDto, - PreviewFormViewDto, -} from '../../../shared/types' - -// endpoint exported for testing -export const ADMIN_FORM_ENDPOINT = '/api/v3/admin/forms' - -/** - * Gets metadata for all forms in dashboard view i.e. forms which user - * owns or collaborates on - * @returns Metadata required for forms on dashboard view - */ -export const getDashboardView = async (): Promise< - AdminDashboardFormMetaDto[] -> => { - return axios - .get(`${ADMIN_FORM_ENDPOINT}`) - .then(({ data }) => data) -} - -/** - * Gets admin view of form. - * @param formId formId of form in question - * @returns Admin view of form - */ -export const getAdminFormView = async ( - formId: string, -): Promise => { - return axios - .get(`${ADMIN_FORM_ENDPOINT}/${formId}`) - .then(({ data }) => data) -} - -/** - * Gets the public view of a form. Used for previewing the form from the form admin page. - * Must be a viewer, collaborator or admin. - * @param formId formId of form in question - * @returns Public view of a form - */ -export const previewForm = async ( - formId: string, -): Promise => { - return axios - .get(`${ADMIN_FORM_ENDPOINT}/${formId}/preview`) - .then(({ data }) => data) -} diff --git a/src/public/services/AnalyticsService.ts b/src/public/services/AnalyticsService.ts deleted file mode 100644 index 9ddec1909d..0000000000 --- a/src/public/services/AnalyticsService.ts +++ /dev/null @@ -1,11 +0,0 @@ -import axios from 'axios' - -import { AnalyticStatsDto } from '../../../shared/types' - -/** - * Retrieves landing page statistics - user, form and submission count. - */ -export const getLandingPageStatistics = async (): Promise => - axios - .get('/api/v3/analytics/statistics') - .then((response) => response.data) diff --git a/src/public/services/AuthService.ts b/src/public/services/AuthService.ts deleted file mode 100644 index c08585230d..0000000000 --- a/src/public/services/AuthService.ts +++ /dev/null @@ -1,55 +0,0 @@ -import axios from 'axios' -import type { Opaque } from 'type-fest' - -import { UserDto } from '../../../shared/types' - -// Exported for testing. -export const AUTH_ENDPOINT = '/api/v3/auth' - -type Email = Opaque - -/** - * Check whether the given email string is from a whitelisted email domain. - * @param email the email to check - * @returns original email if email is valid - */ -export const checkIsEmailAllowed = async (email: string): Promise => { - return axios - .post(`${AUTH_ENDPOINT}/email/validate`, { - email: email.toLowerCase(), - }) - .then(() => email as Email) -} - -/** - * Sends login OTP to given email - * @param email email to send login OTP to - * @returns success string if login OTP is sent successfully - */ -export const sendLoginOtp = async (email: Email): Promise => { - return axios - .post(`${AUTH_ENDPOINT}/otp/generate`, { - email: email.toLowerCase(), - }) - .then(({ data }) => data) -} - -/** - * Verifies the login OTP and returns the user if OTP is valid. - * @param params.email the email to verify - * @param params.otp the OTP sent to the given email to verify - * @returns logged in user when successful - * @throws Error on non 2xx response - */ -export const verifyLoginOtp = async (params: { - otp: string - email: string -}): Promise => { - return axios - .post(`${AUTH_ENDPOINT}/otp/verify`, params) - .then(({ data }) => data) -} - -export const logout = async (): Promise => { - return axios.get(`${AUTH_ENDPOINT}/logout`) -} diff --git a/src/public/services/BetaService.ts b/src/public/services/BetaService.ts deleted file mode 100644 index b5c45b0539..0000000000 --- a/src/public/services/BetaService.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { get } from 'lodash' - -import { BasicField, FormDto, UserDto } from '../../../shared/types' - -type BetaFeature = { - // User-facing name for the feature - name: string - // Flag given to the feature in the User schema's betaFlags object - flag: string - // Function to match whether a form has this beta feature - matches: (form: FormDto) => boolean - /** - * Some beta features are associated with specific field types. - * If this is the case for a beta feature, this key indicates - * the field type of the beta field. - */ - fieldType: BasicField | null -} - -const BETA_FEATURES: BetaFeature[] = [ - // This is an example of how to add fields to this object - // { - // name: 'betaFlagName', - // flag: 'hasBetaFlag', - // matches: (form) => { - // return form.form_fields.some((field) => - // field.fieldType === 'mobile' && field.isVerifiable - // ) - // }, - // fieldType: 'mobile', - // }, -] - -const getBetaFeaturesForForm = ( - form: FormDto, - betaFeaturesField: BetaFeature[], -): string[] => { - const betaFeatures = new Set() - betaFeaturesField.forEach((feature) => { - if (feature.matches(form)) { - betaFeatures.add(feature.name) - } - }) - return Array.from(betaFeatures) -} - -export const getMissingBetaPermissions = ( - user: UserDto, - form: FormDto, - betaFeaturesField = BETA_FEATURES, -): string[] => { - const betaFeatures = getBetaFeaturesForForm(form, betaFeaturesField) - return betaFeatures.filter((name) => { - const flag = betaFeaturesField.find( - (feature) => feature.name === name, - )?.flag - return flag && !get(user, ['betaFlags', flag], false) - }) -} - -export const isBetaField = ( - fieldType: BasicField, - betaFeaturesField = BETA_FEATURES, -): BetaFeature | undefined => { - return betaFeaturesField.find((feature) => feature.fieldType === fieldType) -} - -export const userHasAccessToFieldType = ( - user: UserDto, - fieldType: BasicField, - betaFeaturesField = BETA_FEATURES, -): boolean => { - const flag = betaFeaturesField.find((feature) => { - return feature.fieldType === fieldType - })?.flag - // No beta limitations on this field type - if (!flag) return true - return ( - !isBetaField(fieldType, betaFeaturesField) || - (Boolean(flag) && get(user, ['betaFlags', flag], false)) - ) -} - -export const userHasAccessToFeature = ( - user: UserDto, - flag: string, -): boolean => { - return get(user, ['betaFlags', flag], false) -} diff --git a/src/public/services/BillingService.ts b/src/public/services/BillingService.ts deleted file mode 100644 index cbb28d6849..0000000000 --- a/src/public/services/BillingService.ts +++ /dev/null @@ -1,21 +0,0 @@ -import axios from 'axios' - -import { BillingInfoDto, BillingQueryDto } from '../../../shared/types' - -// Exported for testing -export const BILLING_ENDPOINT = '/api/v3/billings' - -/** - * Gets the billing information for the given month and year - * @param billingQueryParams The formId and the specific month to get the information for - * @returns Promise The billing statistics of the given month - */ -export const getBillingInfo = ( - billingQueryParams: BillingQueryDto, -): Promise => { - return axios - .get(BILLING_ENDPOINT, { - params: billingQueryParams, - }) - .then(({ data }) => data) -} diff --git a/src/public/services/CreateFormService.ts b/src/public/services/CreateFormService.ts deleted file mode 100644 index be02c81ebe..0000000000 --- a/src/public/services/CreateFormService.ts +++ /dev/null @@ -1,41 +0,0 @@ -import axios from 'axios' - -import { - AdminDashboardFormMetaDto, - CreateFormBodyDto, - DuplicateFormBodyDto, - FormDto, -} from '../../../shared/types' - -export const ADMIN_FORM_ENDPOINT = '/api/v3/admin/forms' - -/** - * Duplicates the form - * @param formId formId of form to be duplicated - * @param duplicateFormBody Title, response mode and relevant information for new form - * @returns Metadata of duplicated form for dashboard view - */ -export const duplicateForm = async ( - formId: string, - duplicateFormBody: DuplicateFormBodyDto, -): Promise => { - return axios - .post( - `${ADMIN_FORM_ENDPOINT}/${formId}/duplicate`, - duplicateFormBody, - ) - .then(({ data }) => data) -} - -/** - * Creates a new form. This function is called without formId, so the endpoint is just /adminform. - * @param newForm Form fields to newly created form - * @returns Newly created form. - */ -export const createForm = async ( - newForm: CreateFormBodyDto, -): Promise => { - return axios - .post(`${ADMIN_FORM_ENDPOINT}`, { form: newForm }) - .then(({ data }) => data) -} diff --git a/src/public/services/EncryptionService.ts b/src/public/services/EncryptionService.ts deleted file mode 100644 index dcbf359d24..0000000000 --- a/src/public/services/EncryptionService.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { - AttachmentResponse, - BasicField, - CheckboxResponse, - DateResponse, - DecimalResponse, - DropdownResponse, - EmailResponse, - FieldResponse, - HeaderResponse, - HomeNoResponse, - LongTextResponse, - MobileResponse, - NricResponse, - NumberResponse, - RadioResponse, - RatingResponse, - ShortTextResponse, - TableResponse, - UenResponse, - YesNoResponse, -} from '../../../shared/types' - -import { FormSgSdk } from './FormSgSdkService' - -/** - * Encrypts given submission responses with the public key. - * @param responses the responses to encrypt - * @param publicKey the public key to encrypt with - * @returns the encrypted responses - * @throws error if the given responses are malformed - */ -export const encryptSubmissionResponses = ( - responses: unknown, - publicKey: string, -): string => { - return FormSgSdk.crypto.encrypt(validateResponses(responses), publicKey) -} - -const isPossibleResponse = ( - o: unknown, -): o is Record & { fieldType: string } => { - const isPossibleObject = typeof o === 'object' && o !== null - if (!isPossibleObject) return false - - return typeof (o as Record).fieldType === 'string' -} - -const validateResponses = (responses: unknown): FieldResponse[] => { - if (!Array.isArray(responses)) { - throw new Error('Input submission is malformed') - } - - return responses.map((response) => { - if (!isPossibleResponse(response)) { - throw new Error('Input shape not a response') - } - - switch (response.fieldType) { - case BasicField.Section: - return HeaderResponse.parse(response) - case BasicField.Mobile: - return MobileResponse.parse(response) - case BasicField.Decimal: - return DecimalResponse.parse(response) - case BasicField.Attachment: - return AttachmentResponse.parse(response) - case BasicField.Checkbox: - return CheckboxResponse.parse(response) - case BasicField.Date: - return DateResponse.parse(response) - case BasicField.Dropdown: - return DropdownResponse.parse(response) - case BasicField.Email: - return EmailResponse.parse(response) - case BasicField.HomeNo: - return HomeNoResponse.parse(response) - case BasicField.LongText: - return LongTextResponse.parse(response) - case BasicField.Nric: - return NricResponse.parse(response) - case BasicField.Rating: - return RatingResponse.parse(response) - case BasicField.Radio: - return RadioResponse.parse(response) - case BasicField.ShortText: - return ShortTextResponse.parse(response) - case BasicField.Table: - return TableResponse.parse(response) - case BasicField.Uen: - return UenResponse.parse(response) - case BasicField.Number: - return NumberResponse.parse(response) - case BasicField.YesNo: - return YesNoResponse.parse(response) - default: - throw new Error( - `Invalid fieldType provided for encrypt submission validation: ${response.fieldType}`, - ) - } - }) -} diff --git a/src/public/services/ExamplesService.ts b/src/public/services/ExamplesService.ts deleted file mode 100644 index dcd8def067..0000000000 --- a/src/public/services/ExamplesService.ts +++ /dev/null @@ -1,72 +0,0 @@ -import axios from 'axios' - -import { - AdminDashboardFormMetaDto, - DuplicateFormBodyDto, - PreviewFormViewDto, -} from '../../../shared/types/form' -import { - ExampleFormsQueryDto, - ExampleFormsResult, - ExampleSingleFormResult, -} from '../../types/api' - -export const EXAMPLES_ENDPOINT = '/examples' - -/** - * Gets example forms that matches the specified parameters for listing - * @param exampleFormsSearchParams The search terms to query the backend for - * @returns The list of retrieved examples if `shouldGetTotalNumResults` is false - * @returns The list of retrieved examples with the total results if `shouldGetTotalNumResults` is true - */ -export const getExampleForms = ( - exampleFormsSearchParams: ExampleFormsQueryDto, -): Promise => { - return axios - .get(EXAMPLES_ENDPOINT, { - params: exampleFormsSearchParams, - headers: { 'If-Modified-Since': '0' }, - }) - .then(({ data }) => data) -} -/** - * Gets a single form for examples - * @param formId The id of the form to search for - * @returns The information of the example form - */ -export const getSingleExampleForm = ( - formId: string, -): Promise => { - return axios - .get(`${EXAMPLES_ENDPOINT}/${formId}`, { - headers: { 'If-Modified-Since': '0' }, - }) - .then(({ data }) => data) -} - -/** - * Used to create a new form from an existing template. - * @param formId formId of template to base the new form on - * @returns Metadata for newly created form in dashboard view - */ -export const useTemplate = async ( - formId: string, - overrideParams: DuplicateFormBodyDto, -): Promise => { - return axios - .post(`${formId}/adminform/copy`, overrideParams) - .then(({ data }) => data) -} - -/** - * Queries templates with use-template or examples listings. Any logged in officer is authorized. - * @param formId formId of template in question - * @returns Public view of a template - */ -export const queryTemplate = async ( - formId: string, -): Promise => { - return axios - .get(`${formId}/adminform/template`) - .then(({ data }) => data) -} diff --git a/src/public/services/FieldVerificationService.ts b/src/public/services/FieldVerificationService.ts deleted file mode 100644 index e138443c2f..0000000000 --- a/src/public/services/FieldVerificationService.ts +++ /dev/null @@ -1,117 +0,0 @@ -import axios from 'axios' -import type { Opaque } from 'type-fest' - -export type JsonDate = Opaque - -/** - * Response when retrieving new transaction. Can be an empty object if the - * current form does not have any verifiable fields. - */ -export type FetchNewTransactionResponse = - | { expireAt: JsonDate; transactionId: string } - | Record - -type VerifiedFieldSignature = Opaque - -/** Exported for testing - * @deprecated - */ -export const TRANSACTION_ENDPOINT = '/transaction' - -/** Exported for testing */ -export const FORM_API_PREFIX = '/api/v3/forms' -export const VERIFICATION_ENDPOINT = 'fieldverifications' - -/** - * Create a transaction for given form. - * @param formId The id of the form to create a transaction for - * @returns transaction metadata on success. Can be empty if no transactions are found in the form. - */ -export const createTransactionForForm = async ( - formId: string, -): Promise => { - return axios - .post( - `${FORM_API_PREFIX}/${formId}/${VERIFICATION_ENDPOINT}`, - ) - .then(({ data }) => data) -} - -/** - * Sends an OTP to given answer. - * @param formId The id of the form to generate the otp for - * @param transactionId The generated transaction id for the form - * @param fieldId The id of the verification field - * @param answer The value of the verification field to verify. Usually an email or phone number - * @param fieldType The kind of field to generate the otp for - * @returns 201 Created status if successfully sent - */ -export const triggerSendOtp = async ({ - formId, - transactionId, - fieldId, - answer, -}: { - formId: string - transactionId: string - fieldId: string - answer: string -}): Promise => { - return axios.post( - `${FORM_API_PREFIX}/${formId}/${VERIFICATION_ENDPOINT}/${transactionId}/fields/${fieldId}/otp/generate`, - { - answer, - }, - ) -} - -/** - * Verifies given OTP for given fieldId - * @param formId The id of the form - * @param transactionId The generated transaction id for the form - * @param fieldId The id of the verification field - * @param otp The user-entered OTP value to verify against - * @returns The verified signature on success - */ -export const verifyOtp = async ({ - formId, - transactionId, - fieldId, - otp, -}: { - formId: string - transactionId: string - fieldId: string - otp: string -}): Promise => { - return axios - .post( - `${FORM_API_PREFIX}/${formId}/${VERIFICATION_ENDPOINT}/${transactionId}/fields/${fieldId}/otp/verify`, - { - otp, - }, - ) - .then(({ data }) => data) -} - -/** - * Reset the field in the transaction, removing the previously saved signature. - * - * @param formId The id of the form to reset the transaction for - * @param transactionId The generated transaction id for the form - * @param fieldId The id of the verification field to reset - * @returns 204 Created if successfully reset - */ -export const resetVerifiedField = async ({ - formId, - transactionId, - fieldId, -}: { - formId: string - transactionId: string - fieldId: string -}): Promise => { - return axios.post( - `${FORM_API_PREFIX}/${formId}/${VERIFICATION_ENDPOINT}/${transactionId}/fields/${fieldId}/reset`, - ) -} diff --git a/src/public/services/FileHandlerService.ts b/src/public/services/FileHandlerService.ts deleted file mode 100644 index 038fd43a91..0000000000 --- a/src/public/services/FileHandlerService.ts +++ /dev/null @@ -1,186 +0,0 @@ -import axios, { AxiosResponse, CancelToken } from 'axios' -import SparkMD5 from 'spark-md5' - -export type UploadedFileData = { - url: string - fileId: string - fileMd5Hash: string - name: string - size: number -} - -type UploadImageParams = { - image: File - formId: string - cancelToken?: CancelToken -} -/** - * Generates an md5 hash string from given file. - * Retrieved from https://dev.to/qortex/compute-md5-checksum-for-a-file-in-typescript-59a4. - * @param file The file to generate an md5 hash for - */ -const computeChecksumMd5 = (file: File): Promise => { - return new Promise((resolve, reject) => { - const chunkSize = 2097152 // Read in chunks of 2MB - const spark = new SparkMD5.ArrayBuffer() - const fileReader = new FileReader() - - let cursor = 0 // current cursor in file - - fileReader.onerror = function (): void { - reject('MD5 computation failed - error reading the file') - } - - // read chunk starting at `cursor` into memory - function processChunk(chunk_start: number): void { - const chunk_end = Math.min(file.size, chunk_start + chunkSize) - fileReader.readAsArrayBuffer(file.slice(chunk_start, chunk_end)) - } - - fileReader.onload = function (e): void { - const arrayBuffer = e.target?.result - if (!arrayBuffer) { - reject('Empty array buffer - error reading the file') - } - spark.append(arrayBuffer as ArrayBuffer) // Accumulate chunk to md5 computation - cursor += chunkSize // Move past this chunk - - if (cursor < file.size) { - // Enqueue next chunk to be accumulated - processChunk(cursor) - } else { - // Computation ended, last chunk has been processed. Return as Promise value. - // This returns the base64 encoded md5 hash, which is what cloud services expect. - resolve(btoa(spark.end(true))) - } - } - - processChunk(0) - }) -} - -type PresignedData = { fields: Record; url: string } - -const fetchPresignedData = async ( - url: string, - params: { - fileId: string - fileMd5Hash: string - fileType: string - }, - cancelToken?: CancelToken, -): Promise => { - return axios - .post(url, params, { - cancelToken, - }) - .then(({ data }) => data) -} - -const postToPresignedUrl = async ( - presignedUrl: string, - formData: FormData, - cancelToken?: CancelToken, -): Promise> => { - return axios.post(presignedUrl, formData, { - headers: { 'Content-Type': '' }, - withCredentials: false, - cancelToken, - }) -} - -/** - * Exported for testing. - * Uploads a file by requesting a presignedUrl and posting to it. - * - * @param arg.url the url to fetch presigned data from - * @param arg.file the file to upload - * @param arg.fileId the identifier of the file - * @param arg.cancelToken optional. Allows for cancellation of the post request to the generated url in flight - */ -export const uploadFile = async ({ - url, - file, - fileId, - cancelToken, -}: { - url: string - file: File - fileId: string - cancelToken?: CancelToken -}): Promise => { - const fileMd5Hash = await computeChecksumMd5(file) - const presignedDataParams = { - fileId, - fileMd5Hash, - fileType: file.type, - } - - const postData = await fetchPresignedData( - url, - presignedDataParams, - cancelToken, - ) - - // Generate formdata to post to the presigned url. - const formData = new FormData() - Object.entries(postData.fields).forEach(([k, v]) => formData.append(k, v)) - formData.append('file', file) - - // POST generated formData to presigned url. - const response = await postToPresignedUrl(postData.url, formData, cancelToken) - - const encodedFileId = encodeURIComponent(postData.fields.key) - - const uploadedFileData: UploadedFileData = { - url: `${response.config.url}/${encodedFileId}`, - fileId: encodedFileId, - fileMd5Hash, - name: file.name, - size: file.size, - } - - return uploadedFileData -} - -/** - * Uploads an image to the backend - * @param arg.image The image to upload. - * @param arg.formId The form the upload is tied to. - * @param arg.cancelToken optional. Allows for cancellation of the upload in flight - */ -export const uploadImage = async ({ - image, - formId, - cancelToken, -}: UploadImageParams): Promise => { - const fileId = `${formId}-${Date.now()}-${image.name.toLowerCase()}` - - return uploadFile({ - url: `/api/v3/admin/forms/${formId}/images/presign`, - file: image, - fileId, - cancelToken, - }) -} - -/** - * Uploads a logo to the backend - * @param arg.image The logo to upload. - * @param arg.formId The form the upload is tied to. - * @param arg.cancelToken optional. Allows for cancellation of the upload in flight - */ -export const uploadLogo = async ({ - image, - formId, - cancelToken, -}: UploadImageParams): Promise => { - const fileId = `${Date.now()}-${image.name.toLowerCase()}` - - return uploadFile({ - url: `/api/v3/admin/forms/${formId}/logos/presign`, - file: image, - fileId, - cancelToken, - }) -} diff --git a/src/public/services/FormFeedbackService.ts b/src/public/services/FormFeedbackService.ts deleted file mode 100644 index 902b644b23..0000000000 --- a/src/public/services/FormFeedbackService.ts +++ /dev/null @@ -1,87 +0,0 @@ -import axios from 'axios' - -import { - FormFeedbackDto, - FormFeedbackMetaDto, - SubmitFormFeedbackBodyDto, - SuccessMessageDto, -} from '../../../shared/types' -import { FeedbackCsvGenerator } from '../modules/forms/helpers/FeedbackCsvGenerator' - -// Exported for testing -export const PUBLIC_FORM_ENDPOINT = '/api/v3/forms' -export const ADMIN_FORM_ENDPOINT = '/api/v3/admin/forms' - -/** - * Post feedback for a given form. - * @param formId the id of the form to post feedback for - * @param submissionId the id of the form submission to post feedback for - * @param feedbackToPost object containing the feedback - * @returns success message - */ -export const postFeedback = async ( - formId: string, - submissionId: string, - feedbackToPost: SubmitFormFeedbackBodyDto, -): Promise => { - return axios - .post( - `${PUBLIC_FORM_ENDPOINT}/${formId}/submissions/${submissionId}/feedback`, - feedbackToPost, - ) - .then(({ data }) => data) -} - -/** - * Retrieves feedback for a given form. - * @param formId the id of the form to retrieve feedback for - * @returns object containing average?, count, and feedback[] - */ -export const getFeedback = async ( - formId: string, -): Promise => { - return axios - .get(`${ADMIN_FORM_ENDPOINT}/${formId}/feedback`) - .then(({ data }) => data) -} - -/** - * Counts feedback for a given form. - * @param formId the id of the form to count feedback for - * @returns the count of the retrieved feedback - */ -export const countFeedback = async (formId: string): Promise => { - return axios - .get(`${ADMIN_FORM_ENDPOINT}/${formId}/feedback/count`) - .then(({ data }) => data) -} - -/** - * Downloads feedback for a given form. - * @param formId the id of the form to download feedback for - * @returns a stream of feedback - */ -export const downloadFeedback = async ( - formId: string, - formTitle: string, -): Promise => { - const expectedNumResponses = await countFeedback(formId) - - return axios - .get( - `${ADMIN_FORM_ENDPOINT}/${formId}/feedback/download`, - ) - .then(({ data }) => { - if (!data) { - return Promise.reject(new Error('Error downloading feedback')) - } - - const csvGenerator = new FeedbackCsvGenerator(expectedNumResponses) - - data.forEach((feedback) => { - csvGenerator.addLineFromFeedback(feedback) - }) - - csvGenerator.triggerFileDownload(`${formTitle}-${formId}-feedback.csv`) - }) -} diff --git a/src/public/services/FormSgSdkService.ts b/src/public/services/FormSgSdkService.ts deleted file mode 100644 index dbad2f1dcc..0000000000 --- a/src/public/services/FormSgSdkService.ts +++ /dev/null @@ -1,11 +0,0 @@ -import formSgSdk from '@opengovsg/formsg-sdk' - -import { TRANSACTION_EXPIRE_AFTER_SECONDS } from '../../../shared/utils/verification' -import { injectedVariables } from '../utils/injectedVariables' - -export const FormSgSdk: ReturnType = formSgSdk({ - mode: injectedVariables.formsgSdkMode, - verificationOptions: { - transactionExpiry: TRANSACTION_EXPIRE_AFTER_SECONDS, - }, -}) diff --git a/src/public/services/PublicFormAuthService.ts b/src/public/services/PublicFormAuthService.ts deleted file mode 100644 index 97235a5ec9..0000000000 --- a/src/public/services/PublicFormAuthService.ts +++ /dev/null @@ -1,35 +0,0 @@ -import axios from 'axios' - -import { - FormAuthType, - PublicFormAuthLogoutDto, - PublicFormAuthRedirectDto, -} from '../../../shared/types' - -// Exported for testing -export const PUBLIC_FORMS_ENDPOINT = '/api/v3/forms' - -export const createRedirectURL = ( - formId: string, - isPersistentLogin = false, - encodedQuery?: string, -): Promise => { - return axios - .get( - `${PUBLIC_FORMS_ENDPOINT}/${formId}/auth/redirect`, - { - params: { encodedQuery, isPersistentLogin }, - }, - ) - .then(({ data }) => data) -} - -export const logoutOfSpcpSession = ( - authType: FormAuthType, -): Promise => { - return axios - .get( - `${PUBLIC_FORMS_ENDPOINT}/auth/${authType}/logout`, - ) - .then(({ data }) => data) -} diff --git a/src/public/services/PublicFormService.ts b/src/public/services/PublicFormService.ts deleted file mode 100644 index 3c7eae8bef..0000000000 --- a/src/public/services/PublicFormService.ts +++ /dev/null @@ -1,93 +0,0 @@ -import axios from 'axios' - -import { - EmailModeSubmissionContentDto, - PublicFormViewDto, - StorageModeSubmissionContentDto, - SubmissionResponseDto, -} from '../../../shared/types' -import { createEmailSubmissionFormData } from '../utils/submission' - -const PUBLIC_FORMS_ENDPOINT = '/api/v3/forms' - -/** - * Submits an email mode form submission. - * @param formId id of form to submit submission for - * @param content content of submission - * @param attachments any attachments included in submission - * @param captchaResponse string if captcha to be included, defaults to null - * - * @returns SubmissionResponseDto if successful, else SubmissionErrorDto on error - */ -export const submitEmailModeForm = async ({ - formId, - content, - attachments, - captchaResponse = null, -}: { - formId: string - content: EmailModeSubmissionContentDto - attachments?: Record - captchaResponse?: string | null -}): Promise => { - const formData = createEmailSubmissionFormData({ - content, - attachments, - }) - - return axios - .post( - `${PUBLIC_FORMS_ENDPOINT}/${formId}/submissions/email`, - formData, - { - params: { - captchaResponse: String(captchaResponse), - }, - }, - ) - .then(({ data }) => data) -} - -/** - * Submits a storage mode form's submission. - * @param formId id of form to submit submission for - * @param content the storage mode submission object to submit - * @param captchaResponse string if captcha to be included, defaults to null - * - * @returns SubmissionResponseDto if successful, else SubmissionErrorDto on error - */ -export const submitStorageModeForm = async ({ - formId, - content, - captchaResponse = null, -}: { - formId: string - content: StorageModeSubmissionContentDto - captchaResponse?: string | null -}): Promise => { - return axios - .post( - `${PUBLIC_FORMS_ENDPOINT}/${formId}/submissions/encrypt`, - content, - { - params: { - captchaResponse: String(captchaResponse), - }, - }, - ) - .then(({ data }) => data) -} - -/** - * Gets public view of form, along with any - * identify information obtained from Singpass/Corppass/MyInfo. - * @param formId FormId of form in question - * @returns Public view of form, with additional identify information - */ -export const getPublicFormView = async ( - formId: string, -): Promise => { - return axios - .get(`${PUBLIC_FORMS_ENDPOINT}/${formId}`) - .then(({ data }) => data) -} diff --git a/src/public/services/UpdateFormService.ts b/src/public/services/UpdateFormService.ts deleted file mode 100644 index 2228af23aa..0000000000 --- a/src/public/services/UpdateFormService.ts +++ /dev/null @@ -1,313 +0,0 @@ -import axios from 'axios' - -import { - AdminFormDto, - AdminFormViewDto, - EmailModeSubmissionContentDto, - EndPageUpdateDto, - FieldCreateDto, - FormFieldDto, - FormFieldWithId, - FormSettings, - LogicDto, - PermissionsUpdateDto, - SettingsUpdateDto, - StartPageUpdateDto, - StorageModeSubmissionContentDto, - SubmissionResponseDto, -} from '../../../shared/types' -import { FormUpdateParams } from '../../types/api' -import { createEmailSubmissionFormData } from '../utils/submission' - -// Exported for testing -export const ADMIN_FORM_ENDPOINT = '/api/v3/admin/forms' - -export const updateFormSettings = async ( - formId: string, - settingsToUpdate: SettingsUpdateDto, -): Promise => { - return axios - .patch( - `${ADMIN_FORM_ENDPOINT}/${formId}/settings`, - settingsToUpdate, - ) - .then(({ data }) => data) -} - -export const getSingleFormField = async ( - formId: string, - fieldId: string, -): Promise => { - return axios - .get(`${ADMIN_FORM_ENDPOINT}/${formId}/fields/${fieldId}`) - .then(({ data }) => data) -} - -export const updateSingleFormField = async ( - formId: string, - fieldId: string, - updateFieldBody: FormFieldDto, -): Promise => { - return axios - .put( - `${ADMIN_FORM_ENDPOINT}/${formId}/fields/${fieldId}`, - updateFieldBody, - ) - .then(({ data }) => data) -} - -export const createSingleFormField = async ( - formId: string, - createFieldBody: FieldCreateDto, -): Promise => { - return axios - .post( - `${ADMIN_FORM_ENDPOINT}/${formId}/fields`, - createFieldBody, - ) - .then(({ data }) => data) -} - -export const updateCollaborators = async ( - formId: string, - collaboratorsToUpdate: PermissionsUpdateDto, -): Promise => { - return axios - .put( - `${ADMIN_FORM_ENDPOINT}/${formId}/collaborators`, - collaboratorsToUpdate, - ) - .then(({ data }) => data) -} - -export const removeSelfFromCollaborators = async ( - formId: string, -): Promise => { - return axios - .delete( - `${ADMIN_FORM_ENDPOINT}/${formId}/collaborators/self`, - ) - .then(({ data }) => data) -} - -export const duplicateSingleFormField = async ( - formId: string, - fieldId: string, -): Promise => { - return axios - .post( - `${ADMIN_FORM_ENDPOINT}/${formId}/fields/${fieldId}/duplicate`, - ) - .then(({ data }) => data) -} - -/** - * Reorders the field to the given new position. - * @param formId the id of the form to perform the field reorder - * @param fieldId the id of the field to reorder - * @param newPosition the position to move the field to - * @returns the reordered form fields of the form corresponding to the formId - */ -export const reorderSingleFormField = async ( - formId: string, - fieldId: string, - newPosition: number, -): Promise => { - return axios - .post( - `${ADMIN_FORM_ENDPOINT}/${formId}/fields/${fieldId}/reorder`, - {}, - { params: { to: newPosition } }, - ) - .then(({ data }) => data) -} - -/** - * Delete a single form field by its id in given form - * @param formId the id of the form to delete the field from - * @param fieldId the id of the field to delete - * @returns void on success - */ -export const deleteSingleFormField = async ( - formId: string, - fieldId: string, -): Promise => { - return axios.delete(`${ADMIN_FORM_ENDPOINT}/${formId}/fields/${fieldId}`) -} - -/** - * Updates the end page for the given form referenced by its id - * @param formId the id of the form to update end page for - * @param newEndPage the new endpage to replace with - * @returns the updated end page on success - */ -export const updateFormEndPage = async ( - formId: string, - newEndPage: EndPageUpdateDto, -): Promise => { - return axios - .put( - `${ADMIN_FORM_ENDPOINT}/${formId}/end-page`, - newEndPage, - ) - .then(({ data }) => data) -} - -export const createFormLogic = async ( - formId: string, - createLogicBody: LogicDto, -): Promise => { - return axios - .post(`${ADMIN_FORM_ENDPOINT}/${formId}/logic`, createLogicBody) - .then(({ data }) => data) -} - -export const deleteFormLogic = async ( - formId: string, - logicId: string, -): Promise => { - return axios - .delete(`${ADMIN_FORM_ENDPOINT}/${formId}/logic/${logicId}`) - .then(() => true) -} - -export const updateFormLogic = async ( - formId: string, - logicId: string, - updatedLogic: LogicDto, -): Promise => { - return axios - .put( - `${ADMIN_FORM_ENDPOINT}/${formId}/logic/${logicId}`, - updatedLogic, - ) - .then(({ data }) => data) -} - -/** - * Updates the start page for the given form referenced by its id - * @param formId the id of the form to update start page for - * @param newEndPage the new start page to replace with - * @returns the updated start page on success - */ -export const updateFormStartPage = async ( - formId: string, - newStartPage: StartPageUpdateDto, -): Promise => { - return axios - .put( - `${ADMIN_FORM_ENDPOINT}/${formId}/start-page`, - newStartPage, - ) - .then(({ data }) => data) -} - -/** - * Submits a preview version of an email mode form submission. - * @param formId id of form to submit submission for - * @param content content of submission - * @param attachments any attachments included in submission - * @param captchaResponse string if captcha to be included, defaults to null - * - * @returns SubmissionResponseDto if successful, else SubmissionErrorDto on error - */ -export const submitEmailModeFormPreview = async ({ - formId, - content, - attachments, - captchaResponse = null, -}: { - formId: string - content: EmailModeSubmissionContentDto - attachments?: Record - captchaResponse?: string | null -}): Promise => { - const formData = createEmailSubmissionFormData({ - content, - attachments, - }) - - return axios - .post( - `${ADMIN_FORM_ENDPOINT}/${formId}/preview/submissions/email`, - formData, - { - params: { - captchaResponse: String(captchaResponse), - }, - }, - ) - .then(({ data }) => data) -} - -/** - * Submits a preview version of a storage mode form's submission. - * @param formId id of form to submit submission for - * @param content the storage mode submission object to submit - * @param captchaResponse string if captcha to be included, defaults to null - * - * @returns SubmissionResponseDto if successful, else SubmissionErrorDto on error - */ -export const submitStorageModeFormPreview = async ({ - formId, - content, - captchaResponse = null, -}: { - formId: string - content: StorageModeSubmissionContentDto - captchaResponse?: string | null -}): Promise => { - return axios - .post( - `${ADMIN_FORM_ENDPOINT}/${formId}/preview/submissions/encrypt`, - content, - { - params: { - captchaResponse: String(captchaResponse), - }, - }, - ) - .then(({ data }) => data) -} - -/** - * Deletes the form with the corresponding formId - * @param formId formId of form to delete - */ -export const deleteForm = async (formId: string): Promise => { - return axios - .delete(`${ADMIN_FORM_ENDPOINT}/${formId}`) - .then(({ data }) => data) -} - -/** - * Updates FormUpdateParams attribute(s) in the corresponding form. - * @deprecated This function should no longer be called - * @param formId formId of form in question - * @returns Updated form - */ -export const updateForm = async ( - formId: string, - update: FormUpdateParams, -): Promise => { - return axios - .put(`${formId}/adminform`, { form: update }) - .then(({ data }) => data) -} - -/** - * Transfers ownership of form to another user with the given email. - * @param newOwnerEmail Email of new owner - * @returns Updated form with new ownership. - */ -export const transferOwner = async ( - formId: string, - newOwnerEmail: string, -): Promise => { - return axios - .post( - `${ADMIN_FORM_ENDPOINT}/${formId}/collaborators/transfer-owner`, - { email: newOwnerEmail }, - ) - .then(({ data }) => data) -} diff --git a/src/public/services/UserService.ts b/src/public/services/UserService.ts deleted file mode 100644 index 8c1cf0b5d1..0000000000 --- a/src/public/services/UserService.ts +++ /dev/null @@ -1,63 +0,0 @@ -import axios from 'axios' - -import { UserDto } from '../../../shared/types' - -/** Exported for testing */ -export const STORAGE_USER_KEY = 'user' -// For React redirect compatibility -export const LOGGED_IN_KEY = 'is-logged-in' -/** Exported for testing */ -export const USER_ENDPOINT = '/api/v3/user' - -/** - * Get logged in user from localStorage. - * May not be needed in React depending on implementation. - * - * @returns user if available, null otherwise - */ -export const getUserFromLocalStorage = (): UserDto | null => { - const userStringified = localStorage.getItem(STORAGE_USER_KEY) - - if (userStringified) { - localStorage.setItem(LOGGED_IN_KEY, 'true') - try { - return UserDto.parse(JSON.parse(userStringified)) - } catch (error) { - // Invalid shape, clear from storage. - clearUserFromLocalStorage() - return null - } - } - return null -} - -/** - * Save logged in user to localStorage. - * May not be needed in React depending on implementation. - * - * @param user the user to save to local storage - */ -export const saveUserToLocalStorage = (user: UserDto): void => { - localStorage.setItem(STORAGE_USER_KEY, JSON.stringify(user)) - localStorage.setItem(LOGGED_IN_KEY, 'true') -} - -/** - * Clear logged in user from localStorage. - * May not even be needed in React depending on implementation. - */ -export const clearUserFromLocalStorage = (): void => { - localStorage.removeItem(STORAGE_USER_KEY) - localStorage.removeItem(LOGGED_IN_KEY) -} - -/** - * Fetches the user from the server using the current session cookie. - * - * Side effect: On success, save the retrieved user to localStorage. - * Side effect: On error, clear the user (if any) from localStorage. - * @returns the logged in user if session is valid, `null` otherwise - */ -export const fetchUser = async (): Promise => { - return axios.get(USER_ENDPOINT).then(({ data }) => data) -} diff --git a/src/public/services/__tests__/AdminMetaService.test.ts b/src/public/services/__tests__/AdminMetaService.test.ts deleted file mode 100644 index c4d865c568..0000000000 --- a/src/public/services/__tests__/AdminMetaService.test.ts +++ /dev/null @@ -1,28 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -import axios from 'axios' - -import * as AdminMetaService from '../AdminMetaService' - -jest.mock('axios') -const MockAxios = jest.mocked(axios) - -describe('AdminMetaService', () => { - describe('getFreeSmsCountsUsedByFormAdmin', () => { - const MOCK_FORM_ID = 'mock-form-id' - - it('should call the endpoint successfully when parameters are provided', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: 'some data' }) - // Act - const actual = await AdminMetaService.getFreeSmsCountsUsedByFormAdmin( - MOCK_FORM_ID, - ) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - `${AdminMetaService.FORM_API_PREFIX}/${MOCK_FORM_ID}/verified-sms/count/free`, - ) - expect(actual).toBe('some data') - }) - }) -}) diff --git a/src/public/services/__tests__/AdminSubmissionsService.test.ts b/src/public/services/__tests__/AdminSubmissionsService.test.ts deleted file mode 100644 index f141cc2770..0000000000 --- a/src/public/services/__tests__/AdminSubmissionsService.test.ts +++ /dev/null @@ -1,312 +0,0 @@ -import { decode } from '@stablelib/base64' -import axios from 'axios' -import JSZip from 'jszip' - -import { - DateString, - StorageModeSubmissionMetadataList, - SubmissionId, -} from '../../../../shared/types' -import * as AdminSubmissionService from '../AdminSubmissionsService' -import * as formsSdk from '../FormSgSdkService' -import { ADMIN_FORM_ENDPOINT } from '../UpdateFormService' - -jest.mock('axios') -const MockAxios = jest.mocked(axios) - -jest.mock('../FormSgSdkService') - -const mockFormSgSdk = jest.mocked(formsSdk.FormSgSdk) - -jest.mock('@stablelib/base64') -const mockDecodeBase64 = jest.mocked(decode) - -describe('AdminSubmissionsService', () => { - describe('countFormSubmissions', () => { - const MOCK_FORM_ID = 'mock–form-id' - const MOCK_START_DATE = new Date(2020, 11, 17).toISOString() as DateString - const MOCK_END_DATE = new Date(2021, 1, 10).toISOString() as DateString - - it('should call api successfully when all parameters are provided', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: 123 }) - - // Act - const actual = await AdminSubmissionService.countFormSubmissions({ - formId: MOCK_FORM_ID, - dates: { startDate: MOCK_START_DATE, endDate: MOCK_END_DATE }, - }) - - // Assert - expect(actual).toEqual(123) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/submissions/count`, - { - params: { - startDate: MOCK_START_DATE, - endDate: MOCK_END_DATE, - }, - }, - ) - }) - - it('should call api successfully when only formId is provided', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: 123 }) - - // Act - const actual = await AdminSubmissionService.countFormSubmissions({ - formId: MOCK_FORM_ID, - }) - - // Assert - expect(actual).toEqual(123) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/submissions/count`, - ) - }) - }) - - describe('getSubmissionsMetadataByPage', () => { - const MOCK_FORM_ID = 'mock–form-id' - const MOCK_PAGE_NUM = 1 - const MOCK_RESPONSE: StorageModeSubmissionMetadataList = { - count: 1, - metadata: [ - { - number: 1, - refNo: '1234' as SubmissionId, - submissionTime: 'sometime', - }, - ], - } - - it('should call the api correctly', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: MOCK_RESPONSE }) - - // Act - const actual = await AdminSubmissionService.getSubmissionsMetadataByPage({ - formId: MOCK_FORM_ID, - page: MOCK_PAGE_NUM, - }) - - // Assert - expect(actual).toEqual(MOCK_RESPONSE) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/submissions/metadata`, - { - params: { - page: MOCK_PAGE_NUM, - }, - }, - ) - }) - }) - - describe('getSubmissionMetadataById', () => { - const MOCK_FORM_ID = 'mock–form-id' - const MOCK_SUBMISSION_ID = 'fake' - const MOCK_RESPONSE: StorageModeSubmissionMetadataList = { - count: 1, - metadata: [ - { - number: 1, - refNo: '1234' as SubmissionId, - submissionTime: 'sometime', - }, - ], - } - - it('should call the api correctly', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: MOCK_RESPONSE }) - - // Act - const actual = await AdminSubmissionService.getSubmissionMetadataById({ - formId: MOCK_FORM_ID, - submissionId: MOCK_SUBMISSION_ID, - }) - - // Assert - expect(actual).toEqual(MOCK_RESPONSE) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/submissions/metadata`, - { - params: { - submissionId: MOCK_SUBMISSION_ID, - }, - }, - ) - }) - }) - - describe('getEncryptedResponse', () => { - const MOCK_FORM_ID = 'mock–form-id' - const MOCK_SUBMISSION_ID = 'fake' - const MOCK_RESPONSE = { - refNo: '1', - submissionTime: 'sometime', - content: 'jk', - verified: 'whups', - attachmentMetadata: {}, - } - - it('should call the api correctly when the parameters are valid', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: MOCK_RESPONSE }) - - // Act - const actual = await AdminSubmissionService.getEncryptedResponse({ - formId: MOCK_FORM_ID, - submissionId: MOCK_SUBMISSION_ID, - }) - - // Assert - expect(actual).toEqual(MOCK_RESPONSE) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/submissions/${MOCK_SUBMISSION_ID}`, - ) - }) - }) - - describe('downloadAndDecryptAttachment', () => { - const MOCK_URL = 'www.decryptme.com' - const MOCK_SECRET_KEY = 'this is a secret' - const MOCK_PUBLIC_KEY = 'some public key' - const MOCK_NONCE = 'use me once and throw away pls' - const MOCK_BINARY = - '01101001 00100000 01100001 01101101 00100000 01100001 00100000 01101000 01110101 01101101 01100001 01101110' - - it('should decrypt successfully when there is data', async () => { - // Arrange - // Do not really want to mock an Uint8Array since it does not matter for - // this test. - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - mockFormSgSdk.crypto.decryptFile.mockResolvedValueOnce('great decryption') - const MOCK_ENCRYPTED_ATTACHMENT = { - encryptedFile: { - submissionPublicKey: MOCK_PUBLIC_KEY, - nonce: MOCK_NONCE, - binary: MOCK_BINARY, - }, - } - const MOCK_ARRAY = Uint8Array.from([1, 2, 3, 4]) - MockAxios.get.mockResolvedValueOnce({ data: MOCK_ENCRYPTED_ATTACHMENT }) - mockDecodeBase64.mockReturnValueOnce(MOCK_ARRAY) - const expectedDecodedFile = { - ...MOCK_ENCRYPTED_ATTACHMENT.encryptedFile, - binary: MOCK_ARRAY, - } - - // Act - const actual = await AdminSubmissionService.downloadAndDecryptAttachment( - MOCK_URL, - MOCK_SECRET_KEY, - ) - - // Assert - expect(mockDecodeBase64).toHaveBeenCalledWith(MOCK_BINARY) - expect(mockFormSgSdk.crypto.decryptFile).toHaveBeenCalledWith( - MOCK_SECRET_KEY, - expectedDecodedFile, - ) - expect(actual).toBe('great decryption') - }) - - it('should return null when the sdk returns null', async () => { - // Arrange - mockFormSgSdk.crypto.decryptFile.mockResolvedValueOnce(null) - const MOCK_ENCRYPTED_ATTACHMENT = { - encryptedFile: { - submissionPublicKey: MOCK_PUBLIC_KEY, - nonce: MOCK_NONCE, - binary: MOCK_BINARY, - }, - } - const MOCK_ARRAY = Uint8Array.from([1, 2, 3, 4]) - MockAxios.get.mockResolvedValueOnce({ data: MOCK_ENCRYPTED_ATTACHMENT }) - mockDecodeBase64.mockReturnValueOnce(MOCK_ARRAY) - const expectedDecodedFile = { - ...MOCK_ENCRYPTED_ATTACHMENT.encryptedFile, - binary: MOCK_ARRAY, - } - - // Act - const actual = await AdminSubmissionService.downloadAndDecryptAttachment( - MOCK_URL, - MOCK_SECRET_KEY, - ) - - // Arrange - expect(mockDecodeBase64).toHaveBeenCalledWith(MOCK_BINARY) - expect(mockFormSgSdk.crypto.decryptFile).toHaveBeenCalledWith( - MOCK_SECRET_KEY, - expectedDecodedFile, - ) - expect(actual).toBe(null) - }) - }) - - describe('downloadAndDecryptAttachmentsAsZip', () => { - const MOCK_DOWNLOAD_URLS = new Map([ - [1, { url: 'something', filename: '1' }], - [2, { url: 'something', filename: '1' }], - ]) - const MOCK_SECRET_KEY = 'keep this secret' - const MOCK_ARRAY = Uint8Array.from([1, 2, 3]) - - it('should return the zipfile when downloads are successful', async () => { - // Arrange - const decryptSpy = jest.spyOn( - AdminSubmissionService, - 'downloadAndDecryptAttachment', - ) - decryptSpy.mockResolvedValue(MOCK_ARRAY) - const MOCK_ZIP = new JSZip() - const zipPromises = Array.from(MOCK_DOWNLOAD_URLS).map( - async ([questionNum, { filename }]) => { - const fileName = `Question ${questionNum} - ${filename}` - return MOCK_ZIP.file(fileName, MOCK_ARRAY) - }, - ) - const expected = await Promise.all(zipPromises).then(() => { - return MOCK_ZIP.generateAsync({ type: 'blob' }) - }) - - // Act - const actual = - await AdminSubmissionService.downloadAndDecryptAttachmentsAsZip( - MOCK_DOWNLOAD_URLS, - MOCK_SECRET_KEY, - ) - - // Assert - // Check that function is called with correct params for each element in the map - MOCK_DOWNLOAD_URLS.forEach(({ url }) => { - expect(decryptSpy).toHaveBeenCalledWith(url, MOCK_SECRET_KEY) - }) - expect(actual).toEqual(expected) - }) - - it('should reject when any single download failed', async () => { - // Arrange - const decryptSpy = jest.spyOn( - AdminSubmissionService, - 'downloadAndDecryptAttachment', - ) - // NOTE: 2 urls but only 1 single rejection - decryptSpy.mockRejectedValueOnce('oh no i failed') - - // Act - const actual = AdminSubmissionService.downloadAndDecryptAttachmentsAsZip( - MOCK_DOWNLOAD_URLS, - MOCK_SECRET_KEY, - ) - - // Assert - await expect(actual).rejects.toEqual('oh no i failed') - }) - }) -}) diff --git a/src/public/services/__tests__/AdminViewFormService.test.ts b/src/public/services/__tests__/AdminViewFormService.test.ts deleted file mode 100644 index f00104ce7e..0000000000 --- a/src/public/services/__tests__/AdminViewFormService.test.ts +++ /dev/null @@ -1,156 +0,0 @@ -import MockAxios from 'jest-mock-axios' - -import { - AdminDashboardFormMetaDto, - AdminFormViewDto, - DateString, - FormId, - FormResponseMode, - FormStatus, - PreviewFormViewDto, - UserDto, -} from '../../../../shared/types' -import { - ADMIN_FORM_ENDPOINT, - getAdminFormView, - getDashboardView, - previewForm, -} from '../AdminViewFormService' - -jest.mock('axios', () => MockAxios) - -const MOCK_USER = { - _id: 'mock-user-id', -} as UserDto - -describe('AdminViewFormService', () => { - afterEach(() => MockAxios.reset()) - describe('getDashboardView', () => { - it('should successfully return all available forms if GET request succeeds', async () => { - // Arrange - const expected: AdminDashboardFormMetaDto[] = [ - { - title: 'title', - lastModified: new Date().toISOString() as DateString, - _id: 'mock-form-id' as FormId, - responseMode: FormResponseMode.Email, - admin: MOCK_USER, - status: FormStatus.Private, - }, - ] - MockAxios.get.mockResolvedValueOnce({ data: expected }) - // Act - const actual = await getDashboardView() - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith(`${ADMIN_FORM_ENDPOINT}`) - }) - - it('should successfully return empty array if GET request succeeds and there are no forms', async () => { - // Arrange - const mockResponse: AdminDashboardFormMetaDto[] = [] - MockAxios.get.mockResolvedValueOnce({ data: mockResponse }) - - // Act - const actual = await getDashboardView() - - // Assert - expect(actual).toEqual(mockResponse) - expect(MockAxios.get).toHaveBeenCalledWith(`${ADMIN_FORM_ENDPOINT}`) - }) - - it('should reject with error message if GET request fails', async () => { - // Arrange - const mockError = new Error('error') - MockAxios.get.mockRejectedValueOnce(mockError) - - // Act - const actualPromise = getDashboardView() - - //Assert - await expect(actualPromise).rejects.toEqual(mockError) - expect(MockAxios.get).toHaveBeenCalledWith(`${ADMIN_FORM_ENDPOINT}`) - }) - }) - - describe('getAdminFormView', () => { - it('should return admin form if GET request succeeds', async () => { - // Arrange - const mockResponse = _generateMockFullForm() - MockAxios.get.mockResolvedValueOnce({ data: mockResponse }) - - // Act - const actual = await getAdminFormView(mockResponse.form._id) - - // Assert - expect(actual).toEqual(mockResponse) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${mockResponse.form._id}`, - ) - }) - - it('should reject with error message when GET request fails', async () => { - // Arrange - const expected = new Error('error') - const mockForm = _generateMockFullForm().form - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = getAdminFormView(mockForm._id) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${mockForm._id}`, - ) - }) - }) - - describe('previewForm', () => { - const MOCK_FORM_ID = 'mock-form-id' - - it('should return form preview if GET request succeeds', async () => { - // Arrange - const expected = { - _id: MOCK_FORM_ID, - title: 'mock preview title', - admin: MOCK_USER, - } as unknown as PreviewFormViewDto - MockAxios.get.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await previewForm(MOCK_FORM_ID) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/preview`, - ) - }) - - it('should reject with error message if GET request fails', async () => { - // Arrange - const expected = new Error('error') - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = previewForm(MOCK_FORM_ID) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/preview`, - ) - }) - }) -}) - -// Utils -const _generateMockFullForm = (): AdminFormViewDto => { - return { - form: { - _id: 'mock-form-id', - }, - } as AdminFormViewDto -} diff --git a/src/public/services/__tests__/AuthService.test.ts b/src/public/services/__tests__/AuthService.test.ts deleted file mode 100644 index d832853e1f..0000000000 --- a/src/public/services/__tests__/AuthService.test.ts +++ /dev/null @@ -1,102 +0,0 @@ -import axios from 'axios' -import type { Opaque } from 'type-fest' - -import { - AUTH_ENDPOINT, - checkIsEmailAllowed, - logout, - sendLoginOtp, - verifyLoginOtp, -} from '../AuthService' - -jest.mock('axios') -const MockAxios = jest.mocked(axios) - -// Duplicated here instead of exporting from AuthService to prevent production -// code from casting to Email type without going through a type guard/validator. -type TestEmail = Opaque - -describe('AuthService', () => { - describe('checkIsEmailAllowed', () => { - const EXPECTED_POST_ENDPOINT = `${AUTH_ENDPOINT}/email/validate` - - it('should return given email argument when email is allowed', async () => { - // Arrange - const mockEmail = 'this.should.RETURN@example.com' - MockAxios.post.mockResolvedValueOnce({ status: 200 }) - - // Act - const actual = await checkIsEmailAllowed(mockEmail) - - // Assert - expect(actual).toEqual(mockEmail) - expect(MockAxios.post).toHaveBeenCalledWith(EXPECTED_POST_ENDPOINT, { - email: mockEmail.toLowerCase(), - }) - }) - }) - - describe('sendLoginOtp', () => { - const EXPECTED_POST_ENDPOINT = `${AUTH_ENDPOINT}/otp/generate` - - it('should return success string when OTP is successfully generated', async () => { - // Arrange - const mockEmail = 'otp-email@example.com' - const mockSuccessStr = 'yippee ki yay' - MockAxios.post.mockResolvedValueOnce({ - data: mockSuccessStr, - }) - - // Act - const actual = await sendLoginOtp(mockEmail as TestEmail) - - // Assert - expect(actual).toEqual(mockSuccessStr) - expect(MockAxios.post).toHaveBeenCalledWith(EXPECTED_POST_ENDPOINT, { - email: mockEmail.toLowerCase(), - }) - }) - }) - - describe('verifyLoginOtp', () => { - const EXPECTED_POST_ENDPOINT = `${AUTH_ENDPOINT}/otp/verify` - const MOCK_OTP = '123456' - const MOCK_EMAIL = 'mockEmail@example.com' - - it('should return user on success', async () => { - // Arrange - const mockUser = { - _id: 'some id', - email: MOCK_EMAIL, - } - MockAxios.post.mockResolvedValueOnce({ data: mockUser }) - const expectedParams = { otp: MOCK_OTP, email: MOCK_EMAIL } - - // Act - const actual = await verifyLoginOtp(expectedParams) - - // Assert - expect(actual).toEqual(mockUser) - expect(MockAxios.post).toHaveBeenCalledWith( - EXPECTED_POST_ENDPOINT, - expectedParams, - ) - }) - }) - - describe('logout', () => { - const EXPECTED_ENDPOINT = `${AUTH_ENDPOINT}/logout` - it('should call endpoint successfully', async () => { - // Arrange - const mockReturn = { status: 200 } - MockAxios.get.mockResolvedValueOnce(mockReturn) - - // Act - const actual = await logout() - - // Assert - expect(actual).toEqual(mockReturn) - expect(MockAxios.get).toHaveBeenLastCalledWith(EXPECTED_ENDPOINT) - }) - }) -}) diff --git a/src/public/services/__tests__/BetaService.test.ts b/src/public/services/__tests__/BetaService.test.ts deleted file mode 100644 index 0b1d2cd1ae..0000000000 --- a/src/public/services/__tests__/BetaService.test.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { BasicField, FormDto, UserDto } from '../../../../shared/types' -import * as BetaService from '../BetaService' - -describe('BetaService', () => { - const featureOne = 'featureOne' - const featureOneFieldType = BasicField.ShortText - const featureTwo = 'featureTwo' - const betaFeaturesField = [ - { - name: featureOne, - flag: 'betaFlagOne', - matches(form: FormDto) { - return ( - !!form.form_fields && - form.form_fields.some( - (field) => field.fieldType === featureOneFieldType, - ) - ) - }, - fieldType: featureOneFieldType, - }, - { - name: featureTwo, - flag: 'betaFlagTwo', - matches(form: FormDto) { - return form.title === featureTwo - }, - fieldType: null, - }, - ] - const userWithFeatureOne = { - betaFlags: { - [betaFeaturesField[0].flag]: true, - }, - } as UserDto - const userWithNoFeatures = { - betaFlags: {}, - } as UserDto - describe('isBetaField', () => { - it('returns truthy for defined beta fields', () => { - const result = BetaService.isBetaField( - featureOneFieldType, - betaFeaturesField, - ) - expect(result).toBeTruthy() - }) - it('returns falsy for fields not defined as beta', () => { - const result = BetaService.isBetaField( - BasicField.Attachment, - betaFeaturesField, - ) - expect(result).toBeFalsy() - }) - }) - describe('userHasAccessToFieldType', () => { - it('returns true for features not defined as beta', () => { - const result = BetaService.userHasAccessToFieldType( - userWithFeatureOne, - // in betaFeaturesField, ShortText is the only beta field type - BasicField.Attachment, - betaFeaturesField, - ) - expect(result).toBeTrue() - }) - it('returns true for beta features that the user has access to', () => { - const result = BetaService.userHasAccessToFieldType( - userWithFeatureOne, - featureOneFieldType, - betaFeaturesField, - ) - expect(result).toBeTrue() - }) - it('returns false for beta features that the user lacks access to', () => { - const result = BetaService.userHasAccessToFieldType( - userWithNoFeatures, - featureOneFieldType, - betaFeaturesField, - ) - expect(result).toBeFalse() - }) - }) - describe('getBetaFeaturesForFields', () => { - // Form containing both feature one and feature two - const form = { - form_fields: [{ fieldType: featureOneFieldType }], - title: featureTwo, - } as FormDto - it('lists the beta features that the user lacks', () => { - // User with access to only feature one - const result = BetaService.getMissingBetaPermissions( - userWithFeatureOne, - form, - betaFeaturesField, - ) - expect(result).toStrictEqual([featureTwo]) - }) - }) -}) diff --git a/src/public/services/__tests__/BillingService.test.ts b/src/public/services/__tests__/BillingService.test.ts deleted file mode 100644 index 8aa0bb7473..0000000000 --- a/src/public/services/__tests__/BillingService.test.ts +++ /dev/null @@ -1,52 +0,0 @@ -import MockAxios from 'jest-mock-axios' - -import * as BillingService from '../BillingService' - -jest.mock('axios', () => MockAxios) - -describe('BillingService', () => { - describe('getBillingInfo', () => { - const MOCK_DATA = { - adminEmail: 'Big Mock', - formName: 'Mock Form', - total: 0, - formId: 'Mock', - authType: 'NIL', - } - const MOCK_PARAMS = { yr: '2020', mth: '12', esrvcId: 'mock' } - it('should return the billing information when the GET request succeeds', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: MOCK_DATA }) - - // Act - const actual = await BillingService.getBillingInfo(MOCK_PARAMS) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - BillingService.BILLING_ENDPOINT, - { - params: MOCK_PARAMS, - }, - ) - expect(actual).toEqual(MOCK_DATA) - }) - - it('should reject with the provided error message when the GET request fails', async () => { - // Arrange - const expected = new Error('Mock Error') - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = BillingService.getBillingInfo(MOCK_PARAMS) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - BillingService.BILLING_ENDPOINT, - { - params: MOCK_PARAMS, - }, - ) - }) - }) -}) diff --git a/src/public/services/__tests__/CreateFormService.test.ts b/src/public/services/__tests__/CreateFormService.test.ts deleted file mode 100644 index fdb015b585..0000000000 --- a/src/public/services/__tests__/CreateFormService.test.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { ObjectId } from 'bson' -import MockAxios from 'jest-mock-axios' - -import { - CreateEmailFormBodyDto, - CreateStorageFormBodyDto, - DuplicateFormBodyDto, - FormResponseMode, - UserDto, -} from '../../../../shared/types' -import { - ADMIN_FORM_ENDPOINT, - createForm, - duplicateForm, -} from '../CreateFormService' - -jest.mock('axios', () => MockAxios) - -const MOCK_USER = { - _id: 'mock-user-id', -} as UserDto - -describe('CreateFormService', () => { - afterEach(() => MockAxios.reset()) - describe('duplicateForm', () => { - it('should return saved form if POST request succeeds', async () => { - // Arrange - const expected = { - title: 'title', - lastModified: new Date(), - _id: new ObjectId().toHexString(), - responseMode: FormResponseMode.Email, - admin: MOCK_USER, - } - const MOCK_FORM_ID = expected._id - const MOCK_DUPLICATE_FORM_BODY = _generateDuplicateFormBody() - MockAxios.post.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await duplicateForm(MOCK_FORM_ID, MOCK_DUPLICATE_FORM_BODY) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/duplicate`, - MOCK_DUPLICATE_FORM_BODY, - ) - }) - - it('should reject with error message if POST request fails', async () => { - // Arrange - const expected = new Error('error') - const MOCK_FORM_ID = new ObjectId().toHexString() - const MOCK_DUPLICATE_FORM_BODY = _generateDuplicateFormBody() - MockAxios.post.mockRejectedValueOnce(expected) - - // Act - const actualPromise = duplicateForm( - MOCK_FORM_ID, - MOCK_DUPLICATE_FORM_BODY, - ) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/duplicate`, - MOCK_DUPLICATE_FORM_BODY, - ) - }) - }) - - describe('createForm', () => { - it('should return created form if POST request succeeds', async () => { - // Arrange - const expected = { form_fields: [] } - const mockFormParams: CreateStorageFormBodyDto = { - title: 'title', - responseMode: FormResponseMode.Encrypt, - publicKey: 'test', - } - MockAxios.post.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await createForm(mockFormParams) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith(`${ADMIN_FORM_ENDPOINT}`, { - form: mockFormParams, - }) - }) - - it('should reject with error message if POST request fails', async () => { - // Arrange - const expected = new Error('error') - const mockFormParams: CreateEmailFormBodyDto = { - title: 'title', - responseMode: FormResponseMode.Email, - emails: ['mock'], - } - MockAxios.post.mockRejectedValueOnce(expected) - // Act - const actualPromise = createForm(mockFormParams) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith(`${ADMIN_FORM_ENDPOINT}`, { - form: mockFormParams, - }) - }) - }) -}) - -const _generateDuplicateFormBody = (): DuplicateFormBodyDto => { - return { - title: 'title', - responseMode: FormResponseMode.Email, - emails: 'test@example.com', - } as DuplicateFormBodyDto -} diff --git a/src/public/services/__tests__/EncryptionService.test.ts b/src/public/services/__tests__/EncryptionService.test.ts deleted file mode 100644 index f6012fe17d..0000000000 --- a/src/public/services/__tests__/EncryptionService.test.ts +++ /dev/null @@ -1,87 +0,0 @@ -import * as EncryptionService from '../EncryptionService' -import { FormSgSdk } from '../FormSgSdkService' - -jest.mock('../FormSgSdkService') -const MockFormSgSdk = jest.mocked(FormSgSdk) - -describe('EncryptionService', () => { - describe('encryptSubmissionResponses', () => { - const MOCK_PUBLIC_KEY = 'mockpublickey' - const MOCK_ENCRYPTED_RESPONSES = 'this is a success!' - - const VALID_EMAIL_RESPONSE = { - _id: 'some-id', - question: 'some-question', - answer: 'some-answer', - fieldType: 'email', - } - - const VALID_TABLE_RESPONSE = { - _id: 'some-table-id', - question: 'some-table-question', - answerArray: [ - ['r1c1-answer', 'r1c2-answer'], - ['r2c1-answer', 'r2c2-answer'], - ], - fieldType: 'table', - } - - beforeEach(() => { - MockFormSgSdk.crypto.encrypt.mockReturnValue(MOCK_ENCRYPTED_RESPONSES) - }) - - it('should throw error when given responses is not an array', () => { - // Arrange - const mockResponses = 'not an array' - - // Act - const fn = () => - EncryptionService.encryptSubmissionResponses( - mockResponses, - MOCK_PUBLIC_KEY, - ) - - // Assert - expect(fn).toThrow('Input submission is malformed') - expect(MockFormSgSdk.crypto.encrypt).not.toHaveBeenCalled() - }) - - it('should throw error when responses contains invalid shapes', async () => { - const invalidResponse = { - _id: 'some-id-2', - question: 'some-question, no answer and no fieldType', - } - const mockResponses = [VALID_EMAIL_RESPONSE, invalidResponse] - - // Act - const fn = () => - EncryptionService.encryptSubmissionResponses( - mockResponses, - MOCK_PUBLIC_KEY, - ) - - // Assert - expect(fn).toThrow('Input shape not a response') - expect(MockFormSgSdk.crypto.encrypt).not.toHaveBeenCalled() - }) - - it('should return original responses when given input responses passes validation', () => { - // Arrange - const mockResponses = [VALID_EMAIL_RESPONSE, VALID_TABLE_RESPONSE] - - // Act - const actual = EncryptionService.encryptSubmissionResponses( - mockResponses, - MOCK_PUBLIC_KEY, - ) - - // Assert - expect(actual).toEqual(MOCK_ENCRYPTED_RESPONSES) - expect(MockFormSgSdk.crypto.encrypt).toHaveBeenCalledTimes(1) - expect(MockFormSgSdk.crypto.encrypt).toHaveBeenCalledWith( - mockResponses, - MOCK_PUBLIC_KEY, - ) - }) - }) -}) diff --git a/src/public/services/__tests__/ExamplesService.test.ts b/src/public/services/__tests__/ExamplesService.test.ts deleted file mode 100644 index 49b2151789..0000000000 --- a/src/public/services/__tests__/ExamplesService.test.ts +++ /dev/null @@ -1,200 +0,0 @@ -import MockAxios from 'jest-mock-axios' - -import { - DuplicateFormBodyDto, - FormResponseMode, - PublicFormViewDto, - UserDto, -} from '../../../../shared/types' -import * as ExamplesService from '../ExamplesService' - -jest.mock('axios', () => MockAxios) - -describe('ExamplesService', () => { - afterEach(() => jest.clearAllMocks()) - describe('getExampleForms', () => { - const MOCK_PARAMS = { - pageNo: 1, - searchTerm: 'mock', - agency: 'Mock Gov', - shouldGetTotalNumResults: false, - } - const MOCK_HEADERS = { 'If-Modified-Since': '0' } - it('should return example forms data when the GET request succeeds', async () => { - // Arrange - const expected = {} - MockAxios.get.mockResolvedValueOnce({ data: {} }) - - // Act - const actual = await ExamplesService.getExampleForms(MOCK_PARAMS) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - ExamplesService.EXAMPLES_ENDPOINT, - { - params: MOCK_PARAMS, - headers: MOCK_HEADERS, - }, - ) - expect(actual).toEqual(expected) - }) - - it('should reject with the provided error message when the GET request fails', async () => { - // Arrange - const expected = new Error('Mock Error') - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = ExamplesService.getExampleForms(MOCK_PARAMS) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - ExamplesService.EXAMPLES_ENDPOINT, - { - params: MOCK_PARAMS, - headers: MOCK_HEADERS, - }, - ) - }) - }) - - describe('getSingleExampleForm', () => { - const MOCK_FORM_ID = 'MOCK' - const MOCK_HEADERS = { 'If-Modified-Since': '0' } - it('should return example single form data when the GET request succeeds', async () => { - // Arrange - const expected = {} - const expectedMockEndpoint = `${ExamplesService.EXAMPLES_ENDPOINT}/${MOCK_FORM_ID}` - MockAxios.get.mockResolvedValueOnce({ data: {} }) - - // Act - const actual = await ExamplesService.getSingleExampleForm(MOCK_FORM_ID) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith(expectedMockEndpoint, { - headers: MOCK_HEADERS, - }) - expect(actual).toEqual(expected) - }) - - it('should reject with the provided error message when the GET request fails', async () => { - // Arrange - const expected = new Error('Mock Error') - const expectedMockEndpoint = `${ExamplesService.EXAMPLES_ENDPOINT}/${MOCK_FORM_ID}` - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = ExamplesService.getSingleExampleForm(MOCK_FORM_ID) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith(expectedMockEndpoint, { - headers: MOCK_HEADERS, - }) - }) - }) - - describe('useTemplate', () => { - it('should return template if POST request succeeds', async () => { - // Arrange - const MOCK_USER = { - _id: 'mock-user-id', - } as UserDto - const MOCK_FORM_ID = 'mock-form-id' - const expected = { - title: 'title', - lastModified: new Date(), - _id: MOCK_FORM_ID, - responseMode: FormResponseMode.Email, - admin: MOCK_USER, - } - const MOCK_DUPLICATE_FORM_BODY = _generateDuplicateFormBody() - MockAxios.post.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await ExamplesService.useTemplate( - MOCK_FORM_ID, - MOCK_DUPLICATE_FORM_BODY, - ) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith( - `${MOCK_FORM_ID}/adminform/copy`, - MOCK_DUPLICATE_FORM_BODY, - ) - }) - - it('should reject with error message if POST request fails', async () => { - // Arrange - const expected = new Error('error') - const MOCK_FORM_ID = 'mock-form-id' - const MOCK_DUPLICATE_FORM_BODY = _generateDuplicateFormBody() - MockAxios.post.mockRejectedValueOnce(expected) - - // Act - const actualPromise = ExamplesService.useTemplate( - MOCK_FORM_ID, - MOCK_DUPLICATE_FORM_BODY, - ) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith( - `${MOCK_FORM_ID}/adminform/copy`, - MOCK_DUPLICATE_FORM_BODY, - ) - }) - }) - - describe('queryTemplate', () => { - it('should return template if GET request succeeds', async () => { - // Arrange - const MOCK_USER = { - _id: 'mock-user-id', - } as UserDto - const MOCK_FORM_ID = 'mock-form-id' - const expected = { - _id: MOCK_FORM_ID, - title: 'mock preview title', - admin: MOCK_USER, - } as unknown as PublicFormViewDto - MockAxios.get.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await ExamplesService.queryTemplate(MOCK_FORM_ID) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${MOCK_FORM_ID}/adminform/template`, - ) - }) - - it('should reject with error message if GET request fails', async () => { - // Arrange - const expected = new Error('error') - const MOCK_FORM_ID = 'mock-form-id' - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = ExamplesService.queryTemplate(MOCK_FORM_ID) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${MOCK_FORM_ID}/adminform/template`, - ) - }) - }) -}) - -// Utils -const _generateDuplicateFormBody = (): DuplicateFormBodyDto => { - return { - title: 'title', - responseMode: FormResponseMode.Email, - emails: 'test@example.com', - } as DuplicateFormBodyDto -} diff --git a/src/public/services/__tests__/FieldVerificationService.test.ts b/src/public/services/__tests__/FieldVerificationService.test.ts deleted file mode 100644 index 24cfa05f9a..0000000000 --- a/src/public/services/__tests__/FieldVerificationService.test.ts +++ /dev/null @@ -1,139 +0,0 @@ -import mockAxios from 'jest-mock-axios' - -import { - createTransactionForForm, - FetchNewTransactionResponse, - FORM_API_PREFIX, - JsonDate, - resetVerifiedField, - triggerSendOtp, - VERIFICATION_ENDPOINT, - verifyOtp, -} from '../FieldVerificationService' - -jest.mock('axios', () => mockAxios) - -describe('FieldVerificationService', () => { - afterEach(() => mockAxios.reset()) - - describe('createTransactionForForm', () => { - it('should successfully return transaction data when available', async () => { - // Arrange - const expected: FetchNewTransactionResponse = { - expireAt: new Date().toJSON() as JsonDate, - transactionId: 'some transaction id', - } - const mockFormId = 'mockFormId' - - // Act - const actualPromise = createTransactionForForm(mockFormId) - mockAxios.mockResponse({ data: expected }) - const actual = await actualPromise - - // Assert - expect(actual).toEqual(expected) - expect(mockAxios.post).toHaveBeenCalledWith( - `${FORM_API_PREFIX}/${mockFormId}/${VERIFICATION_ENDPOINT}`, - ) - }) - - it('should successfully return empty transaction data when returned data is empty', async () => { - // Arrange - const expected: FetchNewTransactionResponse = {} - const mockFormId = 'mockFormId2' - - // Act - const actualPromise = createTransactionForForm(mockFormId) - mockAxios.mockResponse({ data: expected }) - const actual = await actualPromise - - // Assert - expect(actual).toEqual(expected) - expect(mockAxios.post).toHaveBeenCalledWith( - `${FORM_API_PREFIX}/${mockFormId}/${VERIFICATION_ENDPOINT}`, - ) - }) - }) - - describe('triggerSendOtp', () => { - it('should call endpoint successfully', async () => { - // Arrange - const mockTransactionId = 'mockTransactionId' - const mockFieldId = 'someFieldId' - const mockAnswer = 'blablabla' - const mockFormId = 'someFormId' - - // Act - const actualPromise = triggerSendOtp({ - formId: mockFormId, - transactionId: mockTransactionId, - answer: mockAnswer, - fieldId: mockFieldId, - }) - mockAxios.mockResponse({ status: 201, data: 'Created' }) - await actualPromise - - // Assert - expect(mockAxios.post).toHaveBeenCalledWith( - `${FORM_API_PREFIX}/${mockFormId}/${VERIFICATION_ENDPOINT}/${mockTransactionId}/fields/${mockFieldId}/otp/generate`, - { - answer: mockAnswer, - }, - ) - }) - }) - - describe('verifyOtp', () => { - it('should return verified signature on success', async () => { - // Arrange - const mockTransactionId = 'someOtherTxnId' - const mockFieldId = 'anotherFieldId' - const mockOtp = '123456' - const mockFormId = 'formszxc' - - const expectedSignature = 'abcdefg' - - // Act - const actualPromise = verifyOtp({ - formId: mockFormId, - fieldId: mockFieldId, - otp: mockOtp, - transactionId: mockTransactionId, - }) - mockAxios.mockResponse({ data: expectedSignature }) - const actual = await actualPromise - - // Assert - expect(actual).toEqual(expectedSignature) - expect(mockAxios.post).toHaveBeenCalledWith( - `${FORM_API_PREFIX}/${mockFormId}/${VERIFICATION_ENDPOINT}/${mockTransactionId}/fields/${mockFieldId}/otp/verify`, - { - otp: mockOtp, - }, - ) - }) - }) - - describe('resetVerifiedField', () => { - it('should call reset endpoint with correct params', async () => { - // Arrange - const mockTransactionId = 'mockTransactionIdYetAgain' - const mockFieldId = 'someFieldIdYetAgain' - const mockFormId = 'someFormId' - - // Act - const actualPromise = resetVerifiedField({ - formId: mockFormId, - transactionId: mockTransactionId, - fieldId: mockFieldId, - }) - mockAxios.mockResponse({ status: 200, data: 'OK' }) - await actualPromise - - // Assert - expect(mockAxios.post).toHaveBeenCalledWith( - `${FORM_API_PREFIX}/${mockFormId}/${VERIFICATION_ENDPOINT}/${mockTransactionId}/fields/${mockFieldId}/reset`, - ) - }) - }) -}) diff --git a/src/public/services/__tests__/FileHandlerService.test.ts b/src/public/services/__tests__/FileHandlerService.test.ts deleted file mode 100644 index 9a9730944f..0000000000 --- a/src/public/services/__tests__/FileHandlerService.test.ts +++ /dev/null @@ -1,175 +0,0 @@ -import mockFile from '__tests__/unit/frontend/helpers/mockFile' -import { ObjectId } from 'bson-ext' -import mockAxios from 'jest-mock-axios' -import MockDate from 'mockdate' - -import * as FileHandlerService from '../FileHandlerService' - -jest.mock('axios', () => mockAxios) - -describe('FileHandlerService', () => { - afterEach(() => mockAxios.reset()) - - describe('uploadImage', () => { - it('should successfully return upload file data', async () => { - // Arrange - // Fix date for fileId creation. - MockDate.set(new Date()) - const mockFormId = '123456' - const mockImage = mockFile({ name: 'mockImageName' }) - const expectedFileId = `${mockFormId}-${Date.now()}-${mockImage.name.toLowerCase()}` - - const expected: FileHandlerService.UploadedFileData = { - fileId: expectedFileId, - fileMd5Hash: 'mock hash', - name: mockImage.name, - size: mockImage.size, - url: 'https://mockurl.example.com', - } - - const uploadSpy = jest - .spyOn(FileHandlerService, 'uploadFile') - .mockResolvedValueOnce(expected) - - // Act - const actual = await FileHandlerService.uploadImage({ - formId: mockFormId, - image: mockImage, - }) - - // Assert - expect(actual).toEqual(expected) - expect(uploadSpy).toHaveBeenCalledWith({ - url: `/api/v3/admin/forms/${mockFormId}/images/presign`, - file: mockImage, - fileId: expectedFileId, - }) - - MockDate.reset() - }) - }) - - describe('uploadLogo', () => { - it('should successfully return upload file data', async () => { - // Arrange - // Fix date for fileId creation. - MockDate.set(new Date()) - const mockFormId = '7654321' - const mockLogo = mockFile({ name: 'mockLogoName' }) - // Logos don't have the formId. - const expectedFileId = `${Date.now()}-${mockLogo.name.toLowerCase()}` - - const expected: FileHandlerService.UploadedFileData = { - fileId: expectedFileId, - fileMd5Hash: 'mock hash', - name: mockLogo.name, - size: mockLogo.size, - url: 'https://mockurl2.example.com', - } - - const uploadSpy = jest - .spyOn(FileHandlerService, 'uploadFile') - .mockResolvedValueOnce(expected) - - // Act - const actual = await FileHandlerService.uploadLogo({ - formId: mockFormId, - image: mockLogo, - }) - - // Assert - expect(actual).toEqual(expected) - expect(uploadSpy).toHaveBeenCalledWith({ - url: `/api/v3/admin/forms/${mockFormId}/logos/presign`, - file: mockLogo, - fileId: expectedFileId, - }) - - MockDate.reset() - }) - }) - - describe('uploadFile', () => { - it('should return uploaded file data when successful', async () => { - // Arrange - const mockUpload = mockFile({ name: 'someMockUploadName' }) - const mockUrl = 'some/url' - const mockPresignedUrl = 'another/url/' - const mockFileId = 'mockFileId' - const mockPostUrl = 'final/presigned/url/' - const mockKeyReturned = `${String(new ObjectId())}-${mockFileId}` - - // Mock axios responses in sequence. - mockAxios.post - // POSTing to retrieve presigned data. - .mockResolvedValueOnce({ - data: { - fields: { - fieldA: 'AValue', - fieldB: 'BValue', - key: mockKeyReturned, - }, - url: mockPresignedUrl, - }, - }) - // POSTing to presigned url. - .mockResolvedValueOnce({ - config: { - url: mockPostUrl, - }, - }) - - // Act - const actual = await FileHandlerService.uploadFile({ - url: mockUrl, - file: mockUpload, - fileId: mockFileId, - }) - - // Assert - const expectedPresignedDataParams = { - fileId: mockFileId, - fileMd5Hash: expect.any(String), - fileType: mockUpload.type, - } - - const expectedFinalValue: FileHandlerService.UploadedFileData = { - url: `${mockPostUrl}/${mockKeyReturned}`, - fileId: mockKeyReturned, - fileMd5Hash: expect.any(String), - name: mockUpload.name, - size: mockUpload.size, - } - - // Generate expected FormData - const expectedFormData = new FormData() - Object.entries({ - fieldA: 'AValue', - fieldB: 'BValue', - key: mockKeyReturned, - }).forEach(([k, v]) => expectedFormData.append(k, v)) - expectedFormData.append('file', mockUpload) - - expect(mockAxios.post).toHaveBeenCalledTimes(2) - // Assert retrieve presigned data call argument - expect(mockAxios.post).toHaveBeenNthCalledWith( - 1, - mockUrl, - expectedPresignedDataParams, - { cancelToken: undefined }, - ) - // Assert POSTing params - expect(mockAxios.post).toHaveBeenNthCalledWith( - 2, - mockPresignedUrl, - expectedFormData, - { - cancelToken: undefined, - headers: { 'Content-Type': '' }, - withCredentials: false, - }, - ) - expect(actual).toEqual(expectedFinalValue) - }) - }) -}) diff --git a/src/public/services/__tests__/FormFeedbackService.spec.ts b/src/public/services/__tests__/FormFeedbackService.spec.ts deleted file mode 100644 index ed89b9a558..0000000000 --- a/src/public/services/__tests__/FormFeedbackService.spec.ts +++ /dev/null @@ -1,205 +0,0 @@ -/* eslint-disable typesafe/no-await-without-trycatch */ -import MockAxios from 'jest-mock-axios' - -import { FeedbackCsvGenerator } from '../../modules/forms/helpers/FeedbackCsvGenerator' -import * as FormFeedbackService from '../FormFeedbackService' - -jest.mock('axios', () => MockAxios) -FeedbackCsvGenerator.prototype.addLineFromFeedback = jest.fn() - -describe('FormFeedbackService', () => { - const mockFormId = 'mock-form-id' - const mockSubmissionId = 'mock-submission-id' - - afterEach(() => jest.clearAllMocks()) - describe('postFeedback', () => { - const mockFeedback = { - formId: mockFormId, - rating: 3, - comment: 'some comment', - } - - it('should return the feedback when the POST request succeeds', async () => { - // Arrange - MockAxios.post.mockResolvedValueOnce({ data: mockFeedback }) - - // Act - const actual = await FormFeedbackService.postFeedback( - mockFormId, - mockSubmissionId, - mockFeedback, - ) - - // Assert - expect(MockAxios.post).toHaveBeenCalledWith( - `${FormFeedbackService.PUBLIC_FORM_ENDPOINT}/${mockFormId}/submissions/${mockSubmissionId}/feedback`, - mockFeedback, - ) - expect(actual).toEqual(mockFeedback) - }) - - it('should reject with the provided error message when the POST request fails', async () => { - // Arrange - const expected = new Error('Mock Error') - MockAxios.post.mockRejectedValueOnce(expected) - - // Act - const actualPromise = FormFeedbackService.postFeedback( - mockFormId, - mockSubmissionId, - mockFeedback, - ) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith( - `${FormFeedbackService.PUBLIC_FORM_ENDPOINT}/${mockFormId}/submissions/${mockSubmissionId}/feedback`, - mockFeedback, - ) - }) - }) - - describe('getFeedback', () => { - const mockFeedback = { - formId: mockFormId, - rating: 3, - comment: 'some comment', - } - - it('should return the feedback when the GET request succeeds', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: mockFeedback }) - - // Act - const actual = await FormFeedbackService.getFeedback(mockFormId) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - `${FormFeedbackService.ADMIN_FORM_ENDPOINT}/${mockFormId}/feedback`, - ) - expect(actual).toEqual(mockFeedback) - }) - - it('should reject with the provided error message when the GET request fails', async () => { - // Arrange - const expected = new Error('Mock Error') - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = FormFeedbackService.getFeedback(mockFormId) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${FormFeedbackService.ADMIN_FORM_ENDPOINT}/${mockFormId}/feedback`, - ) - }) - }) - - describe('countFeedback', () => { - it('should return the feedback count when the GET request succeeds', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: 5 }) - - // Act - const actual = await FormFeedbackService.countFeedback(mockFormId) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - `${FormFeedbackService.ADMIN_FORM_ENDPOINT}/${mockFormId}/feedback/count`, - ) - expect(actual).toEqual(5) - }) - - it('should reject with the provided error message when the GET request fails', async () => { - // Arrange - const expected = new Error('Mock Error') - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = FormFeedbackService.countFeedback(mockFormId) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${FormFeedbackService.ADMIN_FORM_ENDPOINT}/${mockFormId}/feedback/count`, - ) - }) - }) - - describe('downloadFeedback', () => { - const mockFormTitle = 'some title' - const mockFeedback = { - formId: mockFormId, - rating: 3, - comment: 'some comment', - } - - it('should call csvGenerator.addLineFromFeedback and csvGenerator.triggerFileDownloadwhen the GET request succeeds', async () => { - // Arrange - MockAxios.get - .mockResolvedValueOnce({ data: 1 }) - .mockResolvedValueOnce({ data: [mockFeedback] }) - FeedbackCsvGenerator.prototype.addLineFromFeedback = jest.fn() - FeedbackCsvGenerator.prototype.triggerFileDownload = jest.fn() - - // Act - await FormFeedbackService.downloadFeedback(mockFormId, mockFormTitle) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - `${FormFeedbackService.ADMIN_FORM_ENDPOINT}/${mockFormId}/feedback/download`, - ) - expect( - FeedbackCsvGenerator.prototype.addLineFromFeedback, - ).toHaveBeenCalled() - expect( - FeedbackCsvGenerator.prototype.triggerFileDownload, - ).toHaveBeenCalled() - }) - - it('should reject with the correct error message when the feedback is too large to download', async () => { - // Arrange - const expected = new Error('Error downloading feedback') - MockAxios.get - .mockResolvedValueOnce({ data: 100000 }) - .mockResolvedValueOnce({ data: undefined }) - FeedbackCsvGenerator.prototype.addLineFromFeedback = jest.fn() - FeedbackCsvGenerator.prototype.triggerFileDownload = jest.fn() - - // Act - const actualPromise = FormFeedbackService.downloadFeedback( - mockFormId, - mockFormTitle, - ) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${FormFeedbackService.ADMIN_FORM_ENDPOINT}/${mockFormId}/feedback/download`, - ) - }) - - it('should reject with the provided error message when the GET request fails', async () => { - // Arrange - const expected = new Error('Mock Error') - MockAxios.get - .mockResolvedValueOnce({ data: 100000 }) - .mockRejectedValueOnce(expected) - FeedbackCsvGenerator.prototype.addLineFromFeedback = jest.fn() - FeedbackCsvGenerator.prototype.triggerFileDownload = jest.fn() - - // Act - const actualPromise = FormFeedbackService.downloadFeedback( - mockFormId, - mockFormTitle, - ) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `${FormFeedbackService.ADMIN_FORM_ENDPOINT}/${mockFormId}/feedback/download`, - ) - }) - }) -}) diff --git a/src/public/services/__tests__/PublicFormAuthService.test.ts b/src/public/services/__tests__/PublicFormAuthService.test.ts deleted file mode 100644 index 43ffca2bc1..0000000000 --- a/src/public/services/__tests__/PublicFormAuthService.test.ts +++ /dev/null @@ -1,131 +0,0 @@ -import axios from 'axios' - -import { FormAuthType } from '../../../../shared/types' -import * as PublicFormAuthService from '../PublicFormAuthService' - -jest.mock('axios') -const MockAxios = jest.mocked(axios) - -const MOCK_REDIRECT_URL = 'redirectURL' -const MOCK_FORM_ID = 'mock-form-id' - -describe('PublicFormAuthService', () => { - afterEach(() => jest.resetAllMocks()) - describe('createRedirectURL', () => { - it('should return the redirect URL when retrieval succeeds and persistent login is not set', async () => { - // Arrange - const mockData = { redirectURL: MOCK_REDIRECT_URL } - MockAxios.get.mockResolvedValueOnce({ data: mockData }) - - // Act - const result = await PublicFormAuthService.createRedirectURL( - MOCK_FORM_ID, - false, - ) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - `${PublicFormAuthService.PUBLIC_FORMS_ENDPOINT}/${MOCK_FORM_ID}/auth/redirect`, - { - params: { isPersistentLogin: false }, - }, - ) - expect(result).toEqual(mockData) - }) - - it('should return the redirect URL when retrieval succeeds and persistent login is set', async () => { - // Arrange - const mockData = { redirectURL: MOCK_REDIRECT_URL } - MockAxios.get.mockResolvedValueOnce({ data: mockData }) - - // Act - const result = await PublicFormAuthService.createRedirectURL( - MOCK_FORM_ID, - true, - ) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - `${PublicFormAuthService.PUBLIC_FORMS_ENDPOINT}/${MOCK_FORM_ID}/auth/redirect`, - { - params: { isPersistentLogin: true }, - }, - ) - expect(result).toEqual(mockData) - }) - - it('should return the redirect URL when encodedQuery is set', async () => { - // Arrange - const mockData = { redirectURL: MOCK_REDIRECT_URL } - MockAxios.get.mockResolvedValueOnce({ data: mockData }) - - // Act - const result = await PublicFormAuthService.createRedirectURL( - MOCK_FORM_ID, - false, - 'hereIsSomeEncodedData', - ) - - // Assert - expect(MockAxios.get).toHaveBeenCalledWith( - `${PublicFormAuthService.PUBLIC_FORMS_ENDPOINT}/${MOCK_FORM_ID}/auth/redirect`, - { - params: { - isPersistentLogin: false, - encodedQuery: 'hereIsSomeEncodedData', - }, - }, - ) - expect(result).toEqual(mockData) - }) - - it('should reject with error when API call fails', async () => { - // Arrange - const error = new Error('rejected') - MockAxios.get.mockRejectedValueOnce(error) - - // Act - const rejectFunction = () => - PublicFormAuthService.createRedirectURL(MOCK_FORM_ID) - - // Assert - await expect(rejectFunction).rejects.toThrow(error) - expect(MockAxios.get).toHaveBeenCalledWith( - `${PublicFormAuthService.PUBLIC_FORMS_ENDPOINT}/${MOCK_FORM_ID}/auth/redirect`, - { - params: { isPersistentLogin: false }, - }, - ) - }) - }) - - describe('logoutOfSpcpSession', () => { - it('should call logout endpoint successfully', async () => { - const authType = FormAuthType.SP - - const mockData = { message: 'Successfully logged out.' } - MockAxios.get.mockResolvedValueOnce({ data: mockData }) - - const result = await PublicFormAuthService.logoutOfSpcpSession(authType) - - expect(MockAxios.get).toHaveBeenCalledWith( - `${PublicFormAuthService.PUBLIC_FORMS_ENDPOINT}/auth/${authType}/logout`, - ) - expect(result).toEqual(mockData) - }) - - it('should return error message if logout fails', async () => { - const authType = FormAuthType.NIL - - const mockData = { message: 'Invalid authType.' } - MockAxios.get.mockResolvedValueOnce({ data: mockData }) - - const result = await PublicFormAuthService.logoutOfSpcpSession(authType) - - expect(MockAxios.get).toHaveBeenCalledWith( - `${PublicFormAuthService.PUBLIC_FORMS_ENDPOINT}/auth/${authType}/logout`, - ) - expect(result).toEqual(mockData) - }) - }) -}) diff --git a/src/public/services/__tests__/PublicFormService.test.ts b/src/public/services/__tests__/PublicFormService.test.ts deleted file mode 100644 index 40f940a7f7..0000000000 --- a/src/public/services/__tests__/PublicFormService.test.ts +++ /dev/null @@ -1,197 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -import MockAxios from 'jest-mock-axios' - -import { - BasicField, - EmailModeSubmissionContentDto, - StorageModeSubmissionContentDto, - SubmissionResponseDto, -} from '../../../../shared/types' -import * as SubmissionUtil from '../../utils/submission' -import { - getPublicFormView, - submitEmailModeForm, - submitStorageModeForm, -} from '../PublicFormService' - -jest.mock('axios', () => MockAxios) - -describe('PublicFormService', () => { - describe('submitEmailModeForm', () => { - const MOCK_FORM_ID = 'mock–form-id' - const MOCK_RESPONSE: SubmissionResponseDto = { - message: 'some mock response', - submissionId: 'created submission id', - } - const MOCK_CONTENT: EmailModeSubmissionContentDto = { - responses: [ - { - question: 'some question', - answer: 'some answer', - fieldType: BasicField.ShortText, - _id: 'some_id', - }, - ], - } - - it('should call api with correct form data and params successfully when captcha is provided', async () => { - // Arrange - const mockCaptcha = 'some captcha response' - const expectedFormData = 'form data returned imagine this is a form data' - const createFormDataSpy = jest - .spyOn(SubmissionUtil, 'createEmailSubmissionFormData') - // Ignore wrong type; just checking that the util is ran and returns expected. - // @ts-ignore - .mockReturnValueOnce(expectedFormData) - - // Act - const actual = submitEmailModeForm({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - captchaResponse: mockCaptcha, - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/forms/${MOCK_FORM_ID}/submissions/email`, - expectedFormData, - { params: { captchaResponse: mockCaptcha } }, - ) - expect(createFormDataSpy).toHaveBeenCalledWith({ - content: MOCK_CONTENT, - }) - }) - - it('should call api with correct form data and params successfully when captcha is not provided', async () => { - // Arrange - const expectedFormData = - 'form data returned imagine this is another form data' - const createFormDataSpy = jest - .spyOn(SubmissionUtil, 'createEmailSubmissionFormData') - // Ignore wrong type; just checking that the util is ran and returns expected. - // @ts-ignore - .mockReturnValueOnce(expectedFormData) - - // Act - const actual = submitEmailModeForm({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - // No captcha entered - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/forms/${MOCK_FORM_ID}/submissions/email`, - expectedFormData, - // Should default to stringified null - { params: { captchaResponse: 'null' } }, - ) - expect(createFormDataSpy).toHaveBeenCalledWith({ - content: MOCK_CONTENT, - }) - }) - }) - - describe('submitStorageModeForm', () => { - const MOCK_FORM_ID = 'mock–form-id-2' - const MOCK_RESPONSE: SubmissionResponseDto = { - message: 'some mock response again', - submissionId: 'created submission id again', - } - const MOCK_CONTENT: StorageModeSubmissionContentDto = { - responses: [ - { - question: 'some question', - answer: 'some answer', - fieldType: BasicField.ShortText, - _id: 'some_id', - }, - ], - encryptedContent: 'encryptedContent1337H@xx0r', - version: 1, - } - - it('should call api with correct params successfully when captcha is provided', async () => { - // Arrange - const mockCaptcha = 'some captcha response' - - // Act - const actual = submitStorageModeForm({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - captchaResponse: mockCaptcha, - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/forms/${MOCK_FORM_ID}/submissions/encrypt`, - MOCK_CONTENT, - { params: { captchaResponse: mockCaptcha } }, - ) - }) - - it('should call api with correct params successfully when captcha is not provided', async () => { - // Act - const actual = submitStorageModeForm({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - // No captcha entered - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/forms/${MOCK_FORM_ID}/submissions/encrypt`, - MOCK_CONTENT, - // Should default to stringified null - { params: { captchaResponse: 'null' } }, - ) - }) - }) - - describe('getPublicFormView', () => { - it('should return public form if GET request succeeds', async () => { - // Arrange - const MOCK_FORM_ID = 'mock-form-id' - const expected = { - form: { _id: MOCK_FORM_ID, form_fields: [] }, - spcpSession: { username: 'username' }, - isIntranetUser: false, - myInfoError: true, - } - MockAxios.get.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await getPublicFormView(MOCK_FORM_ID) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `/api/v3/forms/${MOCK_FORM_ID}`, - ) - }) - - it('should reject with error message if GET request fails', async () => { - // Arrange - const MOCK_FORM_ID = 'mock-form-id' - const expected = new Error('error') - MockAxios.get.mockRejectedValueOnce(expected) - - // Act - const actualPromise = getPublicFormView(MOCK_FORM_ID) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.get).toHaveBeenCalledWith( - `/api/v3/forms/${MOCK_FORM_ID}`, - ) - }) - }) -}) diff --git a/src/public/services/__tests__/UpdateFormService.test.ts b/src/public/services/__tests__/UpdateFormService.test.ts deleted file mode 100644 index 740015db64..0000000000 --- a/src/public/services/__tests__/UpdateFormService.test.ts +++ /dev/null @@ -1,287 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -import { ObjectId } from 'bson' -import { StatusCodes } from 'http-status-codes' -import MockAxios from 'jest-mock-axios' - -import { - BasicField, - EmailModeSubmissionContentDto, - FormDto, - FormField, - StorageModeSubmissionContentDto, - SubmissionResponseDto, -} from '../../../../shared/types' -import { FormUpdateParams } from '../../../types/api' -import * as SubmissionUtil from '../../utils/submission' -import { - ADMIN_FORM_ENDPOINT, - deleteForm, - submitEmailModeFormPreview, - submitStorageModeFormPreview, - transferOwner, - updateForm, -} from '../UpdateFormService' - -jest.mock('axios', () => MockAxios) - -describe('UpdateFormService', () => { - describe('submitEmailModeFormPreview', () => { - const MOCK_FORM_ID = 'mock–form-id' - const MOCK_RESPONSE: SubmissionResponseDto = { - message: 'some mock response', - submissionId: 'created submission id', - } - const MOCK_CONTENT: EmailModeSubmissionContentDto = { - responses: [ - { - question: 'some question', - answer: 'some answer', - fieldType: BasicField.ShortText, - _id: 'some_id', - }, - ], - } - - it('should call api with correct form data and params successfully when captcha is provided', async () => { - // Arrange - const mockCaptcha = 'some captcha response' - const expectedFormData = 'form data returned imagine this is a form data' - const createFormDataSpy = jest - .spyOn(SubmissionUtil, 'createEmailSubmissionFormData') - // Ignore wrong type; just checking that the util is ran and returns expected. - // @ts-ignore - .mockReturnValueOnce(expectedFormData) - - // Act - const actual = submitEmailModeFormPreview({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - captchaResponse: mockCaptcha, - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/admin/forms/${MOCK_FORM_ID}/preview/submissions/email`, - expectedFormData, - { params: { captchaResponse: mockCaptcha } }, - ) - expect(createFormDataSpy).toHaveBeenCalledWith({ - content: MOCK_CONTENT, - }) - }) - - it('should call api with correct form data and params successfully when captcha is not provided', async () => { - // Arrange - const expectedFormData = - 'form data returned imagine this is another form data' - const createFormDataSpy = jest - .spyOn(SubmissionUtil, 'createEmailSubmissionFormData') - // Ignore wrong type; just checking that the util is ran and returns expected. - // @ts-ignore - .mockReturnValueOnce(expectedFormData) - - // Act - const actual = submitEmailModeFormPreview({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - // No captcha entered - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/admin/forms/${MOCK_FORM_ID}/preview/submissions/email`, - expectedFormData, - // Should default to stringified null - { params: { captchaResponse: 'null' } }, - ) - expect(createFormDataSpy).toHaveBeenCalledWith({ - content: MOCK_CONTENT, - }) - }) - }) - - describe('submitStorageModeFormPreview', () => { - const MOCK_FORM_ID = 'mock–form-id-2' - const MOCK_RESPONSE: SubmissionResponseDto = { - message: 'some mock response again', - submissionId: 'created submission id again', - } - const MOCK_CONTENT: StorageModeSubmissionContentDto = { - responses: [ - { - question: 'some question', - answer: 'some answer', - fieldType: BasicField.ShortText, - _id: 'some_id', - }, - ], - encryptedContent: 'encryptedContent1337H@xx0r', - version: 1, - } - - it('should call api with correct params successfully when captcha is provided', async () => { - // Arrange - const mockCaptcha = 'some captcha response' - - // Act - const actual = submitStorageModeFormPreview({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - captchaResponse: mockCaptcha, - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/admin/forms/${MOCK_FORM_ID}/preview/submissions/encrypt`, - MOCK_CONTENT, - { params: { captchaResponse: mockCaptcha } }, - ) - }) - - it('should call api with correct params successfully when captcha is not provided', async () => { - // Act - const actual = submitStorageModeFormPreview({ - formId: MOCK_FORM_ID, - content: MOCK_CONTENT, - // No captcha entered - }) - MockAxios.mockResponse({ data: MOCK_RESPONSE }) - - // Assert - await expect(actual).resolves.toEqual(MOCK_RESPONSE) - expect(MockAxios.post).toHaveBeenCalledWith( - `/api/v3/admin/forms/${MOCK_FORM_ID}/preview/submissions/encrypt`, - MOCK_CONTENT, - // Should default to stringified null - { params: { captchaResponse: 'null' } }, - ) - }) - }) - - describe('deleteForm', () => { - it('should successfully call delete endpoint', async () => { - // Arrange - const MOCK_FORM_ID = new ObjectId().toHexString() - MockAxios.delete.mockResolvedValueOnce({ - status: StatusCodes.OK, - data: { message: 'Form has been archived' }, - }) - - // Act - await deleteForm(MOCK_FORM_ID) - - // Assert - expect(MockAxios.delete).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}`, - ) - }) - - it('should reject with error message if DELETE request fails', async () => { - // Arrange - const expected = new Error('error') - const MOCK_FORM_ID = new ObjectId().toHexString() - MockAxios.delete.mockRejectedValueOnce(expected) - - // Act - const actualPromise = deleteForm(MOCK_FORM_ID) - - await expect(actualPromise).rejects.toEqual(expected) - // Assert - expect(MockAxios.delete).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}`, - ) - }) - }) - - describe('updateForm', () => { - it('should return updated form if PUT request succeeds', async () => { - // Arrange - const expected = [{} as FormField] - const MOCK_FORM_ID = new ObjectId().toHexString() - const update = { - editFormField: { - action: { name: 'REORDER' }, - field: expected[0], - }, - } as FormUpdateParams - MockAxios.put.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await updateForm(MOCK_FORM_ID, update) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.put).toHaveBeenCalledWith(`${MOCK_FORM_ID}/adminform`, { - form: update, - }) - }) - - it('should reject with error message if PUT request fails', async () => { - // Arrange - const expected = new Error('error') - const MOCK_FORM_ID = new ObjectId().toHexString() - const update = { - editFormField: { - action: { name: 'REORDER' }, - field: {} as FormField, - }, - } as FormUpdateParams - MockAxios.put.mockRejectedValueOnce(expected) - - // Act - const actualPromise = updateForm(MOCK_FORM_ID, update) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.put).toHaveBeenCalledWith(`${MOCK_FORM_ID}/adminform`, { - form: update, - }) - }) - }) - - describe('transferOwner', () => { - it('should return updated form if POST request succeeds', async () => { - // Arrange - const MOCK_FORM_ID = 'mock-form-id' - const expected = { - _id: MOCK_FORM_ID, - } as FormDto - const MOCK_NEW_OWNER = 'test@open.gov.sg' - MockAxios.post.mockResolvedValueOnce({ data: expected }) - - // Act - const actual = await transferOwner(MOCK_FORM_ID, MOCK_NEW_OWNER) - - // Assert - expect(actual).toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/collaborators/transfer-owner`, - { email: MOCK_NEW_OWNER }, - ) - }) - - it('should reject with error message if POST request fails', async () => { - // Arrange - const expected = new Error('error') - const MOCK_FORM_ID = 'mock-form-id' - const MOCK_NEW_OWNER = 'test@open.gov.sg' - MockAxios.post.mockRejectedValueOnce(expected) - - // Act - const actualPromise = transferOwner(MOCK_FORM_ID, MOCK_NEW_OWNER) - - // Assert - await expect(actualPromise).rejects.toEqual(expected) - expect(MockAxios.post).toHaveBeenCalledWith( - `${ADMIN_FORM_ENDPOINT}/${MOCK_FORM_ID}/collaborators/transfer-owner`, - { email: MOCK_NEW_OWNER }, - ) - }) - }) -}) diff --git a/src/public/services/__tests__/UserService.test.ts b/src/public/services/__tests__/UserService.test.ts deleted file mode 100644 index e6391b1868..0000000000 --- a/src/public/services/__tests__/UserService.test.ts +++ /dev/null @@ -1,133 +0,0 @@ -import axios from 'axios' - -import { DateString, UserDto } from '../../../../shared/types' -import * as UserService from '../UserService' - -const { STORAGE_USER_KEY, USER_ENDPOINT, LOGGED_IN_KEY } = UserService - -jest.mock('axios') - -const MockAxios = jest.mocked(axios) - -describe('UserService', () => { - const MOCK_USER: UserDto = { - _id: 'some id' as UserDto['_id'], - email: 'mock@example.com', - agency: { - _id: 'some agency id' as UserDto['agency']['_id'], - emailDomain: ['example.com'], - fullName: 'Example Agency', - logo: 'path/to/agency/logo', - shortName: 'e', - created: 'some created date' as DateString, - lastModified: 'some last modified date' as DateString, - }, - created: 'some created date' as DateString, - lastAccessed: 'some last accessed date' as DateString, - updatedAt: 'some last updated at date' as DateString, - } - - beforeEach(() => { - jest.clearAllMocks() - }) - - describe('getUserFromLocalStorage', () => { - it('should return user from localStorage when valid user exists', async () => { - // Arrange - localStorage.setItem(STORAGE_USER_KEY, JSON.stringify(MOCK_USER)) - - // Act - const actual = UserService.getUserFromLocalStorage() - - // Assert - expect(actual).toEqual(MOCK_USER) - expect(localStorage.getItem).toHaveBeenLastCalledWith(STORAGE_USER_KEY) - }) - - it('should return null and clear user from localStorage when user is an invalid shape', async () => { - // Arrange - localStorage.setItem( - STORAGE_USER_KEY, - 'this string is obviously not a well formed user', - ) - - // Act - const actual = UserService.getUserFromLocalStorage() - - // Assert - expect(localStorage.getItem).toHaveBeenLastCalledWith(STORAGE_USER_KEY) - expect(actual).toEqual(null) - expect(localStorage.removeItem).toHaveBeenNthCalledWith( - 1, - STORAGE_USER_KEY, - ) - expect(localStorage.removeItem).toHaveBeenNthCalledWith(2, LOGGED_IN_KEY) - }) - - it('should return null and clear user from localStorage when JSON.parse throws', async () => { - // Arrange - localStorage.setItem(STORAGE_USER_KEY, '{ invalid JSON string') - - // Act - const actual = UserService.getUserFromLocalStorage() - - // Assert - expect(localStorage.getItem).toHaveBeenLastCalledWith(STORAGE_USER_KEY) - expect(actual).toEqual(null) - - expect(localStorage.removeItem).toHaveBeenNthCalledWith( - 1, - STORAGE_USER_KEY, - ) - expect(localStorage.removeItem).toHaveBeenNthCalledWith(2, LOGGED_IN_KEY) - }) - }) - - describe('saveUserToLocalStorage', () => { - it('should successfully save given user to localStorage', () => { - // Act - UserService.saveUserToLocalStorage(MOCK_USER) - - // Assert - expect(localStorage.setItem).toHaveBeenNthCalledWith( - 1, - STORAGE_USER_KEY, - // Should be stringified. - JSON.stringify(MOCK_USER), - ) - expect(localStorage.setItem).toHaveBeenNthCalledWith( - 2, - LOGGED_IN_KEY, - 'true', - ) - }) - }) - - describe('clearUserFromLocalStorage', () => { - it('should successfully clear user from localStorage', () => { - // Act - UserService.clearUserFromLocalStorage() - - // Assert - expect(localStorage.removeItem).toHaveBeenNthCalledWith( - 1, - STORAGE_USER_KEY, - ) - expect(localStorage.removeItem).toHaveBeenNthCalledWith(2, LOGGED_IN_KEY) - }) - }) - - describe('fetchUser', () => { - it('should return user successfully', async () => { - // Arrange - MockAxios.get.mockResolvedValueOnce({ data: MOCK_USER }) - - // Act - const actual = await UserService.fetchUser() - - // Assert - expect(actual).toEqual(MOCK_USER) - expect(MockAxios.get).toHaveBeenLastCalledWith(USER_ENDPOINT) - }) - }) -}) diff --git a/src/public/sitemap.xml b/src/public/sitemap.xml deleted file mode 100644 index 667c2f63f2..0000000000 --- a/src/public/sitemap.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - https://form.gov.sg/ - 1.0 - - - https://form.gov.sg/public/modules/core/img/landing/restricted__build-demo.png - - Build government forms in minutes - - - - https://form.gov.sg/public/modules/core/img/landing/restricted__feature3.png - - Integrated with government systems - - - - https://go.gov.sg/form-guide - 1.0 - - - https://form.gov.sg/#!/signin - 1.0 - - diff --git a/src/public/styles/angular-csp.css b/src/public/styles/angular-csp.css deleted file mode 100644 index 3fbae0351a..0000000000 --- a/src/public/styles/angular-csp.css +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Include this file in your html if you are using the CSP mode. - * Downloaded from https://code.angularjs.org/1.7.8 - */ - -@charset "UTF-8"; - -[ng\:cloak], -[ng-cloak], -[data-ng-cloak], -[x-ng-cloak], -.ng-cloak, -.x-ng-cloak, -.ng-hide:not(.ng-hide-animate) { - display: none !important; -} - -/* stylelint-disable-next-line */ -ng\:form { - display: block; -} - -.ng-animate-shim { - visibility: hidden; -} - -.ng-anchor { - position: absolute; -} diff --git a/src/public/styles/ui-bootstrap-csp.css b/src/public/styles/ui-bootstrap-csp.css deleted file mode 100644 index 209a87dcbf..0000000000 --- a/src/public/styles/ui-bootstrap-csp.css +++ /dev/null @@ -1,120 +0,0 @@ -/* Include this file in your html if you are using the CSP mode. */ - -.ng-animate.item:not(.left):not(.right) { - -webkit-transition: 0s ease-in-out left; - transition: 0s ease-in-out left; -} - -.uib-datepicker .uib-title { - width: 100%; -} - -.uib-day button, -.uib-month button, -.uib-year button { - min-width: 100%; -} - -.uib-left, -.uib-right { - width: 100%; -} - -.uib-position-measure { - display: block !important; - visibility: hidden !important; - position: absolute !important; - top: -9999px !important; - left: -9999px !important; -} - -.uib-position-scrollbar-measure { - position: absolute !important; - top: -9999px !important; - width: 50px !important; - height: 50px !important; - overflow: scroll !important; -} - -.uib-position-body-scrollbar-measure { - overflow: scroll !important; -} - -.uib-datepicker-popup.dropdown-menu { - display: block; - float: none; - margin: 0; -} - -.uib-button-bar { - padding: 10px 9px 2px; -} - -[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow, -[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow, -[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow, -[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow, -[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow, -[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow, -[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow, -[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow, -[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow, -[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow, -[uib-popover-popup].popover.top-left > .arrow, -[uib-popover-popup].popover.top-right > .arrow, -[uib-popover-popup].popover.bottom-left > .arrow, -[uib-popover-popup].popover.bottom-right > .arrow, -[uib-popover-popup].popover.left-top > .arrow, -[uib-popover-popup].popover.left-bottom > .arrow, -[uib-popover-popup].popover.right-top > .arrow, -[uib-popover-popup].popover.right-bottom > .arrow, -[uib-popover-html-popup].popover.top-left > .arrow, -[uib-popover-html-popup].popover.top-right > .arrow, -[uib-popover-html-popup].popover.bottom-left > .arrow, -[uib-popover-html-popup].popover.bottom-right > .arrow, -[uib-popover-html-popup].popover.left-top > .arrow, -[uib-popover-html-popup].popover.left-bottom > .arrow, -[uib-popover-html-popup].popover.right-top > .arrow, -[uib-popover-html-popup].popover.right-bottom > .arrow, -[uib-popover-template-popup].popover.top-left > .arrow, -[uib-popover-template-popup].popover.top-right > .arrow, -[uib-popover-template-popup].popover.bottom-left > .arrow, -[uib-popover-template-popup].popover.bottom-right > .arrow, -[uib-popover-template-popup].popover.left-top > .arrow, -[uib-popover-template-popup].popover.left-bottom > .arrow, -[uib-popover-template-popup].popover.right-top > .arrow, -[uib-popover-template-popup].popover.right-bottom > .arrow { - top: auto; - bottom: auto; - left: auto; - right: auto; - margin: 0; -} - -[uib-popover-popup].popover, -[uib-popover-html-popup].popover, -[uib-popover-template-popup].popover { - display: block !important; -} - -.uib-time input { - width: 50px; -} - -[uib-typeahead-popup].dropdown-menu { - display: block; -} diff --git a/src/public/translations/en-SG/landing.json b/src/public/translations/en-SG/landing.json deleted file mode 100644 index 27306d8e9c..0000000000 --- a/src/public/translations/en-SG/landing.json +++ /dev/null @@ -1,149 +0,0 @@ -{ - "SIGN_IN": "Sign In", - "USER_GUIDE": { - "TEXT": "User Guide", - "HREF": "@:LINKS.GUIDE.ROOT" - }, - "GITHUB": { - "TEXT": "GitHub", - "HREF": "@:LINKS.GITHUB" - }, - "MORE_TOOLS": { - "TEXT": "More Tools" - }, - "HERO": { - "TAG_LINE": { - "LINE_1": "Build government", - "LINE_2": "forms in minutes" - }, - "STATS": { - "USERS": "Public Officers On Our Platform", - "FORMS": "Digital Forms Deployed", - "SUBMISSIONS": "Forms Have Been Submitted" - }, - "CALL_TO_ACTION": "Build your form" - }, - "EXAMPLES_SECTION": { - "HEADER": "Examples of forms", - "FORM_BUTTON": "Form" - }, - "FEATURES_SECTION": { - "SUBSECTION_1": { - "HEADER": "Collect classified data", - "POINT_1": { - "TITLE": "Only you can access your data", - "TEXT": "All form responses are either encrypted end-to-end (Storage mode) or sent directly to your email inbox (Email mode). This means third parties will not be able to access or view your form data." - }, - "POINT_2": { - "TITLE": "Support up to Restricted data for individual responses", - "TEXT": "For individual responses classified Restricted and below, you can use FormSG in either Storage or Email mode." - }, - "POINT_3": { - "TITLE": "Support up to Confidential data for collated responses", - "TEXT": "Both Storage and Email modes are permissible for collated data classified Restricted and below, and Email mode can also be used for Confidential collated data." - } - }, - "SUBSECTION_2": { - "HEADER": "Build forms with numerous features", - "POINT_1": { - "TITLE": "Control flow logic", - "TEXT": "Show fields based on chosen options" - }, - "POINT_2": { - "TITLE": "Acknowledgement emails", - "TEXT": "Automatically email users after they submit their forms" - }, - "POINT_3": { - "TITLE": "More than 16 different fields", - "LIST": { - "1": "Attachments", - "2": "Radio buttons and dropdowns", - "3": "Ratings", - "4": "NRIC fields and more..." - } - } - }, - "SUBSECTION_3": { - "HEADER": "Integrated with government systems", - "POINT_1": { - "TITLE": "Singpass", - "TEXT": "With the push of a button you can authenticate citizens filling in your form with Singpass Login" - }, - "POINT_2": { - "TITLE": "Corppass", - "TEXT": "With the push of a button you can enable Corppass Login on your form to authenticate companies" - }, - "POINT_3": { - "TITLE": "MyInfo", - "TEXT": "Select which MyInfo fields you want to collect. These fields will be pre-filled once citizens log in through Singpass" - } - } - }, - "HOW_IT_WORKS_SECTION": { - "STORAGE_MODE": { - "TAB": "Storage mode", - "DISCLAIMER": "We do not store any sensitive data you captured in your forms as data is encrypted end to end. No concerns with data security, or anonymisation.", - "FLOW": { - "TEXT_1": "Login to Formsg via Internet or Intranet", - "TEXT_2": "Create a new form and choose", - "LINK_2": { - "TEXT": "@:HOW_IT_WORKS_SECTION.STORAGE_MODE.TAB", - "HREF": "@:LINKS.GUIDE.STORAGE_MODE" - }, - "TEXT_3": "Build and share form link with citizens", - "TEXT_4": "Upload your Secret Key and view your responses", - "TEXT_5": "Download your responses into an Excel" - } - }, - "EMAIL_MODE": { - "TAB": "Email mode", - "DISCLAIMER": "We do not store any sensitive data you captured in your forms as data is directly transmitted to your email. No concerns with data security, or anonymisation.", - "FLOW": { - "TEXT_1": "@:HOW_IT_WORKS_SECTION.STORAGE_MODE.FLOW.TEXT_1", - "TEXT_2": "Create a new form and choose Email mode", - "TEXT_3": "@:HOW_IT_WORKS_SECTION.STORAGE_MODE.FLOW.TEXT_3", - "TEXT_4": "Collect responses in your government email", - "TEXT_5": "Collate responses into an Excel with our data collation tool" - } - } - }, - "SIGN_UP_SECTION": { - "HEADER": "There is neither an onboarding process nor any installation required.", - "SECONDARY": "Sign up with your government email, and build your form in minutes. It's free and no approval is required. Together let's make the Singapore government paperless.", - "CALL_TO_ACTION": "Sign Up Now", - "HELP": { - "TEXT": "Have a question?", - "HREF": "@:USER_GUIDE.HREF" - } - }, - "FOOTER": { - "APP_NAME": "Form", - "APP_TEXT": "Build government forms in minutes", - "USER_GUIDE": { - "TEXT": "@:USER_GUIDE.TEXT", - "HREF": "@:USER_GUIDE.HREF" - }, - "PRIVACY": { - "TEXT": "Privacy" - }, - "TOS": { - "TEXT": "Terms of Use" - }, - "REPORT_VULNS": { - "TEXT": "Report Vulnerability", - "HREF": "https://go.gov.sg/report-vulnerability" - }, - "COPYRIGHT": { - "TEXT": { - "LINE_1": "©{{year}} Open Government Products, ", - "LINE_2": "Government Technology Agency of Singapore" - }, - "HREF": "https://open.gov.sg" - }, - "SOCIALS": { - "LINKEDIN": "https://linkedin.com/company/open-government-products", - "FACEBOOK": "https://www.facebook.com/opengovsg/", - "OGP": "https://open.gov.sg" - } - } -} diff --git a/src/public/translations/en-SG/main.json b/src/public/translations/en-SG/main.json deleted file mode 100644 index 5520d238de..0000000000 --- a/src/public/translations/en-SG/main.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "APP_NAME": "FormSG", - "LINKS": { - "GUIDE": { - "ROOT": "https://go.gov.sg/form-guide", - "GUARD_EMAIL_BOUNCE": "https://go.gov.sg/form-prevent-bounces", - "STORAGE_MODE": "https://go.gov.sg/form-storage-mode", - "SECRET_KEY_LOSS": "https://go.gov.sg/secretkeyloss", - "SECRET_KEY_SAFEKEEPING": "https://go.gov.sg/form-safekeep-secret-key", - "EMAIL_RELIABILITY": "http://go.gov.sg/form-email-reliability" - }, - "GITHUB": "https://github.com/opengovsg/FormSG", - "APP": { - "ROOT": "https://form.gov.sg" - }, - "FEATURE_REQ": "https://go.gov.sg/form-featurerequest", - "COLLATE_TOOL": "https://collate.form.gov.sg", - "GO_GOV": "https://go.gov.sg", - "POSTMAN_GOV": "https://postman.gov.sg", - "SUPPORT_FORM_LINK": "https://go.gov.sg/formsg-support", - "VERIFIED_SMS_SETUP_LINK": "https://go.gov.sg/form-twilio-setup", - "WHITELISTED_ATTACHMENT_TYPES": "https://go.gov.sg/formsg-cwl", - "SINGPASS_ELIGIBILITY_FAQ": "https://www.ifaq.gov.sg/SINGPASS/apps/Fcd_faqmain.aspx#FAQ_2101385", - "ESERVICE_ID_FAQ": "https://go.gov.sg/formsg-spcp", - "TERMS_THIRD_PARTY_LIST": "https://s3-ap-southeast-1.amazonaws.com/misc.form.gov.sg/OSS-Legal.pdf", - "WEBHOOK_RETRIES": "https://go.gov.sg/form-webhook-retries", - "SHORT_LINKS": "https://go.gov.sg/", - "MASS_MESSAGING": "https://go.gov.sg/postmangovsg", - "ELIGIBILITY_CHECKER": "https://go.gov.sg/checkfirstgovsg", - "VOUCHER_DISTRIBUTION": "https://go.gov.sg/redeemgovsg", - "WEBSITE_BUILDER": "https://go.gov.sg/isomergovsg", - "PAYMENTS": "https://go.gov.sg/pay", - "CITIZEN_IDENTITY": "https://go.gov.sg/idgovsg" - } -} \ No newline at end of file diff --git a/src/public/types/README.md b/src/public/types/README.md deleted file mode 100644 index b7747e7cd6..0000000000 --- a/src/public/types/README.md +++ /dev/null @@ -1 +0,0 @@ -Contains types used solely in the client. diff --git a/src/public/types/response.ts b/src/public/types/response.ts deleted file mode 100644 index afdef9f55e..0000000000 --- a/src/public/types/response.ts +++ /dev/null @@ -1,17 +0,0 @@ -export type DisplayedResponseWithoutAnswer = { - _id: string - question: string - fieldType: string - isHeader?: boolean -} - -export type ArrayResponse = DisplayedResponseWithoutAnswer & { - answerArray: string[] -} - -export type NestedResponse = DisplayedResponseWithoutAnswer & { - answerArray: string[][] -} -export type SingleResponse = DisplayedResponseWithoutAnswer & { - answer: string -} diff --git a/src/public/utils/__tests__/submission.test.ts b/src/public/utils/__tests__/submission.test.ts deleted file mode 100644 index 29252b880a..0000000000 --- a/src/public/utils/__tests__/submission.test.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { - BasicField, - EmailModeSubmissionContentDto, -} from '../../../../shared/types' -import { createEmailSubmissionFormData } from '../submission' - -const createMockFile = ({ - name = 'mock.jpg', - size = 128, - type = 'image/jpg', - lastModified = Date.now(), -}: { - name?: string - size?: number - type?: string - lastModified?: number -} = {}) => { - const blob = new Blob(['a'.repeat(size)], { type }) - return new File([blob], name, { lastModified }) -} - -describe('utils/submission', () => { - describe('createEmailSubmissionFormData', () => { - const DEFAULT_CONTENT: EmailModeSubmissionContentDto = { - responses: [ - { - _id: 'some id', - question: `field question with answer`, - answer: `field answer`, - fieldType: BasicField.ShortText, - }, - { - _id: 'another id', - question: `another question with answerArray`, - fieldType: BasicField.Checkbox, - answerArray: ['some answer 1', 'some answer 2'], - }, - ], - } - it('should create FormData successfully when attachments are not provided', async () => { - // Act - const actual = createEmailSubmissionFormData({ - content: DEFAULT_CONTENT, - }) - - // Assert - expect(actual).toBeInstanceOf(FormData) - expect([...actual.keys()]).toEqual(['body']) - expect(actual.get('body')).toEqual(JSON.stringify(DEFAULT_CONTENT)) - }) - - it('should create FormData successfully when given attachments', async () => { - // Arrange - const mockAttachments = { - someId: createMockFile({ name: 'one attachment' }), - anotherId: createMockFile({ name: 'another attachment' }), - } - - // Act - const actual = createEmailSubmissionFormData({ - content: DEFAULT_CONTENT, - attachments: mockAttachments, - }) - - // Assert - expect(actual).toBeInstanceOf(FormData) - expect([...actual.keys()]).toEqual([ - 'body', - // Should also consist of attachment names as keys - ...Object.values(mockAttachments).map((a) => a.name), - ]) - expect(actual.get('body')).toEqual(JSON.stringify(DEFAULT_CONTENT)) - // Can't test blob, trust in FormData.append function. - }) - }) -}) diff --git a/src/public/utils/injectedVariables.ts b/src/public/utils/injectedVariables.ts deleted file mode 100644 index 7966c1091a..0000000000 --- a/src/public/utils/injectedVariables.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { PackageMode } from '@opengovsg/formsg-sdk/dist/types' - -interface FrontendInjectedVariables { - isGeneralMaintenance: string - isLoginBanner: string - siteBannerContent: string - adminBannerContent: string - logoBucketUrl: string - formsgSdkMode: PackageMode - captchaPublicKey: string | null - sentryConfigUrl: string | null - isSPMaintenance: string | null - isCPMaintenance: string | null - myInfoBannerContent: string | null - // TODO: remove after React rollout #4786 - GATrackingID: string | null - spcpCookieDomain: string | null - respondentRolloutEmail: number - respondentRolloutStorage: number - adminRollout: number - angularPhaseOutDate: string | null -} - -// NOTE: As these variables are not injected until runtime -// window is declared as any so that we can access the property without ts complaining -// eslint-disable-next-line @typescript-eslint/no-explicit-any -const formsgWindow: Window & FrontendInjectedVariables = window as any - -export const injectedVariables: FrontendInjectedVariables = { - isGeneralMaintenance: formsgWindow.isGeneralMaintenance, - isLoginBanner: formsgWindow.isLoginBanner, - siteBannerContent: formsgWindow.siteBannerContent, - adminBannerContent: formsgWindow.adminBannerContent, - logoBucketUrl: formsgWindow.logoBucketUrl, // S3 bucket - formsgSdkMode: formsgWindow.formsgSdkMode, - captchaPublicKey: formsgWindow.captchaPublicKey ?? null, - sentryConfigUrl: formsgWindow.sentryConfigUrl ?? null, - isSPMaintenance: formsgWindow.isSPMaintenance ?? null, - isCPMaintenance: formsgWindow.isCPMaintenance ?? null, - myInfoBannerContent: formsgWindow.myInfoBannerContent ?? null, - // TODO: remove after React rollout #4786 - GATrackingID: formsgWindow.GATrackingID ?? null, - spcpCookieDomain: formsgWindow.spcpCookieDomain ?? null, - respondentRolloutEmail: formsgWindow.respondentRolloutEmail, - respondentRolloutStorage: formsgWindow.respondentRolloutStorage, - adminRollout: formsgWindow.adminRollout, - angularPhaseOutDate: formsgWindow.angularPhaseOutDate ?? null, -} diff --git a/src/public/utils/submission.ts b/src/public/utils/submission.ts deleted file mode 100644 index 85cd5feb50..0000000000 --- a/src/public/utils/submission.ts +++ /dev/null @@ -1,26 +0,0 @@ -import forOwn from 'lodash/forOwn' -import isEmpty from 'lodash/isEmpty' - -import { EmailModeSubmissionContentDto } from '../../../shared/types/submission' - -export const createEmailSubmissionFormData = ({ - content, - attachments = {}, -}: { - content: EmailModeSubmissionContentDto - attachments?: Record -}): FormData => { - // Convert passed content to FormData object. - const formData = new FormData() - formData.append('body', JSON.stringify(content)) - - if (!isEmpty(attachments)) { - forOwn(attachments, (attachment, fieldId) => { - if (attachment) { - formData.append(attachment.name, attachment, fieldId) - } - }) - } - - return formData -} diff --git a/ts-loader-config.json b/ts-loader-config.json index 36c7159f8a..e700db9193 100644 --- a/ts-loader-config.json +++ b/ts-loader-config.json @@ -60,7 +60,7 @@ "skipLibCheck": true, /* Skip type checking of declaration files. */ "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ }, - "include": ["src/public", "src/shared"], + "include": ["src/shared"], "exclude": [ "**/*.spec.ts", "**/*.test.ts", diff --git a/tsconfig.build.json b/tsconfig.build.json index e00ce36747..6c78fd60c4 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -1,11 +1,5 @@ // Main tsconfig for building, prevents tests from being compiled. { "extends": "./tsconfig.json", - "exclude": [ - "**/*.spec.ts", - "**/*.test.ts", - "**/__tests__/", - "**/__mocks__/", - "src/public/" - ] + "exclude": ["**/*.spec.ts", "**/*.test.ts", "**/__tests__/", "**/__mocks__/"] } diff --git a/webpack.common.js b/webpack.common.js deleted file mode 100644 index dc64f62637..0000000000 --- a/webpack.common.js +++ /dev/null @@ -1,113 +0,0 @@ -const path = require('path') -const MiniCssExtractPlugin = require('mini-css-extract-plugin') -const GoogleFontsPlugin = require('google-fonts-plugin') -const CopyPlugin = require('copy-webpack-plugin') - -module.exports = [ - // Javascript / HTML config - { - entry: [path.resolve(__dirname, 'src/public/main.js')], - module: { - rules: [ - { - test: /\.ts$/, - loader: 'ts-loader', - options: { - configFile: 'ts-loader-config.json', - }, - }, - { - test: /\.html$/, - loader: 'html-loader', - options: { - minimize: true, - }, - }, - { - test: /\.worker\.js$/, - // Don't transpile polyfills - exclude: /@babel(?:\/|\\{1,2})runtime|core-js/, - use: [ - { - loader: 'worker-loader', - options: { publicPath: '/public/' }, - }, - { - loader: 'babel-loader', - }, - ], - }, - ], - }, - resolve: { - alias: { - shared: path.resolve(__dirname, 'src/shared/'), - }, - extensions: ['.ts', '.js'], - }, - plugins: [ - new CopyPlugin({ - patterns: [ - { from: 'src/public/modules/core/img', to: 'modules/core/img' }, - { - from: 'src/public/modules/forms/admin/img', - to: 'modules/forms/admin/img', - }, - { from: 'src/public/robots.txt', to: 'robots.txt' }, - { from: 'src/public/translations', to: 'translations' }, - ], - }), - ], - output: { - path: path.resolve(__dirname, 'dist/angularjs/'), - filename: 'bundle.js', - }, - }, - - // CSS config - { - context: path.resolve(__dirname, 'src/public'), - entry: './main.css', - module: { - rules: [ - { - test: /\.(jpe?g|png|gif|svg)$/, - loader: 'url-loader', - }, - { - test: /\.css$/, - use: [MiniCssExtractPlugin.loader, 'css-loader'], - }, - { - test: /\.(woff|woff2|ttf|eot)(\?v=\d+\.\d+\.\d+)?$/, - loader: 'file-loader', - options: { - name: 'fonts/[name].[ext]', - }, - }, - ], - }, - output: { - path: path.resolve(__dirname, 'dist/angularjs/'), - filename: 'bundle.css.js', // Throwaway file used by the CSS plugin - }, - plugins: [ - new MiniCssExtractPlugin({ filename: 'bundle.css' }), - new GoogleFontsPlugin({ - fonts: [ - { - family: 'Muli', - variants: ['200', '300', '400', '600', '700'], - subsets: ['latin'], - }, - { - family: 'Source Sans Pro', - variants: ['300', '400', '600', '700', '900'], - subsets: ['latin'], - }, - ], - formats: ['woff', 'woff2'], - }), - ], - }, -] diff --git a/webpack.dev.js b/webpack.dev.js deleted file mode 100644 index 52f56ba27f..0000000000 --- a/webpack.dev.js +++ /dev/null @@ -1,10 +0,0 @@ -const merge = require('webpack-merge') -const [jsBundle, cssBundle] = require('./webpack.common.js') - -module.exports = [ - merge(jsBundle, { - mode: 'development', - devtool: 'source-map', - }), - merge(cssBundle, { mode: 'development' }), -] diff --git a/webpack.prod.js b/webpack.prod.js deleted file mode 100644 index c6041281c8..0000000000 --- a/webpack.prod.js +++ /dev/null @@ -1,54 +0,0 @@ -const merge = require('webpack-merge') -const TerserPlugin = require('terser-webpack-plugin') - -const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin') - -const [jsBundle, cssBundle] = require('./webpack.common.js') - -module.exports = [ - merge(jsBundle, { - devtool: 'source-map', - mode: 'production', - optimization: { - minimize: true, - usedExports: true, - sideEffects: false, - minimizer: [ - new TerserPlugin({ - cache: true, - parallel: true, - sourceMap: true, - terserOptions: { - ecma: 5, - mangle: true, - compress: true, - toplevel: true, - safari10: true, - output: { - comments: false, - }, - }, - }), - ], - }, - module: { - rules: [ - { - test: /\.js$/, - // Don't transpile polyfills - exclude: - /@babel(?:\/|\\{1,2})runtime|core-js|web-streams-polyfill|whatwg-fetch|abortcontroller-polyfill|text-encoding/, - use: { - loader: 'babel-loader', - }, - }, - ], - }, - }), - merge(cssBundle, { - mode: 'production', - optimization: { - minimizer: [new OptimizeCSSAssetsPlugin()], - }, - }), -] From 07ce6ad507dff376d1afb2b9de322c0bc746cc37 Mon Sep 17 00:00:00 2001 From: Justyn Oh Date: Mon, 5 Jun 2023 11:50:23 +0800 Subject: [PATCH 06/10] chore: remove support for legacy stripe metadata (#6415) --- src/app/modules/payments/stripe.utils.ts | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/app/modules/payments/stripe.utils.ts b/src/app/modules/payments/stripe.utils.ts index c25f43081d..0de31a075d 100644 --- a/src/app/modules/payments/stripe.utils.ts +++ b/src/app/modules/payments/stripe.utils.ts @@ -89,7 +89,7 @@ export const getChargeIdFromNestedCharge = ( const isStripeMetadata = ( obj: Stripe.Metadata, ): obj is StripePaymentMetadataDto => - // hasProp(obj, 'env') && // TODO: Make this required later + hasProp(obj, 'env') && hasProp(obj, 'formTitle') && hasProp(obj, 'formId') && hasProp(obj, 'submissionId') && @@ -131,10 +131,7 @@ export const getMetadataPaymentId = ( }) return err(new StripeMetadataValidPaymentIdNotFoundError()) } - // Explicit check for metadata.env to ensure that legacy metadata which does - // not have the env value still gets processed. - // TODO: remove the existence check later. - if (metadata.env && metadata.env !== config.envSiteName) { + if (metadata.env !== config.envSiteName) { return err(new StripeMetadataIncorrectEnvError()) } return ok(metadata.paymentId) From f81149a29f7d817831f72b0785c094f7dc5f2f9d Mon Sep 17 00:00:00 2001 From: Foo Chi Fa <59867455+foochifa@users.noreply.github.com> Date: Mon, 5 Jun 2023 11:51:44 +0800 Subject: [PATCH 07/10] fix: add payment field to numVisibleFields (#6414) fix: increment num visible fields when payment is enabled --- .../src/features/public-form/PublicFormProvider.tsx | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frontend/src/features/public-form/PublicFormProvider.tsx b/frontend/src/features/public-form/PublicFormProvider.tsx index fad56892b1..0924b00d75 100644 --- a/frontend/src/features/public-form/PublicFormProvider.tsx +++ b/frontend/src/features/public-form/PublicFormProvider.tsx @@ -135,6 +135,10 @@ export const PublicFormProvider = ({ const { isNotFormId, toast, vfnToastIdRef, expiryInMs, ...commonFormValues } = useCommonFormProvider(formId) + const isPaymentEnabled = + data?.form.responseMode === FormResponseMode.Encrypt && + data.form.payments_field.enabled + useEffect(() => { if (data?.myInfoError) { toast({ @@ -231,7 +235,9 @@ export const PublicFormProvider = ({ captchaResponse, responseMetadata: { responseTimeMs: differenceInMilliseconds(Date.now(), startTime), - numVisibleFields, + numVisibleFields: isPaymentEnabled + ? numVisibleFields + 1 + : numVisibleFields, }, } @@ -474,6 +480,7 @@ export const PublicFormProvider = ({ useFetchForSubmissions, numVisibleFields, startTime, + isPaymentEnabled, ], ) @@ -492,10 +499,6 @@ export const PublicFormProvider = ({ [data?.form, data?.spcpSession], ) - const isPaymentEnabled = - data?.form.responseMode === FormResponseMode.Encrypt && - data.form.payments_field.enabled - if (isNotFormId) { return } From bb7974d3aa9658ec04546db073979b42d3ced671 Mon Sep 17 00:00:00 2001 From: Lin Huiqing <37061143+LinHuiqing@users.noreply.github.com> Date: Mon, 5 Jun 2023 14:37:23 +0800 Subject: [PATCH 08/10] feat: GoGov link shortener (#6369) * feat: GoGov integration (first cut - demoable) * fix: claimGoLink AxiosError unexpected EOF * feat: remove go link check stage * refactor: take formId instead to claim gogov link * fix: reinstate getting share link from origin * feat: get go link saved from db * feat: make go link copy-only when saved to form * feat: save go link suffix in db * fix: use APP_URL for longUrl * chore: remove old /claim route * feat: make go link copy-only when successfully claimed * chore: spacing in docker compose indents * feat: lock go link shortener behind feature flag * fix: set GOGOV_API_KEY default as empty string * fix: form server tests missing goLinkSuffix field * refactor: use GOGOV_BASE_URL variable instead * feat: remove copy link to GoGov temporarily * docs: add comment to link error handling to issue * feat: loading state for go links claim button * feat(FRM-913): show saved go link if feature flag disabled * fix(FRM-912): remove optional copy for Go links * feat(FRM-911): only show gogov feature to users w *.gov.sg * feat: migrate to go's new API * chore: put mock keys back in env var * feat: share tab copy * feat(FRM-902): share modal tab format * fix: input unfocusing bug * feat: keep success message shown if go linked * fix: gogov link input outline * fix: write permissions required to set golinks * doc: add comment for .gov.sg domain hard-code * fix: add space in success text copy Co-authored-by: Timothee Groleau * feat: serve gogov base url through useEnv * fix: remove error logging for expected 404 errors --------- Co-authored-by: Timothee Groleau --- docker-compose.yml | 2 + .../admin-form/share/ShareFormModal.tsx | 381 +++++++++++++----- .../features/link-shortener/GoGovService.ts | 22 + .../src/features/link-shortener/mutations.ts | 19 + .../src/features/link-shortener/queries.ts | 11 + shared/constants/feature-flags.ts | 1 + shared/types/core.ts | 1 + src/app/config/features/gogov.config.ts | 25 ++ .../__tests__/form.server.model.spec.ts | 1 + src/app/models/form.server.model.ts | 22 + .../form/admin-form/admin-form.controller.ts | 108 +++++ .../form/admin-form/admin-form.service.ts | 31 ++ src/app/modules/frontend/frontend.service.ts | 3 + .../admin/forms/admin-forms.gogov.routes.ts | 20 + .../api/v3/admin/forms/admin-forms.routes.ts | 2 + src/types/form.ts | 7 + 16 files changed, 550 insertions(+), 106 deletions(-) create mode 100644 frontend/src/features/link-shortener/GoGovService.ts create mode 100644 frontend/src/features/link-shortener/mutations.ts create mode 100644 frontend/src/features/link-shortener/queries.ts create mode 100644 src/app/config/features/gogov.config.ts create mode 100644 src/app/routes/api/v3/admin/forms/admin-forms.gogov.routes.ts diff --git a/docker-compose.yml b/docker-compose.yml index 03d0f70795..4e27e305fc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -114,6 +114,8 @@ services: - PAYMENT_GUIDE_LINK # Cron secrets - CRON_PAYMENT_API_SECRET=secretKey + # env vars for go integration + - GOGOV_API_KEY mockpass: build: https://github.com/opengovsg/mockpass.git#v3.1.3 diff --git a/frontend/src/features/admin-form/share/ShareFormModal.tsx b/frontend/src/features/admin-form/share/ShareFormModal.tsx index ba68b9f640..0553d25567 100644 --- a/frontend/src/features/admin-form/share/ShareFormModal.tsx +++ b/frontend/src/features/admin-form/share/ShareFormModal.tsx @@ -1,10 +1,13 @@ -import { useCallback, useMemo } from 'react' +import { useCallback, useEffect, useMemo, useState } from 'react' import { BiLinkExternal } from 'react-icons/bi' import { useNavigate } from 'react-router-dom' import { Box, + Divider, FormControl, + FormHelperText, InputGroup, + InputLeftAddon, InputRightElement, Modal, ModalBody, @@ -13,10 +16,19 @@ import { ModalOverlay, Skeleton, Stack, + TabList, + TabPanel, + TabPanels, + Tabs, + Text, useBreakpointValue, } from '@chakra-ui/react' import dedent from 'dedent' +import { featureFlags } from '~shared/constants' + +import { BxsCheckCircle, BxsErrorCircle } from '~/assets/icons' + import { ADMINFORM_ROUTE, ADMINFORM_SETTINGS_SUBROUTE, @@ -27,10 +39,43 @@ import FormLabel from '~components/FormControl/FormLabel' import IconButton from '~components/IconButton' import InlineMessage from '~components/InlineMessage' import Input from '~components/Input' +import Link from '~components/Link' import { ModalCloseButton } from '~components/Modal' +import { Tab } from '~components/Tabs' import Textarea from '~components/Textarea' import { CopyButton } from '~templates/CopyButton' +import { useEnv } from '~features/env/queries' +import { useFeatureFlags } from '~features/feature-flags/queries' +import { useListShortenerMutations } from '~features/link-shortener/mutations' +import { useGoLink } from '~features/link-shortener/queries' +import { useUser } from '~features/user/queries' + +type goLinkHelperTextType = { + color: string + icon: JSX.Element + text: JSX.Element +} + +const goLinkClaimSuccessHelperText: goLinkHelperTextType = { + color: 'success.700', + icon: , + text: ( + + You have successfully claimed this link. This link will appear in your{' '} + + Go account + + + ), +} + +const goLinkClaimFailureHelperText: goLinkHelperTextType = { + color: 'danger.500', + icon: , + text: Short link is already in use., +} + export interface ShareFormModalProps { isOpen: boolean onClose: () => void @@ -55,6 +100,19 @@ export const ShareFormModal = ({ md: 'md', }) + const { data: { goGovBaseUrl } = {} } = useEnv() + + const { data: flags } = useFeatureFlags() + const displayGoLink = flags?.has(featureFlags.goLinks) + + // Hard-coded .gov.sg whitelist for GoGov integration + const gogovWhiteListed = '.gov.sg' + const { user } = useUser() + const whitelisted = useMemo( + () => user?.email.endsWith(gogovWhiteListed), + [user?.email], + ) + const shareLink = useMemo( () => `${window.location.origin}/${formId}`, [formId], @@ -108,6 +166,135 @@ export const ShareFormModal = ({ navigate(`${ADMINFORM_ROUTE}/${formId}/${ADMINFORM_SETTINGS_SUBROUTE}`) }, [formId, navigate, onClose]) + const { data: goLinkSuffixData } = useGoLink(formId ?? '') + const [goLinkSuffixInput, setGoLinkSuffixInput] = useState('') + const [goLinkSaved, setGoLinkSaved] = useState(false) + const [claimGoLoading, setClaimGoLoading] = useState(false) + + useEffect(() => { + if (goLinkSuffixData?.goLinkSuffix) { + setGoLinkSaved(true) + setGoLinkSuffixInput(goLinkSuffixData?.goLinkSuffix ?? '') + setGoLinkHelperText(goLinkClaimSuccessHelperText) + } + }, [goLinkSuffixData?.goLinkSuffix]) + + const { claimGoLinkMutation } = useListShortenerMutations() + + const [goLinkHelperText, setGoLinkHelperText] = useState< + goLinkHelperTextType | undefined + >() + + const handleClaimGoLinkClick = useCallback(async () => { + try { + if (!user) throw Error('User not loaded yet') + + setClaimGoLoading(true) + await claimGoLinkMutation.mutateAsync({ + linkSuffix: goLinkSuffixInput, + formId: formId ?? '', + adminEmail: user.email, + }) + setClaimGoLoading(false) + setGoLinkSaved(true) + setGoLinkHelperText(goLinkClaimSuccessHelperText) + return + } catch (err) { + setClaimGoLoading(false) + setGoLinkHelperText(goLinkClaimFailureHelperText) + return + } + }, [user, claimGoLinkMutation, goLinkSuffixInput, formId]) + + const FormLinkSection = () => ( + + Form link + + + + + {formId ? ( + + + + ) : null} + + } + href={shareLink} + target="_blank" + rel="noopener" + aria-label="Open link in new tab" + /> + + + + ) + + const TemplateSection = () => ( + + Share template + + + + {formId ? ( + + + + ) : null} + + + + ) + + const EmbedSection = () => ( + + Embed HTML + + +