From 082d5cacf2e3ce40fbcc15e960c66e020ae2afbb Mon Sep 17 00:00:00 2001 From: Mohit Panjwani Date: Tue, 30 Nov 2021 18:58:19 +0530 Subject: [PATCH] v5.0.0 update --- .env.testing | 2 +- .eslintrc.js | 24 +- .gitignore | 2 +- Dockerfile | 78 +- .../Commands/CreateTemplateCommand.php | 2 +- app/Console/Kernel.php | 8 + .../Auth/ConfirmPasswordController.php | 2 +- .../Auth/ForgotPasswordController.php | 2 +- .../V1/{ => Admin}/Auth/LoginController.php | 2 +- .../{ => Admin}/Auth/RegisterController.php | 2 +- .../Auth/ResetPasswordController.php | 2 +- .../Auth/VerificationController.php | 2 +- .../V1/{ => Admin}/Backup/ApiController.php | 2 +- .../{ => Admin}/Backup/BackupsController.php | 8 +- .../Backup/DownloadBackupController.php | 4 +- .../V1/Admin/Company/CompaniesController.php | 85 + .../V1/Admin/Company/CompanyController.php | 24 + .../Config}/FiscalYearsController.php | 2 +- .../Config}/LanguagesController.php | 2 +- .../Config/RetrospectiveEditsController.php} | 9 +- .../CustomField/CustomFieldsController.php | 48 +- .../Customer/CustomerStatsController.php | 62 +- .../V1/Admin/Customer/CustomersController.php | 108 + .../Admin/Dashboard/DashboardController.php | 165 + .../ChangeEstimateStatusController.php | 4 +- .../Estimate/ConvertEstimateController.php | 132 + .../Estimate/EstimateTemplatesController.php | 27 + .../V1/Admin/Estimate/EstimatesController.php | 77 + .../Estimate/SendEstimateController.php | 4 +- .../SendEstimatePreviewController.php | 26 + .../ExchangeRateProviderController.php | 117 + .../GetActiveProviderController.php | 35 + .../GetExchangeRateController.php | 57 + .../GetSupportedCurrenciesController.php | 26 + .../GetUsedCurrenciesController.php | 55 + .../Expense/ExpenseCategoriesController.php | 48 +- .../Expense/ExpensesController.php | 52 +- .../Admin/Expense/ShowReceiptController.php | 30 + .../Expense/UploadReceiptController.php | 8 +- .../V1/Admin/General/BootstrapController.php | 63 + .../General/BulkExchangeRateController.php | 128 + .../V1/Admin/General/ConfigController.php | 22 + .../General/CountriesController.php | 9 +- .../General/CurrenciesController.php | 7 +- .../General/DateFormatsController.php | 2 +- .../GetAllUsedCurrenciesController.php | 37 + .../V1/Admin/General/NextNumberController.php | 66 + .../{ => Admin}/General/NotesController.php | 36 +- .../General/NumberPlaceholdersController.php | 30 + .../{ => Admin}/General/SearchController.php | 14 +- .../Admin/General/SearchUsersController.php | 27 + .../General/TimezonesController.php | 2 +- .../Invoice/ChangeInvoiceStatusController.php | 4 +- .../Admin/Invoice/CloneInvoiceController.php | 131 + .../Invoice/InvoiceTemplatesController.php | 27 + .../Invoice/InvoicesController.php | 70 +- .../Invoice/SendInvoiceController.php | 4 +- .../Invoice/SendInvoicePreviewController.php | 26 + .../V1/{ => Admin}/Item/ItemsController.php | 47 +- .../V1/{ => Admin}/Item/UnitsController.php | 55 +- .../V1/{ => Admin}/Mobile/AuthController.php | 11 +- .../Payment/PaymentMethodsController.php | 40 +- .../Payment/PaymentsController.php | 59 +- .../Payment/SendPaymentController.php | 4 +- .../Payment/SendPaymentPreviewController.php | 26 + .../RecurringInvoiceController.php | 94 + .../RecurringInvoiceFrequencyController.php | 20 + .../Report/CustomerSalesReportController.php | 15 +- .../Report/ExpensesReportController.php | 11 +- .../Report/ItemSalesReportController.php | 8 +- .../Report/ProfitLossReportController.php | 12 +- .../Report/TaxSummaryReportController.php | 10 +- .../V1/Admin/Role/AbilitiesController.php | 20 + .../V1/Admin/Role/RolesController.php | 119 + .../Settings/CompanyController.php | 72 +- .../{ => Admin}/Settings/DiskController.php | 43 +- .../GetCompanyMailConfigurationController.php | 25 + .../Settings/GetCompanySettingsController.php | 2 +- .../Settings/GetUserSettingsController.php | 5 +- .../Settings/MailConfigurationController.php | 10 +- .../Settings/TaxTypesController.php | 49 +- .../UpdateCompanySettingsController.php | 5 +- .../Settings/UpdateUserSettingsController.php | 5 +- .../Update/CheckVersionController.php | 9 +- .../Update/CopyFilesController.php | 9 +- .../Update/DeleteFilesController.php | 9 +- .../Update/DownloadUpdateController.php | 9 +- .../Update/FinishUpdateController.php | 9 +- .../Admin/Update/MigrateUpdateController.php | 32 + .../Update/UnzipUpdateController.php | 9 +- .../{ => Admin}/Update/UpdateController.php | 14 +- .../V1/{ => Admin}/Users/UsersController.php | 66 +- .../V1/Customer/CustomersController.php | 120 - .../Customer/EstimatePdfController.php | 6 +- .../Customer/InvoicePdfController.php | 6 +- .../V1/Dashboard/DashboardChartController.php | 32 - .../V1/Dashboard/DashboardController.php | 157 - .../V1/Estimate/ConvertEstimateController.php | 94 - .../Estimate/EstimateTemplatesController.php | 33 - .../V1/Estimate/EstimatesController.php | 102 - .../V1/Expense/ShowReceiptController.php | 40 - .../V1/General/BootstrapController.php | 53 - .../V1/General/NextNumberController.php | 58 - .../AppDomainController.php | 4 +- .../DatabaseConfigurationController.php | 2 +- .../FilePermissionsController.php} | 8 +- .../FinishController.php | 2 +- .../LoginController.php | 8 +- .../OnboardingWizardController.php | 2 +- .../RequirementsController.php | 2 +- .../V1/Invoice/CloneInvoiceController.php | 90 - .../V1/Invoice/InvoiceTemplatesController.php | 33 - .../V1/PDF/DownloadInvoicePdfController.php | 22 + .../V1/PDF/DownloadPaymentPdfController.php | 22 + .../DownloadReceiptController.php | 2 +- .../EstimatePdfController.php | 2 +- .../{Invoice => PDF}/InvoicePdfController.php | 2 +- .../{Payment => PDF}/PaymentPdfController.php | 2 +- app/Http/Kernel.php | 6 +- app/Http/Middleware/CompanyMiddleware.php | 30 + .../Middleware/InstallationMiddleware.php | 4 +- app/Http/Middleware/ScopeBouncer.php | 45 + app/Http/Requests/BulkExchangeRateRequest.php | 39 + app/Http/Requests/CompaniesRequest.php | 77 + app/Http/Requests/CompanyRequest.php | 4 +- app/Http/Requests/CustomerRequest.php | 151 +- .../Requests/DatabaseEnvironmentRequest.php | 4 +- app/Http/Requests/DeleteCustomersRequest.php | 2 +- app/Http/Requests/DeleteUserRequest.php | 37 + app/Http/Requests/EstimatesRequest.php | 53 +- app/Http/Requests/ExchangeRateLogRequest.php | 53 + .../Requests/ExchangeRateProviderRequest.php | 59 + app/Http/Requests/ExpenseCategoryRequest.php | 9 + app/Http/Requests/ExpenseRequest.php | 41 +- app/Http/Requests/InvoicesRequest.php | 56 +- app/Http/Requests/LoginRequest.php | 38 + app/Http/Requests/MailEnvironmentRequest.php | 2 +- app/Http/Requests/NotesRequest.php | 39 +- app/Http/Requests/PaymentMethodRequest.php | 7 +- app/Http/Requests/PaymentRequest.php | 44 +- app/Http/Requests/RecurringInvoiceRequest.php | 119 + app/Http/Requests/RoleRequest.php | 62 + app/Http/Requests/TaxTypeRequest.php | 25 +- app/Http/Requests/UnitRequest.php | 16 +- app/Http/Requests/UpdateSettingsRequest.php | 3 - app/Http/Requests/UserRequest.php | 18 + app/Http/Resources/AbilityCollection.php | 19 + app/Http/Resources/AbilityResource.php | 27 + app/Http/Resources/AddressCollection.php | 19 + app/Http/Resources/AddressResource.php | 40 + app/Http/Resources/CompanyCollection.php | 19 + app/Http/Resources/CompanyResource.php | 30 + app/Http/Resources/CountryCollection.php | 19 + app/Http/Resources/CountryResource.php | 24 + app/Http/Resources/CurrencyCollection.php | 19 + app/Http/Resources/CurrencyResource.php | 29 + app/Http/Resources/CustomFieldCollection.php | 19 + app/Http/Resources/CustomFieldResource.php | 42 + .../Resources/CustomFieldValueCollection.php | 19 + .../Resources/CustomFieldValueResource.php | 39 + app/Http/Resources/CustomerCollection.php | 19 + app/Http/Resources/CustomerResource.php | 58 + app/Http/Resources/EstimateCollection.php | 19 + app/Http/Resources/EstimateItemCollection.php | 19 + app/Http/Resources/EstimateItemResource.php | 45 + app/Http/Resources/EstimateResource.php | 70 + .../Resources/ExchangeRateLogCollection.php | 19 + .../Resources/ExchangeRateLogResource.php | 25 + .../ExchangeRateProviderCollection.php | 19 + .../ExchangeRateProviderResource.php | 30 + .../Resources/ExpenseCategoryCollection.php | 19 + .../Resources/ExpenseCategoryResource.php | 29 + app/Http/Resources/ExpenseCollection.php | 19 + app/Http/Resources/ExpenseResource.php | 58 + app/Http/Resources/FileDiskCollection.php | 19 + app/Http/Resources/FileDiskResource.php | 27 + app/Http/Resources/InvoiceCollection.php | 19 + app/Http/Resources/InvoiceItemCollection.php | 19 + app/Http/Resources/InvoiceItemResource.php | 46 + app/Http/Resources/InvoiceResource.php | 78 + app/Http/Resources/ItemCollection.php | 19 + app/Http/Resources/ItemResource.php | 44 + app/Http/Resources/NoteCollection.php | 19 + app/Http/Resources/NoteResource.php | 27 + app/Http/Resources/PaymentCollection.php | 19 + .../Resources/PaymentMethodCollection.php | 19 + app/Http/Resources/PaymentMethodResource.php | 26 + app/Http/Resources/PaymentResource.php | 56 + .../Resources/RecurringInvoiceCollection.php | 19 + .../Resources/RecurringInvoiceResource.php | 72 + app/Http/Resources/RoleCollection.php | 19 + app/Http/Resources/RoleResource.php | 35 + app/Http/Resources/TaxCollection.php | 19 + app/Http/Resources/TaxResource.php | 41 + app/Http/Resources/TaxTypeCollection.php | 19 + app/Http/Resources/TaxTypeResource.php | 30 + app/Http/Resources/UnitCollection.php | 19 + app/Http/Resources/UnitResource.php | 26 + app/Http/Resources/UserCollection.php | 19 + app/Http/Resources/UserResource.php | 45 + app/Listeners/Updates/v3/Version300.php | 3 +- app/Mail/EstimateViewedMail.php | 5 +- app/Mail/InvoiceViewedMail.php | 5 +- app/Mail/SendInvoiceMail.php | 1 - app/Models/Address.php | 5 + app/Models/Company.php | 318 +- app/Models/CompanySetting.php | 19 +- app/Models/Currency.php | 10 +- app/Models/CustomField.php | 38 +- app/Models/CustomFieldValue.php | 4 +- app/Models/Customer.php | 326 + app/Models/CustomerFactory.php | 40 + app/Models/Estimate.php | 252 +- app/Models/EstimateItem.php | 18 +- app/Models/ExchangeRateLog.php | 41 + app/Models/ExchangeRateProvider.php | 166 + app/Models/Expense.php | 107 +- app/Models/ExpenseCategory.php | 11 +- app/Models/FileDisk.php | 9 +- app/Models/Invoice.php | 350 +- app/Models/InvoiceItem.php | 23 +- app/Models/Item.php | 26 +- app/Models/Note.php | 10 + app/Models/Payment.php | 204 +- app/Models/PaymentMethod.php | 6 +- app/Models/RecurringInvoice.php | 413 + app/Models/Tax.php | 22 +- app/Models/TaxType.php | 12 +- app/Models/Unit.php | 17 +- app/Models/User.php | 254 +- app/Policies/CompanyPolicy.php | 39 + app/Policies/CustomFieldPolicy.php | 123 + app/Policies/CustomerPolicy.php | 138 + app/Policies/DashboardPolicy.php | 22 + app/Policies/EstimatePolicy.php | 154 + app/Policies/ExchangeRateProviderPolicy.php | 115 + app/Policies/ExpenseCategoryPolicy.php | 124 + app/Policies/ExpensePolicy.php | 138 + app/Policies/InvoicePolicy.php | 154 + app/Policies/ItemPolicy.php | 138 + app/Policies/NotePolicy.php | 31 + app/Policies/PaymentMethodPolicy.php | 124 + app/Policies/PaymentPolicy.php | 154 + app/Policies/RecurringInvoicePolicy.php | 138 + app/Policies/ReportPolicy.php | 22 + app/Policies/RolePolicy.php | 122 + app/Policies/SettingsPolicy.php | 48 + app/Policies/TaxTypePolicy.php | 123 + app/Policies/UnitPolicy.php | 124 + app/Policies/UserPolicy.php | 152 + app/Providers/AppServiceProvider.php | 35 +- app/Providers/AuthServiceProvider.php | 58 +- app/Providers/RouteServiceProvider.php | 9 + app/Rules/UniqueNumber.php | 67 - app/Services/SerialNumberFormatter.php | 235 + app/Space/EnvironmentManager.php | 14 +- ...sChecker.php => FilePermissionChecker.php} | 2 +- app/Space/Updater.php | 2 +- app/Space/helpers.php | 8 + app/Traits/ExchangeRateProvidersTrait.php | 213 + app/Traits/GeneratesMenuTrait.php | 25 + app/Traits/GeneratesPdfTrait.php | 4 +- app/Traits/HasCustomFieldsTrait.php | 35 +- bootstrap/app.php | 2 +- composer.json | 15 +- composer.lock | 13979 +++++++++------- config/abilities.php | 420 + config/app.php | 2 + config/auth.php | 21 +- config/crater.php | 358 + config/hashids.php | 6 + config/permission.php | 88 - config/vite.php | 67 + crater.code-workspace | 44 + database/factories/AddressFactory.php | 3 + database/factories/CompanyFactory.php | 6 +- database/factories/CompanySettingFactory.php | 2 +- database/factories/CustomFieldFactory.php | 2 +- .../factories/CustomFieldValueFactory.php | 2 +- database/factories/CustomerFactory.php | 41 + database/factories/EstimateFactory.php | 24 +- database/factories/EstimateItemFactory.php | 9 +- database/factories/ExchangeRateLogFactory.php | 33 + .../factories/ExchangeRateProviderFactory.php | 30 + database/factories/ExpenseCategoryFactory.php | 2 +- database/factories/ExpenseFactory.php | 8 +- database/factories/InvoiceFactory.php | 27 +- database/factories/InvoiceItemFactory.php | 9 +- database/factories/ItemFactory.php | 6 +- database/factories/NoteFactory.php | 2 + database/factories/PaymentFactory.php | 21 +- database/factories/PaymentMethodFactory.php | 2 +- .../factories/RecurringInvoiceFactory.php | 47 + database/factories/TaxFactory.php | 6 +- database/factories/TaxTypeFactory.php | 2 +- database/factories/UnitFactory.php | 2 +- database/factories/UserFactory.php | 1 - ...12_02_090527_update_crater_version_400.php | 6 +- ...021_06_28_105334_create_bouncer_tables.php | 114 + ...21_06_28_111647_create_customers_table.php | 49 + ...010_add_customer_id_to_estimates_table.php | 36 + ...0133_add_customer_id_to_expenses_table.php | 32 + ...0208_add_customer_id_to_invoices_table.php | 36 + ...0231_add_customer_id_to_payments_table.php | 36 + ...745_add_customer_id_to_addresses_table.php | 36 + ...62411_update_customer_id_in_all_tables.php | 130 + ...07_01_060700_create_user_company_table.php | 35 + ..._100256_change_relationship_of_company.php | 44 + ...070204_add_owner_id_to_companies_table.php | 58 + ...7_08_110940_add_company_to_notes_table.php | 45 + ...063502_create_recurring_invoices_table.php | 59 + ...recurring_invoice_id_to_invoices_table.php | 33 + ...ring_invoice_id_to_invoice_items_table.php | 34 + ...ke_due_date_optional_in_invoices_table.php | 32 + ...e_expiry_date_optional_estimates_table.php | 30 + ...8_add_base_columns_into_invoices_table.php | 44 + ..._base_columns_into_invoice_items_table.php | 42 + ..._add_base_columns_into_estimates_table.php | 42 + ...base_columns_into_estimate_items_table.php | 42 + ...10_add_base_column_into_payments_table.php | 33 + ...75100_add_base_values_into_taxes_table.php | 36 + ...53_add_currency_id_into_invoices_table.php | 33 + ...08_add_currency_id_into_payments_table.php | 33 + ...80611_add_currency_id_into_items_table.php | 33 + ...80702_add_currency_id_into_taxes_table.php | 33 + ...9_add_currency_id_into_estimates_table.php | 33 + ...103535_create_exchange_rate_logs_table.php | 38 + ...1413_add_tax_per_item_into_items_table.php | 44 + ...3244_add_base_columns_to_expense_table.php | 39 + ...3_create_exchange_rate_providers_table.php | 38 + .../2021_09_28_130822_add_sequence_column.php | 101 + ...dd_recurring_invoice_id_to_taxes_table.php | 33 + ...27_add_payment_method_to_expense_table.php | 33 + ...alculate_base_values_for_existing_data.php | 144 + ..._11_23_092111_add_new_company_settings.php | 60 + ...11_23_093811_update_crater_version_500.php | 27 + database/seeders/CurrenciesTableSeeder.php | 9 + database/seeders/DatabaseSeeder.php | 5 +- database/seeders/DefaultSettingsSeeder.php | 72 - database/seeders/DemoSeeder.php | 2 +- database/seeders/PaymentMethodSeeder.php | 22 - database/seeders/UnitSeeder.php | 29 - database/seeders/UsersTableSeeder.php | 13 +- docker-compose.yml | 12 +- docker-compose/cron.dockerfile | 7 + docker-compose/crontab | 1 + docker-compose/nginx/nginx.conf | 3 +- docker-compose/php/uploads.ini | 3 +- package-lock.json | 8662 ++++++++++ package.json | 101 +- postcss.config.js | 8 + public/.htaccess | 23 +- public/assets/css/crater.css | 1 - public/assets/css/crater.css.map | 1 - public/assets/icon/check-circle-solid.svg | 17 - public/assets/icon/envelope-solid.svg | 13 - public/assets/icon/file-alt-solid.svg | 13 - public/assets/icon/paper-plane-solid.svg | 14 - public/assets/icon/times-circle-solid.svg | 14 - public/assets/icon/trash-solid.svg | 14 - public/assets/img/Frame.png | Bin 26174 -> 0 bytes public/assets/img/Vector-1.png | Bin 785155 -> 0 bytes public/assets/img/Vector-2.png | Bin 6668 -> 0 bytes public/assets/img/Vector.png | Bin 551527 -> 0 bytes public/assets/js/app.js | 2 - public/assets/js/app.js.LICENSE.txt | 95 - public/assets/js/app.js.map | 1 - public/assets/js/pace/pace.js | 353 - public/build/assets/404.77adcf05.js | 1 + .../build/assets/AccountSetting.1468f1ab.js | 1 + public/build/assets/AstronautIcon.e635ccba.js | 1 + public/build/assets/BackupSetting.a21a6795.js | 1 + public/build/assets/BaseEditor.3f67da30.css | 1 + public/build/assets/BaseEditor.ffc4523e.js | 73 + .../build/assets/BaseMultiselect.8eaf3494.js | 1 + public/build/assets/BaseTable.d3c7fd54.js | 1 + public/build/assets/CategoryModal.733ef7b0.js | 1 + .../assets/CompanyInfoSettings.d9f2a13c.js | 1 + public/build/assets/Create.28a22b04.js | 1 + public/build/assets/Create.32068c6b.js | 1 + public/build/assets/Create.43dad034.js | 1 + public/build/assets/Create.7c012c4b.js | 1 + public/build/assets/Create.af4a4da5.js | 1 + .../assets/CreateCustomFields.b4e23995.js | 1 + .../assets/CustomFieldsSetting.7a5a5091.js | 1 + .../assets/CustomerIndexDropdown.4b5eb246.js | 1 + .../assets/CustomizationSetting.eea829f5.js | 1 + public/build/assets/Dashboard.8352d9a9.js | 1 + public/build/assets/DateTimeType.885ed58f.js | 1 + public/build/assets/DateType.7fd6d385.js | 1 + public/build/assets/DragIcon.c6971672.js | 10 + public/build/assets/DropdownType.84b4a057.js | 1 + .../build/assets/EstimateCreate.463610cc.js | 1 + .../assets/EstimateIndexDropdown.c2226697.js | 1 + .../assets/ExchangeRateConverter.c7c473de.js | 1 + .../ExchangeRateProviderSetting.2829fbaf.js | 1 + .../assets/ExpenseCategorySetting.fdf69fa8.js | 1 + .../build/assets/FileDiskSetting.b6edcbef.js | 1 + .../build/assets/ForgotPassword.e0c614a2.js | 1 + public/build/assets/Index.0dc023a0.js | 1 + public/build/assets/Index.4228a38f.js | 1 + public/build/assets/Index.78f14ef3.js | 1 + public/build/assets/Index.9a6a86d3.js | 1 + public/build/assets/Index.b192ff43.js | 1 + public/build/assets/Index.e14e4086.js | 1 + public/build/assets/Index.e373841e.js | 1 + public/build/assets/Index.e62232ca.js | 1 + public/build/assets/Index.ef98ab07.js | 1 + public/build/assets/InputType.abbc9e84.js | 1 + public/build/assets/Installation.0b767174.js | 1 + public/build/assets/InvoiceCreate.fd42e21a.js | 1 + .../assets/InvoiceIndexDropdown.c26f9f0a.js | 1 + public/build/assets/ItemModal.18fd3539.js | 1 + public/build/assets/ItemUnitModal.c88ac7e5.js | 1 + .../assets/LayoutInstallation.b7623949.js | 1 + public/build/assets/LineChart.fe0d6ac3.js | 56 + public/build/assets/LoadingIcon.1d7d9f05.js | 1 + public/build/assets/Login.366c8cf6.js | 1 + .../assets/MailConfigSetting.35936e7e.js | 1 + .../build/assets/MoonwalkerIcon.47caa882.js | 1 + public/build/assets/NoteModal.13ab9bc5.js | 1 + public/build/assets/NoteModal.3245b7d3.css | 1 + public/build/assets/NotesSetting.9dc73fb7.js | 1 + .../assets/NotificationsSetting.a1250a1b.js | 1 + public/build/assets/NumberType.bae67e72.js | 1 + .../build/assets/PaymentModeModal.512d997d.js | 1 + .../assets/PaymentsModeSetting.5dcc7449.js | 1 + public/build/assets/PhoneType.f1778217.js | 1 + .../assets/PreferencesSetting.801cc3dc.js | 1 + .../assets/RecurringInvoiceCreate.da3ce5e0.js | 1 + .../RecurringInvoiceIndexDropdown.7160d2ee.js | 1 + public/build/assets/ResetPassword.b9c54d98.js | 1 + public/build/assets/RolesSettings.388a3e79.js | 1 + .../build/assets/SelectNotePopup.995cdd69.js | 1 + .../assets/SendEstimateModal.1c55fd89.js | 1 + .../build/assets/SendInvoiceModal.a2b1bc3f.js | 1 + .../build/assets/SendPaymentModal.886cb222.js | 1 + public/build/assets/SettingsIndex.779523d3.js | 1 + public/build/assets/SwitchType.56df61e7.js | 1 + public/build/assets/TaxTypeModal.8742b38a.js | 1 + .../build/assets/TaxTypesSetting.f192cb93.js | 1 + public/build/assets/TextAreaType.a1bccab5.js | 1 + public/build/assets/TimeType.82e5beb3.js | 1 + .../build/assets/UpdateAppSetting.399d3f8e.js | 1 + .../assets/UpdateAppSetting.7d8b987a.css | 1 + public/build/assets/UrlType.803fb838.js | 1 + public/build/assets/View.169b4319.js | 1 + public/build/assets/View.23b93921.js | 1 + public/build/assets/View.be1a0654.js | 1 + public/build/assets/View.c5c6af40.js | 1 + public/build/assets/View.ef8bc3aa.js | 1 + public/build/assets/main.9108b649.css | 1 + public/build/assets/main.d8ec3f25.js | 13 + public/build/assets/vendor.e9042f2c.js | 1383 ++ public/build/fonts/Poppins-Black.ttf | Bin 0 -> 151340 bytes public/build/fonts/Poppins-Light.ttf | Bin 0 -> 159848 bytes public/build/fonts/Poppins-Medium.ttf | Bin 0 -> 156480 bytes public/build/fonts/Poppins-Regular.ttf | Bin 0 -> 158192 bytes public/build/fonts/Poppins-SemiBold.ttf | Bin 0 -> 155192 bytes .../{assets => build}/img/PDF/estimate1.png | Bin .../{assets => build}/img/PDF/estimate2.png | Bin .../{assets => build}/img/PDF/estimate3.png | Bin public/{assets => build}/img/PDF/invoice1.png | Bin public/{assets => build}/img/PDF/invoice2.png | Bin public/{assets => build}/img/PDF/invoice3.png | Bin public/build/img/c-mobile.png | Bin 0 -> 49947 bytes public/{assets => build}/img/crater-logo.png | Bin .../img/crater-white-small.png | Bin .../{images => build/img}/default-avatar.jpg | Bin public/{images => build/img/login}/frame.svg | 0 .../img/login}/login-vector1.svg | 0 .../img/login}/login-vector2.svg | 0 .../img/login}/login-vector3.svg | 0 public/{assets => build}/img/logo-white.png | Bin public/{assets => build}/img/tick.png | Bin public/build/manifest.json | 838 + .../favicons/android-chrome-192x192.png | Bin .../favicons/android-chrome-256x256.png | Bin .../img => }/favicons/apple-touch-icon.png | Bin .../img => }/favicons/browserconfig.xml | 2 +- .../img => }/favicons/favicon-16x16.png | Bin .../img => }/favicons/favicon-32x32.png | Bin public/{assets/img => }/favicons/favicon.ico | Bin .../img => }/favicons/mstile-150x150.png | Bin .../img => }/favicons/safari-pinned-tab.svg | 0 .../img => }/favicons/site.webmanifest | 4 +- public/images/avatar.png | Bin 34581 -> 0 bytes public/mix-manifest.json | 4 - resources/assets/js/app.js | 29 - resources/assets/js/bootstrap.js | 172 - .../assets/js/components/GlobalSearch.vue | 157 - .../js/components/base/BaseCustomInput.vue | 302 - .../js/components/base/BaseCustomerSelect.vue | 61 - .../js/components/base/BaseDatePicker.vue | 148 - .../assets/js/components/base/BaseLoader.vue | 123 - .../js/components/base/BaseNotification.vue | 147 - .../assets/js/components/base/BasePage.vue | 7 - .../js/components/base/BaseTimePicker.vue | 81 - .../base/base-select/BaseSelect.vue | 881 - .../js/components/base/base-select/index.js | 7 - .../base/base-select/multiselectMixin.js | 775 - .../base/base-select/pointerMixin.js | 172 - resources/assets/js/components/base/index.js | 46 - .../js/components/base/modal/BackupModal.vue | 187 - .../js/components/base/modal/BaseModal.vue | 96 - .../components/base/modal/CategoryModal.vue | 198 - .../base/modal/CustomField/Index.vue | 505 - .../modal/CustomField/types/DateTimeType.vue | 35 - .../base/modal/CustomField/types/DateType.vue | 29 - .../modal/CustomField/types/DropdownType.vue | 37 - .../modal/CustomField/types/InputType.vue | 27 - .../modal/CustomField/types/NumberType.vue | 27 - .../modal/CustomField/types/OptionsCreate.vue | 41 - .../modal/CustomField/types/PhoneType.vue | 27 - .../modal/CustomField/types/SwitchType.vue | 27 - .../modal/CustomField/types/TextAreaType.vue | 28 - .../base/modal/CustomField/types/TimeType.vue | 28 - .../base/modal/CustomField/types/UrlType.vue | 27 - .../components/base/modal/CustomerModal.vue | 742 - .../base/modal/EstimateTemplate.vue | 91 - .../components/base/modal/FileDiskModal.vue | 160 - .../components/base/modal/InvoiceTemplate.vue | 91 - .../js/components/base/modal/ItemModal.vue | 334 - .../components/base/modal/ItemUnitModal.vue | 164 - .../components/base/modal/MailTestModal.vue | 201 - .../js/components/base/modal/NoteModal.vue | 316 - .../base/modal/PaymentModeModal.vue | 163 - .../base/modal/SendEstimateModal.vue | 293 - .../base/modal/SendInvoiceModal.vue | 289 - .../base/modal/SendPaymentModal.vue | 286 - .../base/modal/SetDefaultDiskModal.vue | 129 - .../js/components/base/modal/TaxTypeModal.vue | 239 - .../base/modal/disks/DoSpacesDisk.vue | 345 - .../base/modal/disks/DropboxDisk.vue | 311 - .../components/base/modal/disks/LocalDisk.vue | 177 - .../js/components/base/modal/disks/S3Disk.vue | 313 - .../base/popup/CustomerSelectPopup.vue | 176 - .../components/base/popup/NoteSelectPopup.vue | 114 - .../components/base/popup/TaxSelectPopup.vue | 110 - .../js/components/base/theme/BaseSelect.js | 31 - .../js/components/base/theme/DatePicker.js | 11 - .../assets/js/components/base/theme/index.js | 15 - .../js/components/chartjs/LineChart.vue | 212 - .../js/components/custom-fields/DateField.vue | 102 - .../custom-fields/DateTimeField.vue | 85 - .../custom-fields/DropdownField.vue | 89 - .../components/custom-fields/InputField.vue | 111 - .../components/custom-fields/NumberField.vue | 114 - .../components/custom-fields/PhoneField.vue | 113 - .../components/custom-fields/SwitchField.vue | 37 - .../custom-fields/TextAreaField.vue | 96 - .../js/components/custom-fields/TimeField.vue | 103 - .../js/components/custom-fields/UrlField.vue | 101 - .../assets/js/components/icon/DotIcon.vue | 84 - .../assets/js/components/icon/facebook.vue | 18 - .../assets/js/components/icon/google.vue | 34 - resources/assets/js/components/icon/icon.vue | 113 - .../assets/js/components/icon/twitter.vue | 18 - .../assets/js/components/icon/upload.vue | 14 - .../js/components/settings/MailSettings.vue | 45 - .../assets/js/components/theme/SwBadge.js | 17 - .../assets/js/components/theme/SwButton.js | 22 - .../assets/js/components/theme/SwCard.js | 18 - .../assets/js/components/theme/SwDropdown.js | 25 - .../js/components/theme/SwFilterWrapper.js | 7 - .../assets/js/components/theme/SwInput.js | 31 - .../assets/js/components/theme/SwList.js | 33 - .../assets/js/components/theme/SwModal.js | 20 - .../assets/js/components/theme/SwPopup.js | 8 - .../assets/js/components/theme/SwRadio.js | 34 - .../assets/js/components/theme/SwSwitch.js | 8 - .../assets/js/components/theme/SwTable.js | 8 - .../assets/js/components/theme/SwTextarea.js | 6 - .../assets/js/components/theme/SwWizard.js | 25 - resources/assets/js/components/theme/index.js | 29 - resources/assets/js/helpers/directives.js | 34 - resources/assets/js/mixins/customFields.js | 133 - resources/assets/js/plugins/fa.json | 1198 -- resources/assets/js/plugins/fi.json | 1198 -- resources/assets/js/plugins/hi.json | 1198 -- resources/assets/js/plugins/ja.json | 1194 -- resources/assets/js/plugins/ko.json | 1194 -- resources/assets/js/plugins/ru.json | 1198 -- resources/assets/js/plugins/tr.json | 1198 -- resources/assets/js/plugins/zh.json | 1198 -- resources/assets/js/router.js | 417 - resources/assets/js/store/actions.js | 146 - resources/assets/js/store/getters.js | 15 - resources/assets/js/store/index.js | 82 - .../assets/js/store/modules/auth/actions.js | 56 - .../assets/js/store/modules/auth/getters.js | 1 - .../assets/js/store/modules/auth/index.js | 20 - .../js/store/modules/auth/mutation-types.js | 5 - .../assets/js/store/modules/auth/mutations.js | 22 - .../assets/js/store/modules/backup/actions.js | 41 - .../assets/js/store/modules/backup/getters.js | 3 - .../assets/js/store/modules/backup/index.js | 21 - .../js/store/modules/backup/mutation-types.js | 4 - .../js/store/modules/backup/mutations.js | 21 - .../js/store/modules/category/actions.js | 72 - .../js/store/modules/category/getters.js | 5 - .../assets/js/store/modules/category/index.js | 19 - .../store/modules/category/mutation-types.js | 4 - .../js/store/modules/category/mutations.js | 23 - .../js/store/modules/company/actions.js | 123 - .../js/store/modules/company/getters.js | 33 - .../assets/js/store/modules/company/index.js | 35 - .../store/modules/company/mutation-types.js | 15 - .../js/store/modules/company/mutations.js | 33 - .../js/store/modules/custom-field/actions.js | 91 - .../js/store/modules/custom-field/getters.js | 1 - .../js/store/modules/custom-field/index.js | 20 - .../modules/custom-field/mutation-types.js | 5 - .../store/modules/custom-field/mutations.js | 42 - .../js/store/modules/customer/actions.js | 135 - .../js/store/modules/customer/getters.js | 9 - .../assets/js/store/modules/customer/index.js | 23 - .../store/modules/customer/mutation-types.js | 10 - .../js/store/modules/customer/mutations.js | 53 - .../js/store/modules/dashboard/actions.js | 27 - .../js/store/modules/dashboard/getters.js | 26 - .../js/store/modules/dashboard/index.js | 46 - .../store/modules/dashboard/mutation-types.js | 6 - .../js/store/modules/dashboard/mutations.js | 68 - .../assets/js/store/modules/disk/actions.js | 84 - .../assets/js/store/modules/disk/getters.js | 2 - .../assets/js/store/modules/disk/index.js | 20 - .../js/store/modules/disk/mutation-types.js | 4 - .../assets/js/store/modules/disk/mutations.js | 20 - .../modules/estimate-template/actions.js | 15 - .../modules/estimate-template/getters.js | 1 - .../store/modules/estimate-template/index.js | 19 - .../estimate-template/mutation-types.js | 1 - .../modules/estimate-template/mutations.js | 7 - .../js/store/modules/estimate/actions.js | 328 - .../js/store/modules/estimate/getters.js | 11 - .../assets/js/store/modules/estimate/index.js | 26 - .../store/modules/estimate/mutation-types.js | 21 - .../js/store/modules/estimate/mutations.js | 82 - .../js/store/modules/expense/actions.js | 135 - .../js/store/modules/expense/getters.js | 4 - .../assets/js/store/modules/expense/index.js | 22 - .../store/modules/expense/mutation-types.js | 9 - .../js/store/modules/expense/mutations.js | 58 - .../store/modules/invoice-template/actions.js | 15 - .../store/modules/invoice-template/getters.js | 1 - .../store/modules/invoice-template/index.js | 19 - .../invoice-template/mutation-types.js | 1 - .../modules/invoice-template/mutations.js | 7 - .../js/store/modules/invoice/actions.js | 262 - .../js/store/modules/invoice/getters.js | 12 - .../assets/js/store/modules/invoice/index.js | 26 - .../store/modules/invoice/mutation-types.js | 25 - .../js/store/modules/invoice/mutations.js | 85 - .../assets/js/store/modules/item/actions.js | 180 - .../assets/js/store/modules/item/getters.js | 5 - .../assets/js/store/modules/item/index.js | 23 - .../js/store/modules/item/mutation-types.js | 12 - .../assets/js/store/modules/item/mutations.js | 61 - .../assets/js/store/modules/modal/actions.js | 36 - .../assets/js/store/modules/modal/getters.js | 8 - .../assets/js/store/modules/modal/index.js | 27 - .../js/store/modules/modal/mutation-types.js | 10 - .../js/store/modules/modal/mutations.js | 48 - .../assets/js/store/modules/notes/actions.js | 70 - .../assets/js/store/modules/notes/getters.js | 1 - .../assets/js/store/modules/notes/index.js | 19 - .../js/store/modules/notes/mutation-types.js | 4 - .../js/store/modules/notes/mutations.js | 22 - .../js/store/modules/notification/actions.js | 27 - .../js/store/modules/notification/getters.js | 5 - .../js/store/modules/notification/index.js | 23 - .../modules/notification/mutation-types.js | 7 - .../store/modules/notification/mutations.js | 33 - .../js/store/modules/payment/actions.js | 214 - .../js/store/modules/payment/getters.js | 6 - .../assets/js/store/modules/payment/index.js | 24 - .../store/modules/payment/mutation-types.js | 15 - .../js/store/modules/payment/mutations.js | 67 - .../assets/js/store/modules/search/actions.js | 16 - .../assets/js/store/modules/search/getters.js | 4 - .../assets/js/store/modules/search/index.js | 20 - .../js/store/modules/search/mutation-types.js | 2 - .../js/store/modules/search/mutations.js | 11 - .../js/store/modules/tax-type/actions.js | 86 - .../js/store/modules/tax-type/getters.js | 5 - .../assets/js/store/modules/tax-type/index.js | 19 - .../store/modules/tax-type/mutation-types.js | 4 - .../js/store/modules/tax-type/mutations.js | 23 - .../assets/js/store/modules/user/actions.js | 75 - .../assets/js/store/modules/user/getters.js | 1 - .../assets/js/store/modules/user/index.js | 19 - .../js/store/modules/user/mutation-types.js | 9 - .../assets/js/store/modules/user/mutations.js | 25 - .../assets/js/store/modules/users/actions.js | 119 - .../assets/js/store/modules/users/getters.js | 4 - .../assets/js/store/modules/users/index.js | 22 - .../js/store/modules/users/mutation-types.js | 8 - .../js/store/modules/users/mutations.js | 43 - resources/assets/js/store/mutation-types.js | 15 - resources/assets/js/store/mutations.js | 35 - .../assets/js/views/auth/ForgotPassword.vue | 96 - resources/assets/js/views/auth/Login.vue | 173 - resources/assets/js/views/auth/Register.vue | 55 - .../assets/js/views/auth/ResetPassword.vue | 159 - .../assets/js/views/customers/Create.vue | 827 - resources/assets/js/views/customers/Index.vue | 466 - resources/assets/js/views/customers/View.vue | 163 - .../customers/partials/CustomerChart.vue | 219 - .../views/customers/partials/CustomerInfo.vue | 273 - .../partials/CustomerViewSidebar.vue | 273 - .../assets/js/views/dashboard/Dashboard.vue | 21 - .../js/views/dashboard/DashboardChart.vue | 152 - .../js/views/dashboard/DashboardStats.vue | 128 - .../js/views/dashboard/DashboardTable.vue | 756 - resources/assets/js/views/errors/404.vue | 43 - .../assets/js/views/estimates/Create.vue | 1040 -- .../js/views/estimates/CustomerSelect.vue | 211 - .../assets/js/views/estimates/EstimateTax.vue | 80 - resources/assets/js/views/estimates/Index.vue | 842 - resources/assets/js/views/estimates/Item.vue | 459 - .../assets/js/views/estimates/ItemSelect.vue | 164 - resources/assets/js/views/estimates/Tax.vue | 178 - resources/assets/js/views/estimates/View.vue | 480 - resources/assets/js/views/expenses/Create.vue | 569 - resources/assets/js/views/expenses/Index.vue | 522 - resources/assets/js/views/invoices/Create.vue | 1044 -- .../js/views/invoices/CustomerSelect.vue | 213 - resources/assets/js/views/invoices/Index.vue | 816 - .../assets/js/views/invoices/InvoiceTax.vue | 80 - resources/assets/js/views/invoices/Item.vue | 459 - .../assets/js/views/invoices/ItemSelect.vue | 170 - resources/assets/js/views/invoices/Tax.vue | 180 - resources/assets/js/views/invoices/View.vue | 484 - resources/assets/js/views/items/Create.vue | 419 - resources/assets/js/views/items/Index.vue | 473 - .../assets/js/views/layouts/LayoutBasic.vue | 62 - .../assets/js/views/layouts/LayoutLogin.vue | 84 - .../assets/js/views/layouts/LayoutWizard.vue | 16 - .../views/layouts/partials/TheSiteFooter.vue | 15 - .../views/layouts/partials/TheSiteHeader.vue | 192 - .../views/layouts/partials/TheSiteSidebar.vue | 184 - resources/assets/js/views/payments/Create.vue | 674 - resources/assets/js/views/payments/Index.vue | 524 - resources/assets/js/views/payments/View.vue | 404 - .../js/views/reports/ExpensesReport.vue | 282 - .../js/views/reports/ProfitLossReport.vue | 281 - .../assets/js/views/reports/SalesReports.vue | 328 - .../assets/js/views/reports/TaxReport.vue | 266 - .../assets/js/views/reports/layout/Index.vue | 103 - .../js/views/settings/BackupSetting.vue | 245 - .../js/views/settings/CompanyInfoSetting.vue | 344 - .../js/views/settings/CustomFieldsSetting.vue | 190 - .../views/settings/CustomizationSetting.vue | 93 - .../views/settings/ExpenseCategorySetting.vue | 186 - .../js/views/settings/FileDiskSetting.vue | 325 - .../js/views/settings/MailConfigSetting.vue | 131 - .../assets/js/views/settings/NotesSetting.vue | 167 - .../views/settings/NotificationsSetting.vue | 236 - .../js/views/settings/PaymentsModeSetting.vue | 157 - .../js/views/settings/PreferencesSetting.vue | 374 - .../js/views/settings/SettingsIndex.vue | 213 - .../js/views/settings/TaxTypesSetting.vue | 255 - .../js/views/settings/UpdateAppSetting.vue | 382 - .../js/views/settings/UserProfileSetting.vue | 371 - .../customization-tabs/AddressTab.vue | 153 - .../customization-tabs/EstimatesTab.vue | 359 - .../customization-tabs/InvoicesTab.vue | 350 - .../settings/customization-tabs/ItemsTab.vue | 139 - .../customization-tabs/PaymentsTab.vue | 334 - .../settings/mail-driver/BasicMailDriver.vue | 169 - .../mail-driver/MailgunMailDriver.vue | 284 - .../settings/mail-driver/SesMailDriver.vue | 340 - .../settings/mail-driver/SmtpMailDriver.vue | 303 - resources/assets/js/views/users/Create.vue | 292 - resources/assets/js/views/users/Index.vue | 460 - resources/assets/js/views/wizard/Wizard.vue | 102 - .../js/views/wizard/WizardCompanyInfoStep.vue | 327 - .../js/views/wizard/WizardDatabaseStep.vue | 115 - .../js/views/wizard/WizardEmailConfigStep.vue | 93 - .../js/views/wizard/WizardPermissionStep.vue | 103 - .../js/views/wizard/WizardSettingsStep.vue | 301 - .../wizard/WizardSystemRequirementStep.vue | 129 - .../js/views/wizard/WizardUserProfileStep.vue | 269 - .../views/wizard/WizardVerifyDomainStep.vue | 136 - .../views/wizard/database/MysqlDatabase.vue | 267 - .../views/wizard/database/PgsqlDatabase.vue | 264 - .../views/wizard/database/SqliteDatabase.vue | 170 - .../wizard/mail-driver/BasicMailDriver.vue | 160 - .../wizard/mail-driver/MailgunMailDriver.vue | 262 - .../wizard/mail-driver/SesMailDriver.vue | 325 - .../wizard/mail-driver/SmtpMailDriver.vue | 299 - resources/assets/sass/crater.scss | 115 - .../sass/components/animation.scss | 0 .../sass/components/pace-loader.scss | 0 .../sass/components/v-tooltips.scss | 0 resources/sass/crater.scss | 50 + resources/scripts/App.vue | 5 + resources/scripts/Crater.js | 62 + .../scripts/components/CompanySwitcher.vue | 217 + .../scripts/components/GlobalSearchBar.vue | 207 + .../components}/SatelliteIcon.vue | 0 .../scripts/components/SelectNotePopup.vue | 210 + .../base-select/BaseMultiselect.d.ts | 75 + .../base-select/BaseMultiselect.vue | 646 + .../base-select/composables/useClasses.js | 181 + .../base-select/composables/useData.js | 56 + .../base-select/composables/useDropdown.js | 35 + .../base-select/composables/useKeyboard.js | 140 + .../base-select/composables/useMultiselect.js | 82 + .../base-select/composables/useOptions.js | 626 + .../base-select/composables/usePointer.js | 33 + .../composables/usePointerAction.js | 241 + .../base-select/composables/useSearch.js | 41 + .../base-select/composables/useValue.js | 33 + .../scripts/components/base-select/index.d.ts | 1 + .../base-select/utils/arraysEqual.js | 7 + .../components/base-select/utils/isNullish.js | 3 + .../components/base-select/utils/isObject.js | 3 + .../components/base-select/utils/normalize.js | 5 + .../scripts/components/base/BaseBadge.vue | 29 + .../components/base/BaseBreadcrumb.vue | 13 + .../components/base/BaseBreadcrumbItem.vue | 41 + .../scripts/components/base/BaseButton.vue | 155 + .../scripts/components/base/BaseCard.vue | 39 + .../scripts/components/base/BaseCheckbox.vue | 78 + .../base/BaseContentPlaceholders.vue | 190 + .../base/BaseContentPlaceholdersBox.vue | 25 + .../base/BaseContentPlaceholdersHeading.vue | 25 + .../base/BaseContentPlaceholdersText.vue | 31 + .../components/base/BaseCustomInput.vue | 253 + .../scripts/components/base/BaseCustomTag.vue | 16 + .../base/BaseCustomerAddressDisplay.vue | 27 + .../base/BaseCustomerSelectInput.vue | 98 + .../base/BaseCustomerSelectPopup.vue | 533 + .../components/base/BaseDatePicker.vue | 177 + .../components/base/BaseDescriptionList.vue | 5 + .../base/BaseDescriptionListItem.vue | 37 + .../scripts/components/base/BaseDialog.vue | 181 + .../scripts/components/base/BaseDivider.vue | 3 + .../scripts/components/base/BaseDropdown.vue | 85 + .../components/base/BaseDropdownItem.vue | 17 + .../components/base/BaseEmptyPlaceholder.vue | 31 + .../components/base/BaseErrorAlert.vue | 36 + .../base/BaseEstimateStatusBadge.vue | 36 + .../components/base/BaseFileUploader.vue | 565 + .../components/base/BaseFilterWrapper.vue | 51 + .../components/base/BaseFormatMoney.vue | 32 + .../components/base/BaseGlobalLoader.vue | 1127 ++ .../scripts/components/base/BaseHeading.vue | 25 + .../scripts/components/base/BaseIcon.vue | 20 + .../scripts/components/base/BaseInfoAlert.vue | 103 + .../scripts/components/base/BaseInput.vue | 285 + .../scripts/components/base/BaseInputGrid.vue | 24 + .../components/base/BaseInputGroup.vue | 113 + .../base/BaseInvoiceStatusBadge.vue | 47 + .../components/base/BaseItemSelect.vue | 193 + .../scripts/components/base/BaseLabel.vue | 5 + .../scripts/components/base/BaseModal.vue | 143 + .../scripts/components/base/BaseMoney.vue | 93 + .../scripts/components/base/BaseNewBadge.vue | 19 + .../scripts/components/base/BasePage.vue | 5 + .../components/base/BasePageHeader.vue | 23 + .../components/base/BasePaidStatusBadge.vue | 39 + .../scripts/components/base/BaseRadio.vue | 104 + .../base/BaseRecurringInvoiceStatusBadge.vue | 35 + .../components/base/BaseScrollPane.vue | 12 + .../components/base/BaseSelectAction.vue | 18 + .../components/base/BaseSelectInput.vue | 216 + .../components/base/BaseSettingCard.vue | 42 + .../scripts/components/base/BaseSwitch.vue | 69 + .../components/base/BaseSwitchSection.vue | 64 + resources/scripts/components/base/BaseTab.vue | 29 + .../scripts/components/base/BaseTabGroup.vue | 72 + .../scripts/components/base/BaseTextarea.vue | 105 + .../components/base/BaseTimePicker.vue | 138 + .../scripts/components/base/BaseWizard.vue | 36 + .../components/base/BaseWizardNavigation.vue | 100 + .../components/base/BaseWizardStep.vue | 40 + .../base/base-editor/BaseEditor.vue | 672 + .../base/base-editor/icons/BoldIcon.vue | 7 + .../base/base-editor/icons/CodeBlockIcon.vue | 7 + .../base/base-editor/icons/CodingIcon.vue | 7 + .../base/base-editor/icons/ItalicIcon.vue | 7 + .../base/base-editor/icons/ListIcon.vue | 7 + .../base/base-editor/icons/ListUlIcon.vue | 10 + .../base/base-editor/icons/ParagraphIcon.vue | 7 + .../base/base-editor/icons/QuoteIcon.vue | 7 + .../base/base-editor/icons/RedoIcon.vue | 7 + .../base-editor/icons/StrikethroughIcon.vue | 7 + .../base/base-editor/icons/UnderlineIcon.vue | 7 + .../base/base-editor/icons/UndoIcon.vue | 7 + .../base/base-editor/icons/index.js | 27 + .../components/base/base-table/BaseTable.vue | 351 + .../base/base-table/BaseTablePagination.vue | 361 + .../components/base/base-table/Column.js | 66 + .../scripts/components/base/base-table/Row.js | 43 + .../components/base/base-table/helpers.js | 30 + .../scripts/components/charts/LineChart.vue | 197 + .../ExchangeRateBulkUpdate.vue | 119 + .../custom-fields/CreateCustomFields.vue | 118 + .../CreateCustomFieldsSingle.vue | 72 + .../custom-fields/types/DateTimeType.vue | 24 + .../custom-fields/types/DateType.vue | 24 + .../custom-fields/types/DropdownType.vue | 45 + .../custom-fields/types/InputType.vue | 23 + .../custom-fields/types/NumberType.vue | 23 + .../custom-fields/types/PhoneType.vue | 23 + .../custom-fields/types/SwitchType.vue | 25 + .../custom-fields/types/TextAreaType.vue | 31 + .../custom-fields/types/TimeType.vue | 24 + .../custom-fields/types/UrlType.vue | 23 + .../dropdowns/CustomFieldIndexDropdown.vue | 99 + .../dropdowns/CustomerIndexDropdown.vue | 113 + .../dropdowns/EstimateIndexDropdown.vue | 337 + .../ExpenseCategoryIndexDropdown.vue | 105 + .../dropdowns/ExpenseIndexDropdown.vue | 94 + .../dropdowns/InvoiceIndexDropdown.vue | 262 + .../dropdowns/ItemIndexDropdown.vue | 96 + .../dropdowns/NoteIndexDropdown.vue | 109 + .../dropdowns/PaymentIndexDropdown.vue | 166 + .../dropdowns/PaymentModeIndexDropdown.vue | 93 + .../RecurringInvoiceIndexDropdown.vue | 131 + .../dropdowns/RoleIndexDropdown.vue | 106 + .../dropdowns/TaxTypeIndexDropdown.vue | 104 + .../dropdowns/UserIndexDropdown.vue | 87 + .../estimate-invoice-common/CreateItemRow.vue | 513 + .../CreateItemRowTax.vue | 232 + .../estimate-invoice-common/CreateItems.vue | 194 + .../CreateNotesField.vue | 46 + .../estimate-invoice-common/CreateTotal.vue | 381 + .../CreateTotalTaxes.vue | 83 + .../ExchangeRateConverter.vue | 173 + .../SelectTaxPopup.vue | 231 + .../SelectTemplateButton.vue | 51 + .../components/icons}/DragIcon.vue | 0 .../components/icons}/LoadingIcon.vue | 0 .../components/icons}/SaveIcon.vue | 0 .../scripts/components/icons/SpinnerIcon.vue | 23 + .../icons/dashboard/CustomerIcon.vue} | 0 .../icons/dashboard}/DollarIcon.vue | 0 .../icons/dashboard}/EstimateIcon.vue | 0 .../icons/dashboard}/InvoiceIcon.vue | 0 .../components/icons/empty}/AstronautIcon.vue | 0 .../components/icons/empty}/CapsuleIcon.vue | 0 .../icons/empty}/MoonwalkerIcon.vue | 0 .../icons/empty}/ObservatoryIcon.vue | 0 .../components/icons/empty/SatelliteIcon.vue | 101 + .../components/icons/empty/UFOIcon.vue} | 6 +- .../scripts/components/list/BaseList.vue | 10 + .../scripts/components/list/BaseListItem.vue | 45 + .../modal-components/BackupModal.vue | 181 + .../modal-components/CategoryModal.vue | 161 + .../modal-components/CompanyModal.vue | 253 + .../modal-components/CustomerModal.vue | 528 + .../modal-components/DeleteCompanyModal.vue | 157 + .../ExchangeRateBulkUpdateModal.vue | 24 + .../ExchangeRateProviderModal.vue | 482 + .../modal-components/FileDiskModal.vue | 151 + .../components/modal-components/ItemModal.vue | 262 + .../modal-components/ItemUnitModal.vue | 143 + .../modal-components/MailTestModal.vue | 169 + .../components/modal-components/NoteModal.vue | 281 + .../modal-components/PaymentModeModal.vue | 133 + .../modal-components/RolesModal.vue | 299 + .../modal-components/SelectTemplateModal.vue | 113 + .../modal-components/SendEstimateModal.vue | 274 + .../modal-components/SendInvoiceModal.vue | 285 + .../modal-components/SendPaymentModal.vue | 281 + .../modal-components/TaxTypeModal.vue | 259 + .../custom-fields/CustomFieldModal.vue | 422 + .../custom-fields/OptionsCreate.vue | 36 + .../modal-components/disks/DoSpacesDisk.vue | 329 + .../modal-components/disks/DropboxDisk.vue | 299 + .../modal-components/disks/LocalDisk.vue | 221 + .../modal-components/disks/S3Disk.vue | 304 + .../notifications/NotificationItem.vue | 172 + .../notifications/NotificationRoot.vue | 54 + resources/scripts/global-components.js | 33 + resources/scripts/helpers/error-handling.js | 157 + resources/scripts/helpers/use-popper.js | 27 + .../js => scripts}/helpers/utilities.js | 180 +- resources/scripts/layouts/LayoutBasic.vue | 88 + .../scripts/layouts/LayoutInstallation.vue | 13 + resources/scripts/layouts/LayoutLogin.vue | 151 + .../layouts/partials/TheSiteHeader.vue | 170 + .../layouts/partials/TheSiteSidebar.vue | 178 + .../js/plugins => scripts/locales}/ar.json | 212 +- .../js/plugins => scripts/locales}/de.json | 272 +- .../js/plugins => scripts/locales}/en.json | 452 +- .../js/plugins => scripts/locales}/es.json | 84 +- .../js/plugins => scripts/locales}/fr.json | 648 +- .../ro.json => scripts/locales/hi.json} | 79 +- .../js/plugins => scripts/locales}/it.json | 466 +- resources/scripts/locales/ja.json | 1155 ++ resources/scripts/locales/ko.json | 1155 ++ .../i18n.js => scripts/locales/locales.js} | 48 +- .../js/plugins => scripts/locales}/lv.json | 74 +- .../js/plugins => scripts/locales}/nl.json | 130 +- .../js/plugins => scripts/locales}/pl.json | 0 .../js/plugins => scripts/locales}/pt-br.json | 48 +- .../js/plugins => scripts/locales}/pt.json | 552 +- .../js/plugins => scripts/locales}/sk.json | 88 +- .../js/plugins => scripts/locales}/sr.json | 67 +- .../js/plugins => scripts/locales}/sv.json | 70 +- .../js/plugins => scripts/locales}/vi.json | 189 +- resources/scripts/main.js | 15 + resources/scripts/plugins/axios.js | 25 + resources/scripts/plugins/i18n.js | 9 + resources/scripts/router/index.js | 480 + .../{assets/js => scripts}/services/ls.js | 0 resources/scripts/shims-vue.d.ts | 7 + resources/scripts/stores/auth.js | 74 + resources/scripts/stores/backup.js | 76 + resources/scripts/stores/category.js | 128 + resources/scripts/stores/company.js | 189 + resources/scripts/stores/custom-field.js | 211 + resources/scripts/stores/customer.js | 255 + resources/scripts/stores/dashboard.js | 86 + resources/scripts/stores/dialog.js | 49 + resources/scripts/stores/disk.js | 183 + resources/scripts/stores/estimate.js | 530 + resources/scripts/stores/exchange-rate.js | 249 + resources/scripts/stores/expense.js | 238 + resources/scripts/stores/global.js | 209 + resources/scripts/stores/installation.js | 172 + resources/scripts/stores/invoice.js | 483 + resources/scripts/stores/item.js | 336 + resources/scripts/stores/mail-driver.js | 146 + resources/scripts/stores/modal.js | 74 + resources/scripts/stores/note.js | 117 + resources/scripts/stores/notification.js | 30 + resources/scripts/stores/payment.js | 410 + resources/scripts/stores/recurring-invoice.js | 436 + resources/scripts/stores/reset.js | 91 + resources/scripts/stores/role.js | 169 + resources/scripts/stores/tax-type.js | 142 + resources/scripts/stores/user.js | 147 + resources/scripts/stores/users.js | 232 + resources/scripts/stub/abilities.js | 79 + .../{assets/js => scripts}/stub/address.js | 0 resources/scripts/stub/custom-field.js | 12 + resources/scripts/stub/customer.js | 16 + .../stub/estimate-item.js} | 1 + resources/scripts/stub/estimate.js | 37 + resources/scripts/stub/expense.js | 17 + .../stub/invoice-item.js} | 0 resources/scripts/stub/invoice.js | 37 + resources/scripts/stub/payment.js | 15 + .../scripts/stub/recurring-invoice-item.js | 18 + resources/scripts/stub/recurring-invoice.js | 48 + resources/{assets/js => scripts}/stub/tax.js | 0 resources/scripts/views/SampleTable.vue | 175 + .../scripts/views/auth/ForgotPassword.vue | 92 + resources/scripts/views/auth/Login.vue | 131 + .../scripts/views/auth/ResetPassword.vue | 165 + resources/scripts/views/customers/Create.vue | 621 + resources/scripts/views/customers/Index.vue | 363 + resources/scripts/views/customers/View.vue | 144 + .../customers/partials/CustomerChart.vue | 222 + .../partials/CustomerChartPlaceholder.vue | 79 + .../views/customers/partials/CustomerInfo.vue | 119 + .../partials/CustomerViewSidebar.vue | 293 + .../scripts/views/dashboard/Dashboard.vue | 13 + .../views/dashboard/DashboardChart.vue | 186 + .../dashboard/DashboardChartPlaceholder.vue | 88 + .../views/dashboard/DashboardStats.vue | 79 + .../views/dashboard/DashboardStatsItem.vue | 64 + .../dashboard/DashboardStatsPlaceholder.vue | 20 + .../dashboard/DashboardStatsSmPlaceholder.vue | 31 + .../views/dashboard/DashboardTable.vue | 181 + resources/scripts/views/errors/404.vue | 55 + resources/scripts/views/estimates/Index.vue | 450 + resources/scripts/views/estimates/View.vue | 500 + .../views/estimates/create/EstimateCreate.vue | 267 + .../create/EstimateCreateBasicFields.vue | 102 + resources/scripts/views/expenses/Create.vue | 468 + resources/scripts/views/expenses/Index.vue | 399 + .../views/installation/Installation.vue | 110 + .../installation/Step1RequirementsCheck.vue | 126 + .../installation/Step2PermissionCheck.vue | 123 + .../installation/Step3DatabaseConfig.vue | 131 + .../views/installation/Step4VerifyDomain.vue | 108 + .../views/installation/Step5EmailConfig.vue | 77 + .../installation/Step6AccountSettings.vue | 229 + .../views/installation/Step7CompanyInfo.vue | 247 + .../installation/Step8CompanyPreferences.vue | 309 + .../installation/database/MysqlDatabase.vue | 188 + .../installation/database/PgsqlDatabase.vue | 210 + .../installation/database/SqliteDatabase.vue | 146 + .../mail-driver/BasicMailDriver.vue | 147 + .../mail-driver/MailgunMailDriver.vue | 237 + .../mail-driver/SesMailDriver.vue | 278 + .../mail-driver/SmtpMailDriver.vue | 265 + resources/scripts/views/invoices/Index.vue | 480 + resources/scripts/views/invoices/View.vue | 481 + .../views/invoices/create/InvoiceCreate.vue | 266 + .../create/InvoiceCreateBasicFields.vue | 85 + resources/scripts/views/items/Create.vue | 312 + resources/scripts/views/items/Index.vue | 349 + resources/scripts/views/payments/Create.vue | 517 + resources/scripts/views/payments/Index.vue | 379 + resources/scripts/views/payments/View.vue | 436 + .../views/recurring-invoices/Index.vue | 483 + .../scripts/views/recurring-invoices/View.vue | 76 + .../create/RecurringInvoiceCreate.vue | 314 + .../RecurringInvoiceCreateBasicFields.vue | 284 + .../recurring-invoices/partials/Invoices.vue | 98 + .../partials/RecurringInvoiceInfo.vue | 94 + .../partials/RecurringInvoiceViewSidebar.vue | 322 + .../scripts/views/reports/ExpensesReport.vue | 230 + .../views/reports/ProfitLossReport.vue | 224 + .../scripts/views/reports/SalesReports.vue | 263 + resources/scripts/views/reports/TaxReport.vue | 228 + .../scripts/views/reports/layout/Index.vue | 65 + .../scripts/views/settings/AccountSetting.vue | 228 + .../scripts/views/settings/BackupSetting.vue | 230 + .../views/settings/CompanyInfoSettings.vue | 260 + .../views/settings/CustomFieldsSetting.vue | 150 + .../settings/ExchangeRateProviderSetting.vue | 191 + .../views/settings/ExpenseCategorySetting.vue | 117 + .../views/settings/FileDiskSetting.vue | 257 + .../views/settings/MailConfigSetting.vue | 93 + .../scripts/views/settings/NotesSetting.vue | 116 + .../views/settings/NotificationsSetting.vue | 162 + .../views/settings/PaymentsModeSetting.vue | 104 + .../views/settings/PreferencesSetting.vue | 254 + .../scripts/views/settings/RolesSettings.vue | 113 + .../scripts/views/settings/SettingsIndex.vue | 95 + .../views/settings/TaxTypesSetting.vue | 171 + .../views/settings/UpdateAppSetting.vue | 418 + .../customization/CustomizationSetting.vue | 42 + .../customization/NumberCustomizer.vue | 454 + .../customization/estimates/EstimatesTab.vue | 73 + .../estimates/EstimatesTabConvertEstimate.vue | 82 + .../estimates/EstimatesTabDefaultFormats.vue | 129 + .../estimates/EstimatesTabEstimateNumber.vue | 15 + .../estimates/EstimatesTabExpiryDate.vue | 137 + .../customization/invoices/InvoicesTab.vue | 71 + .../invoices/InvoicesTabDefaultFormats.vue | 127 + .../invoices/InvoicesTabDueDate.vue | 135 + .../invoices/InvoicesTabInvoiceNumber.vue | 15 + .../invoices/InvoicesTabRetrospective.vue | 93 + .../settings/customization/items/ItemsTab.vue | 131 + .../customization/payments/PaymentsTab.vue | 61 + .../payments/PaymentsTabDefaultFormats.vue | 113 + .../payments/PaymentsTabPaymentNumber.vue | 15 + .../settings/mail-driver/BasicMailDriver.vue | 158 + .../mail-driver/MailgunMailDriver.vue | 247 + .../settings/mail-driver/SesMailDriver.vue | 294 + .../settings/mail-driver/SmtpMailDriver.vue | 275 + resources/scripts/views/users/Create.vue | 293 + resources/scripts/views/users/Index.vue | 394 + resources/static/fonts/Poppins-Black.ttf | Bin 0 -> 151340 bytes resources/static/fonts/Poppins-Light.ttf | Bin 0 -> 159848 bytes resources/static/fonts/Poppins-Medium.ttf | Bin 0 -> 156480 bytes resources/static/fonts/Poppins-Regular.ttf | Bin 0 -> 158192 bytes resources/static/fonts/Poppins-SemiBold.ttf | Bin 0 -> 155192 bytes resources/static/img/PDF/estimate1.png | Bin 0 -> 96440 bytes resources/static/img/PDF/estimate2.png | Bin 0 -> 85532 bytes resources/static/img/PDF/estimate3.png | Bin 0 -> 106293 bytes resources/static/img/PDF/invoice1.png | Bin 0 -> 96440 bytes resources/static/img/PDF/invoice2.png | Bin 0 -> 85532 bytes resources/static/img/PDF/invoice3.png | Bin 0 -> 106293 bytes resources/static/img/c-mobile.png | Bin 0 -> 49947 bytes resources/static/img/crater-logo.png | Bin 0 -> 26453 bytes resources/static/img/crater-white-small.png | Bin 0 -> 2075 bytes resources/static/img/default-avatar.jpg | Bin 0 -> 33164 bytes resources/static/img/login/frame.svg | 26 + resources/static/img/login/login-vector1.svg | 10 + resources/static/img/login/login-vector2.svg | 9 + resources/static/img/login/login-vector3.svg | 3 + resources/static/img/logo-white.png | Bin 0 -> 5421 bytes resources/static/img/tick.png | Bin 0 -> 942 bytes resources/views/app.blade.php | 32 +- .../app/pdf/estimate/estimate1.blade.php | 4 +- .../app/pdf/estimate/estimate2.blade.php | 4 +- .../app/pdf/estimate/estimate3.blade.php | 4 +- .../app/pdf/estimate/partials/table.blade.php | 70 +- .../views/app/pdf/invoice/invoice1.blade.php | 4 +- .../views/app/pdf/invoice/invoice2.blade.php | 4 +- .../views/app/pdf/invoice/invoice3.blade.php | 2 +- .../app/pdf/invoice/partials/table.blade.php | 72 +- .../views/app/pdf/payment/payment.blade.php | 8 +- .../bootstrap-navbar-items.blade.php | 20 + routes/api.php | 537 +- routes/web.php | 55 +- tailwind.config.js | 96 +- tests/Feature/{ => Admin}/BackupTest.php | 2 +- .../{ => Admin}/CompanySettingTest.php | 4 +- tests/Feature/Admin/CompanyTest.php | 69 + tests/Feature/Admin/CurrenciesTest.php | 74 + tests/Feature/{ => Admin}/CustomFieldTest.php | 14 +- tests/Feature/{ => Admin}/CustomerTest.php | 91 +- tests/Feature/{ => Admin}/DashboardTest.php | 2 +- tests/Feature/{ => Admin}/EstimateTest.php | 23 +- tests/Feature/Admin/ExchangeRateProvider.php | 101 + .../{ => Admin}/ExpenseCategoryTest.php | 6 +- tests/Feature/{ => Admin}/ExpenseTest.php | 6 +- tests/Feature/{ => Admin}/FileDiskTest.php | 2 +- tests/Feature/{ => Admin}/InvoiceTest.php | 46 +- tests/Feature/{ => Admin}/ItemTest.php | 6 +- tests/Feature/{ => Admin}/LocationTest.php | 2 +- tests/Feature/{ => Admin}/NextNumberTest.php | 9 +- tests/Feature/{ => Admin}/NotesTest.php | 9 +- .../Feature/{ => Admin}/PaymentMethodTest.php | 10 +- tests/Feature/{ => Admin}/PaymentTest.php | 19 +- tests/Feature/Admin/RecurringInvoiceTest.php | 140 + tests/Feature/{ => Admin}/ReportTest.php | 2 +- tests/Feature/Admin/RetrospectiveEditTest.php | 25 + tests/Feature/Admin/RoleTest.php | 34 + tests/Feature/{ => Admin}/TaxTypeTest.php | 16 +- tests/Feature/{ => Admin}/UnitTest.php | 8 +- tests/Feature/{ => Admin}/UserTest.php | 4 +- tests/Unit/{ => Model}/AddressTest.php | 17 +- tests/Unit/{ => Model}/CompanySettingTest.php | 13 +- tests/Unit/{ => Model}/CompanyTest.php | 23 +- tests/Unit/{ => Model}/CountryTest.php | 11 - tests/Unit/{ => Model}/CustomFieldTest.php | 17 +- .../Unit/{ => Model}/CustomFieldValueTest.php | 11 - tests/Unit/Model/CustomerTest.php | 78 + tests/Unit/{ => Model}/EstimateItemTest.php | 11 - tests/Unit/{ => Model}/EstimateTest.php | 62 +- tests/Unit/Model/ExchangeRateLogTest.php | 26 + .../Unit/{ => Model}/ExpenseCategoryTest.php | 11 - tests/Unit/{ => Model}/ExpenseTest.php | 23 +- tests/Unit/{ => Model}/InvoiceItemTest.php | 11 - tests/Unit/{ => Model}/InvoiceTest.php | 63 +- tests/Unit/{ => Model}/ItemTest.php | 12 - tests/Unit/{ => Model}/PaymentMethodTest.php | 11 - tests/Unit/Model/PaymentTest.php | 29 + tests/Unit/Model/RecurringInvoiceTest.php | 39 + tests/Unit/{ => Model}/SettingTest.php | 23 - tests/Unit/{ => Model}/TaxTest.php | 18 +- tests/Unit/{ => Model}/TaxTypeTest.php | 12 - tests/Unit/{ => Model}/UnitTest.php | 3 +- tests/Unit/{ => Model}/UserTest.php | 44 +- tests/Unit/PaymentTest.php | 73 - tests/Unit/Request/CompaniesTest.php | 50 + tests/Unit/Request/CompanyTest.php | 25 + tests/Unit/Request/CustomerTest.php | 112 +- tests/Unit/Request/EstimateTest.php | 15 +- tests/Unit/Request/ExpenseTest.php | 2 +- tests/Unit/Request/InvoiceTest.php | 15 +- tests/Unit/Request/PaymentMethodTest.php | 4 +- tests/Unit/Request/PaymentTest.php | 7 +- tests/Unit/Request/RecurringInvoiceTest.php | 68 + tests/Unit/Request/UnitTest.php | 4 +- .../Request/UpdateSettingsRequestTest.php | 3 - tsconfig.json | 28 + vite.config.ts | 17 + webpack.mix.js | 32 - yarn.lock | 8688 ++-------- 1253 files changed, 88309 insertions(+), 71741 deletions(-) rename app/Http/Controllers/V1/{ => Admin}/Auth/ConfirmPasswordController.php (95%) rename app/Http/Controllers/V1/{ => Admin}/Auth/ForgotPasswordController.php (96%) rename app/Http/Controllers/V1/{ => Admin}/Auth/LoginController.php (95%) rename app/Http/Controllers/V1/{ => Admin}/Auth/RegisterController.php (97%) rename app/Http/Controllers/V1/{ => Admin}/Auth/ResetPasswordController.php (97%) rename app/Http/Controllers/V1/{ => Admin}/Auth/VerificationController.php (95%) rename app/Http/Controllers/V1/{ => Admin}/Backup/ApiController.php (88%) rename app/Http/Controllers/V1/{ => Admin}/Backup/BackupsController.php (94%) rename app/Http/Controllers/V1/{ => Admin}/Backup/DownloadBackupController.php (94%) create mode 100644 app/Http/Controllers/V1/Admin/Company/CompaniesController.php create mode 100644 app/Http/Controllers/V1/Admin/Company/CompanyController.php rename app/Http/Controllers/V1/{General => Admin/Config}/FiscalYearsController.php (89%) rename app/Http/Controllers/V1/{General => Admin/Config}/LanguagesController.php (89%) rename app/Http/Controllers/V1/{Update/MigrateUpdateController.php => Admin/Config/RetrospectiveEditsController.php} (64%) rename app/Http/Controllers/V1/{ => Admin}/CustomField/CustomFieldsController.php (64%) rename app/Http/Controllers/V1/{ => Admin}/Customer/CustomerStatsController.php (72%) create mode 100644 app/Http/Controllers/V1/Admin/Customer/CustomersController.php create mode 100644 app/Http/Controllers/V1/Admin/Dashboard/DashboardController.php rename app/Http/Controllers/V1/{ => Admin}/Estimate/ChangeEstimateStatusController.php (83%) create mode 100644 app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php create mode 100644 app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php create mode 100644 app/Http/Controllers/V1/Admin/Estimate/EstimatesController.php rename app/Http/Controllers/V1/{ => Admin}/Estimate/SendEstimateController.php (83%) create mode 100644 app/Http/Controllers/V1/Admin/Estimate/SendEstimatePreviewController.php create mode 100644 app/Http/Controllers/V1/Admin/ExchangeRate/ExchangeRateProviderController.php create mode 100644 app/Http/Controllers/V1/Admin/ExchangeRate/GetActiveProviderController.php create mode 100644 app/Http/Controllers/V1/Admin/ExchangeRate/GetExchangeRateController.php create mode 100644 app/Http/Controllers/V1/Admin/ExchangeRate/GetSupportedCurrenciesController.php create mode 100644 app/Http/Controllers/V1/Admin/ExchangeRate/GetUsedCurrenciesController.php rename app/Http/Controllers/V1/{ => Admin}/Expense/ExpenseCategoriesController.php (64%) rename app/Http/Controllers/V1/{ => Admin}/Expense/ExpensesController.php (61%) create mode 100644 app/Http/Controllers/V1/Admin/Expense/ShowReceiptController.php rename app/Http/Controllers/V1/{ => Admin}/Expense/UploadReceiptController.php (83%) create mode 100644 app/Http/Controllers/V1/Admin/General/BootstrapController.php create mode 100644 app/Http/Controllers/V1/Admin/General/BulkExchangeRateController.php create mode 100644 app/Http/Controllers/V1/Admin/General/ConfigController.php rename app/Http/Controllers/V1/{ => Admin}/General/CountriesController.php (66%) rename app/Http/Controllers/V1/{ => Admin}/General/CurrenciesController.php (72%) rename app/Http/Controllers/V1/{ => Admin}/General/DateFormatsController.php (90%) create mode 100644 app/Http/Controllers/V1/Admin/General/GetAllUsedCurrenciesController.php create mode 100644 app/Http/Controllers/V1/Admin/General/NextNumberController.php rename app/Http/Controllers/V1/{ => Admin}/General/NotesController.php (69%) create mode 100644 app/Http/Controllers/V1/Admin/General/NumberPlaceholdersController.php rename app/Http/Controllers/V1/{ => Admin}/General/SearchController.php (63%) create mode 100644 app/Http/Controllers/V1/Admin/General/SearchUsersController.php rename app/Http/Controllers/V1/{ => Admin}/General/TimezonesController.php (89%) rename app/Http/Controllers/V1/{ => Admin}/Invoice/ChangeInvoiceStatusController.php (89%) create mode 100644 app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php create mode 100644 app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php rename app/Http/Controllers/V1/{ => Admin}/Invoice/InvoicesController.php (57%) rename app/Http/Controllers/V1/{ => Admin}/Invoice/SendInvoiceController.php (84%) create mode 100644 app/Http/Controllers/V1/Admin/Invoice/SendInvoicePreviewController.php rename app/Http/Controllers/V1/{ => Admin}/Item/ItemsController.php (69%) rename app/Http/Controllers/V1/{ => Admin}/Item/UnitsController.php (62%) rename app/Http/Controllers/V1/{ => Admin}/Mobile/AuthController.php (79%) rename app/Http/Controllers/V1/{ => Admin}/Payment/PaymentMethodsController.php (70%) rename app/Http/Controllers/V1/{ => Admin}/Payment/PaymentsController.php (50%) rename app/Http/Controllers/V1/{ => Admin}/Payment/SendPaymentController.php (82%) create mode 100644 app/Http/Controllers/V1/Admin/Payment/SendPaymentPreviewController.php create mode 100644 app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceController.php create mode 100644 app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceFrequencyController.php rename app/Http/Controllers/V1/{ => Admin}/Report/CustomerSalesReportController.php (87%) rename app/Http/Controllers/V1/{ => Admin}/Report/ExpensesReportController.php (89%) rename app/Http/Controllers/V1/{ => Admin}/Report/ItemSalesReportController.php (91%) rename app/Http/Controllers/V1/{ => Admin}/Report/ProfitLossReportController.php (88%) rename app/Http/Controllers/V1/{ => Admin}/Report/TaxSummaryReportController.php (89%) create mode 100644 app/Http/Controllers/V1/Admin/Role/AbilitiesController.php create mode 100644 app/Http/Controllers/V1/Admin/Role/RolesController.php rename app/Http/Controllers/V1/{ => Admin}/Settings/CompanyController.php (61%) rename app/Http/Controllers/V1/{ => Admin}/Settings/DiskController.php (83%) create mode 100644 app/Http/Controllers/V1/Admin/Settings/GetCompanyMailConfigurationController.php rename app/Http/Controllers/V1/{ => Admin}/Settings/GetCompanySettingsController.php (91%) rename app/Http/Controllers/V1/{ => Admin}/Settings/GetUserSettingsController.php (84%) rename app/Http/Controllers/V1/{ => Admin}/Settings/MailConfigurationController.php (92%) rename app/Http/Controllers/V1/{ => Admin}/Settings/TaxTypesController.php (64%) rename app/Http/Controllers/V1/{ => Admin}/Settings/UpdateCompanySettingsController.php (77%) rename app/Http/Controllers/V1/{ => Admin}/Settings/UpdateUserSettingsController.php (85%) rename app/Http/Controllers/V1/{ => Admin}/Update/CheckVersionController.php (64%) rename app/Http/Controllers/V1/{ => Admin}/Update/CopyFilesController.php (66%) rename app/Http/Controllers/V1/{ => Admin}/Update/DeleteFilesController.php (66%) rename app/Http/Controllers/V1/{ => Admin}/Update/DownloadUpdateController.php (66%) rename app/Http/Controllers/V1/{ => Admin}/Update/FinishUpdateController.php (66%) create mode 100644 app/Http/Controllers/V1/Admin/Update/MigrateUpdateController.php rename app/Http/Controllers/V1/{ => Admin}/Update/UnzipUpdateController.php (73%) rename app/Http/Controllers/V1/{ => Admin}/Update/UpdateController.php (85%) rename app/Http/Controllers/V1/{ => Admin}/Users/UsersController.php (54%) delete mode 100644 app/Http/Controllers/V1/Customer/CustomersController.php rename app/Http/Controllers/V1/{Mobile => }/Customer/EstimatePdfController.php (88%) rename app/Http/Controllers/V1/{Mobile => }/Customer/InvoicePdfController.php (88%) delete mode 100644 app/Http/Controllers/V1/Dashboard/DashboardChartController.php delete mode 100644 app/Http/Controllers/V1/Dashboard/DashboardController.php delete mode 100644 app/Http/Controllers/V1/Estimate/ConvertEstimateController.php delete mode 100644 app/Http/Controllers/V1/Estimate/EstimateTemplatesController.php delete mode 100644 app/Http/Controllers/V1/Estimate/EstimatesController.php delete mode 100644 app/Http/Controllers/V1/Expense/ShowReceiptController.php delete mode 100644 app/Http/Controllers/V1/General/BootstrapController.php delete mode 100644 app/Http/Controllers/V1/General/NextNumberController.php rename app/Http/Controllers/V1/{Onboarding => Installation}/AppDomainController.php (89%) rename app/Http/Controllers/V1/{Onboarding => Installation}/DatabaseConfigurationController.php (97%) rename app/Http/Controllers/V1/{Onboarding/PermissionsController.php => Installation/FilePermissionsController.php} (74%) mode change 100755 => 100644 rename app/Http/Controllers/V1/{Onboarding => Installation}/FinishController.php (90%) rename app/Http/Controllers/V1/{Onboarding => Installation}/LoginController.php (68%) rename app/Http/Controllers/V1/{Onboarding => Installation}/OnboardingWizardController.php (95%) rename app/Http/Controllers/V1/{Onboarding => Installation}/RequirementsController.php (94%) delete mode 100644 app/Http/Controllers/V1/Invoice/CloneInvoiceController.php delete mode 100644 app/Http/Controllers/V1/Invoice/InvoiceTemplatesController.php create mode 100644 app/Http/Controllers/V1/PDF/DownloadInvoicePdfController.php create mode 100644 app/Http/Controllers/V1/PDF/DownloadPaymentPdfController.php rename app/Http/Controllers/V1/{Expense => PDF}/DownloadReceiptController.php (95%) rename app/Http/Controllers/V1/{Estimate => PDF}/EstimatePdfController.php (89%) rename app/Http/Controllers/V1/{Invoice => PDF}/InvoicePdfController.php (89%) rename app/Http/Controllers/V1/{Payment => PDF}/PaymentPdfController.php (89%) create mode 100644 app/Http/Middleware/CompanyMiddleware.php create mode 100644 app/Http/Middleware/ScopeBouncer.php create mode 100644 app/Http/Requests/BulkExchangeRateRequest.php create mode 100644 app/Http/Requests/CompaniesRequest.php create mode 100644 app/Http/Requests/DeleteUserRequest.php create mode 100644 app/Http/Requests/ExchangeRateLogRequest.php create mode 100644 app/Http/Requests/ExchangeRateProviderRequest.php create mode 100644 app/Http/Requests/LoginRequest.php create mode 100644 app/Http/Requests/RecurringInvoiceRequest.php create mode 100644 app/Http/Requests/RoleRequest.php create mode 100644 app/Http/Resources/AbilityCollection.php create mode 100644 app/Http/Resources/AbilityResource.php create mode 100644 app/Http/Resources/AddressCollection.php create mode 100644 app/Http/Resources/AddressResource.php create mode 100644 app/Http/Resources/CompanyCollection.php create mode 100644 app/Http/Resources/CompanyResource.php create mode 100644 app/Http/Resources/CountryCollection.php create mode 100644 app/Http/Resources/CountryResource.php create mode 100644 app/Http/Resources/CurrencyCollection.php create mode 100644 app/Http/Resources/CurrencyResource.php create mode 100644 app/Http/Resources/CustomFieldCollection.php create mode 100644 app/Http/Resources/CustomFieldResource.php create mode 100644 app/Http/Resources/CustomFieldValueCollection.php create mode 100644 app/Http/Resources/CustomFieldValueResource.php create mode 100644 app/Http/Resources/CustomerCollection.php create mode 100644 app/Http/Resources/CustomerResource.php create mode 100644 app/Http/Resources/EstimateCollection.php create mode 100644 app/Http/Resources/EstimateItemCollection.php create mode 100644 app/Http/Resources/EstimateItemResource.php create mode 100644 app/Http/Resources/EstimateResource.php create mode 100644 app/Http/Resources/ExchangeRateLogCollection.php create mode 100644 app/Http/Resources/ExchangeRateLogResource.php create mode 100644 app/Http/Resources/ExchangeRateProviderCollection.php create mode 100644 app/Http/Resources/ExchangeRateProviderResource.php create mode 100644 app/Http/Resources/ExpenseCategoryCollection.php create mode 100644 app/Http/Resources/ExpenseCategoryResource.php create mode 100644 app/Http/Resources/ExpenseCollection.php create mode 100644 app/Http/Resources/ExpenseResource.php create mode 100644 app/Http/Resources/FileDiskCollection.php create mode 100644 app/Http/Resources/FileDiskResource.php create mode 100644 app/Http/Resources/InvoiceCollection.php create mode 100644 app/Http/Resources/InvoiceItemCollection.php create mode 100644 app/Http/Resources/InvoiceItemResource.php create mode 100644 app/Http/Resources/InvoiceResource.php create mode 100644 app/Http/Resources/ItemCollection.php create mode 100644 app/Http/Resources/ItemResource.php create mode 100644 app/Http/Resources/NoteCollection.php create mode 100644 app/Http/Resources/NoteResource.php create mode 100644 app/Http/Resources/PaymentCollection.php create mode 100644 app/Http/Resources/PaymentMethodCollection.php create mode 100644 app/Http/Resources/PaymentMethodResource.php create mode 100644 app/Http/Resources/PaymentResource.php create mode 100644 app/Http/Resources/RecurringInvoiceCollection.php create mode 100644 app/Http/Resources/RecurringInvoiceResource.php create mode 100644 app/Http/Resources/RoleCollection.php create mode 100644 app/Http/Resources/RoleResource.php create mode 100644 app/Http/Resources/TaxCollection.php create mode 100644 app/Http/Resources/TaxResource.php create mode 100644 app/Http/Resources/TaxTypeCollection.php create mode 100644 app/Http/Resources/TaxTypeResource.php create mode 100644 app/Http/Resources/UnitCollection.php create mode 100644 app/Http/Resources/UnitResource.php create mode 100644 app/Http/Resources/UserCollection.php create mode 100644 app/Http/Resources/UserResource.php create mode 100644 app/Models/Customer.php create mode 100644 app/Models/CustomerFactory.php create mode 100644 app/Models/ExchangeRateLog.php create mode 100644 app/Models/ExchangeRateProvider.php create mode 100644 app/Models/RecurringInvoice.php create mode 100644 app/Policies/CompanyPolicy.php create mode 100644 app/Policies/CustomFieldPolicy.php create mode 100644 app/Policies/CustomerPolicy.php create mode 100644 app/Policies/DashboardPolicy.php create mode 100644 app/Policies/EstimatePolicy.php create mode 100644 app/Policies/ExchangeRateProviderPolicy.php create mode 100644 app/Policies/ExpenseCategoryPolicy.php create mode 100644 app/Policies/ExpensePolicy.php create mode 100644 app/Policies/InvoicePolicy.php create mode 100644 app/Policies/ItemPolicy.php create mode 100644 app/Policies/NotePolicy.php create mode 100644 app/Policies/PaymentMethodPolicy.php create mode 100644 app/Policies/PaymentPolicy.php create mode 100644 app/Policies/RecurringInvoicePolicy.php create mode 100644 app/Policies/ReportPolicy.php create mode 100644 app/Policies/RolePolicy.php create mode 100644 app/Policies/SettingsPolicy.php create mode 100644 app/Policies/TaxTypePolicy.php create mode 100644 app/Policies/UnitPolicy.php create mode 100644 app/Policies/UserPolicy.php delete mode 100644 app/Rules/UniqueNumber.php create mode 100644 app/Services/SerialNumberFormatter.php rename app/Space/{PermissionsChecker.php => FilePermissionChecker.php} (98%) mode change 100755 => 100644 create mode 100644 app/Traits/ExchangeRateProvidersTrait.php create mode 100644 app/Traits/GeneratesMenuTrait.php create mode 100644 config/abilities.php delete mode 100644 config/permission.php create mode 100644 config/vite.php create mode 100644 crater.code-workspace create mode 100644 database/factories/CustomerFactory.php create mode 100644 database/factories/ExchangeRateLogFactory.php create mode 100644 database/factories/ExchangeRateProviderFactory.php create mode 100644 database/factories/RecurringInvoiceFactory.php create mode 100644 database/migrations/2021_06_28_105334_create_bouncer_tables.php create mode 100644 database/migrations/2021_06_28_111647_create_customers_table.php create mode 100644 database/migrations/2021_06_28_120010_add_customer_id_to_estimates_table.php create mode 100644 database/migrations/2021_06_28_120133_add_customer_id_to_expenses_table.php create mode 100644 database/migrations/2021_06_28_120208_add_customer_id_to_invoices_table.php create mode 100644 database/migrations/2021_06_28_120231_add_customer_id_to_payments_table.php create mode 100644 database/migrations/2021_06_29_052745_add_customer_id_to_addresses_table.php create mode 100644 database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php create mode 100644 database/migrations/2021_07_01_060700_create_user_company_table.php create mode 100644 database/migrations/2021_07_05_100256_change_relationship_of_company.php create mode 100644 database/migrations/2021_07_06_070204_add_owner_id_to_companies_table.php create mode 100644 database/migrations/2021_07_08_110940_add_company_to_notes_table.php create mode 100644 database/migrations/2021_07_09_063502_create_recurring_invoices_table.php create mode 100644 database/migrations/2021_07_09_063712_add_recurring_invoice_id_to_invoices_table.php create mode 100644 database/migrations/2021_07_09_063755_add_recurring_invoice_id_to_invoice_items_table.php create mode 100644 database/migrations/2021_07_15_054753_make_due_date_optional_in_invoices_table.php create mode 100644 database/migrations/2021_07_15_054929_make_expiry_date_optional_estimates_table.php create mode 100644 database/migrations/2021_07_16_072458_add_base_columns_into_invoices_table.php create mode 100644 database/migrations/2021_07_16_072925_add_base_columns_into_invoice_items_table.php create mode 100644 database/migrations/2021_07_16_073040_add_base_columns_into_estimates_table.php create mode 100644 database/migrations/2021_07_16_073441_add_base_columns_into_estimate_items_table.php create mode 100644 database/migrations/2021_07_16_074810_add_base_column_into_payments_table.php create mode 100644 database/migrations/2021_07_16_075100_add_base_values_into_taxes_table.php create mode 100644 database/migrations/2021_07_16_080253_add_currency_id_into_invoices_table.php create mode 100644 database/migrations/2021_07_16_080508_add_currency_id_into_payments_table.php create mode 100644 database/migrations/2021_07_16_080611_add_currency_id_into_items_table.php create mode 100644 database/migrations/2021_07_16_080702_add_currency_id_into_taxes_table.php create mode 100644 database/migrations/2021_07_16_112429_add_currency_id_into_estimates_table.php create mode 100644 database/migrations/2021_08_05_103535_create_exchange_rate_logs_table.php create mode 100644 database/migrations/2021_08_16_091413_add_tax_per_item_into_items_table.php create mode 100644 database/migrations/2021_08_19_063244_add_base_columns_to_expense_table.php create mode 100644 database/migrations/2021_09_28_081543_create_exchange_rate_providers_table.php create mode 100644 database/migrations/2021_09_28_130822_add_sequence_column.php create mode 100644 database/migrations/2021_10_06_100539_add_recurring_invoice_id_to_taxes_table.php create mode 100644 database/migrations/2021_11_13_051127_add_payment_method_to_expense_table.php create mode 100644 database/migrations/2021_11_13_114808_calculate_base_values_for_existing_data.php create mode 100644 database/migrations/2021_11_23_092111_add_new_company_settings.php create mode 100644 database/migrations/2021_11_23_093811_update_crater_version_500.php delete mode 100644 database/seeders/DefaultSettingsSeeder.php delete mode 100644 database/seeders/PaymentMethodSeeder.php delete mode 100644 database/seeders/UnitSeeder.php create mode 100644 docker-compose/cron.dockerfile create mode 100644 docker-compose/crontab create mode 100644 package-lock.json create mode 100644 postcss.config.js delete mode 100644 public/assets/css/crater.css delete mode 100644 public/assets/css/crater.css.map delete mode 100644 public/assets/icon/check-circle-solid.svg delete mode 100644 public/assets/icon/envelope-solid.svg delete mode 100644 public/assets/icon/file-alt-solid.svg delete mode 100644 public/assets/icon/paper-plane-solid.svg delete mode 100644 public/assets/icon/times-circle-solid.svg delete mode 100644 public/assets/icon/trash-solid.svg delete mode 100755 public/assets/img/Frame.png delete mode 100644 public/assets/img/Vector-1.png delete mode 100644 public/assets/img/Vector-2.png delete mode 100644 public/assets/img/Vector.png delete mode 100644 public/assets/js/app.js delete mode 100644 public/assets/js/app.js.LICENSE.txt delete mode 100644 public/assets/js/app.js.map delete mode 100644 public/assets/js/pace/pace.js create mode 100644 public/build/assets/404.77adcf05.js create mode 100644 public/build/assets/AccountSetting.1468f1ab.js create mode 100644 public/build/assets/AstronautIcon.e635ccba.js create mode 100644 public/build/assets/BackupSetting.a21a6795.js create mode 100644 public/build/assets/BaseEditor.3f67da30.css create mode 100644 public/build/assets/BaseEditor.ffc4523e.js create mode 100644 public/build/assets/BaseMultiselect.8eaf3494.js create mode 100644 public/build/assets/BaseTable.d3c7fd54.js create mode 100644 public/build/assets/CategoryModal.733ef7b0.js create mode 100644 public/build/assets/CompanyInfoSettings.d9f2a13c.js create mode 100644 public/build/assets/Create.28a22b04.js create mode 100644 public/build/assets/Create.32068c6b.js create mode 100644 public/build/assets/Create.43dad034.js create mode 100644 public/build/assets/Create.7c012c4b.js create mode 100644 public/build/assets/Create.af4a4da5.js create mode 100644 public/build/assets/CreateCustomFields.b4e23995.js create mode 100644 public/build/assets/CustomFieldsSetting.7a5a5091.js create mode 100644 public/build/assets/CustomerIndexDropdown.4b5eb246.js create mode 100644 public/build/assets/CustomizationSetting.eea829f5.js create mode 100644 public/build/assets/Dashboard.8352d9a9.js create mode 100644 public/build/assets/DateTimeType.885ed58f.js create mode 100644 public/build/assets/DateType.7fd6d385.js create mode 100644 public/build/assets/DragIcon.c6971672.js create mode 100644 public/build/assets/DropdownType.84b4a057.js create mode 100644 public/build/assets/EstimateCreate.463610cc.js create mode 100644 public/build/assets/EstimateIndexDropdown.c2226697.js create mode 100644 public/build/assets/ExchangeRateConverter.c7c473de.js create mode 100644 public/build/assets/ExchangeRateProviderSetting.2829fbaf.js create mode 100644 public/build/assets/ExpenseCategorySetting.fdf69fa8.js create mode 100644 public/build/assets/FileDiskSetting.b6edcbef.js create mode 100644 public/build/assets/ForgotPassword.e0c614a2.js create mode 100644 public/build/assets/Index.0dc023a0.js create mode 100644 public/build/assets/Index.4228a38f.js create mode 100644 public/build/assets/Index.78f14ef3.js create mode 100644 public/build/assets/Index.9a6a86d3.js create mode 100644 public/build/assets/Index.b192ff43.js create mode 100644 public/build/assets/Index.e14e4086.js create mode 100644 public/build/assets/Index.e373841e.js create mode 100644 public/build/assets/Index.e62232ca.js create mode 100644 public/build/assets/Index.ef98ab07.js create mode 100644 public/build/assets/InputType.abbc9e84.js create mode 100644 public/build/assets/Installation.0b767174.js create mode 100644 public/build/assets/InvoiceCreate.fd42e21a.js create mode 100644 public/build/assets/InvoiceIndexDropdown.c26f9f0a.js create mode 100644 public/build/assets/ItemModal.18fd3539.js create mode 100644 public/build/assets/ItemUnitModal.c88ac7e5.js create mode 100644 public/build/assets/LayoutInstallation.b7623949.js create mode 100644 public/build/assets/LineChart.fe0d6ac3.js create mode 100644 public/build/assets/LoadingIcon.1d7d9f05.js create mode 100644 public/build/assets/Login.366c8cf6.js create mode 100644 public/build/assets/MailConfigSetting.35936e7e.js create mode 100644 public/build/assets/MoonwalkerIcon.47caa882.js create mode 100644 public/build/assets/NoteModal.13ab9bc5.js create mode 100644 public/build/assets/NoteModal.3245b7d3.css create mode 100644 public/build/assets/NotesSetting.9dc73fb7.js create mode 100644 public/build/assets/NotificationsSetting.a1250a1b.js create mode 100644 public/build/assets/NumberType.bae67e72.js create mode 100644 public/build/assets/PaymentModeModal.512d997d.js create mode 100644 public/build/assets/PaymentsModeSetting.5dcc7449.js create mode 100644 public/build/assets/PhoneType.f1778217.js create mode 100644 public/build/assets/PreferencesSetting.801cc3dc.js create mode 100644 public/build/assets/RecurringInvoiceCreate.da3ce5e0.js create mode 100644 public/build/assets/RecurringInvoiceIndexDropdown.7160d2ee.js create mode 100644 public/build/assets/ResetPassword.b9c54d98.js create mode 100644 public/build/assets/RolesSettings.388a3e79.js create mode 100644 public/build/assets/SelectNotePopup.995cdd69.js create mode 100644 public/build/assets/SendEstimateModal.1c55fd89.js create mode 100644 public/build/assets/SendInvoiceModal.a2b1bc3f.js create mode 100644 public/build/assets/SendPaymentModal.886cb222.js create mode 100644 public/build/assets/SettingsIndex.779523d3.js create mode 100644 public/build/assets/SwitchType.56df61e7.js create mode 100644 public/build/assets/TaxTypeModal.8742b38a.js create mode 100644 public/build/assets/TaxTypesSetting.f192cb93.js create mode 100644 public/build/assets/TextAreaType.a1bccab5.js create mode 100644 public/build/assets/TimeType.82e5beb3.js create mode 100644 public/build/assets/UpdateAppSetting.399d3f8e.js create mode 100644 public/build/assets/UpdateAppSetting.7d8b987a.css create mode 100644 public/build/assets/UrlType.803fb838.js create mode 100644 public/build/assets/View.169b4319.js create mode 100644 public/build/assets/View.23b93921.js create mode 100644 public/build/assets/View.be1a0654.js create mode 100644 public/build/assets/View.c5c6af40.js create mode 100644 public/build/assets/View.ef8bc3aa.js create mode 100644 public/build/assets/main.9108b649.css create mode 100644 public/build/assets/main.d8ec3f25.js create mode 100644 public/build/assets/vendor.e9042f2c.js create mode 100644 public/build/fonts/Poppins-Black.ttf create mode 100644 public/build/fonts/Poppins-Light.ttf create mode 100644 public/build/fonts/Poppins-Medium.ttf create mode 100644 public/build/fonts/Poppins-Regular.ttf create mode 100644 public/build/fonts/Poppins-SemiBold.ttf rename public/{assets => build}/img/PDF/estimate1.png (100%) rename public/{assets => build}/img/PDF/estimate2.png (100%) rename public/{assets => build}/img/PDF/estimate3.png (100%) rename public/{assets => build}/img/PDF/invoice1.png (100%) rename public/{assets => build}/img/PDF/invoice2.png (100%) rename public/{assets => build}/img/PDF/invoice3.png (100%) create mode 100644 public/build/img/c-mobile.png rename public/{assets => build}/img/crater-logo.png (100%) rename public/{assets => build}/img/crater-white-small.png (100%) rename public/{images => build/img}/default-avatar.jpg (100%) rename public/{images => build/img/login}/frame.svg (100%) rename public/{images => build/img/login}/login-vector1.svg (100%) rename public/{images => build/img/login}/login-vector2.svg (100%) rename public/{images => build/img/login}/login-vector3.svg (100%) rename public/{assets => build}/img/logo-white.png (100%) rename public/{assets => build}/img/tick.png (100%) create mode 100644 public/build/manifest.json rename public/{assets/img => }/favicons/android-chrome-192x192.png (100%) rename public/{assets/img => }/favicons/android-chrome-256x256.png (100%) rename public/{assets/img => }/favicons/apple-touch-icon.png (100%) rename public/{assets/img => }/favicons/browserconfig.xml (70%) rename public/{assets/img => }/favicons/favicon-16x16.png (100%) rename public/{assets/img => }/favicons/favicon-32x32.png (100%) rename public/{assets/img => }/favicons/favicon.ico (100%) rename public/{assets/img => }/favicons/mstile-150x150.png (100%) rename public/{assets/img => }/favicons/safari-pinned-tab.svg (100%) rename public/{assets/img => }/favicons/site.webmanifest (69%) delete mode 100644 public/images/avatar.png delete mode 100644 public/mix-manifest.json delete mode 100644 resources/assets/js/app.js delete mode 100644 resources/assets/js/bootstrap.js delete mode 100644 resources/assets/js/components/GlobalSearch.vue delete mode 100644 resources/assets/js/components/base/BaseCustomInput.vue delete mode 100644 resources/assets/js/components/base/BaseCustomerSelect.vue delete mode 100644 resources/assets/js/components/base/BaseDatePicker.vue delete mode 100644 resources/assets/js/components/base/BaseLoader.vue delete mode 100644 resources/assets/js/components/base/BaseNotification.vue delete mode 100644 resources/assets/js/components/base/BasePage.vue delete mode 100644 resources/assets/js/components/base/BaseTimePicker.vue delete mode 100755 resources/assets/js/components/base/base-select/BaseSelect.vue delete mode 100755 resources/assets/js/components/base/base-select/index.js delete mode 100755 resources/assets/js/components/base/base-select/multiselectMixin.js delete mode 100755 resources/assets/js/components/base/base-select/pointerMixin.js delete mode 100644 resources/assets/js/components/base/index.js delete mode 100644 resources/assets/js/components/base/modal/BackupModal.vue delete mode 100644 resources/assets/js/components/base/modal/BaseModal.vue delete mode 100644 resources/assets/js/components/base/modal/CategoryModal.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/Index.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/DateTimeType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/DateType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/DropdownType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/InputType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/NumberType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/OptionsCreate.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/PhoneType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/SwitchType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/TextAreaType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/TimeType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomField/types/UrlType.vue delete mode 100644 resources/assets/js/components/base/modal/CustomerModal.vue delete mode 100644 resources/assets/js/components/base/modal/EstimateTemplate.vue delete mode 100644 resources/assets/js/components/base/modal/FileDiskModal.vue delete mode 100644 resources/assets/js/components/base/modal/InvoiceTemplate.vue delete mode 100644 resources/assets/js/components/base/modal/ItemModal.vue delete mode 100755 resources/assets/js/components/base/modal/ItemUnitModal.vue delete mode 100644 resources/assets/js/components/base/modal/MailTestModal.vue delete mode 100755 resources/assets/js/components/base/modal/NoteModal.vue delete mode 100755 resources/assets/js/components/base/modal/PaymentModeModal.vue delete mode 100644 resources/assets/js/components/base/modal/SendEstimateModal.vue delete mode 100644 resources/assets/js/components/base/modal/SendInvoiceModal.vue delete mode 100644 resources/assets/js/components/base/modal/SendPaymentModal.vue delete mode 100644 resources/assets/js/components/base/modal/SetDefaultDiskModal.vue delete mode 100644 resources/assets/js/components/base/modal/TaxTypeModal.vue delete mode 100644 resources/assets/js/components/base/modal/disks/DoSpacesDisk.vue delete mode 100644 resources/assets/js/components/base/modal/disks/DropboxDisk.vue delete mode 100644 resources/assets/js/components/base/modal/disks/LocalDisk.vue delete mode 100644 resources/assets/js/components/base/modal/disks/S3Disk.vue delete mode 100644 resources/assets/js/components/base/popup/CustomerSelectPopup.vue delete mode 100644 resources/assets/js/components/base/popup/NoteSelectPopup.vue delete mode 100644 resources/assets/js/components/base/popup/TaxSelectPopup.vue delete mode 100644 resources/assets/js/components/base/theme/BaseSelect.js delete mode 100644 resources/assets/js/components/base/theme/DatePicker.js delete mode 100644 resources/assets/js/components/base/theme/index.js delete mode 100644 resources/assets/js/components/chartjs/LineChart.vue delete mode 100644 resources/assets/js/components/custom-fields/DateField.vue delete mode 100644 resources/assets/js/components/custom-fields/DateTimeField.vue delete mode 100644 resources/assets/js/components/custom-fields/DropdownField.vue delete mode 100644 resources/assets/js/components/custom-fields/InputField.vue delete mode 100644 resources/assets/js/components/custom-fields/NumberField.vue delete mode 100644 resources/assets/js/components/custom-fields/PhoneField.vue delete mode 100644 resources/assets/js/components/custom-fields/SwitchField.vue delete mode 100644 resources/assets/js/components/custom-fields/TextAreaField.vue delete mode 100644 resources/assets/js/components/custom-fields/TimeField.vue delete mode 100644 resources/assets/js/components/custom-fields/UrlField.vue delete mode 100644 resources/assets/js/components/icon/DotIcon.vue delete mode 100644 resources/assets/js/components/icon/facebook.vue delete mode 100644 resources/assets/js/components/icon/google.vue delete mode 100644 resources/assets/js/components/icon/icon.vue delete mode 100644 resources/assets/js/components/icon/twitter.vue delete mode 100644 resources/assets/js/components/icon/upload.vue delete mode 100644 resources/assets/js/components/settings/MailSettings.vue delete mode 100644 resources/assets/js/components/theme/SwBadge.js delete mode 100644 resources/assets/js/components/theme/SwButton.js delete mode 100644 resources/assets/js/components/theme/SwCard.js delete mode 100644 resources/assets/js/components/theme/SwDropdown.js delete mode 100644 resources/assets/js/components/theme/SwFilterWrapper.js delete mode 100644 resources/assets/js/components/theme/SwInput.js delete mode 100644 resources/assets/js/components/theme/SwList.js delete mode 100644 resources/assets/js/components/theme/SwModal.js delete mode 100644 resources/assets/js/components/theme/SwPopup.js delete mode 100644 resources/assets/js/components/theme/SwRadio.js delete mode 100644 resources/assets/js/components/theme/SwSwitch.js delete mode 100644 resources/assets/js/components/theme/SwTable.js delete mode 100644 resources/assets/js/components/theme/SwTextarea.js delete mode 100644 resources/assets/js/components/theme/SwWizard.js delete mode 100644 resources/assets/js/components/theme/index.js delete mode 100644 resources/assets/js/helpers/directives.js delete mode 100644 resources/assets/js/mixins/customFields.js delete mode 100644 resources/assets/js/plugins/fa.json delete mode 100644 resources/assets/js/plugins/fi.json delete mode 100644 resources/assets/js/plugins/hi.json delete mode 100644 resources/assets/js/plugins/ja.json delete mode 100644 resources/assets/js/plugins/ko.json delete mode 100644 resources/assets/js/plugins/ru.json delete mode 100644 resources/assets/js/plugins/tr.json delete mode 100644 resources/assets/js/plugins/zh.json delete mode 100644 resources/assets/js/router.js delete mode 100644 resources/assets/js/store/actions.js delete mode 100644 resources/assets/js/store/getters.js delete mode 100644 resources/assets/js/store/index.js delete mode 100644 resources/assets/js/store/modules/auth/actions.js delete mode 100644 resources/assets/js/store/modules/auth/getters.js delete mode 100644 resources/assets/js/store/modules/auth/index.js delete mode 100644 resources/assets/js/store/modules/auth/mutation-types.js delete mode 100644 resources/assets/js/store/modules/auth/mutations.js delete mode 100644 resources/assets/js/store/modules/backup/actions.js delete mode 100644 resources/assets/js/store/modules/backup/getters.js delete mode 100644 resources/assets/js/store/modules/backup/index.js delete mode 100644 resources/assets/js/store/modules/backup/mutation-types.js delete mode 100644 resources/assets/js/store/modules/backup/mutations.js delete mode 100644 resources/assets/js/store/modules/category/actions.js delete mode 100644 resources/assets/js/store/modules/category/getters.js delete mode 100644 resources/assets/js/store/modules/category/index.js delete mode 100644 resources/assets/js/store/modules/category/mutation-types.js delete mode 100644 resources/assets/js/store/modules/category/mutations.js delete mode 100644 resources/assets/js/store/modules/company/actions.js delete mode 100644 resources/assets/js/store/modules/company/getters.js delete mode 100644 resources/assets/js/store/modules/company/index.js delete mode 100644 resources/assets/js/store/modules/company/mutation-types.js delete mode 100644 resources/assets/js/store/modules/company/mutations.js delete mode 100644 resources/assets/js/store/modules/custom-field/actions.js delete mode 100644 resources/assets/js/store/modules/custom-field/getters.js delete mode 100644 resources/assets/js/store/modules/custom-field/index.js delete mode 100644 resources/assets/js/store/modules/custom-field/mutation-types.js delete mode 100644 resources/assets/js/store/modules/custom-field/mutations.js delete mode 100644 resources/assets/js/store/modules/customer/actions.js delete mode 100644 resources/assets/js/store/modules/customer/getters.js delete mode 100644 resources/assets/js/store/modules/customer/index.js delete mode 100644 resources/assets/js/store/modules/customer/mutation-types.js delete mode 100644 resources/assets/js/store/modules/customer/mutations.js delete mode 100644 resources/assets/js/store/modules/dashboard/actions.js delete mode 100644 resources/assets/js/store/modules/dashboard/getters.js delete mode 100644 resources/assets/js/store/modules/dashboard/index.js delete mode 100644 resources/assets/js/store/modules/dashboard/mutation-types.js delete mode 100644 resources/assets/js/store/modules/dashboard/mutations.js delete mode 100644 resources/assets/js/store/modules/disk/actions.js delete mode 100644 resources/assets/js/store/modules/disk/getters.js delete mode 100644 resources/assets/js/store/modules/disk/index.js delete mode 100644 resources/assets/js/store/modules/disk/mutation-types.js delete mode 100644 resources/assets/js/store/modules/disk/mutations.js delete mode 100644 resources/assets/js/store/modules/estimate-template/actions.js delete mode 100644 resources/assets/js/store/modules/estimate-template/getters.js delete mode 100644 resources/assets/js/store/modules/estimate-template/index.js delete mode 100644 resources/assets/js/store/modules/estimate-template/mutation-types.js delete mode 100644 resources/assets/js/store/modules/estimate-template/mutations.js delete mode 100644 resources/assets/js/store/modules/estimate/actions.js delete mode 100644 resources/assets/js/store/modules/estimate/getters.js delete mode 100644 resources/assets/js/store/modules/estimate/index.js delete mode 100644 resources/assets/js/store/modules/estimate/mutation-types.js delete mode 100644 resources/assets/js/store/modules/estimate/mutations.js delete mode 100644 resources/assets/js/store/modules/expense/actions.js delete mode 100644 resources/assets/js/store/modules/expense/getters.js delete mode 100644 resources/assets/js/store/modules/expense/index.js delete mode 100644 resources/assets/js/store/modules/expense/mutation-types.js delete mode 100644 resources/assets/js/store/modules/expense/mutations.js delete mode 100644 resources/assets/js/store/modules/invoice-template/actions.js delete mode 100644 resources/assets/js/store/modules/invoice-template/getters.js delete mode 100644 resources/assets/js/store/modules/invoice-template/index.js delete mode 100644 resources/assets/js/store/modules/invoice-template/mutation-types.js delete mode 100644 resources/assets/js/store/modules/invoice-template/mutations.js delete mode 100644 resources/assets/js/store/modules/invoice/actions.js delete mode 100644 resources/assets/js/store/modules/invoice/getters.js delete mode 100644 resources/assets/js/store/modules/invoice/index.js delete mode 100644 resources/assets/js/store/modules/invoice/mutation-types.js delete mode 100644 resources/assets/js/store/modules/invoice/mutations.js delete mode 100644 resources/assets/js/store/modules/item/actions.js delete mode 100644 resources/assets/js/store/modules/item/getters.js delete mode 100644 resources/assets/js/store/modules/item/index.js delete mode 100644 resources/assets/js/store/modules/item/mutation-types.js delete mode 100644 resources/assets/js/store/modules/item/mutations.js delete mode 100644 resources/assets/js/store/modules/modal/actions.js delete mode 100644 resources/assets/js/store/modules/modal/getters.js delete mode 100644 resources/assets/js/store/modules/modal/index.js delete mode 100644 resources/assets/js/store/modules/modal/mutation-types.js delete mode 100644 resources/assets/js/store/modules/modal/mutations.js delete mode 100644 resources/assets/js/store/modules/notes/actions.js delete mode 100644 resources/assets/js/store/modules/notes/getters.js delete mode 100644 resources/assets/js/store/modules/notes/index.js delete mode 100644 resources/assets/js/store/modules/notes/mutation-types.js delete mode 100644 resources/assets/js/store/modules/notes/mutations.js delete mode 100644 resources/assets/js/store/modules/notification/actions.js delete mode 100644 resources/assets/js/store/modules/notification/getters.js delete mode 100644 resources/assets/js/store/modules/notification/index.js delete mode 100644 resources/assets/js/store/modules/notification/mutation-types.js delete mode 100644 resources/assets/js/store/modules/notification/mutations.js delete mode 100644 resources/assets/js/store/modules/payment/actions.js delete mode 100644 resources/assets/js/store/modules/payment/getters.js delete mode 100644 resources/assets/js/store/modules/payment/index.js delete mode 100644 resources/assets/js/store/modules/payment/mutation-types.js delete mode 100644 resources/assets/js/store/modules/payment/mutations.js delete mode 100644 resources/assets/js/store/modules/search/actions.js delete mode 100644 resources/assets/js/store/modules/search/getters.js delete mode 100644 resources/assets/js/store/modules/search/index.js delete mode 100644 resources/assets/js/store/modules/search/mutation-types.js delete mode 100644 resources/assets/js/store/modules/search/mutations.js delete mode 100644 resources/assets/js/store/modules/tax-type/actions.js delete mode 100644 resources/assets/js/store/modules/tax-type/getters.js delete mode 100644 resources/assets/js/store/modules/tax-type/index.js delete mode 100644 resources/assets/js/store/modules/tax-type/mutation-types.js delete mode 100644 resources/assets/js/store/modules/tax-type/mutations.js delete mode 100644 resources/assets/js/store/modules/user/actions.js delete mode 100644 resources/assets/js/store/modules/user/getters.js delete mode 100644 resources/assets/js/store/modules/user/index.js delete mode 100644 resources/assets/js/store/modules/user/mutation-types.js delete mode 100644 resources/assets/js/store/modules/user/mutations.js delete mode 100644 resources/assets/js/store/modules/users/actions.js delete mode 100644 resources/assets/js/store/modules/users/getters.js delete mode 100644 resources/assets/js/store/modules/users/index.js delete mode 100644 resources/assets/js/store/modules/users/mutation-types.js delete mode 100644 resources/assets/js/store/modules/users/mutations.js delete mode 100644 resources/assets/js/store/mutation-types.js delete mode 100644 resources/assets/js/store/mutations.js delete mode 100644 resources/assets/js/views/auth/ForgotPassword.vue delete mode 100644 resources/assets/js/views/auth/Login.vue delete mode 100644 resources/assets/js/views/auth/Register.vue delete mode 100644 resources/assets/js/views/auth/ResetPassword.vue delete mode 100644 resources/assets/js/views/customers/Create.vue delete mode 100644 resources/assets/js/views/customers/Index.vue delete mode 100644 resources/assets/js/views/customers/View.vue delete mode 100644 resources/assets/js/views/customers/partials/CustomerChart.vue delete mode 100644 resources/assets/js/views/customers/partials/CustomerInfo.vue delete mode 100644 resources/assets/js/views/customers/partials/CustomerViewSidebar.vue delete mode 100644 resources/assets/js/views/dashboard/Dashboard.vue delete mode 100644 resources/assets/js/views/dashboard/DashboardChart.vue delete mode 100644 resources/assets/js/views/dashboard/DashboardStats.vue delete mode 100644 resources/assets/js/views/dashboard/DashboardTable.vue delete mode 100644 resources/assets/js/views/errors/404.vue delete mode 100644 resources/assets/js/views/estimates/Create.vue delete mode 100644 resources/assets/js/views/estimates/CustomerSelect.vue delete mode 100644 resources/assets/js/views/estimates/EstimateTax.vue delete mode 100644 resources/assets/js/views/estimates/Index.vue delete mode 100644 resources/assets/js/views/estimates/Item.vue delete mode 100644 resources/assets/js/views/estimates/ItemSelect.vue delete mode 100644 resources/assets/js/views/estimates/Tax.vue delete mode 100644 resources/assets/js/views/estimates/View.vue delete mode 100644 resources/assets/js/views/expenses/Create.vue delete mode 100644 resources/assets/js/views/expenses/Index.vue delete mode 100644 resources/assets/js/views/invoices/Create.vue delete mode 100644 resources/assets/js/views/invoices/CustomerSelect.vue delete mode 100644 resources/assets/js/views/invoices/Index.vue delete mode 100644 resources/assets/js/views/invoices/InvoiceTax.vue delete mode 100644 resources/assets/js/views/invoices/Item.vue delete mode 100644 resources/assets/js/views/invoices/ItemSelect.vue delete mode 100644 resources/assets/js/views/invoices/Tax.vue delete mode 100644 resources/assets/js/views/invoices/View.vue delete mode 100644 resources/assets/js/views/items/Create.vue delete mode 100644 resources/assets/js/views/items/Index.vue delete mode 100644 resources/assets/js/views/layouts/LayoutBasic.vue delete mode 100644 resources/assets/js/views/layouts/LayoutLogin.vue delete mode 100644 resources/assets/js/views/layouts/LayoutWizard.vue delete mode 100644 resources/assets/js/views/layouts/partials/TheSiteFooter.vue delete mode 100644 resources/assets/js/views/layouts/partials/TheSiteHeader.vue delete mode 100644 resources/assets/js/views/layouts/partials/TheSiteSidebar.vue delete mode 100644 resources/assets/js/views/payments/Create.vue delete mode 100644 resources/assets/js/views/payments/Index.vue delete mode 100644 resources/assets/js/views/payments/View.vue delete mode 100644 resources/assets/js/views/reports/ExpensesReport.vue delete mode 100644 resources/assets/js/views/reports/ProfitLossReport.vue delete mode 100644 resources/assets/js/views/reports/SalesReports.vue delete mode 100644 resources/assets/js/views/reports/TaxReport.vue delete mode 100644 resources/assets/js/views/reports/layout/Index.vue delete mode 100644 resources/assets/js/views/settings/BackupSetting.vue delete mode 100644 resources/assets/js/views/settings/CompanyInfoSetting.vue delete mode 100644 resources/assets/js/views/settings/CustomFieldsSetting.vue delete mode 100644 resources/assets/js/views/settings/CustomizationSetting.vue delete mode 100644 resources/assets/js/views/settings/ExpenseCategorySetting.vue delete mode 100644 resources/assets/js/views/settings/FileDiskSetting.vue delete mode 100644 resources/assets/js/views/settings/MailConfigSetting.vue delete mode 100644 resources/assets/js/views/settings/NotesSetting.vue delete mode 100644 resources/assets/js/views/settings/NotificationsSetting.vue delete mode 100644 resources/assets/js/views/settings/PaymentsModeSetting.vue delete mode 100644 resources/assets/js/views/settings/PreferencesSetting.vue delete mode 100644 resources/assets/js/views/settings/SettingsIndex.vue delete mode 100644 resources/assets/js/views/settings/TaxTypesSetting.vue delete mode 100644 resources/assets/js/views/settings/UpdateAppSetting.vue delete mode 100644 resources/assets/js/views/settings/UserProfileSetting.vue delete mode 100644 resources/assets/js/views/settings/customization-tabs/AddressTab.vue delete mode 100644 resources/assets/js/views/settings/customization-tabs/EstimatesTab.vue delete mode 100644 resources/assets/js/views/settings/customization-tabs/InvoicesTab.vue delete mode 100644 resources/assets/js/views/settings/customization-tabs/ItemsTab.vue delete mode 100644 resources/assets/js/views/settings/customization-tabs/PaymentsTab.vue delete mode 100644 resources/assets/js/views/settings/mail-driver/BasicMailDriver.vue delete mode 100644 resources/assets/js/views/settings/mail-driver/MailgunMailDriver.vue delete mode 100644 resources/assets/js/views/settings/mail-driver/SesMailDriver.vue delete mode 100644 resources/assets/js/views/settings/mail-driver/SmtpMailDriver.vue delete mode 100644 resources/assets/js/views/users/Create.vue delete mode 100644 resources/assets/js/views/users/Index.vue delete mode 100644 resources/assets/js/views/wizard/Wizard.vue delete mode 100644 resources/assets/js/views/wizard/WizardCompanyInfoStep.vue delete mode 100644 resources/assets/js/views/wizard/WizardDatabaseStep.vue delete mode 100644 resources/assets/js/views/wizard/WizardEmailConfigStep.vue delete mode 100644 resources/assets/js/views/wizard/WizardPermissionStep.vue delete mode 100644 resources/assets/js/views/wizard/WizardSettingsStep.vue delete mode 100644 resources/assets/js/views/wizard/WizardSystemRequirementStep.vue delete mode 100644 resources/assets/js/views/wizard/WizardUserProfileStep.vue delete mode 100644 resources/assets/js/views/wizard/WizardVerifyDomainStep.vue delete mode 100644 resources/assets/js/views/wizard/database/MysqlDatabase.vue delete mode 100644 resources/assets/js/views/wizard/database/PgsqlDatabase.vue delete mode 100644 resources/assets/js/views/wizard/database/SqliteDatabase.vue delete mode 100644 resources/assets/js/views/wizard/mail-driver/BasicMailDriver.vue delete mode 100644 resources/assets/js/views/wizard/mail-driver/MailgunMailDriver.vue delete mode 100644 resources/assets/js/views/wizard/mail-driver/SesMailDriver.vue delete mode 100644 resources/assets/js/views/wizard/mail-driver/SmtpMailDriver.vue delete mode 100644 resources/assets/sass/crater.scss rename resources/{assets => }/sass/components/animation.scss (100%) rename resources/{assets => }/sass/components/pace-loader.scss (100%) rename resources/{assets => }/sass/components/v-tooltips.scss (100%) create mode 100644 resources/sass/crater.scss create mode 100644 resources/scripts/App.vue create mode 100644 resources/scripts/Crater.js create mode 100644 resources/scripts/components/CompanySwitcher.vue create mode 100644 resources/scripts/components/GlobalSearchBar.vue rename resources/{assets/js/components/icon => scripts/components}/SatelliteIcon.vue (100%) create mode 100644 resources/scripts/components/SelectNotePopup.vue create mode 100644 resources/scripts/components/base-select/BaseMultiselect.d.ts create mode 100755 resources/scripts/components/base-select/BaseMultiselect.vue create mode 100644 resources/scripts/components/base-select/composables/useClasses.js create mode 100644 resources/scripts/components/base-select/composables/useData.js create mode 100644 resources/scripts/components/base-select/composables/useDropdown.js create mode 100644 resources/scripts/components/base-select/composables/useKeyboard.js create mode 100644 resources/scripts/components/base-select/composables/useMultiselect.js create mode 100644 resources/scripts/components/base-select/composables/useOptions.js create mode 100644 resources/scripts/components/base-select/composables/usePointer.js create mode 100644 resources/scripts/components/base-select/composables/usePointerAction.js create mode 100644 resources/scripts/components/base-select/composables/useSearch.js create mode 100644 resources/scripts/components/base-select/composables/useValue.js create mode 100644 resources/scripts/components/base-select/index.d.ts create mode 100644 resources/scripts/components/base-select/utils/arraysEqual.js create mode 100644 resources/scripts/components/base-select/utils/isNullish.js create mode 100644 resources/scripts/components/base-select/utils/isObject.js create mode 100644 resources/scripts/components/base-select/utils/normalize.js create mode 100644 resources/scripts/components/base/BaseBadge.vue create mode 100644 resources/scripts/components/base/BaseBreadcrumb.vue create mode 100644 resources/scripts/components/base/BaseBreadcrumbItem.vue create mode 100644 resources/scripts/components/base/BaseButton.vue create mode 100644 resources/scripts/components/base/BaseCard.vue create mode 100644 resources/scripts/components/base/BaseCheckbox.vue create mode 100644 resources/scripts/components/base/BaseContentPlaceholders.vue create mode 100644 resources/scripts/components/base/BaseContentPlaceholdersBox.vue create mode 100644 resources/scripts/components/base/BaseContentPlaceholdersHeading.vue create mode 100644 resources/scripts/components/base/BaseContentPlaceholdersText.vue create mode 100644 resources/scripts/components/base/BaseCustomInput.vue create mode 100644 resources/scripts/components/base/BaseCustomTag.vue create mode 100644 resources/scripts/components/base/BaseCustomerAddressDisplay.vue create mode 100644 resources/scripts/components/base/BaseCustomerSelectInput.vue create mode 100644 resources/scripts/components/base/BaseCustomerSelectPopup.vue create mode 100644 resources/scripts/components/base/BaseDatePicker.vue create mode 100644 resources/scripts/components/base/BaseDescriptionList.vue create mode 100644 resources/scripts/components/base/BaseDescriptionListItem.vue create mode 100644 resources/scripts/components/base/BaseDialog.vue create mode 100644 resources/scripts/components/base/BaseDivider.vue create mode 100644 resources/scripts/components/base/BaseDropdown.vue create mode 100644 resources/scripts/components/base/BaseDropdownItem.vue create mode 100644 resources/scripts/components/base/BaseEmptyPlaceholder.vue create mode 100644 resources/scripts/components/base/BaseErrorAlert.vue create mode 100644 resources/scripts/components/base/BaseEstimateStatusBadge.vue create mode 100644 resources/scripts/components/base/BaseFileUploader.vue create mode 100644 resources/scripts/components/base/BaseFilterWrapper.vue create mode 100644 resources/scripts/components/base/BaseFormatMoney.vue create mode 100644 resources/scripts/components/base/BaseGlobalLoader.vue create mode 100644 resources/scripts/components/base/BaseHeading.vue create mode 100644 resources/scripts/components/base/BaseIcon.vue create mode 100644 resources/scripts/components/base/BaseInfoAlert.vue create mode 100644 resources/scripts/components/base/BaseInput.vue create mode 100644 resources/scripts/components/base/BaseInputGrid.vue create mode 100644 resources/scripts/components/base/BaseInputGroup.vue create mode 100644 resources/scripts/components/base/BaseInvoiceStatusBadge.vue create mode 100644 resources/scripts/components/base/BaseItemSelect.vue create mode 100644 resources/scripts/components/base/BaseLabel.vue create mode 100644 resources/scripts/components/base/BaseModal.vue create mode 100644 resources/scripts/components/base/BaseMoney.vue create mode 100644 resources/scripts/components/base/BaseNewBadge.vue create mode 100644 resources/scripts/components/base/BasePage.vue create mode 100644 resources/scripts/components/base/BasePageHeader.vue create mode 100644 resources/scripts/components/base/BasePaidStatusBadge.vue create mode 100644 resources/scripts/components/base/BaseRadio.vue create mode 100644 resources/scripts/components/base/BaseRecurringInvoiceStatusBadge.vue create mode 100644 resources/scripts/components/base/BaseScrollPane.vue create mode 100644 resources/scripts/components/base/BaseSelectAction.vue create mode 100644 resources/scripts/components/base/BaseSelectInput.vue create mode 100644 resources/scripts/components/base/BaseSettingCard.vue create mode 100644 resources/scripts/components/base/BaseSwitch.vue create mode 100644 resources/scripts/components/base/BaseSwitchSection.vue create mode 100644 resources/scripts/components/base/BaseTab.vue create mode 100644 resources/scripts/components/base/BaseTabGroup.vue create mode 100644 resources/scripts/components/base/BaseTextarea.vue create mode 100644 resources/scripts/components/base/BaseTimePicker.vue create mode 100644 resources/scripts/components/base/BaseWizard.vue create mode 100644 resources/scripts/components/base/BaseWizardNavigation.vue create mode 100644 resources/scripts/components/base/BaseWizardStep.vue create mode 100644 resources/scripts/components/base/base-editor/BaseEditor.vue create mode 100644 resources/scripts/components/base/base-editor/icons/BoldIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/CodeBlockIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/CodingIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/ItalicIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/ListIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/ListUlIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/ParagraphIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/QuoteIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/RedoIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/StrikethroughIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/UnderlineIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/UndoIcon.vue create mode 100644 resources/scripts/components/base/base-editor/icons/index.js create mode 100644 resources/scripts/components/base/base-table/BaseTable.vue create mode 100644 resources/scripts/components/base/base-table/BaseTablePagination.vue create mode 100644 resources/scripts/components/base/base-table/Column.js create mode 100644 resources/scripts/components/base/base-table/Row.js create mode 100644 resources/scripts/components/base/base-table/helpers.js create mode 100644 resources/scripts/components/charts/LineChart.vue create mode 100644 resources/scripts/components/currency-exchange-rate/ExchangeRateBulkUpdate.vue create mode 100644 resources/scripts/components/custom-fields/CreateCustomFields.vue create mode 100644 resources/scripts/components/custom-fields/CreateCustomFieldsSingle.vue create mode 100644 resources/scripts/components/custom-fields/types/DateTimeType.vue create mode 100644 resources/scripts/components/custom-fields/types/DateType.vue create mode 100644 resources/scripts/components/custom-fields/types/DropdownType.vue create mode 100644 resources/scripts/components/custom-fields/types/InputType.vue create mode 100644 resources/scripts/components/custom-fields/types/NumberType.vue create mode 100644 resources/scripts/components/custom-fields/types/PhoneType.vue create mode 100644 resources/scripts/components/custom-fields/types/SwitchType.vue create mode 100644 resources/scripts/components/custom-fields/types/TextAreaType.vue create mode 100644 resources/scripts/components/custom-fields/types/TimeType.vue create mode 100644 resources/scripts/components/custom-fields/types/UrlType.vue create mode 100644 resources/scripts/components/dropdowns/CustomFieldIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/CustomerIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/EstimateIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/ExpenseCategoryIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/ExpenseIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/InvoiceIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/ItemIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/NoteIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/PaymentIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/PaymentModeIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/RecurringInvoiceIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/RoleIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/TaxTypeIndexDropdown.vue create mode 100644 resources/scripts/components/dropdowns/UserIndexDropdown.vue create mode 100644 resources/scripts/components/estimate-invoice-common/CreateItemRow.vue create mode 100644 resources/scripts/components/estimate-invoice-common/CreateItemRowTax.vue create mode 100644 resources/scripts/components/estimate-invoice-common/CreateItems.vue create mode 100644 resources/scripts/components/estimate-invoice-common/CreateNotesField.vue create mode 100644 resources/scripts/components/estimate-invoice-common/CreateTotal.vue create mode 100644 resources/scripts/components/estimate-invoice-common/CreateTotalTaxes.vue create mode 100644 resources/scripts/components/estimate-invoice-common/ExchangeRateConverter.vue create mode 100644 resources/scripts/components/estimate-invoice-common/SelectTaxPopup.vue create mode 100644 resources/scripts/components/estimate-invoice-common/SelectTemplateButton.vue rename resources/{assets/js/components/icon => scripts/components/icons}/DragIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons}/LoadingIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons}/SaveIcon.vue (100%) create mode 100644 resources/scripts/components/icons/SpinnerIcon.vue rename resources/{assets/js/components/icon/ContactIcon.vue => scripts/components/icons/dashboard/CustomerIcon.vue} (100%) rename resources/{assets/js/components/icon => scripts/components/icons/dashboard}/DollarIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons/dashboard}/EstimateIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons/dashboard}/InvoiceIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons/empty}/AstronautIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons/empty}/CapsuleIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons/empty}/MoonwalkerIcon.vue (100%) rename resources/{assets/js/components/icon => scripts/components/icons/empty}/ObservatoryIcon.vue (100%) create mode 100644 resources/scripts/components/icons/empty/SatelliteIcon.vue rename resources/{assets/js/components/icon/UfoIcon.vue => scripts/components/icons/empty/UFOIcon.vue} (79%) create mode 100644 resources/scripts/components/list/BaseList.vue create mode 100644 resources/scripts/components/list/BaseListItem.vue create mode 100644 resources/scripts/components/modal-components/BackupModal.vue create mode 100644 resources/scripts/components/modal-components/CategoryModal.vue create mode 100644 resources/scripts/components/modal-components/CompanyModal.vue create mode 100644 resources/scripts/components/modal-components/CustomerModal.vue create mode 100644 resources/scripts/components/modal-components/DeleteCompanyModal.vue create mode 100644 resources/scripts/components/modal-components/ExchangeRateBulkUpdateModal.vue create mode 100644 resources/scripts/components/modal-components/ExchangeRateProviderModal.vue create mode 100644 resources/scripts/components/modal-components/FileDiskModal.vue create mode 100644 resources/scripts/components/modal-components/ItemModal.vue create mode 100644 resources/scripts/components/modal-components/ItemUnitModal.vue create mode 100644 resources/scripts/components/modal-components/MailTestModal.vue create mode 100644 resources/scripts/components/modal-components/NoteModal.vue create mode 100644 resources/scripts/components/modal-components/PaymentModeModal.vue create mode 100644 resources/scripts/components/modal-components/RolesModal.vue create mode 100644 resources/scripts/components/modal-components/SelectTemplateModal.vue create mode 100644 resources/scripts/components/modal-components/SendEstimateModal.vue create mode 100644 resources/scripts/components/modal-components/SendInvoiceModal.vue create mode 100644 resources/scripts/components/modal-components/SendPaymentModal.vue create mode 100644 resources/scripts/components/modal-components/TaxTypeModal.vue create mode 100644 resources/scripts/components/modal-components/custom-fields/CustomFieldModal.vue create mode 100644 resources/scripts/components/modal-components/custom-fields/OptionsCreate.vue create mode 100644 resources/scripts/components/modal-components/disks/DoSpacesDisk.vue create mode 100644 resources/scripts/components/modal-components/disks/DropboxDisk.vue create mode 100644 resources/scripts/components/modal-components/disks/LocalDisk.vue create mode 100644 resources/scripts/components/modal-components/disks/S3Disk.vue create mode 100644 resources/scripts/components/notifications/NotificationItem.vue create mode 100644 resources/scripts/components/notifications/NotificationRoot.vue create mode 100644 resources/scripts/global-components.js create mode 100644 resources/scripts/helpers/error-handling.js create mode 100644 resources/scripts/helpers/use-popper.js rename resources/{assets/js => scripts}/helpers/utilities.js (57%) create mode 100644 resources/scripts/layouts/LayoutBasic.vue create mode 100644 resources/scripts/layouts/LayoutInstallation.vue create mode 100644 resources/scripts/layouts/LayoutLogin.vue create mode 100644 resources/scripts/layouts/partials/TheSiteHeader.vue create mode 100644 resources/scripts/layouts/partials/TheSiteSidebar.vue rename resources/{assets/js/plugins => scripts/locales}/ar.json (86%) rename resources/{assets/js/plugins => scripts/locales}/de.json (84%) rename resources/{assets/js/plugins => scripts/locales}/en.json (71%) rename resources/{assets/js/plugins => scripts/locales}/es.json (93%) rename resources/{assets/js/plugins => scripts/locales}/fr.json (69%) rename resources/{assets/js/plugins/ro.json => scripts/locales/hi.json} (92%) rename resources/{assets/js/plugins => scripts/locales}/it.json (74%) create mode 100644 resources/scripts/locales/ja.json create mode 100644 resources/scripts/locales/ko.json rename resources/{assets/js/plugins/i18n.js => scripts/locales/locales.js} (55%) rename resources/{assets/js/plugins => scripts/locales}/lv.json (92%) rename resources/{assets/js/plugins => scripts/locales}/nl.json (90%) rename resources/{assets/js/plugins => scripts/locales}/pl.json (100%) rename resources/{assets/js/plugins => scripts/locales}/pt-br.json (95%) rename resources/{assets/js/plugins => scripts/locales}/pt.json (70%) rename resources/{assets/js/plugins => scripts/locales}/sk.json (92%) rename resources/{assets/js/plugins => scripts/locales}/sr.json (93%) rename resources/{assets/js/plugins => scripts/locales}/sv.json (93%) rename resources/{assets/js/plugins => scripts/locales}/vi.json (91%) create mode 100644 resources/scripts/main.js create mode 100644 resources/scripts/plugins/axios.js create mode 100644 resources/scripts/plugins/i18n.js create mode 100644 resources/scripts/router/index.js rename resources/{assets/js => scripts}/services/ls.js (100%) create mode 100644 resources/scripts/shims-vue.d.ts create mode 100644 resources/scripts/stores/auth.js create mode 100644 resources/scripts/stores/backup.js create mode 100644 resources/scripts/stores/category.js create mode 100644 resources/scripts/stores/company.js create mode 100644 resources/scripts/stores/custom-field.js create mode 100644 resources/scripts/stores/customer.js create mode 100644 resources/scripts/stores/dashboard.js create mode 100644 resources/scripts/stores/dialog.js create mode 100644 resources/scripts/stores/disk.js create mode 100644 resources/scripts/stores/estimate.js create mode 100644 resources/scripts/stores/exchange-rate.js create mode 100644 resources/scripts/stores/expense.js create mode 100644 resources/scripts/stores/global.js create mode 100644 resources/scripts/stores/installation.js create mode 100644 resources/scripts/stores/invoice.js create mode 100644 resources/scripts/stores/item.js create mode 100644 resources/scripts/stores/mail-driver.js create mode 100644 resources/scripts/stores/modal.js create mode 100644 resources/scripts/stores/note.js create mode 100644 resources/scripts/stores/notification.js create mode 100644 resources/scripts/stores/payment.js create mode 100644 resources/scripts/stores/recurring-invoice.js create mode 100644 resources/scripts/stores/reset.js create mode 100644 resources/scripts/stores/role.js create mode 100644 resources/scripts/stores/tax-type.js create mode 100644 resources/scripts/stores/user.js create mode 100644 resources/scripts/stores/users.js create mode 100644 resources/scripts/stub/abilities.js rename resources/{assets/js => scripts}/stub/address.js (100%) create mode 100644 resources/scripts/stub/custom-field.js create mode 100644 resources/scripts/stub/customer.js rename resources/{assets/js/stub/estimate.js => scripts/stub/estimate-item.js} (94%) create mode 100644 resources/scripts/stub/estimate.js create mode 100644 resources/scripts/stub/expense.js rename resources/{assets/js/stub/invoice.js => scripts/stub/invoice-item.js} (100%) create mode 100644 resources/scripts/stub/invoice.js create mode 100644 resources/scripts/stub/payment.js create mode 100644 resources/scripts/stub/recurring-invoice-item.js create mode 100644 resources/scripts/stub/recurring-invoice.js rename resources/{assets/js => scripts}/stub/tax.js (100%) create mode 100644 resources/scripts/views/SampleTable.vue create mode 100644 resources/scripts/views/auth/ForgotPassword.vue create mode 100644 resources/scripts/views/auth/Login.vue create mode 100644 resources/scripts/views/auth/ResetPassword.vue create mode 100644 resources/scripts/views/customers/Create.vue create mode 100644 resources/scripts/views/customers/Index.vue create mode 100644 resources/scripts/views/customers/View.vue create mode 100644 resources/scripts/views/customers/partials/CustomerChart.vue create mode 100644 resources/scripts/views/customers/partials/CustomerChartPlaceholder.vue create mode 100644 resources/scripts/views/customers/partials/CustomerInfo.vue create mode 100644 resources/scripts/views/customers/partials/CustomerViewSidebar.vue create mode 100644 resources/scripts/views/dashboard/Dashboard.vue create mode 100644 resources/scripts/views/dashboard/DashboardChart.vue create mode 100644 resources/scripts/views/dashboard/DashboardChartPlaceholder.vue create mode 100644 resources/scripts/views/dashboard/DashboardStats.vue create mode 100644 resources/scripts/views/dashboard/DashboardStatsItem.vue create mode 100644 resources/scripts/views/dashboard/DashboardStatsPlaceholder.vue create mode 100644 resources/scripts/views/dashboard/DashboardStatsSmPlaceholder.vue create mode 100644 resources/scripts/views/dashboard/DashboardTable.vue create mode 100644 resources/scripts/views/errors/404.vue create mode 100644 resources/scripts/views/estimates/Index.vue create mode 100644 resources/scripts/views/estimates/View.vue create mode 100644 resources/scripts/views/estimates/create/EstimateCreate.vue create mode 100644 resources/scripts/views/estimates/create/EstimateCreateBasicFields.vue create mode 100644 resources/scripts/views/expenses/Create.vue create mode 100644 resources/scripts/views/expenses/Index.vue create mode 100644 resources/scripts/views/installation/Installation.vue create mode 100644 resources/scripts/views/installation/Step1RequirementsCheck.vue create mode 100644 resources/scripts/views/installation/Step2PermissionCheck.vue create mode 100644 resources/scripts/views/installation/Step3DatabaseConfig.vue create mode 100644 resources/scripts/views/installation/Step4VerifyDomain.vue create mode 100644 resources/scripts/views/installation/Step5EmailConfig.vue create mode 100644 resources/scripts/views/installation/Step6AccountSettings.vue create mode 100644 resources/scripts/views/installation/Step7CompanyInfo.vue create mode 100644 resources/scripts/views/installation/Step8CompanyPreferences.vue create mode 100644 resources/scripts/views/installation/database/MysqlDatabase.vue create mode 100644 resources/scripts/views/installation/database/PgsqlDatabase.vue create mode 100644 resources/scripts/views/installation/database/SqliteDatabase.vue create mode 100644 resources/scripts/views/installation/mail-driver/BasicMailDriver.vue create mode 100644 resources/scripts/views/installation/mail-driver/MailgunMailDriver.vue create mode 100644 resources/scripts/views/installation/mail-driver/SesMailDriver.vue create mode 100644 resources/scripts/views/installation/mail-driver/SmtpMailDriver.vue create mode 100644 resources/scripts/views/invoices/Index.vue create mode 100644 resources/scripts/views/invoices/View.vue create mode 100644 resources/scripts/views/invoices/create/InvoiceCreate.vue create mode 100644 resources/scripts/views/invoices/create/InvoiceCreateBasicFields.vue create mode 100644 resources/scripts/views/items/Create.vue create mode 100644 resources/scripts/views/items/Index.vue create mode 100644 resources/scripts/views/payments/Create.vue create mode 100644 resources/scripts/views/payments/Index.vue create mode 100644 resources/scripts/views/payments/View.vue create mode 100644 resources/scripts/views/recurring-invoices/Index.vue create mode 100644 resources/scripts/views/recurring-invoices/View.vue create mode 100644 resources/scripts/views/recurring-invoices/create/RecurringInvoiceCreate.vue create mode 100644 resources/scripts/views/recurring-invoices/create/RecurringInvoiceCreateBasicFields.vue create mode 100644 resources/scripts/views/recurring-invoices/partials/Invoices.vue create mode 100644 resources/scripts/views/recurring-invoices/partials/RecurringInvoiceInfo.vue create mode 100644 resources/scripts/views/recurring-invoices/partials/RecurringInvoiceViewSidebar.vue create mode 100644 resources/scripts/views/reports/ExpensesReport.vue create mode 100644 resources/scripts/views/reports/ProfitLossReport.vue create mode 100644 resources/scripts/views/reports/SalesReports.vue create mode 100644 resources/scripts/views/reports/TaxReport.vue create mode 100644 resources/scripts/views/reports/layout/Index.vue create mode 100644 resources/scripts/views/settings/AccountSetting.vue create mode 100644 resources/scripts/views/settings/BackupSetting.vue create mode 100644 resources/scripts/views/settings/CompanyInfoSettings.vue create mode 100644 resources/scripts/views/settings/CustomFieldsSetting.vue create mode 100644 resources/scripts/views/settings/ExchangeRateProviderSetting.vue create mode 100644 resources/scripts/views/settings/ExpenseCategorySetting.vue create mode 100644 resources/scripts/views/settings/FileDiskSetting.vue create mode 100644 resources/scripts/views/settings/MailConfigSetting.vue create mode 100644 resources/scripts/views/settings/NotesSetting.vue create mode 100644 resources/scripts/views/settings/NotificationsSetting.vue create mode 100644 resources/scripts/views/settings/PaymentsModeSetting.vue create mode 100644 resources/scripts/views/settings/PreferencesSetting.vue create mode 100644 resources/scripts/views/settings/RolesSettings.vue create mode 100644 resources/scripts/views/settings/SettingsIndex.vue create mode 100644 resources/scripts/views/settings/TaxTypesSetting.vue create mode 100644 resources/scripts/views/settings/UpdateAppSetting.vue create mode 100644 resources/scripts/views/settings/customization/CustomizationSetting.vue create mode 100644 resources/scripts/views/settings/customization/NumberCustomizer.vue create mode 100644 resources/scripts/views/settings/customization/estimates/EstimatesTab.vue create mode 100644 resources/scripts/views/settings/customization/estimates/EstimatesTabConvertEstimate.vue create mode 100644 resources/scripts/views/settings/customization/estimates/EstimatesTabDefaultFormats.vue create mode 100644 resources/scripts/views/settings/customization/estimates/EstimatesTabEstimateNumber.vue create mode 100644 resources/scripts/views/settings/customization/estimates/EstimatesTabExpiryDate.vue create mode 100644 resources/scripts/views/settings/customization/invoices/InvoicesTab.vue create mode 100644 resources/scripts/views/settings/customization/invoices/InvoicesTabDefaultFormats.vue create mode 100644 resources/scripts/views/settings/customization/invoices/InvoicesTabDueDate.vue create mode 100644 resources/scripts/views/settings/customization/invoices/InvoicesTabInvoiceNumber.vue create mode 100644 resources/scripts/views/settings/customization/invoices/InvoicesTabRetrospective.vue create mode 100644 resources/scripts/views/settings/customization/items/ItemsTab.vue create mode 100644 resources/scripts/views/settings/customization/payments/PaymentsTab.vue create mode 100644 resources/scripts/views/settings/customization/payments/PaymentsTabDefaultFormats.vue create mode 100644 resources/scripts/views/settings/customization/payments/PaymentsTabPaymentNumber.vue create mode 100644 resources/scripts/views/settings/mail-driver/BasicMailDriver.vue create mode 100644 resources/scripts/views/settings/mail-driver/MailgunMailDriver.vue create mode 100644 resources/scripts/views/settings/mail-driver/SesMailDriver.vue create mode 100644 resources/scripts/views/settings/mail-driver/SmtpMailDriver.vue create mode 100644 resources/scripts/views/users/Create.vue create mode 100644 resources/scripts/views/users/Index.vue create mode 100644 resources/static/fonts/Poppins-Black.ttf create mode 100644 resources/static/fonts/Poppins-Light.ttf create mode 100644 resources/static/fonts/Poppins-Medium.ttf create mode 100644 resources/static/fonts/Poppins-Regular.ttf create mode 100644 resources/static/fonts/Poppins-SemiBold.ttf create mode 100644 resources/static/img/PDF/estimate1.png create mode 100644 resources/static/img/PDF/estimate2.png create mode 100644 resources/static/img/PDF/estimate3.png create mode 100644 resources/static/img/PDF/invoice1.png create mode 100644 resources/static/img/PDF/invoice2.png create mode 100644 resources/static/img/PDF/invoice3.png create mode 100644 resources/static/img/c-mobile.png create mode 100644 resources/static/img/crater-logo.png create mode 100644 resources/static/img/crater-white-small.png create mode 100644 resources/static/img/default-avatar.jpg create mode 100644 resources/static/img/login/frame.svg create mode 100644 resources/static/img/login/login-vector1.svg create mode 100644 resources/static/img/login/login-vector2.svg create mode 100644 resources/static/img/login/login-vector3.svg create mode 100644 resources/static/img/logo-white.png create mode 100644 resources/static/img/tick.png create mode 100644 resources/views/vendor/laravel-menu/bootstrap-navbar-items.blade.php rename tests/Feature/{ => Admin}/BackupTest.php (96%) rename tests/Feature/{ => Admin}/CompanySettingTest.php (96%) create mode 100644 tests/Feature/Admin/CompanyTest.php create mode 100644 tests/Feature/Admin/CurrenciesTest.php rename tests/Feature/{ => Admin}/CustomFieldTest.php (89%) rename tests/Feature/{ => Admin}/CustomerTest.php (60%) rename tests/Feature/{ => Admin}/DashboardTest.php (90%) rename tests/Feature/{ => Admin}/EstimateTest.php (92%) create mode 100644 tests/Feature/Admin/ExchangeRateProvider.php rename tests/Feature/{ => Admin}/ExpenseCategoryTest.php (93%) rename tests/Feature/{ => Admin}/ExpenseTest.php (94%) rename tests/Feature/{ => Admin}/FileDiskTest.php (96%) rename tests/Feature/{ => Admin}/InvoiceTest.php (86%) rename tests/Feature/{ => Admin}/ItemTest.php (95%) rename tests/Feature/{ => Admin}/LocationTest.php (91%) rename tests/Feature/{ => Admin}/NextNumberTest.php (84%) rename tests/Feature/{ => Admin}/NotesTest.php (87%) rename tests/Feature/{ => Admin}/PaymentMethodTest.php (90%) rename tests/Feature/{ => Admin}/PaymentTest.php (87%) create mode 100644 tests/Feature/Admin/RecurringInvoiceTest.php rename tests/Feature/{ => Admin}/ReportTest.php (97%) create mode 100644 tests/Feature/Admin/RetrospectiveEditTest.php create mode 100644 tests/Feature/Admin/RoleTest.php rename tests/Feature/{ => Admin}/TaxTypeTest.php (86%) rename tests/Feature/{ => Admin}/UnitTest.php (90%) rename tests/Feature/{ => Admin}/UserTest.php (95%) rename tests/Unit/{ => Model}/AddressTest.php (73%) rename tests/Unit/{ => Model}/CompanySettingTest.php (80%) rename tests/Unit/{ => Model}/CompanyTest.php (57%) rename tests/Unit/{ => Model}/CountryTest.php (68%) rename tests/Unit/{ => Model}/CustomFieldTest.php (55%) rename tests/Unit/{ => Model}/CustomFieldValueTest.php (75%) create mode 100644 tests/Unit/Model/CustomerTest.php rename tests/Unit/{ => Model}/EstimateItemTest.php (81%) rename tests/Unit/{ => Model}/EstimateTest.php (75%) create mode 100644 tests/Unit/Model/ExchangeRateLogTest.php rename tests/Unit/{ => Model}/ExpenseCategoryTest.php (67%) rename tests/Unit/{ => Model}/ExpenseTest.php (52%) rename tests/Unit/{ => Model}/InvoiceItemTest.php (81%) rename tests/Unit/{ => Model}/InvoiceTest.php (76%) rename tests/Unit/{ => Model}/ItemTest.php (85%) rename tests/Unit/{ => Model}/PaymentMethodTest.php (77%) create mode 100644 tests/Unit/Model/PaymentTest.php create mode 100644 tests/Unit/Model/RecurringInvoiceTest.php rename tests/Unit/{ => Model}/SettingTest.php (52%) rename tests/Unit/{ => Model}/TaxTest.php (85%) rename tests/Unit/{ => Model}/TaxTypeTest.php (65%) rename tests/Unit/{ => Model}/UnitTest.php (91%) rename tests/Unit/{ => Model}/UserTest.php (63%) delete mode 100644 tests/Unit/PaymentTest.php create mode 100644 tests/Unit/Request/CompaniesTest.php create mode 100644 tests/Unit/Request/CompanyTest.php create mode 100644 tests/Unit/Request/RecurringInvoiceTest.php create mode 100644 tsconfig.json create mode 100644 vite.config.ts delete mode 100644 webpack.mix.js diff --git a/.env.testing b/.env.testing index 5cf7f514..d5e8caba 100644 --- a/.env.testing +++ b/.env.testing @@ -9,5 +9,5 @@ MAIL_PORT=587 MAIL_USERNAME=ff538f0e1037f4 MAIL_PASSWORD=c04c81145fcb73 MAIL_ENCRYPTION=tls -MAIL_FROM_ADDRESS="admin@crater.com" +MAIL_FROM_ADDRESS="admin@craterapp.com" MAIL_FROM_NAME="John Doe" diff --git a/.eslintrc.js b/.eslintrc.js index 47398d0c..6f9abf3a 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,20 +1,14 @@ +// .eslintrc.js + module.exports = { - root: true, - env: { - node: true, - }, extends: [ - 'plugin:vue/recommended', - 'eslint:recommended', - 'prettier/vue', - 'plugin:prettier/recommended', + // add more generic rulesets here, such as: + // 'eslint:recommended', + "plugin:vue/vue3-recommended", + "prettier", ], - parserOptions: { - parser: 'babel-eslint', - }, - plugins: ['prettier'], rules: { - 'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off', - 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off', + // override/add rules settings here, such as: + // 'vue/no-unused-vars': 'error' }, -} +}; diff --git a/.gitignore b/.gitignore index 0839fd1c..1ec6614a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ Homestead.yaml .rnd /.expo /.vscode -/docker-compose/db/data/ \ No newline at end of file +/docker-compose/db/data/ diff --git a/Dockerfile b/Dockerfile index a073e2e2..53c45f3a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,40 +1,44 @@ -FROM php:7.4-fpm +FROM php:7.4-fpm-alpine -# Arguments defined in docker-compose.yml -ARG user -ARG uid - -# Install system dependencies -RUN apt-get update && apt-get install -y \ - git \ - curl \ - libpng-dev \ - libonig-dev \ - libxml2-dev \ - zip \ - unzip \ - libzip-dev \ - libmagickwand-dev \ - mariadb-client - -# Clear cache -RUN apt-get clean && rm -rf /var/lib/apt/lists/* - -RUN pecl install imagick \ - && docker-php-ext-enable imagick - -# Install PHP extensions -RUN docker-php-ext-install pdo_mysql mbstring zip exif pcntl bcmath gd - -# Get latest Composer -COPY --from=composer:latest /usr/bin/composer /usr/bin/composer - -# Create system user to run Composer and Artisan Commands -RUN useradd -G www-data,root -u $uid -d /home/$user $user -RUN mkdir -p /home/$user/.composer && \ - chown -R $user:$user /home/$user - -# Set working directory WORKDIR /var/www -USER $user +RUN apk add --no-cache \ + $PHPIZE_DEPS \ + freetype-dev \ + git \ + zip \ + libzip-dev \ + php7-bcmath \ + curl \ + unzip \ + libjpeg-turbo-dev \ + libpng-dev \ + libxml2-dev \ + mariadb-client \ + sqlite \ + php7-json \ + php7-openssl \ + php7-pdo \ + php7-pdo_mysql \ + php7-session \ + php7-simplexml \ + php7-tokenizer \ + php7-xml \ + imagemagick \ + imagemagick-libs \ + imagemagick-dev \ + php7-imagick \ + php7-pcntl \ + --repository http://dl-cdn.alpinelinux.org/alpine/v3.13/community/ gnu-libiconv=1.15-r3 + +ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php + +RUN printf "\n" | pecl install \ + imagick && \ + docker-php-ext-enable --ini-name 20-imagick.ini imagick + +RUN docker-php-ext-configure zip +RUN docker-php-ext-install zip +RUN docker-php-ext-install iconv pdo pdo_mysql bcmath pcntl exif +RUN docker-php-ext-configure gd --with-jpeg --with-freetype +RUN docker-php-ext-install gd diff --git a/app/Console/Commands/CreateTemplateCommand.php b/app/Console/Commands/CreateTemplateCommand.php index f7b75dbe..704f2a55 100644 --- a/app/Console/Commands/CreateTemplateCommand.php +++ b/app/Console/Commands/CreateTemplateCommand.php @@ -52,7 +52,7 @@ class CreateTemplateCommand extends Command } Storage::disk('views')->copy("/app/pdf/{$type}/{$type}1.blade.php", "/app/pdf/{$type}/{$templateName}.blade.php"); - copy(public_path("/assets/img/PDF/{$type}1.png"), public_path("/assets/img/PDF/{$templateName}.png")); + copy(resource_path("/static/img/PDF/{$type}1.png"), resource_path("/static/img/PDF/{$templateName}.png")); $path = resource_path("app/pdf/{$type}/{$templateName}.blade.php"); $type = ucfirst($type); diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 8eeedc42..555c5952 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -2,6 +2,7 @@ namespace Crater\Console; +use Crater\Models\RecurringInvoice; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; @@ -31,6 +32,13 @@ class Kernel extends ConsoleKernel $schedule->command('check:estimates:status') ->daily(); + + $recurringInvoices = RecurringInvoice::where('status', 'ACTIVE')->get(); + foreach ($recurringInvoices as $recurringInvoice) { + $schedule->call(function () use ($recurringInvoice) { + $recurringInvoice->generateInvoice(); + })->cron($recurringInvoice->frequency); + } } /** diff --git a/app/Http/Controllers/V1/Auth/ConfirmPasswordController.php b/app/Http/Controllers/V1/Admin/Auth/ConfirmPasswordController.php similarity index 95% rename from app/Http/Controllers/V1/Auth/ConfirmPasswordController.php rename to app/Http/Controllers/V1/Admin/Auth/ConfirmPasswordController.php index b038c680..5c9cb034 100644 --- a/app/Http/Controllers/V1/Auth/ConfirmPasswordController.php +++ b/app/Http/Controllers/V1/Admin/Auth/ConfirmPasswordController.php @@ -1,6 +1,6 @@ authorize('manage backups'); + $configuredBackupDisks = config('backup.backup.destination.disks'); try { @@ -62,6 +64,8 @@ class BackupsController extends ApiController */ public function store(Request $request) { + $this->authorize('manage backups'); + dispatch(new CreateBackupJob($request->all()))->onQueue(config('backup.queue.name')); return $this->respondSuccess(); @@ -75,6 +79,8 @@ class BackupsController extends ApiController */ public function destroy($disk, Request $request) { + $this->authorize('manage backups'); + $validated = $request->validate([ 'path' => ['required', new PathToZip()], ]); diff --git a/app/Http/Controllers/V1/Backup/DownloadBackupController.php b/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php similarity index 94% rename from app/Http/Controllers/V1/Backup/DownloadBackupController.php rename to app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php index 8ea0162b..734c74ee 100644 --- a/app/Http/Controllers/V1/Backup/DownloadBackupController.php +++ b/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php @@ -2,7 +2,7 @@ // Implementation taken from nova-backup-tool - https://github.com/spatie/nova-backup-tool/ -namespace Crater\Http\Controllers\V1\Backup; +namespace Crater\Http\Controllers\V1\Admin\Backup; use Crater\Rules\Backup\PathToZip; use Illuminate\Http\Request; @@ -15,6 +15,8 @@ class DownloadBackupController extends ApiController { public function __invoke(Request $request) { + $this->authorize('manage backups'); + $validated = $request->validate([ 'path' => ['required', new PathToZip()], ]); diff --git a/app/Http/Controllers/V1/Admin/Company/CompaniesController.php b/app/Http/Controllers/V1/Admin/Company/CompaniesController.php new file mode 100644 index 00000000..55f4353b --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Company/CompaniesController.php @@ -0,0 +1,85 @@ +authorize('create company'); + + $user = $request->user(); + + $company = Company::create($request->getCompanyPayload()); + $company->unique_hash = Hashids::connection(Company::class)->encode($company->id); + $company->save(); + $company->setupDefaultData(); + $user->companies()->attach($company->id); + $user->assign('super admin'); + + if ($request->address) { + $company->address()->create($request->address); + } + + return new CompanyResource($company); + } + + public function destroy(Request $request) + { + $company = Company::find($request->header('company')); + + $this->authorize('delete company', $company); + + $user = $request->user(); + + if ($request->name !== $company->name) { + return respondJson('company_name_must_match_with_given_name', 'Company name must match with given name'); + } + + if ($user->loadCount('companies')->companies_count <= 1) { + return respondJson('You_cannot_delete_all_companies', 'You cannot delete all companies'); + } + + $company->deleteCompany($user); + + return response()->json([ + 'success' => true + ]); + } + + public function transferOwnership(Request $request, User $user) + { + $company = Company::find($request->header('company')); + $this->authorize('transfer company ownership', $company); + + if ($user->hasCompany($company->id)) { + return response()->json([ + 'success' => false, + 'message' => 'User does not belongs to this company.' + ]); + } + + $company->update(['owner_id' => $user->id]); + BouncerFacade::sync($user)->roles(['super admin']); + + return response()->json([ + 'success' => true + ]); + } + + public function getUserCompanies(Request $request) + { + $companies = $request->user()->companies; + + return CompanyResource::collection($companies); + } +} diff --git a/app/Http/Controllers/V1/Admin/Company/CompanyController.php b/app/Http/Controllers/V1/Admin/Company/CompanyController.php new file mode 100644 index 00000000..7c6893d4 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Company/CompanyController.php @@ -0,0 +1,24 @@ +header('company')); + + return new CompanyResource($company); + } +} diff --git a/app/Http/Controllers/V1/General/FiscalYearsController.php b/app/Http/Controllers/V1/Admin/Config/FiscalYearsController.php similarity index 89% rename from app/Http/Controllers/V1/General/FiscalYearsController.php rename to app/Http/Controllers/V1/Admin/Config/FiscalYearsController.php index 65d74ad7..4a77f63e 100644 --- a/app/Http/Controllers/V1/General/FiscalYearsController.php +++ b/app/Http/Controllers/V1/Admin/Config/FiscalYearsController.php @@ -1,6 +1,6 @@ json([ - 'success' => true, + 'retrospective_edits' => config('crater.retrospective_edits'), ]); } } diff --git a/app/Http/Controllers/V1/CustomField/CustomFieldsController.php b/app/Http/Controllers/V1/Admin/CustomField/CustomFieldsController.php similarity index 64% rename from app/Http/Controllers/V1/CustomField/CustomFieldsController.php rename to app/Http/Controllers/V1/Admin/CustomField/CustomFieldsController.php index e8749450..273fe9d1 100644 --- a/app/Http/Controllers/V1/CustomField/CustomFieldsController.php +++ b/app/Http/Controllers/V1/Admin/CustomField/CustomFieldsController.php @@ -1,9 +1,10 @@ authorize('viewAny', CustomField::class); + $limit = $request->has('limit') ? $request->limit : 5; - $customFields = CustomField::whereCompany($request->header('company')) - ->applyFilters($request->only([ - 'type', - 'search', - ])) + $customFields = CustomField::applyFilters($request->all()) + ->whereCompany() ->latest() ->paginateData($limit); - - return response()->json([ - 'customFields' => $customFields, - ]); + return CustomFieldResource::collection($customFields); } /** @@ -40,12 +37,11 @@ class CustomFieldsController extends Controller */ public function store(CustomFieldRequest $request) { + $this->authorize('create', CustomField::class); + $customField = CustomField::createCustomField($request); - return response()->json([ - 'customField' => $customField, - 'success' => true, - ]); + return new CustomFieldResource($customField); } /** @@ -56,10 +52,9 @@ class CustomFieldsController extends Controller */ public function show(CustomField $customField) { - return response()->json([ - 'customField' => $customField, - 'success' => true, - ]); + $this->authorize('view', $customField); + + return new CustomFieldResource($customField); } /** @@ -71,12 +66,11 @@ class CustomFieldsController extends Controller */ public function update(CustomFieldRequest $request, CustomField $customField) { + $this->authorize('update', $customField); + $customField->updateCustomField($request); - return response()->json([ - 'customField' => $customField, - 'success' => true, - ]); + return new CustomFieldResource($customField); } /** @@ -87,13 +81,13 @@ class CustomFieldsController extends Controller */ public function destroy(CustomField $customField) { - if ($customField->customFieldValue()->exists()) { - return response()->json([ - 'error' => 'values_attached', - ]); + $this->authorize('delete', $customField); + + if ($customField->customFieldValues()->exists()) { + $customField->customFieldValues()->delete(); } - $customField->delete(); + $customField->forceDelete(); return response()->json([ 'success' => true, diff --git a/app/Http/Controllers/V1/Customer/CustomerStatsController.php b/app/Http/Controllers/V1/Admin/Customer/CustomerStatsController.php similarity index 72% rename from app/Http/Controllers/V1/Customer/CustomerStatsController.php rename to app/Http/Controllers/V1/Admin/Customer/CustomerStatsController.php index 027f54bb..1d2c0415 100644 --- a/app/Http/Controllers/V1/Customer/CustomerStatsController.php +++ b/app/Http/Controllers/V1/Admin/Customer/CustomerStatsController.php @@ -1,14 +1,15 @@ authorize('view', $customer); + $i = 0; $months = []; $invoiceTotals = []; @@ -56,7 +59,7 @@ class CustomerStatsController extends Controller 'invoice_date', [$start->format('Y-m-d'), $end->format('Y-m-d')] ) - ->whereCompany($request->header('company')) + ->whereCompany() ->whereCustomer($customer->id) ->sum('total') ?? 0 ); @@ -66,7 +69,7 @@ class CustomerStatsController extends Controller 'expense_date', [$start->format('Y-m-d'), $end->format('Y-m-d')] ) - ->whereCompany($request->header('company')) + ->whereCompany() ->whereUser($customer->id) ->sum('amount') ?? 0 ); @@ -76,7 +79,7 @@ class CustomerStatsController extends Controller 'payment_date', [$start->format('Y-m-d'), $end->format('Y-m-d')] ) - ->whereCompany($request->header('company')) + ->whereCompany() ->whereCustomer($customer->id) ->sum('amount') ?? 0 ); @@ -94,25 +97,25 @@ class CustomerStatsController extends Controller $start->subMonth()->endOfMonth(); - $salesTotal = Invoice::whereCompany($request->header('company')) - ->whereBetween( - 'invoice_date', - [$startDate->format('Y-m-d'), $start->format('Y-m-d')] - ) + $salesTotal = Invoice::whereBetween( + 'invoice_date', + [$startDate->format('Y-m-d'), $start->format('Y-m-d')] + ) + ->whereCompany() ->whereCustomer($customer->id) ->sum('total'); - $totalReceipts = Payment::whereCompany($request->header('company')) - ->whereBetween( - 'payment_date', - [$startDate->format('Y-m-d'), $start->format('Y-m-d')] - ) + $totalReceipts = Payment::whereBetween( + 'payment_date', + [$startDate->format('Y-m-d'), $start->format('Y-m-d')] + ) + ->whereCompany() ->whereCustomer($customer->id) ->sum('amount'); - $totalExpenses = Expense::whereCompany($request->header('company')) - ->whereBetween( - 'expense_date', - [$startDate->format('Y-m-d'), $start->format('Y-m-d')] - ) + $totalExpenses = Expense::whereBetween( + 'expense_date', + [$startDate->format('Y-m-d'), $start->format('Y-m-d')] + ) + ->whereCompany() ->whereUser($customer->id) ->sum('amount'); $netProfit = (int) $totalReceipts - (int) $totalExpenses; @@ -129,18 +132,11 @@ class CustomerStatsController extends Controller 'totalExpenses' => $totalExpenses, ]; - $customer = User::with([ - 'billingAddress', - 'shippingAddress', - 'billingAddress.country', - 'shippingAddress.country', - 'currency', - 'fields.customField', - ])->find($customer->id); + $customer = Customer::find($customer->id); - return response()->json([ - 'customer' => $customer, - 'chartData' => $chartData, - ]); + return (new CustomerResource($customer)) + ->additional(['meta' => [ + 'chartData' => $chartData + ]]); } } diff --git a/app/Http/Controllers/V1/Admin/Customer/CustomersController.php b/app/Http/Controllers/V1/Admin/Customer/CustomersController.php new file mode 100644 index 00000000..55a011d3 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Customer/CustomersController.php @@ -0,0 +1,108 @@ +authorize('viewAny', Customer::class); + + $limit = $request->has('limit') ? $request->limit : 10; + + $customers = Customer::with('creator') + ->whereCompany() + ->applyFilters($request->all()) + ->select( + 'customers.*', + DB::raw('sum(invoices.base_due_amount) as base_due_amount'), + DB::raw('sum(invoices.due_amount) as due_amount'), + ) + ->groupBy('customers.id') + ->leftJoin('invoices', 'customers.id', '=', 'invoices.customer_id') + ->paginateData($limit); + + return (CustomerResource::collection($customers)) + ->additional(['meta' => [ + 'customer_total_count' => Customer::whereCompany()->count(), + ]]); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\JsonResponse + */ + public function store(Requests\CustomerRequest $request) + { + $this->authorize('create', Customer::class); + + $customer = Customer::createCustomer($request); + + return new CustomerResource($customer); + } + + /** + * Display the specified resource. + * + * @param Customer $customer + * @return \Illuminate\Http\JsonResponse + */ + public function show(Customer $customer) + { + $this->authorize('view', $customer); + + return new CustomerResource($customer); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \Crater\Models\Customer $customer + * @return \Illuminate\Http\JsonResponse + */ + public function update(Requests\CustomerRequest $request, Customer $customer) + { + $this->authorize('update', $customer); + + $customer = Customer::updateCustomer($request, $customer); + + if (is_string($customer)) { + return respondJson('you_cannot_edit_currency', 'Cannot change currency once transactions created'); + } + + return new CustomerResource($customer); + } + + /** + * Remove a list of Customers along side all their resources (ie. Estimates, Invoices, Payments and Addresses) + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\JsonResponse + */ + public function delete(DeleteCustomersRequest $request) + { + $this->authorize('delete multiple customers'); + + Customer::deleteCustomers($request->ids); + + return response()->json([ + 'success' => true, + ]); + } +} diff --git a/app/Http/Controllers/V1/Admin/Dashboard/DashboardController.php b/app/Http/Controllers/V1/Admin/Dashboard/DashboardController.php new file mode 100644 index 00000000..64b66f82 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Dashboard/DashboardController.php @@ -0,0 +1,165 @@ +header('company')); + + $this->authorize('view dashboard', $company); + + $invoice_totals = []; + $expense_totals = []; + $receipt_totals = []; + $net_income_totals = []; + + $i = 0; + $months = []; + $monthCounter = 0; + $fiscalYear = CompanySetting::getSetting('fiscal_year', $request->header('company')); + $startDate = Carbon::now(); + $start = Carbon::now(); + $end = Carbon::now(); + $terms = explode('-', $fiscalYear); + + if ($terms[0] <= $start->month) { + $startDate->month($terms[0])->startOfMonth(); + $start->month($terms[0])->startOfMonth(); + $end->month($terms[0])->endOfMonth(); + } else { + $startDate->subYear()->month($terms[0])->startOfMonth(); + $start->subYear()->month($terms[0])->startOfMonth(); + $end->subYear()->month($terms[0])->endOfMonth(); + } + + if ($request->has('previous_year')) { + $startDate->subYear()->startOfMonth(); + $start->subYear()->startOfMonth(); + $end->subYear()->endOfMonth(); + } + + while ($monthCounter < 12) { + array_push( + $invoice_totals, + Invoice::whereBetween( + 'invoice_date', + [$start->format('Y-m-d'), $end->format('Y-m-d')] + ) + ->whereCompany() + ->sum('base_total') + ); + array_push( + $expense_totals, + Expense::whereBetween( + 'expense_date', + [$start->format('Y-m-d'), $end->format('Y-m-d')] + ) + ->whereCompany() + ->sum('base_amount') + ); + array_push( + $receipt_totals, + Payment::whereBetween( + 'payment_date', + [$start->format('Y-m-d'), $end->format('Y-m-d')] + ) + ->whereCompany() + ->sum('base_amount') + ); + array_push( + $net_income_totals, + ($receipt_totals[$i] - $expense_totals[$i]) + ); + $i++; + array_push($months, $start->format('M')); + $monthCounter++; + $end->startOfMonth(); + $start->addMonth()->startOfMonth(); + $end->addMonth()->endOfMonth(); + } + + $start->subMonth()->endOfMonth(); + + $total_sales = Invoice::whereBetween( + 'invoice_date', + [$startDate->format('Y-m-d'), $start->format('Y-m-d')] + ) + ->whereCompany() + ->sum('base_total'); + + $total_receipts = Payment::whereBetween( + 'payment_date', + [$startDate->format('Y-m-d'), $start->format('Y-m-d')] + ) + ->whereCompany() + ->sum('base_amount'); + + $total_expenses = Expense::whereBetween( + 'expense_date', + [$startDate->format('Y-m-d'), $start->format('Y-m-d')] + ) + ->whereCompany() + ->sum('base_amount'); + + $total_net_income = (int)$total_receipts - (int)$total_expenses; + + $chart_data = [ + 'months' => $months, + 'invoice_totals' => $invoice_totals, + 'expense_totals' => $expense_totals, + 'receipt_totals' => $receipt_totals, + 'net_income_totals' => $net_income_totals, + ]; + + $total_customer_count = Customer::whereCompany()->count(); + $total_invoice_count = Invoice::whereCompany() + ->count(); + $total_estimate_count = Estimate::whereCompany()->count(); + $total_amount_due = Invoice::whereCompany() + ->sum('base_due_amount'); + + $recent_due_invoices = Invoice::with('customer') + ->whereCompany() + ->where('base_due_amount', '>', 0) + ->take(5) + ->latest() + ->get(); + $recent_estimates = Estimate::with('customer')->whereCompany()->take(5)->latest()->get(); + + return response()->json([ + 'total_amount_due' => $total_amount_due, + 'total_customer_count' => $total_customer_count, + 'total_invoice_count' => $total_invoice_count, + 'total_estimate_count' => $total_estimate_count, + + 'recent_due_invoices' => $recent_due_invoices, + 'recent_estimates' => $recent_estimates, + + 'chart_data' => $chart_data, + + 'total_sales' => $total_sales, + 'total_receipts' => $total_receipts, + 'total_expenses' => $total_expenses, + 'total_net_income' => $total_net_income, + ]); + } +} diff --git a/app/Http/Controllers/V1/Estimate/ChangeEstimateStatusController.php b/app/Http/Controllers/V1/Admin/Estimate/ChangeEstimateStatusController.php similarity index 83% rename from app/Http/Controllers/V1/Estimate/ChangeEstimateStatusController.php rename to app/Http/Controllers/V1/Admin/Estimate/ChangeEstimateStatusController.php index 9da6b8a0..0e429acd 100644 --- a/app/Http/Controllers/V1/Estimate/ChangeEstimateStatusController.php +++ b/app/Http/Controllers/V1/Admin/Estimate/ChangeEstimateStatusController.php @@ -1,6 +1,6 @@ authorize('send estimate', $estimate); + $estimate->update($request->only('status')); return response()->json([ diff --git a/app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php b/app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php new file mode 100644 index 00000000..e9282b6f --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Estimate/ConvertEstimateController.php @@ -0,0 +1,132 @@ +authorize('create', Invoice::class); + + $estimate->load(['items', 'items.taxes', 'customer', 'taxes']); + + $invoice_date = Carbon::now(); + $due_date = null; + + $dueDateEnabled = CompanySetting::getSetting( + 'invoice_set_due_date_automatically', + $request->header('company') + ); + + if ($dueDateEnabled === 'YES') { + $dueDateDays = CompanySetting::getSetting( + 'invoice_due_date_days', + $request->header('company') + ); + $due_date = Carbon::now()->addDays($dueDateDays)->format('Y-m-d'); + } + + $serial = (new SerialNumberFormatter()) + ->setModel($invoice) + ->setCompany($estimate->company_id) + ->setCustomer($estimate->customer_id) + ->setNextNumbers(); + + $templateName = $estimate->getInvoiceTemplateName(); + + $exchange_rate = $estimate->exchange_rate; + + $invoice = Invoice::create([ + 'creator_id' => Auth::id(), + 'invoice_date' => $invoice_date->format('Y-m-d'), + 'due_date' => $due_date, + 'invoice_number' => $serial->getNextNumber(), + 'sequence_number' => $serial->nextSequenceNumber, + 'customer_sequence_number' => $serial->nextCustomerSequenceNumber, + 'reference_number' => $serial->getNextNumber(), + 'customer_id' => $estimate->customer_id, + 'company_id' => $request->header('company'), + 'template_name' => $templateName, + 'status' => Invoice::STATUS_DRAFT, + 'paid_status' => Invoice::STATUS_UNPAID, + 'sub_total' => $estimate->sub_total, + 'discount' => $estimate->discount, + 'discount_type' => $estimate->discount_type, + 'discount_val' => $estimate->discount_val, + 'total' => $estimate->total, + 'due_amount' => $estimate->total, + 'tax_per_item' => $estimate->tax_per_item, + 'discount_per_item' => $estimate->discount_per_item, + 'tax' => $estimate->tax, + 'notes' => $estimate->notes, + 'exchange_rate' => $exchange_rate, + 'base_discount_val' => $estimate->discount_val * $exchange_rate, + 'base_sub_total' => $estimate->sub_total * $exchange_rate, + 'base_total' => $estimate->total * $exchange_rate, + 'base_tax' => $estimate->tax * $exchange_rate, + 'currency_id' => $estimate->currency_id, + ]); + + $invoice->unique_hash = Hashids::connection(Invoice::class)->encode($invoice->id); + $invoice->save(); + $invoiceItems = $estimate->items->toArray(); + + foreach ($invoiceItems as $invoiceItem) { + $invoiceItem['company_id'] = $request->header('company'); + $invoiceItem['name'] = $invoiceItem['name']; + $estimateItem['exchange_rate'] = $exchange_rate; + $estimateItem['base_price'] = $invoiceItem['price'] * $exchange_rate; + $estimateItem['base_discount_val'] = $invoiceItem['discount_val'] * $exchange_rate; + $estimateItem['base_tax'] = $invoiceItem['tax'] * $exchange_rate; + $estimateItem['base_total'] = $invoiceItem['total'] * $exchange_rate; + + $item = $invoice->items()->create($invoiceItem); + + if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) { + foreach ($invoiceItem['taxes'] as $tax) { + $tax['company_id'] = $request->header('company'); + + if ($tax['amount']) { + $item->taxes()->create($tax); + } + } + } + } + + if ($estimate->taxes) { + foreach ($estimate->taxes->toArray() as $tax) { + $tax['company_id'] = $request->header('company'); + $tax['exchange_rate'] = $exchange_rate; + $tax['base_amount'] = $tax['amount'] * $exchange_rate; + $tax['currency_id'] = $estimate->currency_id; + unset($tax['estimate_id']); + + $invoice->taxes()->create($tax); + } + } + + $estimate->checkForEstimateConvertAction(); + + $invoice = Invoice::find($invoice->id); + + return new InvoiceResource($invoice); + } +} diff --git a/app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php b/app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php new file mode 100644 index 00000000..ea6adbe9 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Estimate/EstimateTemplatesController.php @@ -0,0 +1,27 @@ +authorize('viewAny', Estimate::class); + + $estimateTemplates = Estimate::estimateTemplates(); + + return response()->json([ + 'estimateTemplates' => $estimateTemplates + ]); + } +} diff --git a/app/Http/Controllers/V1/Admin/Estimate/EstimatesController.php b/app/Http/Controllers/V1/Admin/Estimate/EstimatesController.php new file mode 100644 index 00000000..e43a4be6 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Estimate/EstimatesController.php @@ -0,0 +1,77 @@ +authorize('viewAny', Estimate::class); + + $limit = $request->has('limit') ? $request->limit : 10; + + $estimates = Estimate::whereCompany() + ->join('customers', 'customers.id', '=', 'estimates.customer_id') + ->applyFilters($request->all()) + ->select('estimates.*', 'customers.name') + ->latest() + ->paginateData($limit); + + return (EstimateResource::collection($estimates)) + ->additional(['meta' => [ + 'estimate_total_count' => Estimate::whereCompany()->count(), + ]]); + } + + public function store(EstimatesRequest $request) + { + $this->authorize('create', Estimate::class); + + $estimate = Estimate::createEstimate($request); + + if ($request->has('estimateSend')) { + $estimate->send($request->title, $request->body); + } + + GenerateEstimatePdfJob::dispatch($estimate); + + return new EstimateResource($estimate); + } + + public function show(Request $request, Estimate $estimate) + { + $this->authorize('view', $estimate); + + return new EstimateResource($estimate); + } + + public function update(EstimatesRequest $request, Estimate $estimate) + { + $this->authorize('update', $estimate); + + $estimate = $estimate->updateEstimate($request); + + GenerateEstimatePdfJob::dispatch($estimate, true); + + return new EstimateResource($estimate); + } + + public function delete(DeleteEstimatesRequest $request) + { + $this->authorize('delete multiple estimates'); + + Estimate::destroy($request->ids); + + return response()->json([ + 'success' => true, + ]); + } +} diff --git a/app/Http/Controllers/V1/Estimate/SendEstimateController.php b/app/Http/Controllers/V1/Admin/Estimate/SendEstimateController.php similarity index 83% rename from app/Http/Controllers/V1/Estimate/SendEstimateController.php rename to app/Http/Controllers/V1/Admin/Estimate/SendEstimateController.php index ffa8c80a..4e9c8233 100644 --- a/app/Http/Controllers/V1/Estimate/SendEstimateController.php +++ b/app/Http/Controllers/V1/Admin/Estimate/SendEstimateController.php @@ -1,6 +1,6 @@ authorize('send estimate', $estimate); + $response = $estimate->send($request->all()); return response()->json($response); diff --git a/app/Http/Controllers/V1/Admin/Estimate/SendEstimatePreviewController.php b/app/Http/Controllers/V1/Admin/Estimate/SendEstimatePreviewController.php new file mode 100644 index 00000000..dba09e6b --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Estimate/SendEstimatePreviewController.php @@ -0,0 +1,26 @@ +authorize('send estimate', $estimate); + + $markdown = new Markdown(view(), config('mail.markdown')); + + return $markdown->render('emails.send.estimate', ['data' => $estimate->sendEstimateData($request->all())]); + } +} diff --git a/app/Http/Controllers/V1/Admin/ExchangeRate/ExchangeRateProviderController.php b/app/Http/Controllers/V1/Admin/ExchangeRate/ExchangeRateProviderController.php new file mode 100644 index 00000000..04bfc401 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/ExchangeRate/ExchangeRateProviderController.php @@ -0,0 +1,117 @@ +authorize('viewAny', ExchangeRateProvider::class); + + $limit = $request->has('limit') ? $request->limit : 5; + + $exchangeRateProviders = ExchangeRateProvider::whereCompany()->paginate($limit); + + return ExchangeRateProviderResource::collection($exchangeRateProviders); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(ExchangeRateProviderRequest $request) + { + $this->authorize('create', ExchangeRateProvider::class); + + $query = ExchangeRateProvider::checkActiveCurrencies($request); + + if (count($query) !== 0) { + return respondJson('currency_used', 'Currency used.'); + } + + $checkConverterApi = ExchangeRateProvider::checkExchangeRateProviderStatus($request); + + if ($checkConverterApi->status() == 200) { + $exchangeRateProvider = ExchangeRateProvider::createFromRequest($request); + + return new ExchangeRateProviderResource($exchangeRateProvider); + } + + return $checkConverterApi; + } + + /** + * Display the specified resource. + * + * @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider + * @return \Illuminate\Http\Response + */ + public function show(ExchangeRateProvider $exchangeRateProvider) + { + $this->authorize('view', $exchangeRateProvider); + + return new ExchangeRateProviderResource($exchangeRateProvider); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider + * @return \Illuminate\Http\Response + */ + public function update(ExchangeRateProviderRequest $request, ExchangeRateProvider $exchangeRateProvider) + { + $this->authorize('update', $exchangeRateProvider); + + $query = $exchangeRateProvider->checkUpdateActiveCurrencies($request); + + if (count($query) !== 0) { + return respondJson('currency_used', 'Currency used.'); + } + + $checkConverterApi = ExchangeRateProvider::checkExchangeRateProviderStatus($request); + + if ($checkConverterApi->status() == 200) { + $exchangeRateProvider->updateFromRequest($request); + + return new ExchangeRateProviderResource($exchangeRateProvider); + } + + return $checkConverterApi; + } + + /** + * Remove the specified resource from storage. + * + * @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider + * @return \Illuminate\Http\Response + */ + public function destroy(ExchangeRateProvider $exchangeRateProvider) + { + $this->authorize('delete', $exchangeRateProvider); + + if ($exchangeRateProvider->active == true) { + return respondJson('provider_active', 'Provider Active.'); + } + + $exchangeRateProvider->delete(); + + return response()->json([ + 'success' => true, + ]); + } +} diff --git a/app/Http/Controllers/V1/Admin/ExchangeRate/GetActiveProviderController.php b/app/Http/Controllers/V1/Admin/ExchangeRate/GetActiveProviderController.php new file mode 100644 index 00000000..5c174625 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/ExchangeRate/GetActiveProviderController.php @@ -0,0 +1,35 @@ +whereJsonContains('currencies', $currency->code) + ->where('active', true) + ->get(); + + if (count($query) !== 0) { + return response()->json([ + 'success' => true, + 'message' => 'provider_active', + ], 200); + } + + return response()->json([ + 'error' => 'no_active_provider', + ], 200); + } +} diff --git a/app/Http/Controllers/V1/Admin/ExchangeRate/GetExchangeRateController.php b/app/Http/Controllers/V1/Admin/ExchangeRate/GetExchangeRateController.php new file mode 100644 index 00000000..b5820bbb --- /dev/null +++ b/app/Http/Controllers/V1/Admin/ExchangeRate/GetExchangeRateController.php @@ -0,0 +1,57 @@ +header('company')); + $baseCurrency = Currency::findOrFail($settings['currency']); + + $query = ExchangeRateProvider::whereJsonContains('currencies', $currency->code) + ->where('active', true) + ->get() + ->toArray(); + + $exchange_rate = ExchangeRateLog::where('base_currency_id', $currency->id) + ->where('currency_id', $baseCurrency->id) + ->orderBy('created_at', 'desc') + ->value('exchange_rate'); + + if ($query) { + $filter = Arr::only($query[0], ['key', 'driver', 'driver_config']); + $exchange_rate_value = $this->getExchangeRate($filter, $currency->code, $baseCurrency->code); + + if ($exchange_rate_value->status() == 200) { + return $exchange_rate_value; + } + } + if ($exchange_rate) { + return response()->json([ + 'exchangeRate' => [$exchange_rate], + ], 200); + } + + return response()->json([ + 'error' => 'no_exchange_rate_available', + ], 200); + } +} diff --git a/app/Http/Controllers/V1/Admin/ExchangeRate/GetSupportedCurrenciesController.php b/app/Http/Controllers/V1/Admin/ExchangeRate/GetSupportedCurrenciesController.php new file mode 100644 index 00000000..af80f259 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/ExchangeRate/GetSupportedCurrenciesController.php @@ -0,0 +1,26 @@ +authorize('viewAny', ExchangeRateProvider::class); + + return $this->getSupportedCurrencies($request); + } +} diff --git a/app/Http/Controllers/V1/Admin/ExchangeRate/GetUsedCurrenciesController.php b/app/Http/Controllers/V1/Admin/ExchangeRate/GetUsedCurrenciesController.php new file mode 100644 index 00000000..84545c14 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/ExchangeRate/GetUsedCurrenciesController.php @@ -0,0 +1,55 @@ +authorize('viewAny', ExchangeRateProvider::class); + + $providerId = $request->provider_id; + + $activeExchangeRateProviders = ExchangeRateProvider::where('active', true) + ->whereCompany() + ->when($providerId, function ($query) use ($providerId) { + return $query->where('id', '<>', $providerId); + }) + ->pluck('currencies'); + $activeExchangeRateProvider = []; + + foreach ($activeExchangeRateProviders as $data) { + if (is_array($data)) { + for ($limit = 0; $limit < count($data); $limit++) { + $activeExchangeRateProvider[] = $data[$limit]; + } + } + } + + $allExchangeRateProviders = ExchangeRateProvider::whereCompany()->pluck('currencies'); + $allExchangeRateProvider = []; + + foreach ($allExchangeRateProviders as $data) { + if (is_array($data)) { + for ($limit = 0; $limit < count($data); $limit++) { + $allExchangeRateProvider[] = $data[$limit]; + } + } + } + + return response()->json([ + 'allUsedCurrencies' => $allExchangeRateProvider ? $allExchangeRateProvider : [], + 'activeUsedCurrencies' => $activeExchangeRateProvider ? $activeExchangeRateProvider : [], + ]); + } +} diff --git a/app/Http/Controllers/V1/Expense/ExpenseCategoriesController.php b/app/Http/Controllers/V1/Admin/Expense/ExpenseCategoriesController.php similarity index 64% rename from app/Http/Controllers/V1/Expense/ExpenseCategoriesController.php rename to app/Http/Controllers/V1/Admin/Expense/ExpenseCategoriesController.php index 3bfc7f1a..6c4c5d89 100644 --- a/app/Http/Controllers/V1/Expense/ExpenseCategoriesController.php +++ b/app/Http/Controllers/V1/Admin/Expense/ExpenseCategoriesController.php @@ -1,9 +1,10 @@ authorize('viewAny', ExpenseCategory::class); + $limit = $request->has('limit') ? $request->limit : 5; - $categories = ExpenseCategory::whereCompany($request->header('company')) - ->applyFilters($request->only([ - 'category_id', - 'search', - ])) + $categories = ExpenseCategory::applyFilters($request->all()) + ->whereCompany() ->latest() ->paginateData($limit); - return response()->json([ - 'categories' => $categories, - ]); + return ExpenseCategoryResource::collection($categories); } /** @@ -39,14 +37,11 @@ class ExpenseCategoriesController extends Controller */ public function store(ExpenseCategoryRequest $request) { - $data = $request->validated(); - $data['company_id'] = $request->header('company'); - $category = ExpenseCategory::create($data); + $this->authorize('create', ExpenseCategory::class); - return response()->json([ - 'category' => $category, - 'success' => true, - ]); + $category = ExpenseCategory::create($request->getExpenseCategoryPayload()); + + return new ExpenseCategoryResource($category); } /** @@ -57,9 +52,9 @@ class ExpenseCategoriesController extends Controller */ public function show(ExpenseCategory $category) { - return response()->json([ - 'category' => $category, - ]); + $this->authorize('view', $category); + + return new ExpenseCategoryResource($category); } /** @@ -71,12 +66,11 @@ class ExpenseCategoriesController extends Controller */ public function update(ExpenseCategoryRequest $request, ExpenseCategory $category) { - $category->update($request->validated()); + $this->authorize('update', $category); - return response()->json([ - 'category' => $category, - 'success' => true, - ]); + $category->update($request->getExpenseCategoryPayload()); + + return new ExpenseCategoryResource($category); } /** @@ -87,10 +81,10 @@ class ExpenseCategoriesController extends Controller */ public function destroy(ExpenseCategory $category) { + $this->authorize('delete', $category); + if ($category->expenses() && $category->expenses()->count() > 0) { - return response()->json([ - 'success' => false, - ]); + return respondJson('expense_attached', 'Expense Attached'); } $category->delete(); diff --git a/app/Http/Controllers/V1/Expense/ExpensesController.php b/app/Http/Controllers/V1/Admin/Expense/ExpensesController.php similarity index 61% rename from app/Http/Controllers/V1/Expense/ExpensesController.php rename to app/Http/Controllers/V1/Admin/Expense/ExpensesController.php index bb749552..bcb94003 100644 --- a/app/Http/Controllers/V1/Expense/ExpensesController.php +++ b/app/Http/Controllers/V1/Admin/Expense/ExpensesController.php @@ -1,10 +1,11 @@ authorize('viewAny', Expense::class); + $limit = $request->has('limit') ? $request->limit : 10; $expenses = Expense::with('category', 'creator', 'fields') - ->leftJoin('users', 'users.id', '=', 'expenses.user_id') + ->whereCompany() + ->leftJoin('customers', 'customers.id', '=', 'expenses.customer_id') ->join('expense_categories', 'expense_categories.id', '=', 'expenses.expense_category_id') - ->applyFilters($request->only([ - 'expense_category_id', - 'user_id', - 'expense_id', - 'search', - 'from_date', - 'to_date', - 'orderByField', - 'orderBy', - ])) - ->whereCompany($request->header('company')) - ->select('expenses.*', 'expense_categories.name', 'users.name as user_name') + ->applyFilters($request->all()) + ->select('expenses.*', 'expense_categories.name', 'customers.name as user_name') ->paginateData($limit); - return response()->json([ - 'expenses' => $expenses, - 'expenseTotalCount' => Expense::count(), - ]); + return (ExpenseResource::collection($expenses)) + ->additional(['meta' => [ + 'expense_total_count' => Expense::whereCompany()->count(), + ]]); } /** @@ -50,12 +44,11 @@ class ExpensesController extends Controller */ public function store(ExpenseRequest $request) { + $this->authorize('create', Expense::class); + $expense = Expense::createExpense($request); - return response()->json([ - 'expense' => $expense, - 'success' => true, - ]); + return new ExpenseResource($expense); } /** @@ -66,11 +59,9 @@ class ExpensesController extends Controller */ public function show(Expense $expense) { - $expense->load('creator', 'fields.customField'); + $this->authorize('view', $expense); - return response()->json([ - 'expense' => $expense, - ]); + return new ExpenseResource($expense); } /** @@ -82,16 +73,17 @@ class ExpensesController extends Controller */ public function update(ExpenseRequest $request, Expense $expense) { + $this->authorize('update', $expense); + $expense->updateExpense($request); - return response()->json([ - 'expense' => $expense, - 'success' => true, - ]); + return new ExpenseResource($expense); } public function delete(DeleteExpensesRequest $request) { + $this->authorize('delete multiple expenses'); + Expense::destroy($request->ids); return response()->json([ diff --git a/app/Http/Controllers/V1/Admin/Expense/ShowReceiptController.php b/app/Http/Controllers/V1/Admin/Expense/ShowReceiptController.php new file mode 100644 index 00000000..206b2c0f --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Expense/ShowReceiptController.php @@ -0,0 +1,30 @@ +authorize('view', $expense); + + if ($expense) { + $media = $expense->getFirstMedia('receipts'); + + if ($media) { + return response()->file($media->getPath()); + } + + return respondJson('receipt_does_not_exist', 'Receipt does not exist.'); + } + } +} diff --git a/app/Http/Controllers/V1/Expense/UploadReceiptController.php b/app/Http/Controllers/V1/Admin/Expense/UploadReceiptController.php similarity index 83% rename from app/Http/Controllers/V1/Expense/UploadReceiptController.php rename to app/Http/Controllers/V1/Admin/Expense/UploadReceiptController.php index 8a238b6a..cc7d6135 100644 --- a/app/Http/Controllers/V1/Expense/UploadReceiptController.php +++ b/app/Http/Controllers/V1/Admin/Expense/UploadReceiptController.php @@ -1,6 +1,6 @@ authorize('update', $expense); + $data = json_decode($request->attachment_receipt); if ($data) { @@ -26,11 +28,11 @@ class UploadReceiptController extends Controller $expense->addMediaFromBase64($data->data) ->usingFileName($data->name) - ->toMediaCollection('receipts', 'local'); + ->toMediaCollection('receipts'); } return response()->json([ 'success' => 'Expense receipts uploaded successfully', - ]); + ], 200); } } diff --git a/app/Http/Controllers/V1/Admin/General/BootstrapController.php b/app/Http/Controllers/V1/Admin/General/BootstrapController.php new file mode 100644 index 00000000..96719339 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/General/BootstrapController.php @@ -0,0 +1,63 @@ +user(); + $current_user_settings = $current_user->getAllSettings(); + + $main_menu = $this->generateMenu('main_menu', $current_user); + + $setting_menu = $this->generateMenu('setting_menu', $current_user); + + $companies = $current_user->companies; + + $current_company = Company::find($request->header('company')); + + if ((! $current_company) || ($current_company && ! $current_user->hasCompany($current_company->id))) { + $current_company = $current_user->companies()->first(); + } + + $current_company_settings = CompanySetting::getAllSettings($current_company->id); + + $current_company_currency = $current_company_settings->has('currency') + ? Currency::find($current_company_settings->get('currency')) + : Currency::first(); + + BouncerFacade::refreshFor($current_user); + + return response()->json([ + 'current_user' => new UserResource($current_user), + 'current_user_settings' => $current_user_settings, + 'current_user_abilities' => $current_user->getAbilities(), + 'companies' => CompanyResource::collection($companies), + 'current_company' => new CompanyResource($current_company), + 'current_company_settings' => $current_company_settings, + 'current_company_currency' => $current_company_currency, + 'config' => config('crater'), + 'main_menu' => $main_menu, + 'setting_menu' => $setting_menu, + ]); + } +} diff --git a/app/Http/Controllers/V1/Admin/General/BulkExchangeRateController.php b/app/Http/Controllers/V1/Admin/General/BulkExchangeRateController.php new file mode 100644 index 00000000..f0e82f66 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/General/BulkExchangeRateController.php @@ -0,0 +1,128 @@ +header('company')); + + if ($bulkExchangeRate == 'NO') { + if ($request->currencies) { + foreach ($request->currencies as $currency) { + $currency['exchange_rate'] = $currency['exchange_rate'] ?? 1; + + $invoices = Invoice::where('currency_id', $currency['id'])->get(); + + if ($invoices) { + foreach ($invoices as $invoice) { + $invoice->update([ + 'exchange_rate' => $currency['exchange_rate'], + 'base_discount_val' => $invoice->sub_total * $currency['exchange_rate'], + 'base_sub_total' => $invoice->sub_total * $currency['exchange_rate'], + 'base_total' => $invoice->total * $currency['exchange_rate'], + 'base_tax' => $invoice->tax * $currency['exchange_rate'], + 'base_due_amount' => $invoice->due_amount * $currency['exchange_rate'] + ]); + + $this->items($invoice); + } + } + + $estimates = Estimate::where('currency_id', $currency['id'])->get(); + + if ($estimates) { + foreach ($estimates as $estimate) { + $estimate->update([ + 'exchange_rate' => $currency['exchange_rate'], + 'base_discount_val' => $estimate->sub_total * $currency['exchange_rate'], + 'base_sub_total' => $estimate->sub_total * $currency['exchange_rate'], + 'base_total' => $estimate->total * $currency['exchange_rate'], + 'base_tax' => $estimate->tax * $currency['exchange_rate'] + ]); + + $this->items($estimate); + } + } + + $taxes = Tax::where('currency_id', $currency['id'])->get(); + + if ($taxes) { + foreach ($taxes as $tax) { + $tax->base_amount = $tax->base_amount * $currency['exchange_rate']; + $tax->save(); + } + } + + $payments = Payment::where('currency_id', $currency['id'])->get(); + + if ($payments) { + foreach ($payments as $payment) { + $payment->exchange_rate = $currency['exchange_rate']; + $payment->base_amount = $payment->amount * $currency['exchange_rate']; + $payment->save(); + } + } + } + } + + $settings = [ + 'bulk_exchange_rate_configured' => 'YES' + ]; + + CompanySetting::setSettings($settings, $request->header('company')); + + return response()->json([ + 'success' => true + ]); + } + + return response()->json([ + 'error' => false + ]); + } + + public function items($model) + { + foreach ($model->items as $item) { + $item->update([ + 'exchange_rate' => $model->exchange_rate, + 'base_discount_val' => $item->discount_val * $model->exchange_rate, + 'base_price' => $item->price * $model->exchange_rate, + 'base_tax' => $item->tax * $model->exchange_rate, + 'base_total' => $item->total * $model->exchange_rate + ]); + + $this->taxes($item); + } + + $this->taxes($model); + } + + public function taxes($model) + { + if ($model->taxes()->exists()) { + $model->taxes->map(function ($tax) use ($model) { + $tax->update([ + 'exchange_rate' => $model->exchange_rate, + 'base_amount' => $tax->amount * $model->exchange_rate, + ]); + }); + } + } +} diff --git a/app/Http/Controllers/V1/Admin/General/ConfigController.php b/app/Http/Controllers/V1/Admin/General/ConfigController.php new file mode 100644 index 00000000..b0df1f62 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/General/ConfigController.php @@ -0,0 +1,22 @@ +json([ + $request->key => config('crater.'.$request->key), + ]); + } +} diff --git a/app/Http/Controllers/V1/General/CountriesController.php b/app/Http/Controllers/V1/Admin/General/CountriesController.php similarity index 66% rename from app/Http/Controllers/V1/General/CountriesController.php rename to app/Http/Controllers/V1/Admin/General/CountriesController.php index 4c03e46a..a6734db9 100644 --- a/app/Http/Controllers/V1/General/CountriesController.php +++ b/app/Http/Controllers/V1/Admin/General/CountriesController.php @@ -1,8 +1,9 @@ json([ - 'countries' => Country::all(), - ]); + $countries = Country::all(); + + return CountryResource::collection($countries); } } diff --git a/app/Http/Controllers/V1/General/CurrenciesController.php b/app/Http/Controllers/V1/Admin/General/CurrenciesController.php similarity index 72% rename from app/Http/Controllers/V1/General/CurrenciesController.php rename to app/Http/Controllers/V1/Admin/General/CurrenciesController.php index edbbe500..a59d7b44 100644 --- a/app/Http/Controllers/V1/General/CurrenciesController.php +++ b/app/Http/Controllers/V1/Admin/General/CurrenciesController.php @@ -1,8 +1,9 @@ get(); - return response()->json([ - 'currencies' => $currencies, - ]); + return CurrencyResource::collection($currencies); } } diff --git a/app/Http/Controllers/V1/General/DateFormatsController.php b/app/Http/Controllers/V1/Admin/General/DateFormatsController.php similarity index 90% rename from app/Http/Controllers/V1/General/DateFormatsController.php rename to app/Http/Controllers/V1/Admin/General/DateFormatsController.php index 8d52fde9..5cd594f8 100644 --- a/app/Http/Controllers/V1/General/DateFormatsController.php +++ b/app/Http/Controllers/V1/Admin/General/DateFormatsController.php @@ -1,6 +1,6 @@ pluck('currency_id')->toArray(); + + $taxes = Tax::where('exchange_rate', null)->pluck('currency_id')->toArray(); + + $estimates = Estimate::where('exchange_rate', null)->pluck('currency_id')->toArray(); + + $payments = Payment::where('exchange_rate', null)->pluck('currency_id')->toArray(); + + $currencies = array_merge($invoices, $taxes, $estimates, $payments); + + return response()->json([ + 'currencies' => Currency::whereIn('id', $currencies)->get() + ]); + } +} diff --git a/app/Http/Controllers/V1/Admin/General/NextNumberController.php b/app/Http/Controllers/V1/Admin/General/NextNumberController.php new file mode 100644 index 00000000..6f458e80 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/General/NextNumberController.php @@ -0,0 +1,66 @@ +key; + $nextNumber = null; + $serial = (new SerialNumberFormatter()) + ->setCompany($request->header('company')) + ->setCustomer($request->userId); + + try { + switch ($key) { + case 'invoice': + $nextNumber = $serial->setModel($invoice) + ->setModelObject($request->model_id) + ->getNextNumber(); + + break; + + case 'estimate': + $nextNumber = $serial->setModel($estimate) + ->setModelObject($request->model_id) + ->getNextNumber(); + + break; + + case 'payment': + $nextNumber = $serial->setModel($payment) + ->setModelObject($request->model_id) + ->getNextNumber(); + + break; + + default: + return; + } + } catch (\Exception $exception) { + return response()->json([ + 'success' => false, + 'message' => $exception->getMessage() + ]); + } + + return response()->json([ + 'success' => true, + 'nextNumber' => $nextNumber, + ]); + } +} diff --git a/app/Http/Controllers/V1/General/NotesController.php b/app/Http/Controllers/V1/Admin/General/NotesController.php similarity index 69% rename from app/Http/Controllers/V1/General/NotesController.php rename to app/Http/Controllers/V1/Admin/General/NotesController.php index b5f0fd9c..93858d35 100644 --- a/app/Http/Controllers/V1/General/NotesController.php +++ b/app/Http/Controllers/V1/Admin/General/NotesController.php @@ -1,9 +1,10 @@ authorize('view notes'); + $limit = $request->limit ?? 10; $notes = Note::latest() - ->applyFilters($request->only(['type', 'search'])) + ->whereCompany() + ->applyFilters($request->all()) ->paginate($limit); - return response()->json([ - 'notes' => $notes, - ]); + return NoteResource::collection($notes); } /** @@ -35,11 +37,11 @@ class NotesController extends Controller */ public function store(NotesRequest $request) { - $note = Note::create($request->validated()); + $this->authorize('manage notes'); - return response()->json([ - 'note' => $note, - ]); + $note = Note::create($request->getNotesPayload()); + + return new NoteResource($note); } /** @@ -50,9 +52,9 @@ class NotesController extends Controller */ public function show(Note $note) { - return response()->json([ - 'note' => $note, - ]); + $this->authorize('view notes'); + + return new NoteResource($note); } /** @@ -64,11 +66,11 @@ class NotesController extends Controller */ public function update(NotesRequest $request, Note $note) { - $note->update($request->validated()); + $this->authorize('manage notes'); - return response()->json([ - 'note' => $note, - ]); + $note->update($request->getNotesPayload()); + + return new NoteResource($note); } /** @@ -79,6 +81,8 @@ class NotesController extends Controller */ public function destroy(Note $note) { + $this->authorize('manage notes'); + $note->delete(); return response()->json([ diff --git a/app/Http/Controllers/V1/Admin/General/NumberPlaceholdersController.php b/app/Http/Controllers/V1/Admin/General/NumberPlaceholdersController.php new file mode 100644 index 00000000..88898372 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/General/NumberPlaceholdersController.php @@ -0,0 +1,30 @@ +format) { + $placeholders = SerialNumberFormatter::getPlaceholders($request->format); + } else { + $placeholders = []; + } + + return response()->json([ + 'success' => true, + 'placeholders' => $placeholders, + ]); + } +} diff --git a/app/Http/Controllers/V1/General/SearchController.php b/app/Http/Controllers/V1/Admin/General/SearchController.php similarity index 63% rename from app/Http/Controllers/V1/General/SearchController.php rename to app/Http/Controllers/V1/Admin/General/SearchController.php index 00602de5..d29fe82d 100644 --- a/app/Http/Controllers/V1/General/SearchController.php +++ b/app/Http/Controllers/V1/Admin/General/SearchController.php @@ -1,11 +1,11 @@ applyFilters($request->only(['search'])) + $user = $request->user(); + + $customers = Customer::applyFilters($request->only(['search'])) ->latest() ->paginate(10); - if (Auth::user()->role == 'super admin') { - $users = User::where('role', 'admin') - ->applyFilters($request->only(['search'])) + if ($user->isOwner()) { + $users = User::applyFilters($request->only(['search'])) ->latest() ->paginate(10); } diff --git a/app/Http/Controllers/V1/Admin/General/SearchUsersController.php b/app/Http/Controllers/V1/Admin/General/SearchUsersController.php new file mode 100644 index 00000000..098bb2c2 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/General/SearchUsersController.php @@ -0,0 +1,27 @@ +authorize('create', User::class); + + $users = User::whereEmail($request->email) + ->latest() + ->paginate(10); + + return response()->json(['users' => $users]); + } +} diff --git a/app/Http/Controllers/V1/General/TimezonesController.php b/app/Http/Controllers/V1/Admin/General/TimezonesController.php similarity index 89% rename from app/Http/Controllers/V1/General/TimezonesController.php rename to app/Http/Controllers/V1/Admin/General/TimezonesController.php index 93055918..f7a22435 100644 --- a/app/Http/Controllers/V1/General/TimezonesController.php +++ b/app/Http/Controllers/V1/Admin/General/TimezonesController.php @@ -1,6 +1,6 @@ authorize('send invoice', $invoice); + if ($request->status == Invoice::STATUS_SENT) { $invoice->status = Invoice::STATUS_SENT; $invoice->sent = true; diff --git a/app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php b/app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php new file mode 100644 index 00000000..aaf1f7cf --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Invoice/CloneInvoiceController.php @@ -0,0 +1,131 @@ +authorize('create', Invoice::class); + + $date = Carbon::now(); + + $serial = (new SerialNumberFormatter()) + ->setModel($invoice) + ->setCompany($invoice->company_id) + ->setCustomer($invoice->customer_id) + ->setNextNumbers(); + + $due_date = null; + $dueDateEnabled = CompanySetting::getSetting( + 'invoice_set_due_date_automatically', + $request->header('company') + ); + + if ($dueDateEnabled === 'YES') { + $dueDateDays = CompanySetting::getSetting( + 'invoice_due_date_days', + $request->header('company') + ); + $due_date = Carbon::now()->addDays($dueDateDays)->format('Y-m-d'); + } + + $exchange_rate = $invoice->exchange_rate; + + $newInvoice = Invoice::create([ + 'invoice_date' => $date->format('Y-m-d'), + 'due_date' => $due_date, + 'invoice_number' => $serial->getNextNumber(), + 'sequence_number' => $serial->nextSequenceNumber, + 'customer_sequence_number' => $serial->nextCustomerSequenceNumber, + 'reference_number' => $invoice->reference_number, + 'customer_id' => $invoice->customer_id, + 'company_id' => $request->header('company'), + 'template_name' => $invoice->template_name, + 'status' => Invoice::STATUS_DRAFT, + 'paid_status' => Invoice::STATUS_UNPAID, + 'sub_total' => $invoice->sub_total, + 'discount' => $invoice->discount, + 'discount_type' => $invoice->discount_type, + 'discount_val' => $invoice->discount_val, + 'total' => $invoice->total, + 'due_amount' => $invoice->total, + 'tax_per_item' => $invoice->tax_per_item, + 'discount_per_item' => $invoice->discount_per_item, + 'tax' => $invoice->tax, + 'notes' => $invoice->notes, + 'exchange_rate' => $exchange_rate, + 'base_total' => $invoice->total * $exchange_rate, + 'base_discount_val' => $invoice->discount_val * $exchange_rate, + 'base_sub_total' => $invoice->sub_total * $exchange_rate, + 'base_tax' => $invoice->tax * $exchange_rate, + 'base_due_amount' => $invoice->total * $exchange_rate, + 'currency_id' => $invoice->currency_id, + ]); + + $newInvoice->unique_hash = Hashids::connection(Invoice::class)->encode($newInvoice->id); + $newInvoice->save(); + $invoice->load('items.taxes'); + + $invoiceItems = $invoice->items->toArray(); + + foreach ($invoiceItems as $invoiceItem) { + $invoiceItem['company_id'] = $request->header('company'); + $invoiceItem['name'] = $invoiceItem['name']; + $invoiceItem['exchange_rate'] = $exchange_rate; + $invoiceItem['base_price'] = $invoiceItem['price'] * $exchange_rate; + $invoiceItem['base_discount_val'] = $invoiceItem['discount_val'] * $exchange_rate; + $invoiceItem['base_tax'] = $invoiceItem['tax'] * $exchange_rate; + $invoiceItem['base_total'] = $invoiceItem['total'] * $exchange_rate; + + $item = $newInvoice->items()->create($invoiceItem); + + if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) { + foreach ($invoiceItem['taxes'] as $tax) { + $tax['company_id'] = $request->header('company'); + + if ($tax['amount']) { + $item->taxes()->create($tax); + } + } + } + } + + if ($invoice->taxes) { + foreach ($invoice->taxes->toArray() as $tax) { + $tax['company_id'] = $request->header('company'); + $newInvoice->taxes()->create($tax); + } + } + + if ($invoice->fields()->exists()) { + $customFields = []; + + foreach ($invoice->fields as $data) { + $customFields[] = [ + 'id' => $data->custom_field_id, + 'value' => $data->defaultAnswer + ]; + } + + $newInvoice->addCustomFields($customFields); + } + + return new InvoiceResource($newInvoice); + } +} diff --git a/app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php b/app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php new file mode 100644 index 00000000..a9e0b977 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Invoice/InvoiceTemplatesController.php @@ -0,0 +1,27 @@ +authorize('viewAny', Invoice::class); + + $invoiceTemplates = Invoice::invoiceTemplates(); + + return response()->json([ + 'invoiceTemplates' => $invoiceTemplates, + ]); + } +} diff --git a/app/Http/Controllers/V1/Invoice/InvoicesController.php b/app/Http/Controllers/V1/Admin/Invoice/InvoicesController.php similarity index 57% rename from app/Http/Controllers/V1/Invoice/InvoicesController.php rename to app/Http/Controllers/V1/Admin/Invoice/InvoicesController.php index c16eac1a..f1c7fd21 100644 --- a/app/Http/Controllers/V1/Invoice/InvoicesController.php +++ b/app/Http/Controllers/V1/Admin/Invoice/InvoicesController.php @@ -1,10 +1,11 @@ authorize('viewAny', Invoice::class); + $limit = $request->has('limit') ? $request->limit : 10; - $invoices = Invoice::with(['items', 'user', 'creator', 'taxes']) - ->join('users', 'users.id', '=', 'invoices.user_id') - ->applyFilters($request->only([ - 'status', - 'paid_status', - 'customer_id', - 'invoice_id', - 'invoice_number', - 'from_date', - 'to_date', - 'orderByField', - 'orderBy', - 'search', - ])) - ->whereCompany($request->header('company')) - ->select('invoices.*', 'users.name') + $invoices = Invoice::whereCompany() + ->join('customers', 'customers.id', '=', 'invoices.customer_id') + ->applyFilters($request->all()) + ->select('invoices.*', 'customers.name') ->latest() ->paginateData($limit); - return response()->json([ - 'invoices' => $invoices, - 'invoiceTotalCount' => Invoice::count(), - ]); + return (InvoiceResource::collection($invoices)) + ->additional(['meta' => [ + 'invoice_total_count' => Invoice::whereCompany()->count(), + ]]); } /** @@ -53,6 +44,8 @@ class InvoicesController extends Controller */ public function store(Requests\InvoicesRequest $request) { + $this->authorize('create', Invoice::class); + $invoice = Invoice::createInvoice($request); if ($request->has('invoiceSend')) { @@ -61,9 +54,7 @@ class InvoicesController extends Controller GenerateInvoicePdfJob::dispatch($invoice); - return response()->json([ - 'invoice' => $invoice, - ]); + return new InvoiceResource($invoice); } /** @@ -72,23 +63,11 @@ class InvoicesController extends Controller * @param \Crater\Models\Invoice $invoice * @return \Illuminate\Http\JsonResponse */ - public function show(Invoice $invoice) + public function show(Request $request, Invoice $invoice) { - $invoice->load([ - 'items', - 'items.taxes', - 'user', - 'taxes.taxType', - 'fields.customField', - ]); + $this->authorize('view', $invoice); - $siteData = [ - 'invoice' => $invoice, - 'nextInvoiceNumber' => $invoice->getInvoiceNumAttribute(), - 'invoicePrefix' => $invoice->getInvoicePrefixAttribute(), - ]; - - return response()->json($siteData); + return new InvoiceResource($invoice); } /** @@ -100,14 +79,17 @@ class InvoicesController extends Controller */ public function update(Requests\InvoicesRequest $request, Invoice $invoice) { + $this->authorize('update', $invoice); + $invoice = $invoice->updateInvoice($request); + if (is_string($invoice)) { + return respondJson($invoice, $invoice); + } + GenerateInvoicePdfJob::dispatch($invoice, true); - return response()->json([ - 'invoice' => $invoice, - 'success' => true, - ]); + return new InvoiceResource($invoice); } /** @@ -118,6 +100,8 @@ class InvoicesController extends Controller */ public function delete(DeleteInvoiceRequest $request) { + $this->authorize('delete multiple invoices'); + Invoice::destroy($request->ids); return response()->json([ diff --git a/app/Http/Controllers/V1/Invoice/SendInvoiceController.php b/app/Http/Controllers/V1/Admin/Invoice/SendInvoiceController.php similarity index 84% rename from app/Http/Controllers/V1/Invoice/SendInvoiceController.php rename to app/Http/Controllers/V1/Admin/Invoice/SendInvoiceController.php index c18930b6..1ebcc4b2 100644 --- a/app/Http/Controllers/V1/Invoice/SendInvoiceController.php +++ b/app/Http/Controllers/V1/Admin/Invoice/SendInvoiceController.php @@ -1,6 +1,6 @@ authorize('send invoice', $invoice); + $invoice->send($request->all()); return response()->json([ diff --git a/app/Http/Controllers/V1/Admin/Invoice/SendInvoicePreviewController.php b/app/Http/Controllers/V1/Admin/Invoice/SendInvoicePreviewController.php new file mode 100644 index 00000000..8fab525c --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Invoice/SendInvoicePreviewController.php @@ -0,0 +1,26 @@ +authorize('send invoice', $invoice); + + $markdown = new Markdown(view(), config('mail.markdown')); + + return $markdown->render('emails.send.invoice', ['data' => $invoice->sendInvoiceData($request->all())]); + } +} diff --git a/app/Http/Controllers/V1/Item/ItemsController.php b/app/Http/Controllers/V1/Admin/Item/ItemsController.php similarity index 69% rename from app/Http/Controllers/V1/Item/ItemsController.php rename to app/Http/Controllers/V1/Admin/Item/ItemsController.php index 973fd82d..8e74c696 100644 --- a/app/Http/Controllers/V1/Item/ItemsController.php +++ b/app/Http/Controllers/V1/Admin/Item/ItemsController.php @@ -1,10 +1,11 @@ authorize('viewAny', Item::class); + $limit = $request->has('limit') ? $request->limit : 10; - $items = Item::with(['taxes', 'creator']) + $items = Item::whereCompany() ->leftJoin('units', 'units.id', '=', 'items.unit_id') - ->applyFilters($request->only([ - 'search', - 'price', - 'unit_id', - 'item_id', - 'orderByField', - 'orderBy', - ])) - ->whereCompany($request->header('company')) + ->applyFilters($request->all()) ->select('items.*', 'units.name as unit_name') ->latest() ->paginateData($limit); - return response()->json([ - 'items' => $items, - 'taxTypes' => TaxType::latest()->get(), - 'itemTotalCount' => Item::count(), - ]); + return (ItemResource::collection($items)) + ->additional(['meta' => [ + 'tax_types' => TaxType::whereCompany()->latest()->get(), + 'item_total_count' => Item::whereCompany()->count(), + ]]); } /** @@ -51,11 +46,11 @@ class ItemsController extends Controller */ public function store(Requests\ItemsRequest $request) { + $this->authorize('create', Item::class); + $item = Item::createItem($request); - return response()->json([ - 'item' => $item, - ]); + return new ItemResource($item); } /** @@ -66,11 +61,9 @@ class ItemsController extends Controller */ public function show(Item $item) { - $item->load('taxes'); + $this->authorize('view', $item); - return response()->json([ - 'item' => $item, - ]); + return new ItemResource($item); } /** @@ -82,11 +75,11 @@ class ItemsController extends Controller */ public function update(Requests\ItemsRequest $request, Item $item) { + $this->authorize('update', $item); + $item = $item->updateItem($request); - return response()->json([ - 'item' => $item, - ]); + return new ItemResource($item); } /** @@ -97,6 +90,8 @@ class ItemsController extends Controller */ public function delete(DeleteItemsRequest $request) { + $this->authorize('delete multiple items'); + Item::destroy($request->ids); return response()->json([ diff --git a/app/Http/Controllers/V1/Item/UnitsController.php b/app/Http/Controllers/V1/Admin/Item/UnitsController.php similarity index 62% rename from app/Http/Controllers/V1/Item/UnitsController.php rename to app/Http/Controllers/V1/Admin/Item/UnitsController.php index 115eee79..70a78ea3 100644 --- a/app/Http/Controllers/V1/Item/UnitsController.php +++ b/app/Http/Controllers/V1/Admin/Item/UnitsController.php @@ -1,9 +1,10 @@ authorize('viewAny', Unit::class); + $limit = $request->has('limit') ? $request->limit : 5; - $units = Unit::whereCompany($request->header('company')) - ->applyFilters($request->only([ - 'unit_id', - ])) + $units = Unit::applyFilters($request->all()) + ->whereCompany() ->latest() ->paginateData($limit); - return response()->json([ - 'units' => $units, - ]); - } - - /** - * Show the form for creating a new resource. - * - * @return \Illuminate\Http\Response - */ - public function create() - { - // + return UnitResource::collection($units); } /** @@ -48,13 +37,11 @@ class UnitsController extends Controller */ public function store(UnitRequest $request) { - $data = $request->validated(); - $data['company_id'] = $request->header('company'); - $unit = Unit::create($data); + $this->authorize('create', Unit::class); - return response()->json([ - 'unit' => $unit, - ]); + $unit = Unit::create($request->getUnitPayload()); + + return new UnitResource($unit); } /** @@ -65,9 +52,9 @@ class UnitsController extends Controller */ public function show(Unit $unit) { - return response()->json([ - 'unit' => $unit, - ]); + $this->authorize('view', $unit); + + return new UnitResource($unit); } /** @@ -79,11 +66,11 @@ class UnitsController extends Controller */ public function update(UnitRequest $request, Unit $unit) { - $unit->update($request->validated()); + $this->authorize('update', $unit); - return response()->json([ - 'unit' => $unit, - ]); + $unit->update($request->getUnitPayload()); + + return new UnitResource($unit); } /** @@ -94,10 +81,10 @@ class UnitsController extends Controller */ public function destroy(Unit $unit) { + $this->authorize('delete', $unit); + if ($unit->items()->exists()) { - return response()->json([ - 'error' => 'items_attached', - ]); + return respondJson('items_attached', 'Items Attached'); } $unit->delete(); diff --git a/app/Http/Controllers/V1/Mobile/AuthController.php b/app/Http/Controllers/V1/Admin/Mobile/AuthController.php similarity index 79% rename from app/Http/Controllers/V1/Mobile/AuthController.php rename to app/Http/Controllers/V1/Admin/Mobile/AuthController.php index f4b1b5ec..e7603e5d 100644 --- a/app/Http/Controllers/V1/Mobile/AuthController.php +++ b/app/Http/Controllers/V1/Admin/Mobile/AuthController.php @@ -1,8 +1,9 @@ validate([ - 'username' => 'required|email', - 'password' => 'required', - 'device_name' => 'required', - ]); - $user = User::where('email', $request->username)->first(); if (! $user || ! Hash::check($request->password, $user->password)) { diff --git a/app/Http/Controllers/V1/Payment/PaymentMethodsController.php b/app/Http/Controllers/V1/Admin/Payment/PaymentMethodsController.php similarity index 70% rename from app/Http/Controllers/V1/Payment/PaymentMethodsController.php rename to app/Http/Controllers/V1/Admin/Payment/PaymentMethodsController.php index 52c468e2..0d12db8b 100644 --- a/app/Http/Controllers/V1/Payment/PaymentMethodsController.php +++ b/app/Http/Controllers/V1/Admin/Payment/PaymentMethodsController.php @@ -1,9 +1,10 @@ authorize('viewAny', PaymentMethod::class); + $limit = $request->has('limit') ? $request->limit : 5; - $paymentMethods = PaymentMethod::whereCompany($request->header('company')) - ->applyFilters($request->only([ - 'method_id', - 'search', - ])) + $paymentMethods = PaymentMethod::applyFilters($request->all()) + ->whereCompany() ->latest() ->paginateData($limit); - return response()->json([ - 'paymentMethods' => $paymentMethods, - ]); + return PaymentMethodResource::collection($paymentMethods); } /** @@ -39,11 +37,11 @@ class PaymentMethodsController extends Controller */ public function store(PaymentMethodRequest $request) { + $this->authorize('create', PaymentMethod::class); + $paymentMethod = PaymentMethod::createPaymentMethod($request); - return response()->json([ - 'paymentMethod' => $paymentMethod, - ]); + return new PaymentMethodResource($paymentMethod); } /** @@ -54,9 +52,9 @@ class PaymentMethodsController extends Controller */ public function show(PaymentMethod $paymentMethod) { - return response()->json([ - 'paymentMethod' => $paymentMethod, - ]); + $this->authorize('view', $paymentMethod); + + return new PaymentMethodResource($paymentMethod); } /** @@ -68,11 +66,11 @@ class PaymentMethodsController extends Controller */ public function update(PaymentMethodRequest $request, PaymentMethod $paymentMethod) { + $this->authorize('update', $paymentMethod); + $paymentMethod->update($request->validated()); - return response()->json([ - 'paymentMethod' => $paymentMethod, - ]); + return new PaymentMethodResource($paymentMethod); } /** @@ -83,12 +81,12 @@ class PaymentMethodsController extends Controller */ public function destroy(PaymentMethod $paymentMethod) { + $this->authorize('delete', $paymentMethod); + $payments = $paymentMethod->payments; if ($payments->count() > 0) { - return response()->json([ - 'error' => 'payments_attached', - ]); + return respondJson('payments_attached', 'Payments Attached.'); } $paymentMethod->delete(); diff --git a/app/Http/Controllers/V1/Payment/PaymentsController.php b/app/Http/Controllers/V1/Admin/Payment/PaymentsController.php similarity index 50% rename from app/Http/Controllers/V1/Payment/PaymentsController.php rename to app/Http/Controllers/V1/Admin/Payment/PaymentsController.php index 1c5ee327..85119f76 100644 --- a/app/Http/Controllers/V1/Payment/PaymentsController.php +++ b/app/Http/Controllers/V1/Admin/Payment/PaymentsController.php @@ -1,10 +1,11 @@ authorize('viewAny', Payment::class); + $limit = $request->has('limit') ? $request->limit : 10; - $payments = Payment::with(['user', 'invoice', 'paymentMethod', 'creator']) - ->join('users', 'users.id', '=', 'payments.user_id') + $payments = Payment::whereCompany() + ->join('customers', 'customers.id', '=', 'payments.customer_id') ->leftJoin('invoices', 'invoices.id', '=', 'payments.invoice_id') ->leftJoin('payment_methods', 'payment_methods.id', '=', 'payments.payment_method_id') - ->applyFilters($request->only([ - 'search', - 'payment_number', - 'payment_id', - 'payment_method_id', - 'customer_id', - 'orderByField', - 'orderBy', - ])) - ->whereCompany($request->header('company')) - ->select('payments.*', 'users.name', 'invoices.invoice_number', 'payment_methods.name as payment_mode') + ->applyFilters($request->all()) + ->select('payments.*', 'customers.name', 'invoices.invoice_number', 'payment_methods.name as payment_mode') ->latest() ->paginateData($limit); - return response()->json([ - 'payments' => $payments, - 'paymentTotalCount' => Payment::count(), - ]); + return (PaymentResource::collection($payments)) + ->additional(['meta' => [ + 'payment_total_count' => Payment::whereCompany()->count(), + ]]); } /** @@ -51,42 +45,33 @@ class PaymentsController extends Controller */ public function store(PaymentRequest $request) { + $this->authorize('create', Payment::class); + $payment = Payment::createPayment($request); - return response()->json([ - 'payment' => $payment, - 'success' => true, - ]); + return new PaymentResource($payment); } public function show(Request $request, Payment $payment) { - $payment->load([ - 'user', - 'invoice', - 'paymentMethod', - 'fields.customField', - ]); + $this->authorize('view', $payment); - return response()->json([ - 'nextPaymentNumber' => $payment->getPaymentNumAttribute(), - 'payment_prefix' => $payment->getPaymentPrefixAttribute(), - 'payment' => $payment, - ]); + return new PaymentResource($payment); } public function update(PaymentRequest $request, Payment $payment) { + $this->authorize('update', $payment); + $payment = $payment->updatePayment($request); - return response()->json([ - 'payment' => $payment, - 'success' => true, - ]); + return new PaymentResource($payment); } public function delete(DeletePaymentsRequest $request) { + $this->authorize('delete multiple payments'); + Payment::deletePayments($request->ids); return response()->json([ diff --git a/app/Http/Controllers/V1/Payment/SendPaymentController.php b/app/Http/Controllers/V1/Admin/Payment/SendPaymentController.php similarity index 82% rename from app/Http/Controllers/V1/Payment/SendPaymentController.php rename to app/Http/Controllers/V1/Admin/Payment/SendPaymentController.php index 4a95c821..2bafed34 100644 --- a/app/Http/Controllers/V1/Payment/SendPaymentController.php +++ b/app/Http/Controllers/V1/Admin/Payment/SendPaymentController.php @@ -1,6 +1,6 @@ authorize('send payment', $payment); + $response = $payment->send($request->all()); return response()->json($response); diff --git a/app/Http/Controllers/V1/Admin/Payment/SendPaymentPreviewController.php b/app/Http/Controllers/V1/Admin/Payment/SendPaymentPreviewController.php new file mode 100644 index 00000000..5c1bc629 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Payment/SendPaymentPreviewController.php @@ -0,0 +1,26 @@ +authorize('send payment', $payment); + + $markdown = new Markdown(view(), config('mail.markdown')); + + return $markdown->render('emails.send.payment', ['data' => $payment->sendPaymentData($request->all())]); + } +} diff --git a/app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceController.php b/app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceController.php new file mode 100644 index 00000000..10fc56c4 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceController.php @@ -0,0 +1,94 @@ +authorize('viewAny', RecurringInvoice::class); + + $limit = $request->has('limit') ? $request->limit : 10; + + $recurringInvoices = RecurringInvoice::whereCompany() + ->applyFilters($request->all()) + ->paginateData($limit); + + return (RecurringInvoiceResource::collection($recurringInvoices)) + ->additional(['meta' => [ + 'recurring_invoice_total_count' => RecurringInvoice::whereCompany()->count(), + ]]); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(RecurringInvoiceRequest $request) + { + $this->authorize('create', RecurringInvoice::class); + + $recurringInvoice = RecurringInvoice::createFromRequest($request); + + return new RecurringInvoiceResource($recurringInvoice); + } + + /** + * Display the specified resource. + * + * @param \Crater\Models\RecurringInvoice $recurringInvoice + * @return \Illuminate\Http\Response + */ + public function show(RecurringInvoice $recurringInvoice) + { + $this->authorize('view', $recurringInvoice); + + return new RecurringInvoiceResource($recurringInvoice); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \Crater\Models\RecurringInvoice $recurringInvoice + * @return \Illuminate\Http\Response + */ + public function update(RecurringInvoiceRequest $request, RecurringInvoice $recurringInvoice) + { + $this->authorize('update', $recurringInvoice); + + $recurringInvoice->updateFromRequest($request); + + return new RecurringInvoiceResource($recurringInvoice); + } + + /** + * Remove the specified resource from storage. + * + * @param \Crater\Models\RecurringInvoice $recurringInvoice + * @return \Illuminate\Http\Response + */ + public function delete(Request $request) + { + $this->authorize('delete multiple recurring invoices'); + + RecurringInvoice::deleteRecurringInvoice($request->ids); + + return response()->json([ + 'success' => true, + ]); + } +} diff --git a/app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceFrequencyController.php b/app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceFrequencyController.php new file mode 100644 index 00000000..77cce3f3 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/RecurringInvoice/RecurringInvoiceFrequencyController.php @@ -0,0 +1,20 @@ +frequency, $request->starts_at); + + return response()->json([ + 'success' => true, + 'next_invoice_at' => $nextInvoiceAt, + ]); + } +} diff --git a/app/Http/Controllers/V1/Report/CustomerSalesReportController.php b/app/Http/Controllers/V1/Admin/Report/CustomerSalesReportController.php similarity index 87% rename from app/Http/Controllers/V1/Report/CustomerSalesReportController.php rename to app/Http/Controllers/V1/Admin/Report/CustomerSalesReportController.php index 7df1c048..736a6576 100644 --- a/app/Http/Controllers/V1/Report/CustomerSalesReportController.php +++ b/app/Http/Controllers/V1/Admin/Report/CustomerSalesReportController.php @@ -1,12 +1,12 @@ first(); + $this->authorize('view report', $company); + $locale = CompanySetting::getSetting('language', $company->id); App::setLocale($locale); @@ -31,14 +33,13 @@ class CustomerSalesReportController extends Controller $start = Carbon::createFromFormat('Y-m-d', $request->from_date); $end = Carbon::createFromFormat('Y-m-d', $request->to_date); - $customers = User::with(['invoices' => function ($query) use ($start, $end) { + $customers = Customer::with(['invoices' => function ($query) use ($start, $end) { $query->whereBetween( 'invoice_date', [$start->format('Y-m-d'), $end->format('Y-m-d')] ); }]) - ->customer() - ->whereCompany($company->id) + ->where('company_id', $company->id) ->applyInvoiceFilters($request->only(['from_date', 'to_date'])) ->get(); @@ -83,6 +84,10 @@ class CustomerSalesReportController extends Controller $pdf = PDF::loadView('app.pdf.reports.sales-customers'); + if ($request->has('preview')) { + return view('app.pdf.reports.sales-customers'); + } + if ($request->has('download')) { return $pdf->download(); } diff --git a/app/Http/Controllers/V1/Report/ExpensesReportController.php b/app/Http/Controllers/V1/Admin/Report/ExpensesReportController.php similarity index 89% rename from app/Http/Controllers/V1/Report/ExpensesReportController.php rename to app/Http/Controllers/V1/Admin/Report/ExpensesReportController.php index 7e44b470..f4851895 100644 --- a/app/Http/Controllers/V1/Report/ExpensesReportController.php +++ b/app/Http/Controllers/V1/Admin/Report/ExpensesReportController.php @@ -1,6 +1,6 @@ first(); + $this->authorize('view report', $company); + $locale = CompanySetting::getSetting('language', $company->id); App::setLocale($locale); $expenseCategories = Expense::with('category') - ->whereCompany($company->id) + ->whereCompanyId($company->id) ->applyFilters($request->only(['from_date', 'to_date'])) ->expensesAttributes() ->get(); - $totalAmount = 0; foreach ($expenseCategories as $category) { $totalAmount += $category->total_amount; @@ -68,6 +69,10 @@ class ExpensesReportController extends Controller ]); $pdf = PDF::loadView('app.pdf.reports.expenses'); + if ($request->has('preview')) { + return view('app.pdf.reports.expenses'); + } + if ($request->has('download')) { return $pdf->download(); } diff --git a/app/Http/Controllers/V1/Report/ItemSalesReportController.php b/app/Http/Controllers/V1/Admin/Report/ItemSalesReportController.php similarity index 91% rename from app/Http/Controllers/V1/Report/ItemSalesReportController.php rename to app/Http/Controllers/V1/Admin/Report/ItemSalesReportController.php index 2d7a9967..c68ea2fb 100644 --- a/app/Http/Controllers/V1/Report/ItemSalesReportController.php +++ b/app/Http/Controllers/V1/Admin/Report/ItemSalesReportController.php @@ -1,6 +1,6 @@ first(); + $this->authorize('view report', $company); + $locale = CompanySetting::getSetting('language', $company->id); App::setLocale($locale); @@ -67,6 +69,10 @@ class ItemSalesReportController extends Controller ]); $pdf = PDF::loadView('app.pdf.reports.sales-items'); + if ($request->has('preview')) { + return view('app.pdf.reports.sales-items'); + } + if ($request->has('download')) { return $pdf->download(); } diff --git a/app/Http/Controllers/V1/Report/ProfitLossReportController.php b/app/Http/Controllers/V1/Admin/Report/ProfitLossReportController.php similarity index 88% rename from app/Http/Controllers/V1/Report/ProfitLossReportController.php rename to app/Http/Controllers/V1/Admin/Report/ProfitLossReportController.php index 56b916b3..b16272c3 100644 --- a/app/Http/Controllers/V1/Report/ProfitLossReportController.php +++ b/app/Http/Controllers/V1/Admin/Report/ProfitLossReportController.php @@ -1,6 +1,6 @@ first(); + $this->authorize('view report', $company); + $locale = CompanySetting::getSetting('language', $company->id); App::setLocale($locale); - $invoicesAmount = Invoice::whereCompany($company->id) + $invoicesAmount = Invoice::whereCompanyId($company->id) ->applyFilters($request->only(['from_date', 'to_date'])) ->wherePaidStatus(Invoice::STATUS_PAID) ->sum('total'); $expenseCategories = Expense::with('category') - ->whereCompany($company->id) + ->whereCompanyId($company->id) ->applyFilters($request->only(['from_date', 'to_date'])) ->expensesAttributes() ->get(); @@ -76,6 +78,10 @@ class ProfitLossReportController extends Controller ]); $pdf = PDF::loadView('app.pdf.reports.profit-loss'); + if ($request->has('preview')) { + return view('app.pdf.reports.profit-loss'); + } + if ($request->has('download')) { return $pdf->download(); } diff --git a/app/Http/Controllers/V1/Report/TaxSummaryReportController.php b/app/Http/Controllers/V1/Admin/Report/TaxSummaryReportController.php similarity index 89% rename from app/Http/Controllers/V1/Report/TaxSummaryReportController.php rename to app/Http/Controllers/V1/Admin/Report/TaxSummaryReportController.php index b5467556..48c690e4 100644 --- a/app/Http/Controllers/V1/Report/TaxSummaryReportController.php +++ b/app/Http/Controllers/V1/Admin/Report/TaxSummaryReportController.php @@ -1,6 +1,6 @@ first(); + $this->authorize('view report', $company); + $locale = CompanySetting::getSetting('language', $company->id); App::setLocale($locale); $taxTypes = Tax::with('taxType', 'invoice', 'invoiceItem') - ->whereCompany($company->id) + ->whereCompany($company->id) ->whereInvoicesFilters($request->only(['from_date', 'to_date'])) ->taxAttributes() ->get(); @@ -70,6 +72,10 @@ class TaxSummaryReportController extends Controller $pdf = PDF::loadView('app.pdf.reports.tax-summary'); + if ($request->has('preview')) { + return view('app.pdf.reports.tax-summary'); + } + if ($request->has('download')) { return $pdf->download(); } diff --git a/app/Http/Controllers/V1/Admin/Role/AbilitiesController.php b/app/Http/Controllers/V1/Admin/Role/AbilitiesController.php new file mode 100644 index 00000000..5223db74 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Role/AbilitiesController.php @@ -0,0 +1,20 @@ +json(['abilities' => config('abilities.abilities')]); + } +} diff --git a/app/Http/Controllers/V1/Admin/Role/RolesController.php b/app/Http/Controllers/V1/Admin/Role/RolesController.php new file mode 100644 index 00000000..e64abe04 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Role/RolesController.php @@ -0,0 +1,119 @@ +authorize('viewAny', Role::class); + + $roles = Role::when($request->has('orderByField'), function ($query) use ($request) { + return $query->orderBy($request['orderByField'], $request['orderBy']); + }) + ->when($request->company_id, function ($query) use ($request) { + return $query->where('scope', $request->company_id); + }) + ->get(); + + return RoleResource::collection($roles); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(RoleRequest $request) + { + $this->authorize('create', Role::class); + + $role = Role::create($request->getRolePayload()); + + $this->syncAbilities($request, $role); + + return new RoleResource($role); + } + + /** + * Display the specified resource. + * + * @param \Spatie\Permission\Models\Role $role + * @return \Illuminate\Http\Response + */ + public function show(Role $role) + { + $this->authorize('view', $role); + + return new RoleResource($role); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param \Spatie\Permission\Models\Role $role + * @return \Illuminate\Http\Response + */ + public function update(RoleRequest $request, Role $role) + { + $this->authorize('update', $role); + + $role->update($request->getRolePayload()); + + $this->syncAbilities($request, $role); + + return new RoleResource($role); + } + + /** + * Remove the specified resource from storage. + * + * @param \Spatie\Permission\Models\Role $role + * @return \Illuminate\Http\Response + */ + public function destroy(Role $role) + { + $this->authorize('delete', $role); + + $users = User::whereIs($role->name)->get()->toArray(); + + if (! empty($users)) { + return respondJson('role_attached_to_users', 'Roles Attached to user'); + } + + $role->delete(); + + return response()->json([ + 'success' => true + ]); + } + + private function syncAbilities(RoleRequest $request, $role) + { + foreach (config('abilities.abilities') as $ability) { + $check = array_search($ability['ability'], array_column($request->abilities, 'ability')); + if ($check !== false) { + BouncerFacade::allow($role)->to($ability['ability'], $ability['model']); + } else { + BouncerFacade::disallow($role)->to($ability['ability'], $ability['model']); + } + } + + return true; + } +} diff --git a/app/Http/Controllers/V1/Settings/CompanyController.php b/app/Http/Controllers/V1/Admin/Settings/CompanyController.php similarity index 61% rename from app/Http/Controllers/V1/Settings/CompanyController.php rename to app/Http/Controllers/V1/Admin/Settings/CompanyController.php index 3591d155..f594e13b 100644 --- a/app/Http/Controllers/V1/Settings/CompanyController.php +++ b/app/Http/Controllers/V1/Admin/Settings/CompanyController.php @@ -1,13 +1,14 @@ load([ - 'addresses', - 'addresses.country', - 'company', - 'company.address', - 'company.address.country', - ]); - - return response()->json([ - 'user' => $user, - ]); + return new UserResource($request->user()); } /** @@ -41,14 +30,11 @@ class CompanyController extends Controller */ public function updateProfile(ProfileRequest $request) { - $user = Auth::user(); + $user = $request->user(); $user->update($request->validated()); - return response()->json([ - 'user' => $user, - 'success' => true, - ]); + return new UserResource($user); } /** @@ -58,16 +44,15 @@ class CompanyController extends Controller */ public function updateCompany(CompanyRequest $request) { - $company = Auth::user()->company; + $company = Company::find($request->header('company')); + + $this->authorize('manage company', $company); $company->update($request->only('name')); - $company->address()->updateOrCreate(['company_id' => $company->id], $request->except(['name'])); + $company->address()->updateOrCreate(['company_id' => $company->id], $request->address); - return response()->json([ - 'company' => $company, - 'success' => true, - ]); + return new CompanyResource($company); } /** @@ -78,6 +63,10 @@ class CompanyController extends Controller */ public function uploadCompanyLogo(Request $request) { + $company = Company::find($request->header('company')); + + $this->authorize('manage company', $company); + $data = json_decode($request->company_logo); if ($data) { @@ -105,23 +94,24 @@ class CompanyController extends Controller */ public function uploadAvatar(Request $request) { - $data = json_decode($request->admin_avatar); + $user = auth()->user(); - if ($data) { - $user = auth()->user(); + if ($user && $request->hasFile('admin_avatar')) { + $user->clearMediaCollection('admin_avatar'); - if ($user) { - $user->clearMediaCollection('admin_avatar'); - - $user->addMediaFromBase64($data->data) - ->usingFileName($data->name) - ->toMediaCollection('admin_avatar'); - } + $user->addMediaFromRequest('admin_avatar') + ->toMediaCollection('admin_avatar'); } - return response()->json([ - 'user' => $user, - 'success' => true, - ]); + if ($user && $request->has('avatar')) { + $data = json_decode($request->avatar); + $user->clearMediaCollection('admin_avatar'); + + $user->addMediaFromBase64($data->data) + ->usingFileName($data->name) + ->toMediaCollection('admin_avatar'); + } + + return new UserResource($user); } } diff --git a/app/Http/Controllers/V1/Settings/DiskController.php b/app/Http/Controllers/V1/Admin/Settings/DiskController.php similarity index 83% rename from app/Http/Controllers/V1/Settings/DiskController.php rename to app/Http/Controllers/V1/Admin/Settings/DiskController.php index 9f00901f..54da8680 100644 --- a/app/Http/Controllers/V1/Settings/DiskController.php +++ b/app/Http/Controllers/V1/Admin/Settings/DiskController.php @@ -1,9 +1,10 @@ authorize('manage file disk'); + $limit = $request->has('limit') ? $request->limit : 5; $disks = FileDisk::applyFilters($request->all()) ->latest() ->paginateData($limit); - return response()->json([ - 'disks' => $disks, - ]); + return FileDiskResource::collection($disks); } /** @@ -33,19 +34,15 @@ class DiskController extends Controller */ public function store(DiskEnvironmentRequest $request) { + $this->authorize('manage file disk'); + if (! FileDisk::validateCredentials($request->credentials, $request->driver)) { - return response()->json([ - 'success' => false, - 'error' => 'invalid_credentials', - ]); + return respondJson('invalid_credentials', 'Invalid Credentials.'); } $disk = FileDisk::createDisk($request); - return response()->json([ - 'success' => true, - 'disk' => $disk, - ]); + return new FileDiskResource($disk); } /** @@ -56,15 +53,14 @@ class DiskController extends Controller */ public function update(FileDisk $disk, Request $request) { + $this->authorize('manage file disk'); + $credentials = $request->credentials; $driver = $request->driver; if ($credentials && $driver && $disk->type !== 'SYSTEM') { if (! FileDisk::validateCredentials($credentials, $driver)) { - return response()->json([ - 'success' => false, - 'error' => 'invalid_credentials', - ]); + return respondJson('invalid_credentials', 'Invalid Credentials.'); } $disk->updateDisk($request); @@ -72,10 +68,7 @@ class DiskController extends Controller $disk->setAsDefaultDisk(); } - return response()->json([ - 'success' => true, - 'disk' => $disk, - ]); + return new FileDiskResource($disk); } /** @@ -84,6 +77,8 @@ class DiskController extends Controller */ public function show($disk) { + $this->authorize('manage file disk'); + $diskData = []; switch ($disk) { case 'local': @@ -142,10 +137,10 @@ class DiskController extends Controller */ public function destroy(FileDisk $disk) { + $this->authorize('manage file disk'); + if ($disk->setAsDefault() && $disk->type === 'SYSTEM') { - return response()->json([ - 'success' => false, - ]); + return respondJson('not_allowed', 'Not Allowed'); } $disk->delete(); @@ -161,6 +156,8 @@ class DiskController extends Controller */ public function getDiskDrivers() { + $this->authorize('manage file disk'); + $drivers = [ [ 'name' => 'Local', diff --git a/app/Http/Controllers/V1/Admin/Settings/GetCompanyMailConfigurationController.php b/app/Http/Controllers/V1/Admin/Settings/GetCompanyMailConfigurationController.php new file mode 100644 index 00000000..6e8b6b76 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Settings/GetCompanyMailConfigurationController.php @@ -0,0 +1,25 @@ + config('mail.from.name'), + 'from_mail' => config('mail.from.address'), + ]; + + return response()->json($mailConfig); + } +} diff --git a/app/Http/Controllers/V1/Settings/GetCompanySettingsController.php b/app/Http/Controllers/V1/Admin/Settings/GetCompanySettingsController.php similarity index 91% rename from app/Http/Controllers/V1/Settings/GetCompanySettingsController.php rename to app/Http/Controllers/V1/Admin/Settings/GetCompanySettingsController.php index 115ec4b5..f01c42f8 100644 --- a/app/Http/Controllers/V1/Settings/GetCompanySettingsController.php +++ b/app/Http/Controllers/V1/Admin/Settings/GetCompanySettingsController.php @@ -1,6 +1,6 @@ user(); return response()->json($user->getSettings($request->settings)); } diff --git a/app/Http/Controllers/V1/Settings/MailConfigurationController.php b/app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php similarity index 92% rename from app/Http/Controllers/V1/Settings/MailConfigurationController.php rename to app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php index d1762351..29794d5c 100755 --- a/app/Http/Controllers/V1/Settings/MailConfigurationController.php +++ b/app/Http/Controllers/V1/Admin/Settings/MailConfigurationController.php @@ -1,6 +1,6 @@ authorize('manage email config'); + $setting = Setting::getSetting('profile_complete'); $results = $this->environmentManager->saveMailVariables($request); @@ -45,6 +47,8 @@ class MailConfigurationController extends Controller public function getMailEnvironment() { + $this->authorize('manage email config'); + $MailData = [ 'mail_driver' => config('mail.driver'), 'mail_host' => config('mail.host'), @@ -71,6 +75,8 @@ class MailConfigurationController extends Controller */ public function getMailDrivers() { + $this->authorize('manage email config'); + $drivers = [ 'smtp', 'mail', @@ -84,6 +90,8 @@ class MailConfigurationController extends Controller public function testEmailConfig(Request $request) { + $this->authorize('manage email config'); + $this->validate($request, [ 'to' => 'required|email', 'subject' => 'required', diff --git a/app/Http/Controllers/V1/Settings/TaxTypesController.php b/app/Http/Controllers/V1/Admin/Settings/TaxTypesController.php similarity index 64% rename from app/Http/Controllers/V1/Settings/TaxTypesController.php rename to app/Http/Controllers/V1/Admin/Settings/TaxTypesController.php index 3f3c1053..419b2b63 100644 --- a/app/Http/Controllers/V1/Settings/TaxTypesController.php +++ b/app/Http/Controllers/V1/Admin/Settings/TaxTypesController.php @@ -1,9 +1,10 @@ authorize('viewAny', TaxType::class); + $limit = $request->has('limit') ? $request->limit : 5; - $taxTypes = TaxType::whereCompany($request->header('company')) - ->applyFilters($request->only([ - 'tax_type_id', - 'search', - 'orderByField', - 'orderBy', - ])) + $taxTypes = TaxType::applyFilters($request->all()) + ->whereCompany() ->latest() ->paginateData($limit); - return response()->json([ - 'taxTypes' => $taxTypes, - ]); + return TaxTypeResource::collection($taxTypes); } /** @@ -41,15 +37,11 @@ class TaxTypesController extends Controller */ public function store(TaxTypeRequest $request) { - $data = $request->validated(); + $this->authorize('create', TaxType::class); - $data['company_id'] = $request->header('company'); + $taxType = TaxType::create($request->getTaxTypePayload()); - $taxType = TaxType::create($data); - - return response()->json([ - 'taxType' => $taxType, - ]); + return new TaxTypeResource($taxType); } /** @@ -60,9 +52,9 @@ class TaxTypesController extends Controller */ public function show(TaxType $taxType) { - return response()->json([ - 'taxType' => $taxType, - ]); + $this->authorize('view', $taxType); + + return new TaxTypeResource($taxType); } /** @@ -74,11 +66,11 @@ class TaxTypesController extends Controller */ public function update(TaxTypeRequest $request, TaxType $taxType) { - $taxType->update($request->validated()); + $this->authorize('update', $taxType); - return response()->json([ - 'taxType' => $taxType, - ]); + $taxType->update($request->getTaxTypePayload()); + + return new TaxTypeResource($taxType); } /** @@ -89,11 +81,12 @@ class TaxTypesController extends Controller */ public function destroy(TaxType $taxType) { + $this->authorize('delete', $taxType); + if ($taxType->taxes() && $taxType->taxes()->count() > 0) { - return response()->json([ - 'success' => false, - ]); + return respondJson('taxes_attached', 'Taxes Attached.'); } + $taxType->delete(); return response()->json([ diff --git a/app/Http/Controllers/V1/Settings/UpdateCompanySettingsController.php b/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php similarity index 77% rename from app/Http/Controllers/V1/Settings/UpdateCompanySettingsController.php rename to app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php index a434727c..264b0af7 100644 --- a/app/Http/Controllers/V1/Settings/UpdateCompanySettingsController.php +++ b/app/Http/Controllers/V1/Admin/Settings/UpdateCompanySettingsController.php @@ -1,9 +1,10 @@ authorize('manage company', Company::find($request->header('company'))); + CompanySetting::setSettings($request->settings, $request->header('company')); return response()->json([ diff --git a/app/Http/Controllers/V1/Settings/UpdateUserSettingsController.php b/app/Http/Controllers/V1/Admin/Settings/UpdateUserSettingsController.php similarity index 85% rename from app/Http/Controllers/V1/Settings/UpdateUserSettingsController.php rename to app/Http/Controllers/V1/Admin/Settings/UpdateUserSettingsController.php index 2b3367ae..9bf317b7 100644 --- a/app/Http/Controllers/V1/Settings/UpdateUserSettingsController.php +++ b/app/Http/Controllers/V1/Admin/Settings/UpdateUserSettingsController.php @@ -1,8 +1,7 @@ user(); $user->setSettings($request->settings); diff --git a/app/Http/Controllers/V1/Update/CheckVersionController.php b/app/Http/Controllers/V1/Admin/Update/CheckVersionController.php similarity index 64% rename from app/Http/Controllers/V1/Update/CheckVersionController.php rename to app/Http/Controllers/V1/Admin/Update/CheckVersionController.php index bcc4103f..5ae96227 100644 --- a/app/Http/Controllers/V1/Update/CheckVersionController.php +++ b/app/Http/Controllers/V1/Admin/Update/CheckVersionController.php @@ -1,6 +1,6 @@ user()) || (! $request->user()->isOwner())) { + return response()->json([ + 'success' => false, + 'message' => 'You are not allowed to update this app.' + ], 401); + } + set_time_limit(600); // 10 minutes $json = Updater::checkForUpdate(Setting::getSetting('version')); diff --git a/app/Http/Controllers/V1/Update/CopyFilesController.php b/app/Http/Controllers/V1/Admin/Update/CopyFilesController.php similarity index 66% rename from app/Http/Controllers/V1/Update/CopyFilesController.php rename to app/Http/Controllers/V1/Admin/Update/CopyFilesController.php index 38a0e9a5..81c21161 100644 --- a/app/Http/Controllers/V1/Update/CopyFilesController.php +++ b/app/Http/Controllers/V1/Admin/Update/CopyFilesController.php @@ -1,6 +1,6 @@ user()) || (! $request->user()->isOwner())) { + return response()->json([ + 'success' => false, + 'message' => 'You are not allowed to update this app.' + ], 401); + } + $request->validate([ 'path' => 'required', ]); diff --git a/app/Http/Controllers/V1/Update/DeleteFilesController.php b/app/Http/Controllers/V1/Admin/Update/DeleteFilesController.php similarity index 66% rename from app/Http/Controllers/V1/Update/DeleteFilesController.php rename to app/Http/Controllers/V1/Admin/Update/DeleteFilesController.php index 8ec78243..750700ce 100644 --- a/app/Http/Controllers/V1/Update/DeleteFilesController.php +++ b/app/Http/Controllers/V1/Admin/Update/DeleteFilesController.php @@ -1,6 +1,6 @@ user()) || (! $request->user()->isOwner())) { + return response()->json([ + 'success' => false, + 'message' => 'You are not allowed to update this app.' + ], 401); + } + if (isset($request->deleted_files) && ! empty($request->deleted_files)) { Updater::deleteFiles($request->deleted_files); } diff --git a/app/Http/Controllers/V1/Update/DownloadUpdateController.php b/app/Http/Controllers/V1/Admin/Update/DownloadUpdateController.php similarity index 66% rename from app/Http/Controllers/V1/Update/DownloadUpdateController.php rename to app/Http/Controllers/V1/Admin/Update/DownloadUpdateController.php index 6b853eaa..7005fafb 100644 --- a/app/Http/Controllers/V1/Update/DownloadUpdateController.php +++ b/app/Http/Controllers/V1/Admin/Update/DownloadUpdateController.php @@ -1,6 +1,6 @@ user()) || (! $request->user()->isOwner())) { + return response()->json([ + 'success' => false, + 'message' => 'You are not allowed to update this app.' + ], 401); + } + $request->validate([ 'version' => 'required', ]); diff --git a/app/Http/Controllers/V1/Update/FinishUpdateController.php b/app/Http/Controllers/V1/Admin/Update/FinishUpdateController.php similarity index 66% rename from app/Http/Controllers/V1/Update/FinishUpdateController.php rename to app/Http/Controllers/V1/Admin/Update/FinishUpdateController.php index 6c5b13d9..cb5de428 100644 --- a/app/Http/Controllers/V1/Update/FinishUpdateController.php +++ b/app/Http/Controllers/V1/Admin/Update/FinishUpdateController.php @@ -1,6 +1,6 @@ user()) || (! $request->user()->isOwner())) { + return response()->json([ + 'success' => false, + 'message' => 'You are not allowed to update this app.' + ], 401); + } + $request->validate([ 'installed' => 'required', 'version' => 'required', diff --git a/app/Http/Controllers/V1/Admin/Update/MigrateUpdateController.php b/app/Http/Controllers/V1/Admin/Update/MigrateUpdateController.php new file mode 100644 index 00000000..6b8e0aa1 --- /dev/null +++ b/app/Http/Controllers/V1/Admin/Update/MigrateUpdateController.php @@ -0,0 +1,32 @@ +user()) || (! $request->user()->isOwner())) { + return response()->json([ + 'success' => false, + 'message' => 'You are not allowed to update this app.' + ], 401); + } + + Updater::migrateUpdate(); + + return response()->json([ + 'success' => true, + ]); + } +} diff --git a/app/Http/Controllers/V1/Update/UnzipUpdateController.php b/app/Http/Controllers/V1/Admin/Update/UnzipUpdateController.php similarity index 73% rename from app/Http/Controllers/V1/Update/UnzipUpdateController.php rename to app/Http/Controllers/V1/Admin/Update/UnzipUpdateController.php index bdfa466a..e96279df 100644 --- a/app/Http/Controllers/V1/Update/UnzipUpdateController.php +++ b/app/Http/Controllers/V1/Admin/Update/UnzipUpdateController.php @@ -1,6 +1,6 @@ user()) || (! $request->user()->isOwner())) { + return response()->json([ + 'success' => false, + 'message' => 'You are not allowed to update this app.' + ], 401); + } + $request->validate([ 'path' => 'required', ]); diff --git a/app/Http/Controllers/V1/Update/UpdateController.php b/app/Http/Controllers/V1/Admin/Update/UpdateController.php similarity index 85% rename from app/Http/Controllers/V1/Update/UpdateController.php rename to app/Http/Controllers/V1/Admin/Update/UpdateController.php index 1339f713..36ec3005 100644 --- a/app/Http/Controllers/V1/Update/UpdateController.php +++ b/app/Http/Controllers/V1/Admin/Update/UpdateController.php @@ -1,6 +1,6 @@ authorize('manage update app'); + $request->validate([ 'version' => 'required', ]); @@ -25,6 +27,8 @@ class UpdateController extends Controller public function unzip(Request $request) { + $this->authorize('manage update app'); + $request->validate([ 'path' => 'required', ]); @@ -46,6 +50,8 @@ class UpdateController extends Controller public function copyFiles(Request $request) { + $this->authorize('manage update app'); + $request->validate([ 'path' => 'required', ]); @@ -60,6 +66,8 @@ class UpdateController extends Controller public function migrate(Request $request) { + $this->authorize('manage update app'); + Updater::migrateUpdate(); return response()->json([ @@ -69,6 +77,8 @@ class UpdateController extends Controller public function finishUpdate(Request $request) { + $this->authorize('manage update app'); + $request->validate([ 'installed' => 'required', 'version' => 'required', @@ -81,6 +91,8 @@ class UpdateController extends Controller public function checkLatestVersion(Request $request) { + $this->authorize('manage update app'); + set_time_limit(600); // 10 minutes $json = Updater::checkForUpdate(Setting::getSetting('version')); diff --git a/app/Http/Controllers/V1/Users/UsersController.php b/app/Http/Controllers/V1/Admin/Users/UsersController.php similarity index 54% rename from app/Http/Controllers/V1/Users/UsersController.php rename to app/Http/Controllers/V1/Admin/Users/UsersController.php index e05ef914..0b08c92c 100644 --- a/app/Http/Controllers/V1/Users/UsersController.php +++ b/app/Http/Controllers/V1/Admin/Users/UsersController.php @@ -1,13 +1,13 @@ authorize('viewAny', User::class); + $limit = $request->has('limit') ? $request->limit : 10; - $users = User::where('role', 'admin', 'creator') - ->applyFilters( - $request->only([ - 'phone', - 'email', - 'display_name', - 'orderByField', - 'orderBy', - ]) - ) + $user = $request->user(); + + $users = User::applyFilters($request->all()) + ->where('id', '<>', $user->id) ->latest() ->paginate($limit); - return response()->json([ - 'users' => $users, - ]); + return UserResource::collection($users) + ->additional(['meta' => [ + 'user_total_count' => User::count(), + ]]); } /** @@ -47,20 +44,11 @@ class UsersController extends Controller */ public function store(UserRequest $request) { - $data = $request->validated(); - $data['role'] = 'admin'; - $data['company_id'] = Auth::user()->company_id; - $data['creator_id'] = Auth::id(); - $user = User::create($data); + $this->authorize('create', User::class); - $user->setSettings([ - 'language' => CompanySetting::getSetting('language', $user->company_id), - ]); + $user = User::createFromRequest($request); - return response()->json([ - 'user' => $user, - 'success' => true, - ]); + return new UserResource($user); } /** @@ -71,10 +59,9 @@ class UsersController extends Controller */ public function show(User $user) { - return response()->json([ - 'user' => $user, - 'success' => true, - ]); + $this->authorize('view', $user); + + return new UserResource($user); } /** @@ -86,12 +73,11 @@ class UsersController extends Controller */ public function update(UserRequest $request, User $user) { - $user->update($request->validated()); + $this->authorize('update', $user); - return response()->json([ - 'user' => $user, - 'success' => true, - ]); + $user->updateFromRequest($request); + + return new UserResource($user); } /** @@ -100,10 +86,12 @@ class UsersController extends Controller * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\JsonResponse */ - public function delete(Request $request) + public function delete(DeleteUserRequest $request) { + $this->authorize('delete multiple users', User::class); + if ($request->users) { - User::destroy($request->users); + User::deleteUsers($request->users); } return response()->json([ diff --git a/app/Http/Controllers/V1/Customer/CustomersController.php b/app/Http/Controllers/V1/Customer/CustomersController.php deleted file mode 100644 index 71f481f7..00000000 --- a/app/Http/Controllers/V1/Customer/CustomersController.php +++ /dev/null @@ -1,120 +0,0 @@ -has('limit') ? $request->limit : 10; - - $customers = User::with('creator') - ->customer() - ->applyFilters($request->only([ - 'search', - 'contact_name', - 'display_name', - 'phone', - 'customer_id', - 'orderByField', - 'orderBy', - ])) - ->whereCompany($request->header('company')) - ->select( - 'users.*', - DB::raw('sum(invoices.due_amount) as due_amount') - ) - ->groupBy('users.id') - ->leftJoin('invoices', 'users.id', '=', 'invoices.user_id') - ->paginateData($limit); - - return response()->json([ - 'customers' => $customers, - 'customerTotalCount' => User::whereRole('customer')->count(), - ]); - } - - /** - * Store a newly created resource in storage. - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\JsonResponse - */ - public function store(Requests\CustomerRequest $request) - { - $customer = User::createCustomer($request); - - return response()->json([ - 'customer' => $customer, - 'success' => true, - ]); - } - - /** - * Display the specified resource. - * - * @param User $customer - * @return \Illuminate\Http\JsonResponse - */ - public function show(User $customer) - { - $customer->load([ - 'billingAddress.country', - 'shippingAddress.country', - 'fields.customField', - 'creator', - ]); - - $currency = $customer->currency; - - return response()->json([ - 'customer' => $customer, - 'currency' => $currency, - ]); - } - - /** - * Update the specified resource in storage. - * - * @param \Illuminate\Http\Request $request - * @param \Crater\Models\User $customer - * @return \Illuminate\Http\JsonResponse - */ - public function update(Requests\CustomerRequest $request, User $customer) - { - $customer = User::updateCustomer($request, $customer); - - $customer = User::with('billingAddress', 'shippingAddress', 'fields')->find($customer->id); - - return response()->json([ - 'customer' => $customer, - 'success' => true, - ]); - } - - /** - * Remove a list of Customers along side all their resources (ie. Estimates, Invoices, Payments and Addresses) - * - * @param \Illuminate\Http\Request $request - * @return \Illuminate\Http\JsonResponse - */ - public function delete(Request $request) - { - User::deleteCustomers($request->ids); - - return response()->json([ - 'success' => true, - ]); - } -} diff --git a/app/Http/Controllers/V1/Mobile/Customer/EstimatePdfController.php b/app/Http/Controllers/V1/Customer/EstimatePdfController.php similarity index 88% rename from app/Http/Controllers/V1/Mobile/Customer/EstimatePdfController.php rename to app/Http/Controllers/V1/Customer/EstimatePdfController.php index b85aa388..7c6e9bce 100644 --- a/app/Http/Controllers/V1/Mobile/Customer/EstimatePdfController.php +++ b/app/Http/Controllers/V1/Customer/EstimatePdfController.php @@ -1,12 +1,12 @@ id)->toArray(); - $data['user'] = User::find($estimate->user_id)->toArray(); + $data['user'] = Customer::find($estimate->customer_id)->toArray(); $notificationEmail = CompanySetting::getSetting( 'notification_email', $estimate->company_id diff --git a/app/Http/Controllers/V1/Mobile/Customer/InvoicePdfController.php b/app/Http/Controllers/V1/Customer/InvoicePdfController.php similarity index 88% rename from app/Http/Controllers/V1/Mobile/Customer/InvoicePdfController.php rename to app/Http/Controllers/V1/Customer/InvoicePdfController.php index 85d1ce3d..f7b891f0 100644 --- a/app/Http/Controllers/V1/Mobile/Customer/InvoicePdfController.php +++ b/app/Http/Controllers/V1/Customer/InvoicePdfController.php @@ -1,12 +1,12 @@ id)->toArray(); - $data['user'] = User::find($invoice->user_id)->toArray(); + $data['user'] = Customer::find($invoice->customer_id)->toArray(); $notificationEmail = CompanySetting::getSetting( 'notification_email', $invoice->company_id diff --git a/app/Http/Controllers/V1/Dashboard/DashboardChartController.php b/app/Http/Controllers/V1/Dashboard/DashboardChartController.php deleted file mode 100644 index 7dc9530c..00000000 --- a/app/Http/Controllers/V1/Dashboard/DashboardChartController.php +++ /dev/null @@ -1,32 +0,0 @@ -whereCompany($request->header('company')) - ->expensesAttributes() - ->get(); - - $amounts = $expensesCategories->pluck('total_amount'); - $names = $expensesCategories->pluck('category.name'); - - return response()->json([ - 'amounts' => $amounts, - 'categories' => $names, - ]); - } -} diff --git a/app/Http/Controllers/V1/Dashboard/DashboardController.php b/app/Http/Controllers/V1/Dashboard/DashboardController.php deleted file mode 100644 index 79f8cb47..00000000 --- a/app/Http/Controllers/V1/Dashboard/DashboardController.php +++ /dev/null @@ -1,157 +0,0 @@ -header('company')); - $startDate = Carbon::now(); - $start = Carbon::now(); - $end = Carbon::now(); - $terms = explode('-', $fiscalYear); - - if ($terms[0] <= $start->month) { - $startDate->month($terms[0])->startOfMonth(); - $start->month($terms[0])->startOfMonth(); - $end->month($terms[0])->endOfMonth(); - } else { - $startDate->subYear()->month($terms[0])->startOfMonth(); - $start->subYear()->month($terms[0])->startOfMonth(); - $end->subYear()->month($terms[0])->endOfMonth(); - } - - if ($request->has('previous_year')) { - $startDate->subYear()->startOfMonth(); - $start->subYear()->startOfMonth(); - $end->subYear()->endOfMonth(); - } - - while ($monthCounter < 12) { - array_push( - $invoiceTotals, - Invoice::whereBetween( - 'invoice_date', - [$start->format('Y-m-d'), $end->format('Y-m-d')] - ) - ->where('status', '!=', Invoice::STATUS_DRAFT) - ->whereCompany($request->header('company')) - ->sum('total') - ); - array_push( - $expenseTotals, - Expense::whereBetween( - 'expense_date', - [$start->format('Y-m-d'), $end->format('Y-m-d')] - ) - ->whereCompany($request->header('company')) - ->sum('amount') - ); - array_push( - $receiptTotals, - Payment::whereBetween( - 'payment_date', - [$start->format('Y-m-d'), $end->format('Y-m-d')] - ) - ->whereCompany($request->header('company')) - ->sum('amount') - ); - array_push( - $netProfits, - ($receiptTotals[$i] - $expenseTotals[$i]) - ); - $i++; - array_push($months, $start->format('M')); - $monthCounter++; - $end->startOfMonth(); - $start->addMonth()->startOfMonth(); - $end->addMonth()->endOfMonth(); - } - - $start->subMonth()->endOfMonth(); - - $salesTotal = Invoice::whereCompany($request->header('company')) - ->where('status', '!=', Invoice::STATUS_DRAFT) - ->whereBetween( - 'invoice_date', - [$startDate->format('Y-m-d'), $start->format('Y-m-d')] - ) - ->sum('total'); - $totalReceipts = Payment::whereCompany($request->header('company')) - ->whereBetween( - 'payment_date', - [$startDate->format('Y-m-d'), $start->format('Y-m-d')] - ) - ->sum('amount'); - $totalExpenses = Expense::whereCompany($request->header('company')) - ->whereBetween( - 'expense_date', - [$startDate->format('Y-m-d'), $start->format('Y-m-d')] - ) - ->sum('amount'); - $netProfit = (int)$totalReceipts - (int)$totalExpenses; - - $chartData = [ - 'months' => $months, - 'invoiceTotals' => $invoiceTotals, - 'expenseTotals' => $expenseTotals, - 'receiptTotals' => $receiptTotals, - 'netProfits' => $netProfits, - ]; - - $customersCount = User::customer()->whereCompany($request->header('company'))->count(); - $invoicesCount = Invoice::whereCompany($request->header('company')) - ->where('status', '!=', Invoice::STATUS_DRAFT) - ->count(); - $estimatesCount = Estimate::whereCompany($request->header('company'))->count(); - $totalDueAmount = Invoice::whereCompany($request->header('company')) - ->where('status', '!=', Invoice::STATUS_DRAFT) - ->sum('due_amount'); - $dueInvoices = Invoice::with('user') - ->whereCompany($request->header('company')) - ->where('status', '!=', Invoice::STATUS_DRAFT) - ->where('due_amount', '>', 0) - ->take(5) - ->latest() - ->get(); - $estimates = Estimate::with('user')->whereCompany($request->header('company'))->take(5)->latest()->get(); - - return response()->json([ - 'dueInvoices' => $dueInvoices, - 'estimates' => $estimates, - 'estimatesCount' => $estimatesCount, - 'totalDueAmount' => $totalDueAmount, - 'invoicesCount' => $invoicesCount, - 'customersCount' => $customersCount, - 'chartData' => $chartData, - 'salesTotal' => $salesTotal, - 'totalReceipts' => $totalReceipts, - 'totalExpenses' => $totalExpenses, - 'netProfit' => $netProfit, - ]); - } -} diff --git a/app/Http/Controllers/V1/Estimate/ConvertEstimateController.php b/app/Http/Controllers/V1/Estimate/ConvertEstimateController.php deleted file mode 100644 index 099f09c0..00000000 --- a/app/Http/Controllers/V1/Estimate/ConvertEstimateController.php +++ /dev/null @@ -1,94 +0,0 @@ -load(['items', 'items.taxes', 'user', 'taxes']); - - $invoice_date = Carbon::now(); - $due_date = Carbon::now()->addDays(7); - - $invoice_prefix = CompanySetting::getSetting( - 'invoice_prefix', - $request->header('company') - ); - - $invoice = Invoice::create([ - 'creator_id' => Auth::id(), - 'invoice_date' => $invoice_date->format('Y-m-d'), - 'due_date' => $due_date->format('Y-m-d'), - 'invoice_number' => $invoice_prefix."-".Invoice::getNextInvoiceNumber($invoice_prefix), - 'reference_number' => $estimate->reference_number, - 'user_id' => $estimate->user_id, - 'company_id' => $request->header('company'), - 'template_name' => 'invoice1', - 'status' => Invoice::STATUS_DRAFT, - 'paid_status' => Invoice::STATUS_UNPAID, - 'sub_total' => $estimate->sub_total, - 'discount' => $estimate->discount, - 'discount_type' => $estimate->discount_type, - 'discount_val' => $estimate->discount_val, - 'total' => $estimate->total, - 'due_amount' => $estimate->total, - 'tax_per_item' => $estimate->tax_per_item, - 'discount_per_item' => $estimate->discount_per_item, - 'tax' => $estimate->tax, - 'notes' => $estimate->notes, - 'unique_hash' => str_random(60), - ]); - - $invoiceItems = $estimate->items->toArray(); - - foreach ($invoiceItems as $invoiceItem) { - $invoiceItem['company_id'] = $request->header('company'); - $invoiceItem['name'] = $invoiceItem['name']; - $item = $invoice->items()->create($invoiceItem); - - if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) { - foreach ($invoiceItem['taxes'] as $tax) { - $tax['company_id'] = $request->header('company'); - - if ($tax['amount']) { - $item->taxes()->create($tax); - } - } - } - } - - if ($estimate->taxes) { - foreach ($estimate->taxes->toArray() as $tax) { - $tax['company_id'] = $request->header('company'); - unset($tax['estimate_id']); - $invoice->taxes()->create($tax); - } - } - - $invoice = Invoice::with([ - 'items', - 'user', - 'taxes' - ])->find($invoice->id); - - return response()->json([ - 'invoice' => $invoice, - ]); - } -} diff --git a/app/Http/Controllers/V1/Estimate/EstimateTemplatesController.php b/app/Http/Controllers/V1/Estimate/EstimateTemplatesController.php deleted file mode 100644 index d7e78c77..00000000 --- a/app/Http/Controllers/V1/Estimate/EstimateTemplatesController.php +++ /dev/null @@ -1,33 +0,0 @@ -files('/app/pdf/estimate'); - $estimateTemplates = []; - - foreach ($templates as $key => $template) { - $templateName = Str::before(basename($template), '.blade.php'); - $estimateTemplates[$key]['name'] = $templateName; - $estimateTemplates[$key]['path'] = asset('assets/img/PDF/'.$templateName.'.png'); - } - - return response()->json([ - 'templates' => $estimateTemplates - ]); - } -} diff --git a/app/Http/Controllers/V1/Estimate/EstimatesController.php b/app/Http/Controllers/V1/Estimate/EstimatesController.php deleted file mode 100644 index 6f14bc6d..00000000 --- a/app/Http/Controllers/V1/Estimate/EstimatesController.php +++ /dev/null @@ -1,102 +0,0 @@ -has('limit') ? $request->limit : 10; - - $estimates = Estimate::with([ - 'items', - 'user', - 'taxes', - 'creator', - ]) - ->join('users', 'users.id', '=', 'estimates.user_id') - ->applyFilters($request->only([ - 'status', - 'customer_id', - 'estimate_id', - 'estimate_number', - 'from_date', - 'to_date', - 'search', - 'orderByField', - 'orderBy', - ])) - ->whereCompany($request->header('company')) - ->select('estimates.*', 'users.name') - ->latest() - ->paginateData($limit); - - $siteData = [ - 'estimates' => $estimates, - 'estimateTotalCount' => Estimate::count(), - ]; - - return response()->json($siteData); - } - - public function store(EstimatesRequest $request) - { - $estimate = Estimate::createEstimate($request); - - if ($request->has('estimateSend')) { - $estimate->send($request->title, $request->body); - } - - GenerateEstimatePdfJob::dispatch($estimate); - - return response()->json([ - 'estimate' => $estimate, - ]); - } - - public function show(Request $request, Estimate $estimate) - { - $estimate->load([ - 'items', - 'items.taxes', - 'user', - 'creator', - 'taxes', - 'taxes.taxType', - 'fields.customField', - ]); - - return response()->json([ - 'estimate' => $estimate, - 'nextEstimateNumber' => $estimate->getEstimateNumAttribute(), - 'estimatePrefix' => $estimate->getEstimatePrefixAttribute(), - ]); - } - - public function update(EstimatesRequest $request, Estimate $estimate) - { - $estimate = $estimate->updateEstimate($request); - - GenerateEstimatePdfJob::dispatch($estimate, true); - - return response()->json([ - 'estimate' => $estimate, - ]); - } - - public function delete(DeleteEstimatesRequest $request) - { - Estimate::destroy($request->ids); - - return response()->json([ - 'success' => true, - ]); - } -} diff --git a/app/Http/Controllers/V1/Expense/ShowReceiptController.php b/app/Http/Controllers/V1/Expense/ShowReceiptController.php deleted file mode 100644 index f6285e8f..00000000 --- a/app/Http/Controllers/V1/Expense/ShowReceiptController.php +++ /dev/null @@ -1,40 +0,0 @@ -getFirstMedia('receipts'); - if ($media) { - $imagePath = $media->getPath(); - } else { - return response()->json([ - 'error' => 'receipt_does_not_exist', - ]); - } - } - - $type = \File::mimeType($imagePath); - - $image = 'data:'.$type.';base64,'.base64_encode(file_get_contents($imagePath)); - - return response()->json([ - 'image' => $image, - 'type' => $type, - ]); - } -} diff --git a/app/Http/Controllers/V1/General/BootstrapController.php b/app/Http/Controllers/V1/General/BootstrapController.php deleted file mode 100644 index 821e3b32..00000000 --- a/app/Http/Controllers/V1/General/BootstrapController.php +++ /dev/null @@ -1,53 +0,0 @@ -getSettings(['language']); - - $default_language = array_key_exists('language', $default_language) ? $default_language['language'] : 'en'; - - $settings = [ - 'moment_date_format', - 'carbon_date_format', - 'fiscal_year', - 'time_zone', - 'currency', - ]; - - $settings = CompanySetting::getSettings($settings, $user->company_id); - - $default_currency = Currency::findOrFail($settings['currency']); - - return response()->json([ - 'user' => $user, - 'company' => $user->company, - 'currencies' => Currency::all(), - 'countries' => Country::all(), - 'default_currency' => $default_currency, - 'default_language' => $default_language, - 'moment_date_format' => $settings['moment_date_format'], - 'carbon_date_format' => $settings['carbon_date_format'], - 'fiscal_year' => $settings['fiscal_year'], - 'time_zone' => $settings['time_zone'], - ]); - } -} diff --git a/app/Http/Controllers/V1/General/NextNumberController.php b/app/Http/Controllers/V1/General/NextNumberController.php deleted file mode 100644 index 7ab5a49e..00000000 --- a/app/Http/Controllers/V1/General/NextNumberController.php +++ /dev/null @@ -1,58 +0,0 @@ -key; - - $val = $key.'_prefix'; - - $prefix = CompanySetting::getSetting( - $val, - $request->header('company') - ); - - $nextNumber = null; - - switch ($key) { - case 'invoice': - $nextNumber = Invoice::getNextInvoiceNumber($prefix); - - break; - - case 'estimate': - $nextNumber = Estimate::getNextEstimateNumber($prefix); - - break; - - case 'payment': - $nextNumber = Payment::getNextPaymentNumber($prefix); - - break; - - default: - return; - } - - return response()->json([ - 'nextNumber' => $nextNumber, - 'prefix' => $prefix, - ]); - } -} diff --git a/app/Http/Controllers/V1/Onboarding/AppDomainController.php b/app/Http/Controllers/V1/Installation/AppDomainController.php similarity index 89% rename from app/Http/Controllers/V1/Onboarding/AppDomainController.php rename to app/Http/Controllers/V1/Installation/AppDomainController.php index b2571f48..30b871ef 100644 --- a/app/Http/Controllers/V1/Onboarding/AppDomainController.php +++ b/app/Http/Controllers/V1/Installation/AppDomainController.php @@ -1,6 +1,6 @@ json([ - 'success' => false, + 'success' => true, ]); } } diff --git a/app/Http/Controllers/V1/Onboarding/DatabaseConfigurationController.php b/app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php similarity index 97% rename from app/Http/Controllers/V1/Onboarding/DatabaseConfigurationController.php rename to app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php index a6ec8954..718c5b06 100644 --- a/app/Http/Controllers/V1/Onboarding/DatabaseConfigurationController.php +++ b/app/Http/Controllers/V1/Installation/DatabaseConfigurationController.php @@ -1,6 +1,6 @@ permissions = $checker; } diff --git a/app/Http/Controllers/V1/Onboarding/FinishController.php b/app/Http/Controllers/V1/Installation/FinishController.php similarity index 90% rename from app/Http/Controllers/V1/Onboarding/FinishController.php rename to app/Http/Controllers/V1/Installation/FinishController.php index ce82f326..2db8af10 100644 --- a/app/Http/Controllers/V1/Onboarding/FinishController.php +++ b/app/Http/Controllers/V1/Installation/FinishController.php @@ -1,6 +1,6 @@ first(); Auth::login($user); - return response()->json(['success' => true]); + return response()->json([ + 'success' => true, + 'user' => $user, + 'company' => $user->companies()->first() + ]); } } diff --git a/app/Http/Controllers/V1/Onboarding/OnboardingWizardController.php b/app/Http/Controllers/V1/Installation/OnboardingWizardController.php similarity index 95% rename from app/Http/Controllers/V1/Onboarding/OnboardingWizardController.php rename to app/Http/Controllers/V1/Installation/OnboardingWizardController.php index e3d7df79..c353b84c 100644 --- a/app/Http/Controllers/V1/Onboarding/OnboardingWizardController.php +++ b/app/Http/Controllers/V1/Installation/OnboardingWizardController.php @@ -1,6 +1,6 @@ header('company') - ); - - $newInvoice = Invoice::create([ - 'invoice_date' => $date->format('Y-m-d'), - 'due_date' => $date->format('Y-m-d'), - 'invoice_number' => $invoice_prefix."-".Invoice::getNextInvoiceNumber($invoice_prefix), - 'reference_number' => $invoice->reference_number, - 'user_id' => $invoice->user_id, - 'company_id' => $request->header('company'), - 'template_name' => 'invoice1', - 'status' => Invoice::STATUS_DRAFT, - 'paid_status' => Invoice::STATUS_UNPAID, - 'sub_total' => $invoice->sub_total, - 'discount' => $invoice->discount, - 'discount_type' => $invoice->discount_type, - 'discount_val' => $invoice->discount_val, - 'total' => $invoice->total, - 'due_amount' => $invoice->total, - 'tax_per_item' => $invoice->tax_per_item, - 'discount_per_item' => $invoice->discount_per_item, - 'tax' => $invoice->tax, - 'notes' => $invoice->notes, - 'unique_hash' => str_random(60), - ]); - - $invoice->load('items.taxes'); - - $invoiceItems = $invoice->items->toArray(); - - foreach ($invoiceItems as $invoiceItem) { - $invoiceItem['company_id'] = $request->header('company'); - $invoiceItem['name'] = $invoiceItem['name']; - $item = $newInvoice->items()->create($invoiceItem); - - if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) { - foreach ($invoiceItem['taxes'] as $tax) { - $tax['company_id'] = $request->header('company'); - - if ($tax['amount']) { - $item->taxes()->create($tax); - } - } - } - } - - if ($invoice->taxes) { - foreach ($invoice->taxes->toArray() as $tax) { - $tax['company_id'] = $request->header('company'); - $newInvoice->taxes()->create($tax); - } - } - - $newInvoice = Invoice::with([ - 'items', - 'user', - 'taxes' - ]) - ->find($newInvoice->id); - - return response()->json([ - 'invoice' => $newInvoice, - 'success' => true, - ]); - } -} diff --git a/app/Http/Controllers/V1/Invoice/InvoiceTemplatesController.php b/app/Http/Controllers/V1/Invoice/InvoiceTemplatesController.php deleted file mode 100644 index 73729c6d..00000000 --- a/app/Http/Controllers/V1/Invoice/InvoiceTemplatesController.php +++ /dev/null @@ -1,33 +0,0 @@ -files('/app/pdf/invoice'); - $invoiceTemplates = []; - - foreach ($templates as $key => $template) { - $templateName = Str::before(basename($template), '.blade.php'); - $invoiceTemplates[$key]['name'] = $templateName; - $invoiceTemplates[$key]['path'] = asset('assets/img/PDF/'.$templateName.'.png'); - } - - return response()->json([ - 'invoiceTemplates' => $invoiceTemplates, - ]); - } -} diff --git a/app/Http/Controllers/V1/PDF/DownloadInvoicePdfController.php b/app/Http/Controllers/V1/PDF/DownloadInvoicePdfController.php new file mode 100644 index 00000000..fdd26ce9 --- /dev/null +++ b/app/Http/Controllers/V1/PDF/DownloadInvoicePdfController.php @@ -0,0 +1,22 @@ +id.'.pdf'); + + return response()->download($path); + } +} diff --git a/app/Http/Controllers/V1/PDF/DownloadPaymentPdfController.php b/app/Http/Controllers/V1/PDF/DownloadPaymentPdfController.php new file mode 100644 index 00000000..6e9c089e --- /dev/null +++ b/app/Http/Controllers/V1/PDF/DownloadPaymentPdfController.php @@ -0,0 +1,22 @@ +id.'.pdf'); + + return response()->download($path); + } +} diff --git a/app/Http/Controllers/V1/Expense/DownloadReceiptController.php b/app/Http/Controllers/V1/PDF/DownloadReceiptController.php similarity index 95% rename from app/Http/Controllers/V1/Expense/DownloadReceiptController.php rename to app/Http/Controllers/V1/PDF/DownloadReceiptController.php index 0b56de4a..b53c7f23 100644 --- a/app/Http/Controllers/V1/Expense/DownloadReceiptController.php +++ b/app/Http/Controllers/V1/PDF/DownloadReceiptController.php @@ -1,6 +1,6 @@ \Crater\Http\Middleware\Authenticate::class, + 'bouncer' => \Crater\Http\Middleware\ScopeBouncer::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, 'guest' => \Crater\Http\Middleware\RedirectIfAuthenticated::class, + 'customer' => \Crater\Http\Middleware\CustomerRedirectIfAuthenticated::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, - 'admin' => AdminMiddleware::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'install' => \Crater\Http\Middleware\InstallationMiddleware::class, 'redirect-if-installed' => \Crater\Http\Middleware\RedirectIfInstalled::class, 'redirect-if-unauthenticated' => \Crater\Http\Middleware\RedirectIfUnauthorized::class, + 'customer-guest' => \Crater\Http\Middleware\CustomerGuest::class, + 'company' => \Crater\Http\Middleware\CompanyMiddleware::class, ]; /** diff --git a/app/Http/Middleware/CompanyMiddleware.php b/app/Http/Middleware/CompanyMiddleware.php new file mode 100644 index 00000000..dd37ecac --- /dev/null +++ b/app/Http/Middleware/CompanyMiddleware.php @@ -0,0 +1,30 @@ +user(); + + if ((! $request->header('company')) || (! $user->hasCompany($request->header('company')))) { + $request->headers->set('company', $user->companies()->first()->id); + } + } + + return $next($request); + } +} diff --git a/app/Http/Middleware/InstallationMiddleware.php b/app/Http/Middleware/InstallationMiddleware.php index 6c89b6d9..22f42cca 100644 --- a/app/Http/Middleware/InstallationMiddleware.php +++ b/app/Http/Middleware/InstallationMiddleware.php @@ -17,12 +17,12 @@ class InstallationMiddleware public function handle($request, Closure $next) { if (! \Storage::disk('local')->has('database_created')) { - return redirect('/on-boarding'); + return redirect('/installation'); } if (\Storage::disk('local')->has('database_created')) { if (Setting::getSetting('profile_complete') !== 'COMPLETED') { - return redirect('/on-boarding'); + return redirect('/installation'); } } diff --git a/app/Http/Middleware/ScopeBouncer.php b/app/Http/Middleware/ScopeBouncer.php new file mode 100644 index 00000000..6d3f4d93 --- /dev/null +++ b/app/Http/Middleware/ScopeBouncer.php @@ -0,0 +1,45 @@ +bouncer = $bouncer; + } + + /** + * Set the proper Bouncer scope for the incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * @return mixed + */ + public function handle($request, Closure $next) + { + $user = $request->user(); + $tenantId = $request->header('company') + ? $request->header('company') + : $user->companies()->first()->id; + + $this->bouncer->scope()->to($tenantId); + + return $next($request); + } +} diff --git a/app/Http/Requests/BulkExchangeRateRequest.php b/app/Http/Requests/BulkExchangeRateRequest.php new file mode 100644 index 00000000..3e52344b --- /dev/null +++ b/app/Http/Requests/BulkExchangeRateRequest.php @@ -0,0 +1,39 @@ + [ + 'required' + ], + 'currencies.*.id' => [ + 'required', + 'numeric' + ], + 'currencies.*.exchange_rate' => [ + 'required' + ] + ]; + } +} diff --git a/app/Http/Requests/CompaniesRequest.php b/app/Http/Requests/CompaniesRequest.php new file mode 100644 index 00000000..0959349f --- /dev/null +++ b/app/Http/Requests/CompaniesRequest.php @@ -0,0 +1,77 @@ + [ + 'required', + Rule::unique('companies'), + 'string' + ], + 'currency' => [ + 'required' + ], + 'address.name' => [ + 'nullable', + ], + 'address.address_street_1' => [ + 'nullable', + ], + 'address.address_street_2' => [ + 'nullable', + ], + 'address.city' => [ + 'nullable', + ], + 'address.state' => [ + 'nullable', + ], + 'address.country_id' => [ + 'required', + ], + 'address.zip' => [ + 'nullable', + ], + 'address.phone' => [ + 'nullable', + ], + 'address.fax' => [ + 'nullable', + ], + ]; + } + + public function getCompanyPayload() + { + return collect($this->validated()) + ->only([ + 'name' + ]) + ->merge([ + 'owner_id' => $this->user()->id + ]) + ->toArray(); + } +} diff --git a/app/Http/Requests/CompanyRequest.php b/app/Http/Requests/CompanyRequest.php index 017616be..234f13c8 100644 --- a/app/Http/Requests/CompanyRequest.php +++ b/app/Http/Requests/CompanyRequest.php @@ -3,6 +3,7 @@ namespace Crater\Http\Requests; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class CompanyRequest extends FormRequest { @@ -26,8 +27,9 @@ class CompanyRequest extends FormRequest return [ 'name' => [ 'required', + Rule::unique('companies')->ignore($this->header('company'), 'id'), ], - 'country_id' => [ + 'address.country_id' => [ 'required', ], ]; diff --git a/app/Http/Requests/CustomerRequest.php b/app/Http/Requests/CustomerRequest.php index ed0fa389..156cdaf3 100644 --- a/app/Http/Requests/CustomerRequest.php +++ b/app/Http/Requests/CustomerRequest.php @@ -2,7 +2,10 @@ namespace Crater\Http\Requests; +use Crater\Models\Address; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Auth; use Illuminate\Validation\Rule; class CustomerRequest extends FormRequest @@ -28,29 +31,151 @@ class CustomerRequest extends FormRequest 'name' => [ 'required', ], - 'addresses.*.address_street_1' => [ - 'max:255', - ], - 'addresses.*.address_street_2' => [ - 'max:255', - ], 'email' => [ 'email', 'nullable', - 'unique:users,email', + Rule::unique('customers')->where('company_id', $this->header('company')) ], + 'password' => [ + 'nullable', + ], + 'phone' => [ + 'nullable', + ], + 'company_name' => [ + 'nullable', + ], + 'contact_name' => [ + 'nullable', + ], + 'website' => [ + 'nullable', + ], + 'prefix' => [ + 'nullable', + ], + 'enable_portal' => [ + 'nullable', + ], + 'currency_id' => [ + 'nullable', + ], + 'billing.name' => [ + 'nullable', + ], + 'billing.address_street_1' => [ + 'nullable', + ], + 'billing.address_street_2' => [ + 'nullable', + ], + 'billing.city' => [ + 'nullable', + ], + 'billing.state' => [ + 'nullable', + ], + 'billing.country_id' => [ + 'nullable', + ], + 'billing.zip' => [ + 'nullable', + ], + 'billing.phone' => [ + 'nullable', + ], + 'billing.fax' => [ + 'nullable', + ], + 'shipping.name' => [ + 'nullable', + ], + 'shipping.address_street_1' => [ + 'nullable', + ], + 'shipping.address_street_2' => [ + 'nullable', + ], + 'shipping.city' => [ + 'nullable', + ], + 'shipping.state' => [ + 'nullable', + ], + 'shipping.country_id' => [ + 'nullable', + ], + 'shipping.zip' => [ + 'nullable', + ], + 'shipping.phone' => [ + 'nullable', + ], + 'shipping.fax' => [ + 'nullable', + ] ]; if ($this->isMethod('PUT') && $this->email != null) { - $rules = [ - 'email' => [ - 'email', - 'nullable', - Rule::unique('users')->ignore($this->route('customer')->id), - ], + $rules['email'] = [ + 'email', + 'nullable', + Rule::unique('customers')->ignore($this->route('customer')->id), ]; }; return $rules; } + + public function getCustomerPayload() + { + return collect($this->validated()) + ->only([ + 'name', + 'email', + 'currency_id', + 'password', + 'phone', + 'prefix', + 'company_name', + 'contact_name', + 'website', + 'enable_portal', + 'estimate_prefix', + 'payment_prefix', + 'invoice_prefix', + ]) + ->merge([ + 'creator_id' => $this->user()->id, + 'company_id' => $this->header('company'), + ]) + ->toArray(); + } + + public function getShippingAddress() + { + return collect($this->shipping) + ->merge([ + 'type' => Address::SHIPPING_TYPE + ]) + ->toArray(); + } + + public function getBillingAddress() + { + return collect($this->billing) + ->merge([ + 'type' => Address::BILLING_TYPE + ]) + ->toArray(); + } + + public function hasAddress(array $address) + { + $data = Arr::where($address, function ($value, $key) { + return isset($value); + }); + + return $data; + } } diff --git a/app/Http/Requests/DatabaseEnvironmentRequest.php b/app/Http/Requests/DatabaseEnvironmentRequest.php index ba49abd7..5bfae113 100644 --- a/app/Http/Requests/DatabaseEnvironmentRequest.php +++ b/app/Http/Requests/DatabaseEnvironmentRequest.php @@ -25,7 +25,7 @@ class DatabaseEnvironmentRequest extends FormRequest { switch ($this->get('database_connection')) { case 'sqlite': - return [ + return [ 'app_url' => [ 'required', 'url', @@ -42,7 +42,7 @@ class DatabaseEnvironmentRequest extends FormRequest break; default: - return [ + return [ 'app_url' => [ 'required', 'url', diff --git a/app/Http/Requests/DeleteCustomersRequest.php b/app/Http/Requests/DeleteCustomersRequest.php index 551732d0..5e3c4cae 100644 --- a/app/Http/Requests/DeleteCustomersRequest.php +++ b/app/Http/Requests/DeleteCustomersRequest.php @@ -30,7 +30,7 @@ class DeleteCustomersRequest extends FormRequest ], 'ids.*' => [ 'required', - Rule::exists('users', 'id'), + Rule::exists('customers', 'id'), ], ]; } diff --git a/app/Http/Requests/DeleteUserRequest.php b/app/Http/Requests/DeleteUserRequest.php new file mode 100644 index 00000000..5c6cf3d0 --- /dev/null +++ b/app/Http/Requests/DeleteUserRequest.php @@ -0,0 +1,37 @@ + [ + 'required', + ], + 'users.*' => [ + 'required', + Rule::exists('users', 'id'), + ], + ]; + } +} diff --git a/app/Http/Requests/EstimatesRequest.php b/app/Http/Requests/EstimatesRequest.php index f0d4c08c..00ba6eb0 100644 --- a/app/Http/Requests/EstimatesRequest.php +++ b/app/Http/Requests/EstimatesRequest.php @@ -2,9 +2,11 @@ namespace Crater\Http\Requests; +use Crater\Models\CompanySetting; +use Crater\Models\Customer; use Crater\Models\Estimate; -use Crater\Rules\UniqueNumber; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class EstimatesRequest extends FormRequest { @@ -30,14 +32,17 @@ class EstimatesRequest extends FormRequest 'required', ], 'expiry_date' => [ - 'required', + 'nullable', ], - 'user_id' => [ + 'customer_id' => [ 'required', ], 'estimate_number' => [ 'required', - new UniqueNumber(Estimate::class), + Rule::unique('estimates')->where('company_id', $this->header('company')) + ], + 'exchange_rate' => [ + 'nullable' ], 'discount' => [ 'required', @@ -62,7 +67,7 @@ class EstimatesRequest extends FormRequest 'array', ], 'items.*.description' => [ - 'max:255', + 'nullable', ], 'items.*' => [ 'required', @@ -79,13 +84,49 @@ class EstimatesRequest extends FormRequest ], ]; + $companyCurrency = CompanySetting::getSetting('currency', $this->header('company')); + + $customerCurrency = Customer::find($this->customer_id)->currency_id; + + if ((string)$customerCurrency !== $companyCurrency) { + $rules['exchange_rate'] = [ + 'required', + ]; + }; + if ($this->isMethod('PUT')) { $rules['estimate_number'] = [ 'required', - new UniqueNumber(Estimate::class, $this->route('estimate')->id), + Rule::unique('estimates') + ->ignore($this->route('estimate')->id) + ->where('company_id', $this->header('company')), ]; } return $rules; } + + public function getEstimatePayload() + { + $company_currency = CompanySetting::getSetting('currency', $this->header('company')); + $current_currency = $this->currency_id; + $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1; + $currency = Customer::find($this->customer_id)->currency_id; + + return collect($this->except('items', 'taxes')) + ->merge([ + 'creator_id' => $this->user()->id, + 'status' => $this->has('estimateSend') ? Estimate::STATUS_SENT : Estimate::STATUS_DRAFT, + 'company_id' => $this->header('company'), + 'tax_per_item' => CompanySetting::getSetting('tax_per_item', $this->header('company')) ?? 'NO ', + 'discount_per_item' => CompanySetting::getSetting('discount_per_item', $this->header('company')) ?? 'NO', + 'exchange_rate' => $exchange_rate, + 'base_discount_val' => $this->discount_val * $exchange_rate, + 'base_sub_total' => $this->sub_total * $exchange_rate, + 'base_total' => $this->total * $exchange_rate, + 'base_tax' => $this->tax * $exchange_rate, + 'currency_id' => $currency, + ]) + ->toArray(); + } } diff --git a/app/Http/Requests/ExchangeRateLogRequest.php b/app/Http/Requests/ExchangeRateLogRequest.php new file mode 100644 index 00000000..5f705041 --- /dev/null +++ b/app/Http/Requests/ExchangeRateLogRequest.php @@ -0,0 +1,53 @@ + [ + 'required', + ], + 'currency_id' => [ + 'required' + ] + ]; + } + + public function getExchangeRateLogPayload() + { + $companyCurrency = CompanySetting::getSetting( + 'currency', + $this->header('company') + ); + + if ($this->currency_id !== $companyCurrency) { + return collect($this->validated()) + ->merge([ + 'company_id' => $this->header('company'), + 'base_currency_id' => $companyCurrency, + ]) + ->toArray(); + } + } +} diff --git a/app/Http/Requests/ExchangeRateProviderRequest.php b/app/Http/Requests/ExchangeRateProviderRequest.php new file mode 100644 index 00000000..773ca864 --- /dev/null +++ b/app/Http/Requests/ExchangeRateProviderRequest.php @@ -0,0 +1,59 @@ + [ + 'required' + ], + 'key' => [ + 'required', + ], + 'currencies' => [ + 'nullable', + ], + 'currencies.*' => [ + 'nullable', + ], + 'driver_config' => [ + 'nullable' + ], + 'active' => [ + 'nullable', + 'boolean' + ], + ]; + + return $rules; + } + + public function getExchangeRateProviderPayload() + { + return collect($this->validated()) + ->merge([ + 'company_id' => $this->header('company') + ]) + ->toArray(); + } +} diff --git a/app/Http/Requests/ExpenseCategoryRequest.php b/app/Http/Requests/ExpenseCategoryRequest.php index c8a5e3a1..6ba30885 100644 --- a/app/Http/Requests/ExpenseCategoryRequest.php +++ b/app/Http/Requests/ExpenseCategoryRequest.php @@ -32,4 +32,13 @@ class ExpenseCategoryRequest extends FormRequest ], ]; } + + public function getExpenseCategoryPayload() + { + return collect($this->validated()) + ->merge([ + 'company_id' => $this->header('company') + ]) + ->toArray(); + } } diff --git a/app/Http/Requests/ExpenseRequest.php b/app/Http/Requests/ExpenseRequest.php index e2939f66..1cf16f44 100644 --- a/app/Http/Requests/ExpenseRequest.php +++ b/app/Http/Requests/ExpenseRequest.php @@ -2,6 +2,7 @@ namespace Crater\Http\Requests; +use Crater\Models\CompanySetting; use Illuminate\Foundation\Http\FormRequest; class ExpenseRequest extends FormRequest @@ -23,22 +24,58 @@ class ExpenseRequest extends FormRequest */ public function rules() { - return [ + $companyCurrency = CompanySetting::getSetting('currency', $this->header('company')); + + $rules = [ 'expense_date' => [ 'required', ], 'expense_category_id' => [ 'required', ], + 'exchange_rate' => [ + 'nullable' + ], + 'payment_method_id' => [ + 'nullable', + ], 'amount' => [ 'required', ], - 'user_id' => [ + 'customer_id' => [ 'nullable', ], 'notes' => [ 'nullable', ], + 'currency_id' => [ + 'required' + ], ]; + + if ($companyCurrency !== $this->currency_id) { + $rules['exchange_rate'] = [ + 'required', + ]; + }; + + return $rules; + } + + public function getExpensePayload() + { + $company_currency = CompanySetting::getSetting('currency', $this->header('company')); + $current_currency = $this->currency_id; + $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1; + + return collect($this->validated()) + ->merge([ + 'creator_id' => $this->user()->id, + 'company_id' => $this->header('company'), + 'exchange_rate' => $exchange_rate, + 'base_amount' => $this->amount * $exchange_rate, + 'currency_id' => $current_currency + ]) + ->toArray(); } } diff --git a/app/Http/Requests/InvoicesRequest.php b/app/Http/Requests/InvoicesRequest.php index e32fe9ac..3b60ad5d 100644 --- a/app/Http/Requests/InvoicesRequest.php +++ b/app/Http/Requests/InvoicesRequest.php @@ -2,9 +2,11 @@ namespace Crater\Http\Requests; +use Crater\Models\CompanySetting; +use Crater\Models\Customer; use Crater\Models\Invoice; -use Crater\Rules\UniqueNumber; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class InvoicesRequest extends FormRequest { @@ -30,14 +32,17 @@ class InvoicesRequest extends FormRequest 'required', ], 'due_date' => [ - 'required', + 'nullable', ], - 'user_id' => [ + 'customer_id' => [ 'required', ], 'invoice_number' => [ 'required', - new UniqueNumber(Invoice::class), + Rule::unique('invoices')->where('company_id', $this->header('company')) + ], + 'exchange_rate' => [ + 'nullable' ], 'discount' => [ 'required', @@ -66,7 +71,7 @@ class InvoicesRequest extends FormRequest 'max:255', ], 'items.*.description' => [ - 'max:255', + 'nullable', ], 'items.*.name' => [ 'required', @@ -79,13 +84,52 @@ class InvoicesRequest extends FormRequest ], ]; + $companyCurrency = CompanySetting::getSetting('currency', $this->header('company')); + + $customerCurrency = Customer::find($this->customer_id)->currency_id; + + if ((string)$customerCurrency !== $companyCurrency) { + $rules['exchange_rate'] = [ + 'required', + ]; + }; + if ($this->isMethod('PUT')) { $rules['invoice_number'] = [ 'required', - new UniqueNumber(Invoice::class, $this->route('invoice')->id), + Rule::unique('invoices') + ->ignore($this->route('invoice')->id) + ->where('company_id', $this->header('company')), ]; } return $rules; } + + public function getInvoicePayload() + { + $company_currency = CompanySetting::getSetting('currency', $this->header('company')); + $current_currency = $this->currency_id; + $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1; + $currency = Customer::find($this->customer_id)->currency_id; + + return collect($this->except('items', 'taxes')) + ->merge([ + 'creator_id' => $this->user()->id, + 'status' => $this->has('invoiceSend') ? Invoice::STATUS_SENT : Invoice::STATUS_DRAFT, + 'paid_status' => Invoice::STATUS_UNPAID, + 'company_id' => $this->header('company'), + 'tax_per_item' => CompanySetting::getSetting('tax_per_item', $this->header('company')) ?? 'NO ', + 'discount_per_item' => CompanySetting::getSetting('discount_per_item', $this->header('company')) ?? 'NO', + 'due_amount' => $this->total, + 'exchange_rate' => $exchange_rate, + 'base_total' => $this->total * $exchange_rate, + 'base_discount_val' => $this->discount_val * $exchange_rate, + 'base_sub_total' => $this->sub_total * $exchange_rate, + 'base_tax' => $this->tax * $exchange_rate, + 'base_due_amount' => $this->total * $exchange_rate, + 'currency_id' => $currency, + ]) + ->toArray(); + } } diff --git a/app/Http/Requests/LoginRequest.php b/app/Http/Requests/LoginRequest.php new file mode 100644 index 00000000..3d363c81 --- /dev/null +++ b/app/Http/Requests/LoginRequest.php @@ -0,0 +1,38 @@ + [ + 'required', + ], + 'password' => [ + 'required', + ], + 'device_name' => [ + 'required' + ], + ]; + } +} diff --git a/app/Http/Requests/MailEnvironmentRequest.php b/app/Http/Requests/MailEnvironmentRequest.php index 87ff2869..94ffcc4d 100644 --- a/app/Http/Requests/MailEnvironmentRequest.php +++ b/app/Http/Requests/MailEnvironmentRequest.php @@ -105,7 +105,7 @@ class MailEnvironmentRequest extends FormRequest 'string', ], 'mail_encryption' => [ - 'required', + 'nullable', 'string', ], 'from_name' => [ diff --git a/app/Http/Requests/NotesRequest.php b/app/Http/Requests/NotesRequest.php index 8463ff39..faf0beae 100644 --- a/app/Http/Requests/NotesRequest.php +++ b/app/Http/Requests/NotesRequest.php @@ -3,6 +3,7 @@ namespace Crater\Http\Requests; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class NotesRequest extends FormRequest { @@ -23,10 +24,40 @@ class NotesRequest extends FormRequest */ public function rules() { - return [ - 'type' => ['required'], - 'name' => ['required'], - 'notes' => ['required'], + $rules = [ + 'type' => [ + 'required' + ], + 'name' => [ + 'required', + Rule::unique('notes') + ->where('company_id', $this->header('company')) + ->where('type', $this->type) + ], + 'notes' => [ + 'required' + ], ]; + + if ($this->isMethod('PUT')) { + $rules['name'] = [ + 'required', + Rule::unique('notes') + ->ignore($this->route('note')->id) + ->where('type', $this->type) + ->where('company_id', $this->header('company')) + ]; + } + + return $rules; + } + + public function getNotesPayload() + { + return collect($this->validated()) + ->merge([ + 'company_id' => $this->header('company') + ]) + ->toArray(); } } diff --git a/app/Http/Requests/PaymentMethodRequest.php b/app/Http/Requests/PaymentMethodRequest.php index 8f3766e0..75984ff8 100644 --- a/app/Http/Requests/PaymentMethodRequest.php +++ b/app/Http/Requests/PaymentMethodRequest.php @@ -27,14 +27,17 @@ class PaymentMethodRequest extends FormRequest $data = [ 'name' => [ 'required', - 'unique:payment_methods,name', + Rule::unique('payment_methods') + ->where('company_id', $this->header('company')), ], ]; if ($this->getMethod() == 'PUT') { $data['name'] = [ 'required', - Rule::unique('payment_methods')->ignore($this->route('payment_method'), 'id'), + Rule::unique('payment_methods') + ->ignore($this->route('payment_method'), 'id') + ->where('company_id', $this->header('company')), ]; } diff --git a/app/Http/Requests/PaymentRequest.php b/app/Http/Requests/PaymentRequest.php index 2295ac9e..92779c6a 100644 --- a/app/Http/Requests/PaymentRequest.php +++ b/app/Http/Requests/PaymentRequest.php @@ -2,9 +2,10 @@ namespace Crater\Http\Requests; -use Crater\Models\Payment; -use Crater\Rules\UniqueNumber; +use Crater\Models\CompanySetting; +use Crater\Models\Customer; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class PaymentRequest extends FormRequest { @@ -29,15 +30,18 @@ class PaymentRequest extends FormRequest 'payment_date' => [ 'required', ], - 'user_id' => [ + 'customer_id' => [ 'required', ], + 'exchange_rate' => [ + 'nullable' + ], 'amount' => [ 'required', ], 'payment_number' => [ 'required', - new UniqueNumber(Payment::class), + Rule::unique('payments')->where('company_id', $this->header('company')) ], 'invoice_id' => [ 'nullable', @@ -53,10 +57,40 @@ class PaymentRequest extends FormRequest if ($this->isMethod('PUT')) { $rules['payment_number'] = [ 'required', - new UniqueNumber(Payment::class, $this->route('payment')->id), + Rule::unique('payments') + ->ignore($this->route('payment')->id) + ->where('company_id', $this->header('company')), ]; } + $companyCurrency = CompanySetting::getSetting('currency', $this->header('company')); + + $customerCurrency = Customer::find($this->customer_id)->currency_id; + + if ((string)$customerCurrency !== $companyCurrency) { + $rules['exchange_rate'] = [ + 'required', + ]; + }; + return $rules; } + + public function getPaymentPayload() + { + $company_currency = CompanySetting::getSetting('currency', $this->header('company')); + $current_currency = $this->currency_id; + $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1; + $currency = Customer::find($this->customer_id)->currency_id; + + return collect($this->validated()) + ->merge([ + 'creator_id' => $this->user()->id, + 'company_id' => $this->header('company'), + 'exchange_rate' => $exchange_rate, + 'base_amount' => $this->amount * $exchange_rate, + 'currency_id' => $currency + ]) + ->toArray(); + } } diff --git a/app/Http/Requests/RecurringInvoiceRequest.php b/app/Http/Requests/RecurringInvoiceRequest.php new file mode 100644 index 00000000..d9d2240c --- /dev/null +++ b/app/Http/Requests/RecurringInvoiceRequest.php @@ -0,0 +1,119 @@ +header('company')); + + $rules = [ + 'starts_at' => [ + 'required' + ], + 'send_automatically' => [ + 'required', + 'boolean' + ], + 'customer_id' => [ + 'required' + ], + 'exchange_rate' => [ + 'nullable' + ], + 'discount' => [ + 'required', + ], + 'discount_val' => [ + 'required', + ], + 'sub_total' => [ + 'required', + ], + 'total' => [ + 'required', + ], + 'tax' => [ + 'required', + ], + 'status' => [ + 'required' + ], + 'exchange_rate' => [ + 'nullable' + ], + 'frequency' => [ + 'required' + ], + 'limit_by' => [ + 'required' + ], + 'limit_count' => [ + 'required_if:limit_by,COUNT', + ], + 'limit_date' => [ + 'required_if:limit_by,DATE', + ], + 'items' => [ + 'required' + ], + 'items.*' => [ + 'required' + ] + ]; + + $customerCurrency = Customer::find($this->customer_id)->currency_id; + + if ((string)$customerCurrency !== $companyCurrency) { + $rules['exchange_rate'] = [ + 'required', + ]; + }; + + return $rules; + } + + public function getRecurringInvoicePayload() + { + $company_currency = CompanySetting::getSetting('currency', $this->header('company')); + $current_currency = $this->currency_id; + $exchange_rate = $company_currency != $current_currency ? $this->exchange_rate : 1; + $currency = Customer::find($this->customer_id)->currency_id; + + $nextInvoiceAt = RecurringInvoice::getNextInvoiceDate($this->frequency, $this->starts_at); + + return collect($this->except('items', 'taxes')) + ->merge([ + 'creator_id' => $this->user()->id, + 'company_id' => $this->header('company'), + 'next_invoice_at' => $nextInvoiceAt, + 'tax_per_item' => CompanySetting::getSetting('tax_per_item', $this->header('company')) ?? 'NO ', + 'discount_per_item' => CompanySetting::getSetting('discount_per_item', $this->header('company')) ?? 'NO', + 'due_amount' => $this->total, + 'exchange_rate' => $exchange_rate, + 'currency_id' => $currency + ]) + ->toArray(); + } +} diff --git a/app/Http/Requests/RoleRequest.php b/app/Http/Requests/RoleRequest.php new file mode 100644 index 00000000..1534c4ab --- /dev/null +++ b/app/Http/Requests/RoleRequest.php @@ -0,0 +1,62 @@ + [ + 'required', + 'string', + Rule::unique('roles')->where('scope', $this->header('company')) + ], + 'abilities' => [ + 'required' + ], + 'abilities.*' => [ + 'required' + ] + ]; + + if ($this->getMethod() == 'PUT') { + $rules['name'] = [ + 'required', + 'string', + Rule::unique('roles') + ->ignore($this->route('role')->id, 'id') + ->where('scope', $this->header('company')) + ]; + } + + return $rules; + } + + public function getRolePayload() + { + return collect($this->except('abilities')) + ->merge([ + 'scope' => $this->header('company'), + ]) + ->toArray(); + } +} diff --git a/app/Http/Requests/TaxTypeRequest.php b/app/Http/Requests/TaxTypeRequest.php index 219ccd5e..4618b814 100644 --- a/app/Http/Requests/TaxTypeRequest.php +++ b/app/Http/Requests/TaxTypeRequest.php @@ -3,6 +3,7 @@ namespace Crater\Http\Requests; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class TaxTypeRequest extends FormRequest { @@ -23,9 +24,11 @@ class TaxTypeRequest extends FormRequest */ public function rules() { - return [ + $rules = [ 'name' => [ 'required', + Rule::unique('tax_types') + ->where('company_id', $this->header('company')) ], 'percent' => [ 'required', @@ -40,5 +43,25 @@ class TaxTypeRequest extends FormRequest 'nullable', ], ]; + + if ($this->isMethod('PUT')) { + $rules['name'] = [ + 'required', + Rule::unique('tax_types') + ->ignore($this->route('tax_type')->id) + ->where('company_id', $this->header('company')) + ]; + } + + return $rules; + } + + public function getTaxTypePayload() + { + return collect($this->validated()) + ->merge([ + 'company_id' => $this->header('company') + ]) + ->toArray(); } } diff --git a/app/Http/Requests/UnitRequest.php b/app/Http/Requests/UnitRequest.php index 7c64b7d4..c57d6e2e 100644 --- a/app/Http/Requests/UnitRequest.php +++ b/app/Http/Requests/UnitRequest.php @@ -27,17 +27,29 @@ class UnitRequest extends FormRequest $data = [ 'name' => [ 'required', - 'unique:units,name', + Rule::unique('units') + ->where('company_id', $this->header('company')), ], ]; if ($this->getMethod() == 'PUT') { $data['name'] = [ 'required', - Rule::unique('units')->ignore($this->route('unit'), 'id'), + Rule::unique('units') + ->ignore($this->route('unit'), 'id') + ->where('company_id', $this->header('company')), ]; } return $data; } + + public function getUnitPayload() + { + return collect($this->validated()) + ->merge([ + 'company_id' => $this->header('company') + ]) + ->toArray(); + } } diff --git a/app/Http/Requests/UpdateSettingsRequest.php b/app/Http/Requests/UpdateSettingsRequest.php index 34411ad7..80447e72 100644 --- a/app/Http/Requests/UpdateSettingsRequest.php +++ b/app/Http/Requests/UpdateSettingsRequest.php @@ -27,9 +27,6 @@ class UpdateSettingsRequest extends FormRequest 'settings' => [ 'required', ], - 'settings.*' => [ - 'required', - ], ]; } } diff --git a/app/Http/Requests/UserRequest.php b/app/Http/Requests/UserRequest.php index 717baf15..523e7345 100644 --- a/app/Http/Requests/UserRequest.php +++ b/app/Http/Requests/UserRequest.php @@ -40,6 +40,15 @@ class UserRequest extends FormRequest 'required', 'min:8', ], + 'companies' => [ + 'required', + ], + 'companies.*.id' => [ + 'required', + ], + 'companies.*.role' => [ + 'required', + ], ]; if ($this->getMethod() == 'PUT') { @@ -56,4 +65,13 @@ class UserRequest extends FormRequest return $rules; } + + public function getUserPayload() + { + return collect($this->validated()) + ->merge([ + 'creator_id' => $this->user()->id, + ]) + ->toArray(); + } } diff --git a/app/Http/Resources/AbilityCollection.php b/app/Http/Resources/AbilityCollection.php new file mode 100644 index 00000000..b743f41a --- /dev/null +++ b/app/Http/Resources/AbilityCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'entity_id' => $this->entity_id, + 'entity_type' => $this->entity_type, + 'only_owned' => $this->only_owned, + 'options' => $this->options, + 'scope' => $this->scope, + ]; + } +} diff --git a/app/Http/Resources/AddressCollection.php b/app/Http/Resources/AddressCollection.php new file mode 100644 index 00000000..50df325b --- /dev/null +++ b/app/Http/Resources/AddressCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'address_street_1' => $this->address_street_1, + 'address_street_2' => $this->address_street_2, + 'city' => $this->city, + 'state' => $this->state, + 'country_id' => $this->country_id, + 'zip' => $this->zip, + 'phone' => $this->phone, + 'fax' => $this->fax, + 'type' => $this->type, + 'user_id' => $this->user_id, + 'company_id' => $this->company_id, + 'customer_id' => $this->customer_id, + 'country' => $this->when($this->country()->exists(), function () { + return new CountryResource($this->country); + }), + 'user' => $this->when($this->user()->exists(), function () { + return new UserResource($this->user); + }), + ]; + } +} diff --git a/app/Http/Resources/CompanyCollection.php b/app/Http/Resources/CompanyCollection.php new file mode 100644 index 00000000..364728c4 --- /dev/null +++ b/app/Http/Resources/CompanyCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'logo' => $this->logo, + 'logo_path' => $this->logo_path, + 'unique_hash' => $this->unique_hash, + 'owner_id' => $this->owner_id, + 'address' => $this->when($this->address()->exists(), function () { + return new AddressResource($this->address); + }), + 'roles' => RoleResource::collection($this->roles) + ]; + } +} diff --git a/app/Http/Resources/CountryCollection.php b/app/Http/Resources/CountryCollection.php new file mode 100644 index 00000000..9d6fe407 --- /dev/null +++ b/app/Http/Resources/CountryCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'code' => $this->code, + 'name' => $this->name, + 'phone_code' => $this->phone_code, + ]; + } +} diff --git a/app/Http/Resources/CurrencyCollection.php b/app/Http/Resources/CurrencyCollection.php new file mode 100644 index 00000000..3abb0442 --- /dev/null +++ b/app/Http/Resources/CurrencyCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'code' => $this->code, + 'symbol' => $this->symbol, + 'precision' => $this->precision, + 'thousand_separator' => $this->thousand_separator, + 'decimal_separator' => $this->decimal_separator, + 'swap_currency_symbol' => $this->swap_currency_symbol, + 'exchange_rate' => $this->exchange_rate + ]; + } +} diff --git a/app/Http/Resources/CustomFieldCollection.php b/app/Http/Resources/CustomFieldCollection.php new file mode 100644 index 00000000..057154e8 --- /dev/null +++ b/app/Http/Resources/CustomFieldCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'slug' => $this->slug, + 'label' => $this->label, + 'model_type' => $this->model_type, + 'type' => $this->type, + 'placeholder' => $this->placeholder, + 'options' => $this->options, + 'boolean_answer' => $this->boolean_answer, + 'date_answer' => $this->date_answer, + 'time_answer' => $this->time_answer, + 'string_answer' => $this->string_answer, + 'number_answer' => $this->number_answer, + 'date_time_answer' => $this->date_time_answer, + 'is_required' => $this->is_required, + 'in_use' => $this->in_use, + 'order' => $this->order, + 'company_id' => $this->company_id, + 'default_answer' => $this->default_answer, + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/CustomFieldValueCollection.php b/app/Http/Resources/CustomFieldValueCollection.php new file mode 100644 index 00000000..93975396 --- /dev/null +++ b/app/Http/Resources/CustomFieldValueCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'custom_field_valuable_type' => $this->custom_field_valuable_type, + 'custom_field_valuable_id' => $this->custom_field_valuable_id, + 'type' => $this->type, + 'boolean_answer' => $this->boolean_answer, + 'date_answer' => $this->date_answer, + 'time_answer' => $this->time_answer, + 'string_answer' => $this->string_answer, + 'number_answer' => $this->number_answer, + 'date_time_answer' => $this->date_time_answer, + 'custom_field_id' => $this->custom_field_id, + 'company_id' => $this->company_id, + 'default_answer' => $this->defaultAnswer, + 'custom_field' => $this->when($this->customField()->exists(), function () { + return new CustomFieldResource($this->customField); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/CustomerCollection.php b/app/Http/Resources/CustomerCollection.php new file mode 100644 index 00000000..44e9270b --- /dev/null +++ b/app/Http/Resources/CustomerCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'email' => $this->email, + 'phone' => $this->phone, + 'contact_name' => $this->contact_name, + 'company_name' => $this->company_name, + 'website' => $this->website, + 'enable_portal' => $this->enable_portal, + 'currency_id' => $this->currency_id, + 'company_id' => $this->company_id, + 'estimate_prefix' => $this->estimate_prefix, + 'payment_prefix' => $this->payment_prefix, + 'invoice_prefix' => $this->invoice_prefix, + 'facebook_id' => $this->facebook_id, + 'google_id' => $this->google_id, + 'github_id' => $this->github_id, + 'created_at' => $this->created_at, + 'formatted_created_at' => $this->formattedCreatedAt, + 'updated_at' => $this->updated_at, + 'avatar' => $this->avatar, + 'due_amount' => $this->due_amount, + 'base_due_amount' => $this->base_due_amount, + 'prefix' => $this->prefix, + 'billing' => $this->when($this->billingAddress()->exists(), function () { + return new AddressResource($this->billingAddress); + }), + 'shipping' => $this->when($this->shippingAddress()->exists(), function () { + return new AddressResource($this->shippingAddress); + }), + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + ]; + } +} diff --git a/app/Http/Resources/EstimateCollection.php b/app/Http/Resources/EstimateCollection.php new file mode 100644 index 00000000..1198ad5b --- /dev/null +++ b/app/Http/Resources/EstimateCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'description' => $this->description, + 'discount_type' => $this->discount_type, + 'quantity' => $this->quantity, + 'unit_name' => $this->unit_name, + 'discount' => $this->discount, + 'discount_val' => $this->discount_val, + 'price' => $this->price, + 'tax' => $this->tax, + 'total' => $this->total, + 'item_id' => $this->item_id, + 'estimate_id' => $this->estimate_id, + 'company_id' => $this->company_id, + 'exchange_rate' => $this->exchange_rate, + 'base_discount_val' => $this->base_discount_val, + 'base_price' => $this->base_price, + 'base_tax' => $this->base_tax, + 'base_total' => $this->base_total, + 'taxes' => $this->when($this->taxes()->exists(), function () { + return TaxResource::collection($this->taxes); + }), + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + ]; + } +} diff --git a/app/Http/Resources/EstimateResource.php b/app/Http/Resources/EstimateResource.php new file mode 100644 index 00000000..3aff3cb1 --- /dev/null +++ b/app/Http/Resources/EstimateResource.php @@ -0,0 +1,70 @@ + $this->id, + 'estimate_date' => $this->estimate_date, + 'expiry_date' => $this->expiry_date, + 'estimate_number' => $this->estimate_number, + 'status' => $this->status, + 'reference_number' => $this->reference_number, + 'tax_per_item' => $this->tax_per_item, + 'discount_per_item' => $this->discount_per_item, + 'notes' => $this->notes, + 'discount' => $this->discount, + 'discount_type' => $this->discount_type, + 'discount_val' => $this->discount_val, + 'sub_total' => $this->sub_total, + 'total' => $this->total, + 'tax' => $this->tax, + 'unique_hash' => $this->unique_hash, + 'creator_id' => $this->creator_id, + 'template_name' => $this->template_name, + 'customer_id' => $this->customer_id, + 'exchange_rate' => $this->exchange_rate, + 'base_discount_val' => $this->base_discount_val, + 'base_sub_total' => $this->base_sub_total, + 'base_total' => $this->base_total, + 'base_tax' => $this->base_tax, + 'sequence_number' => $this->sequence_number, + 'currency_id' => $this->currency_id, + 'formatted_expiry_date' => $this->formattedExpiryDate, + 'formatted_estimate_date' => $this->formattedEstimateDate, + 'estimate_pdf_url' => $this->estimatePdfUrl, + 'items' => $this->when($this->items()->exists(), function () { + return EstimateItemResource::collection($this->items); + }), + 'customer' => $this->when($this->customer()->exists(), function () { + return new CustomerResource($this->customer); + }), + 'creator' => $this->when($this->creator()->exists(), function () { + return new UserResource($this->creator); + }), + 'taxes' => $this->when($this->taxes()->exists(), function () { + return TaxResource::collection($this->taxes); + }), + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + ]; + } +} diff --git a/app/Http/Resources/ExchangeRateLogCollection.php b/app/Http/Resources/ExchangeRateLogCollection.php new file mode 100644 index 00000000..b701d30d --- /dev/null +++ b/app/Http/Resources/ExchangeRateLogCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'company_id' => $this->company_id, + 'base_currency_id' => $this->base_currency_id, + 'currency_id' => $this->currency_id, + 'exchange_rate' => $this->exchange_rate, + ]; + } +} diff --git a/app/Http/Resources/ExchangeRateProviderCollection.php b/app/Http/Resources/ExchangeRateProviderCollection.php new file mode 100644 index 00000000..30864c10 --- /dev/null +++ b/app/Http/Resources/ExchangeRateProviderCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'key' => $this->key, + 'driver' => $this->driver, + 'currencies' => $this->currencies, + 'driver_config' => $this->driver_config, + 'company_id' => $this->company_id, + 'active' => $this->active, + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/ExpenseCategoryCollection.php b/app/Http/Resources/ExpenseCategoryCollection.php new file mode 100644 index 00000000..512be383 --- /dev/null +++ b/app/Http/Resources/ExpenseCategoryCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'description' => $this->description, + 'company_id' => $this->company_id, + 'amount' => $this->amount, + 'formatted_created_at' => $this->formattedCreatedAt, + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/ExpenseCollection.php b/app/Http/Resources/ExpenseCollection.php new file mode 100644 index 00000000..23a6f481 --- /dev/null +++ b/app/Http/Resources/ExpenseCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'expense_date' => $this->expense_date, + 'amount' => $this->amount, + 'notes' => $this->notes, + 'customer_id' => $this->customer_id, + 'attachment_receipt_url' => $this->receipt_url, + 'attachment_receipt' => $this->receipt, + 'attachment_receipt_meta' => $this->receipt_meta, + 'company_id' => $this->company_id, + 'expense_category_id' => $this->expense_category_id, + 'creator_id' => $this->creator_id, + 'formatted_expense_date' => $this->formattedExpenseDate, + 'formatted_created_at' => $this->formattedCreatedAt, + 'exchange_rate' => $this->exchange_rate, + 'currency_id' => $this->currency_id, + 'base_amount' => $this->base_amount, + 'payment_method_id' => $this->payment_method_id, + 'customer' => $this->when($this->customer()->exists(), function () { + return new CustomerResource($this->customer); + }), + 'expense_category' => $this->when($this->category()->exists(), function () { + return new ExpenseCategoryResource($this->category); + }), + 'creator' => $this->when($this->creator()->exists(), function () { + return new UserResource($this->creator); + }), + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + 'payment_method' => $this->when($this->paymentMethod()->exists(), function () { + return new PaymentMethodResource($this->paymentMethod); + }), + ]; + } +} diff --git a/app/Http/Resources/FileDiskCollection.php b/app/Http/Resources/FileDiskCollection.php new file mode 100644 index 00000000..b82532b4 --- /dev/null +++ b/app/Http/Resources/FileDiskCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'type' => $this->type, + 'driver' => $this->driver, + 'set_as_default' => $this->set_as_default, + 'credentials' => $this->credentials, + 'company_id' => $this->company_id, + ]; + } +} diff --git a/app/Http/Resources/InvoiceCollection.php b/app/Http/Resources/InvoiceCollection.php new file mode 100644 index 00000000..c7ee564d --- /dev/null +++ b/app/Http/Resources/InvoiceCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'description' => $this->description, + 'discount_type' => $this->discount_type, + 'price' => $this->price, + 'quantity' => $this->quantity, + 'unit_name' => $this->unit_name, + 'discount' => $this->discount, + 'discount_val' => $this->discount_val, + 'tax' => $this->tax, + 'total' => $this->total, + 'invoice_id' => $this->invoice_id, + 'item_id' => $this->item_id, + 'company_id' => $this->company_id, + 'base_price' => $this->base_price, + 'exchange_rate' => $this->exchange_rate, + 'base_discount_val' => $this->base_discount_val, + 'base_tax' => $this->base_tax, + 'base_total' => $this->base_total, + 'recurring_invoice_id' => $this->recurring_invoice_id, + 'taxes' => $this->when($this->taxes()->exists(), function () { + return TaxResource::collection($this->taxes); + }), + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + ]; + } +} diff --git a/app/Http/Resources/InvoiceResource.php b/app/Http/Resources/InvoiceResource.php new file mode 100644 index 00000000..f119f4da --- /dev/null +++ b/app/Http/Resources/InvoiceResource.php @@ -0,0 +1,78 @@ + $this->id, + 'invoice_date' => $this->invoice_date, + 'due_date' => $this->due_date, + 'invoice_number' => $this->invoice_number, + 'reference_number' => $this->reference_number, + 'status' => $this->status, + 'paid_status' => $this->paid_status, + 'tax_per_item' => $this->tax_per_item, + 'discount_per_item' => $this->discount_per_item, + 'notes' => $this->notes, + 'discount_type' => $this->discount_type, + 'discount' => $this->discount, + 'discount_val' => $this->discount_val, + 'sub_total' => $this->sub_total, + 'total' => $this->total, + 'tax' => $this->tax, + 'due_amount' => $this->due_amount, + 'sent' => $this->sent, + 'viewed' => $this->viewed, + 'unique_hash' => $this->unique_hash, + 'template_name' => $this->template_name, + 'customer_id' => $this->customer_id, + 'recurring_invoice_id' => $this->recurring_invoice_id, + 'sequence_number' => $this->sequence_number, + 'exchange_rate' => $this->exchange_rate, + 'base_discount_val' => $this->base_discount_val, + 'base_sub_total' => $this->base_sub_total, + 'base_total' => $this->base_total, + 'creator_id' => $this->creator_id, + 'base_tax' => $this->base_tax, + 'base_due_amount' => $this->base_due_amount, + 'currency_id' => $this->currency_id, + 'formatted_created_at' => $this->formattedCreatedAt, + 'invoice_pdf_url' => $this->invoicePdfUrl, + 'formatted_invoice_date' => $this->formattedInvoiceDate, + 'formatted_due_date' => $this->formattedDueDate, + 'allow_edit' => $this->allow_edit, + 'items' => $this->when($this->items()->exists(), function () { + return InvoiceItemResource::collection($this->items); + }), + 'customer' => $this->when($this->customer()->exists(), function () { + return new CustomerResource($this->customer); + }), + 'creator' => $this->when($this->creator()->exists(), function () { + return new UserResource($this->creator); + }), + 'taxes' => $this->when($this->taxes()->exists(), function () { + return TaxResource::collection($this->taxes); + }), + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + ]; + } +} diff --git a/app/Http/Resources/ItemCollection.php b/app/Http/Resources/ItemCollection.php new file mode 100644 index 00000000..da74c029 --- /dev/null +++ b/app/Http/Resources/ItemCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'description' => $this->description, + 'price' => $this->price, + 'unit_id' => $this->unit_id, + 'company_id' => $this->company_id, + 'creator_id' => $this->creator_id, + 'currency_id' => $this->currency_id, + 'created_at' => $this->created_at, + 'updated_at' => $this->updated_at, + 'tax_per_item' => $this->tax_per_item, + 'formatted_created_at' => $this->formattedCreatedAt, + 'unit' => $this->when($this->unit()->exists(), function () { + return new UnitResource($this->unit); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + 'taxes' => $this->when($this->taxes()->exists(), function () { + return TaxResource::collection($this->taxes); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + ]; + } +} diff --git a/app/Http/Resources/NoteCollection.php b/app/Http/Resources/NoteCollection.php new file mode 100644 index 00000000..4dfa780d --- /dev/null +++ b/app/Http/Resources/NoteCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'type' => $this->type, + 'name' => $this->name, + 'notes' => $this->notes, + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/PaymentCollection.php b/app/Http/Resources/PaymentCollection.php new file mode 100644 index 00000000..f3d0c6f4 --- /dev/null +++ b/app/Http/Resources/PaymentCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'company_id' => $this->company_id, + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/PaymentResource.php b/app/Http/Resources/PaymentResource.php new file mode 100644 index 00000000..7d3f31cf --- /dev/null +++ b/app/Http/Resources/PaymentResource.php @@ -0,0 +1,56 @@ + $this->id, + 'payment_number' => $this->payment_number, + 'payment_date' => $this->payment_date, + 'notes' => $this->notes, + 'amount' => $this->amount, + 'unique_hash' => $this->unique_hash, + 'invoice_id' => $this->invoice_id, + 'company_id' => $this->company_id, + 'payment_method_id' => $this->payment_method_id, + 'creator_id' => $this->creator_id, + 'customer_id' => $this->customer_id, + 'exchange_rate' => $this->exchange_rate, + 'base_amount' => $this->base_amount, + 'currency_id' => $this->currency_id, + 'sequence_number' => $this->sequence_number, + 'formatted_created_at' => $this->formattedCreatedAt, + 'formatted_payment_date' => $this->formattedPaymentDate, + 'payment_pdf_url' => $this->paymentPdfUrl, + 'customer' => $this->when($this->customer()->exists(), function () { + return new CustomerResource($this->customer); + }), + 'invoice' => $this->when($this->invoice()->exists(), function () { + return new InvoiceResource($this->invoice); + }), + 'payment_method' => $this->when($this->paymentMethod()->exists(), function () { + return new PaymentMethodResource($this->paymentMethod); + }), + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + ]; + } +} diff --git a/app/Http/Resources/RecurringInvoiceCollection.php b/app/Http/Resources/RecurringInvoiceCollection.php new file mode 100644 index 00000000..f19905df --- /dev/null +++ b/app/Http/Resources/RecurringInvoiceCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'starts_at' => $this->starts_at, + 'formatted_starts_at' => $this->formattedStartsAt, + 'formatted_created_at' => $this->formattedCreatedAt, + 'formatted_next_invoice_at' => $this->formattedNextInvoiceAt, + 'formatted_limit_date' => $this->formattedLimitDate, + 'send_automatically' => $this->send_automatically, + 'customer_id' => $this->customer_id, + 'company_id' => $this->company_id, + 'creator_id' => $this->creator_id, + 'status' => $this->status, + 'next_invoice_at' => $this->next_invoice_at, + 'frequency' => $this->frequency, + 'limit_by' => $this->limit_by, + 'limit_count' => $this->limit_count, + 'limit_date' => $this->limit_date, + 'exchange_rate' => $this->exchange_rate, + 'tax_per_item' => $this->tax_per_item, + 'discount_per_item' => $this->discount_per_item, + 'notes' => $this->notes, + 'discount_type' => $this->discount_type, + 'discount' => $this->discount, + 'discount_val' => $this->discount_val, + 'sub_total' => $this->sub_total, + 'total' => $this->total, + 'tax' => $this->tax, + 'due_amount' => $this->due_amount, + 'template_name' => $this->template_name, + 'fields' => $this->when($this->fields()->exists(), function () { + return CustomFieldValueResource::collection($this->fields); + }), + 'items' => $this->when($this->items()->exists(), function () { + return InvoiceItemResource::collection($this->items); + }), + 'customer' => $this->when($this->customer()->exists(), function () { + return new CustomerResource($this->customer); + }), + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + 'invoices' => $this->when($this->invoices()->exists(), function () { + return InvoiceResource::collection($this->invoices); + }), + 'taxes' => $this->when($this->taxes()->exists(), function () { + return TaxResource::collection($this->taxes); + }), + 'creator' => $this->when($this->creator()->exists(), function () { + return new UserResource($this->creator); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + ]; + } +} diff --git a/app/Http/Resources/RoleCollection.php b/app/Http/Resources/RoleCollection.php new file mode 100644 index 00000000..e4e1b7ca --- /dev/null +++ b/app/Http/Resources/RoleCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'title' => $this->title, + 'level' => $this->level, + 'formatted_created_at' => $this->getFormattedAt(), + 'abilities' => $this->getAbilities() + ]; + } + + public function getFormattedAt() + { + $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->scope); + + return Carbon::parse($this->created_at)->format($dateFormat); + } +} diff --git a/app/Http/Resources/TaxCollection.php b/app/Http/Resources/TaxCollection.php new file mode 100644 index 00000000..c7dcbb86 --- /dev/null +++ b/app/Http/Resources/TaxCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'tax_type_id' => $this->tax_type_id, + 'invoice_id' => $this->invoice_id, + 'estimate_id' => $this->estimate_id, + 'invoice_item_id' => $this->invoice_item_id, + 'estimate_item_id' => $this->estimate_item_id, + 'item_id' => $this->item_id, + 'company_id' => $this->company_id, + 'name' => $this->name, + 'amount' => $this->amount, + 'percent' => $this->percent, + 'compound_tax' => $this->compound_tax, + 'base_amount' => $this->base_amount, + 'currency_id' => $this->currency_id, + 'recurring_invoice_id' => $this->recurring_invoice_id, + 'tax_type' => $this->when($this->taxType()->exists(), function () { + return new TaxTypeResource($this->taxType); + }), + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + ]; + } +} diff --git a/app/Http/Resources/TaxTypeCollection.php b/app/Http/Resources/TaxTypeCollection.php new file mode 100644 index 00000000..8866538f --- /dev/null +++ b/app/Http/Resources/TaxTypeCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'percent' => $this->percent, + 'compound_tax' => $this->compound_tax, + 'collective_tax' => $this->collective_tax, + 'description' => $this->description, + 'company_id' => $this->company_id, + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/UnitCollection.php b/app/Http/Resources/UnitCollection.php new file mode 100644 index 00000000..163d4ca1 --- /dev/null +++ b/app/Http/Resources/UnitCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'company_id' => $this->company_id, + 'company' => $this->when($this->company()->exists(), function () { + return new CompanyResource($this->company); + }), + ]; + } +} diff --git a/app/Http/Resources/UserCollection.php b/app/Http/Resources/UserCollection.php new file mode 100644 index 00000000..25f65465 --- /dev/null +++ b/app/Http/Resources/UserCollection.php @@ -0,0 +1,19 @@ + $this->id, + 'name' => $this->name, + 'email' => $this->email, + 'phone' => $this->phone, + 'role' => $this->role, + 'contact_name' => $this->contact_name, + 'company_name' => $this->company_name, + 'website' => $this->website, + 'enable_portal' => $this->enable_portal, + 'currency_id' => $this->currency_id, + 'facebook_id' => $this->facebook_id, + 'google_id' => $this->google_id, + 'github_id' => $this->github_id, + 'created_at' => $this->created_at, + 'updated_at' => $this->updated_at, + 'avatar' => $this->avatar, + 'is_owner' => $this->isOwner(), + 'roles' => $this->roles, + 'formatted_created_at' => $this->formattedCreatedAt, + 'currency' => $this->when($this->currency()->exists(), function () { + return new CurrencyResource($this->currency); + }), + 'companies' => $this->when($this->companies()->exists(), function () { + return CompanyResource::collection($this->companies); + }) + ]; + } +} diff --git a/app/Listeners/Updates/v3/Version300.php b/app/Listeners/Updates/v3/Version300.php index cadd9738..55e5b154 100644 --- a/app/Listeners/Updates/v3/Version300.php +++ b/app/Listeners/Updates/v3/Version300.php @@ -11,6 +11,7 @@ use Crater\Models\Setting; use Crater\Models\Unit; use Crater\Models\User; use Illuminate\Database\Schema\Blueprint; +use Vinkla\Hashids\Facades\Hashids; class Version300 extends Listener { @@ -130,7 +131,7 @@ class Version300 extends Listener if ($payments) { foreach ($payments as $payment) { - $payment->unique_hash = str_random(60); + $payment->unique_hash = Hashids::connection(Payment::class)->encode($payment->id); $payment->save(); $paymentMethod = PaymentMethod::where('name', $payment->payment_mode) diff --git a/app/Mail/EstimateViewedMail.php b/app/Mail/EstimateViewedMail.php index 8e862001..a29d8f6c 100644 --- a/app/Mail/EstimateViewedMail.php +++ b/app/Mail/EstimateViewedMail.php @@ -30,10 +30,7 @@ class EstimateViewedMail extends Mailable */ public function build() { - $email = $this->data['user']['email']; - $name = $this->data['user']['name']; - - return $this->from($email, $name) + return $this->from(config('mail.from.address'), config('mail.from.name')) ->markdown('emails.viewed.estimate', ['data', $this->data]); } } diff --git a/app/Mail/InvoiceViewedMail.php b/app/Mail/InvoiceViewedMail.php index 4f5125b0..94e858b3 100644 --- a/app/Mail/InvoiceViewedMail.php +++ b/app/Mail/InvoiceViewedMail.php @@ -30,10 +30,7 @@ class InvoiceViewedMail extends Mailable */ public function build() { - $email = $this->data['user']['email']; - $name = $this->data['user']['name']; - - return $this->from($email, $name) + return $this->from(config('mail.from.address'), config('mail.from.name')) ->markdown('emails.viewed.invoice', ['data', $this->data]); } } diff --git a/app/Mail/SendInvoiceMail.php b/app/Mail/SendInvoiceMail.php index c5267de9..d917676a 100644 --- a/app/Mail/SendInvoiceMail.php +++ b/app/Mail/SendInvoiceMail.php @@ -2,7 +2,6 @@ namespace Crater\Mail; -use Config; use Crater\Models\EmailLog; use Crater\Models\Invoice; use Illuminate\Bus\Queueable; diff --git a/app/Models/Address.php b/app/Models/Address.php index 8a699e53..e51bae42 100644 --- a/app/Models/Address.php +++ b/app/Models/Address.php @@ -25,6 +25,11 @@ class Address extends Model return $this->belongsTo(User::class); } + public function customer() + { + return $this->belongsTo(Customer::class); + } + public function company() { return $this->belongsTo(Company::class); diff --git a/app/Models/Company.php b/app/Models/Company.php index c02706d2..7f70bf6a 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -4,6 +4,8 @@ namespace Crater\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Silber\Bouncer\BouncerFacade; +use Silber\Bouncer\Database\Role; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -13,10 +15,18 @@ class Company extends Model implements HasMedia use HasFactory; - protected $fillable = ['name', 'logo', 'unique_hash']; + protected $guarded = [ + 'id' + ]; protected $appends = ['logo', 'logo_path']; + public function getRolesAttribute() + { + return Role::where('scope', $this->id) + ->get(); + } + public function getLogoPathAttribute() { $logo = $this->getMedia('logo')->first(); @@ -45,9 +55,14 @@ class Company extends Model implements HasMedia return null; } - public function user() + public function customers() { - return $this->hasOne(User::class); + return $this->hasMany(Customer::class); + } + + public function owner() + { + return $this->belongsTo(User::class, 'owner_id'); } public function settings() @@ -55,8 +70,305 @@ class Company extends Model implements HasMedia return $this->hasMany(CompanySetting::class); } + public function recurringInvoices() + { + return $this->hasMany(RecurringInvoice::class); + } + + public function customFields() + { + return $this->hasMany(CustomField::class); + } + + public function customFieldValues() + { + return $this->hasMany(CustomFieldValue::class); + } + + public function exchangeRateLogs() + { + return $this->hasMany(ExchangeRateLog::class); + } + + public function exchangeRateProviders() + { + return $this->hasMany(ExchangeRateProvider::class); + } + + public function invoices() + { + return $this->hasMany(Invoice::class); + } + + public function expenses() + { + return $this->hasMany(Expense::class); + } + + public function units() + { + return $this->hasMany(Unit::class); + } + + public function expenseCategories() + { + return $this->hasMany(ExpenseCategory::class); + } + + public function taxTypes() + { + return $this->hasMany(TaxType::class); + } + + public function items() + { + return $this->hasMany(Item::class); + } + + public function payments() + { + return $this->hasMany(Payment::class); + } + + public function paymentMethods() + { + return $this->hasMany(PaymentMethod::class); + } + + public function estimates() + { + return $this->hasMany(Estimate::class); + } + public function address() { return $this->hasOne(Address::class); } + + public function users() + { + return $this->belongsToMany(User::class, 'user_company', 'user_id', 'company_id'); + } + + public function setupRoles() + { + BouncerFacade::scope()->to($this->id); + + $super_admin = BouncerFacade::role()->firstOrCreate([ + 'name' => 'super admin', + 'title' => 'Super Admin', + 'scope' => $this->id + ]); + + foreach (config('abilities.abilities') as $ability) { + BouncerFacade::allow($super_admin)->to($ability['ability'], $ability['model']); + } + } + + public function setupDefaultPaymentMethods() + { + PaymentMethod::create(['name' => 'Cash', 'company_id' => $this->id]); + PaymentMethod::create(['name' => 'Check', 'company_id' => $this->id]); + PaymentMethod::create(['name' => 'Credit Card', 'company_id' => $this->id]); + PaymentMethod::create(['name' => 'Bank Transfer', 'company_id' => $this->id]); + } + + public function setupDefaultUnits() + { + Unit::create(['name' => 'box', 'company_id' => $this->id]); + Unit::create(['name' => 'cm', 'company_id' => $this->id]); + Unit::create(['name' => 'dz', 'company_id' => $this->id]); + Unit::create(['name' => 'ft', 'company_id' => $this->id]); + Unit::create(['name' => 'g', 'company_id' => $this->id]); + Unit::create(['name' => 'in', 'company_id' => $this->id]); + Unit::create(['name' => 'kg', 'company_id' => $this->id]); + Unit::create(['name' => 'km', 'company_id' => $this->id]); + Unit::create(['name' => 'lb', 'company_id' => $this->id]); + Unit::create(['name' => 'mg', 'company_id' => $this->id]); + Unit::create(['name' => 'pc', 'company_id' => $this->id]); + } + + public function setupDefaultSettings() + { + $defaultInvoiceEmailBody = 'You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:'; + $defaultEstimateEmailBody = 'You have received a new estimate from {COMPANY_NAME}.
Please download using the button below:'; + $defaultPaymentEmailBody = 'Thank you for the payment.
Please download your payment receipt using the button below:'; + $billingAddressFormat = '

{BILLING_ADDRESS_NAME}

{BILLING_ADDRESS_STREET_1}

{BILLING_ADDRESS_STREET_2}

{BILLING_CITY} {BILLING_STATE}

{BILLING_COUNTRY} {BILLING_ZIP_CODE}

{BILLING_PHONE}

'; + $shippingAddressFormat = '

{SHIPPING_ADDRESS_NAME}

{SHIPPING_ADDRESS_STREET_1}

{SHIPPING_ADDRESS_STREET_2}

{SHIPPING_CITY} {SHIPPING_STATE}

{SHIPPING_COUNTRY} {SHIPPING_ZIP_CODE}

{SHIPPING_PHONE}

'; + $companyAddressFormat = '

{COMPANY_NAME}

{COMPANY_ADDRESS_STREET_1}

{COMPANY_ADDRESS_STREET_2}

{COMPANY_CITY} {COMPANY_STATE}

{COMPANY_COUNTRY} {COMPANY_ZIP_CODE}

{COMPANY_PHONE}

'; + $paymentFromCustomerAddress = '

{BILLING_ADDRESS_NAME}

{BILLING_ADDRESS_STREET_1}

{BILLING_ADDRESS_STREET_2}

{BILLING_CITY} {BILLING_STATE} {BILLING_ZIP_CODE}

{BILLING_COUNTRY}

{BILLING_PHONE}

'; + + $settings = [ + 'invoice_auto_generate' => 'YES', + 'payment_auto_generate' => 'YES', + 'estimate_auto_generate' => 'YES', + 'save_pdf_to_disk' => 'NO', + 'invoice_mail_body' => $defaultInvoiceEmailBody, + 'estimate_mail_body' => $defaultEstimateEmailBody, + 'payment_mail_body' => $defaultPaymentEmailBody, + 'invoice_company_address_format' => $companyAddressFormat, + 'invoice_shipping_address_format' => $shippingAddressFormat, + 'invoice_billing_address_format' => $billingAddressFormat, + 'estimate_company_address_format' => $companyAddressFormat, + 'estimate_shipping_address_format' => $shippingAddressFormat, + 'estimate_billing_address_format' => $billingAddressFormat, + 'payment_company_address_format' => $companyAddressFormat, + 'payment_from_customer_address_format' => $paymentFromCustomerAddress, + 'currency' => request()->currency ?? 12, + 'time_zone' => 'Asia/Kolkata', + 'language' => 'en', + 'fiscal_year' => '1-12', + 'carbon_date_format' => 'Y/m/d', + 'moment_date_format' => 'YYYY/MM/DD', + 'notification_email' => 'noreply@crater.in', + 'notify_invoice_viewed' => 'NO', + 'notify_estimate_viewed' => 'NO', + 'tax_per_item' => 'NO', + 'discount_per_item' => 'NO', + 'invoice_auto_generate' => 'YES', + 'invoice_email_attachment' => 'NO', + 'estimate_auto_generate' => 'YES', + 'estimate_email_attachment' => 'NO', + 'payment_auto_generate' => 'YES', + 'payment_email_attachment' => 'NO', + 'save_pdf_to_disk' => 'NO', + 'retrospective_edits' => 'allow', + 'invoice_number_format' => '{{SERIES:INV}}{{DELIMITER:-}}{{SEQUENCE:6}}', + 'estimate_number_format' => '{{SERIES:EST}}{{DELIMITER:-}}{{SEQUENCE:6}}', + 'payment_number_format' => '{{SERIES:PAY}}{{DELIMITER:-}}{{SEQUENCE:6}}', + 'estimate_set_expiry_date_automatically' => 'YES', + 'estimate_expiry_date_days' => 7, + 'invoice_set_due_date_automatically' => 'YES', + 'invoice_due_date_days' => 7, + 'bulk_exchange_rate_configured' => 'YES', + 'estimate_convert_action' => 'no_action' + ]; + + CompanySetting::setSettings($settings, $this->id); + } + + public function setupDefaultData() + { + $this->setupRoles(); + $this->setupDefaultPaymentMethods(); + $this->setupDefaultUnits(); + $this->setupDefaultSettings(); + + return true; + } + + public function deleteCompany($user) + { + if ($this->exchangeRateLogs()->exists()) { + $this->exchangeRateLogs()->delete(); + } + + if ($this->exchangeRateProviders()->exists()) { + $this->exchangeRateProviders()->delete(); + } + + if ($this->expenses()->exists()) { + $this->expenses()->delete(); + } + + if ($this->expenseCategories()->exists()) { + $this->expenseCategories()->delete(); + } + + if ($this->payments()->exists()) { + $this->payments()->delete(); + } + + if ($this->paymentMethods()->exists()) { + $this->paymentMethods()->delete(); + } + + if ($this->customFieldValues()->exists()) { + $this->customFieldValues()->delete(); + } + + + if ($this->customFields()->exists()) { + $this->customFields()->delete(); + } + + if ($this->invoices()->exists()) { + $this->invoices->map(function ($invoice) { + $this->checkModelData($invoice); + }); + + $this->invoices()->delete(); + } + + if ($this->recurringInvoices()->exists()) { + $this->recurringInvoices->map(function ($recurringInvoice) { + $this->checkModelData($recurringInvoice); + }); + + $this->recurringInvoices()->delete(); + } + + if ($this->estimates()->exists()) { + $this->estimates->map(function ($estimate) { + $this->checkModelData($estimate); + }); + + $this->estimates()->delete(); + } + + if ($this->items()->exists()) { + $this->items()->delete(); + } + + if ($this->taxTypes()->exists()) { + $this->taxTypes()->delete(); + } + + if ($this->customers()->exists()) { + $this->customers->map(function ($customer) { + if ($customer->addresses()->exists()) { + $customer->addresses()->delete(); + } + + $customer->delete(); + }); + } + + $roles = Role::when($this->id, function ($query) { + return $query->where('scope', $this->id); + })->get(); + + if ($roles) { + $roles->map(function ($role) { + $role->delete(); + }); + } + + if ($this->users()->exists()) { + $user->companies()->detach($this->id); + } + + $this->settings()->delete(); + + $this->address()->delete(); + + $this->delete(); + + return true; + } + + public function checkModelData($model) + { + $model->items->map(function ($item) { + if ($item->taxes()->exists()) { + $item->taxes()->delete(); + } + + $item->delete(); + }); + + if ($model->taxes()->exists()) { + $model->taxes()->delete(); + } + } } diff --git a/app/Models/CompanySetting.php b/app/Models/CompanySetting.php index 4fe81a0f..d1927c2d 100644 --- a/app/Models/CompanySetting.php +++ b/app/Models/CompanySetting.php @@ -38,16 +38,19 @@ class CompanySetting extends Model } } + public static function getAllSettings($company_id) + { + return static::whereCompany($company_id)->get()->mapWithKeys(function ($item) { + return [$item['option'] => $item['value']]; + }); + } + public static function getSettings($settings, $company_id) { - $settings = static::whereIn('option', $settings)->whereCompany($company_id)->get(); - $companySettings = []; - - foreach ($settings as $setting) { - $companySettings[$setting->option] = $setting->value; - } - - return $companySettings; + return static::whereIn('option', $settings)->whereCompany($company_id) + ->get()->mapWithKeys(function ($item) { + return [$item['option'] => $item['value']]; + }); } public static function getSetting($key, $company_id) diff --git a/app/Models/Currency.php b/app/Models/Currency.php index 0660dd59..b852f114 100644 --- a/app/Models/Currency.php +++ b/app/Models/Currency.php @@ -9,13 +9,7 @@ class Currency extends Model { use HasFactory; - protected $fillable = [ - 'name', - 'code', - 'symbol', - 'precision', - 'thousand_separator', - 'decimal_separator', - 'position', + protected $guarded = [ + 'id' ]; } diff --git a/app/Models/CustomField.php b/app/Models/CustomField.php index 48fc3e31..e9902d39 100644 --- a/app/Models/CustomField.php +++ b/app/Models/CustomField.php @@ -55,19 +55,24 @@ class CustomField extends Model return $this->$value_type; } + public function getInUseAttribute() + { + return $this->customFieldValues()->exists(); + } + public function company() { return $this->belongsTo(Company::class); } - public function customFieldValue() + public function customFieldValues() { return $this->hasMany(CustomFieldValue::class); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('custom_fields.company_id', $company_id); + return $query->where('custom_fields.company_id', request()->header('company')); } public function scopeWhereSearch($query, $search) @@ -81,7 +86,7 @@ class CustomField extends Model public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -110,40 +115,17 @@ class CustomField extends Model $data = $request->validated(); $data[getCustomFieldValueKey($request->type)] = $request->default_answer; $data['company_id'] = $request->header('company'); - $data['slug'] = clean_slug($request->model_type, $request->label); + $data['slug'] = clean_slug($request->model_type, $request->name); return CustomField::create($data); } public function updateCustomField($request) { - $oldSlug = $this->slug; $data = $request->validated(); $data[getCustomFieldValueKey($request->type)] = $request->default_answer; - $data['slug'] = clean_slug($request->model_type, $request->label, $this->id); $this->update($data); - if ($oldSlug !== $data['slug']) { - $settings = [ - 'invoice_company_address_format', - 'invoice_shipping_address_format', - 'invoice_billing_address_format', - 'estimate_company_address_format', - 'estimate_shipping_address_format', - 'estimate_billing_address_format', - 'payment_company_address_format', - 'payment_from_customer_address_format', - ]; - - $settings = CompanySetting::getSettings($settings, $this->company_id); - - foreach ($settings as $key => $value) { - $settings[$key] = str_replace($oldSlug, $data['slug'], $value); - } - - CompanySetting::setSettings($settings, $this->company_id); - } - return $this; } } diff --git a/app/Models/CustomFieldValue.php b/app/Models/CustomFieldValue.php index 8f339577..2a862425 100644 --- a/app/Models/CustomFieldValue.php +++ b/app/Models/CustomFieldValue.php @@ -23,15 +23,15 @@ class CustomFieldValue extends Model if ($value && $value != null) { $this->attributes['date_answer'] = Carbon::createFromFormat('Y-m-d', $value); } - $this->attributes['date_answer'] = null; } public function setTimeAnswerAttribute($value) { if ($value && $value != null) { $this->attributes['time_answer'] = date("H:i:s", strtotime($value)); + } else { + $this->attributes['time_answer'] = null; } - $this->attributes['time_answer'] = null; } public function setDateTimeAnswerAttribute($value) diff --git a/app/Models/Customer.php b/app/Models/Customer.php new file mode 100644 index 00000000..013ac14b --- /dev/null +++ b/app/Models/Customer.php @@ -0,0 +1,326 @@ +company_id); + + return Carbon::parse($this->created_at)->format($dateFormat); + } + + public function setPasswordAttribute($value) + { + if ($value != null) { + $this->attributes['password'] = bcrypt($value); + } + } + + public function estimates() + { + return $this->hasMany(Estimate::class); + } + + public function expenses() + { + return $this->hasMany(Expense::class); + } + + public function invoices() + { + return $this->hasMany(Invoice::class); + } + + public function payments() + { + return $this->hasMany(Payment::class); + } + + public function addresses() + { + return $this->hasMany(Address::class); + } + + public function recurringInvoices() + { + return $this->hasMany(RecurringInvoice::class); + } + + public function currency() + { + return $this->belongsTo(Currency::class); + } + + public function creator() + { + return $this->belongsTo(Customer::class, 'creator_id'); + } + + public function company() + { + return $this->belongsTo(Company::class); + } + + public function billingAddress() + { + return $this->hasOne(Address::class)->where('type', Address::BILLING_TYPE); + } + + public function shippingAddress() + { + return $this->hasOne(Address::class)->where('type', Address::SHIPPING_TYPE); + } + + public function getAvatarAttribute() + { + $avatar = $this->getMedia('customer_avatar')->first(); + + if ($avatar) { + return asset($avatar->getUrl()); + } + + return 0; + } + + public static function deleteCustomers($ids) + { + foreach ($ids as $id) { + $customer = self::find($id); + + if ($customer->estimates()->exists()) { + $customer->estimates()->delete(); + } + + if ($customer->invoices()->exists()) { + $customer->invoices()->delete(); + } + + if ($customer->payments()->exists()) { + $customer->payments()->delete(); + } + + if ($customer->addresses()->exists()) { + $customer->addresses()->delete(); + } + + if ($customer->expenses()->exists()) { + $customer->expenses()->delete(); + } + + if ($customer->recurringInvoices()->exists()) { + foreach ($customer->recurringInvoices as $recurringInvoice) { + if ($recurringInvoice->items()->exists()) { + $recurringInvoice->items()->delete(); + } + + $recurringInvoice->delete(); + } + } + + $customer->delete(); + } + + return true; + } + + public static function createCustomer($request) + { + $customer = Customer::create($request->getCustomerPayload()); + + if ($request->shipping) { + if ($request->hasAddress($request->shipping)) { + $customer->addresses()->create($request->getShippingAddress()); + } + } + + if ($request->billing) { + if ($request->hasAddress($request->billing)) { + $customer->addresses()->create($request->getBillingAddress()); + } + } + + $customFields = $request->customFields; + + if ($customFields) { + $customer->addCustomFields($customFields); + } + + $customer = Customer::with('billingAddress', 'shippingAddress', 'fields')->find($customer->id); + + return $customer; + } + + public static function updateCustomer($request, $customer) + { + $condition = $customer->estimates()->exists() || $customer->invoices()->exists() || $customer->payments()->exists() || $customer->recurringInvoices()->exists(); + + if (($customer->currency_id !== $request->currency_id) && $condition) { + return 'you_cannot_edit_currency'; + } + + $customer->update($request->getCustomerPayload()); + + $customer->addresses()->delete(); + + if ($request->shipping) { + if ($request->hasAddress($request->shipping)) { + $customer->addresses()->create($request->getShippingAddress()); + } + } + + if ($request->billing) { + if ($request->hasAddress($request->billing)) { + $customer->addresses()->create($request->getBillingAddress()); + } + } + + $customFields = $request->customFields; + + if ($customFields) { + $customer->updateCustomFields($customFields); + } + + $customer = Customer::with('billingAddress', 'shippingAddress', 'fields')->find($customer->id); + + return $customer; + } + + public function scopePaginateData($query, $limit) + { + if ($limit == 'all') { + return $query->get(); + } + + return $query->paginate($limit); + } + + public function scopeWhereCompany($query) + { + return $query->where('customers.company_id', request()->header('company')); + } + + public function scopeWhereContactName($query, $contactName) + { + return $query->where('contact_name', 'LIKE', '%'.$contactName.'%'); + } + + public function scopeWhereDisplayName($query, $displayName) + { + return $query->where('name', 'LIKE', '%'.$displayName.'%'); + } + + public function scopeWhereOrder($query, $orderByField, $orderBy) + { + $query->orderBy($orderByField, $orderBy); + } + + public function scopeWhereSearch($query, $search) + { + foreach (explode(' ', $search) as $term) { + $query->where(function ($query) use ($term) { + $query->where('name', 'LIKE', '%'.$term.'%') + ->orWhere('email', 'LIKE', '%'.$term.'%') + ->orWhere('phone', 'LIKE', '%'.$term.'%'); + }); + } + } + + public function scopeWherePhone($query, $phone) + { + return $query->where('phone', 'LIKE', '%'.$phone.'%'); + } + + public function scopeWhereCustomer($query, $customer_id) + { + $query->orWhere('customers.id', $customer_id); + } + + public function scopeApplyInvoiceFilters($query, array $filters) + { + $filters = collect($filters); + + if ($filters->get('from_date') && $filters->get('to_date')) { + $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date')); + $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date')); + $query->invoicesBetween($start, $end); + } + } + + public function scopeInvoicesBetween($query, $start, $end) + { + $query->whereHas('invoices', function ($query) use ($start, $end) { + $query->whereBetween( + 'invoice_date', + [$start->format('Y-m-d'), $end->format('Y-m-d')] + ); + }); + } + + public function scopeApplyFilters($query, array $filters) + { + $filters = collect($filters); + + if ($filters->get('search')) { + $query->whereSearch($filters->get('search')); + } + + if ($filters->get('contact_name')) { + $query->whereContactName($filters->get('contact_name')); + } + + if ($filters->get('display_name')) { + $query->whereDisplayName($filters->get('display_name')); + } + + if ($filters->get('customer_id')) { + $query->whereCustomer($filters->get('customer_id')); + } + + if ($filters->get('phone')) { + $query->wherePhone($filters->get('phone')); + } + + if ($filters->get('orderByField') || $filters->get('orderBy')) { + $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'name'; + $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc'; + $query->whereOrder($field, $orderBy); + } + } +} diff --git a/app/Models/CustomerFactory.php b/app/Models/CustomerFactory.php new file mode 100644 index 00000000..e0e4f7bf --- /dev/null +++ b/app/Models/CustomerFactory.php @@ -0,0 +1,40 @@ + $this->faker->name, + 'company_name' => $this->faker->company, + 'contact_name' => $this->faker->name, + 'website' => $this->faker->url, + 'enable_portal' => true, + 'email' => $this->faker->unique()->safeEmail, + 'phone' => $this->faker->phoneNumber, + 'company_id' => User::find(1)->companies()->first()->id, + 'password' => Hash::make('secret'), + 'currency_id' => Currency::find(1)->id, + ]; + } +} diff --git a/app/Models/Estimate.php b/app/Models/Estimate.php index ba8558e6..deaf1aa8 100644 --- a/app/Models/Estimate.php +++ b/app/Models/Estimate.php @@ -6,11 +6,13 @@ use App; use Barryvdh\DomPDF\Facade as PDF; use Carbon\Carbon; use Crater\Mail\SendEstimateMail; +use Crater\Services\SerialNumberFormatter; use Crater\Traits\GeneratesPdfTrait; use Crater\Traits\HasCustomFieldsTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Str; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Vinkla\Hashids\Facades\Hashids; @@ -49,6 +51,7 @@ class Estimate extends Model implements HasMedia 'sub_total' => 'integer', 'discount' => 'float', 'discount_val' => 'integer', + 'exchange_rate' => 'float' ]; public function setEstimateDateAttribute($value) @@ -70,36 +73,6 @@ class Estimate extends Model implements HasMedia return url('/estimates/pdf/'.$this->unique_hash); } - public static function getNextEstimateNumber($value) - { - // Get the last created order - $lastOrder = Estimate::where('estimate_number', 'LIKE', $value.'-%') - ->orderBy('estimate_number', 'desc') - ->first(); - - // Get number length config - $numberLength = CompanySetting::getSetting('estimate_number_length', request()->header('company')); - $numberLengthText = "%0{$numberLength}d"; - - if (! $lastOrder) { - // We get here if there is no order at all - // If there is no number set it to 0, which will be 1 at the end. - $number = 0; - } else { - $number = explode("-", $lastOrder->estimate_number); - $number = $number[1]; - } - - // If we have ORD000001 in the database then we only want the number - // So the substr returns this 000001 - - // Add the string in front and higher up the number. - // the %05d part makes sure that there are always 6 numbers in the string. - // so it adds the missing zero's when needed. - - return sprintf($numberLengthText, intval($number) + 1); - } - public function emailLogs() { return $this->morphMany('App\Models\EmailLog', 'mailable'); @@ -110,9 +83,9 @@ class Estimate extends Model implements HasMedia return $this->hasMany('Crater\Models\EstimateItem'); } - public function user() + public function customer() { - return $this->belongsTo('Crater\Models\User', 'user_id'); + return $this->belongsTo(Customer::class, 'customer_id'); } public function creator() @@ -125,40 +98,16 @@ class Estimate extends Model implements HasMedia return $this->belongsTo('Crater\Models\Company'); } + public function currency() + { + return $this->belongsTo(Currency::class); + } + public function taxes() { return $this->hasMany(Tax::class); } - public function getEstimateNumAttribute() - { - $position = $this->strposX($this->estimate_number, "-", 1) + 1; - - return substr($this->estimate_number, $position); - } - - public function getEstimatePrefixAttribute() - { - $prefix = explode("-", $this->estimate_number)[0]; - - return $prefix; - } - - private function strposX($haystack, $needle, $number) - { - if ($number == '1') { - return strpos($haystack, $needle); - } elseif ($number > '1') { - return strpos( - $haystack, - $needle, - $this->strposX($haystack, $needle, $number - 1) + strlen($needle) - ); - } else { - return error_log('Error: Value for parameter $number is out of range'); - } - } - public function getFormattedExpiryDateAttribute($value) { $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); @@ -188,7 +137,7 @@ class Estimate extends Model implements HasMedia public function scopeWhereEstimateNumber($query, $estimateNumber) { - return $query->where('estimates.estimate_number', $estimateNumber); + return $query->where('estimates.estimate_number', 'LIKE', '%'.$estimateNumber.'%'); } public function scopeWhereEstimate($query, $estimate_id) @@ -199,7 +148,7 @@ class Estimate extends Model implements HasMedia public function scopeWhereSearch($query, $search) { foreach (explode(' ', $search) as $term) { - $query->whereHas('user', function ($query) use ($term) { + $query->whereHas('customer', function ($query) use ($term) { $query->where('name', 'LIKE', '%'.$term.'%') ->orWhere('contact_name', 'LIKE', '%'.$term.'%') ->orWhere('company_name', 'LIKE', '%'.$term.'%'); @@ -238,8 +187,8 @@ class Estimate extends Model implements HasMedia } if ($filters->get('orderByField') || $filters->get('orderBy')) { - $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'estimate_number'; - $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc'; + $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number'; + $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc'; $query->whereOrder($field, $orderBy); } } @@ -249,20 +198,20 @@ class Estimate extends Model implements HasMedia $query->orderBy($orderByField, $orderBy); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('estimates.company_id', $company_id); + $query->where('estimates.company_id', request()->header('company')); } public function scopeWhereCustomer($query, $customer_id) { - $query->where('estimates.user_id', $customer_id); + $query->where('estimates.customer_id', $customer_id); } public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -270,22 +219,7 @@ class Estimate extends Model implements HasMedia public static function createEstimate($request) { - $data = $request->except(['items', 'taxes']); - - $data['creator_id'] = Auth::id(); - $data['status'] = self::STATUS_DRAFT; - $data['unique_hash'] = str_random(60); - $data['company_id'] = $request->header('company'); - - $data['tax_per_item'] = CompanySetting::getSetting( - 'tax_per_item', - $request->header('company') - ) ?? 'NO'; - - $data['discount_per_item'] = CompanySetting::getSetting( - 'discount_per_item', - $request->header('company') - ) ?? 'NO'; + $data = $request->getEstimatePayload(); if ($request->has('estimateSend')) { $data['status'] = self::STATUS_SENT; @@ -293,12 +227,26 @@ class Estimate extends Model implements HasMedia $estimate = self::create($data); $estimate->unique_hash = Hashids::connection(Estimate::class)->encode($estimate->id); + $serial = (new SerialNumberFormatter()) + ->setModel($estimate) + ->setCompany($estimate->company_id) + ->setCustomer($estimate->customer_id) + ->setNextNumbers(); + + $estimate->sequence_number = $serial->nextSequenceNumber; + $estimate->customer_sequence_number = $serial->nextCustomerSequenceNumber; $estimate->save(); - self::createItems($estimate, $request); + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$data['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($estimate); + } + + self::createItems($estimate, $request, $estimate->exchange_rate); if ($request->has('taxes') && (! empty($request->taxes))) { - self::createTaxes($estimate, $request); + self::createTaxes($estimate, $request, $estimate->exchange_rate); } $customFields = $request->customFields; @@ -307,27 +255,45 @@ class Estimate extends Model implements HasMedia $estimate->addCustomFields($customFields); } - return Estimate::with([ - 'items.taxes', - 'user', - 'taxes' - ]) - ->find($estimate->id); + return $estimate; } public function updateEstimate($request) { - $data = $request->except(['items', 'taxes']); + $data = $request->getEstimatePayload(); + + $serial = (new SerialNumberFormatter()) + ->setModel($this) + ->setCompany($this->company_id) + ->setCustomer($request->customer_id) + ->setModelObject($this->id) + ->setNextNumbers(); + + $data['customer_sequence_number'] = $serial->nextCustomerSequenceNumber; $this->update($data); + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$data['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($this); + } + + $this->items->map(function ($item) { + $fields = $item->fields()->get(); + + $fields->map(function ($field) { + $field->delete(); + }); + }); + $this->items()->delete(); $this->taxes()->delete(); - self::createItems($this, $request); + self::createItems($this, $request, $this->exchange_rate); if ($request->has('taxes') && (! empty($request->taxes))) { - self::createTaxes($this, $request); + self::createTaxes($this, $request, $this->exchange_rate); } if ($request->customFields) { @@ -336,18 +302,26 @@ class Estimate extends Model implements HasMedia return Estimate::with([ 'items.taxes', - 'user', + 'items.fields', + 'items.fields.customField', + 'customer', 'taxes' ]) ->find($this->id); } - public static function createItems($estimate, $request) + public static function createItems($estimate, $request, $exchange_rate) { $estimateItems = $request->items; foreach ($estimateItems as $estimateItem) { $estimateItem['company_id'] = $request->header('company'); + $estimateItem['exchange_rate'] = $exchange_rate; + $estimateItem['base_price'] = $estimateItem['price'] * $exchange_rate; + $estimateItem['base_discount_val'] = $estimateItem['discount_val'] * $exchange_rate; + $estimateItem['base_tax'] = $estimate['tax'] * $exchange_rate; + $estimateItem['base_total'] = $estimateItem['total'] * $exchange_rate; + $item = $estimate->items()->create($estimateItem); if (array_key_exists('taxes', $estimateItem) && $estimateItem['taxes']) { @@ -358,38 +332,54 @@ class Estimate extends Model implements HasMedia } } } + + if (array_key_exists('custom_fields', $estimateItem) && $estimateItem['custom_fields']) { + $item->addCustomFields($estimateItem['custom_fields']); + } } } - public static function createTaxes($estimate, $request) + public static function createTaxes($estimate, $request, $exchange_rate) { $estimateTaxes = $request->taxes; foreach ($estimateTaxes as $tax) { if (gettype($tax['amount']) !== "NULL") { $tax['company_id'] = $request->header('company'); + $tax['exchange_rate'] = $exchange_rate; + $tax['base_amount'] = $tax['amount'] * $exchange_rate; + $tax['currency_id'] = $estimate->currency_id; + $estimate->taxes()->create($tax); } } } - public function send($data) + public function sendEstimateData($data) { $data['estimate'] = $this->toArray(); - $data['user'] = $this->user->toArray(); + $data['user'] = $this->customer->toArray(); $data['company'] = $this->company->toArray(); $data['body'] = $this->getEmailBody($data['body']); $data['attach']['data'] = ($this->getEmailAttachmentSetting()) ? $this->getPDFData() : null; - \Mail::to($data['to'])->send(new SendEstimateMail($data)); + return $data; + } + + public function send($data) + { + $data = $this->sendEstimateData($data); if ($this->status == Estimate::STATUS_DRAFT) { $this->status = Estimate::STATUS_SENT; $this->save(); } + \Mail::to($data['to'])->send(new SendEstimateMail($data)); + return [ 'success' => true, + 'type' => 'send', ]; } @@ -417,6 +407,7 @@ class Estimate extends Model implements HasMedia $company = Company::find($this->company_id); $locale = CompanySetting::getSetting('language', $company->id); + $customFields = CustomField::where('model_type', 'Item')->get(); App::setLocale($locale); @@ -424,6 +415,7 @@ class Estimate extends Model implements HasMedia view()->share([ 'estimate' => $this, + 'customFields' => $customFields, 'logo' => $logo ?? null, 'company_address' => $this->getCompanyAddress(), 'shipping_address' => $this->getCustomerShippingAddress(), @@ -448,7 +440,7 @@ class Estimate extends Model implements HasMedia public function getCustomerShippingAddress() { - if ($this->user && (! $this->user->shippingAddress()->exists())) { + if ($this->customer && (! $this->customer->shippingAddress()->exists())) { return false; } @@ -459,7 +451,7 @@ class Estimate extends Model implements HasMedia public function getCustomerBillingAddress() { - if ($this->user && (! $this->user->billingAddress()->exists())) { + if ($this->customer && (! $this->customer->billingAddress()->exists())) { return false; } @@ -503,4 +495,54 @@ class Estimate extends Model implements HasMedia '{ESTIMATE_LINK}' => url('/customer/estimates/pdf/'.$this->unique_hash), ]; } + + public static function estimateTemplates() + { + $templates = Storage::disk('views')->files('/app/pdf/estimate'); + $estimateTemplates = []; + + foreach ($templates as $key => $template) { + $templateName = Str::before(basename($template), '.blade.php'); + $estimateTemplates[$key]['name'] = $templateName; + $estimateTemplates[$key]['path'] = vite_asset('/img/PDF/'.$templateName.'.png'); + } + + return $estimateTemplates; + } + + public function getInvoiceTemplateName() + { + $templateName = Str::replace('estimate', 'invoice', $this->template_name); + + $name = []; + + foreach (Invoice::invoiceTemplates() as $template) { + $name[] = $template['name']; + } + + if (in_array($templateName, $name) == false) { + $templateName = 'invoice1'; + } + + return $templateName; + } + + public function checkForEstimateConvertAction() + { + $convertEstimateAction = CompanySetting::getSetting( + 'estimate_convert_action', + $this->company_id + ); + + if ($convertEstimateAction === 'delete_estimate') { + $this->delete(); + } + + if ($convertEstimateAction === 'mark_estimate_as_accepted') { + $this->status = self::STATUS_ACCEPTED; + $this->save(); + } + + return true; + } } diff --git a/app/Models/EstimateItem.php b/app/Models/EstimateItem.php index 75c2419e..d38a2b62 100644 --- a/app/Models/EstimateItem.php +++ b/app/Models/EstimateItem.php @@ -2,27 +2,17 @@ namespace Crater\Models; +use Crater\Traits\HasCustomFieldsTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class EstimateItem extends Model { use HasFactory; + use HasCustomFieldsTrait; - protected $fillable = [ - 'estimate_id', - 'name', - 'item_id', - 'description', - 'quantity', - 'company_id', - 'price', - 'discount_type', - 'discount_val', - 'tax', - 'total', - 'discount', - 'unit_name', + protected $guarded = [ + 'id' ]; protected $casts = [ diff --git a/app/Models/ExchangeRateLog.php b/app/Models/ExchangeRateLog.php new file mode 100644 index 00000000..72a96392 --- /dev/null +++ b/app/Models/ExchangeRateLog.php @@ -0,0 +1,41 @@ + 'float' + ]; + + public function currency() + { + return $this->belongsTo(Currency::class); + } + + public function company() + { + return $this->belongsTo(Company::class); + } + + public static function addExchangeRateLog($model) + { + $data = [ + 'exchange_rate' => $model->exchange_rate, + 'company_id' => $model->company_id, + 'base_currency_id' => $model->currency_id, + 'currency_id' => CompanySetting::getSetting('currency', $model->company_id), + ]; + + return self::create($data); + } +} diff --git a/app/Models/ExchangeRateProvider.php b/app/Models/ExchangeRateProvider.php new file mode 100644 index 00000000..d02ae51d --- /dev/null +++ b/app/Models/ExchangeRateProvider.php @@ -0,0 +1,166 @@ + 'array', + 'driver_config' => 'array', + 'active' => 'boolean' + ]; + + public function company() + { + return $this->belongsTo(Company::class); + } + + public function setCurrenciesAttribute($value) + { + $this->attributes['currencies'] = json_encode($value); + } + + public function setDriverConfigAttribute($value) + { + $this->attributes['driver_config'] = json_encode($value); + } + + public function scopeWhereCompany($query) + { + $query->where('exchange_rate_providers.company_id', request()->header('company')); + } + + public static function createFromRequest(ExchangeRateProviderRequest $request) + { + $exchangeRateProvider = self::create($request->getExchangeRateProviderPayload()); + + return $exchangeRateProvider; + } + + public function updateFromRequest(ExchangeRateProviderRequest $request) + { + $this->update($request->getExchangeRateProviderPayload()); + + return $this; + } + + public static function checkActiveCurrencies($request) + { + $query = ExchangeRateProvider::whereJsonContains('currencies', $request->currencies) + ->where('active', true) + ->get(); + + return $query; + } + + public function checkUpdateActiveCurrencies($request) + { + $query = ExchangeRateProvider::where('active', $request->active) + ->where('id', '<>', $this->id) + ->whereJsonContains('currencies', $request->currencies) + ->get(); + + return $query; + } + + public static function checkExchangeRateProviderStatus($request) + { + switch ($request['driver']) { + case 'currency_freak': + $url = "https://api.currencyfreaks.com/latest?apikey=".$request['key']."&symbols=INR&base=USD"; + $response = Http::get($url)->json(); + + if (array_key_exists('success', $response)) { + if ($response["success"] == false) { + return respondJson($response["error"]["message"], $response["error"]["message"]); + } + } + + return response()->json([ + 'exchangeRate' => array_values($response["rates"]), + ], 200); + + break; + + case 'currency_layer': + $url = "http://api.currencylayer.com/live?access_key=".$request['key']."&source=INR¤cies=USD"; + $response = Http::get($url)->json(); + + if (array_key_exists('success', $response)) { + if ($response["success"] == false) { + return respondJson($response["error"]["info"], $response["error"]["info"]); + } + } + + return response()->json([ + 'exchangeRate' => array_values($response['quotes']), + ], 200); + + break; + + case 'open_exchange_rate': + $url = "https://openexchangerates.org/api/latest.json?app_id=".$request['key']."&base=INR&symbols=USD"; + $response = Http::get($url)->json(); + + if (array_key_exists("error", $response)) { + return respondJson($response['message'], $response["description"]); + } + + return response()->json([ + 'exchangeRate' => array_values($response["rates"]), + ], 200); + + break; + + case 'currency_converter': + $url = self::getCurrencyConverterUrl($request['driver_config']); + $url = $url."/api/v7/convert?apiKey=".$request['key']; + + $query = "INR_USD"; + $url = $url."&q={$query}"."&compact=y"; + $response = Http::get($url)->json(); + + return response()->json([ + 'exchangeRate' => array_values($response[$query]), + ], 200); + + break; + } + } + + public static function getCurrencyConverterUrl($data) + { + switch ($data['type']) { + case 'PREMIUM': + return "https://api.currconv.com"; + + break; + + case 'PREPAID': + return "https://prepaid.currconv.com"; + + break; + + case 'FREE': + return "https://free.currconv.com"; + + break; + + case 'DEDICATED': + return $data['url']; + + break; + } + } +} diff --git a/app/Models/Expense.php b/app/Models/Expense.php index 752c245c..dcb3dc99 100644 --- a/app/Models/Expense.php +++ b/app/Models/Expense.php @@ -6,7 +6,6 @@ use Carbon\Carbon; use Crater\Traits\HasCustomFieldsTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -23,6 +22,12 @@ class Expense extends Model implements HasMedia 'formattedExpenseDate', 'formattedCreatedAt', 'receipt', + 'receiptMeta' + ]; + + protected $casts = [ + 'notes' => 'string', + 'exchange_rate' => 'float' ]; public function setExpenseDateAttribute($value) @@ -37,9 +42,24 @@ class Expense extends Model implements HasMedia return $this->belongsTo(ExpenseCategory::class, 'expense_category_id'); } - public function user() + public function customer() { - return $this->belongsTo(User::class, 'user_id'); + return $this->belongsTo(Customer::class, 'customer_id'); + } + + public function company() + { + return $this->belongsTo(Company::class, 'company_id'); + } + + public function paymentMethod() + { + return $this->belongsTo(PaymentMethod::class); + } + + public function currency() + { + return $this->belongsTo(Currency::class, 'currency_id'); } public function creator() @@ -61,9 +81,24 @@ class Expense extends Model implements HasMedia return Carbon::parse($this->created_at)->format($dateFormat); } + public function getReceiptUrlAttribute($value) + { + $media = $this->getFirstMedia('receipts'); + + if ($media) { + return [ + 'url' => $media->getFullUrl(), + 'type' => $media->type + ]; + } + + return null; + } + public function getReceiptAttribute($value) { $media = $this->getFirstMedia('receipts'); + if ($media) { return $media->getPath(); } @@ -71,6 +106,17 @@ class Expense extends Model implements HasMedia return null; } + public function getReceiptMetaAttribute($value) + { + $media = $this->getFirstMedia('receipts'); + + if ($media) { + return $media; + } + + return null; + } + public function scopeExpensesBetween($query, $start, $end) { return $query->whereBetween( @@ -98,9 +144,9 @@ class Expense extends Model implements HasMedia return $query->where('expenses.expense_category_id', $categoryId); } - public function scopeWhereUser($query, $user_id) + public function scopeWhereUser($query, $customer_id) { - return $query->where('expenses.user_id', $user_id); + return $query->where('expenses.customer_id', $customer_id); } public function scopeApplyFilters($query, array $filters) @@ -111,8 +157,8 @@ class Expense extends Model implements HasMedia $query->whereCategory($filters->get('expense_category_id')); } - if ($filters->get('user_id')) { - $query->whereUser($filters->get('user_id')); + if ($filters->get('customer_id')) { + $query->whereUser($filters->get('customer_id')); } if ($filters->get('expense_id')) { @@ -156,15 +202,20 @@ class Expense extends Model implements HasMedia $query->orderBy($orderByField, $orderBy); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('expenses.company_id', $company_id); + $query->where('expenses.company_id', request()->header('company')); + } + + public function scopeWhereCompanyId($query, $company) + { + $query->where('expenses.company_id', $company); } public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -183,20 +234,20 @@ class Expense extends Model implements HasMedia public static function createExpense($request) { - $data = $request->validated(); - $data['creator_id'] = Auth::id(); - $data['company_id'] = $request->header('company'); + $expense = self::create($request->getExpensePayload()); - $expense = self::create($data); + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); - if ($request->hasFile('attachment_receipt')) { - $expense->addMediaFromRequest('attachment_receipt')->toMediaCollection('receipts', 'local'); + if ((string)$expense['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($expense); } - $customFields = json_decode($request->customFields, true); + if ($request->hasFile('attachment_receipt')) { + $expense->addMediaFromRequest('attachment_receipt')->toMediaCollection('receipts'); + } - if ($customFields) { - $expense->addCustomFields($customFields); + if ($request->customFields && empty($request->customFields)) { + $expense->addCustomFields($request->customFields); } return $expense; @@ -204,17 +255,23 @@ class Expense extends Model implements HasMedia public function updateExpense($request) { - $this->update($request->validated()); + $data = $request->getExpensePayload(); + + $this->update($data); + + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$data['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($this); + } if ($request->hasFile('attachment_receipt')) { $this->clearMediaCollection('receipts'); - $this->addMediaFromRequest('attachment_receipt')->toMediaCollection('receipts', 'local'); + $this->addMediaFromRequest('attachment_receipt')->toMediaCollection('receipts'); } - $customFields = json_decode($request->customFields, true); - - if ($customFields) { - $this->updateCustomFields($customFields); + if ($request->customFields && empty($request->customFields)) { + $this->updateCustomFields($request->customFields); } return true; diff --git a/app/Models/ExpenseCategory.php b/app/Models/ExpenseCategory.php index 2d938e3a..71dca9bb 100644 --- a/app/Models/ExpenseCategory.php +++ b/app/Models/ExpenseCategory.php @@ -24,6 +24,11 @@ class ExpenseCategory extends Model return $this->hasMany(Expense::class); } + public function company() + { + return $this->belongsTo(Company::class); + } + public function getFormattedCreatedAtAttribute($value) { $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); @@ -36,9 +41,9 @@ class ExpenseCategory extends Model return $this->expenses()->sum('amount'); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('company_id', $company_id); + $query->where('company_id', request()->header('company')); } public function scopeWhereCategory($query, $category_id) @@ -71,7 +76,7 @@ class ExpenseCategory extends Model public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); diff --git a/app/Models/FileDisk.php b/app/Models/FileDisk.php index dbef4361..a435bf7a 100644 --- a/app/Models/FileDisk.php +++ b/app/Models/FileDisk.php @@ -16,6 +16,10 @@ class FileDisk extends Model 'id', ]; + protected $casts = [ + 'set_as_default' => 'boolean', + ]; + public function setCredentialsAttribute($value) { $this->attributes['credentials'] = json_encode($value); @@ -45,7 +49,7 @@ class FileDisk extends Model public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -65,7 +69,7 @@ class FileDisk extends Model } if ($filters->get('orderByField') || $filters->get('orderBy')) { - $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'invoice_number'; + $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number'; $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc'; $query->whereOrder($field, $orderBy); } @@ -139,6 +143,7 @@ class FileDisk extends Model 'name' => $request->name, 'driver' => $request->driver, 'set_as_default' => $request->set_as_default, + 'company_id' => $request->header('company'), ]); return $disk; diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index ac300798..5dec7b61 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -6,11 +6,13 @@ use App; use Barryvdh\DomPDF\Facade as PDF; use Carbon\Carbon; use Crater\Mail\SendInvoiceMail; +use Crater\Services\SerialNumberFormatter; use Crater\Traits\GeneratesPdfTrait; use Crater\Traits\HasCustomFieldsTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Storage; +use Illuminate\Support\Str; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Vinkla\Hashids\Facades\Hashids; @@ -45,6 +47,7 @@ class Invoice extends Model implements HasMedia 'sub_total' => 'integer', 'discount' => 'float', 'discount_val' => 'integer', + 'exchange_rate' => 'float' ]; protected $guarded = [ @@ -72,35 +75,6 @@ class Invoice extends Model implements HasMedia } } - public static function getNextInvoiceNumber($value) - { - // Get the last created order - $lastOrder = Invoice::where('invoice_number', 'LIKE', $value.'-%') - ->orderBy('invoice_number', 'desc') - ->first(); - - // Get number length config - $numberLength = CompanySetting::getSetting('invoice_number_length', request()->header('company')); - $numberLengthText = "%0{$numberLength}d"; - - if (! $lastOrder) { - // We get here if there is no order at all - // If there is no number set it to 0, which will be 1 at the end. - $number = 0; - } else { - $number = explode("-", $lastOrder->invoice_number); - $number = $number[1]; - } - // If we have ORD000001 in the database then we only want the number - // So the substr returns this 000001 - - // Add the string in front and higher up the number. - // the %06d part makes sure that there are always 6 numbers in the string. - // so it adds the missing zero's when needed. - - return sprintf($numberLengthText, intval($number) + 1); - } - public function emailLogs() { return $this->morphMany('App\Models\EmailLog', 'mailable'); @@ -131,14 +105,19 @@ class Invoice extends Model implements HasMedia return $this->belongsTo(Company::class); } - public function user() + public function customer() { - return $this->belongsTo('Crater\Models\User', 'user_id'); + return $this->belongsTo(Customer::class, 'customer_id'); + } + + public function recurringInvoice() + { + return $this->belongsTo(RecurringInvoice::class); } public function creator() { - return $this->belongsTo('Crater\Models\User', 'creator_id'); + return $this->belongsTo(User::class, 'creator_id'); } public function getInvoicePdfUrlAttribute() @@ -146,6 +125,31 @@ class Invoice extends Model implements HasMedia return url('/invoices/pdf/'.$this->unique_hash); } + public function getAllowEditAttribute() + { + $retrospective_edit = CompanySetting::getSetting('retrospective_edits', $this->company_id); + + $allowed = true; + + $status = [ + self::STATUS_DRAFT, + self::STATUS_SENT, + self::STATUS_VIEWED, + self::STATUS_OVERDUE, + self::STATUS_COMPLETED, + ]; + + if ($retrospective_edit == 'disable_on_invoice_sent' && (in_array($this->status, $status)) && ($this->paid_status === Invoice::STATUS_PARTIALLY_PAID || $this->paid_status === Invoice::STATUS_PAID)) { + $allowed = false; + } elseif ($retrospective_edit == 'disable_on_invoice_partial_paid' && ($this->paid_status === Invoice::STATUS_PARTIALLY_PAID || $this->paid_status === Invoice::STATUS_PAID)) { + $allowed = false; + } elseif ($retrospective_edit == 'disable_on_invoice_paid' && $this->paid_status === Invoice::STATUS_PAID) { + $allowed = false; + } + + return $allowed; + } + public function getPreviousStatus() { if ($this->due_date < Carbon::now()) { @@ -159,35 +163,6 @@ class Invoice extends Model implements HasMedia } } - private function strposX($haystack, $needle, $number) - { - if ($number == '1') { - return strpos($haystack, $needle); - } elseif ($number > '1') { - return strpos( - $haystack, - $needle, - $this->strposX($haystack, $needle, $number - 1) + strlen($needle) - ); - } else { - return error_log('Error: Value for parameter $number is out of range'); - } - } - - public function getInvoiceNumAttribute() - { - $position = $this->strposX($this->invoice_number, "-", 1) + 1; - - return substr($this->invoice_number, $position); - } - - public function getInvoicePrefixAttribute() - { - $prefix = explode("-", $this->invoice_number)[0]; - - return $prefix; - } - public function getFormattedCreatedAtAttribute($value) { $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); @@ -243,7 +218,7 @@ class Invoice extends Model implements HasMedia public function scopeWhereSearch($query, $search) { foreach (explode(' ', $search) as $term) { - $query->whereHas('user', function ($query) use ($term) { + $query->whereHas('customer', function ($query) use ($term) { $query->where('name', 'LIKE', '%'.$term.'%') ->orWhere('contact_name', 'LIKE', '%'.$term.'%') ->orWhere('company_name', 'LIKE', '%'.$term.'%'); @@ -259,6 +234,7 @@ class Invoice extends Model implements HasMedia public function scopeApplyFilters($query, array $filters) { $filters = collect($filters); + if ($filters->get('search')) { $query->whereSearch($filters->get('search')); } @@ -300,8 +276,8 @@ class Invoice extends Model implements HasMedia } if ($filters->get('orderByField') || $filters->get('orderBy')) { - $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'invoice_number'; - $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc'; + $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number'; + $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc'; $query->whereOrder($field, $orderBy); } } @@ -311,20 +287,25 @@ class Invoice extends Model implements HasMedia $query->orWhere('id', $invoice_id); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('invoices.company_id', $company_id); + $query->where('invoices.company_id', request()->header('company')); + } + + public function scopeWhereCompanyId($query, $company) + { + $query->where('invoices.company_id', $company); } public function scopeWhereCustomer($query, $customer_id) { - $query->where('invoices.user_id', $customer_id); + $query->where('invoices.customer_id', $customer_id); } public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -332,28 +313,35 @@ class Invoice extends Model implements HasMedia public static function createInvoice($request) { - $data = $request->except('items', 'taxes'); - - $data['creator_id'] = Auth::id(); - $data['status'] = Invoice::STATUS_DRAFT; - $data['company_id'] = $request->header('company'); - $data['paid_status'] = Invoice::STATUS_UNPAID; - $data['tax_per_item'] = CompanySetting::getSetting('tax_per_item', $request->header('company')) ?? 'NO '; - $data['discount_per_item'] = CompanySetting::getSetting('discount_per_item', $request->header('company')) ?? 'NO'; - $data['due_amount'] = $request->total; + $data = $request->getInvoicePayload(); if ($request->has('invoiceSend')) { $data['status'] = Invoice::STATUS_SENT; } $invoice = Invoice::create($data); + + $serial = (new SerialNumberFormatter()) + ->setModel($invoice) + ->setCompany($invoice->company_id) + ->setCustomer($invoice->customer_id) + ->setNextNumbers(); + + $invoice->sequence_number = $serial->nextSequenceNumber; + $invoice->customer_sequence_number = $serial->nextCustomerSequenceNumber; $invoice->unique_hash = Hashids::connection(Invoice::class)->encode($invoice->id); $invoice->save(); - self::createItems($invoice, $request); + self::createItems($invoice, $request->items); + + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$data['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($invoice); + } if ($request->has('taxes') && (! empty($request->taxes))) { - self::createTaxes($invoice, $request); + self::createTaxes($invoice, $request->taxes); } if ($request->customFields) { @@ -361,10 +349,12 @@ class Invoice extends Model implements HasMedia } $invoice = Invoice::with([ - 'items', - 'user', - 'taxes' - ]) + 'items', + 'items.fields', + 'items.fields.customField', + 'customer', + 'taxes' + ]) ->find($invoice->id); return $invoice; @@ -372,39 +362,60 @@ class Invoice extends Model implements HasMedia public function updateInvoice($request) { - $data = $request->except('items'); - $oldAmount = $this->total; + $serial = (new SerialNumberFormatter()) + ->setModel($this) + ->setCompany($this->company_id) + ->setCustomer($request->customer_id) + ->setModelObject($this->id) + ->setNextNumbers(); - if ($oldAmount != $request->total) { - $oldAmount = (int) round($request->total) - (int) $oldAmount; + $data = $request->getInvoicePayload(); + $oldTotal = $this->total; + + $total_paid_amount = $this->total - $this->due_amount; + + if ($total_paid_amount > 0 && $this->customer_id !== $request->customer_id) { + return 'customer_cannot_be_changed_after_payment_is_added'; + } + + if ($request->total < $total_paid_amount) { + return 'total_invoice_amount_must_be_more_than_paid_amount'; + } + + if ($oldTotal != $request->total) { + $oldTotal = (int) round($request->total) - (int) $oldTotal; } else { - $oldAmount = 0; + $oldTotal = 0; } - $data['due_amount'] = ($this->due_amount + $oldAmount); + $data['due_amount'] = ($this->due_amount + $oldTotal); + $data['customer_sequence_number'] = $serial->nextCustomerSequenceNumber; - if ($data['due_amount'] == 0 && $this->paid_status != Invoice::STATUS_PAID) { - $data['status'] = Invoice::STATUS_COMPLETED; - $data['paid_status'] = Invoice::STATUS_PAID; - } elseif ($this->due_amount < 0 && $this->paid_status != Invoice::STATUS_UNPAID) { - return response()->json([ - 'error' => 'invalid_due_amount', - ]); - } elseif ($data['due_amount'] != 0 && $this->paid_status == Invoice::STATUS_PAID) { - $data['status'] = $this->getPreviousStatus(); - $data['paid_status'] = Invoice::STATUS_PARTIALLY_PAID; - } + $this->changeInvoiceStatus($data['due_amount']); $this->update($data); + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$data['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($this); + } + + $this->items->map(function ($item) { + $fields = $item->fields()->get(); + + $fields->map(function ($field) { + $field->delete(); + }); + }); $this->items()->delete(); $this->taxes()->delete(); - self::createItems($this, $request); + self::createItems($this, $request->items); if ($request->has('taxes') && (! empty($request->taxes))) { - self::createTaxes($this, $request); + self::createTaxes($this, $request->taxes); } if ($request->customFields) { @@ -412,23 +423,42 @@ class Invoice extends Model implements HasMedia } $invoice = Invoice::with([ - 'items', - 'user', - 'taxes' - ]) + 'items', + 'items.fields', + 'items.fields.customField', + 'customer', + 'taxes' + ]) ->find($this->id); return $invoice; } - public function send($data) + public function sendInvoiceData($data) { $data['invoice'] = $this->toArray(); - $data['user'] = $this->user->toArray(); + $data['customer'] = $this->customer->toArray(); $data['company'] = Company::find($this->company_id); $data['body'] = $this->getEmailBody($data['body']); $data['attach']['data'] = ($this->getEmailAttachmentSetting()) ? $this->getPDFData() : null; + return $data; + } + + public function preview($data) + { + $data = $this->sendInvoiceData($data); + + return [ + 'type' => 'preview', + 'view' => new SendInvoiceMail($data) + ]; + } + + public function send($data) + { + $data = $this->sendInvoiceData($data); + if ($this->status == Invoice::STATUS_DRAFT) { $this->status = Invoice::STATUS_SENT; $this->sent = true; @@ -439,37 +469,63 @@ class Invoice extends Model implements HasMedia return [ 'success' => true, + 'type' => 'send', ]; } - public static function createItems($invoice, $request) + public static function createItems($invoice, $invoiceItems) { - $invoiceItems = $request->items; + $exchange_rate = $invoice->exchange_rate; foreach ($invoiceItems as $invoiceItem) { - $invoiceItem['company_id'] = $request->header('company'); + $invoiceItem['company_id'] = $invoice->company_id; + $invoiceItem['exchange_rate'] = $exchange_rate; + $invoiceItem['base_price'] = $invoiceItem['price'] * $exchange_rate; + $invoiceItem['base_discount_val'] = $invoiceItem['discount_val'] * $exchange_rate; + $invoiceItem['base_tax'] = $invoiceItem['tax'] * $exchange_rate; + $invoiceItem['base_total'] = $invoiceItem['total'] * $exchange_rate; + + if (array_key_exists('recurring_invoice_id', $invoiceItem)) { + unset($invoiceItem['recurring_invoice_id']); + } + $item = $invoice->items()->create($invoiceItem); if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) { foreach ($invoiceItem['taxes'] as $tax) { - $tax['company_id'] = $request->header('company'); + $tax['company_id'] = $invoice->company_id; if (gettype($tax['amount']) !== "NULL") { + if (array_key_exists('recurring_invoice_id', $invoiceItem)) { + unset($invoiceItem['recurring_invoice_id']); + } + $item->taxes()->create($tax); } } } + + if (array_key_exists('custom_fields', $invoiceItem) && $invoiceItem['custom_fields']) { + $item->addCustomFields($invoiceItem['custom_fields']); + } } } - public static function createTaxes($invoice, $request) + public static function createTaxes($invoice, $taxes) { - if ($request->has('taxes') && (! empty($request->taxes))) { - foreach ($request->taxes as $tax) { - $tax['company_id'] = $request->header('company'); + $exchange_rate = $invoice->exchange_rate; - if (gettype($tax['amount']) !== "NULL") { - $invoice->taxes()->create($tax); + foreach ($taxes as $tax) { + $tax['company_id'] = $invoice->company_id; + $tax['exchnage_rate'] = $invoice->exchange_rate; + $tax['base_amount'] = $tax['amount'] * $exchange_rate; + $tax['currency_id'] = $invoice->currency_id; + + if (gettype($tax['amount']) !== "NULL") { + if (array_key_exists('recurring_invoice_id', $tax)) { + unset($tax['recurring_invoice_id']); } + + $invoice->taxes()->create($tax); } } } @@ -498,6 +554,7 @@ class Invoice extends Model implements HasMedia $company = Company::find($this->company_id); $locale = CompanySetting::getSetting('language', $company->id); + $customFields = CustomField::where('model_type', 'Item')->get(); App::setLocale($locale); @@ -505,6 +562,7 @@ class Invoice extends Model implements HasMedia view()->share([ 'invoice' => $this, + 'customFields' => $customFields, 'company_address' => $this->getCompanyAddress(), 'shipping_address' => $this->getCustomerShippingAddress(), 'billing_address' => $this->getCustomerBillingAddress(), @@ -540,7 +598,7 @@ class Invoice extends Model implements HasMedia public function getCustomerShippingAddress() { - if ($this->user && (! $this->user->shippingAddress()->exists())) { + if ($this->customer && (! $this->customer->shippingAddress()->exists())) { return false; } @@ -551,7 +609,7 @@ class Invoice extends Model implements HasMedia public function getCustomerBillingAddress() { - if ($this->user && (! $this->user->billingAddress()->exists())) { + if ($this->customer && (! $this->customer->billingAddress()->exists())) { return false; } @@ -584,4 +642,54 @@ class Invoice extends Model implements HasMedia '{INVOICE_LINK}' => url('/customer/invoices/pdf/'.$this->unique_hash), ]; } + + public static function invoiceTemplates() + { + $templates = Storage::disk('views')->files('/app/pdf/invoice'); + $invoiceTemplates = []; + + foreach ($templates as $key => $template) { + $templateName = Str::before(basename($template), '.blade.php'); + $invoiceTemplates[$key]['name'] = $templateName; + $invoiceTemplates[$key]['path'] = vite_asset('img/PDF/'.$templateName.'.png'); + } + + return $invoiceTemplates; + } + + public function addInvoicePayment($amount) + { + $this->due_amount += $amount; + + $this->changeInvoiceStatus($this->due_amount); + } + + public function subtractInvoicePayment($amount) + { + $this->due_amount -= $amount; + + $this->changeInvoiceStatus($this->due_amount); + } + + public function changeInvoiceStatus($amount) + { + if ($amount < 0) { + return [ + 'error' => 'invalid_amount', + ]; + } + + if ($amount == 0) { + $this->status = Invoice::STATUS_COMPLETED; + $this->paid_status = Invoice::STATUS_PAID; + } elseif ($amount == $this->total) { + $this->status = $this->getPreviousStatus(); + $this->paid_status = Invoice::STATUS_UNPAID; + } else { + $this->status = $this->getPreviousStatus(); + $this->paid_status = Invoice::STATUS_PARTIALLY_PAID; + } + + $this->save(); + } } diff --git a/app/Models/InvoiceItem.php b/app/Models/InvoiceItem.php index a8ea8b0c..63dc3ca4 100644 --- a/app/Models/InvoiceItem.php +++ b/app/Models/InvoiceItem.php @@ -3,6 +3,7 @@ namespace Crater\Models; use Carbon\Carbon; +use Crater\Traits\HasCustomFieldsTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Facades\DB; @@ -10,21 +11,10 @@ use Illuminate\Support\Facades\DB; class InvoiceItem extends Model { use HasFactory; + use HasCustomFieldsTrait; - protected $fillable = [ - 'invoice_id', - 'name', - 'item_id', - 'description', - 'company_id', - 'quantity', - 'price', - 'discount_type', - 'discount_val', - 'total', - 'tax', - 'discount', - 'unit_name', + protected $guarded = [ + 'id' ]; protected $casts = [ @@ -51,6 +41,11 @@ class InvoiceItem extends Model return $this->hasMany(Tax::class); } + public function recurringInvoice() + { + return $this->belongsTo(RecurringInvoice::class); + } + public function scopeWhereCompany($query, $company_id) { $query->where('company_id', $company_id); diff --git a/app/Models/Item.php b/app/Models/Item.php index e2afbe9c..db1163f7 100644 --- a/app/Models/Item.php +++ b/app/Models/Item.php @@ -23,7 +23,12 @@ class Item extends Model public function unit() { - return $this->belongsTo(Unit::class); + return $this->belongsTo(Unit::class, 'unit_id'); + } + + public function company() + { + return $this->belongsTo(Company::class); } public function creator() @@ -31,6 +36,11 @@ class Item extends Model return $this->belongsTo('Crater\Models\User', 'creator_id'); } + public function currency() + { + return $this->belongsTo(Currency::class); + } + public function scopeWhereSearch($query, $search) { return $query->where('items.name', 'LIKE', '%'.$search.'%'); @@ -86,7 +96,7 @@ class Item extends Model public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -94,7 +104,7 @@ class Item extends Model public function getFormattedCreatedAtAttribute($value) { - $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); + $dateFormat = CompanySetting::getSetting('carbon_date_format', request()->header('company')); return Carbon::parse($this->created_at)->format($dateFormat); } @@ -106,9 +116,9 @@ class Item extends Model ->where('estimate_item_id', null); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('items.company_id', $company_id); + $query->where('items.company_id', request()->header('company')); } public function invoiceItems() @@ -126,10 +136,14 @@ class Item extends Model $data = $request->validated(); $data['company_id'] = $request->header('company'); $data['creator_id'] = Auth::id(); + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + $data['currency_id'] = $company_currency; $item = self::create($data); if ($request->has('taxes')) { foreach ($request->taxes as $tax) { + $item->tax_per_item = true; + $item->save(); $tax['company_id'] = $request->header('company'); $item->taxes()->create($tax); } @@ -148,6 +162,8 @@ class Item extends Model if ($request->has('taxes')) { foreach ($request->taxes as $tax) { + $this->tax_per_item = true; + $this->save(); $tax['company_id'] = $request->header('company'); $this->taxes()->create($tax); } diff --git a/app/Models/Note.php b/app/Models/Note.php index b618ab3c..9dad4b84 100644 --- a/app/Models/Note.php +++ b/app/Models/Note.php @@ -11,6 +11,11 @@ class Note extends Model protected $guarded = ['id']; + public function company() + { + return $this->belongsTo(Company::class); + } + public function scopeApplyFilters($query, array $filters) { $filters = collect($filters); @@ -33,4 +38,9 @@ class Note extends Model { return $query->where('type', $type); } + + public function scopeWhereCompany($query) + { + $query->where('notes.company_id', request()->header('company')); + } } diff --git a/app/Models/Payment.php b/app/Models/Payment.php index 29326221..a3c572ad 100644 --- a/app/Models/Payment.php +++ b/app/Models/Payment.php @@ -6,11 +6,11 @@ use Barryvdh\DomPDF\Facade as PDF; use Carbon\Carbon; use Crater\Jobs\GeneratePaymentPdfJob; use Crater\Mail\SendPaymentMail; +use Crater\Services\SerialNumberFormatter; use Crater\Traits\GeneratesPdfTrait; use Crater\Traits\HasCustomFieldsTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Illuminate\Support\Facades\Auth; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; use Vinkla\Hashids\Facades\Hashids; @@ -38,6 +38,11 @@ class Payment extends Model implements HasMedia 'paymentPdfUrl', ]; + protected $casts = [ + 'notes' => 'string', + 'exchange_rate' => 'float' + ]; + protected static function booted() { static::created(function ($payment) { @@ -56,13 +61,6 @@ class Payment extends Model implements HasMedia } } - public function getPaymentPrefixAttribute() - { - $prefix = explode("-", $this->payment_number)[0]; - - return $prefix; - } - public function getFormattedCreatedAtAttribute($value) { $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); @@ -82,18 +80,16 @@ class Payment extends Model implements HasMedia return url('/payments/pdf/'.$this->unique_hash); } - public function getPaymentNumAttribute() - { - $position = $this->strposX($this->payment_number, "-", 1) + 1; - - return substr($this->payment_number, $position); - } - public function emailLogs() { return $this->morphMany('App\Models\EmailLog', 'mailable'); } + public function customer() + { + return $this->belongsTo(Customer::class, 'customer_id'); + } + public function company() { return $this->belongsTo(Company::class); @@ -104,29 +100,36 @@ class Payment extends Model implements HasMedia return $this->belongsTo(Invoice::class); } - public function user() - { - return $this->belongsTo(User::class, 'user_id'); - } - public function creator() { return $this->belongsTo('Crater\Models\User', 'creator_id'); } + public function currency() + { + return $this->belongsTo(Currency::class); + } + public function paymentMethod() { return $this->belongsTo(PaymentMethod::class); } - public function send($data) + public function sendPaymentData($data) { $data['payment'] = $this->toArray(); - $data['user'] = $this->user->toArray(); + $data['user'] = $this->customer->toArray(); $data['company'] = Company::find($this->company_id); $data['body'] = $this->getEmailBody($data['body']); $data['attach']['data'] = ($this->getEmailAttachmentSetting()) ? $this->getPDFData() : null; + return $data; + } + + public function send($data) + { + $data = $this->sendPaymentData($data); + \Mail::to($data['to'])->send(new SendPaymentMail($data)); return [ @@ -136,36 +139,32 @@ class Payment extends Model implements HasMedia public static function createPayment($request) { - $data = $request->validated(); + $data = $request->getPaymentPayload(); - $data['company_id'] = $request->header('company'); - $data['creator_id'] = Auth::id(); - - if ($request->has('invoice_id') && $request->invoice_id != null) { + if ($request->invoice_id) { $invoice = Invoice::find($request->invoice_id); - if ($invoice && $invoice->due_amount == $request->amount) { - $invoice->status = Invoice::STATUS_COMPLETED; - $invoice->paid_status = Invoice::STATUS_PAID; - $invoice->due_amount = 0; - } elseif ($invoice && $invoice->due_amount != $request->amount) { - $invoice->due_amount = (int)$invoice->due_amount - (int)$request->amount; - if ($invoice->due_amount < 0) { - return [ - 'error' => 'invalid_amount', - ]; - } - $invoice->paid_status = Invoice::STATUS_PARTIALLY_PAID; - } - $invoice->save(); + $invoice->subtractInvoicePayment($request->amount); } - $payment = Payment::create($data); - $payment->unique_hash = Hashids::connection(Payment::class)->encode($payment->id); + $serial = (new SerialNumberFormatter()) + ->setModel($payment) + ->setCompany($payment->company_id) + ->setCustomer($payment->customer_id) + ->setNextNumbers(); + + $payment->sequence_number = $serial->nextSequenceNumber; + $payment->customer_sequence_number = $serial->nextCustomerSequenceNumber; $payment->save(); + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$payment['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($payment); + } + $customFields = $request->customFields; if ($customFields) { @@ -173,9 +172,10 @@ class Payment extends Model implements HasMedia } $payment = Payment::with([ - 'user', + 'customer', 'invoice', 'paymentMethod', + 'fields' ])->find($payment->id); return $payment; @@ -183,34 +183,40 @@ class Payment extends Model implements HasMedia public function updatePayment($request) { - $oldAmount = $this->amount; - - if ($request->has('invoice_id') && $request->invoice_id && ($oldAmount != $request->amount)) { - $amount = (int)$request->amount - (int)$oldAmount; - $invoice = Invoice::find($request->invoice_id); - $invoice->due_amount = (int)$invoice->due_amount - (int)$amount; - - if ($invoice->due_amount < 0) { - return [ - 'error' => 'invalid_amount', - ]; - } - - if ($invoice->due_amount == 0) { - $invoice->status = Invoice::STATUS_COMPLETED; - $invoice->paid_status = Invoice::STATUS_PAID; - } else { - $invoice->status = $invoice->getPreviousStatus(); - $invoice->paid_status = Invoice::STATUS_PARTIALLY_PAID; - } - - $invoice->save(); - } - $data = $request->all(); + if ($request->invoice_id && (! $this->invoice_id || $this->invoice_id !== $request->invoice_id)) { + $invoice = Invoice::find($request->invoice_id); + $invoice->subtractInvoicePayment($request->amount); + } + + if ($this->invoice_id && (! $request->invoice_id || $this->invoice_id !== $request->invoice_id)) { + $invoice = Invoice::find($this->invoice_id); + $invoice->addInvoicePayment($this->amount); + } + + if ($this->invoice_id === $request->invoice_id && $request->amount !== $this->amount) { + $invoice = Invoice::find($this->invoice_id); + $invoice->addInvoicePayment($this->amount); + $invoice->subtractInvoicePayment($request->amount); + } + + $serial = (new SerialNumberFormatter()) + ->setModel($this) + ->setCompany($this->company_id) + ->setCustomer($request->customer_id) + ->setModelObject($this->id) + ->setNextNumbers(); + + $data['customer_sequence_number'] = $serial->nextCustomerSequenceNumber; $this->update($data); + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$data['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($this); + } + $customFields = $request->customFields; if ($customFields) { @@ -218,7 +224,7 @@ class Payment extends Model implements HasMedia } $payment = Payment::with([ - 'user', + 'customer', 'invoice', 'paymentMethod', ]) @@ -252,54 +258,10 @@ class Payment extends Model implements HasMedia return true; } - private function strposX($haystack, $needle, $number) - { - if ($number == '1') { - return strpos($haystack, $needle); - } elseif ($number > '1') { - return strpos( - $haystack, - $needle, - $this->strposX($haystack, $needle, $number - 1) + strlen($needle) - ); - } else { - return error_log('Error: Value for parameter $number is out of range'); - } - } - - public static function getNextPaymentNumber($value) - { - // Get the last created order - $payment = Payment::where('payment_number', 'LIKE', $value.'-%') - ->orderBy('payment_number', 'desc') - ->first(); - - // Get number length config - $numberLength = CompanySetting::getSetting('payment_number_length', request()->header('company')); - $numberLengthText = "%0{$numberLength}d"; - - if (! $payment) { - // We get here if there is no order at all - // If there is no number set it to 0, which will be 1 at the end. - $number = 0; - } else { - $number = explode("-", $payment->payment_number); - $number = $number[1]; - } - // If we have ORD000001 in the database then we only want the number - // So the substr returns this 000001 - - // Add the string in front and higher up the number. - // the %05d part makes sure that there are always 6 numbers in the string. - // so it adds the missing zero's when needed. - - return sprintf($numberLengthText, intval($number) + 1); - } - public function scopeWhereSearch($query, $search) { foreach (explode(' ', $search) as $term) { - $query->whereHas('user', function ($query) use ($term) { + $query->whereHas('customer', function ($query) use ($term) { $query->where('name', 'LIKE', '%'.$term.'%') ->orWhere('contact_name', 'LIKE', '%'.$term.'%') ->orWhere('company_name', 'LIKE', '%'.$term.'%'); @@ -320,7 +282,7 @@ class Payment extends Model implements HasMedia public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -351,8 +313,8 @@ class Payment extends Model implements HasMedia } if ($filters->get('orderByField') || $filters->get('orderBy')) { - $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'payment_number'; - $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc'; + $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'sequence_number'; + $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'desc'; $query->whereOrder($field, $orderBy); } } @@ -367,14 +329,14 @@ class Payment extends Model implements HasMedia $query->orWhere('id', $payment_id); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('payments.company_id', $company_id); + $query->where('payments.company_id', request()->header('company')); } public function scopeWhereCustomer($query, $customer_id) { - $query->where('payments.user_id', $customer_id); + $query->where('payments.customer_id', $customer_id); } public function getPDFData() @@ -410,7 +372,7 @@ class Payment extends Model implements HasMedia public function getCustomerBillingAddress() { - if ($this->user && (! $this->user->billingAddress()->exists())) { + if ($this->customer && (! $this->customer->billingAddress()->exists())) { return false; } diff --git a/app/Models/PaymentMethod.php b/app/Models/PaymentMethod.php index e84dbff8..87a6d4f5 100644 --- a/app/Models/PaymentMethod.php +++ b/app/Models/PaymentMethod.php @@ -21,9 +21,9 @@ class PaymentMethod extends Model return $this->belongsTo(Company::class); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('company_id', $company_id); + $query->where('company_id', request()->header('company')); } public function scopeWherePaymentMethod($query, $payment_id) @@ -56,7 +56,7 @@ class PaymentMethod extends Model public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); diff --git a/app/Models/RecurringInvoice.php b/app/Models/RecurringInvoice.php new file mode 100644 index 00000000..5bef5fdc --- /dev/null +++ b/app/Models/RecurringInvoice.php @@ -0,0 +1,413 @@ + 'float', + 'send_automatically' => 'boolean' + ]; + + public function getFormattedStartsAtAttribute() + { + $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); + + return Carbon::parse($this->starts_at)->format($dateFormat); + } + + public function getFormattedNextInvoiceAtAttribute() + { + $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); + + return Carbon::parse($this->next_invoice_at)->format($dateFormat); + } + + public function getFormattedLimitDateAttribute() + { + $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); + + return Carbon::parse($this->limit_date)->format($dateFormat); + } + + public function getFormattedCreatedAtAttribute() + { + $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); + + return Carbon::parse($this->created_at)->format($dateFormat); + } + + public function invoices() + { + return $this->hasMany(Invoice::class); + } + + public function taxes() + { + return $this->hasMany(Tax::class); + } + + public function items() + { + return $this->hasMany(InvoiceItem::class); + } + + public function customer() + { + return $this->belongsTo(Customer::class); + } + + public function company() + { + return $this->belongsTo(Company::class); + } + + public function creator() + { + return $this->belongsTo(User::class, 'creator_id'); + } + + public function currency() + { + return $this->belongsTo(Currency::class); + } + + public function scopeWhereCompany($query) + { + $query->where('recurring_invoices.company_id', request()->header('company')); + } + + public function scopePaginateData($query, $limit) + { + if ($limit == 'all') { + return $query->get(); + } + + return $query->paginate($limit); + } + + public function scopeWhereOrder($query, $orderByField, $orderBy) + { + $query->orderBy($orderByField, $orderBy); + } + + public function scopeWhereStatus($query, $status) + { + return $query->where('recurring_invoices.status', $status); + } + + public function scopeWhereCustomer($query, $customer_id) + { + $query->where('customer_id', $customer_id); + } + + public function scopeRecurringInvoicesStartBetween($query, $start, $end) + { + return $query->whereBetween( + 'starts_at', + [$start->format('Y-m-d'), $end->format('Y-m-d')] + ); + } + + public function scopeWhereSearch($query, $search) + { + foreach (explode(' ', $search) as $term) { + $query->whereHas('customer', function ($query) use ($term) { + $query->where('name', 'LIKE', '%'.$term.'%') + ->orWhere('contact_name', 'LIKE', '%'.$term.'%') + ->orWhere('company_name', 'LIKE', '%'.$term.'%'); + }); + } + } + + public function scopeApplyFilters($query, array $filters) + { + $filters = collect($filters); + + if ($filters->get('status') && $filters->get('status') !== 'ALL') { + $query->whereStatus($filters->get('status')); + } + + if ($filters->get('search')) { + $query->whereSearch($filters->get('search')); + } + + if ($filters->get('from_date') && $filters->get('to_date')) { + $start = Carbon::createFromFormat('Y-m-d', $filters->get('from_date')); + $end = Carbon::createFromFormat('Y-m-d', $filters->get('to_date')); + $query->recurringInvoicesStartBetween($start, $end); + } + + if ($filters->get('customer_id')) { + $query->whereCustomer($filters->get('customer_id')); + } + + if ($filters->get('orderByField') || $filters->get('orderBy')) { + $field = $filters->get('orderByField') ? $filters->get('orderByField') : 'created_at'; + $orderBy = $filters->get('orderBy') ? $filters->get('orderBy') : 'asc'; + $query->whereOrder($field, $orderBy); + } + } + + public static function createFromRequest(RecurringInvoiceRequest $request) + { + $recurringInvoice = self::create($request->getRecurringInvoicePayload()); + + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$recurringInvoice['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($recurringInvoice); + } + + self::createItems($recurringInvoice, $request->items); + + if ($request->has('taxes') && (! empty($request->taxes))) { + self::createTaxes($recurringInvoice, $request->taxes); + } + + if ($request->customFields) { + $recurringInvoice->addCustomFields($request->customFields); + } + + return $recurringInvoice; + } + + public function updateFromRequest(RecurringInvoiceRequest $request) + { + $data = $request->getRecurringInvoicePayload(); + + $this->update($data); + + $company_currency = CompanySetting::getSetting('currency', $request->header('company')); + + if ((string)$data['currency_id'] !== $company_currency) { + ExchangeRateLog::addExchangeRateLog($this); + } + + $this->items()->delete(); + self::createItems($this, $request->items); + + $this->taxes()->delete(); + if ($request->has('taxes') && (! empty($request->taxes))) { + self::createTaxes($this, $request->taxes); + } + + if ($request->customFields) { + $this->updateCustomFields($request->customFields); + } + + return $this; + } + + public static function createItems($recurringInvoice, $invoiceItems) + { + foreach ($invoiceItems as $invoiceItem) { + $invoiceItem['company_id'] = $recurringInvoice->company_id; + $item = $recurringInvoice->items()->create($invoiceItem); + if (array_key_exists('taxes', $invoiceItem) && $invoiceItem['taxes']) { + foreach ($invoiceItem['taxes'] as $tax) { + $tax['company_id'] = $recurringInvoice->company_id; + if (gettype($tax['amount']) !== "NULL") { + $item->taxes()->create($tax); + } + } + } + } + } + + public static function createTaxes($recurringInvoice, $taxes) + { + foreach ($taxes as $tax) { + $tax['company_id'] = $recurringInvoice->company_id; + + if (gettype($tax['amount']) !== "NULL") { + $recurringInvoice->taxes()->create($tax); + } + } + } + + public function generateInvoice() + { + if ($this->limit_by == 'DATE') { + $startDate = Carbon::today()->format('Y-m-d'); + + $endDate = $this->limit_date; + + if ($endDate >= $startDate) { + $this->createInvoice(); + + $this->updateNextInvoiceDate(); + } else { + $this->markStatusAsCompleted(); + } + } elseif ($this->limit_by == 'COUNT') { + $invoiceCount = Invoice::where('recurring_invoice_id', $this->id)->count(); + + if ($invoiceCount < $this->limit_count) { + $this->createInvoice(); + + $this->updateNextInvoiceDate(); + } else { + $this->markStatusAsCompleted(); + } + } else { + $this->createInvoice(); + + $this->updateNextInvoiceDate(); + } + } + + public function createInvoice() + { + //get invoice_number + $serial = (new SerialNumberFormatter()) + ->setModel(new Invoice()) + ->setCompany($this->company_id) + ->setCustomer($this->customer_id) + ->setNextNumbers(); + + $newInvoice['creator_id'] = $this->creator_id; + $newInvoice['invoice_date'] = Carbon::today()->format('Y-m-d'); + $newInvoice['due_date'] = Carbon::today()->addDays(7)->format('Y-m-d'); + $newInvoice['status'] = Invoice::STATUS_DRAFT; + $newInvoice['company_id'] = $this->company_id; + $newInvoice['paid_status'] = Invoice::STATUS_UNPAID; + $newInvoice['sub_total'] = $this->sub_total; + $newInvoice['tax_per_item'] = $this->tax_per_item; + $newInvoice['discount_per_item'] = $this->discount_per_item; + $newInvoice['tax'] = $this->tax; + $newInvoice['total'] = $this->total; + $newInvoice['customer_id'] = $this->customer_id; + $newInvoice['currency_id'] = Customer::find($this->customer_id)->currency_id; + $newInvoice['template_name'] = $this->template_name; + $newInvoice['due_amount'] = $this->total; + $newInvoice['recurring_invoice_id'] = $this->id; + $newInvoice['discount_val'] = $this->discount_val; + $newInvoice['discount'] = $this->discount; + $newInvoice['discount_type'] = $this->discount_type; + $newInvoice['notes'] = $this->notes; + $newInvoice['exchange_rate'] = $this->exchange_rate; + $newInvoice['invoice_number'] = $serial->getNextNumber(); + $newInvoice['sequence_number'] = $serial->nextSequenceNumber; + $newInvoice['customer_sequence_number'] = $serial->nextCustomerSequenceNumber; + $newInvoice['base_due_amount'] = $this->exchange_rate * $this->due_amount; + $newInvoice['base_discount_val'] = $this->exchange_rate * $this->discount_val; + $newInvoice['base_sub_total'] = $this->exchange_rate * $this->sub_total; + $newInvoice['base_tax'] = $this->exchange_rate * $this->tax; + $newInvoice['base_total'] = $this->exchange_rate * $this->total; + $invoice = Invoice::create($newInvoice); + $invoice->unique_hash = Hashids::connection(Invoice::class)->encode($invoice->id); + $invoice->save(); + + $this->load('items.taxes'); + Invoice::createItems($invoice, $this->items->toArray()); + + if ($this->taxes()->exists()) { + Invoice::createTaxes($invoice, $this->taxes->toArray()); + } + + if ($this->fields()->exists()) { + $customField = []; + + foreach ($this->fields as $data) { + $customField[] = [ + 'id' => $data->custom_field_id, + 'value' => $data->defaultAnswer + ]; + } + + $invoice->addCustomFields($customField); + } + + //send automatically + if ($this->send_automatically == true) { + $data = [ + 'body' => CompanySetting::getSetting('invoice_mail_body', $this->company_id), + 'from' => config('mail.from.address'), + 'to' => $this->customer->email, + 'subject' => 'New Invoice', + 'invoice' => $invoice->toArray(), + 'customer' => $invoice->customer->toArray(), + 'company' => Company::find($invoice->company_id) + ]; + $invoice->send($data); + } + } + + public function markStatusAsCompleted() + { + if ($this->status == $this->status) { + $this->status = self::COMPLETED; + $this->save(); + } + } + + public static function getNextInvoiceDate($frequency, $starts_at) + { + $cron = new Cron\CronExpression($frequency); + + return $cron->getNextRunDate($starts_at)->format('Y-m-d H:i:s'); + } + + public function updateNextInvoiceDate() + { + $nextInvoiceAt = self::getNextInvoiceDate($this->frequency, $this->starts_at); + + $this->next_invoice_at = $nextInvoiceAt; + $this->save(); + } + + public static function deleteRecurringInvoice($ids) + { + foreach ($ids as $id) { + $recurringInvoice = self::find($id); + + if ($recurringInvoice->invoices()->exists()) { + $recurringInvoice->invoices()->update(['recurring_invoice_id' => null]); + } + + if ($recurringInvoice->items()->exists()) { + $recurringInvoice->items()->delete(); + } + + if ($recurringInvoice->taxes()->exists()) { + $recurringInvoice->taxes()->delete(); + } + + $recurringInvoice->delete(); + } + + return true; + } +} diff --git a/app/Models/Tax.php b/app/Models/Tax.php index 04e4d95f..11bd2da3 100644 --- a/app/Models/Tax.php +++ b/app/Models/Tax.php @@ -11,16 +11,8 @@ class Tax extends Model { use HasFactory; - protected $fillable = [ - 'name', - 'amount', - 'company_id', - 'percent', - 'tax_type_id', - 'invoice_id', - 'estimate_id', - 'item_id', - 'compound_tax', + protected $guarded = [ + 'id' ]; protected $casts = [ @@ -38,11 +30,21 @@ class Tax extends Model return $this->belongsTo(Invoice::class); } + public function recurringInvoice() + { + return $this->belongsTo(RecurringInvoice::class); + } + public function estimate() { return $this->belongsTo(Estimate::class); } + public function currency() + { + return $this->belongsTo(Currency::class); + } + public function invoiceItem() { return $this->belongsTo(InvoiceItem::class); diff --git a/app/Models/TaxType.php b/app/Models/TaxType.php index 8d6d1a0f..9c66cfcf 100644 --- a/app/Models/TaxType.php +++ b/app/Models/TaxType.php @@ -20,6 +20,7 @@ class TaxType extends Model protected $casts = [ 'percent' => 'float', + 'compound_tax' => 'boolean' ]; public function taxes() @@ -27,9 +28,14 @@ class TaxType extends Model return $this->hasMany(Tax::class); } - public function scopeWhereCompany($query, $company_id) + public function company() { - $query->where('company_id', $company_id); + return $this->belongsTo(Company::class); + } + + public function scopeWhereCompany($query) + { + $query->where('company_id', request()->header('company')); } public function scopeWhereTaxType($query, $tax_type_id) @@ -73,7 +79,7 @@ class TaxType extends Model public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); diff --git a/app/Models/Unit.php b/app/Models/Unit.php index 6caee67b..7d682edf 100644 --- a/app/Models/Unit.php +++ b/app/Models/Unit.php @@ -21,9 +21,9 @@ class Unit extends Model return $this->belongsTo(Company::class); } - public function scopeWhereCompany($query, $company_id) + public function scopeWhereCompany($query) { - $query->where('company_id', $company_id); + $query->where('company_id', request()->header('company')); } public function scopeWhereUnit($query, $unit_id) @@ -31,10 +31,19 @@ class Unit extends Model $query->orWhere('id', $unit_id); } + public function scopeWhereSearch($query, $search) + { + return $query->where('name', 'LIKE', '%'.$search.'%'); + } + public function scopeApplyFilters($query, array $filters) { $filters = collect($filters); + if ($filters->get('search')) { + $query->whereSearch($filters->get('search')); + } + if ($filters->get('unit_id')) { $query->whereUnit($filters->get('unit_id')); } @@ -42,12 +51,14 @@ class Unit extends Model if ($filters->get('company_id')) { $query->whereCompany($filters->get('company_id')); } + + return $query; } public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); diff --git a/app/Models/User.php b/app/Models/User.php index 222a68a8..ddb767c3 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -3,6 +3,7 @@ namespace Crater\Models; use Carbon\Carbon; +use Crater\Http\Requests\UserRequest; use Crater\Notifications\MailResetPasswordNotification; use Crater\Traits\HasCustomFieldsTrait; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -10,7 +11,10 @@ use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Hash; +use Illuminate\Support\Facades\Schema; use Laravel\Sanctum\HasApiTokens; +use Silber\Bouncer\BouncerFacade; +use Silber\Bouncer\Database\HasRolesAndAbilities; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; @@ -21,29 +25,15 @@ class User extends Authenticatable implements HasMedia use InteractsWithMedia; use HasCustomFieldsTrait; use HasFactory; + use HasRolesAndAbilities; /** * The attributes that are mass assignable. * * @var array */ - protected $fillable = [ - 'name', - 'email', - 'company_id', - 'password', - 'facebook_id', - 'currency_id', - 'google_id', - 'github_id', - 'role', - 'group_id', - 'phone', - 'company_name', - 'contact_name', - 'website', - 'enable_portal', - 'creator_id', + protected $guarded = [ + 'id' ]; /** @@ -99,14 +89,19 @@ class User extends Authenticatable implements HasMedia public function getFormattedCreatedAtAttribute($value) { - $dateFormat = CompanySetting::getSetting('carbon_date_format', $this->company_id); + $dateFormat = CompanySetting::getSetting('carbon_date_format', request()->header('company')); return Carbon::parse($this->created_at)->format($dateFormat); } public function estimates() { - return $this->hasMany(Estimate::class); + return $this->hasMany(Estimate::class, 'creator_id'); + } + + public function customers() + { + return $this->hasMany(Customer::class, 'creator_id'); } public function currency() @@ -119,39 +114,34 @@ class User extends Authenticatable implements HasMedia return $this->belongsTo('Crater\Models\User', 'creator_id'); } - public function company() + public function companies() { - return $this->belongsTo(Company::class); + return $this->belongsToMany(Company::class, 'user_company', 'user_id', 'company_id'); } - public function addresses() + public function recurringInvoices() { - return $this->hasMany(Address::class); + return $this->hasMany(RecurringInvoice::class, 'creator_id'); } public function expenses() { - return $this->hasMany(Expense::class); - } - - public function billingAddress() - { - return $this->hasOne(Address::class)->where('type', Address::BILLING_TYPE); - } - - public function shippingAddress() - { - return $this->hasOne(Address::class)->where('type', Address::SHIPPING_TYPE); + return $this->hasMany(Expense::class, 'creator_id'); } public function payments() { - return $this->hasMany(Payment::class); + return $this->hasMany(Payment::class, 'creator_id'); } public function invoices() { - return $this->hasMany(Invoice::class); + return $this->hasMany(Invoice::class, 'creator_id'); + } + + public function items() + { + return $this->hasMany(Item::class, 'creator_id'); } public function settings() @@ -203,15 +193,10 @@ class User extends Authenticatable implements HasMedia return $query->where('email', 'LIKE', '%'.$email.'%'); } - public function scopeCustomer($query) - { - return $query->where('role', 'customer'); - } - public function scopePaginateData($query, $limit) { if ($limit == 'all') { - return collect(['data' => $query->get()]); + return $query->get(); } return $query->paginate($limit); @@ -225,10 +210,6 @@ class User extends Authenticatable implements HasMedia $query->whereSearch($filters->get('search')); } - if ($filters->get('contact_name')) { - $query->whereContactName($filters->get('contact_name')); - } - if ($filters->get('display_name')) { $query->whereDisplayName($filters->get('display_name')); } @@ -237,10 +218,6 @@ class User extends Authenticatable implements HasMedia $query->whereEmail($filters->get('email')); } - if ($filters->get('customer_id')) { - $query->whereCustomer($filters->get('customer_id')); - } - if ($filters->get('phone')) { $query->wherePhone($filters->get('phone')); } @@ -252,16 +229,6 @@ class User extends Authenticatable implements HasMedia } } - public function scopeWhereCompany($query, $company_id) - { - $query->where('users.company_id', $company_id); - } - - public function scopeWhereCustomer($query, $customer_id) - { - $query->orWhere('users.id', $customer_id); - } - public function scopeWhereSuperAdmin($query) { $query->orWhere('role', 'super admin'); @@ -288,33 +255,6 @@ class User extends Authenticatable implements HasMedia }); } - public static function deleteCustomers($ids) - { - foreach ($ids as $id) { - $customer = self::find($id); - - if ($customer->estimates()->exists()) { - $customer->estimates()->delete(); - } - - if ($customer->invoices()->exists()) { - $customer->invoices()->delete(); - } - - if ($customer->payments()->exists()) { - $customer->payments()->delete(); - } - - if ($customer->addresses()->exists()) { - $customer->addresses()->delete(); - } - - $customer->delete(); - } - - return true; - } - public function getAvatarAttribute() { $avatar = $this->getMedia('admin_avatar')->first(); @@ -336,6 +276,9 @@ class User extends Authenticatable implements HasMedia 'contact_name', 'website', 'enable_portal', + 'invoice_prefix', + 'estimate_prefix', + 'payment_prefix' ]); $data['creator_id'] = Auth::id(); @@ -375,6 +318,9 @@ class User extends Authenticatable implements HasMedia 'contact_name', 'website', 'enable_portal', + 'invoice_prefix', + 'estimate_prefix', + 'payment_prefix' ]); $data['role'] = 'customer'; @@ -416,15 +362,139 @@ class User extends Authenticatable implements HasMedia } } + public function hasCompany($company_id) + { + $companies = $this->companies()->pluck('company_id')->toArray(); + + return in_array($company_id, $companies); + } + + public function getAllSettings() + { + return $this->settings()->get()->mapWithKeys(function ($item) { + return [$item['key'] => $item['value']]; + }); + } + public function getSettings($settings) { - $settings = $this->settings()->whereIn('key', $settings)->get(); - $companySettings = []; + return $this->settings()->whereIn('key', $settings)->get()->mapWithKeys(function ($item) { + return [$item['key'] => $item['value']]; + }); + } - foreach ($settings as $setting) { - $companySettings[$setting->key] = $setting->value; + public function isOwner() + { + if (Schema::hasColumn('companies', 'owner_id')) { + $company = Company::find(request()->header('company')); + + if ($company && $this->id === $company->owner_id) { + return true; + } + } else { + return $this->role == 'super admin' || $this->role == 'admin'; } - return $companySettings; + return false; + } + + public static function createFromRequest(UserRequest $request) + { + $user = self::create($request->getUserPayload()); + + $user->setSettings([ + 'language' => CompanySetting::getSetting('language', $request->header('company')), + ]); + + $companies = collect($request->companies); + $user->companies()->sync($companies->pluck('id')); + + foreach ($companies as $company) { + BouncerFacade::scope()->to($company['id']); + + BouncerFacade::sync($user)->roles([$company['role']]); + } + + return $user; + } + + public function updateFromRequest(UserRequest $request) + { + $this->update($request->getUserPayload()); + + $companies = collect($request->companies); + $this->companies()->sync($companies->pluck('id')); + + foreach ($companies as $company) { + BouncerFacade::scope()->to($company['id']); + + BouncerFacade::sync($this)->roles([$company['role']]); + } + + return $this; + } + + public function checkAccess($data) + { + if ($this->isOwner()) { + return true; + } + + if ((! $data->data['owner_only']) && empty($data->data['ability'])) { + return true; + } + + if ((! $data->data['owner_only']) && (! empty($data->data['ability'])) && (! empty($data->data['model'])) && $this->can($data->data['ability'], $data->data['model'])) { + return true; + } + + if ((! $data->data['owner_only']) && $this->can($data->data['ability'])) { + return true; + } + + return false; + } + + public static function deleteUsers($ids) + { + foreach ($ids as $id) { + $user = self::find($id); + + if ($user->invoices()->exists()) { + $user->invoices()->update(['creator_id' => null]); + } + + if ($user->estimates()->exists()) { + $user->estimates()->update(['creator_id' => null]); + } + + if ($user->customers()->exists()) { + $user->customers()->update(['creator_id' => null]); + } + + if ($user->recurringInvoices()->exists()) { + $user->recurringInvoices()->update(['creator_id' => null]); + } + + if ($user->expenses()->exists()) { + $user->expenses()->update(['creator_id' => null]); + } + + if ($user->payments()->exists()) { + $user->payments()->update(['creator_id' => null]); + } + + if ($user->items()->exists()) { + $user->items()->update(['creator_id' => null]); + } + + if ($user->settings()->exists()) { + $user->settings()->delete(); + } + + $user->delete(); + } + + return true; } } diff --git a/app/Policies/CompanyPolicy.php b/app/Policies/CompanyPolicy.php new file mode 100644 index 00000000..acaa3399 --- /dev/null +++ b/app/Policies/CompanyPolicy.php @@ -0,0 +1,39 @@ +isOwner()) { + return true; + } + + return false; + } + + public function delete(User $user, Company $company) + { + if ($user->id === $company->owner_id) { + return true; + } + + return false; + } + + public function transferOwnership(User $user, Company $company) + { + if ($user->id === $company->owner_id) { + return true; + } + + return false; + } +} diff --git a/app/Policies/CustomFieldPolicy.php b/app/Policies/CustomFieldPolicy.php new file mode 100644 index 00000000..ac144488 --- /dev/null +++ b/app/Policies/CustomFieldPolicy.php @@ -0,0 +1,123 @@ +hasCompany($customField->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('create-custom-field', CustomField::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\CustomField $customField + * @return mixed + */ + public function update(User $user, CustomField $customField) + { + if (BouncerFacade::can('edit-custom-field', $customField) && $user->hasCompany($customField->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\CustomField $customField + * @return mixed + */ + public function delete(User $user, CustomField $customField) + { + if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\CustomField $customField + * @return mixed + */ + public function restore(User $user, CustomField $customField) + { + if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\CustomField $customField + * @return mixed + */ + public function forceDelete(User $user, CustomField $customField) + { + if (BouncerFacade::can('delete-custom-field', $customField) && $user->hasCompany($customField->company_id)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/CustomerPolicy.php b/app/Policies/CustomerPolicy.php new file mode 100644 index 00000000..69fb19c1 --- /dev/null +++ b/app/Policies/CustomerPolicy.php @@ -0,0 +1,138 @@ +hasCompany($company->id)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/EstimatePolicy.php b/app/Policies/EstimatePolicy.php new file mode 100644 index 00000000..11800497 --- /dev/null +++ b/app/Policies/EstimatePolicy.php @@ -0,0 +1,154 @@ +hasCompany($estimate->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('create-estimate', Estimate::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Estimate $estimate + * @return mixed + */ + public function update(User $user, Estimate $estimate) + { + if (BouncerFacade::can('edit-estimate', $estimate) && $user->hasCompany($estimate->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Estimate $estimate + * @return mixed + */ + public function delete(User $user, Estimate $estimate) + { + if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Estimate $estimate + * @return mixed + */ + public function restore(User $user, Estimate $estimate) + { + if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Estimate $estimate + * @return mixed + */ + public function forceDelete(User $user, Estimate $estimate) + { + if (BouncerFacade::can('delete-estimate', $estimate) && $user->hasCompany($estimate->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can send email of the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Estimate $payment + * @return mixed + */ + public function send(User $user, Estimate $estimate) + { + if (BouncerFacade::can('send-estimate', $estimate) && $user->hasCompany($estimate->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function deleteMultiple(User $user) + { + if (BouncerFacade::can('delete-estimate', Estimate::class)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/ExchangeRateProviderPolicy.php b/app/Policies/ExchangeRateProviderPolicy.php new file mode 100644 index 00000000..cfdef4e4 --- /dev/null +++ b/app/Policies/ExchangeRateProviderPolicy.php @@ -0,0 +1,115 @@ +hasCompany($exchangeRateProvider->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + if (BouncerFacade::can('create-exchange-rate-provider', ExchangeRateProvider::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, ExchangeRateProvider $exchangeRateProvider) + { + if (BouncerFacade::can('edit-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, ExchangeRateProvider $exchangeRateProvider) + { + if (BouncerFacade::can('delete-exchange-rate-provider', $exchangeRateProvider) && $user->hasCompany($exchangeRateProvider->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, ExchangeRateProvider $exchangeRateProvider) + { + // + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExchangeRateProvider $exchangeRateProvider + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, ExchangeRateProvider $exchangeRateProvider) + { + // + } +} diff --git a/app/Policies/ExpenseCategoryPolicy.php b/app/Policies/ExpenseCategoryPolicy.php new file mode 100644 index 00000000..abe2e738 --- /dev/null +++ b/app/Policies/ExpenseCategoryPolicy.php @@ -0,0 +1,124 @@ +hasCompany($expenseCategory->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('view-expense', Expense::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExpenseCategory $expenseCategory + * @return mixed + */ + public function update(User $user, ExpenseCategory $expenseCategory) + { + if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExpenseCategory $expenseCategory + * @return mixed + */ + public function delete(User $user, ExpenseCategory $expenseCategory) + { + if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExpenseCategory $expenseCategory + * @return mixed + */ + public function restore(User $user, ExpenseCategory $expenseCategory) + { + if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\ExpenseCategory $expenseCategory + * @return mixed + */ + public function forceDelete(User $user, ExpenseCategory $expenseCategory) + { + if (BouncerFacade::can('view-expense', Expense::class) && $user->hasCompany($expenseCategory->company_id)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/ExpensePolicy.php b/app/Policies/ExpensePolicy.php new file mode 100644 index 00000000..451ff0f3 --- /dev/null +++ b/app/Policies/ExpensePolicy.php @@ -0,0 +1,138 @@ +hasCompany($expense->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('create-expense', Expense::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Expense $expense + * @return mixed + */ + public function update(User $user, Expense $expense) + { + if (BouncerFacade::can('edit-expense', $expense) && $user->hasCompany($expense->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Expense $expense + * @return mixed + */ + public function delete(User $user, Expense $expense) + { + if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Expense $expense + * @return mixed + */ + public function restore(User $user, Expense $expense) + { + if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Expense $expense + * @return mixed + */ + public function forceDelete(User $user, Expense $expense) + { + if (BouncerFacade::can('delete-expense', $expense) && $user->hasCompany($expense->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function deleteMultiple(User $user) + { + if (BouncerFacade::can('delete-expense', Expense::class)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/InvoicePolicy.php b/app/Policies/InvoicePolicy.php new file mode 100644 index 00000000..9ed9454d --- /dev/null +++ b/app/Policies/InvoicePolicy.php @@ -0,0 +1,154 @@ +hasCompany($invoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('create-invoice', Invoice::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Invoice $invoice + * @return mixed + */ + public function update(User $user, Invoice $invoice) + { + if (BouncerFacade::can('edit-invoice', $invoice) && $user->hasCompany($invoice->company_id)) { + return $invoice->allow_edit; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Invoice $invoice + * @return mixed + */ + public function delete(User $user, Invoice $invoice) + { + if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Invoice $invoice + * @return mixed + */ + public function restore(User $user, Invoice $invoice) + { + if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Invoice $invoice + * @return mixed + */ + public function forceDelete(User $user, Invoice $invoice) + { + if (BouncerFacade::can('delete-invoice', $invoice) && $user->hasCompany($invoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can send email of the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Payment $payment + * @return mixed + */ + public function send(User $user, Invoice $invoice) + { + if (BouncerFacade::can('send-invoice', $invoice) && $user->hasCompany($invoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function deleteMultiple(User $user) + { + if (BouncerFacade::can('delete-invoice', Invoice::class)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/ItemPolicy.php b/app/Policies/ItemPolicy.php new file mode 100644 index 00000000..92830180 --- /dev/null +++ b/app/Policies/ItemPolicy.php @@ -0,0 +1,138 @@ +hasCompany($item->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('create-item', Item::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Item $item + * @return mixed + */ + public function update(User $user, Item $item) + { + if (BouncerFacade::can('edit-item', $item) && $user->hasCompany($item->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Item $item + * @return mixed + */ + public function delete(User $user, Item $item) + { + if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Item $item + * @return mixed + */ + public function restore(User $user, Item $item) + { + if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Item $item + * @return mixed + */ + public function forceDelete(User $user, Item $item) + { + if (BouncerFacade::can('delete-item', $item) && $user->hasCompany($item->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function deleteMultiple(User $user) + { + if (BouncerFacade::can('delete-item', Item::class)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/NotePolicy.php b/app/Policies/NotePolicy.php new file mode 100644 index 00000000..748f18d6 --- /dev/null +++ b/app/Policies/NotePolicy.php @@ -0,0 +1,31 @@ +hasCompany($paymentMethod->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('view-payment', Payment::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\PaymentMethod $paymentMethod + * @return mixed + */ + public function update(User $user, PaymentMethod $paymentMethod) + { + if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\PaymentMethod $paymentMethod + * @return mixed + */ + public function delete(User $user, PaymentMethod $paymentMethod) + { + if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\PaymentMethod $paymentMethod + * @return mixed + */ + public function restore(User $user, PaymentMethod $paymentMethod) + { + if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\PaymentMethod $paymentMethod + * @return mixed + */ + public function forceDelete(User $user, PaymentMethod $paymentMethod) + { + if (BouncerFacade::can('view-payment', Payment::class) && $user->hasCompany($paymentMethod->company_id)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/PaymentPolicy.php b/app/Policies/PaymentPolicy.php new file mode 100644 index 00000000..43e71f4e --- /dev/null +++ b/app/Policies/PaymentPolicy.php @@ -0,0 +1,154 @@ +hasCompany($payment->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('create-payment', Payment::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Payment $payment + * @return mixed + */ + public function update(User $user, Payment $payment) + { + if (BouncerFacade::can('edit-payment', $payment) && $user->hasCompany($payment->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Payment $payment + * @return mixed + */ + public function delete(User $user, Payment $payment) + { + if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Payment $payment + * @return mixed + */ + public function restore(User $user, Payment $payment) + { + if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Payment $payment + * @return mixed + */ + public function forceDelete(User $user, Payment $payment) + { + if (BouncerFacade::can('delete-payment', $payment) && $user->hasCompany($payment->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can send email of the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Payment $payment + * @return mixed + */ + public function send(User $user, Payment $payment) + { + if (BouncerFacade::can('send-payment', $payment) && $user->hasCompany($payment->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function deleteMultiple(User $user) + { + if (BouncerFacade::can('delete-payment', Payment::class)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/RecurringInvoicePolicy.php b/app/Policies/RecurringInvoicePolicy.php new file mode 100644 index 00000000..18ad5536 --- /dev/null +++ b/app/Policies/RecurringInvoicePolicy.php @@ -0,0 +1,138 @@ +hasCompany($recurringInvoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return \Illuminate\Auth\Access\Response|bool + */ + public function create(User $user) + { + if (BouncerFacade::can('create-recurring-invoice', RecurringInvoice::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\RecurringInvoice $recurringInvoice + * @return \Illuminate\Auth\Access\Response|bool + */ + public function update(User $user, RecurringInvoice $recurringInvoice) + { + if (BouncerFacade::can('edit-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\RecurringInvoice $recurringInvoice + * @return \Illuminate\Auth\Access\Response|bool + */ + public function delete(User $user, RecurringInvoice $recurringInvoice) + { + if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\RecurringInvoice $recurringInvoice + * @return \Illuminate\Auth\Access\Response|bool + */ + public function restore(User $user, RecurringInvoice $recurringInvoice) + { + if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\RecurringInvoice $recurringInvoice + * @return \Illuminate\Auth\Access\Response|bool + */ + public function forceDelete(User $user, RecurringInvoice $recurringInvoice) + { + if (BouncerFacade::can('delete-recurring-invoice', $recurringInvoice) && $user->hasCompany($recurringInvoice->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function deleteMultiple(User $user) + { + if (BouncerFacade::can('delete-recurring-invoice', RecurringInvoice::class)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/ReportPolicy.php b/app/Policies/ReportPolicy.php new file mode 100644 index 00000000..0e6faf4d --- /dev/null +++ b/app/Policies/ReportPolicy.php @@ -0,0 +1,22 @@ +hasCompany($company->id)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/RolePolicy.php b/app/Policies/RolePolicy.php new file mode 100644 index 00000000..cd8acc0b --- /dev/null +++ b/app/Policies/RolePolicy.php @@ -0,0 +1,122 @@ +isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can view the model. + * + * @param \Crater\Models\User $user + * @param \Silber\Bouncer\Database\Role $role + * @return mixed + */ + public function view(User $user, Role $role) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Silber\Bouncer\Database\Role $role + * @return mixed + */ + public function update(User $user, Role $role) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Silber\Bouncer\Database\Role $role + * @return mixed + */ + public function delete(User $user, Role $role) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Silber\Bouncer\Database\Role $role + * @return mixed + */ + public function restore(User $user, Role $role) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Silber\Bouncer\Database\Role $role + * @return mixed + */ + public function forceDelete(User $user, Role $role) + { + if ($user->isOwner()) { + return true; + } + + return false; + } +} diff --git a/app/Policies/SettingsPolicy.php b/app/Policies/SettingsPolicy.php new file mode 100644 index 00000000..a405bc37 --- /dev/null +++ b/app/Policies/SettingsPolicy.php @@ -0,0 +1,48 @@ +id == $company->owner_id) { + return true; + } + + return false; + } + + public function manageBackups(User $user) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + public function manageFileDisk(User $user) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + public function manageEmailConfig(User $user) + { + if ($user->isOwner()) { + return true; + } + + return false; + } +} diff --git a/app/Policies/TaxTypePolicy.php b/app/Policies/TaxTypePolicy.php new file mode 100644 index 00000000..ab770da7 --- /dev/null +++ b/app/Policies/TaxTypePolicy.php @@ -0,0 +1,123 @@ +hasCompany($taxType->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('create-tax-type', TaxType::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\TaxType $taxType + * @return mixed + */ + public function update(User $user, TaxType $taxType) + { + if (BouncerFacade::can('edit-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\TaxType $taxType + * @return mixed + */ + public function delete(User $user, TaxType $taxType) + { + if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\TaxType $taxType + * @return mixed + */ + public function restore(User $user, TaxType $taxType) + { + if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\TaxType $taxType + * @return mixed + */ + public function forceDelete(User $user, TaxType $taxType) + { + if (BouncerFacade::can('delete-tax-type', $taxType) && $user->hasCompany($taxType->company_id)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/UnitPolicy.php b/app/Policies/UnitPolicy.php new file mode 100644 index 00000000..3672d06a --- /dev/null +++ b/app/Policies/UnitPolicy.php @@ -0,0 +1,124 @@ +hasCompany($unit->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if (BouncerFacade::can('view-item', Item::class)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Unit $unit + * @return mixed + */ + public function update(User $user, Unit $unit) + { + if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Unit $unit + * @return mixed + */ + public function delete(User $user, Unit $unit) + { + if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Unit $unit + * @return mixed + */ + public function restore(User $user, Unit $unit) + { + if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\Unit $unit + * @return mixed + */ + public function forceDelete(User $user, Unit $unit) + { + if (BouncerFacade::can('view-item', Item::class) && $user->hasCompany($unit->company_id)) { + return true; + } + + return false; + } +} diff --git a/app/Policies/UserPolicy.php b/app/Policies/UserPolicy.php new file mode 100644 index 00000000..2f48c3f2 --- /dev/null +++ b/app/Policies/UserPolicy.php @@ -0,0 +1,152 @@ +isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can view the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\User $model + * @return mixed + */ + public function view(User $user, User $model) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can create models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function create(User $user) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can update the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\User $model + * @return mixed + */ + public function update(User $user, User $model) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\User $model + * @return mixed + */ + public function delete(User $user, User $model) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can restore the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\User $model + * @return mixed + */ + public function restore(User $user, User $model) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can permanently delete the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\User $model + * @return mixed + */ + public function forceDelete(User $user, User $model) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can invite the model. + * + * @param \Crater\Models\User $user + * @param \Crater\Models\User $model + * @return mixed + */ + public function invite(User $user, User $model) + { + if ($user->isOwner()) { + return true; + } + + return false; + } + + /** + * Determine whether the user can delete models. + * + * @param \Crater\Models\User $user + * @return mixed + */ + public function deleteMultiple(User $user) + { + if ($user->isOwner()) { + return true; + } + + return false; + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index aaa232a5..6ae50008 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -3,6 +3,7 @@ namespace Crater\Providers; use Illuminate\Pagination\Paginator; +use Illuminate\Support\Facades\Schema; use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider @@ -15,7 +16,11 @@ class AppServiceProvider extends ServiceProvider public function boot() { Paginator::useBootstrapThree(); - $this->loadJsonTranslationsFrom(resource_path('assets/js/plugins')); + $this->loadJsonTranslationsFrom(resource_path('scripts/locales')); + + if (\Storage::disk('local')->has('database_created') && Schema::hasTable('abilities')) { + $this->addMenus(); + } } /** @@ -27,4 +32,32 @@ class AppServiceProvider extends ServiceProvider { // } + + public function addMenus() + { + //main menu + \Menu::make('main_menu', function ($menu) { + foreach (config('crater.main_menu') as $data) { + $this->generateMenu($menu, $data); + } + }); + + //setting menu + \Menu::make('setting_menu', function ($menu) { + foreach (config('crater.setting_menu') as $data) { + $this->generateMenu($menu, $data); + } + }); + } + + public function generateMenu($menu, $data) + { + $menu->add($data['title'], $data['link']) + ->data('icon', $data['icon']) + ->data('name', $data['name']) + ->data('owner_only', $data['owner_only']) + ->data('ability', $data['ability']) + ->data('model', $data['model']) + ->data('group', $data['group']); + } } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 2b3cafeb..4dc11da8 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -2,6 +2,20 @@ namespace Crater\Providers; +use Crater\Policies\CompanyPolicy; +use Crater\Policies\CustomerPolicy; +use Crater\Policies\DashboardPolicy; +use Crater\Policies\EstimatePolicy; +use Crater\Policies\ExpensePolicy; +use Crater\Policies\InvoicePolicy; +use Crater\Policies\ItemPolicy; +use Crater\Policies\NotePolicy; +use Crater\Policies\PaymentPolicy; +use Crater\Policies\RecurringInvoicePolicy; +use Crater\Policies\ReportPolicy; +use Crater\Policies\SettingsPolicy; +use Crater\Policies\UserPolicy; +use Gate; use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider; class AuthServiceProvider extends ServiceProvider @@ -12,7 +26,21 @@ class AuthServiceProvider extends ServiceProvider * @var array */ protected $policies = [ - 'Crater\Model' => 'Crater\Policies\ModelPolicy', + \Crater\Models\Customer::class => \Crater\Policies\CustomerPolicy::class, + \Crater\Models\Invoice::class => \Crater\Policies\InvoicePolicy::class, + \Crater\Models\Estimate::class => \Crater\Policies\EstimatePolicy::class, + \Crater\Models\Payment::class => \Crater\Policies\PaymentPolicy::class, + \Crater\Models\Expense::class => \Crater\Policies\ExpensePolicy::class, + \Crater\Models\ExpenseCategory::class => \Crater\Policies\ExpenseCategoryPolicy::class, + \Crater\Models\PaymentMethod::class => \Crater\Policies\PaymentMethodPolicy::class, + \Crater\Models\TaxType::class => \Crater\Policies\TaxTypePolicy::class, + \Crater\Models\CustomField::class => \Crater\Policies\CustomFieldPolicy::class, + \Crater\Models\User::class => \Crater\Policies\UserPolicy::class, + \Crater\Models\Item::class => \Crater\Policies\ItemPolicy::class, + \Silber\Bouncer\Database\Role::class => \Crater\Policies\RolePolicy::class, + \Crater\Models\Unit::class => \Crater\Policies\UnitPolicy::class, + \Crater\Models\RecurringInvoice::class => \Crater\Policies\RecurringInvoicePolicy::class, + \Crater\Models\ExchangeRateProvider::class => \Crater\Policies\ExchangeRateProviderPolicy::class, ]; /** @@ -23,5 +51,33 @@ class AuthServiceProvider extends ServiceProvider public function boot() { $this->registerPolicies(); + + Gate::define('create company', [CompanyPolicy::class, 'create']); + Gate::define('transfer company ownership', [CompanyPolicy::class, 'transferOwnership']); + Gate::define('delete company', [CompanyPolicy::class, 'delete']); + + Gate::define('manage company', [SettingsPolicy::class, 'manageCompany']); + Gate::define('manage backups', [SettingsPolicy::class, 'manageBackups']); + Gate::define('manage file disk', [SettingsPolicy::class, 'manageFileDisk']); + Gate::define('manage email config', [SettingsPolicy::class, 'manageEmailConfig']); + Gate::define('manage notes', [NotePolicy::class, 'manageNotes']); + Gate::define('view notes', [NotePolicy::class, 'viewNotes']); + + Gate::define('send invoice', [InvoicePolicy::class, 'send']); + Gate::define('send estimate', [EstimatePolicy::class, 'send']); + Gate::define('send payment', [PaymentPolicy::class, 'send']); + + Gate::define('delete multiple items', [ItemPolicy::class, 'deleteMultiple']); + Gate::define('delete multiple customers', [CustomerPolicy::class, 'deleteMultiple']); + Gate::define('delete multiple users', [UserPolicy::class, 'deleteMultiple']); + Gate::define('delete multiple invoices', [InvoicePolicy::class, 'deleteMultiple']); + Gate::define('delete multiple estimates', [EstimatePolicy::class, 'deleteMultiple']); + Gate::define('delete multiple expenses', [ExpensePolicy::class, 'deleteMultiple']); + Gate::define('delete multiple payments', [PaymentPolicy::class, 'deleteMultiple']); + Gate::define('delete multiple recurring invoices', [RecurringInvoicePolicy::class, 'deleteMultiple']); + + Gate::define('view dashboard', [DashboardPolicy::class, 'view']); + + Gate::define('view report', [ReportPolicy::class, 'viewReport']); } } diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index bdc7782c..76b5312b 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -19,6 +19,15 @@ class RouteServiceProvider extends ServiceProvider */ public const HOME = '/admin/dashboard'; + /** + * The path to the "customer home" route for your application. + * + * This is used by Laravel authentication to redirect customers after login. + * + * @var string + */ + public const CUSTOMER_HOME = '/customer/dashboard'; + /** * The controller namespace for the application. * diff --git a/app/Rules/UniqueNumber.php b/app/Rules/UniqueNumber.php deleted file mode 100644 index 23f0d65d..00000000 --- a/app/Rules/UniqueNumber.php +++ /dev/null @@ -1,67 +0,0 @@ -class = $class; - $this->id = $id; - } - - /** - * Determine if the validation rule passes. - * - * @param string $attribute - * @param mixed $value - * @return bool - */ - public function passes($attribute, $value) - { - if ($value && count(explode("-", $value)) > 2) { - $number = explode("-", $value); - $uniqueNumber = $number[0].'-'.sprintf('%06d', intval($number[1])); - } else { - $uniqueNumber = $value; - } - - $this->type = $attribute; - - if ($this->id && $this->class::where('id', $this->id)->where($attribute, $uniqueNumber)->first()) { - return true; - } - - if ($this->class::where($attribute, $uniqueNumber)->first()) { - return false; - } - - return true; - } - - /** - * Get the validation error message. - * - * @return string - */ - public function message() - { - $type = str_replace('_', ' ', $this->type); - - return "{$type} is already used."; - } -} diff --git a/app/Services/SerialNumberFormatter.php b/app/Services/SerialNumberFormatter.php new file mode 100644 index 00000000..bcedc921 --- /dev/null +++ b/app/Services/SerialNumberFormatter.php @@ -0,0 +1,235 @@ +model = $model; + + return $this; + } + + public function setModelObject($id = null) + { + $this->ob = $this->model::find($id); + + if ($this->ob && $this->ob->sequence_number) { + $this->nextSequenceNumber = $this->ob->sequence_number; + } + + if (isSet($this->ob) && isSet($this->ob->customer_sequence_number) && isSet($this->customer) && $this->ob->customer_id == $this->customer->id) { + $this->nextCustomerSequenceNumber = $this->ob->customer_sequence_number; + } + + return $this; + } + + /** + * @param $company + * @return $this + */ + public function setCompany($company) + { + $this->company = $company; + + return $this; + } + + /** + * @param $customer + * @return $this + */ + public function setCustomer($customer = null) + { + $this->customer = Customer::find($customer); + + return $this; + } + + /** + * @return string + */ + public function getNextNumber($data = null) + { + $modelName = strtolower(class_basename($this->model)); + $settingKey = $modelName.'_number_format'; + $companyId = $this->company; + + if (request()->has('format')) { + $format = request()->format; + } else { + $format = CompanySetting::getSetting( + $settingKey, + $companyId + ); + } + $this->setNextNumbers(); + + $serialNumber = $this->generateSerialNumber( + $format + ); + + return $serialNumber; + } + + public function setNextNumbers() + { + $this->nextSequenceNumber ? + $this->nextSequenceNumber : $this->setNextSequenceNumber(); + + $this->nextCustomerSequenceNumber ? + $this->nextCustomerSequenceNumber : $this->setNextCustomerSequenceNumber(); + + return $this; + } + + /** + * @return $this + */ + public function setNextSequenceNumber() + { + $companyId = $this->company; + + $last = $this->model::orderBy('sequence_number', 'desc') + ->where('company_id', $companyId) + ->where('sequence_number', '<>', null) + ->take(1) + ->first(); + + $this->nextSequenceNumber = ($last) ? $last->sequence_number + 1 : 1; + + return $this; + } + + /** + * @return self + */ + public function setNextCustomerSequenceNumber() + { + $customer_id = ($this->customer) ? $this->customer->id : 1; + + $last = $this->model::orderBy('customer_sequence_number', 'desc') + ->where('company_id', $this->company) + ->where('customer_id', $customer_id) + ->where('customer_sequence_number', '<>', null) + ->take(1) + ->first(); + + $this->nextCustomerSequenceNumber = ($last) ? $last->customer_sequence_number + 1 : 1; + + return $this; + } + + public static function getPlaceholders(string $format) + { + $regex = "/{{([A-Z_]{1,})(?::)?([a-zA-Z0-9_]{1,4}|.{1})?}}/"; + + preg_match_all($regex, $format, $placeholders); + array_shift($placeholders); + $validPlaceholders = collect(); + + /** @var array */ + $mappedPlaceholders = array_map( + null, + current($placeholders), + end($placeholders) + ); + + foreach ($mappedPlaceholders as $placeholder) { + $name = current($placeholder); + $value = end($placeholder); + + if (in_array($name, self::VALID_PLACEHOLDERS)) { + $validPlaceholders->push([ + "name" => $name, + "value" => $value + ]); + } + } + + return $validPlaceholders; + } + + /** + * @return string + */ + private function generateSerialNumber(string $format) + { + $serialNumber = ''; + + $placeholders = self::getPlaceholders($format); + + foreach ($placeholders as $placeholder) { + $name = $placeholder['name']; + $value = $placeholder['value']; + + switch ($name) { + case "SEQUENCE": + $value = $value ? $value : 6; + $serialNumber .= str_pad($this->nextSequenceNumber, $value, 0, STR_PAD_LEFT); + + break; + case "DATE_FORMAT": + $value = $value ? $value : 'Y'; + $serialNumber .= date($value); + + break; + case "RANDOM_SEQUENCE": + $value = $value ? $value : 6; + $serialNumber .= substr(bin2hex(random_bytes($value)), 0, $value); + + break; + case "CUSTOMER_SERIES": + if (isset($this->customer)) { + $serialNumber .= $this->customer->prefix ?? 'CST'; + } else { + $serialNumber .= 'CST'; + } + + break; + case "CUSTOMER_SEQUENCE": + $serialNumber .= str_pad($this->nextCustomerSequenceNumber, $value, 0, STR_PAD_LEFT); + + break; + default: + $serialNumber .= $value; + } + } + + return $serialNumber; + } +} diff --git a/app/Space/EnvironmentManager.php b/app/Space/EnvironmentManager.php index b162f252..7ba57dcb 100755 --- a/app/Space/EnvironmentManager.php +++ b/app/Space/EnvironmentManager.php @@ -78,14 +78,14 @@ class EnvironmentManager try { $conn = $this->checkDatabaseConnection($request); - $requirement = $this->checkVersionRequirements($request, $conn); + // $requirement = $this->checkVersionRequirements($request, $conn); - if ($requirement) { - return [ - 'error' => 'minimum_version_requirement', - 'requirement' => $requirement, - ]; - } + // if ($requirement) { + // return [ + // 'error' => 'minimum_version_requirement', + // 'requirement' => $requirement, + // ]; + // } if (\Schema::hasTable('users')) { return [ diff --git a/app/Space/PermissionsChecker.php b/app/Space/FilePermissionChecker.php old mode 100755 new mode 100644 similarity index 98% rename from app/Space/PermissionsChecker.php rename to app/Space/FilePermissionChecker.php index d06773e2..e8d30ce6 --- a/app/Space/PermissionsChecker.php +++ b/app/Space/FilePermissionChecker.php @@ -2,7 +2,7 @@ namespace Crater\Space; -class PermissionsChecker +class FilePermissionChecker { /** * @var array diff --git a/app/Space/Updater.php b/app/Space/Updater.php index 775f9c3b..f14b0840 100644 --- a/app/Space/Updater.php +++ b/app/Space/Updater.php @@ -16,7 +16,7 @@ class Updater public static function checkForUpdate($installed_version) { $data = null; - if (env('APP_ENV') === 'development') { + if (env('APP_ENV') === 'development' || env('APP_ENV') === 'local') { $url = 'downloads/check/latest/'.$installed_version.'?type=update&is_dev=1'; } else { $url = 'downloads/check/latest/'.$installed_version.'?type=update'; diff --git a/app/Space/helpers.php b/app/Space/helpers.php index bd17a0a1..7885d1c6 100644 --- a/app/Space/helpers.php +++ b/app/Space/helpers.php @@ -133,3 +133,11 @@ function getRelatedSlugs($type, $slug, $id = 0) ->where('id', '<>', $id) ->get(); } + +function respondJson($error, $message) +{ + return response()->json([ + 'error' => $error, + 'message' => $message + ], 422); +} diff --git a/app/Traits/ExchangeRateProvidersTrait.php b/app/Traits/ExchangeRateProvidersTrait.php new file mode 100644 index 00000000..dcb3d04a --- /dev/null +++ b/app/Traits/ExchangeRateProvidersTrait.php @@ -0,0 +1,213 @@ +json(); + + if (array_key_exists('success', $response)) { + if ($response["success"] == false) { + return respondJson($response["error"]["message"], $response["error"]["message"]); + } + } + + return response()->json([ + 'exchangeRate' => array_values($response["rates"]), + ], 200); + + break; + + case 'currency_layer': + $url = "http://api.currencylayer.com/live?access_key=".$filter['key']."&source={$baseCurrencyCode}¤cies={$currencyCode}"; + $response = Http::get($url)->json(); + + if (array_key_exists('success', $response)) { + if ($response["success"] == false) { + return respondJson($response["error"]["info"], $response["error"]["info"]); + } + } + + return response()->json([ + 'exchangeRate' => array_values($response['quotes']), + ], 200); + + break; + + case 'open_exchange_rate': + $url = "https://openexchangerates.org/api/latest.json?app_id=".$filter['key']."&base={$baseCurrencyCode}&symbols={$currencyCode}"; + $response = Http::get($url)->json(); + + if (array_key_exists("error", $response)) { + return respondJson($response["message"], $response["description"]); + } + + return response()->json([ + 'exchangeRate' => array_values($response["rates"]), + ], 200); + + break; + + case 'currency_converter': + $url = $this->getCurrencyConverterUrl($filter['driver_config']); + $url = $url."/api/v7/convert?apiKey=".$filter['key']; + + $query = "{$baseCurrencyCode}_{$currencyCode}"; + $url = $url."&q={$query}"."&compact=y"; + $response = Http::get($url)->json(); + + return response()->json([ + 'exchangeRate' => array_values($response[$query]), + ], 200); + + break; + } + } + + public function getCurrencyConverterUrl($data) + { + switch ($data['type']) { + case 'PREMIUM': + return "https://api.currconv.com"; + + break; + + case 'PREPAID': + return "https://prepaid.currconv.com"; + + break; + + case 'FREE': + return "https://free.currconv.com"; + + break; + + case 'DEDICATED': + return $data['url']; + + break; + } + } + + public function getSupportedCurrencies($request) + { + $message = 'Please Enter Valid Provider Key.'; + $error = 'invalid_key'; + + $server_message = 'Server not responding'; + $error_message = 'server_error'; + + switch ($request->driver) { + case 'currency_freak': + $url = "https://api.currencyfreaks.com/currency-symbols"; + $response = Http::get($url)->json(); + $checkKey = $this->getUrl($request); + + if ($response == null || $checkKey == null) { + return respondJson($error_message, $server_message); + } + + if (array_key_exists('success', $checkKey) && array_key_exists('error', $checkKey)) { + if ($checkKey['error']['status'] == 404) { + return respondJson($error, $message); + } + } + + return response()->json(['supportedCurrencies' => array_keys($response)]); + + break; + + case 'currency_layer': + $url = "http://api.currencylayer.com/list?access_key=".$request->key; + $response = Http::get($url)->json(); + + if ($response == null) { + return respondJson($error_message, $server_message); + } + + if (array_key_exists('currencies', $response)) { + return response()->json(['supportedCurrencies' => array_keys($response['currencies'])]); + } + + return respondJson($error, $message); + + break; + + case 'open_exchange_rate': + $url = "https://openexchangerates.org/api/currencies.json"; + $response = Http::get($url)->json(); + $checkKey = $this->getUrl($request); + + if ($response == null || $checkKey == null) { + return respondJson($error_message, $server_message); + } + + if (array_key_exists('error', $checkKey)) { + if ($checkKey['status'] == 401) { + return respondJson($error, $message); + } + } + + return response()->json(['supportedCurrencies' => array_keys($response)]); + + break; + + case 'currency_converter': + $response = $this->getUrl($request); + + if ($response == null) { + return respondJson($error_message, $server_message); + } + + if (array_key_exists('results', $response)) { + return response()->json(['supportedCurrencies' => array_keys($response['results'])]); + } + + return respondJson($error, $message); + + break; + } + } + + public function getUrl($request) + { + switch ($request->driver) { + case 'currency_freak': + $url = "https://api.currencyfreaks.com/latest?apikey=".$request->key."&symbols=INR&base=USD"; + + return Http::get($url)->json(); + + break; + + case 'currency_layer': + $url = "http://api.currencylayer.com/live?access_key=".$request->key."&source=INR¤cies=USD"; + + return Http::get($url)->json(); + + break; + + case 'open_exchange_rate': + $url = "https://openexchangerates.org/api/latest.json?app_id=".$request->key."&base=INR&symbols=USD"; + + return Http::get($url)->json(); + + break; + + case 'currency_converter': + $url = $this->getCurrencyConverterUrl($request)."/api/v7/currencies?apiKey=".$request->key; + + return Http::get($url)->json(); + + break; + } + } +} diff --git a/app/Traits/GeneratesMenuTrait.php b/app/Traits/GeneratesMenuTrait.php new file mode 100644 index 00000000..b3c4f1d6 --- /dev/null +++ b/app/Traits/GeneratesMenuTrait.php @@ -0,0 +1,25 @@ +items->toArray() as $data) { + if ($user->checkAccess($data)) { + $menu[] = [ + 'title' => $data->title, + 'link' => $data->link->path['url'], + 'icon' => $data->data['icon'], + 'name' => $data->data['name'], + 'group' => $data->data['group'], + ]; + } + } + + return $menu; + } +} diff --git a/app/Traits/GeneratesPdfTrait.php b/app/Traits/GeneratesPdfTrait.php index aa941bbb..fb7763c4 100644 --- a/app/Traits/GeneratesPdfTrait.php +++ b/app/Traits/GeneratesPdfTrait.php @@ -110,7 +110,7 @@ trait GeneratesPdfTrait public function getFieldsArray() { - $customer = $this->user; + $customer = $this->customer; $shippingAddress = $customer->shippingAddress ?? new Address(); $billingAddress = $customer->billingAddress ?? new Address(); $companyAddress = $this->company->address ?? new Address(); @@ -148,7 +148,7 @@ trait GeneratesPdfTrait ]; $customFields = $this->fields; - $customerCustomFields = $this->user->fields; + $customerCustomFields = $this->customer->fields; foreach ($customFields as $customField) { $fields['{'.$customField->customField->slug.'}'] = $customField->defaultAnswer; diff --git a/app/Traits/HasCustomFieldsTrait.php b/app/Traits/HasCustomFieldsTrait.php index cf370104..d24d21dd 100644 --- a/app/Traits/HasCustomFieldsTrait.php +++ b/app/Traits/HasCustomFieldsTrait.php @@ -11,9 +11,21 @@ trait HasCustomFieldsTrait return $this->morphMany('Crater\Models\CustomFieldValue', 'custom_field_valuable'); } + protected static function booted() + { + static::deleting(function ($data) { + if ($data->fields()->exists()) { + $data->fields()->delete(); + } + }); + } + public function addCustomFields($customFields) { foreach ($customFields as $field) { + if (! is_array($field)) { + $field = (array)$field; + } $customField = CustomField::find($field['id']); $customFieldValue = [ @@ -30,6 +42,10 @@ trait HasCustomFieldsTrait public function updateCustomFields($customFields) { foreach ($customFields as $field) { + if (! is_array($field)) { + $field = (array)$field; + } + $customField = CustomField::find($field['id']); $customFieldValue = $this->fields()->firstOrCreate([ 'custom_field_id' => $customField->id, @@ -45,8 +61,21 @@ trait HasCustomFieldsTrait public function getCustomFieldBySlug($slug) { - return $this->fields()->with('customField')->whereHas('customField', function ($query) use ($slug) { - $query->where('slug', $slug); - })->first(); + return $this->fields() + ->with('customField') + ->whereHas('customField', function ($query) use ($slug) { + $query->where('slug', $slug); + })->first(); + } + + public function getCustomFieldValueBySlug($slug) + { + $value = $this->getCustomFieldBySlug($slug); + + if ($value) { + return $value->defaultAnswer; + } + + return null; } } diff --git a/bootstrap/app.php b/bootstrap/app.php index bf7a30eb..fe20b690 100644 --- a/bootstrap/app.php +++ b/bootstrap/app.php @@ -12,7 +12,7 @@ */ $app = new Illuminate\Foundation\Application( - realpath(__DIR__ . '/../') + realpath(__DIR__.'/../') ); /* diff --git a/composer.json b/composer.json index c93db91f..94383058 100644 --- a/composer.json +++ b/composer.json @@ -1,6 +1,6 @@ { "name": "bytefury/crater", - "description": "Free & Open Source Invoice App for Freelancers & Small Businesses. https://craterapp.com", + "description": "Free & Open Source Invoice App for Individuals & Small Businesses. https://craterapp.com", "keywords": [ "framework", "laravel" @@ -12,16 +12,21 @@ "aws/aws-sdk-php": "^3.142", "barryvdh/laravel-dompdf": "^0.9.0", "doctrine/dbal": "^2.10", + "dragonmantank/cron-expression": "^3.1", "fideloper/proxy": "^4.0", "fruitcake/laravel-cors": "^1.0", "guzzlehttp/guzzle": "^7.0.1", + "innocenzi/laravel-vite": "^0.1.1", "intervention/image": "^2.3", + "jasonmccreary/laravel-test-assertions": "^2.0", "laravel/framework": "^8.0", "laravel/helpers": "^1.1", "laravel/sanctum": "^2.6", "laravel/tinker": "^2.0", "laravel/ui": "^3.0", + "lavary/laravel-menu": "^1.8", "league/flysystem-aws-s3-v3": "^1.0", + "silber/bouncer": "v1.0.0-rc.10", "spatie/flysystem-dropbox": "^1.2", "spatie/laravel-backup": "^6.11", "spatie/laravel-medialibrary": "^8.7", @@ -33,12 +38,12 @@ "facade/ignition": "^2.3.6", "friendsofphp/php-cs-fixer": "^3.0", "fzaninotto/faker": "^1.9.1", - "jasonmccreary/laravel-test-assertions": "^1.0", "mockery/mockery": "^1.3.1", "nunomaduro/collision": "^5.0", - "pestphp/pest": "^0.3.1", - "pestphp/pest-plugin-faker": "^0.3.0", - "pestphp/pest-plugin-laravel": "^0.3.0", + "pestphp/pest": "^1.0", + "pestphp/pest-plugin-faker": "^1.0", + "pestphp/pest-plugin-laravel": "^1.0", + "pestphp/pest-plugin-parallel": "^0.2.1", "phpunit/phpunit": "^9.0" }, "autoload": { diff --git a/composer.lock b/composer.lock index 6f79b0f5..44963d5b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9d462bef6d76e80b0de5d85984ee4a8f", + "content-hash": "eb81aa1e30524298d27332065ccf6d5d", "packages": [ { "name": "asm89/stack-cors", @@ -63,26 +63,77 @@ "time": "2019-12-24T22:41:47+00:00" }, { - "name": "aws/aws-sdk-php", - "version": "3.185.0", + "name": "aws/aws-crt-php", + "version": "v1.0.2", "source": { "type": "git", - "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "6c919bc226f7ff3fbcbce948f31e618066d02ad0" + "url": "https://github.com/awslabs/aws-crt-php.git", + "reference": "3942776a8c99209908ee0b287746263725685732" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/6c919bc226f7ff3fbcbce948f31e618066d02ad0", - "reference": "6c919bc226f7ff3fbcbce948f31e618066d02ad0", + "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/3942776a8c99209908ee0b287746263725685732", + "reference": "3942776a8c99209908ee0b287746263725685732", "shasum": "" }, "require": { + "php": ">=5.5" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35|^5.4.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "AWS SDK Common Runtime Team", + "email": "aws-sdk-common-runtime@amazon.com" + } + ], + "description": "AWS Common Runtime for PHP", + "homepage": "http://aws.amazon.com/sdkforphp", + "keywords": [ + "amazon", + "aws", + "crt", + "sdk" + ], + "support": { + "issues": "https://github.com/awslabs/aws-crt-php/issues", + "source": "https://github.com/awslabs/aws-crt-php/tree/v1.0.2" + }, + "time": "2021-09-03T22:57:30+00:00" + }, + { + "name": "aws/aws-sdk-php", + "version": "3.202.2", + "source": { + "type": "git", + "url": "https://github.com/aws/aws-sdk-php.git", + "reference": "4460481cd63446454869534c69ddaf00cffa45be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/4460481cd63446454869534c69ddaf00cffa45be", + "reference": "4460481cd63446454869534c69ddaf00cffa45be", + "shasum": "" + }, + "require": { + "aws/aws-crt-php": "^1.0.2", "ext-json": "*", "ext-pcre": "*", "ext-simplexml": "*", "guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0", "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.7.0", + "guzzlehttp/psr7": "^1.7.0|^2.0", "mtdowling/jmespath.php": "^2.6", "php": ">=5.5" }, @@ -148,9 +199,9 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.185.0" + "source": "https://github.com/aws/aws-sdk-php/tree/3.202.2" }, - "time": "2021-06-23T18:21:07+00:00" + "time": "2021-11-12T19:15:25+00:00" }, { "name": "barryvdh/laravel-dompdf", @@ -220,16 +271,16 @@ }, { "name": "brick/math", - "version": "0.9.2", + "version": "0.9.3", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0" + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", - "reference": "dff976c2f3487d42c1db75a3b180e2b9f0e72ce0", + "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", + "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", "shasum": "" }, "require": { @@ -239,7 +290,7 @@ "require-dev": { "php-coveralls/php-coveralls": "^2.2", "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.3.2" + "vimeo/psalm": "4.9.2" }, "type": "library", "autoload": { @@ -264,36 +315,114 @@ ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.2" + "source": "https://github.com/brick/math/tree/0.9.3" }, "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/brick/math", "type": "tidelift" } ], - "time": "2021-01-20T22:51:39+00:00" + "time": "2021-08-15T20:50:18+00:00" }, { - "name": "doctrine/cache", - "version": "2.0.3", + "name": "dflydev/dot-access-data", + "version": "v3.0.1", "source": { "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "c9622c6820d3ede1e2315a6a377ea1076e421d88" + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/c9622c6820d3ede1e2315a6a377ea1076e421d88", - "reference": "c9622c6820d3ede1e2315a6a377ea1076e421d88", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^3.14" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" + }, + "time": "2021-08-13T13:06:58+00:00" + }, + { + "name": "doctrine/cache", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/331b4d5dbaeab3827976273e9356b3b453c300ce", + "reference": "331b4d5dbaeab3827976273e9356b3b453c300ce", "shasum": "" }, "require": { "php": "~7.1 || ^8.0" }, "conflict": { - "doctrine/common": ">2.2,<2.4", - "psr/cache": ">=3" + "doctrine/common": ">2.2,<2.4" }, "require-dev": { "alcaeus/mongo-php-adapter": "^1.1", @@ -302,8 +431,9 @@ "mongodb/mongodb": "^1.1", "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", "predis/predis": "~1.0", - "psr/cache": "^1.0 || ^2.0", - "symfony/cache": "^4.4 || ^5.2" + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.2 || ^6.0@dev", + "symfony/var-exporter": "^4.4 || ^5.2 || ^6.0@dev" }, "suggest": { "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver" @@ -355,7 +485,7 @@ ], "support": { "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.0.3" + "source": "https://github.com/doctrine/cache/tree/2.1.1" }, "funding": [ { @@ -371,20 +501,20 @@ "type": "tidelift" } ], - "time": "2021-05-25T09:43:04+00:00" + "time": "2021-07-17T14:49:29+00:00" }, { "name": "doctrine/dbal", - "version": "2.13.2", + "version": "2.13.5", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4" + "reference": "d92ddb260547c2a7b650ff140f744eb6f395d8fc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/8dd39d2ead4409ce652fd4f02621060f009ea5e4", - "reference": "8dd39d2ead4409ce652fd4f02621060f009ea5e4", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d92ddb260547c2a7b650ff140f744eb6f395d8fc", + "reference": "d92ddb260547c2a7b650ff140f744eb6f395d8fc", "shasum": "" }, "require": { @@ -396,13 +526,14 @@ }, "require-dev": { "doctrine/coding-standard": "9.0.0", - "jetbrains/phpstorm-stubs": "2020.2", - "phpstan/phpstan": "0.12.81", - "phpunit/phpunit": "^7.5.20|^8.5|9.5.5", - "squizlabs/php_codesniffer": "3.6.0", + "jetbrains/phpstorm-stubs": "2021.1", + "phpstan/phpstan": "1.1.1", + "phpunit/phpunit": "^7.5.20|^8.5|9.5.10", + "psalm/plugin-phpunit": "0.16.1", + "squizlabs/php_codesniffer": "3.6.1", "symfony/cache": "^4.4", "symfony/console": "^2.0.5|^3.0|^4.0|^5.0", - "vimeo/psalm": "4.6.4" + "vimeo/psalm": "4.12.0" }, "suggest": { "symfony/console": "For helpful console commands such as SQL execution and import of files." @@ -463,7 +594,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/2.13.2" + "source": "https://github.com/doctrine/dbal/tree/2.13.5" }, "funding": [ { @@ -479,7 +610,7 @@ "type": "tidelift" } ], - "time": "2021-06-18T21:48:39+00:00" + "time": "2021-11-11T16:27:36+00:00" }, { "name": "doctrine/deprecations", @@ -620,34 +751,30 @@ }, { "name": "doctrine/inflector", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^7.0", - "phpstan/phpstan": "^0.11", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-strict-rules": "^0.11", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "doctrine/coding-standard": "^8.2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^4.10" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" @@ -695,7 +822,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.x" + "source": "https://github.com/doctrine/inflector/tree/2.0.4" }, "funding": [ { @@ -711,7 +838,76 @@ "type": "tidelift" } ], - "time": "2020-05-29T15:13:26+00:00" + "time": "2021-10-22T20:16:43+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.4.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" }, { "name": "doctrine/lexer", @@ -1132,16 +1328,16 @@ }, { "name": "graham-campbell/guzzle-factory", - "version": "v5.0.0", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Guzzle-Factory.git", - "reference": "5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8" + "reference": "983999291ca63d8da45be573574416b3c21f751b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Guzzle-Factory/zipball/5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8", - "reference": "5f6eae0dba2f2a02d72d42f11f3ff9f9f61e1cc8", + "url": "https://api.github.com/repos/GrahamCampbell/Guzzle-Factory/zipball/983999291ca63d8da45be573574416b3c21f751b", + "reference": "983999291ca63d8da45be573574416b3c21f751b", "shasum": "" }, "require": { @@ -1165,7 +1361,7 @@ "authors": [ { "name": "Graham Campbell", - "email": "graham@alt-three.com" + "email": "hello@gjcampbell.co.uk" } ], "description": "Provides A Simple Guzzle Factory With Good Defaults", @@ -1179,7 +1375,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Guzzle-Factory/issues", - "source": "https://github.com/GrahamCampbell/Guzzle-Factory/tree/v5.0.0" + "source": "https://github.com/GrahamCampbell/Guzzle-Factory/tree/v5.0.2" }, "funding": [ { @@ -1191,7 +1387,7 @@ "type": "tidelift" } ], - "time": "2021-01-24T20:39:09+00:00" + "time": "2021-10-17T19:48:29+00:00" }, { "name": "graham-campbell/manager", @@ -1264,31 +1460,26 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.0.1", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb" + "reference": "296c015dc30ec4322168c5ad3ee5cc11dae827ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/7e279d2cd5d7fbb156ce46daada972355cea27bb", - "reference": "7e279d2cd5d7fbb156ce46daada972355cea27bb", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/296c015dc30ec4322168c5ad3ee5cc11dae827ac", + "reference": "296c015dc30ec4322168c5ad3ee5cc11dae827ac", "shasum": "" }, "require": { - "php": "^7.0|^8.0", - "phpoption/phpoption": "^1.7.3" + "php": "^7.0 || ^8.0", + "phpoption/phpoption": "^1.8" }, "require-dev": { - "phpunit/phpunit": "^6.5|^7.5|^8.5|^9.0" + "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { "psr-4": { "GrahamCampbell\\ResultType\\": "src/" @@ -1301,7 +1492,7 @@ "authors": [ { "name": "Graham Campbell", - "email": "graham@alt-three.com" + "email": "hello@gjcampbell.co.uk" } ], "description": "An Implementation Of The Result Type", @@ -1314,7 +1505,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.1" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.3" }, "funding": [ { @@ -1326,28 +1517,29 @@ "type": "tidelift" } ], - "time": "2020-04-13T13:17:36+00:00" + "time": "2021-10-17T19:48:54+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.3.0", + "version": "7.4.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "7008573787b430c1c1f650e3722d9bba59967628" + "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7008573787b430c1c1f650e3722d9bba59967628", - "reference": "7008573787b430c1c1f650e3722d9bba59967628", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/868b3571a039f0ebc11ac8f344f4080babe2cb94", + "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.4", - "guzzlehttp/psr7": "^1.7 || ^2.0", + "guzzlehttp/promises": "^1.5", + "guzzlehttp/psr7": "^1.8.3 || ^2.1", "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0" + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2" }, "provide": { "psr/http-client-implementation": "1.0" @@ -1357,7 +1549,7 @@ "ext-curl": "*", "php-http/client-integration-tests": "^3.0", "phpunit/phpunit": "^8.5.5 || ^9.3.5", - "psr/log": "^1.1" + "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { "ext-curl": "Required for CURL handler support", @@ -1367,7 +1559,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "7.3-dev" + "dev-master": "7.4-dev" } }, "autoload": { @@ -1383,19 +1575,43 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", "keywords": [ "client", "curl", @@ -1409,7 +1625,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.3.0" + "source": "https://github.com/guzzle/guzzle/tree/7.4.0" }, "funding": [ { @@ -1421,28 +1637,24 @@ "type": "github" }, { - "url": "https://github.com/alexeyshockov", - "type": "github" - }, - { - "url": "https://github.com/gmponos", - "type": "github" + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" } ], - "time": "2021-03-23T11:33:13+00:00" + "time": "2021-10-18T09:52:00+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.4.1", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", "shasum": "" }, "require": { @@ -1454,7 +1666,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "autoload": { @@ -1470,10 +1682,25 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle promises library", @@ -1482,35 +1709,52 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.4.1" + "source": "https://github.com/guzzle/promises/tree/1.5.1" }, - "time": "2021-03-07T09:25:29+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2021-10-22T20:56:57+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.8.2", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91" + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1518,30 +1762,53 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "2.1-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, { "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "PSR-7 message implementation that also provides common utility methods", @@ -1557,9 +1824,74 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.2" + "source": "https://github.com/guzzle/psr7/tree/2.1.0" }, - "time": "2021-04-26T09:17:50+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2021-10-06T17:43:30+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" }, { "name": "hashids/hashids", @@ -1632,27 +1964,103 @@ "time": "2020-11-26T19:24:33+00:00" }, { - "name": "intervention/image", - "version": "2.5.1", + "name": "innocenzi/laravel-vite", + "version": "0.1.18", "source": { "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "abbf18d5ab8367f96b3205ca3c89fb2fa598c69e" + "url": "https://github.com/innocenzi/laravel-vite.git", + "reference": "62e50bee77e4f0706667fa4192bf33b829c1f13d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/abbf18d5ab8367f96b3205ca3c89fb2fa598c69e", - "reference": "abbf18d5ab8367f96b3205ca3c89fb2fa598c69e", + "url": "https://api.github.com/repos/innocenzi/laravel-vite/zipball/62e50bee77e4f0706667fa4192bf33b829c1f13d", + "reference": "62e50bee77e4f0706667fa4192bf33b829c1f13d", + "shasum": "" + }, + "require": { + "guzzlehttp/guzzle": "^7.2", + "illuminate/contracts": "^8.0", + "php": "^7.4|^8.0", + "spatie/laravel-package-tools": "^1.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2.1", + "orchestra/testbench": "^6.0", + "pestphp/pest": "^1.20.0", + "phpunit/phpunit": "^9.3", + "symfony/process": "^5.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Innocenzi\\Vite\\ViteServiceProvider" + ], + "aliases": { + "Vite": "Innocenzi\\Vite\\ViteFacade" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Innocenzi\\Vite\\": "src", + "Innocenzi\\Vite\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Enzo Innocenzi", + "email": "enzo@innocenzi.dev", + "role": "Developer" + } + ], + "description": "Vite integration for Laravel", + "homepage": "https://github.com/innocenzi/laravel-vite", + "keywords": [ + "innocenzi", + "laravel-vite" + ], + "support": { + "issues": "https://github.com/innocenzi/laravel-vite/issues", + "source": "https://github.com/innocenzi/laravel-vite/tree/0.1.18" + }, + "funding": [ + { + "url": "https://github.com/innocenzi", + "type": "github" + } + ], + "time": "2021-11-03T13:35:14+00:00" + }, + { + "name": "intervention/image", + "version": "2.7.0", + "source": { + "type": "git", + "url": "https://github.com/Intervention/image.git", + "reference": "9a8cc99d30415ec0b3f7649e1647d03a55698545" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Intervention/image/zipball/9a8cc99d30415ec0b3f7649e1647d03a55698545", + "reference": "9a8cc99d30415ec0b3f7649e1647d03a55698545", "shasum": "" }, "require": { "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1", + "guzzlehttp/psr7": "~1.1 || ^2.0", "php": ">=5.4.0" }, "require-dev": { "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7" + "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" }, "suggest": { "ext-gd": "to use GD library based image processing.", @@ -1701,22 +2109,82 @@ ], "support": { "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/master" + "source": "https://github.com/Intervention/image/tree/2.7.0" }, - "time": "2019-11-02T09:15:47+00:00" + "funding": [ + { + "url": "https://www.paypal.me/interventionphp", + "type": "custom" + }, + { + "url": "https://github.com/Intervention", + "type": "github" + } + ], + "time": "2021-10-03T14:17:12+00:00" }, { - "name": "laravel/framework", - "version": "v8.48.1", + "name": "jasonmccreary/laravel-test-assertions", + "version": "v2.0.0", "source": { "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "edc138060a13c9e5f15c005fad5f6a39b4ccf5fa" + "url": "https://github.com/jasonmccreary/laravel-test-assertions.git", + "reference": "f70f51ed7cdb7d5818d927522401d8ccc467fa25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/edc138060a13c9e5f15c005fad5f6a39b4ccf5fa", - "reference": "edc138060a13c9e5f15c005fad5f6a39b4ccf5fa", + "url": "https://api.github.com/repos/jasonmccreary/laravel-test-assertions/zipball/f70f51ed7cdb7d5818d927522401d8ccc467fa25", + "reference": "f70f51ed7cdb7d5818d927522401d8ccc467fa25", + "shasum": "" + }, + "require": { + "illuminate/testing": "^8.0", + "mockery/mockery": "^1.4.2", + "php": ">=7.3", + "phpunit/phpunit": "^9.3.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "JMac\\Testing\\AdditionalAssertionsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "JMac\\Testing\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jason McCreary", + "email": "jason@pureconcepts.net" + } + ], + "description": "A set of helpful assertions when testing Laravel applications.", + "support": { + "issues": "https://github.com/jasonmccreary/laravel-test-assertions/issues", + "source": "https://github.com/jasonmccreary/laravel-test-assertions/tree/v2.0.0" + }, + "time": "2021-09-28T18:47:10+00:00" + }, + { + "name": "laravel/framework", + "version": "v8.70.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "dec9524cd0f9fa35a6eb8e25d0b40f8bbc8ec225" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/dec9524cd0f9fa35a6eb8e25d0b40f8bbc8ec225", + "reference": "dec9524cd0f9fa35a6eb8e25d0b40f8bbc8ec225", "shasum": "" }, "require": { @@ -1726,16 +2194,18 @@ "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "league/commonmark": "^1.3", + "laravel/serializable-closure": "^1.0", + "league/commonmark": "^1.3|^2.0.2", "league/flysystem": "^1.1", "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.31", + "nesbot/carbon": "^2.53.1", "opis/closure": "^3.6", "php": "^7.3|^8.0", "psr/container": "^1.0", + "psr/log": "^1.0 || ^2.0", "psr/simple-cache": "^1.0", - "ramsey/uuid": "^4.0", - "swiftmailer/swiftmailer": "^6.0", + "ramsey/uuid": "^4.2.2", + "swiftmailer/swiftmailer": "^6.3", "symfony/console": "^5.1.4", "symfony/error-handler": "^5.1.4", "symfony/finder": "^5.1.4", @@ -1753,7 +2223,8 @@ "tightenco/collect": "<5.5.33" }, "provide": { - "psr/container-implementation": "1.0" + "psr/container-implementation": "1.0", + "psr/simple-cache-implementation": "1.0" }, "replace": { "illuminate/auth": "self.version", @@ -1789,22 +2260,23 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.155", - "doctrine/dbal": "^2.6|^3.0", - "filp/whoops": "^2.8", + "aws/aws-sdk-php": "^3.198.1", + "doctrine/dbal": "^2.13.3|^3.1.2", + "filp/whoops": "^2.14.3", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.4.2", + "mockery/mockery": "^1.4.4", "orchestra/testbench-core": "^6.23", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.5.8|^9.3.3", - "predis/predis": "^1.1.2", + "phpunit/phpunit": "^8.5.19|^9.5.8", + "predis/predis": "^1.1.9", "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.155).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).", "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).", + "ext-bcmath": "Required to use the multiple_of validation rule.", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", "ext-memcached": "Required to use the memcache cache driver.", @@ -1812,17 +2284,17 @@ "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.8).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "mockery/mockery": "Required to use mocking (^1.4.2).", + "mockery/mockery": "Required to use mocking (^1.4.4).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", - "predis/predis": "Required to use the predis connector (^1.1.2).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).", + "predis/predis": "Required to use the predis connector (^1.1.9).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", @@ -1871,7 +2343,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-06-23T13:41:59+00:00" + "time": "2021-11-09T22:48:33+00:00" }, { "name": "laravel/helpers", @@ -1931,16 +2403,16 @@ }, { "name": "laravel/sanctum", - "version": "v2.11.2", + "version": "v2.12.1", "source": { "type": "git", "url": "https://github.com/laravel/sanctum.git", - "reference": "b21e65cbe13896946986cb0868180cd69e1bd5d3" + "reference": "e610647b04583ace6b30c8eb74cee0a866040420" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sanctum/zipball/b21e65cbe13896946986cb0868180cd69e1bd5d3", - "reference": "b21e65cbe13896946986cb0868180cd69e1bd5d3", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/e610647b04583ace6b30c8eb74cee0a866040420", + "reference": "e610647b04583ace6b30c8eb74cee0a866040420", "shasum": "" }, "require": { @@ -1991,20 +2463,79 @@ "issues": "https://github.com/laravel/sanctum/issues", "source": "https://github.com/laravel/sanctum" }, - "time": "2021-06-15T15:56:21+00:00" + "time": "2021-10-26T18:23:26+00:00" }, { - "name": "laravel/tinker", - "version": "v2.6.1", + "name": "laravel/serializable-closure", + "version": "v1.0.3", "source": { "type": "git", - "url": "https://github.com/laravel/tinker.git", - "reference": "04ad32c1a3328081097a181875733fa51f402083" + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "6cfc678735f22ccedad761b8cae2bab14c3d8e5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/04ad32c1a3328081097a181875733fa51f402083", - "reference": "04ad32c1a3328081097a181875733fa51f402083", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/6cfc678735f22ccedad761b8cae2bab14c3d8e5b", + "reference": "6cfc678735f22ccedad761b8cae2bab14c3d8e5b", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "pestphp/pest": "^1.18", + "phpstan/phpstan": "^0.12.98", + "symfony/var-dumper": "^5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2021-10-07T14:00:57+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.6.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "c808a7227f97ecfd9219fbf913bad842ea854ddc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/c808a7227f97ecfd9219fbf913bad842ea854ddc", + "reference": "c808a7227f97ecfd9219fbf913bad842ea854ddc", "shasum": "" }, "require": { @@ -2057,22 +2588,22 @@ ], "support": { "issues": "https://github.com/laravel/tinker/issues", - "source": "https://github.com/laravel/tinker/tree/v2.6.1" + "source": "https://github.com/laravel/tinker/tree/v2.6.2" }, - "time": "2021-03-02T16:53:12+00:00" + "time": "2021-09-28T15:47:34+00:00" }, { "name": "laravel/ui", - "version": "v3.3.0", + "version": "v3.3.2", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "07d725813350c695c779382cbd6dac0ab8665537" + "reference": "28f3d190fe270b6dcd6fdab4a77a392e693ceca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", - "reference": "07d725813350c695c779382cbd6dac0ab8665537", + "url": "https://api.github.com/repos/laravel/ui/zipball/28f3d190fe270b6dcd6fdab4a77a392e693ceca5", + "reference": "28f3d190fe270b6dcd6fdab4a77a392e693ceca5", "shasum": "" }, "require": { @@ -2115,48 +2646,113 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v3.3.0" + "source": "https://github.com/laravel/ui/tree/v3.3.2" }, - "time": "2021-05-25T16:45:33+00:00" + "time": "2021-11-05T08:25:44+00:00" }, { - "name": "league/commonmark", - "version": "1.6.4", + "name": "lavary/laravel-menu", + "version": "v1.8.3", "source": { "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "c3c8b7217c52572fb42aaf84211abccf75a151b2" + "url": "https://github.com/lavary/laravel-menu.git", + "reference": "4f14cb9b11cfcd9839d1d87c806632c84a94d3be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c3c8b7217c52572fb42aaf84211abccf75a151b2", - "reference": "c3c8b7217c52572fb42aaf84211abccf75a151b2", + "url": "https://api.github.com/repos/lavary/laravel-menu/zipball/4f14cb9b11cfcd9839d1d87c806632c84a94d3be", + "reference": "4f14cb9b11cfcd9839d1d87c806632c84a94d3be", + "shasum": "" + }, + "require": { + "illuminate/support": ">=5.0", + "illuminate/view": ">=5.0", + "php": ">=5.4.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Lavary\\Menu\\ServiceProvider" + ], + "aliases": { + "Menu": "Lavary\\Menu\\Facade" + } + } + }, + "autoload": { + "psr-0": { + "Lavary\\Menu\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lavary", + "email": "mrl.8081@gmail.com" + } + ], + "description": "A quick way to create menus in Laravel 5", + "homepage": "https://github.com/lavary/laravel-menu", + "keywords": [ + "laravel" + ], + "support": { + "issues": "https://github.com/lavary/laravel-menu/issues", + "source": "https://github.com/lavary/laravel-menu/tree/v1.8.3" + }, + "time": "2021-02-22T16:41:26+00:00" + }, + { + "name": "league/commonmark", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2df87709f44b0dd733df86aef0830dce9b1f0f13", + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/polyfill-php80": "^1.15" }, "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "erusev/parsedown": "^1.0", "ext-json": "*", "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12.90", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" + "michelf/php-markdown": "^1.4", + "phpstan/phpstan": "^0.12.88", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" }, - "bin": [ - "bin/commonmark" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.1-dev" + } + }, "autoload": { "psr-4": { "League\\CommonMark\\": "src" @@ -2174,7 +2770,7 @@ "role": "Lead Developer" } ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", "homepage": "https://commonmark.thephpleague.com", "keywords": [ "commonmark", @@ -2188,6 +2784,7 @@ ], "support": { "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", "issues": "https://github.com/thephpleague/commonmark/issues", "rss": "https://github.com/thephpleague/commonmark/releases.atom", "source": "https://github.com/thephpleague/commonmark" @@ -2218,20 +2815,102 @@ "type": "tidelift" } ], - "time": "2021-06-19T20:08:14+00:00" + "time": "2021-08-14T14:06:04+00:00" }, { - "name": "league/flysystem", - "version": "1.1.4", + "name": "league/config", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32" + "url": "https://github.com/thephpleague/config.git", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/f3ad69181b8afed2c9edf7be5a2918144ff4ea32", - "reference": "f3ad69181b8afed2c9edf7be5a2918144ff4ea32", + "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.90", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2021-08-14T12:15:32+00:00" + }, + { + "name": "league/flysystem", + "version": "1.1.5", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/18634df356bfd4119fe3d6156bdb990c414c14ea", + "reference": "18634df356bfd4119fe3d6156bdb990c414c14ea", "shasum": "" }, "require": { @@ -2304,7 +2983,7 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.4" + "source": "https://github.com/thephpleague/flysystem/tree/1.1.5" }, "funding": [ { @@ -2312,7 +2991,7 @@ "type": "other" } ], - "time": "2021-06-23T21:56:05+00:00" + "time": "2021-08-17T13:49:42+00:00" }, { "name": "league/flysystem-aws-s3-v3", @@ -2432,16 +3111,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" + "reference": "b38b25d7b372e9fddb00335400467b223349fd7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b38b25d7b372e9fddb00335400467b223349fd7e", + "reference": "b38b25d7b372e9fddb00335400467b223349fd7e", "shasum": "" }, "require": { @@ -2472,7 +3151,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.8.0" }, "funding": [ { @@ -2484,7 +3163,7 @@ "type": "tidelift" } ], - "time": "2021-01-18T20:58:21+00:00" + "time": "2021-09-25T08:23:19+00:00" }, { "name": "maennchen/zipstream-php", @@ -2558,25 +3237,97 @@ "time": "2020-05-30T13:11:16+00:00" }, { - "name": "monolog/monolog", - "version": "2.2.0", + "name": "mockery/mockery", + "version": "1.4.4", "source": { "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084" + "url": "https://github.com/mockery/mockery.git", + "reference": "e01123a0e847d52d186c5eb4b9bf58b0c6d00346" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/1cb1cde8e8dd0f70cc0fe51354a59acad9302084", - "reference": "1cb1cde8e8dd0f70cc0fe51354a59acad9302084", + "url": "https://api.github.com/repos/mockery/mockery/zipball/e01123a0e847d52d186c5eb4b9bf58b0c6d00346", + "reference": "e01123a0e847d52d186c5eb4b9bf58b0c6d00346", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": "^7.3 || ^8.0" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "Mockery": "library/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "http://blog.astrumfutura.com" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "http://davedevelopment.co.uk" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "issues": "https://github.com/mockery/mockery/issues", + "source": "https://github.com/mockery/mockery/tree/1.4.4" + }, + "time": "2021-09-13T15:28:59+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.3.5", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", "shasum": "" }, "require": { "php": ">=7.2", - "psr/log": "^1.0.1" + "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "provide": { - "psr/log-implementation": "1.0.0" + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" }, "require-dev": { "aws/aws-sdk-php": "^2.4.9 || ^3.0", @@ -2584,14 +3335,14 @@ "elasticsearch/elasticsearch": "^7", "graylog2/gelf-php": "^1.4.2", "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", + "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.3", "phpspec/prophecy": "^1.6.1", - "phpstan/phpstan": "^0.12.59", + "phpstan/phpstan": "^0.12.91", "phpunit/phpunit": "^8.5", "predis/predis": "^1.1", "rollbar/rollbar": "^1.3", - "ruflin/elastica": ">=0.90 <7.0.1", + "ruflin/elastica": ">=0.90@dev", "swiftmailer/swiftmailer": "^5.3|^6.0" }, "suggest": { @@ -2599,8 +3350,11 @@ "doctrine/couchdb": "Allow sending log messages to a CouchDB server", "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", "ext-mbstring": "Allow to work properly with unicode symbols", "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", @@ -2639,7 +3393,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.2.0" + "source": "https://github.com/Seldaek/monolog/tree/2.3.5" }, "funding": [ { @@ -2651,7 +3405,7 @@ "type": "tidelift" } ], - "time": "2020-12-14T13:15:25+00:00" + "time": "2021-10-01T21:08:31+00:00" }, { "name": "mtdowling/jmespath.php", @@ -2715,17 +3469,75 @@ "time": "2021-06-14T00:11:39+00:00" }, { - "name": "myclabs/php-enum", - "version": "1.8.0", + "name": "myclabs/deep-copy", + "version": "1.10.2", "source": { "type": "git", - "url": "https://github.com/myclabs/php-enum.git", - "reference": "46cf3d8498b095bd33727b13fd5707263af99421" + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/php-enum/zipball/46cf3d8498b095bd33727b13fd5707263af99421", - "reference": "46cf3d8498b095bd33727b13fd5707263af99421", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" + }, + { + "name": "myclabs/php-enum", + "version": "1.8.3", + "source": { + "type": "git", + "url": "https://github.com/myclabs/php-enum.git", + "reference": "b942d263c641ddb5190929ff840c68f78713e937" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/b942d263c641ddb5190929ff840c68f78713e937", + "reference": "b942d263c641ddb5190929ff840c68f78713e937", "shasum": "" }, "require": { @@ -2735,7 +3547,7 @@ "require-dev": { "phpunit/phpunit": "^9.5", "squizlabs/php_codesniffer": "1.*", - "vimeo/psalm": "^4.5.1" + "vimeo/psalm": "^4.6.2" }, "type": "library", "autoload": { @@ -2760,7 +3572,7 @@ ], "support": { "issues": "https://github.com/myclabs/php-enum/issues", - "source": "https://github.com/myclabs/php-enum/tree/1.8.0" + "source": "https://github.com/myclabs/php-enum/tree/1.8.3" }, "funding": [ { @@ -2772,31 +3584,33 @@ "type": "tidelift" } ], - "time": "2021-02-15T16:11:48+00:00" + "time": "2021-07-05T08:18:36+00:00" }, { "name": "nesbot/carbon", - "version": "2.49.0", + "version": "2.54.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "93d9db91c0235c486875d22f1e08b50bdf3e6eee" + "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/93d9db91c0235c486875d22f1e08b50bdf3e6eee", - "reference": "93d9db91c0235c486875d22f1e08b50bdf3e6eee", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5", + "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5", "shasum": "" }, "require": { "ext-json": "*", "php": "^7.1.8 || ^8.0", "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { + "doctrine/dbal": "^2.0 || ^3.0", "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^2.14 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", @@ -2810,8 +3624,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev", - "dev-3.x": "3.x-dev" + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" }, "laravel": { "providers": [ @@ -2837,15 +3651,15 @@ { "name": "Brian Nesbitt", "email": "brian@nesbot.com", - "homepage": "http://nesbot.com" + "homepage": "https://markido.com" }, { "name": "kylekatarnls", - "homepage": "http://github.com/kylekatarnls" + "homepage": "https://github.com/kylekatarnls" } ], "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "http://carbon.nesbot.com", + "homepage": "https://carbon.nesbot.com", "keywords": [ "date", "datetime", @@ -2865,20 +3679,167 @@ "type": "tidelift" } ], - "time": "2021-06-02T07:31:40+00:00" + "time": "2021-11-01T21:22:20+00:00" }, { - "name": "nikic/php-parser", - "version": "v4.10.5", + "name": "nette/schema", + "version": "v1.2.2", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f" + "url": "https://github.com/nette/schema.git", + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4432ba399e47c66624bc73c8c0f811e5c109576f", - "reference": "4432ba399e47c66624bc73c8c0f811e5c109576f", + "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", + "shasum": "" + }, + "require": { + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": ">=7.1 <8.2" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^0.12", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.2" + }, + "time": "2021-10-15T11:40:02+00:00" + }, + { + "name": "nette/utils", + "version": "v3.2.5", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/9cd80396ca58d7969ab44fc7afcf03624dfa526e", + "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e", + "shasum": "" + }, + "require": { + "php": ">=7.2 <8.2" + }, + "conflict": { + "nette/di": "<3.0.6" + }, + "require-dev": { + "nette/tester": "~2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v3.2.5" + }, + "time": "2021-09-20T10:50:11+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.13.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/63a79e8daa781cac14e5195e63ed8ae231dd10fd", + "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd", "shasum": "" }, "require": { @@ -2919,9 +3880,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.5" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.1" }, - "time": "2021-05-03T19:11:20+00:00" + "time": "2021-11-03T20:52:16+00:00" }, { "name": "opis/closure", @@ -2988,6096 +3949,18 @@ }, "time": "2021-04-09T13:42:10+00:00" }, - { - "name": "phenx/php-font-lib", - "version": "0.5.2", - "source": { - "type": "git", - "url": "https://github.com/PhenX/php-font-lib.git", - "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/ca6ad461f032145fff5971b5985e5af9e7fa88d8", - "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8", - "shasum": "" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5 || ^6 || ^7" - }, - "type": "library", - "autoload": { - "psr-4": { - "FontLib\\": "src/FontLib" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse, export and make subsets of different types of font files.", - "homepage": "https://github.com/PhenX/php-font-lib", - "support": { - "issues": "https://github.com/PhenX/php-font-lib/issues", - "source": "https://github.com/PhenX/php-font-lib/tree/0.5.2" - }, - "time": "2020-03-08T15:31:32+00:00" - }, - { - "name": "phenx/php-svg-lib", - "version": "v0.3.3", - "source": { - "type": "git", - "url": "https://github.com/PhenX/php-svg-lib.git", - "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", - "reference": "5fa61b65e612ce1ae15f69b3d223cb14ecc60e32", - "shasum": "" - }, - "require": { - "sabberworm/php-css-parser": "^8.3" - }, - "require-dev": { - "phpunit/phpunit": "^5.5|^6.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Svg\\": "src/Svg" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-3.0" - ], - "authors": [ - { - "name": "Fabien Ménager", - "email": "fabien.menager@gmail.com" - } - ], - "description": "A library to read, parse and export to PDF SVG files.", - "homepage": "https://github.com/PhenX/php-svg-lib", - "support": { - "issues": "https://github.com/PhenX/php-svg-lib/issues", - "source": "https://github.com/PhenX/php-svg-lib/tree/master" - }, - "time": "2019-09-11T20:02:13+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.7.5", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/994ecccd8f3283ecf5ac33254543eb0ac946d525", - "reference": "994ecccd8f3283ecf5ac33254543eb0ac946d525", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^4.8.35 || ^5.7.27 || ^6.5.6 || ^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Graham Campbell", - "email": "graham@alt-three.com" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.7.5" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2020-07-20T17:29:33+00:00" - }, - { - "name": "psr/container", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" - }, - "time": "2021-03-05T17:36:06+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client/tree/master" - }, - "time": "2020-06-29T06:28:15+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/master" - }, - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "time": "2021-05-03T11:20:27+00:00" - }, - { - "name": "psr/simple-cache", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" - }, - "time": "2017-10-23T01:57:42+00:00" - }, - { - "name": "psy/psysh", - "version": "v0.10.8", - "source": { - "type": "git", - "url": "https://github.com/bobthecow/psysh.git", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", - "php": "^8.0 || ^7.0 || ^5.5.9", - "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", - "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "3.17.*" - }, - "suggest": { - "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", - "ext-pdo-sqlite": "The doc command requires SQLite to work.", - "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", - "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", - "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." - }, - "bin": [ - "bin/psysh" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.10.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Psy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Justin Hileman", - "email": "justin@justinhileman.info", - "homepage": "http://justinhileman.com" - } - ], - "description": "An interactive shell for modern PHP.", - "homepage": "http://psysh.org", - "keywords": [ - "REPL", - "console", - "interactive", - "shell" - ], - "support": { - "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.10.8" - }, - "time": "2021-04-10T16:23:39+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "ramsey/collection", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "reference": "28a5c4ab2f5111db6a60b2b4ec84057e0f43b9c1", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8" - }, - "require-dev": { - "captainhook/captainhook": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "ergebnis/composer-normalize": "^2.6", - "fakerphp/faker": "^1.5", - "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.8", - "mockery/mockery": "^1.3", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^0.12.32", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5 || ^9", - "psy/psysh": "^0.10.4", - "slevomat/coding-standard": "^6.3", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP 7.2+ library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.1.3" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2021-01-21T17:40:04+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.1.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "cd4032040a750077205918c86049aa0f43d22947" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/cd4032040a750077205918c86049aa0f43d22947", - "reference": "cd4032040a750077205918c86049aa0f43d22947", - "shasum": "" - }, - "require": { - "brick/math": "^0.8 || ^0.9", - "ext-json": "*", - "php": "^7.2 || ^8", - "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "codeception/aspect-mock": "^3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7.0", - "doctrine/annotations": "^1.8", - "goaop/framework": "^2", - "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock-mockery": "^1.3", - "php-mock/php-mock-phpunit": "^2.5", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^0.17.1", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5", - "psy/psysh": "^0.10.0", - "slevomat/coding-standard": "^6.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "3.9.4" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Ramsey\\Uuid\\": "src/" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "homepage": "https://github.com/ramsey/uuid", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "rss": "https://github.com/ramsey/uuid/releases.atom", - "source": "https://github.com/ramsey/uuid" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - } - ], - "time": "2020-08-18T17:17:46+00:00" - }, - { - "name": "sabberworm/php-css-parser", - "version": "8.3.1", - "source": { - "type": "git", - "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", - "reference": "d217848e1396ef962fb1997cf3e2421acba7f796" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/d217848e1396ef962fb1997cf3e2421acba7f796", - "reference": "d217848e1396ef962fb1997cf3e2421acba7f796", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "require-dev": { - "codacy/coverage": "^1.4", - "phpunit/phpunit": "~4.8" - }, - "type": "library", - "autoload": { - "psr-0": { - "Sabberworm\\CSS": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Raphael Schweikert" - } - ], - "description": "Parser for CSS Files written in PHP", - "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser", - "keywords": [ - "css", - "parser", - "stylesheet" - ], - "support": { - "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues", - "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.3.1" - }, - "time": "2020-06-01T09:10:00+00:00" - }, - { - "name": "spatie/db-dumper", - "version": "2.21.1", - "source": { - "type": "git", - "url": "https://github.com/spatie/db-dumper.git", - "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/db-dumper/zipball/05e5955fb882008a8947c5a45146d86cfafa10d1", - "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "symfony/process": "^4.2|^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\DbDumper\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Dump databases", - "homepage": "https://github.com/spatie/db-dumper", - "keywords": [ - "database", - "db-dumper", - "dump", - "mysqldump", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/db-dumper/issues", - "source": "https://github.com/spatie/db-dumper/tree/2.21.1" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-02-24T14:56:42+00:00" - }, - { - "name": "spatie/dropbox-api", - "version": "1.19.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/dropbox-api.git", - "reference": "22ed7792e7ede170520f030e32ff0edde2337842" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/22ed7792e7ede170520f030e32ff0edde2337842", - "reference": "22ed7792e7ede170520f030e32ff0edde2337842", - "shasum": "" - }, - "require": { - "graham-campbell/guzzle-factory": "^3.0||^4.0||^5.0", - "guzzlehttp/guzzle": "^6.2||^7.0", - "php": "^7.1||^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.5.15|^8.5|^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Dropbox\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Vanderbist", - "email": "alex.vanderbist@gmail.com", - "homepage": "https://spatie.be", - "role": "Developer" - }, - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "A minimal implementation of Dropbox API v2", - "homepage": "https://github.com/spatie/dropbox-api", - "keywords": [ - "Dropbox-API", - "api", - "dropbox", - "spatie", - "v2" - ], - "support": { - "issues": "https://github.com/spatie/dropbox-api/issues", - "source": "https://github.com/spatie/dropbox-api/tree/1.19.0" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-06-18T06:34:17+00:00" - }, - { - "name": "spatie/flysystem-dropbox", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/spatie/flysystem-dropbox.git", - "reference": "8b6b072f217343b875316ca6a4203dd59f04207a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/flysystem-dropbox/zipball/8b6b072f217343b875316ca6a4203dd59f04207a", - "reference": "8b6b072f217343b875316ca6a4203dd59f04207a", - "shasum": "" - }, - "require": { - "league/flysystem": "^1.0.20", - "php": "^7.0 || ^8.0", - "spatie/dropbox-api": "^1.1.0" - }, - "require-dev": { - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.11 || ^9.4.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\FlysystemDropbox\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Vanderbist", - "email": "alex.vanderbist@gmail.com", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Flysystem Adapter for the Dropbox v2 API", - "homepage": "https://github.com/spatie/flysystem-dropbox", - "keywords": [ - "Flysystem", - "api", - "dropbox", - "flysystem-dropbox", - "spatie", - "v2" - ], - "support": { - "issues": "https://github.com/spatie/flysystem-dropbox/issues", - "source": "https://github.com/spatie/flysystem-dropbox/tree/1.2.3" - }, - "time": "2020-11-28T22:17:09+00:00" - }, - { - "name": "spatie/image", - "version": "1.10.5", - "source": { - "type": "git", - "url": "https://github.com/spatie/image.git", - "reference": "63a963d0200fb26f2564bf7201fc7272d9b22933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/image/zipball/63a963d0200fb26f2564bf7201fc7272d9b22933", - "reference": "63a963d0200fb26f2564bf7201fc7272d9b22933", - "shasum": "" - }, - "require": { - "ext-exif": "*", - "ext-json": "*", - "ext-mbstring": "*", - "league/glide": "^1.6", - "php": "^7.2|^8.0", - "spatie/image-optimizer": "^1.1", - "spatie/temporary-directory": "^1.0|^2.0", - "symfony/process": "^3.0|^4.0|^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.0|^9.0", - "symfony/var-dumper": "^4.0|^5.0", - "vimeo/psalm": "^4.6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Image\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Manipulate images with an expressive API", - "homepage": "https://github.com/spatie/image", - "keywords": [ - "image", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/image/issues", - "source": "https://github.com/spatie/image/tree/1.10.5" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-04-07T08:42:24+00:00" - }, - { - "name": "spatie/image-optimizer", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/image-optimizer.git", - "reference": "c22202fdd57856ed18a79cfab522653291a6e96a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/c22202fdd57856ed18a79cfab522653291a6e96a", - "reference": "c22202fdd57856ed18a79cfab522653291a6e96a", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.2|^8.0", - "psr/log": "^1.0", - "symfony/process": "^4.2|^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.0|^9.0", - "symfony/var-dumper": "^4.2|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\ImageOptimizer\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Easily optimize images using PHP", - "homepage": "https://github.com/spatie/image-optimizer", - "keywords": [ - "image-optimizer", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/image-optimizer/issues", - "source": "https://github.com/spatie/image-optimizer/tree/1.4.0" - }, - "time": "2021-04-22T06:17:27+00:00" - }, - { - "name": "spatie/laravel-backup", - "version": "6.16.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-backup.git", - "reference": "6b2229a07d92c2bb146ad9c5223fc32e9d74830c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/6b2229a07d92c2bb146ad9c5223fc32e9d74830c", - "reference": "6b2229a07d92c2bb146ad9c5223fc32e9d74830c", - "shasum": "" - }, - "require": { - "ext-zip": "^1.14.0", - "illuminate/console": "^6.0|^7.0|^8.0", - "illuminate/contracts": "^6.0|^7.0|^8.0", - "illuminate/events": "^6.0|^7.0|^8.0", - "illuminate/filesystem": "^6.0|^7.0|^8.0", - "illuminate/notifications": "^6.0|^7.0|^8.0", - "illuminate/support": "^6.0|^7.0|^8.0", - "league/flysystem": "^1.0.49", - "php": "^7.3|^8.0", - "spatie/db-dumper": "^2.12", - "spatie/temporary-directory": "^1.1", - "symfony/finder": "^4.2|^5.0" - }, - "require-dev": { - "laravel/slack-notification-channel": "^2.3", - "league/flysystem-aws-s3-v3": "^1.0", - "mockery/mockery": "^1.4.2", - "orchestra/testbench": "4.*|5.*|6.*", - "phpunit/phpunit": "^8.4|^9.0" - }, - "suggest": { - "laravel/slack-notification-channel": "Required for sending notifications via Slack" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\Backup\\BackupServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Spatie\\Backup\\": "src" - }, - "files": [ - "src/Helpers/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "A Laravel package to backup your application", - "homepage": "https://github.com/spatie/laravel-backup", - "keywords": [ - "backup", - "database", - "laravel-backup", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/6.16.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/spatie", - "type": "github" - }, - { - "url": "https://spatie.be/open-source/support-us", - "type": "other" - } - ], - "time": "2021-04-15T09:31:32+00:00" - }, - { - "name": "spatie/laravel-medialibrary", - "version": "8.10.2", - "source": { - "type": "git", - "url": "https://github.com/spatie/laravel-medialibrary.git", - "reference": "448e8389cadc79f42c3c96c7c9491b57015702d4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/448e8389cadc79f42c3c96c7c9491b57015702d4", - "reference": "448e8389cadc79f42c3c96c7c9491b57015702d4", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "ext-json": "*", - "illuminate/bus": "^6.18|^7.0|^8.0", - "illuminate/console": "^6.18|^7.0|^8.0", - "illuminate/database": "^6.18|^7.0|^8.0", - "illuminate/pipeline": "^6.18|^7.0|^8.0", - "illuminate/support": "^6.18|^7.0|^8.0", - "league/flysystem": "^1.0.64", - "maennchen/zipstream-php": "^1.0|^2.0", - "php": "^7.4|^8.0", - "spatie/image": "^1.4.0", - "spatie/temporary-directory": "^1.1", - "symfony/console": "^4.4|^5.0" - }, - "conflict": { - "php-ffmpeg/php-ffmpeg": "<0.6.1" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.133.11", - "doctrine/dbal": "^2.5.2", - "ext-pdo_sqlite": "*", - "ext-zip": "*", - "guzzlehttp/guzzle": "^6.3|^7.0", - "league/flysystem-aws-s3-v3": "^1.0.23", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^4.0|^5.0|^6.0", - "php-ffmpeg/php-ffmpeg": "^0.17.0", - "phpunit/phpunit": "^9.1", - "spatie/pdf-to-image": "^2.0", - "spatie/phpunit-snapshot-assertions": "^4.0" - }, - "suggest": { - "league/flysystem-aws-s3-v3": "Required to use AWS S3 file storage", - "php-ffmpeg/php-ffmpeg": "Required for generating video thumbnails", - "spatie/pdf-to-image": "Required for generating thumbsnails of PDFs and SVGs" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Spatie\\MediaLibrary\\MediaLibraryServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Spatie\\MediaLibrary\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Associate files with Eloquent models", - "homepage": "https://github.com/spatie/laravel-medialibrary", - "keywords": [ - "cms", - "conversion", - "downloads", - "images", - "laravel", - "laravel-medialibrary", - "media", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/laravel-medialibrary/issues", - "source": "https://github.com/spatie/laravel-medialibrary/tree/8.10.2" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-05-22T09:23:57+00:00" - }, - { - "name": "spatie/temporary-directory", - "version": "1.3.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/temporary-directory.git", - "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6", - "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\TemporaryDirectory\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alex Vanderbist", - "email": "alex@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Easily create, use and destroy temporary directories", - "homepage": "https://github.com/spatie/temporary-directory", - "keywords": [ - "php", - "spatie", - "temporary-directory" - ], - "support": { - "issues": "https://github.com/spatie/temporary-directory/issues", - "source": "https://github.com/spatie/temporary-directory/tree/1.3.0" - }, - "time": "2020-11-09T15:54:21+00:00" - }, - { - "name": "swiftmailer/swiftmailer", - "version": "v6.2.7", - "source": { - "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.0|^3.1", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, - "autoload": { - "files": [ - "lib/swift_required.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Corbyn" - }, - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - } - ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], - "support": { - "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", - "type": "tidelift" - } - ], - "time": "2021-03-09T12:30:35+00:00" - }, - { - "name": "symfony/console", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/649730483885ff2ca99ca0560ef0e5f6b03f2ac1", - "reference": "649730483885ff2ca99ca0560ef0e5f6b03f2ac1", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.8", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1|^2", - "symfony/string": "^5.1" - }, - "conflict": { - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/event-dispatcher": "^4.4|^5.0", - "symfony/lock": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/var-dumper": "^4.4|^5.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-12T09:42:48+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", - "reference": "fcd0b29a7a0b1bb5bfbedc6231583d77fea04814", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/css-selector/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:40:38+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", - "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-23T23:28:01+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "0e6768b8c0dcef26df087df2bbbaa143867a59b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/0e6768b8c0dcef26df087df2bbbaa143867a59b2", - "reference": "0e6768b8c0dcef26df087df2bbbaa143867a59b2", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "^1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/var-dumper": "^4.4|^5.0" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.1", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/serializer": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:43:10+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/67a5f354afa8e2f231081b3fa11a5912f933c3ce", - "reference": "67a5f354afa8e2f231081b3fa11a5912f933c3ce", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/event-dispatcher-contracts": "^2", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/dependency-injection": "<4.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/error-handler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/service-contracts": "^1.1|^2", - "symfony/stopwatch": "^4.4|^5.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:43:10+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", - "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/event-dispatcher": "^1" - }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-23T23:28:01+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", - "reference": "0ae3f047bed4edff6fd35b26a9a6bfdc92c953c6", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T12:52:38+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", - "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/http-client-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-04-11T23:07:08+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "7b6dd714d95106b831aaa7f3c9c612ab886516bd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/7b6dd714d95106b831aaa7f3c9c612ab886516bd", - "reference": "7b6dd714d95106b831aaa7f3c9c612ab886516bd", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.15" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/mime": "^4.4|^5.0" - }, - "suggest": { - "symfony/mime": "To use the file extension guesser" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-12T10:15:17+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "e7021165d9dbfb4051296b8de827e92c8a7b5c87" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/e7021165d9dbfb4051296b8de827e92c8a7b5c87", - "reference": "e7021165d9dbfb4051296b8de827e92c8a7b5c87", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "~1.0", - "symfony/deprecation-contracts": "^2.1", - "symfony/error-handler": "^4.4|^5.0", - "symfony/event-dispatcher": "^5.0", - "symfony/http-client-contracts": "^1.1|^2", - "symfony/http-foundation": "^5.3", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/browser-kit": "<4.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.3", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^4.4|^5.0", - "symfony/config": "^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/css-selector": "^4.4|^5.0", - "symfony/dependency-injection": "^5.3", - "symfony/dom-crawler": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "symfony/routing": "^4.4|^5.0", - "symfony/stopwatch": "^4.4|^5.0", - "symfony/translation": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-17T14:18:27+00:00" - }, - { - "name": "symfony/mime", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/47dd7912152b82d0d4c8d9040dbc93d6232d472a", - "reference": "47dd7912152b82d0d4c8d9040dbc93d6232d472a", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/property-access": "^4.4|^5.1", - "symfony/property-info": "^4.4|^5.1", - "symfony/serializer": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows manipulating MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "support": { - "source": "https://github.com/symfony/mime/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-09T10:58:01+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:27:20+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/24b72c6baa32c746a4d0840147c9715e42bb68ab", - "reference": "24b72c6baa32c746a4d0840147c9715e42bb68ab", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:17:38+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", - "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:27:20+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2df51500adbaebdc4c38dea4c89a2e131c45c8a1", - "reference": "2df51500adbaebdc4c38dea4c89a2e131c45c8a1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:27:20+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - }, - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-27T09:17:38+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", - "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.23.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/eca0bf41ed421bed1b57c4958bab16aa86b757d0", - "reference": "eca0bf41ed421bed1b57c4958bab16aa86b757d0", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "files": [ - "bootstrap.php" - ], - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/process", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "714b47f9196de61a196d86c4bad5f09201b307df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/714b47f9196de61a196d86c4bad5f09201b307df", - "reference": "714b47f9196de61a196d86c4bad5f09201b307df", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.15" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-12T10:15:01+00:00" - }, - { - "name": "symfony/routing", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "368e81376a8e049c37cb80ae87dbfbf411279199" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/368e81376a8e049c37cb80ae87dbfbf411279199", - "reference": "368e81376a8e049c37cb80ae87dbfbf411279199", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<5.3", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12", - "psr/log": "~1.0", - "symfony/config": "^5.3", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/expression-language": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/yaml": "^4.4|^5.0" - }, - "suggest": { - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "support": { - "source": "https://github.com/symfony/routing/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-05-26T17:43:10+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", - "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-04-01T10:43:52+00:00" - }, - { - "name": "symfony/string", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "0732e97e41c0a590f77e231afc16a327375d50b0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/0732e97e41c0a590f77e231afc16a327375d50b0", - "reference": "0732e97e41c0a590f77e231afc16a327375d50b0", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0", - "symfony/http-client": "^4.4|^5.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "files": [ - "Resources/functions.php" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-06T09:51:56+00:00" - }, - { - "name": "symfony/translation", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "7e2603bcc598e14804c4d2359d8dc4ee3c40391b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/7e2603bcc598e14804c4d2359d8dc4ee3c40391b", - "reference": "7e2603bcc598e14804c4d2359d8dc4ee3c40391b", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15", - "symfony/translation-contracts": "^2.3" - }, - "conflict": { - "symfony/config": "<4.4", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" - }, - "provide": { - "symfony/translation-implementation": "2.3" - }, - "require-dev": { - "psr/log": "~1.0", - "symfony/config": "^4.4|^5.0", - "symfony/console": "^4.4|^5.0", - "symfony/dependency-injection": "^5.0", - "symfony/finder": "^4.4|^5.0", - "symfony/http-kernel": "^5.0", - "symfony/intl": "^4.4|^5.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2", - "symfony/yaml": "^4.4|^5.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to internationalize your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-06T09:51:56+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v2.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", - "reference": "95c812666f3e91db75385749fe219c5e494c7f95", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-03-23T23:28:01+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v5.3.2", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "905a22c68b292ffb6f20d7636c36b220d1fba5ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/905a22c68b292ffb6f20d7636c36b220d1fba5ae", - "reference": "905a22c68b292ffb6f20d7636c36b220d1fba5ae", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "phpunit/phpunit": "<5.4.3", - "symfony/console": "<4.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^4.4|^5.0", - "symfony/process": "^4.4|^5.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.2" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2021-06-06T09:51:56+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.3", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", - "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "support": { - "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" - }, - "time": "2020-07-13T06:12:54+00:00" - }, - { - "name": "vinkla/hashids", - "version": "9.1.0", - "source": { - "type": "git", - "url": "https://github.com/vinkla/laravel-hashids.git", - "reference": "cb0086db96cdb49816465adc97e3a024c8ee9767" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vinkla/laravel-hashids/zipball/cb0086db96cdb49816465adc97e3a024c8ee9767", - "reference": "cb0086db96cdb49816465adc97e3a024c8ee9767", - "shasum": "" - }, - "require": { - "graham-campbell/manager": "^4.4", - "hashids/hashids": "^4.1", - "illuminate/contracts": "^8.0", - "illuminate/support": "^8.0", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "graham-campbell/analyzer": "^3.0", - "graham-campbell/testbench": "^5.4", - "mockery/mockery": "^1.3", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.1-dev" - }, - "laravel": { - "providers": [ - "Vinkla\\Hashids\\HashidsServiceProvider" - ], - "aliases": { - "Hashids": "Vinkla\\Hashids\\Facades\\Hashids" - } - } - }, - "autoload": { - "psr-4": { - "Vinkla\\Hashids\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Vincent Klaiber", - "email": "hello@doubledip.se" - } - ], - "description": "A Hashids bridge for Laravel", - "keywords": [ - "hashids", - "laravel" - ], - "support": { - "issues": "https://github.com/vinkla/laravel-hashids/issues", - "source": "https://github.com/vinkla/laravel-hashids/tree/9.1.0" - }, - "time": "2020-11-26T19:38:22+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v5.3.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.1", - "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.7.4", - "symfony/polyfill-ctype": "^1.17", - "symfony/polyfill-mbstring": "^1.17", - "symfony/polyfill-php80": "^1.17" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.3-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2021-01-20T15:23:13+00:00" - }, - { - "name": "voku/portable-ascii", - "version": "1.5.6", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "80953678b19901e5165c56752d087fc11526017c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", - "reference": "80953678b19901e5165c56752d087fc11526017c", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.5.6" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" - } - ], - "time": "2020-11-12T00:07:28+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.10.0" - }, - "time": "2021-03-09T10:59:23+00:00" - } - ], - "packages-dev": [ - { - "name": "barryvdh/laravel-ide-helper", - "version": "v2.10.0", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/laravel-ide-helper.git", - "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/73b1012b927633a1b4cd623c2e6b1678e6faef08", - "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08", - "shasum": "" - }, - "require": { - "barryvdh/reflection-docblock": "^2.0.6", - "composer/composer": "^1.6 || ^2", - "doctrine/dbal": "^2.6 || ^3", - "ext-json": "*", - "illuminate/console": "^8", - "illuminate/filesystem": "^8", - "illuminate/support": "^8", - "nikic/php-parser": "^4.7", - "php": "^7.3 || ^8.0", - "phpdocumentor/type-resolver": "^1.1.0" - }, - "require-dev": { - "ext-pdo_sqlite": "*", - "friendsofphp/php-cs-fixer": "^2", - "illuminate/config": "^8", - "illuminate/view": "^8", - "mockery/mockery": "^1.4", - "orchestra/testbench": "^6", - "phpunit/phpunit": "^8.5 || ^9", - "spatie/phpunit-snapshot-assertions": "^3 || ^4", - "vimeo/psalm": "^3.12" - }, - "suggest": { - "illuminate/events": "Required for automatic helper generation (^6|^7|^8)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.9-dev" - }, - "laravel": { - "providers": [ - "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Barryvdh\\LaravelIdeHelper\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Barry vd. Heuvel", - "email": "barryvdh@gmail.com" - } - ], - "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", - "keywords": [ - "autocomplete", - "codeintel", - "helper", - "ide", - "laravel", - "netbeans", - "phpdoc", - "phpstorm", - "sublime" - ], - "support": { - "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", - "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.10.0" - }, - "funding": [ - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2021-04-09T06:17:55+00:00" - }, - { - "name": "barryvdh/reflection-docblock", - "version": "v2.0.6", - "source": { - "type": "git", - "url": "https://github.com/barryvdh/ReflectionDocBlock.git", - "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/6b69015d83d3daf9004a71a89f26e27d27ef6a16", - "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0,<4.5" - }, - "suggest": { - "dflydev/markdown": "~1.0", - "erusev/parsedown": "~1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-0": { - "Barryvdh": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "mike.vanriel@naenius.com" - } - ], - "support": { - "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.0.6" - }, - "time": "2018-12-13T10:34:14+00:00" - }, - { - "name": "beyondcode/laravel-dump-server", - "version": "1.7.0", - "source": { - "type": "git", - "url": "https://github.com/beyondcode/laravel-dump-server.git", - "reference": "e27c7b942ab62f6ac7168359393d328ec5215b89" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/e27c7b942ab62f6ac7168359393d328ec5215b89", - "reference": "e27c7b942ab62f6ac7168359393d328ec5215b89", - "shasum": "" - }, - "require": { - "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0", - "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0", - "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0", - "php": ">=7.2.5", - "symfony/var-dumper": "^5.0" - }, - "require-dev": { - "larapack/dd": "^1.0", - "phpunit/phpunit": "^7.0|^9.3" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "BeyondCode\\DumpServer\\DumpServerServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "BeyondCode\\DumpServer\\": "src" - }, - "files": [ - "helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marcel Pociot", - "email": "marcel@beyondco.de", - "homepage": "https://beyondco.de", - "role": "Developer" - } - ], - "description": "Symfony Var-Dump Server for Laravel", - "homepage": "https://github.com/beyondcode/laravel-dump-server", - "keywords": [ - "beyondcode", - "laravel-dump-server" - ], - "support": { - "issues": "https://github.com/beyondcode/laravel-dump-server/issues", - "source": "https://github.com/beyondcode/laravel-dump-server/tree/1.7.0" - }, - "time": "2020-12-15T10:57:43+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.2.10", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/9fdb22c2e97a614657716178093cd1da90a64aa8", - "reference": "9fdb22c2e97a614657716178093cd1da90a64aa8", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.2.10" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-06-07T13:58:28+00:00" - }, - { - "name": "composer/composer", - "version": "2.1.3", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "fc5c4573aafce3a018eb7f1f8f91cea423970f2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/fc5c4573aafce3a018eb7f1f8f91cea423970f2e", - "reference": "fc5c4573aafce3a018eb7f1f8f91cea423970f2e", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/semver": "^3.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^2.0", - "justinrainbow/json-schema": "^5.2.10", - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0", - "react/promise": "^1.2 || ^2.7", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" - }, - "require-dev": { - "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.1.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-06-09T14:31:20+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "support": { - "issues": "https://github.com/composer/metadata-minifier/issues", - "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-04-07T13:37:33+00:00" - }, - { - "name": "composer/semver", - "version": "3.2.5", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/31f3ea725711245195f62e54ffa402d8ef2fdba9", - "reference": "31f3ea725711245195f62e54ffa402d8ef2fdba9", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.54", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.2.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-05-24T12:41:47+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.5", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "de30328a7af8680efdc03e396aad24befd513200" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/de30328a7af8680efdc03e396aad24befd513200", - "reference": "de30328a7af8680efdc03e396aad24befd513200", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2020-12-03T16:04:16+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", - "reference": "964adcdd3a28bf9ed5d9ac6450064e0d71ed7496", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.1" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-05-05T19:37:51+00:00" - }, - { - "name": "doctrine/annotations", - "version": "1.13.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", - "reference": "e6e7b7d5b45a2f2abc5460cc6396480b2b1d321f", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "ext-tokenizer": "*", - "php": "^7.1 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^6.0 || ^8.1", - "phpstan/phpstan": "^0.12.20", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", - "symfony/cache": "^4.4 || ^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.1" - }, - "time": "2021-05-16T18:07:53+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", - "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^8.0", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.4.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2020-11-10T18:47:58+00:00" - }, - { - "name": "facade/flare-client-php", - "version": "1.8.1", - "source": { - "type": "git", - "url": "https://github.com/facade/flare-client-php.git", - "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/flare-client-php/zipball/47b639dc02bcfdfc4ebb83de703856fa01e35f5f", - "reference": "47b639dc02bcfdfc4ebb83de703856fa01e35f5f", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "~1.0", - "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", - "php": "^7.1|^8.0", - "symfony/http-foundation": "^3.3|^4.1|^5.0", - "symfony/mime": "^3.4|^4.0|^5.1", - "symfony/var-dumper": "^3.4|^4.0|^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "phpunit/phpunit": "^7.5.16", - "spatie/phpunit-snapshot-assertions": "^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Facade\\FlareClient\\": "src" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Send PHP errors to Flare", - "homepage": "https://github.com/facade/flare-client-php", - "keywords": [ - "exception", - "facade", - "flare", - "reporting" - ], - "support": { - "issues": "https://github.com/facade/flare-client-php/issues", - "source": "https://github.com/facade/flare-client-php/tree/1.8.1" - }, - "funding": [ - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2021-05-31T19:23:29+00:00" - }, - { - "name": "facade/ignition", - "version": "2.10.2", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition.git", - "reference": "43688227bbf27c43bc1ad83af224f135b6ef0ff4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/43688227bbf27c43bc1ad83af224f135b6ef0ff4", - "reference": "43688227bbf27c43bc1ad83af224f135b6ef0ff4", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "facade/flare-client-php": "^1.6", - "facade/ignition-contracts": "^1.0.2", - "filp/whoops": "^2.4", - "illuminate/support": "^7.0|^8.0", - "monolog/monolog": "^2.0", - "php": "^7.2.5|^8.0", - "symfony/console": "^5.0", - "symfony/var-dumper": "^5.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.14", - "mockery/mockery": "^1.3", - "orchestra/testbench": "^5.0|^6.0", - "psalm/plugin-laravel": "^1.2" - }, - "suggest": { - "laravel/telescope": "^3.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Facade\\Ignition\\IgnitionServiceProvider" - ], - "aliases": { - "Flare": "Facade\\Ignition\\Facades\\Flare" - } - } - }, - "autoload": { - "psr-4": { - "Facade\\Ignition\\": "src" - }, - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A beautiful error page for Laravel applications.", - "homepage": "https://github.com/facade/ignition", - "keywords": [ - "error", - "flare", - "laravel", - "page" - ], - "support": { - "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", - "forum": "https://twitter.com/flareappio", - "issues": "https://github.com/facade/ignition/issues", - "source": "https://github.com/facade/ignition" - }, - "time": "2021-06-11T06:57:25+00:00" - }, - { - "name": "facade/ignition-contracts", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition-contracts.git", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "shasum": "" - }, - "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v2.15.8", - "phpunit/phpunit": "^9.3.11", - "vimeo/psalm": "^3.17.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Facade\\IgnitionContracts\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://flareapp.io", - "role": "Developer" - } - ], - "description": "Solution contracts for Ignition", - "homepage": "https://github.com/facade/ignition-contracts", - "keywords": [ - "contracts", - "flare", - "ignition" - ], - "support": { - "issues": "https://github.com/facade/ignition-contracts/issues", - "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" - }, - "time": "2020-10-16T08:27:54+00:00" - }, - { - "name": "filp/whoops", - "version": "2.13.0", - "source": { - "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "2edbc73a4687d9085c8f20f398eebade844e8424" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/2edbc73a4687d9085c8f20f398eebade844e8424", - "reference": "2edbc73a4687d9085c8f20f398eebade844e8424", - "shasum": "" - }, - "require": { - "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1" - }, - "require-dev": { - "mockery/mockery": "^0.9 || ^1.0", - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" - }, - "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.7-dev" - } - }, - "autoload": { - "psr-4": { - "Whoops\\": "src/Whoops/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" - } - ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", - "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" - ], - "support": { - "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.13.0" - }, - "funding": [ - { - "url": "https://github.com/denis-sokolov", - "type": "github" - } - ], - "time": "2021-06-04T12:00:00+00:00" - }, - { - "name": "friendsofphp/php-cs-fixer", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "c15377bdfa8d1ecf186f1deadec39c89984e1167" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/c15377bdfa8d1ecf186f1deadec39c89984e1167", - "reference": "c15377bdfa8d1ecf186f1deadec39c89984e1167", - "shasum": "" - }, - "require": { - "composer/semver": "^3.2", - "composer/xdebug-handler": "^2.0", - "doctrine/annotations": "^1.12", - "ext-json": "*", - "ext-tokenizer": "*", - "php": "^7.1.3 || ^8.0", - "php-cs-fixer/diff": "^2.0", - "symfony/console": "^4.4.20 || ^5.1.3", - "symfony/event-dispatcher": "^4.4.20 || ^5.0", - "symfony/filesystem": "^4.4.20 || ^5.0", - "symfony/finder": "^4.4.20 || ^5.0", - "symfony/options-resolver": "^4.4.20 || ^5.0", - "symfony/polyfill-php72": "^1.22", - "symfony/process": "^4.4.20 || ^5.0", - "symfony/stopwatch": "^4.4.20 || ^5.0" - }, - "require-dev": { - "justinrainbow/json-schema": "^5.2", - "keradus/cli-executor": "^1.4", - "mikey179/vfsstream": "^1.6.8", - "php-coveralls/php-coveralls": "^2.4.3", - "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", - "phpspec/prophecy": "^1.10.3", - "phpspec/prophecy-phpunit": "^1.1 || ^2.0", - "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5", - "phpunitgoodpractices/polyfill": "^1.5", - "phpunitgoodpractices/traits": "^1.9.1", - "symfony/phpunit-bridge": "^5.2.4", - "symfony/yaml": "^4.4.20 || ^5.0" - }, - "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters.", - "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "PhpCsFixer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "support": { - "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", - "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.0.0" - }, - "funding": [ - { - "url": "https://github.com/keradus", - "type": "github" - } - ], - "time": "2021-05-03T21:51:58+00:00" - }, - { - "name": "fzaninotto/faker", - "version": "v1.9.2", - "source": { - "type": "git", - "url": "https://github.com/fzaninotto/Faker.git", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e", - "shasum": "" - }, - "require": { - "php": "^5.3.3 || ^7.0" - }, - "require-dev": { - "ext-intl": "*", - "phpunit/phpunit": "^4.8.35 || ^5.7", - "squizlabs/php_codesniffer": "^2.9.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "François Zaninotto" - } - ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], - "support": { - "issues": "https://github.com/fzaninotto/Faker/issues", - "source": "https://github.com/fzaninotto/Faker/tree/v1.9.2" - }, - "abandoned": true, - "time": "2020-12-11T09:56:16+00:00" - }, - { - "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "shasum": "" - }, - "require": { - "php": "^5.3|^7.0|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" - }, - "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "classmap": [ - "hamcrest" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "This is the PHP port of Hamcrest Matchers", - "keywords": [ - "test" - ], - "support": { - "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" - }, - "time": "2020-07-09T08:09:16+00:00" - }, - { - "name": "jasonmccreary/laravel-test-assertions", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/jasonmccreary/laravel-test-assertions.git", - "reference": "163c9df0a68a6fb7c39827292a315408bcea27cc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/jasonmccreary/laravel-test-assertions/zipball/163c9df0a68a6fb7c39827292a315408bcea27cc", - "reference": "163c9df0a68a6fb7c39827292a315408bcea27cc", - "shasum": "" - }, - "require": { - "mockery/mockery": "^1.0", - "php": ">=7.2", - "phpunit/phpunit": "^7.5|^8.0|^9.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "JMac\\Testing\\AdditionalAssertionsServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "JMac\\Testing\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jason McCreary", - "email": "jason@pureconcepts.net" - } - ], - "description": "A set of helpful assertions when testing Laravel applications.", - "support": { - "issues": "https://github.com/jasonmccreary/laravel-test-assertions/issues", - "source": "https://github.com/jasonmccreary/laravel-test-assertions/tree/v1.1.0" - }, - "time": "2021-02-20T13:23:21+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.10", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", - "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.10" - }, - "time": "2020-05-27T16:41:55+00:00" - }, - { - "name": "mockery/mockery", - "version": "1.4.3", - "source": { - "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/d1339f64479af1bee0e82a0413813fe5345a54ea", - "reference": "d1339f64479af1bee0e82a0413813fe5345a54ea", - "shasum": "" - }, - "require": { - "hamcrest/hamcrest-php": "^2.0.1", - "lib-pcre": ">=7.0", - "php": "^7.3 || ^8.0" - }, - "conflict": { - "phpunit/phpunit": "<8.0" - }, - "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Mockery": "library/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" - } - ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", - "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", - "test", - "test double", - "testing" - ], - "support": { - "issues": "https://github.com/mockery/mockery/issues", - "source": "https://github.com/mockery/mockery/tree/1.4.3" - }, - "time": "2021-02-24T09:51:49+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.10.2", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", - "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "replace": { - "myclabs/deep-copy": "self.version" - }, - "require-dev": { - "doctrine/collections": "^1.0", - "doctrine/common": "^2.6", - "phpunit/phpunit": "^7.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - }, - "files": [ - "src/DeepCopy/deep_copy.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2020-11-13T09:40:50+00:00" - }, - { - "name": "nunomaduro/collision", - "version": "v5.5.0", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/b5cb36122f1c142c3c3ee20a0ae778439ef0244b", - "reference": "b5cb36122f1c142c3c3ee20a0ae778439ef0244b", - "shasum": "" - }, - "require": { - "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.7.2", - "php": "^7.3 || ^8.0", - "symfony/console": "^5.0" - }, - "require-dev": { - "brianium/paratest": "^6.1", - "fideloper/proxy": "^4.4.1", - "friendsofphp/php-cs-fixer": "^2.17.3", - "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "^9.0", - "nunomaduro/larastan": "^0.6.2", - "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^7.0", - "phpstan/phpstan": "^0.12.64", - "phpunit/phpunit": "^9.5.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Cli error handling for console/command-line PHP applications.", - "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" - ], - "support": { - "issues": "https://github.com/nunomaduro/collision/issues", - "source": "https://github.com/nunomaduro/collision" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2021-06-22T20:47:22+00:00" - }, - { - "name": "pestphp/pest", - "version": "v0.3.19", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest.git", - "reference": "26b2e3561a9f76d8918727e7bc34ddf9b977d923" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/26b2e3561a9f76d8918727e7bc34ddf9b977d923", - "reference": "26b2e3561a9f76d8918727e7bc34ddf9b977d923", - "shasum": "" - }, - "require": { - "nunomaduro/collision": "^5.0", - "pestphp/pest-plugin": "^0.3", - "pestphp/pest-plugin-coverage": "^0.3", - "pestphp/pest-plugin-expectations": "^0.3.3", - "pestphp/pest-plugin-init": "^0.3", - "php": "^7.3 || ^8.0", - "phpunit/phpunit": ">= 9.3.7 <= 9.5.0" - }, - "require-dev": { - "illuminate/console": "^7.16.1", - "illuminate/support": "^7.16.1", - "laravel/dusk": "^6.9.1", - "mockery/mockery": "^1.4.1", - "pestphp/pest-dev-tools": "dev-master" - }, - "bin": [ - "bin/pest" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3.x-dev" - }, - "pest": { - "plugins": [ - "Pest\\Plugins\\Version" - ] - }, - "laravel": { - "providers": [ - "Pest\\Laravel\\PestServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Pest\\": "src/" - }, - "files": [ - "src/Functions.php", - "src/Pest.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "An elegant PHP Testing Framework.", - "keywords": [ - "framework", - "pest", - "php", - "test", - "testing", - "unit" - ], - "support": { - "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v0.3.19" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2020-12-27T11:36:24+00:00" - }, - { - "name": "pestphp/pest-plugin", - "version": "v0.3.0", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin.git", - "reference": "635f8c33a3eed910ac3cd5cb02a7163c5c70c033" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/635f8c33a3eed910ac3cd5cb02a7163c5c70c033", - "reference": "635f8c33a3eed910ac3cd5cb02a7163c5c70c033", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.1 || ^2.0", - "php": "^7.3 || ^8.0" - }, - "conflict": { - "pestphp/pest": "<0.3" - }, - "require-dev": { - "composer/composer": "^1.10", - "pestphp/pest": "^0.3", - "pestphp/pest-dev-tools": "dev-master" - }, - "type": "composer-plugin", - "extra": { - "branch-alias": { - "dev-master": "0.4.x-dev" - }, - "class": "Pest\\Plugin\\Manager" - }, - "autoload": { - "psr-4": { - "Pest\\Plugin\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The Pest plugin manager", - "keywords": [ - "framework", - "manager", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin/tree/v0.3.0" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2020-08-25T20:53:40+00:00" - }, - { - "name": "pestphp/pest-plugin-coverage", - "version": "v0.3.0", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin-coverage.git", - "reference": "f209bb62728841f21f267759a374d66172a162ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-coverage/zipball/f209bb62728841f21f267759a374d66172a162ea", - "reference": "f209bb62728841f21f267759a374d66172a162ea", - "shasum": "" - }, - "require": { - "pestphp/pest-plugin": "^0.3", - "php": "^7.3 || ^8.0", - "sebastian/environment": "^5.1.2" - }, - "conflict": { - "pestphp/pest": "<0.3" - }, - "require-dev": { - "pestphp/pest": "^0.3", - "pestphp/pest-dev-tools": "dev-master" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3.x-dev" - }, - "pest": { - "plugins": [ - "Pest\\PluginCoverage\\Plugin" - ] - } - }, - "autoload": { - "psr-4": { - "Pest\\PluginCoverage\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The Pest Coverage Plugin", - "keywords": [ - "coverage", - "framework", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin-coverage/tree/master" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "abandoned": "pestphp/pest", - "time": "2020-08-25T20:42:46+00:00" - }, - { - "name": "pestphp/pest-plugin-expectations", - "version": "v0.3.3", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin-expectations.git", - "reference": "1d10f8b6d2dced7accffe16eabdee44b1ef90c6a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-expectations/zipball/1d10f8b6d2dced7accffe16eabdee44b1ef90c6a", - "reference": "1d10f8b6d2dced7accffe16eabdee44b1ef90c6a", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8.0", - "phpunit/phpunit": "^9.0" - }, - "require-dev": { - "pestphp/pest": "^0.3.16", - "pestphp/pest-dev-tools": "dev-master" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Pest\\Expectations\\": "src/" - }, - "files": [ - "src/Autoload.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Add expectations testing capabilities to Pest or PHPUnit", - "keywords": [ - "expectations", - "framework", - "pest", - "php", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin-expectations/tree/v0.3.3" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "abandoned": "pestphp/pest", - "time": "2020-12-26T20:28:03+00:00" - }, - { - "name": "pestphp/pest-plugin-faker", - "version": "v0.3.0", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin-faker.git", - "reference": "3a57e4803c4b6c0d0dde2ed8f0b1ca1a575001e3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-faker/zipball/3a57e4803c4b6c0d0dde2ed8f0b1ca1a575001e3", - "reference": "3a57e4803c4b6c0d0dde2ed8f0b1ca1a575001e3", - "shasum": "" - }, - "require": { - "fzaninotto/faker": "^1.9.1", - "pestphp/pest": "^0.3", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "pestphp/pest-dev-tools": "dev-master" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Pest\\Faker\\": "src/" - }, - "files": [ - "src/Faker.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The Pest Faker Plugin", - "keywords": [ - "faker", - "framework", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin-faker/tree/master" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2020-08-25T20:57:25+00:00" - }, - { - "name": "pestphp/pest-plugin-init", - "version": "v0.3.1", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin-init.git", - "reference": "7406643b47835b6c6da709b11da89b0844b8d163" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-init/zipball/7406643b47835b6c6da709b11da89b0844b8d163", - "reference": "7406643b47835b6c6da709b11da89b0844b8d163", - "shasum": "" - }, - "require": { - "pestphp/pest-plugin": "^0.3", - "php": "^7.3 || ^8.0" - }, - "conflict": { - "pestphp/pest": "<0.3" - }, - "require-dev": { - "pestphp/pest": "^0.3", - "pestphp/pest-dev-tools": "dev-master" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.4.x-dev" - }, - "pest": { - "plugins": [ - "Pest\\Init\\Plugin" - ] - } - }, - "autoload": { - "psr-4": { - "Pest\\Init\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The Pest Init plugin", - "keywords": [ - "framework", - "init", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin-init/tree/v0.3.1" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "abandoned": "pestphp/pest", - "time": "2020-09-27T12:48:43+00:00" - }, - { - "name": "pestphp/pest-plugin-laravel", - "version": "v0.3.0", - "source": { - "type": "git", - "url": "https://github.com/pestphp/pest-plugin-laravel.git", - "reference": "0ec53f5cc2d661088683318629ca16dcd72c41d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/0ec53f5cc2d661088683318629ca16dcd72c41d1", - "reference": "0ec53f5cc2d661088683318629ca16dcd72c41d1", - "shasum": "" - }, - "require": { - "laravel/framework": "^7.0 || ^8.0", - "pestphp/pest": "^0.3", - "php": "^7.3 || ^8.0" - }, - "require-dev": { - "orchestra/testbench": "^5.2 || ^6.0", - "pestphp/pest-dev-tools": "dev-master" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Pest\\Laravel\\": "src/" - }, - "files": [ - "src/Autoload.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "The Pest Laravel Plugin", - "keywords": [ - "framework", - "pest", - "php", - "plugin", - "test", - "testing", - "unit" - ], - "support": { - "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v0.3.0" - }, - "funding": [ - { - "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" - } - ], - "time": "2020-08-25T21:08:14+00:00" - }, { "name": "phar-io/manifest", - "version": "2.0.1", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/manifest.git", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", - "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", "shasum": "" }, "require": { @@ -9122,9 +4005,9 @@ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", "support": { "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/master" + "source": "https://github.com/phar-io/manifest/tree/2.0.3" }, - "time": "2020-06-27T14:33:11+00:00" + "time": "2021-07-20T11:28:43+00:00" }, { "name": "phar-io/version", @@ -9178,56 +4061,90 @@ "time": "2021-02-23T14:00:09+00:00" }, { - "name": "php-cs-fixer/diff", - "version": "v2.0.2", + "name": "phenx/php-font-lib", + "version": "0.5.2", "source": { "type": "git", - "url": "https://github.com/PHP-CS-Fixer/diff.git", - "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3" + "url": "https://github.com/PhenX/php-font-lib.git", + "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/29dc0d507e838c4580d018bd8b5cb412474f7ec3", - "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3", + "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/ca6ad461f032145fff5971b5985e5af9e7fa88d8", + "reference": "ca6ad461f032145fff5971b5985e5af9e7fa88d8", "shasum": "" }, - "require": { - "php": "^5.6 || ^7.0 || ^8.0" - }, "require-dev": { - "phpunit/phpunit": "^5.7.23 || ^6.4.3 || ^7.0", - "symfony/process": "^3.3" + "phpunit/phpunit": "^4.8.35 || ^5 || ^6 || ^7" }, "type": "library", "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "FontLib\\": "src/FontLib" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "LGPL-3.0" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" } ], - "description": "sebastian/diff v3 backport support for PHP 5.6+", - "homepage": "https://github.com/PHP-CS-Fixer", - "keywords": [ - "diff" - ], + "description": "A library to read, parse, export and make subsets of different types of font files.", + "homepage": "https://github.com/PhenX/php-font-lib", "support": { - "issues": "https://github.com/PHP-CS-Fixer/diff/issues", - "source": "https://github.com/PHP-CS-Fixer/diff/tree/v2.0.2" + "issues": "https://github.com/PhenX/php-font-lib/issues", + "source": "https://github.com/PhenX/php-font-lib/tree/0.5.2" }, - "time": "2020-10-14T08:32:19+00:00" + "time": "2020-03-08T15:31:32+00:00" + }, + { + "name": "phenx/php-svg-lib", + "version": "0.3.4", + "source": { + "type": "git", + "url": "https://github.com/PhenX/php-svg-lib.git", + "reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/f627771eb854aa7f45f80add0f23c6c4d67ea0f2", + "reference": "f627771eb854aa7f45f80add0f23c6c4d67ea0f2", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "sabberworm/php-css-parser": "^8.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Svg\\": "src/Svg" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0" + ], + "authors": [ + { + "name": "Fabien Ménager", + "email": "fabien.menager@gmail.com" + } + ], + "description": "A library to read, parse and export to PDF SVG files.", + "homepage": "https://github.com/PhenX/php-svg-lib", + "support": { + "issues": "https://github.com/PhenX/php-svg-lib/issues", + "source": "https://github.com/PhenX/php-svg-lib/tree/0.3.4" + }, + "time": "2021-10-18T02:13:32+00:00" }, { "name": "phpdocumentor/reflection-common", @@ -9284,16 +4201,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -9304,7 +4221,8 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -9334,22 +4252,22 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, - "time": "2020-09-03T19:13:55+00:00" + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.4.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae", + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae", "shasum": "" }, "require": { @@ -9357,7 +4275,8 @@ "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "*" + "ext-tokenizer": "*", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -9383,39 +4302,108 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1" }, - "time": "2020-09-17T18:55:26+00:00" + "time": "2021-10-02T14:08:47+00:00" }, { - "name": "phpspec/prophecy", - "version": "1.13.0", + "name": "phpoption/phpoption", + "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea" + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/be1996ed8adc35c3fd795488a653f4b518be70ea", - "reference": "be1996ed8adc35c3fd795488a653f4b518be70ea", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/5455cb38aed4523f99977c4a12ef19da4bfe2a28", + "reference": "5455cb38aed4523f99977c4a12ef19da4bfe2a28", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "phpunit/phpunit": "^6.5.14 || ^7.0.20 || ^8.5.19 || ^9.5.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.8.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2021-08-28T21:27:29+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "1.14.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e", + "reference": "d86dfc2e2a3cd366cee475e52c6bb3bbc371aa0e", "shasum": "" }, "require": { "doctrine/instantiator": "^1.2", - "php": "^7.2 || ~8.0, <8.1", + "php": "^7.2 || ~8.0, <8.2", "phpdocumentor/reflection-docblock": "^5.2", "sebastian/comparator": "^3.0 || ^4.0", "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^6.0", + "phpspec/phpspec": "^6.0 || ^7.0", "phpunit/phpunit": "^8.0 || ^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.11.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -9450,29 +4438,29 @@ ], "support": { "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/1.13.0" + "source": "https://github.com/phpspec/prophecy/tree/1.14.0" }, - "time": "2021-03-17T13:42:18+00:00" + "time": "2021-09-10T09:02:12+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "9.2.6", + "version": "9.2.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f6293e1b30a2354e8428e004689671b83871edde" + "reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", - "reference": "f6293e1b30a2354e8428e004689671b83871edde", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/cf04e88a2e3c56fc1a65488afd493325b4c1bc3e", + "reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.10.2", + "nikic/php-parser": "^4.13.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -9521,7 +4509,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.8" }, "funding": [ { @@ -9529,7 +4517,7 @@ "type": "github" } ], - "time": "2021-03-28T07:26:59+00:00" + "time": "2021-10-30T08:01:38+00:00" }, { "name": "phpunit/php-file-iterator", @@ -9774,16 +4762,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.0", + "version": "9.5.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe" + "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", - "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a", + "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a", "shasum": "" }, "require": { @@ -9795,11 +4783,11 @@ "ext-xml": "*", "ext-xmlwriter": "*", "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.1", + "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", - "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-code-coverage": "^9.2.7", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.3", @@ -9813,7 +4801,7 @@ "sebastian/global-state": "^5.0.1", "sebastian/object-enumerator": "^4.0.3", "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^2.3", + "sebastian/type": "^2.3.4", "sebastian/version": "^3.0.2" }, "require-dev": { @@ -9861,7 +4849,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.0" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10" }, "funding": [ { @@ -9873,20 +4861,225 @@ "type": "github" } ], - "time": "2020-12-04T05:05:53+00:00" + "time": "2021-09-25T07:38:51+00:00" }, { - "name": "psr/cache", - "version": "1.0.1", + "name": "psr/container", + "version": "1.1.2", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", - "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", "shasum": "" }, "require": { @@ -9900,7 +5093,7 @@ }, "autoload": { "psr-4": { - "Psr\\Cache\\": "src/" + "Psr\\Http\\Message\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -9913,44 +5106,222 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for caching libraries", + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", "keywords": [ - "cache", + "http", + "http-message", "psr", - "psr-6" + "psr-7", + "request", + "response" ], "support": { - "source": "https://github.com/php-fig/cache/tree/master" + "source": "https://github.com/php-fig/http-message/tree/master" }, - "time": "2016-08-06T20:24:11+00:00" + "time": "2016-08-06T14:39:51+00:00" }, { - "name": "react/promise", - "version": "v2.8.0", + "name": "psr/log", + "version": "1.1.4", "source": { "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", - "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { - "php": ">=5.4.0" + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.10.9", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "01281336c4ae557fe4a994544f30d3a1bc204375" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/01281336c4ae557fe4a994544f30d3a1bc204375", + "reference": "01281336c4ae557fe4a994544f30d3a1bc204375", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", + "php": "^8.0 || ^7.0 || ^5.5.9", + "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", + "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" }, "require-dev": { - "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" + "bamarni/composer-bin-plugin": "^1.2", + "hoa/console": "3.17.*" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history.", + "hoa/console": "A pure PHP readline implementation. You'll want this if your PHP install doesn't already support readline or libedit." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.10.x-dev" + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.10.9" + }, + "time": "2021-10-10T13:37:39+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" }, "type": "library", "autoload": { - "psr-4": { - "React\\Promise\\": "src/" - }, "files": [ - "src/functions_include.php" + "src/getallheaders.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -9959,20 +5330,242 @@ ], "authors": [ { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com" + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" } ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", + "shasum": "" + }, + "require": { + "php": "^7.3 || ^8", + "symfony/polyfill-php81": "^1.23" + }, + "require-dev": { + "captainhook/captainhook": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "ergebnis/composer-normalize": "^2.6", + "fakerphp/faker": "^1.5", + "hamcrest/hamcrest-php": "^2", + "jangregor/phpstan-prophecy": "^0.8", + "mockery/mockery": "^1.3", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1", + "phpstan/phpstan": "^0.12.32", + "phpstan/phpstan-mockery": "^0.12.5", + "phpstan/phpstan-phpunit": "^0.12.11", + "phpunit/phpunit": "^8.5 || ^9", + "psy/psysh": "^0.10.4", + "slevomat/coding-standard": "^6.3", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", "keywords": [ - "promise", - "promises" + "array", + "collection", + "hash", + "map", + "queue", + "set" ], "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.8.0" + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/1.2.2" }, - "time": "2020-05-12T15:16:56+00:00" + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2021-10-10T03:01:02+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.2.3", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "shasum": "" + }, + "require": { + "brick/math": "^0.8 || ^0.9", + "ext-json": "*", + "php": "^7.2 || ^8.0", + "ramsey/collection": "^1.0", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php80": "^1.14" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "moontoast/math": "^1.1", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-mockery": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^8.5 || ^9", + "slevomat/coding-standard": "^7.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-ctype": "Enables faster processing of character classification using ctype functions.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.x-dev" + }, + "captainhook": { + "force-install": true + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Uuid\\": "src/" + }, + "files": [ + "src/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.2.3" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2021-09-25T23:10:38+00:00" + }, + { + "name": "sabberworm/php-css-parser", + "version": "8.3.1", + "source": { + "type": "git", + "url": "https://github.com/sabberworm/PHP-CSS-Parser.git", + "reference": "d217848e1396ef962fb1997cf3e2421acba7f796" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/d217848e1396ef962fb1997cf3e2421acba7f796", + "reference": "d217848e1396ef962fb1997cf3e2421acba7f796", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "codacy/coverage": "^1.4", + "phpunit/phpunit": "~4.8" + }, + "type": "library", + "autoload": { + "psr-0": { + "Sabberworm\\CSS": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Raphael Schweikert" + } + ], + "description": "Parser for CSS Files written in PHP", + "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser", + "keywords": [ + "css", + "parser", + "stylesheet" + ], + "support": { + "issues": "https://github.com/sabberworm/PHP-CSS-Parser/issues", + "source": "https://github.com/sabberworm/PHP-CSS-Parser/tree/8.3.1" + }, + "time": "2020-06-01T09:10:00+00:00" }, { "name": "sebastian/cli-parser", @@ -10403,16 +5996,16 @@ }, { "name": "sebastian/exporter", - "version": "4.0.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", - "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", "shasum": "" }, "require": { @@ -10461,14 +6054,14 @@ } ], "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "http://www.github.com/sebastianbergmann/exporter", + "homepage": "https://www.github.com/sebastianbergmann/exporter", "keywords": [ "export", "exporter" ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3" + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" }, "funding": [ { @@ -10476,7 +6069,7 @@ "type": "github" } ], - "time": "2020-09-28T05:24:23+00:00" + "time": "2021-11-11T14:18:36+00:00" }, { "name": "sebastian/global-state", @@ -10938,6 +6531,5397 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "silber/bouncer", + "version": "v1.0.0-rc.10", + "source": { + "type": "git", + "url": "https://github.com/JosephSilber/bouncer.git", + "reference": "429262a84414569be2fad1fad417f05d752c075b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JosephSilber/bouncer/zipball/429262a84414569be2fad1fad417f05d752c075b", + "reference": "429262a84414569be2fad1fad417f05d752c075b", + "shasum": "" + }, + "require": { + "illuminate/auth": "^6.0|^7.0|^8.0", + "illuminate/cache": "^6.0|^7.0|^8.0", + "illuminate/container": "^6.0|^7.0|^8.0", + "illuminate/contracts": "^6.0|^7.0|^8.0", + "illuminate/database": "^6.0|^7.0|^8.0", + "php": "^7.2|^8.0" + }, + "require-dev": { + "illuminate/console": "^6.0|^7.0|^8.0", + "illuminate/events": "^6.0|^7.0|^8.0", + "larapack/dd": "^1.1", + "mockery/mockery": "^1.3.3", + "phpunit/phpunit": "^8.0|^9.0" + }, + "suggest": { + "illuminate/console": "Allows running the bouncer:clean artisan command", + "illuminate/events": "Required for multi-tenancy support" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Silber\\Bouncer\\BouncerServiceProvider" + ], + "aliases": { + "Bouncer": "Silber\\Bouncer\\BouncerFacade" + } + } + }, + "autoload": { + "psr-4": { + "Silber\\Bouncer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Joseph Silber", + "email": "contact@josephsilber.com" + } + ], + "description": "Eloquent roles and abilities.", + "keywords": [ + "abilities", + "acl", + "capabilities", + "eloquent", + "laravel", + "permissions", + "roles" + ], + "support": { + "issues": "https://github.com/JosephSilber/bouncer/issues", + "source": "https://github.com/JosephSilber/bouncer/tree/v1.0.0-rc.10" + }, + "time": "2020-12-08T15:31:20+00:00" + }, + { + "name": "spatie/db-dumper", + "version": "2.21.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/db-dumper.git", + "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/db-dumper/zipball/05e5955fb882008a8947c5a45146d86cfafa10d1", + "reference": "05e5955fb882008a8947c5a45146d86cfafa10d1", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "symfony/process": "^4.2|^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\DbDumper\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Dump databases", + "homepage": "https://github.com/spatie/db-dumper", + "keywords": [ + "database", + "db-dumper", + "dump", + "mysqldump", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/db-dumper/issues", + "source": "https://github.com/spatie/db-dumper/tree/2.21.1" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-02-24T14:56:42+00:00" + }, + { + "name": "spatie/dropbox-api", + "version": "1.19.1", + "source": { + "type": "git", + "url": "https://github.com/spatie/dropbox-api.git", + "reference": "0ea6d08445b339241d21b833db111d371e61ed4f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/dropbox-api/zipball/0ea6d08445b339241d21b833db111d371e61ed4f", + "reference": "0ea6d08445b339241d21b833db111d371e61ed4f", + "shasum": "" + }, + "require": { + "graham-campbell/guzzle-factory": "^3.0||^4.0||^5.0", + "guzzlehttp/guzzle": "^6.2||^7.0", + "php": "^7.1||^8.0" + }, + "conflict": { + "guzzlehttp/psr7": "<1.7.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.5.15|^8.5|^9.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Dropbox\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alex Vanderbist", + "email": "alex.vanderbist@gmail.com", + "homepage": "https://spatie.be", + "role": "Developer" + }, + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A minimal implementation of Dropbox API v2", + "homepage": "https://github.com/spatie/dropbox-api", + "keywords": [ + "Dropbox-API", + "api", + "dropbox", + "spatie", + "v2" + ], + "support": { + "issues": "https://github.com/spatie/dropbox-api/issues", + "source": "https://github.com/spatie/dropbox-api/tree/1.19.1" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-07-04T12:13:24+00:00" + }, + { + "name": "spatie/flysystem-dropbox", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/flysystem-dropbox.git", + "reference": "8b6b072f217343b875316ca6a4203dd59f04207a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flysystem-dropbox/zipball/8b6b072f217343b875316ca6a4203dd59f04207a", + "reference": "8b6b072f217343b875316ca6a4203dd59f04207a", + "shasum": "" + }, + "require": { + "league/flysystem": "^1.0.20", + "php": "^7.0 || ^8.0", + "spatie/dropbox-api": "^1.1.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.11 || ^9.4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\FlysystemDropbox\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alex Vanderbist", + "email": "alex.vanderbist@gmail.com", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Flysystem Adapter for the Dropbox v2 API", + "homepage": "https://github.com/spatie/flysystem-dropbox", + "keywords": [ + "Flysystem", + "api", + "dropbox", + "flysystem-dropbox", + "spatie", + "v2" + ], + "support": { + "issues": "https://github.com/spatie/flysystem-dropbox/issues", + "source": "https://github.com/spatie/flysystem-dropbox/tree/1.2.3" + }, + "time": "2020-11-28T22:17:09+00:00" + }, + { + "name": "spatie/image", + "version": "1.10.5", + "source": { + "type": "git", + "url": "https://github.com/spatie/image.git", + "reference": "63a963d0200fb26f2564bf7201fc7272d9b22933" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/image/zipball/63a963d0200fb26f2564bf7201fc7272d9b22933", + "reference": "63a963d0200fb26f2564bf7201fc7272d9b22933", + "shasum": "" + }, + "require": { + "ext-exif": "*", + "ext-json": "*", + "ext-mbstring": "*", + "league/glide": "^1.6", + "php": "^7.2|^8.0", + "spatie/image-optimizer": "^1.1", + "spatie/temporary-directory": "^1.0|^2.0", + "symfony/process": "^3.0|^4.0|^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0|^9.0", + "symfony/var-dumper": "^4.0|^5.0", + "vimeo/psalm": "^4.6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Image\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Manipulate images with an expressive API", + "homepage": "https://github.com/spatie/image", + "keywords": [ + "image", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/image/issues", + "source": "https://github.com/spatie/image/tree/1.10.5" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-04-07T08:42:24+00:00" + }, + { + "name": "spatie/image-optimizer", + "version": "1.5.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/image-optimizer.git", + "reference": "1b3585c3da2cc8872141fce40fbd17e07e6655d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/image-optimizer/zipball/1b3585c3da2cc8872141fce40fbd17e07e6655d1", + "reference": "1b3585c3da2cc8872141fce40fbd17e07e6655d1", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.2|^8.0", + "psr/log": "^1.0 | ^2.0 | ^3.0", + "symfony/process": "^4.2|^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0|^9.0", + "symfony/var-dumper": "^4.2|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ImageOptimizer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Easily optimize images using PHP", + "homepage": "https://github.com/spatie/image-optimizer", + "keywords": [ + "image-optimizer", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/image-optimizer/issues", + "source": "https://github.com/spatie/image-optimizer/tree/1.5.0" + }, + "time": "2021-10-11T15:44:16+00:00" + }, + { + "name": "spatie/laravel-backup", + "version": "6.16.5", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-backup.git", + "reference": "332fae80b12cacb9e4161824ba195d984b28c8fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/332fae80b12cacb9e4161824ba195d984b28c8fb", + "reference": "332fae80b12cacb9e4161824ba195d984b28c8fb", + "shasum": "" + }, + "require": { + "ext-zip": "^1.14.0", + "illuminate/console": "^6.0|^7.0|^8.0", + "illuminate/contracts": "^6.0|^7.0|^8.0", + "illuminate/events": "^6.0|^7.0|^8.0", + "illuminate/filesystem": "^6.0|^7.0|^8.0", + "illuminate/notifications": "^6.0|^7.0|^8.0", + "illuminate/support": "^6.0|^7.0|^8.0", + "league/flysystem": "^1.0.49", + "php": "^7.3|^8.0", + "spatie/db-dumper": "^2.12", + "spatie/temporary-directory": "^1.1", + "symfony/finder": "^4.2|^5.0" + }, + "require-dev": { + "laravel/slack-notification-channel": "^2.3", + "league/flysystem-aws-s3-v3": "^1.0", + "mockery/mockery": "^1.4.2", + "orchestra/testbench": "4.*|5.*|6.*", + "phpunit/phpunit": "^8.4|^9.0" + }, + "suggest": { + "laravel/slack-notification-channel": "Required for sending notifications via Slack" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\Backup\\BackupServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\Backup\\": "src" + }, + "files": [ + "src/Helpers/functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A Laravel package to backup your application", + "homepage": "https://github.com/spatie/laravel-backup", + "keywords": [ + "backup", + "database", + "laravel-backup", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-backup/issues", + "source": "https://github.com/spatie/laravel-backup/tree/6.16.5" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2021-09-12T10:04:18+00:00" + }, + { + "name": "spatie/laravel-medialibrary", + "version": "8.10.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-medialibrary.git", + "reference": "448e8389cadc79f42c3c96c7c9491b57015702d4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-medialibrary/zipball/448e8389cadc79f42c3c96c7c9491b57015702d4", + "reference": "448e8389cadc79f42c3c96c7c9491b57015702d4", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "ext-json": "*", + "illuminate/bus": "^6.18|^7.0|^8.0", + "illuminate/console": "^6.18|^7.0|^8.0", + "illuminate/database": "^6.18|^7.0|^8.0", + "illuminate/pipeline": "^6.18|^7.0|^8.0", + "illuminate/support": "^6.18|^7.0|^8.0", + "league/flysystem": "^1.0.64", + "maennchen/zipstream-php": "^1.0|^2.0", + "php": "^7.4|^8.0", + "spatie/image": "^1.4.0", + "spatie/temporary-directory": "^1.1", + "symfony/console": "^4.4|^5.0" + }, + "conflict": { + "php-ffmpeg/php-ffmpeg": "<0.6.1" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.133.11", + "doctrine/dbal": "^2.5.2", + "ext-pdo_sqlite": "*", + "ext-zip": "*", + "guzzlehttp/guzzle": "^6.3|^7.0", + "league/flysystem-aws-s3-v3": "^1.0.23", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^4.0|^5.0|^6.0", + "php-ffmpeg/php-ffmpeg": "^0.17.0", + "phpunit/phpunit": "^9.1", + "spatie/pdf-to-image": "^2.0", + "spatie/phpunit-snapshot-assertions": "^4.0" + }, + "suggest": { + "league/flysystem-aws-s3-v3": "Required to use AWS S3 file storage", + "php-ffmpeg/php-ffmpeg": "Required for generating video thumbnails", + "spatie/pdf-to-image": "Required for generating thumbsnails of PDFs and SVGs" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\MediaLibrary\\MediaLibraryServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Spatie\\MediaLibrary\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Associate files with Eloquent models", + "homepage": "https://github.com/spatie/laravel-medialibrary", + "keywords": [ + "cms", + "conversion", + "downloads", + "images", + "laravel", + "laravel-medialibrary", + "media", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-medialibrary/issues", + "source": "https://github.com/spatie/laravel-medialibrary/tree/8.10.2" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-05-22T09:23:57+00:00" + }, + { + "name": "spatie/laravel-package-tools", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-package-tools.git", + "reference": "f710fe196c126fb9e0aee67eb5af49ad8f13f528" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f710fe196c126fb9e0aee67eb5af49ad8f13f528", + "reference": "f710fe196c126fb9e0aee67eb5af49ad8f13f528", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^7.0|^8.0", + "php": "^7.4|^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.4", + "orchestra/testbench": "^5.0|^6.0", + "phpunit/phpunit": "^9.3", + "spatie/test-time": "^1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\LaravelPackageTools\\": "src", + "Spatie\\LaravelPackageTools\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "Tools for creating Laravel packages", + "homepage": "https://github.com/spatie/laravel-package-tools", + "keywords": [ + "laravel-package-tools", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-package-tools/issues", + "source": "https://github.com/spatie/laravel-package-tools/tree/1.9.2" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-09-21T13:06:51+00:00" + }, + { + "name": "spatie/temporary-directory", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/temporary-directory.git", + "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/f517729b3793bca58f847c5fd383ec16f03ffec6", + "reference": "f517729b3793bca58f847c5fd383ec16f03ffec6", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\TemporaryDirectory\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alex Vanderbist", + "email": "alex@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "Easily create, use and destroy temporary directories", + "homepage": "https://github.com/spatie/temporary-directory", + "keywords": [ + "php", + "spatie", + "temporary-directory" + ], + "support": { + "issues": "https://github.com/spatie/temporary-directory/issues", + "source": "https://github.com/spatie/temporary-directory/tree/1.3.0" + }, + "time": "2020-11-09T15:54:21+00:00" + }, + { + "name": "swiftmailer/swiftmailer", + "version": "v6.3.0", + "source": { + "type": "git", + "url": "https://github.com/swiftmailer/swiftmailer.git", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.0|^3.1", + "php": ">=7.0.0", + "symfony/polyfill-iconv": "^1.0", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "symfony/phpunit-bridge": "^4.4|^5.4" + }, + "suggest": { + "ext-intl": "Needed to support internationalized email addresses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "lib/swift_required.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Corbyn" + }, + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + } + ], + "description": "Swiftmailer, free feature-rich PHP mailer", + "homepage": "https://swiftmailer.symfony.com", + "keywords": [ + "email", + "mail", + "mailer" + ], + "support": { + "issues": "https://github.com/swiftmailer/swiftmailer/issues", + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "type": "tidelift" + } + ], + "time": "2021-10-18T15:26:12+00:00" + }, + { + "name": "symfony/console", + "version": "v5.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3", + "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.3.10" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-26T09:30:15+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v5.3.4", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "7fb120adc7f600a59027775b224c13a33530dd90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/7fb120adc7f600a59027775b224c13a33530dd90", + "reference": "7fb120adc7f600a59027775b224c13a33530dd90", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v5.3.4" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-21T12:38:00+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321", + "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-28T15:07:08+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "ce7b20d69c66a20939d8952b617506a44d102130" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ce7b20d69c66a20939d8952b617506a44d102130", + "reference": "ce7b20d69c66a20939d8952b617506a44d102130", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-04T21:20:46+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/a10000ada1e600d109a6c7632e9ac42e8bf2fb93", + "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-04T21:20:46+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-11T23:07:08+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "9f34f02e8a5fdc7a56bafe011cea1ce97300e54c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9f34f02e8a5fdc7a56bafe011cea1ce97300e54c", + "reference": "9f34f02e8a5fdc7a56bafe011cea1ce97300e54c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.3.10" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-11T15:41:55+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "703e4079920468e9522b72cf47fd76ce8d795e86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/703e4079920468e9522b72cf47fd76ce8d795e86", + "reference": "703e4079920468e9522b72cf47fd76ce8d795e86", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^5.3.7", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.3", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.3", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.3.10" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-29T08:36:48+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.3.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "a756033d0a7e53db389618653ae991eba5a19a11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/a756033d0a7e53db389618653ae991eba5a19a11", + "reference": "a756033d0a7e53db389618653ae991eba5a19a11", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.3.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-09-10T12:30:38+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "reference": "63b5bb7db83e5673936d6e3b8b3e022ff6474933", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:27:20+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T12:26:48+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:27:20+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T12:26:48+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:17:38+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-28T13:41:28+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "e66119f3de95efc359483f810c4c3e6436279436" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/e66119f3de95efc359483f810c4c3e6436279436", + "reference": "e66119f3de95efc359483f810c4c3e6436279436", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-21T13:25:03+00:00" + }, + { + "name": "symfony/process", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/38f26c7d6ed535217ea393e05634cb0b244a1967", + "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-04T21:20:46+00:00" + }, + { + "name": "symfony/routing", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "be865017746fe869007d94220ad3f5297951811b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/be865017746fe869007d94220ad3f5297951811b", + "reference": "be865017746fe869007d94220ad3f5297951811b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.3", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-04T21:42:42+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-01T10:43:52+00:00" + }, + { + "name": "symfony/string", + "version": "v5.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c", + "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.3.10" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-27T18:21:46+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa", + "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^2.3" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.3" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v5.3.10" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-10T06:43:24+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.3.10", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "875432adb5f5570fff21036fd22aee244636b7d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/875432adb5f5570fff21036fd22aee244636b7d1", + "reference": "875432adb5f5570fff21036fd22aee244636b7d1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.3.10" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-26T09:30:15+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "2.2.3", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/b43b05cf43c1b6d849478965062b6ef73e223bb5", + "reference": "b43b05cf43c1b6d849478965062b6ef73e223bb5", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.3" + }, + "time": "2020-07-13T06:12:54+00:00" + }, + { + "name": "vinkla/hashids", + "version": "9.1.0", + "source": { + "type": "git", + "url": "https://github.com/vinkla/laravel-hashids.git", + "reference": "cb0086db96cdb49816465adc97e3a024c8ee9767" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vinkla/laravel-hashids/zipball/cb0086db96cdb49816465adc97e3a024c8ee9767", + "reference": "cb0086db96cdb49816465adc97e3a024c8ee9767", + "shasum": "" + }, + "require": { + "graham-campbell/manager": "^4.4", + "hashids/hashids": "^4.1", + "illuminate/contracts": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "graham-campbell/analyzer": "^3.0", + "graham-campbell/testbench": "^5.4", + "mockery/mockery": "^1.3", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.1-dev" + }, + "laravel": { + "providers": [ + "Vinkla\\Hashids\\HashidsServiceProvider" + ], + "aliases": { + "Hashids": "Vinkla\\Hashids\\Facades\\Hashids" + } + } + }, + "autoload": { + "psr-4": { + "Vinkla\\Hashids\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Vincent Klaiber", + "email": "hello@doubledip.se" + } + ], + "description": "A Hashids bridge for Laravel", + "keywords": [ + "hashids", + "laravel" + ], + "support": { + "issues": "https://github.com/vinkla/laravel-hashids/issues", + "source": "https://github.com/vinkla/laravel-hashids/tree/9.1.0" + }, + "time": "2020-11-26T19:38:22+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.4.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "d4394d044ed69a8f244f3445bcedf8a0d7fe2403" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/d4394d044ed69a8f244f3445bcedf8a0d7fe2403", + "reference": "d4394d044ed69a8f244f3445bcedf8a0d7fe2403", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.0.2", + "php": "^7.1.3 || ^8.0", + "phpoption/phpoption": "^1.8", + "symfony/polyfill-ctype": "^1.23", + "symfony/polyfill-mbstring": "^1.23.1", + "symfony/polyfill-php80": "^1.23.1" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "ext-filter": "*", + "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.4-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2021-11-10T01:08:39+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "1.5.6", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "80953678b19901e5165c56752d087fc11526017c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", + "reference": "80953678b19901e5165c56752d087fc11526017c", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/1.5.6" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2020-11-12T00:07:28+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, + "time": "2021-03-09T10:59:23+00:00" + } + ], + "packages-dev": [ + { + "name": "barryvdh/laravel-ide-helper", + "version": "v2.10.0", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/laravel-ide-helper.git", + "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/73b1012b927633a1b4cd623c2e6b1678e6faef08", + "reference": "73b1012b927633a1b4cd623c2e6b1678e6faef08", + "shasum": "" + }, + "require": { + "barryvdh/reflection-docblock": "^2.0.6", + "composer/composer": "^1.6 || ^2", + "doctrine/dbal": "^2.6 || ^3", + "ext-json": "*", + "illuminate/console": "^8", + "illuminate/filesystem": "^8", + "illuminate/support": "^8", + "nikic/php-parser": "^4.7", + "php": "^7.3 || ^8.0", + "phpdocumentor/type-resolver": "^1.1.0" + }, + "require-dev": { + "ext-pdo_sqlite": "*", + "friendsofphp/php-cs-fixer": "^2", + "illuminate/config": "^8", + "illuminate/view": "^8", + "mockery/mockery": "^1.4", + "orchestra/testbench": "^6", + "phpunit/phpunit": "^8.5 || ^9", + "spatie/phpunit-snapshot-assertions": "^3 || ^4", + "vimeo/psalm": "^3.12" + }, + "suggest": { + "illuminate/events": "Required for automatic helper generation (^6|^7|^8)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.9-dev" + }, + "laravel": { + "providers": [ + "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Barryvdh\\LaravelIdeHelper\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Barry vd. Heuvel", + "email": "barryvdh@gmail.com" + } + ], + "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.", + "keywords": [ + "autocomplete", + "codeintel", + "helper", + "ide", + "laravel", + "netbeans", + "phpdoc", + "phpstorm", + "sublime" + ], + "support": { + "issues": "https://github.com/barryvdh/laravel-ide-helper/issues", + "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.10.0" + }, + "funding": [ + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2021-04-09T06:17:55+00:00" + }, + { + "name": "barryvdh/reflection-docblock", + "version": "v2.0.6", + "source": { + "type": "git", + "url": "https://github.com/barryvdh/ReflectionDocBlock.git", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "reference": "6b69015d83d3daf9004a71a89f26e27d27ef6a16", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0,<4.5" + }, + "suggest": { + "dflydev/markdown": "~1.0", + "erusev/parsedown": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-0": { + "Barryvdh": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "mike.vanriel@naenius.com" + } + ], + "support": { + "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.0.6" + }, + "time": "2018-12-13T10:34:14+00:00" + }, + { + "name": "beyondcode/laravel-dump-server", + "version": "1.7.0", + "source": { + "type": "git", + "url": "https://github.com/beyondcode/laravel-dump-server.git", + "reference": "e27c7b942ab62f6ac7168359393d328ec5215b89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/beyondcode/laravel-dump-server/zipball/e27c7b942ab62f6ac7168359393d328ec5215b89", + "reference": "e27c7b942ab62f6ac7168359393d328ec5215b89", + "shasum": "" + }, + "require": { + "illuminate/console": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0", + "illuminate/http": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0", + "illuminate/support": "5.6.*|5.7.*|5.8.*|^6.0|^7.0|^8.0", + "php": ">=7.2.5", + "symfony/var-dumper": "^5.0" + }, + "require-dev": { + "larapack/dd": "^1.0", + "phpunit/phpunit": "^7.0|^9.3" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "BeyondCode\\DumpServer\\DumpServerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "BeyondCode\\DumpServer\\": "src" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marcel Pociot", + "email": "marcel@beyondco.de", + "homepage": "https://beyondco.de", + "role": "Developer" + } + ], + "description": "Symfony Var-Dump Server for Laravel", + "homepage": "https://github.com/beyondcode/laravel-dump-server", + "keywords": [ + "beyondcode", + "laravel-dump-server" + ], + "support": { + "issues": "https://github.com/beyondcode/laravel-dump-server/issues", + "source": "https://github.com/beyondcode/laravel-dump-server/tree/1.7.0" + }, + "time": "2020-12-15T10:57:43+00:00" + }, + { + "name": "brianium/paratest", + "version": "v6.3.2", + "source": { + "type": "git", + "url": "https://github.com/paratestphp/paratest.git", + "reference": "5843dced0fb11c67fa3863e9ad40cfc319c32f33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/5843dced0fb11c67fa3863e9ad40cfc319c32f33", + "reference": "5843dced0fb11c67fa3863e9ad40cfc319c32f33", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-simplexml": "*", + "php": "^7.3 || ^8.0", + "phpunit/php-code-coverage": "^9.2.7", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-timer": "^5.0.3", + "phpunit/phpunit": "^9.5.10", + "sebastian/environment": "^5.1.3", + "symfony/console": "^4.4.30 || ^5.3.7", + "symfony/process": "^4.4.30 || ^5.3.7" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0.0", + "ekino/phpstan-banned-code": "^0.5.0", + "ergebnis/phpstan-rules": "^0.15.3", + "ext-posix": "*", + "infection/infection": "^0.25.3", + "phpstan/phpstan": "^0.12.99", + "phpstan/phpstan-deprecation-rules": "^0.12.6", + "phpstan/phpstan-phpunit": "^0.12.22", + "phpstan/phpstan-strict-rules": "^0.12.11", + "squizlabs/php_codesniffer": "^3.6.0", + "symfony/filesystem": "^5.3.4", + "thecodingmachine/phpstan-strict-rules": "^0.12.1", + "vimeo/psalm": "^4.10.0" + }, + "bin": [ + "bin/paratest" + ], + "type": "library", + "autoload": { + "psr-4": { + "ParaTest\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Scaturro", + "email": "scaturrob@gmail.com", + "role": "Developer" + }, + { + "name": "Filippo Tessarotto", + "email": "zoeslam@gmail.com", + "role": "Developer" + } + ], + "description": "Parallel testing for PHP", + "homepage": "https://github.com/paratestphp/paratest", + "keywords": [ + "concurrent", + "parallel", + "phpunit", + "testing" + ], + "support": { + "issues": "https://github.com/paratestphp/paratest/issues", + "source": "https://github.com/paratestphp/paratest/tree/v6.3.2" + }, + "funding": [ + { + "url": "https://github.com/sponsors/Slamdunk", + "type": "github" + }, + { + "url": "https://paypal.me/filippotessarotto", + "type": "paypal" + } + ], + "time": "2021-11-03T10:16:06+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", + "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "psr/log": "^1.0", + "symfony/phpunit-bridge": "^4.2 || ^5", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.3.1" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-10-28T20:44:15+00:00" + }, + { + "name": "composer/composer", + "version": "2.1.12", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "6e3c2b122e0ec41a7e885fcaf19fa15e2e0819a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/6e3c2b122e0ec41a7e885fcaf19fa15e2e0819a0", + "reference": "6e3c2b122e0ec41a7e885fcaf19fa15e2e0819a0", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/metadata-minifier": "^1.0", + "composer/semver": "^3.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^2.0", + "justinrainbow/json-schema": "^5.2.11", + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0 || ^2.0", + "react/promise": "^1.2 || ^2.7", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", + "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", + "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", + "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" + }, + "require-dev": { + "phpspec/prophecy": "^1.10", + "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.1-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "https://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/composer/issues", + "source": "https://github.com/composer/composer/tree/2.1.12" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-11-09T15:02:04+00:00" + }, + { + "name": "composer/metadata-minifier", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/composer/metadata-minifier.git", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "composer/composer": "^2", + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\MetadataMinifier\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Small utility library that handles metadata minification and expansion.", + "keywords": [ + "composer", + "compression" + ], + "support": { + "issues": "https://github.com/composer/metadata-minifier/issues", + "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-04-07T13:37:33+00:00" + }, + { + "name": "composer/semver", + "version": "3.2.6", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "83e511e247de329283478496f7a1e114c9517506" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/83e511e247de329283478496f7a1e114c9517506", + "reference": "83e511e247de329283478496f7a1e114c9517506", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.54", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.2.6" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-10-25T11:34:17+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.5", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "de30328a7af8680efdc03e396aad24befd513200" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/de30328a7af8680efdc03e396aad24befd513200", + "reference": "de30328a7af8680efdc03e396aad24befd513200", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/spdx-licenses/issues", + "source": "https://github.com/composer/spdx-licenses/tree/1.5.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-12-03T16:04:16+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/84674dd3a7575ba617f5a76d7e9e29a7d3891339", + "reference": "84674dd3a7575ba617f5a76d7e9e29a7d3891339", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/2.0.2" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-07-31T17:03:58+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.13.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "5b668aef16090008790395c02c893b1ba13f7e08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08", + "reference": "5b668aef16090008790395c02c893b1ba13f7e08", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/coding-standard": "^6.0 || ^8.1", + "phpstan/phpstan": "^0.12.20", + "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", + "symfony/cache": "^4.4 || ^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.13.2" + }, + "time": "2021-08-05T19:00:23+00:00" + }, + { + "name": "facade/flare-client-php", + "version": "1.9.1", + "source": { + "type": "git", + "url": "https://github.com/facade/flare-client-php.git", + "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/flare-client-php/zipball/b2adf1512755637d0cef4f7d1b54301325ac78ed", + "reference": "b2adf1512755637d0cef4f7d1b54301325ac78ed", + "shasum": "" + }, + "require": { + "facade/ignition-contracts": "~1.0", + "illuminate/pipeline": "^5.5|^6.0|^7.0|^8.0", + "php": "^7.1|^8.0", + "symfony/http-foundation": "^3.3|^4.1|^5.0", + "symfony/mime": "^3.4|^4.0|^5.1", + "symfony/var-dumper": "^3.4|^4.0|^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "phpunit/phpunit": "^7.5.16", + "spatie/phpunit-snapshot-assertions": "^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Facade\\FlareClient\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/facade/flare-client-php", + "keywords": [ + "exception", + "facade", + "flare", + "reporting" + ], + "support": { + "issues": "https://github.com/facade/flare-client-php/issues", + "source": "https://github.com/facade/flare-client-php/tree/1.9.1" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-09-13T12:16:46+00:00" + }, + { + "name": "facade/ignition", + "version": "2.16.0", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition.git", + "reference": "23400e6cc565c9dcae2c53704b4de1c4870c0697" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition/zipball/23400e6cc565c9dcae2c53704b4de1c4870c0697", + "reference": "23400e6cc565c9dcae2c53704b4de1c4870c0697", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "facade/flare-client-php": "^1.9.1", + "facade/ignition-contracts": "^1.0.2", + "illuminate/support": "^7.0|^8.0", + "monolog/monolog": "^2.0", + "php": "^7.2.5|^8.0", + "symfony/console": "^5.0", + "symfony/var-dumper": "^5.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.14", + "mockery/mockery": "^1.3", + "orchestra/testbench": "^5.0|^6.0", + "psalm/plugin-laravel": "^1.2" + }, + "suggest": { + "laravel/telescope": "^3.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Facade\\Ignition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Facade\\Ignition\\Facades\\Flare" + } + } + }, + "autoload": { + "psr-4": { + "Facade\\Ignition\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://github.com/facade/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/facade/ignition/issues", + "source": "https://github.com/facade/ignition" + }, + "time": "2021-10-28T11:47:23+00:00" + }, + { + "name": "facade/ignition-contracts", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/facade/ignition-contracts.git", + "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", + "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v2.15.8", + "phpunit/phpunit": "^9.3.11", + "vimeo/psalm": "^3.17.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Facade\\IgnitionContracts\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://flareapp.io", + "role": "Developer" + } + ], + "description": "Solution contracts for Ignition", + "homepage": "https://github.com/facade/ignition-contracts", + "keywords": [ + "contracts", + "flare", + "ignition" + ], + "support": { + "issues": "https://github.com/facade/ignition-contracts/issues", + "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" + }, + "time": "2020-10-16T08:27:54+00:00" + }, + { + "name": "fakerphp/faker", + "version": "v1.9.2", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "84220cf137a9344acffb10374e781fed785ff307" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/84220cf137a9344acffb10374e781fed785ff307", + "reference": "84220cf137a9344acffb10374e781fed785ff307", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0" + }, + "conflict": { + "ergebnis/faker": "!=1.9.2", + "fzaninotto/faker": "!=1.9.2" + }, + "replace": { + "ergebnis/faker": "1.9.2", + "fzaninotto/faker": "1.9.2" + }, + "require-dev": { + "ext-intl": "*", + "phpunit/phpunit": "^4.8.35 || ^5.7", + "squizlabs/php_codesniffer": "^2.9.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.9.2" + }, + "time": "2020-12-11T14:32:13+00:00" + }, + { + "name": "filp/whoops", + "version": "2.14.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "f056f1fe935d9ed86e698905a957334029899895" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/f056f1fe935d9ed86e698905a957334029899895", + "reference": "f056f1fe935d9ed86e698905a957334029899895", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.14.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2021-10-03T12:00:00+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v3.2.1", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", + "reference": "13ae36a76b6e329e44ca3cafaa784ea02db9ff14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/13ae36a76b6e329e44ca3cafaa784ea02db9ff14", + "reference": "13ae36a76b6e329e44ca3cafaa784ea02db9ff14", + "shasum": "" + }, + "require": { + "composer/semver": "^3.2", + "composer/xdebug-handler": "^2.0", + "doctrine/annotations": "^1.12", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "php-cs-fixer/diff": "^2.0", + "symfony/console": "^4.4.20 || ^5.1.3", + "symfony/event-dispatcher": "^4.4.20 || ^5.0", + "symfony/filesystem": "^4.4.20 || ^5.0", + "symfony/finder": "^4.4.20 || ^5.0", + "symfony/options-resolver": "^4.4.20 || ^5.0", + "symfony/polyfill-php72": "^1.23", + "symfony/polyfill-php80": "^1.23", + "symfony/polyfill-php81": "^1.23", + "symfony/process": "^4.4.20 || ^5.0", + "symfony/stopwatch": "^4.4.20 || ^5.0" + }, + "require-dev": { + "justinrainbow/json-schema": "^5.2", + "keradus/cli-executor": "^1.5", + "mikey179/vfsstream": "^1.6.8", + "php-coveralls/php-coveralls": "^2.4.3", + "php-cs-fixer/accessible-object": "^1.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", + "phpspec/prophecy": "^1.10.3", + "phpspec/prophecy-phpunit": "^1.1 || ^2.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5", + "phpunitgoodpractices/polyfill": "^1.5", + "phpunitgoodpractices/traits": "^1.9.1", + "symfony/phpunit-bridge": "^5.2.4", + "symfony/yaml": "^4.4.20 || ^5.0" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters.", + "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "support": { + "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", + "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.2.1" + }, + "funding": [ + { + "url": "https://github.com/keradus", + "type": "github" + } + ], + "time": "2021-10-05T08:12:17+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.11", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ab6744b7296ded80f8cc4f9509abbff393399aa", + "reference": "2ab6744b7296ded80f8cc4f9509abbff393399aa", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "support": { + "issues": "https://github.com/justinrainbow/json-schema/issues", + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.11" + }, + "time": "2021-07-22T09:24:00+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v5.10.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "3004cfa49c022183395eabc6d0e5207dfe498d00" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/3004cfa49c022183395eabc6d0e5207dfe498d00", + "reference": "3004cfa49c022183395eabc6d0e5207dfe498d00", + "shasum": "" + }, + "require": { + "facade/ignition-contracts": "^1.0", + "filp/whoops": "^2.14.3", + "php": "^7.3 || ^8.0", + "symfony/console": "^5.0" + }, + "require-dev": { + "brianium/paratest": "^6.1", + "fideloper/proxy": "^4.4.1", + "fruitcake/laravel-cors": "^2.0.3", + "laravel/framework": "8.x-dev", + "nunomaduro/larastan": "^0.6.2", + "nunomaduro/mock-final-classes": "^1.0", + "orchestra/testbench": "^6.0", + "phpstan/phpstan": "^0.12.64", + "phpunit/phpunit": "^9.5.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-09-20T15:06:32+00:00" + }, + { + "name": "pestphp/pest", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest.git", + "reference": "ba06c5a76d95bbdef93aa4e05b489c3335b6c8c1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest/zipball/ba06c5a76d95bbdef93aa4e05b489c3335b6c8c1", + "reference": "ba06c5a76d95bbdef93aa4e05b489c3335b6c8c1", + "shasum": "" + }, + "require": { + "nunomaduro/collision": "^5.4.0|^6.0", + "pestphp/pest-plugin": "^1.0.0", + "php": "^7.3 || ^8.0", + "phpunit/phpunit": "^9.5.5" + }, + "require-dev": { + "illuminate/console": "^8.47.0", + "illuminate/support": "^8.47.0", + "laravel/dusk": "^6.15.0", + "pestphp/pest-dev-tools": "dev-master", + "pestphp/pest-plugin-parallel": "^1.0" + }, + "bin": [ + "bin/pest" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "pest": { + "plugins": [ + "Pest\\Plugins\\Coverage", + "Pest\\Plugins\\Init", + "Pest\\Plugins\\Version", + "Pest\\Plugins\\Environment" + ] + }, + "laravel": { + "providers": [ + "Pest\\Laravel\\PestServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Pest\\": "src/" + }, + "files": [ + "src/Functions.php", + "src/Pest.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An elegant PHP Testing Framework.", + "keywords": [ + "framework", + "pest", + "php", + "test", + "testing", + "unit" + ], + "support": { + "issues": "https://github.com/pestphp/pest/issues", + "source": "https://github.com/pestphp/pest/tree/v1.20.0" + }, + "funding": [ + { + "url": "https://github.com/lukeraymonddowning", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/octoper", + "type": "github" + }, + { + "url": "https://github.com/olivernybroe", + "type": "github" + }, + { + "url": "https://github.com/owenvoke", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-09-25T12:52:12+00:00" + }, + { + "name": "pestphp/pest-plugin", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin.git", + "reference": "fc8519de148699fe612d9c669be60554cd2db4fa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/fc8519de148699fe612d9c669be60554cd2db4fa", + "reference": "fc8519de148699fe612d9c669be60554cd2db4fa", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1 || ^2.0", + "php": "^7.3 || ^8.0" + }, + "conflict": { + "pestphp/pest": "<1.0" + }, + "require-dev": { + "composer/composer": "^1.10.19", + "pestphp/pest": "^1.0", + "pestphp/pest-dev-tools": "dev-master" + }, + "type": "composer-plugin", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "class": "Pest\\Plugin\\Manager" + }, + "autoload": { + "psr-4": { + "Pest\\Plugin\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Pest plugin manager", + "keywords": [ + "framework", + "manager", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin/tree/v1.0.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-01-03T15:53:42+00:00" + }, + { + "name": "pestphp/pest-plugin-faker", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-faker.git", + "reference": "9d93419f1f47ffd856ee544317b2f9144a129044" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-faker/zipball/9d93419f1f47ffd856ee544317b2f9144a129044", + "reference": "9d93419f1f47ffd856ee544317b2f9144a129044", + "shasum": "" + }, + "require": { + "fakerphp/faker": "^1.9.1", + "pestphp/pest": "^1.0", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "pestphp/pest-dev-tools": "dev-master" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Pest\\Faker\\": "src/" + }, + "files": [ + "src/Faker.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Pest Faker Plugin", + "keywords": [ + "faker", + "framework", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin-faker/tree/v1.0.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-01-03T15:42:35+00:00" + }, + { + "name": "pestphp/pest-plugin-laravel", + "version": "v1.1.0", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-laravel.git", + "reference": "bacc1ef1f537cf9adf692b6930e54f607ae530ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/bacc1ef1f537cf9adf692b6930e54f607ae530ad", + "reference": "bacc1ef1f537cf9adf692b6930e54f607ae530ad", + "shasum": "" + }, + "require": { + "laravel/framework": "^7.0 || ^8.0", + "pestphp/pest": "^1.7", + "php": "^7.3 || ^8.0" + }, + "require-dev": { + "orchestra/testbench": "^5.12.1 || ^6.7.2", + "pestphp/pest-dev-tools": "dev-master" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Pest\\Laravel\\": "src/" + }, + "files": [ + "src/Autoload.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Pest Laravel Plugin", + "keywords": [ + "framework", + "laravel", + "pest", + "php", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v1.1.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-07-07T09:11:42+00:00" + }, + { + "name": "pestphp/pest-plugin-parallel", + "version": "v0.2.1", + "source": { + "type": "git", + "url": "https://github.com/pestphp/pest-plugin-parallel.git", + "reference": "6da63df8878cc279b0ff78aa78a1c5f04f054677" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pestphp/pest-plugin-parallel/zipball/6da63df8878cc279b0ff78aa78a1c5f04f054677", + "reference": "6da63df8878cc279b0ff78aa78a1c5f04f054677", + "shasum": "" + }, + "require": { + "brianium/paratest": "^6.3", + "pestphp/pest-plugin": "^1.0", + "php": "^7.3 || ^8.0" + }, + "conflict": { + "laravel/framework": "<8.55", + "nunomaduro/collision": "<5.8", + "pestphp/pest": "<1.16" + }, + "require-dev": { + "pestphp/pest": "dev-master", + "pestphp/pest-dev-tools": "dev-master" + }, + "type": "library", + "extra": { + "pest": { + "plugins": [ + "Pest\\Parallel\\Plugin" + ] + }, + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Pest\\Parallel\\": "src/" + }, + "exclude-from-classmap": [ + "ParaTest\\Runners\\PHPUnit\\Worker\\RunnerWorker", + "ParaTest\\Runners\\PHPUnit\\BaseRunner" + ], + "files": [ + "src/Autoload.php", + "build/RunnerWorker.php", + "build/BaseRunner.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "The Pest Parallel Plugin", + "keywords": [ + "framework", + "parallel", + "pest", + "php", + "plugin", + "test", + "testing", + "unit" + ], + "support": { + "source": "https://github.com/pestphp/pest-plugin-parallel/tree/v0.2.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L", + "type": "custom" + }, + { + "url": "https://github.com/lukeraymonddowning", + "type": "github" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/octoper", + "type": "github" + }, + { + "url": "https://github.com/olivernybroe", + "type": "github" + }, + { + "url": "https://github.com/owenvoke", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2021-08-25T11:03:56+00:00" + }, + { + "name": "php-cs-fixer/diff", + "version": "v2.0.2", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/diff.git", + "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/29dc0d507e838c4580d018bd8b5cb412474f7ec3", + "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3 || ^7.0", + "symfony/process": "^3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "sebastian/diff v3 backport support for PHP 5.6+", + "homepage": "https://github.com/PHP-CS-Fixer", + "keywords": [ + "diff" + ], + "support": { + "issues": "https://github.com/PHP-CS-Fixer/diff/issues", + "source": "https://github.com/PHP-CS-Fixer/diff/tree/v2.0.2" + }, + "time": "2020-10-14T08:32:19+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/master" + }, + "time": "2016-08-06T20:24:11+00:00" + }, + { + "name": "react/promise", + "version": "v2.8.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "reference": "f3cff96a19736714524ca0dd1d4130de73dbbbc4", + "shasum": "" + }, + "require": { + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^7.0 || ^6.5 || ^5.7 || ^4.8.36" + }, + "type": "library", + "autoload": { + "psr-4": { + "React\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v2.8.0" + }, + "time": "2020-05-12T15:16:56+00:00" + }, { "name": "seld/jsonlint", "version": "1.8.3", @@ -11003,16 +11987,16 @@ }, { "name": "seld/phar-utils", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796" + "reference": "749042a2315705d2dfbbc59234dd9ceb22bf3ff0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8674b1d84ffb47cc59a101f5d5a3b61e87d23796", - "reference": "8674b1d84ffb47cc59a101f5d5a3b61e87d23796", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/749042a2315705d2dfbbc59234dd9ceb22bf3ff0", + "reference": "749042a2315705d2dfbbc59234dd9ceb22bf3ff0", "shasum": "" }, "require": { @@ -11045,27 +12029,28 @@ ], "support": { "issues": "https://github.com/Seldaek/phar-utils/issues", - "source": "https://github.com/Seldaek/phar-utils/tree/master" + "source": "https://github.com/Seldaek/phar-utils/tree/1.1.2" }, - "time": "2020-07-07T18:42:57+00:00" + "time": "2021-08-19T21:01:38+00:00" }, { "name": "symfony/filesystem", - "version": "v5.3.0", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "348116319d7fb7d1faa781d26a48922428013eb2" + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/348116319d7fb7d1faa781d26a48922428013eb2", - "reference": "348116319d7fb7d1faa781d26a48922428013eb2", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/343f4fe324383ca46792cae728a3b6e2f708fb32", + "reference": "343f4fe324383ca46792cae728a3b6e2f708fb32", "shasum": "" }, "require": { "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -11093,7 +12078,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.3.0" + "source": "https://github.com/symfony/filesystem/tree/v5.3.4" }, "funding": [ { @@ -11109,27 +12094,27 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:43:10+00:00" + "time": "2021-07-21T12:40:44+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.3.0", + "version": "v5.3.7", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "162e886ca035869866d233a2bfef70cc28f9bbe5" + "reference": "4b78e55b179003a42523a362cc0e8327f7a69b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/162e886ca035869866d233a2bfef70cc28f9bbe5", - "reference": "162e886ca035869866d233a2bfef70cc28f9bbe5", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/4b78e55b179003a42523a362cc0e8327f7a69b5e", + "reference": "4b78e55b179003a42523a362cc0e8327f7a69b5e", "shasum": "" }, "require": { "php": ">=7.2.5", "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-php73": "~1.0", - "symfony/polyfill-php80": "^1.15" + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -11162,7 +12147,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.3.0" + "source": "https://github.com/symfony/options-resolver/tree/v5.3.7" }, "funding": [ { @@ -11178,20 +12163,20 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:43:10+00:00" + "time": "2021-08-04T21:20:46+00:00" }, { "name": "symfony/stopwatch", - "version": "v5.3.0", + "version": "v5.3.4", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "313d02f59d6543311865007e5ff4ace05b35ee65" + "reference": "b24c6a92c6db316fee69e38c80591e080e41536c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/313d02f59d6543311865007e5ff4ace05b35ee65", - "reference": "313d02f59d6543311865007e5ff4ace05b35ee65", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/b24c6a92c6db316fee69e38c80591e080e41536c", + "reference": "b24c6a92c6db316fee69e38c80591e080e41536c", "shasum": "" }, "require": { @@ -11224,7 +12209,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.3.0" + "source": "https://github.com/symfony/stopwatch/tree/v5.3.4" }, "funding": [ { @@ -11240,57 +12225,7 @@ "type": "tidelift" } ], - "time": "2021-05-26T17:43:10+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "75a63c33a8577608444246075ea0af0d052e452a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", - "reference": "75a63c33a8577608444246075ea0af0d052e452a", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/master" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2020-07-12T23:59:07+00:00" + "time": "2021-07-10T08:58:57+00:00" } ], "aliases": [], @@ -11302,5 +12237,5 @@ "php": "^7.4 || ^8.0" }, "platform-dev": [], - "plugin-api-version": "2.1.0" + "plugin-api-version": "2.0.0" } diff --git a/config/abilities.php b/config/abilities.php new file mode 100644 index 00000000..278050ad --- /dev/null +++ b/config/abilities.php @@ -0,0 +1,420 @@ + [ + + // Customer + [ + "name" => "view customer", + "ability" => "view-customer", + "model" => Customer::class, + ], + [ + "name" => "create customer", + "ability" => "create-customer", + "model" => Customer::class, + "depends_on" => [ + 'view-customer', + 'view-custom-field', + ] + ], + [ + "name" => "edit customer", + "ability" => "edit-customer", + "model" => Customer::class, + "depends_on" => [ + 'view-customer', + 'view-custom-field', + ] + ], + [ + "name" => "delete customer", + "ability" => "delete-customer", + "model" => Customer::class, + "depends_on" => [ + 'view-customer', + ] + ], + + // Item + [ + "name" => "view item", + "ability" => "view-item", + "model" => Item::class, + ], + [ + "name" => "create item", + "ability" => "create-item", + "model" => Item::class, + "depends_on" => [ + 'view-item', + 'view-tax-type' + ] + ], + [ + "name" => "edit item", + "ability" => "edit-item", + "model" => Item::class, + "depends_on" => [ + 'view-item', + ] + ], + [ + "name" => "delete item", + "ability" => "delete-item", + "model" => Item::class, + "depends_on" => [ + 'view-item', + ] + ], + + // Tax Type + [ + "name" => "view tax type", + "ability" => "view-tax-type", + "model" => TaxType::class, + ], + [ + "name" => "create tax type", + "ability" => "create-tax-type", + "model" => TaxType::class, + "depends_on" => [ + 'view-tax-type', + ] + ], + [ + "name" => "edit tax type", + "ability" => "edit-tax-type", + "model" => TaxType::class, + "depends_on" => [ + 'view-tax-type', + ] + ], + [ + "name" => "delete tax type", + "ability" => "delete-tax-type", + "model" => TaxType::class, + "depends_on" => [ + 'view-tax-type', + ] + ], + + // Estimate + [ + "name" => "view estimate", + "ability" => "view-estimate", + "model" => Estimate::class, + ], + [ + "name" => "create estimate", + "ability" => "create-estimate", + "model" => Estimate::class, + "depends_on" => [ + 'view-estimate', + 'view-item', + 'view-tax-type', + 'view-customer', + 'view-custom-field', + 'view-all-notes' + ] + ], + [ + "name" => "edit estimate", + "ability" => "edit-estimate", + "model" => Estimate::class, + "depends_on" => [ + 'view-item', + 'view-estimate', + 'view-tax-type', + 'view-customer', + 'view-custom-field', + 'view-all-notes' + ] + ], + [ + "name" => "delete estimate", + "ability" => "delete-estimate", + "model" => Estimate::class, + "depends_on" => [ + 'view-estimate', + ] + ], + [ + "name" => "send estimate", + "ability" => "send-estimate", + "model" => Estimate::class, + ], + + // Invoice + [ + "name" => "view invoice", + "ability" => "view-invoice", + "model" => Invoice::class, + ], + [ + "name" => "create invoice", + "ability" => "create-invoice", + "model" => Invoice::class, + 'owner_only' => false, + "depends_on" => [ + 'view-item', + 'view-invoice', + 'view-tax-type', + 'view-customer', + 'view-custom-field', + 'view-all-notes' + ] + ], + [ + "name" => "edit invoice", + "ability" => "edit-invoice", + "model" => Invoice::class, + "depends_on" => [ + 'view-item', + 'view-invoice', + 'view-tax-type', + 'view-customer', + 'view-custom-field', + 'view-all-notes' + ] + ], + [ + "name" => "delete invoice", + "ability" => "delete-invoice", + "model" => Invoice::class, + "depends_on" => [ + 'view-invoice' + ] + ], + [ + "name" => "send invoice", + "ability" => "send-invoice", + "model" => Invoice::class, + ], + + // Recurring Invoice + [ + "name" => "view recurring invoice", + "ability" => "view-recurring-invoice", + "model" => RecurringInvoice::class, + ], + [ + "name" => "create recurring invoice", + "ability" => "create-recurring-invoice", + "model" => RecurringInvoice::class, + "depends_on" => [ + 'view-item', + 'view-recurring-invoice', + 'view-tax-type', + 'view-customer', + 'view-all-notes', + 'send-invoice' + ] + ], + [ + "name" => "edit recurring invoice", + "ability" => "edit-recurring-invoice", + "model" => RecurringInvoice::class, + "depends_on" => [ + 'view-item', + 'view-recurring-invoice', + 'view-tax-type', + 'view-customer', + 'view-all-notes', + 'send-invoice' + ] + ], + [ + "name" => "delete recurring invoice", + "ability" => "delete-recurring-invoice", + "model" => RecurringInvoice::class, + "depends_on" => [ + 'view-recurring-invoice', + ] + ], + + // Payment + [ + "name" => "view payment", + "ability" => "view-payment", + "model" => Payment::class, + ], + [ + "name" => "create payment", + "ability" => "create-payment", + "model" => Payment::class, + "depends_on" => [ + 'view-customer', + 'view-payment', + 'view-invoice', + 'view-custom-field', + 'view-all-notes' + ] + ], + [ + "name" => "edit payment", + "ability" => "edit-payment", + "model" => Payment::class, + "depends_on" => [ + 'view-customer', + 'view-payment', + 'view-invoice', + 'view-custom-field', + 'view-all-notes' + ] + ], + [ + "name" => "delete payment", + "ability" => "delete-payment", + "model" => Payment::class, + "depends_on" => [ + 'view-payment', + ] + ], + [ + "name" => "send payment", + "ability" => "send-payment", + "model" => Payment::class, + ], + + // Expense + [ + "name" => "view expense", + "ability" => "view-expense", + "model" => Expense::class, + ], + [ + "name" => "create expense", + "ability" => "create-expense", + "model" => Expense::class, + "depends_on" => [ + 'view-customer', + 'view-expense', + 'view-custom-field', + ] + ], + [ + "name" => "edit expense", + "ability" => "edit-expense", + "model" => Expense::class, + "depends_on" => [ + 'view-customer', + 'view-expense', + 'view-custom-field', + ] + ], + [ + "name" => "delete expense", + "ability" => "delete-expense", + "model" => Expense::class, + "depends_on" => [ + 'view-expense', + ] + ], + + // Custom Field + [ + "name" => "view custom field", + "ability" => "view-custom-field", + "model" => CustomField::class, + ], + [ + "name" => "create custom field", + "ability" => "create-custom-field", + "model" => CustomField::class, + "depends_on" => [ + 'view-custom-field', + ] + ], + [ + "name" => "edit custom field", + "ability" => "edit-custom-field", + "model" => CustomField::class, + "depends_on" => [ + 'view-custom-field', + ] + ], + [ + "name" => "delete custom field", + "ability" => "delete-custom-field", + "model" => CustomField::class, + "depends_on" => [ + 'view-custom-field', + ] + ], + + // Financial Reports + [ + "name" => "view financial reports", + "ability" => "view-financial-reports", + "model" => null, + ], + + // Exchange Rate Provider + [ + "name" => "view exchange rate provider", + "ability" => "view-exchange-rate-provider", + "model" => ExchangeRateProvider::class, + 'owner_only' => false, + ], + [ + "name" => "create exchange rate provider", + "ability" => "create-exchange-rate-provider", + "model" => ExchangeRateProvider::class, + 'owner_only' => false, + "depends_on" => [ + 'view-exchange-rate-provider', + ] + ], + [ + "name" => "edit exchange rate provider", + "ability" => "edit-exchange-rate-provider", + "model" => ExchangeRateProvider::class, + 'owner_only' => false, + "depends_on" => [ + 'view-exchange-rate-provider', + ] + ], + [ + "name" => "delete exchange rate provider", + "ability" => "delete-exchange-rate-provider", + "model" => ExchangeRateProvider::class, + 'owner_only' => false, + "depends_on" => [ + 'view-exchange-rate-provider', + ] + ], + + // Settings + [ + "name" => "view company dashboard", + "ability" => "dashboard", + "model" => null, + ], + [ + "name" => "view all notes", + "ability" => "view-all-notes", + "model" => Note::class, + ], + [ + "name" => "manage notes", + "ability" => "manage-all-notes", + "model" => Note::class, + "depends_on" => [ + 'view-all-notes' + ] + ] + ] +]; diff --git a/config/app.php b/config/app.php index 89e4ed1c..51c45a92 100644 --- a/config/app.php +++ b/config/app.php @@ -157,6 +157,7 @@ return [ Illuminate\Translation\TranslationServiceProvider::class, Illuminate\Validation\ValidationServiceProvider::class, Illuminate\View\ViewServiceProvider::class, + Lavary\Menu\ServiceProvider::class, /* * Application Service Providers... @@ -219,5 +220,6 @@ return [ 'Flash' => Laracasts\Flash\Flash::class, // 'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class, 'Pusher' => Pusher\Pusher::class, + 'Menu' => Lavary\Menu\Facade::class ], ]; diff --git a/config/auth.php b/config/auth.php index c562337e..1bf00be7 100644 --- a/config/auth.php +++ b/config/auth.php @@ -46,6 +46,12 @@ return [ 'provider' => 'users', 'hash' => false, ], + + 'customer' => [ + 'driver' => 'sanctum', + 'provider' => 'customers', + 'hash' => false, + ], ], /* @@ -71,10 +77,10 @@ return [ 'model' => \Crater\Models\User::class, ], - // 'users' => [ - // 'driver' => 'database', - // 'table' => 'users', - // ], + 'customers' => [ + 'driver' => 'eloquent', + 'model' => \Crater\Models\Customer::class, + ], ], /* @@ -99,6 +105,13 @@ return [ 'expire' => 60, 'throttle' => 60, ], + + 'customers' => [ + 'provider' => 'customers', + 'table' => 'password_resets', + 'expire' => 60, + 'throttle' => 60, + ], ], /* diff --git a/config/crater.php b/config/crater.php index 4bae37ff..0a98bfab 100644 --- a/config/crater.php +++ b/config/crater.php @@ -1,5 +1,17 @@ 'november-october' , 'value' => '11-10'], ['key' => 'december-november', 'value' => '12-11'], ], + + /* + * List of convert estimate options + */ + 'convert_estimate_options' => [ + ['key' => 'settings.preferences.no_action', 'value' => 'no_action'], + ['key' => 'settings.preferences.delete_estimate', 'value' => 'delete_estimate'], + ['key' => 'settings.preferences.mark_estimate_as_accepted', 'value' => 'mark_estimate_as_accepted'], + ], + + /* + * List of retrospective edits + */ + 'retrospective_edits' => [ + ['key' => 'settings.preferences.allow', 'value' => 'allow'], + ['key' => 'settings.preferences.disable_on_invoice_partial_paid', 'value' => 'disable_on_invoice_partial_paid'], + ['key' => 'settings.preferences.disable_on_invoice_paid', 'value' => 'disable_on_invoice_paid'], + ['key' => 'settings.preferences.disable_on_invoice_sent', 'value' => 'disable_on_invoice_sent'], + ], + + /* + * List of setting menu + */ + 'setting_menu' => [ + [ + 'title' => 'settings.menu_title.account_settings', + 'group' => '', + 'name' => 'Account Settings', + 'link' => '/admin/settings/account-settings', + 'icon' => 'UserIcon', + 'owner_only' => false, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.company_information', + 'group' => '', + 'name' => 'Company information', + 'link' => '/admin/settings/company-info', + 'icon' => 'OfficeBuildingIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.preferences', + 'group' => '', + 'name' => 'Preferences', + 'link' => '/admin/settings/preferences', + 'icon' => 'CogIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.customization', + 'group' => '', + 'name' => 'Customization', + 'link' => '/admin/settings/customization', + 'icon' => 'PencilAltIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.roles.title', + 'group' => '', + 'name' => 'Roles', + 'link' => '/admin/settings/roles-settings', + 'icon' => 'UserGroupIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.exchange_rate', + 'group' => '', + 'name' => 'Exchange Rate Provider', + 'link' => '/admin/settings/exchange-rate-provider', + 'icon' => 'CashIcon', + 'owner_only' => false, + 'ability' => 'view-exchange-rate-provider', + 'model' => ExchangeRateProvider::class + ], + [ + 'title' => 'settings.menu_title.notifications', + 'group' => '', + 'name' => 'Notifications', + 'link' => '/admin/settings/notifications', + 'icon' => 'BellIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.tax_types', + 'group' => '', + 'name' => 'Tax types', + 'link' => '/admin/settings/tax-types', + 'icon' => 'CheckCircleIcon', + 'owner_only' => false, + 'ability' => 'view-tax-type', + 'model' => TaxType::class + ], + [ + 'title' => 'settings.menu_title.payment_modes', + 'group' => '', + 'name' => 'Payment modes', + 'link' => '/admin/settings/payment-mode', + 'icon' => 'CreditCardIcon', + 'owner_only' => false, + 'ability' => 'view-payment', + 'model' => Payment::class + ], + [ + 'title' => 'settings.menu_title.custom_fields', + 'group' => '', + 'name' => 'Custom fields', + 'link' => '/admin/settings/custom-fields', + 'icon' => 'CubeIcon', + 'owner_only' => false, + 'ability' => 'view-custom-field', + 'model' => CustomField::class + ], + [ + 'title' => 'settings.menu_title.notes', + 'group' => '', + 'name' => 'Notes', + 'link' => '/admin/settings/notes', + 'icon' => 'ClipboardCheckIcon', + 'owner_only' => false, + 'ability' => 'view-all-notes', + 'model' => Note::class + ], + [ + 'title' => 'settings.menu_title.expense_category', + 'group' => '', + 'name' => 'Expense Category', + 'link' => '/admin/settings/expense-category', + 'icon' => 'ClipboardListIcon', + 'owner_only' => false, + 'ability' => 'view-expense', + 'model' => Expense::class + ], + [ + 'title' => 'settings.mail.mail_config', + 'group' => '', + 'name' => 'Mail Configuration', + 'link' => '/admin/settings/mail-configuration', + 'icon' => 'MailIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.file_disk', + 'group' => '', + 'name' => 'File Disk', + 'link' => '/admin/settings/file-disk', + 'icon' => 'FolderIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.backup', + 'group' => '', + 'name' => 'Backup', + 'link' => '/admin/settings/backup', + 'icon' => 'DatabaseIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'settings.menu_title.update_app', + 'group' => '', + 'name' => 'Update App', + 'link' => '/admin/settings/update-app', + 'icon' => 'RefreshIcon', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + ], + + /* + * List of main menu + */ + 'main_menu' => [ + [ + 'title' => 'navigation.dashboard', + 'group' => 1, + 'link' => '/admin/dashboard', + 'icon' => 'HomeIcon', + 'name' => 'Dashboard', + 'owner_only' => false, + 'ability' => 'dashboard', + 'model' => '' + ], + [ + 'title' => 'navigation.customers', + 'group' => 1, + 'link' => '/admin/customers', + 'icon' => 'UserIcon', + 'name' => 'Customers', + 'owner_only' => false, + 'ability' => 'view-customer', + 'model' => Customer::class + ], + [ + 'title' => 'navigation.items', + 'group' => 1, + 'link' => '/admin/items', + 'icon' => 'StarIcon', + 'name' => 'Items', + 'owner_only' => false, + 'ability' => 'view-item', + 'model' => Item::class + ], + [ + 'title' => 'navigation.estimates', + 'group' => 2, + 'link' => '/admin/estimates', + 'icon' => 'DocumentIcon', + 'name' => 'Estimates', + 'owner_only' => false, + 'ability' => 'view-estimate', + 'model' => Estimate::class + ], + [ + 'title' => 'navigation.invoices', + 'group' => 2, + 'link' => '/admin/invoices', + 'icon' => 'DocumentTextIcon', + 'name' => 'Invoices', + 'owner_only' => false, + 'ability' => 'view-invoice', + 'model' => Invoice::class + ], + [ + 'title' => 'navigation.recurring-invoices', + 'group' => 2, + 'link' => '/admin/recurring-invoices', + 'icon' => 'DocumentTextIcon', + 'name' => 'Recurring Invoices', + 'owner_only' => false, + 'ability' => 'view-recurring-invoice', + 'model' => RecurringInvoice::class + ], + [ + 'title' => 'navigation.payments', + 'group' => 2, + 'link' => '/admin/payments', + 'icon' => 'CreditCardIcon', + 'name' => 'Payments', + 'owner_only' => false, + 'ability' => 'view-payment', + 'model' => Payment::class + ], + [ + 'title' => 'navigation.expenses', + 'group' => 2, + 'link' => '/admin/expenses', + 'icon' => 'CalculatorIcon', + 'name' => 'Expenses', + 'owner_only' => false, + 'ability' => 'view-expense', + 'model' => Expense::class + ], + [ + 'title' => 'navigation.users', + 'group' => 3, + 'link' => '/admin/users', + 'icon' => 'UsersIcon', + 'name' => 'Users', + 'owner_only' => true, + 'ability' => '', + 'model' => '' + ], + [ + 'title' => 'navigation.reports', + 'group' => 3, + 'link' => '/admin/reports', + 'icon' => 'ChartBarIcon', + 'name' => 'Reports', + 'owner_only' => false, + 'ability' => 'view-financial-reports', + 'model' => ''], + [ + 'title' => 'navigation.settings', + 'group' => 3, + 'link' => '/admin/settings', + 'icon' => 'CogIcon', + 'name' => 'Settings', + 'owner_only' => false, + 'ability' => '', + 'model' => '' + ], + ], + + /* + * List of recurring invoice status + */ + 'recurring_invoice_status' => [ + 'create_status' => [ + ['key' => 'settings.preferences.active', 'value' => 'ACTIVE'], + ['key' => 'settings.preferences.on_hold', 'value' => 'ON_HOLD'] + ], + 'update_status' => [ + ['key' => 'settings.preferences.active', 'value' => 'ACTIVE'], + ['key' => 'settings.preferences.on_hold', 'value' => 'ON_HOLD'], + ['key' => 'settings.preferences.completed', 'value' => 'COMPLETED'], + ] + ], + + /* + * List of exchange rate provider (currency converter server's) + */ + 'currency_converter_servers' => [ + ['key' => 'settings.preferences.premium', 'value' => 'PREMIUM'], + ['key' => 'settings.preferences.prepaid', 'value' => 'PREPAID'], + ['key' => 'settings.preferences.free', 'value' => 'FREE'], + ['key' => 'settings.preferences.dedicated', 'value' => 'DEDICATED'], + ], + + /* + * List of exchange rate drivers + */ + 'exchange_rate_drivers' => [ + ['key' => 'settings.exchange_rate.currency_converter', 'value' => 'currency_converter'], + ['key' => 'settings.exchange_rate.currency_freak', 'value' => 'currency_freak'], + ['key' => 'settings.exchange_rate.currency_layer', 'value' => 'currency_layer'], + ['key' => 'settings.exchange_rate.open_exchange_rate', 'value' => 'open_exchange_rate'], + ], + + /* + * List of Custom field supported models + */ + 'custom_field_models' => [ + 'Customer', + 'Estimate', + 'Invoice', + 'Payment', + 'Expense', + ] ]; diff --git a/config/hashids.php b/config/hashids.php index 9264ce9d..68ef3cc5 100644 --- a/config/hashids.php +++ b/config/hashids.php @@ -9,6 +9,7 @@ * @see https://github.com/vinkla/laravel-hashids */ +use Crater\Models\Company; use Crater\Models\Estimate; use Crater\Models\Invoice; use Crater\Models\Payment; @@ -55,6 +56,11 @@ return [ 'length' => '20', 'alphabet' => 'asqtW3eDRIxB65GYl7UVLS1dybn9XrKTZ4zO', ], + Company::class => [ + 'salt' => Company::class.config('app.key'), + 'length' => '20', + 'alphabet' => 's0DxOFtEYEnuKPmP08Ch6A1iHlLmBTBVWms5', + ], ], ]; diff --git a/config/permission.php b/config/permission.php deleted file mode 100644 index 4750e5f8..00000000 --- a/config/permission.php +++ /dev/null @@ -1,88 +0,0 @@ - [ - - /* - * When using the "HasRoles" trait from this package, we need to know which - * Eloquent model should be used to retrieve your permissions. Of course, it - * is often just the "Permission" model but you may use whatever you like. - * - * The model you want to use as a Permission model needs to implement the - * `Spatie\Permission\Contracts\Permission` contract. - */ - - 'permission' => Spatie\Permission\Models\Permission::class, - - /* - * When using the "HasRoles" trait from this package, we need to know which - * Eloquent model should be used to retrieve your roles. Of course, it - * is often just the "Role" model but you may use whatever you like. - * - * The model you want to use as a Role model needs to implement the - * `Spatie\Permission\Contracts\Role` contract. - */ - - 'role' => Spatie\Permission\Models\Role::class, - - ], - - 'table_names' => [ - - /* - * When using the "HasRoles" trait from this package, we need to know which - * table should be used to retrieve your roles. We have chosen a basic - * default value but you may easily change it to any table you like. - */ - - 'roles' => 'roles', - - /* - * When using the "HasRoles" trait from this package, we need to know which - * table should be used to retrieve your permissions. We have chosen a basic - * default value but you may easily change it to any table you like. - */ - - 'permissions' => 'permissions', - - /* - * When using the "HasRoles" trait from this package, we need to know which - * table should be used to retrieve your models permissions. We have chosen a - * basic default value but you may easily change it to any table you like. - */ - - 'model_has_permissions' => 'model_has_permissions', - - /* - * When using the "HasRoles" trait from this package, we need to know which - * table should be used to retrieve your models roles. We have chosen a - * basic default value but you may easily change it to any table you like. - */ - - 'model_has_roles' => 'model_has_roles', - - /* - * When using the "HasRoles" trait from this package, we need to know which - * table should be used to retrieve your roles permissions. We have chosen a - * basic default value but you may easily change it to any table you like. - */ - - 'role_has_permissions' => 'role_has_permissions', - ], - - /* - * By default all permissions will be cached for 24 hours unless a permission or - * role is updated. Then the cache will be flushed immediately. - */ - - 'cache_expiration_time' => 60 * 24, - - /* - * When set to true, the required permission/role names are added to the exception - * message. This could be considered an information leak in some contexts, so - * the default setting is false here for optimum safety. - */ - - 'display_permission_in_exception' => false, -]; diff --git a/config/vite.php b/config/vite.php new file mode 100644 index 00000000..18e90ba6 --- /dev/null +++ b/config/vite.php @@ -0,0 +1,67 @@ + [ + 'resources/scripts/main.js', + ], + 'ignore_patterns' => ["/\.d\.ts$/"], + + /* + |-------------------------------------------------------------------------- + | Aliases + |-------------------------------------------------------------------------- + | These aliases will be added to the Vite configuration and used + | to generate a proper tsconfig.json file. + */ + 'aliases' => [ + '@' => 'resources', + ], + + /* + |-------------------------------------------------------------------------- + | Static assets path + |-------------------------------------------------------------------------- + | This option defines the directory that Vite considers as the + | public directory. Its content will be copied to the build directory + | at build-time. + | https://vitejs.dev/config/#publicdir + */ + 'public_directory' => resource_path('static'), + + /* + |-------------------------------------------------------------------------- + | Ping timeout + |-------------------------------------------------------------------------- + | The maximum duration, in seconds, that the ping to the development + | server should take while trying to determine whether to use the + | manifest or the server in a local environment. + */ + 'ping_timeout' => .1, + + /* + |-------------------------------------------------------------------------- + | Build path + |-------------------------------------------------------------------------- + | The directory, relative to /public, in which Vite will build + | the production files. This should match "build.outDir" in the Vite + | configuration file. + */ + 'build_path' => 'build', + + /* + |-------------------------------------------------------------------------- + | Development URL + |-------------------------------------------------------------------------- + | The URL at which the Vite development server runs. + | This is used to generate the script tags when developing. + */ + 'dev_url' => 'http://localhost:3000', +]; diff --git a/crater.code-workspace b/crater.code-workspace new file mode 100644 index 00000000..c3afed3f --- /dev/null +++ b/crater.code-workspace @@ -0,0 +1,44 @@ +{ + "folders": [ + { + "path": "." + } + ], + "settings": { + "search.exclude": { + "**/public": true + }, + "editor.formatOnSave": true, + "vetur.validation.template": false, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": true + }, + "editor.formatOnPaste": true, + "editor.formatOnType": true, + "editor.codeActionsOnSaveTimeout": 2000, + "prettier.semi": false, + "prettier.singleQuote": true, + "files.associations": {}, + "eslint.codeAction.disableRuleComment": {}, + "eslint.codeAction.showDocumentation": { + "enable": true + }, + "eslint.validate": [ + "javascript", + "javascriptreact", + "vue" + ], + "[php]": { + "editor.defaultFormatter": "junstyle.php-cs-fixer" + }, + "debug.allowBreakpointsEverywhere": true, + "files.autoGuessEncoding": true, + "files.exclude": { + "**/.vscode": true, + "compile_commands.json": true, + "*.hrccproj": true, + "*.sln": true, + "*.suo": true + }, + } +} \ No newline at end of file diff --git a/database/factories/AddressFactory.php b/database/factories/AddressFactory.php index edc68fa8..992674c7 100644 --- a/database/factories/AddressFactory.php +++ b/database/factories/AddressFactory.php @@ -3,6 +3,7 @@ namespace Database\Factories; use Crater\Models\Address; +use Crater\Models\Customer; use Crater\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; @@ -29,11 +30,13 @@ class AddressFactory extends Factory 'city' => $this->faker->city, 'state' => $this->faker->state, 'country_id' => 231, + 'company_id' => User::find(1)->companies()->first()->id, 'zip' => $this->faker->postcode, 'phone' => $this->faker->phoneNumber, 'fax' => $this->faker->phoneNumber, 'type' => $this->faker->randomElement([Address::BILLING_TYPE, Address::SHIPPING_TYPE]), 'user_id' => User::factory(), + 'customer_id' => Customer::factory() ]; } } diff --git a/database/factories/CompanyFactory.php b/database/factories/CompanyFactory.php index 70d9abf5..5c37b391 100644 --- a/database/factories/CompanyFactory.php +++ b/database/factories/CompanyFactory.php @@ -3,6 +3,7 @@ namespace Database\Factories; use Crater\Models\Company; +use Crater\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; class CompanyFactory extends Factory @@ -22,8 +23,9 @@ class CompanyFactory extends Factory public function definition() { return [ - 'unique_hash' => str_random(60), - 'name' => $this->faker->name, + 'unique_hash' => str_random(20), + 'name' => $this->faker->name(), + 'owner_id' => User::where('role', 'super admin')->first()->id ]; } } diff --git a/database/factories/CompanySettingFactory.php b/database/factories/CompanySettingFactory.php index 86fff366..bec7a80e 100644 --- a/database/factories/CompanySettingFactory.php +++ b/database/factories/CompanySettingFactory.php @@ -25,7 +25,7 @@ class CompanySettingFactory extends Factory return [ 'option' => $this->faker->word, 'value' => $this->faker->word, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, ]; } } diff --git a/database/factories/CustomFieldFactory.php b/database/factories/CustomFieldFactory.php index ff046b9d..8eb906ce 100644 --- a/database/factories/CustomFieldFactory.php +++ b/database/factories/CustomFieldFactory.php @@ -32,7 +32,7 @@ class CustomFieldFactory extends Factory return clean_slug($item['model_type'], $item['label']); }, 'type' => $this->faker->randomElement(['Text', 'Textarea', 'Phone', 'URL', 'Number','Dropdown' , 'Switch', 'Date', 'DateTime', 'Time']), - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, ]; } } diff --git a/database/factories/CustomFieldValueFactory.php b/database/factories/CustomFieldValueFactory.php index 60847178..7891970b 100644 --- a/database/factories/CustomFieldValueFactory.php +++ b/database/factories/CustomFieldValueFactory.php @@ -28,7 +28,7 @@ class CustomFieldValueFactory extends Factory 'custom_field_valuable_id' => 1, 'type' => $this->faker->name, 'custom_field_id' => CustomField::factory(), - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, ]; } } diff --git a/database/factories/CustomerFactory.php b/database/factories/CustomerFactory.php new file mode 100644 index 00000000..f8f3d400 --- /dev/null +++ b/database/factories/CustomerFactory.php @@ -0,0 +1,41 @@ + $this->faker->name, + 'company_name' => $this->faker->company, + 'contact_name' => $this->faker->name, + 'prefix' => $this->faker->randomDigitNotNull, + 'website' => $this->faker->url, + 'enable_portal' => true, + 'email' => $this->faker->unique()->safeEmail, + 'phone' => $this->faker->phoneNumber, + 'company_id' => User::find(1)->companies()->first()->id, + 'password' => Hash::make('secret'), + 'currency_id' => Currency::find(1)->id, + ]; + } +} diff --git a/database/factories/EstimateFactory.php b/database/factories/EstimateFactory.php index c65e1b0c..e7e71116 100644 --- a/database/factories/EstimateFactory.php +++ b/database/factories/EstimateFactory.php @@ -2,8 +2,11 @@ namespace Database\Factories; +use Crater\Models\Currency; +use Crater\Models\Customer; use Crater\Models\Estimate; use Crater\Models\User; +use Crater\Services\SerialNumberFormatter; use Illuminate\Database\Eloquent\Factories\Factory; class EstimateFactory extends Factory @@ -67,13 +70,19 @@ class EstimateFactory extends Factory */ public function definition() { + $sequenceNumber = (new SerialNumberFormatter()) + ->setModel(new Estimate()) + ->setCompany(User::find(1)->companies()->first()->id) + ->setNextNumbers(); + return [ 'estimate_date' => $this->faker->date('Y-m-d', 'now'), 'expiry_date' => $this->faker->date('Y-m-d', 'now'), - 'estimate_number' => 'EST-'.Estimate::getNextEstimateNumber('EST'), - 'reference_number' => Estimate::getNextEstimateNumber('EST'), - 'company_id' => User::where('role', 'super admin')->first()->company_id, - 'user_id' => User::factory()->create(['role' => 'customer'])->id, + 'estimate_number' => $sequenceNumber->getNextNumber(), + 'sequence_number' => $sequenceNumber->nextSequenceNumber, + 'customer_sequence_number' => $sequenceNumber->nextCustomerSequenceNumber, + 'reference_number' => $sequenceNumber->getNextNumber(), + 'company_id' => User::find(1)->companies()->first()->id, 'status' => Estimate::STATUS_DRAFT, 'template_name' => 'estimate1', 'sub_total' => $this->faker->randomDigitNotNull, @@ -90,6 +99,13 @@ class EstimateFactory extends Factory 'tax' => $this->faker->randomDigitNotNull, 'notes' => $this->faker->text(80), 'unique_hash' => str_random(60), + 'customer_id' => Customer::factory(), + 'exchange_rate' => $this->faker->randomDigitNotNull, + 'base_discount_val' => $this->faker->randomDigitNotNull, + 'base_sub_total' => $this->faker->randomDigitNotNull, + 'base_total' => $this->faker->randomDigitNotNull, + 'base_tax' => $this->faker->randomDigitNotNull, + 'currency_id' => Currency::find(1)->id, ]; } } diff --git a/database/factories/EstimateItemFactory.php b/database/factories/EstimateItemFactory.php index b07ac3e1..2b78a497 100644 --- a/database/factories/EstimateItemFactory.php +++ b/database/factories/EstimateItemFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use Crater\Models\Estimate; use Crater\Models\EstimateItem; use Crater\Models\Item; use Crater\Models\User; @@ -34,8 +35,9 @@ class EstimateItemFactory extends Factory 'price' => function (array $item) { return Item::find($item['item_id'])->price; }, + 'estimate_id' => Estimate::factory(), 'quantity' => $this->faker->randomDigitNotNull, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'tax' => $this->faker->randomDigitNotNull, 'total' => function (array $item) { return ($item['price'] * $item['quantity']); @@ -47,6 +49,11 @@ class EstimateItemFactory extends Factory 'discount' => function (array $estimate) { return $estimate['discount_type'] == 'percentage' ? (($estimate['discount_val'] * $estimate['total']) / 100) : $estimate['discount_val']; }, + 'exchange_rate' => $this->faker->randomDigitNotNull, + 'base_discount_val' => $this->faker->randomDigitNotNull, + 'base_price' => $this->faker->randomDigitNotNull, + 'base_total' => $this->faker->randomDigitNotNull, + 'base_tax' => $this->faker->randomDigitNotNull, ]; } } diff --git a/database/factories/ExchangeRateLogFactory.php b/database/factories/ExchangeRateLogFactory.php new file mode 100644 index 00000000..14bf2006 --- /dev/null +++ b/database/factories/ExchangeRateLogFactory.php @@ -0,0 +1,33 @@ + Currency::find(1)->id, + 'base_currency_id' => User::find(1)->companies()->first()->id, + 'currency_id' => Currency::find(4)->id, + 'exchange_rate' => $this->faker->randomDigitNotNull + ]; + } +} diff --git a/database/factories/ExchangeRateProviderFactory.php b/database/factories/ExchangeRateProviderFactory.php new file mode 100644 index 00000000..c71bf577 --- /dev/null +++ b/database/factories/ExchangeRateProviderFactory.php @@ -0,0 +1,30 @@ + $this->faker->word, + 'key' => str_random(10), + 'active' => $this->faker->randomElement([true, false]), + ]; + } +} diff --git a/database/factories/ExpenseCategoryFactory.php b/database/factories/ExpenseCategoryFactory.php index a319e5fa..93800fca 100644 --- a/database/factories/ExpenseCategoryFactory.php +++ b/database/factories/ExpenseCategoryFactory.php @@ -24,7 +24,7 @@ class ExpenseCategoryFactory extends Factory { return [ 'name' => $this->faker->word, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'description' => $this->faker->text, ]; } diff --git a/database/factories/ExpenseFactory.php b/database/factories/ExpenseFactory.php index 732ae9b0..4ad25423 100644 --- a/database/factories/ExpenseFactory.php +++ b/database/factories/ExpenseFactory.php @@ -2,6 +2,8 @@ namespace Database\Factories; +use Crater\Models\Currency; +use Crater\Models\Customer; use Crater\Models\Expense; use Crater\Models\ExpenseCategory; use Crater\Models\User; @@ -26,10 +28,14 @@ class ExpenseFactory extends Factory return [ 'expense_date' => $this->faker->date('Y-m-d', 'now'), 'expense_category_id' => ExpenseCategory::factory(), - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'amount' => $this->faker->randomDigitNotNull, 'notes' => $this->faker->text, 'attachment_receipt' => null, + 'customer_id' => Customer::factory(), + 'exchange_rate' => $this->faker->randomDigitNotNull, + 'base_amount' => $this->faker->randomDigitNotNull, + 'currency_id' => Currency::find(1)->id, ]; } } diff --git a/database/factories/InvoiceFactory.php b/database/factories/InvoiceFactory.php index 0a959e87..2adf71b6 100644 --- a/database/factories/InvoiceFactory.php +++ b/database/factories/InvoiceFactory.php @@ -2,8 +2,12 @@ namespace Database\Factories; +use Crater\Models\Currency; +use Crater\Models\Customer; use Crater\Models\Invoice; +use Crater\Models\RecurringInvoice; use Crater\Models\User; +use Crater\Services\SerialNumberFormatter; use Illuminate\Database\Eloquent\Factories\Factory; class InvoiceFactory extends Factory @@ -94,18 +98,24 @@ class InvoiceFactory extends Factory */ public function definition() { + $sequenceNumber = (new SerialNumberFormatter()) + ->setModel(new Invoice()) + ->setCompany(User::find(1)->companies()->first()->id) + ->setNextNumbers(); + return [ 'invoice_date' => $this->faker->date('Y-m-d', 'now'), 'due_date' => $this->faker->date('Y-m-d', 'now'), - 'invoice_number' => 'INV-'.Invoice::getNextInvoiceNumber('INV'), - 'reference_number' => Invoice::getNextInvoiceNumber('INV'), - 'user_id' => User::factory()->create(['role' => 'customer'])->id, + 'invoice_number' => $sequenceNumber->getNextNumber(), + 'sequence_number' => $sequenceNumber->nextSequenceNumber, + 'customer_sequence_number' => $sequenceNumber->nextCustomerSequenceNumber, + 'reference_number' => $sequenceNumber->getNextNumber(), 'template_name' => 'invoice1', 'status' => Invoice::STATUS_DRAFT, 'tax_per_item' => 'NO', 'discount_per_item' => 'NO', 'paid_status' => Invoice::STATUS_UNPAID, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'sub_total' => $this->faker->randomDigitNotNull, 'total' => $this->faker->randomDigitNotNull, 'discount_type' => $this->faker->randomElement(['percentage', 'fixed']), @@ -121,6 +131,15 @@ class InvoiceFactory extends Factory }, 'notes' => $this->faker->text(80), 'unique_hash' => str_random(60), + 'customer_id' => Customer::factory(), + 'recurring_invoice_id' => RecurringInvoice::factory(), + 'exchange_rate' => $this->faker->randomDigitNotNull, + 'base_discount_val' => $this->faker->randomDigitNotNull, + 'base_sub_total' => $this->faker->randomDigitNotNull, + 'base_total' => $this->faker->randomDigitNotNull, + 'base_tax' => $this->faker->randomDigitNotNull, + 'base_due_amount' => $this->faker->randomDigitNotNull, + 'currency_id' => Currency::find(1)->id, ]; } } diff --git a/database/factories/InvoiceItemFactory.php b/database/factories/InvoiceItemFactory.php index c64e82da..7d3ce52f 100644 --- a/database/factories/InvoiceItemFactory.php +++ b/database/factories/InvoiceItemFactory.php @@ -4,6 +4,7 @@ namespace Database\Factories; use Crater\Models\InvoiceItem; use Crater\Models\Item; +use Crater\Models\RecurringInvoice; use Crater\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; @@ -34,7 +35,7 @@ class InvoiceItemFactory extends Factory 'price' => function (array $item) { return Item::find($item['item_id'])->price; }, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'quantity' => $this->faker->randomDigitNotNull, 'total' => function (array $item) { return ($item['price'] * $item['quantity']); @@ -47,6 +48,12 @@ class InvoiceItemFactory extends Factory return $invoice['discount_type'] == 'percentage' ? (($invoice['discount_val'] * $invoice['total']) / 100) : $invoice['discount_val']; }, 'tax' => $this->faker->randomDigitNotNull, + 'recurring_invoice_id' => RecurringInvoice::factory(), + 'exchange_rate' => $this->faker->randomDigitNotNull, + 'base_discount_val' => $this->faker->randomDigitNotNull, + 'base_price' => $this->faker->randomDigitNotNull, + 'base_total' => $this->faker->randomDigitNotNull, + 'base_tax' => $this->faker->randomDigitNotNull, ]; } } diff --git a/database/factories/ItemFactory.php b/database/factories/ItemFactory.php index d57c5e6c..bc476e94 100644 --- a/database/factories/ItemFactory.php +++ b/database/factories/ItemFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use Crater\Models\Currency; use Crater\Models\Item; use Crater\Models\Unit; use Crater\Models\User; @@ -26,9 +27,12 @@ class ItemFactory extends Factory return [ 'name' => $this->faker->name, 'description' => $this->faker->text, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'price' => $this->faker->randomDigitNotNull, 'unit_id' => Unit::factory(), + 'creator_id' => User::where('role', 'super admin')->first()->company_id, + 'currency_id' => Currency::find(1)->id, + 'tax_per_item' => $this->faker->randomElement([true, false]) ]; } } diff --git a/database/factories/NoteFactory.php b/database/factories/NoteFactory.php index d6956081..7e436efe 100644 --- a/database/factories/NoteFactory.php +++ b/database/factories/NoteFactory.php @@ -3,6 +3,7 @@ namespace Database\Factories; use Crater\Models\Note; +use Crater\Models\User; use Illuminate\Database\Eloquent\Factories\Factory; class NoteFactory extends Factory @@ -25,6 +26,7 @@ class NoteFactory extends Factory 'type' => $this->faker->randomElement(['Invoice', 'Estimate', 'Payment']), 'name' => $this->faker->word, 'notes' => $this->faker->text, + 'company_id' => User::find(1)->companies()->first()->id, ]; } } diff --git a/database/factories/PaymentFactory.php b/database/factories/PaymentFactory.php index 04351f78..9fb91c65 100644 --- a/database/factories/PaymentFactory.php +++ b/database/factories/PaymentFactory.php @@ -2,8 +2,12 @@ namespace Database\Factories; +use Crater\Models\Currency; +use Crater\Models\Customer; use Crater\Models\Payment; +use Crater\Models\PaymentMethod; use Crater\Models\User; +use Crater\Services\SerialNumberFormatter; use Illuminate\Database\Eloquent\Factories\Factory; class PaymentFactory extends Factory @@ -22,13 +26,24 @@ class PaymentFactory extends Factory */ public function definition() { + $sequenceNumber = (new SerialNumberFormatter()) + ->setModel(new Payment()) + ->setCompany(User::find(1)->companies()->first()->id) + ->setNextNumbers(); + return [ - 'user_id' => User::factory()->create(['role' => 'customer'])->id, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'payment_date' => $this->faker->date('Y-m-d', 'now'), 'notes' => $this->faker->text(80), 'amount' => $this->faker->randomDigitNotNull, - 'payment_number' => 'PAY-'.Payment::getNextPaymentNumber('PAY'), + 'sequence_number' => $sequenceNumber->nextSequenceNumber, + 'customer_sequence_number' => $sequenceNumber->nextCustomerSequenceNumber, + 'payment_number' => $sequenceNumber->getNextNumber(), + 'unique_hash' => str_random(60), + 'payment_method_id' => PaymentMethod::find(1)->id, + 'customer_id' => Customer::factory(), + 'base_amount' => $this->faker->randomDigitNotNull, + 'currency_id' => Currency::find(1)->id, ]; } } diff --git a/database/factories/PaymentMethodFactory.php b/database/factories/PaymentMethodFactory.php index 4e4a5711..c2e35767 100644 --- a/database/factories/PaymentMethodFactory.php +++ b/database/factories/PaymentMethodFactory.php @@ -24,7 +24,7 @@ class PaymentMethodFactory extends Factory { return [ 'name' => $this->faker->name, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, ]; } } diff --git a/database/factories/RecurringInvoiceFactory.php b/database/factories/RecurringInvoiceFactory.php new file mode 100644 index 00000000..90756ba8 --- /dev/null +++ b/database/factories/RecurringInvoiceFactory.php @@ -0,0 +1,47 @@ + $this->faker->iso8601(), + 'send_automatically' => false, + 'status' => $this->faker->randomElement(['COMPLETED', 'ON_HOLD', 'ACTIVE']), + 'tax_per_item' => 'NO', + 'discount_per_item' => 'NO', + 'sub_total' => $this->faker->randomDigitNotNull, + 'total' => $this->faker->randomDigitNotNull, + 'tax' => $this->faker->randomDigitNotNull, + 'due_amount' => $this->faker->randomDigitNotNull, + 'discount' => $this->faker->randomDigitNotNull, + 'discount_val' => $this->faker->randomDigitNotNull, + 'customer_id' => Customer::factory(), + 'company_id' => User::find(1)->companies()->first()->id, + 'frequency' => '* * 18 * *', + 'limit_by' => $this->faker->randomElement(['NONE', 'COUNT', 'DATE']), + 'limit_count' => $this->faker->randomDigit, + 'limit_date' => $this->faker->date(), + 'exchange_rate' => $this->faker->randomDigitNotNull + ]; + } +} diff --git a/database/factories/TaxFactory.php b/database/factories/TaxFactory.php index 268e954a..5aa90444 100644 --- a/database/factories/TaxFactory.php +++ b/database/factories/TaxFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use Crater\Models\Currency; use Crater\Models\Tax; use Crater\Models\TaxType; use Crater\Models\User; @@ -31,8 +32,11 @@ class TaxFactory extends Factory 'name' => function (array $item) { return TaxType::find($item['tax_type_id'])->name; }, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'amount' => $this->faker->randomDigitNotNull, + 'compound_tax' => $this->faker->randomDigitNotNull, + 'base_amount' => $this->faker->randomDigitNotNull, + 'currency_id' => Currency::where('name', 'US Dollar')->first()->company_id, ]; } } diff --git a/database/factories/TaxTypeFactory.php b/database/factories/TaxTypeFactory.php index e886eb08..2306d050 100644 --- a/database/factories/TaxTypeFactory.php +++ b/database/factories/TaxTypeFactory.php @@ -24,7 +24,7 @@ class TaxTypeFactory extends Factory { return [ 'name' => $this->faker->word, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, 'percent' => $this->faker->numberBetween($min = 0, $max = 100), 'description' => $this->faker->text, 'compound_tax' => 0, diff --git a/database/factories/UnitFactory.php b/database/factories/UnitFactory.php index 13036713..8b244450 100644 --- a/database/factories/UnitFactory.php +++ b/database/factories/UnitFactory.php @@ -24,7 +24,7 @@ class UnitFactory extends Factory { return [ 'name' => $this->faker->name, - 'company_id' => User::where('role', 'super admin')->first()->company_id, + 'company_id' => User::find(1)->companies()->first()->id, ]; } } diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index d02e9db0..2f67269e 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -31,7 +31,6 @@ class UserFactory extends Factory 'enable_portal' => true, 'email' => $this->faker->unique()->safeEmail, 'phone' => $this->faker->phoneNumber, - 'company_id' => User::find(1)->company_id, 'role' => 'super admin', 'password' => Hash::make('secret'), 'currency_id' => Currency::first()->id, diff --git a/database/migrations/2020_12_02_090527_update_crater_version_400.php b/database/migrations/2020_12_02_090527_update_crater_version_400.php index be4b62d0..9520b200 100644 --- a/database/migrations/2020_12_02_090527_update_crater_version_400.php +++ b/database/migrations/2020_12_02_090527_update_crater_version_400.php @@ -33,12 +33,12 @@ class UpdateCraterVersion400 extends Migration ]); // Update language - $user->setSettings(['language' => CompanySetting::getSetting('language', $user->company_id)]); + $user->setSettings(['language' => CompanySetting::getSetting('language', $user->companies()->first()->id)]); // Update user's addresses if ($user->addresses()->exists()) { foreach ($user->addresses as $address) { - $address->company_id = $user->company_id; + $address->company_id = $user->companies()->first()->id; $address->user_id = null; $address->save(); } @@ -131,6 +131,6 @@ class UpdateCraterVersion400 extends Migration 'payment_from_customer_address_format' => $paymentFromCustomerAddress, ]; - CompanySetting::setSettings($settings, $user->company_id); + CompanySetting::setSettings($settings, $user->companies()->first()->id); } } diff --git a/database/migrations/2021_06_28_105334_create_bouncer_tables.php b/database/migrations/2021_06_28_105334_create_bouncer_tables.php new file mode 100644 index 00000000..dfc4daf7 --- /dev/null +++ b/database/migrations/2021_06_28_105334_create_bouncer_tables.php @@ -0,0 +1,114 @@ +bigIncrements('id'); + $table->string('name'); + $table->string('title')->nullable(); + $table->bigInteger('entity_id')->unsigned()->nullable(); + $table->string('entity_type')->nullable(); + $table->boolean('only_owned')->default(false); + $table->json('options')->nullable(); + $table->integer('scope')->nullable()->index(); + $table->timestamps(); + }); + + Schema::create(Models::table('roles'), function (Blueprint $table) { + $table->bigIncrements('id'); + $table->string('name'); + $table->string('title')->nullable(); + $table->integer('level')->unsigned()->nullable(); + $table->integer('scope')->nullable()->index(); + $table->timestamps(); + + $table->unique( + ['name', 'scope'], + 'roles_name_unique' + ); + }); + + Schema::create(Models::table('assigned_roles'), function (Blueprint $table) { + $table->bigIncrements('id'); + $table->bigInteger('role_id')->unsigned()->index(); + $table->bigInteger('entity_id')->unsigned(); + $table->string('entity_type'); + $table->bigInteger('restricted_to_id')->unsigned()->nullable(); + $table->string('restricted_to_type')->nullable(); + $table->integer('scope')->nullable()->index(); + + $table->index( + ['entity_id', 'entity_type', 'scope'], + 'assigned_roles_entity_index' + ); + + $table->foreign('role_id') + ->references('id')->on(Models::table('roles')) + ->onUpdate('cascade')->onDelete('cascade'); + }); + + Schema::create(Models::table('permissions'), function (Blueprint $table) { + $table->bigIncrements('id'); + $table->bigInteger('ability_id')->unsigned()->index(); + $table->bigInteger('entity_id')->unsigned()->nullable(); + $table->string('entity_type')->nullable(); + $table->boolean('forbidden')->default(false); + $table->integer('scope')->nullable()->index(); + + $table->index( + ['entity_id', 'entity_type', 'scope'], + 'permissions_entity_index' + ); + + $table->foreign('ability_id') + ->references('id')->on(Models::table('abilities')) + ->onUpdate('cascade')->onDelete('cascade'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop(Models::table('permissions')); + Schema::drop(Models::table('assigned_roles')); + Schema::drop(Models::table('roles')); + Schema::drop(Models::table('abilities')); + } +} diff --git a/database/migrations/2021_06_28_111647_create_customers_table.php b/database/migrations/2021_06_28_111647_create_customers_table.php new file mode 100644 index 00000000..1e073c44 --- /dev/null +++ b/database/migrations/2021_06_28_111647_create_customers_table.php @@ -0,0 +1,49 @@ +id(); + $table->string('name'); + $table->string('email')->unique()->nullable(); + $table->string('phone')->nullable(); + $table->string('password')->nullable(); + $table->rememberToken(); + $table->string('facebook_id')->nullable(); + $table->string('google_id')->nullable(); + $table->string('github_id')->nullable(); + $table->string('contact_name')->nullable(); + $table->string('company_name')->nullable(); + $table->string('website')->nullable(); + $table->boolean('enable_portal')->nullable(); + $table->integer('currency_id')->unsigned()->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + $table->integer('company_id')->unsigned()->nullable(); + $table->foreign('company_id')->references('id')->on('companies'); + $table->unsignedInteger('creator_id')->nullable(); + $table->foreign('creator_id')->references('id')->on('users'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('customers'); + } +} diff --git a/database/migrations/2021_06_28_120010_add_customer_id_to_estimates_table.php b/database/migrations/2021_06_28_120010_add_customer_id_to_estimates_table.php new file mode 100644 index 00000000..c2762011 --- /dev/null +++ b/database/migrations/2021_06_28_120010_add_customer_id_to_estimates_table.php @@ -0,0 +1,36 @@ +unsignedBigInteger('customer_id')->nullable(); + $table->foreign('customer_id')->references('id')->on('customers'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('estimates', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['customer_id']); + } + $table->dropColumn('customer_id'); + }); + } +} diff --git a/database/migrations/2021_06_28_120133_add_customer_id_to_expenses_table.php b/database/migrations/2021_06_28_120133_add_customer_id_to_expenses_table.php new file mode 100644 index 00000000..ebe905ca --- /dev/null +++ b/database/migrations/2021_06_28_120133_add_customer_id_to_expenses_table.php @@ -0,0 +1,32 @@ +unsignedBigInteger('customer_id')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('expenses', function (Blueprint $table) { + $table->dropColumn('customer_id'); + }); + } +} diff --git a/database/migrations/2021_06_28_120208_add_customer_id_to_invoices_table.php b/database/migrations/2021_06_28_120208_add_customer_id_to_invoices_table.php new file mode 100644 index 00000000..5df3fb3b --- /dev/null +++ b/database/migrations/2021_06_28_120208_add_customer_id_to_invoices_table.php @@ -0,0 +1,36 @@ +unsignedBigInteger('customer_id')->nullable(); + $table->foreign('customer_id')->references('id')->on('customers'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoices', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['customer_id']); + } + $table->dropColumn('customer_id'); + }); + } +} diff --git a/database/migrations/2021_06_28_120231_add_customer_id_to_payments_table.php b/database/migrations/2021_06_28_120231_add_customer_id_to_payments_table.php new file mode 100644 index 00000000..96675b9d --- /dev/null +++ b/database/migrations/2021_06_28_120231_add_customer_id_to_payments_table.php @@ -0,0 +1,36 @@ +unsignedBigInteger('customer_id')->nullable(); + $table->foreign('customer_id')->references('id')->on('customers'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('payments', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['customer_id']); + } + $table->dropColumn('customer_id'); + }); + } +} diff --git a/database/migrations/2021_06_29_052745_add_customer_id_to_addresses_table.php b/database/migrations/2021_06_29_052745_add_customer_id_to_addresses_table.php new file mode 100644 index 00000000..ca435c4c --- /dev/null +++ b/database/migrations/2021_06_29_052745_add_customer_id_to_addresses_table.php @@ -0,0 +1,36 @@ +unsignedBigInteger('customer_id')->nullable(); + $table->foreign('customer_id')->references('id')->on('customers'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('addresses', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['customer_id']); + } + $table->dropColumn('customer_id'); + }); + } +} diff --git a/database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php b/database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php new file mode 100644 index 00000000..06016faf --- /dev/null +++ b/database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php @@ -0,0 +1,130 @@ +get(); + + $users->makeVisible('password', 'remember_token'); + + if ($users) { + foreach ($users as $user) { + $newCustomer = Customer::create($user->toArray()); + + $customFields = CustomField::where('model_type', 'User')->get(); + + if ($customFields) { + $user->fields->map(function ($customFieldValue) use ($newCustomer) { + $customFieldValue->custom_field_valuable_type = "Crater\Models\Customer"; + $customFieldValue->custom_field_valuable_id = $newCustomer->id; + $customFieldValue->save(); + + $customField = $customFieldValue->customField; + $customField->model_type = "Customer"; + $customField->slug = Str::upper('CUSTOM_'.$customField->model_type.'_'.Str::slug($customField->label, '_')); + $customField->save(); + }); + } + + $user->addresses->map(function ($address) use ($newCustomer) { + if ($address) { + $address->customer_id = $newCustomer->id; + $address->user_id = null; + $address->save(); + } + }); + + $user->expenses->map(function ($expense) use ($newCustomer) { + if ($expense) { + $expense->customer_id = $newCustomer->id; + $expense->user_id = null; + $expense->save(); + } + }); + + $user->estimates->map(function ($estimate) use ($newCustomer) { + if ($estimate) { + $estimate->customer_id = $newCustomer->id; + $estimate->user_id = null; + $estimate->save(); + } + }); + + $user->invoices->map(function ($invoice) use ($newCustomer) { + if ($invoice) { + $invoice->customer_id = $newCustomer->id; + $invoice->user_id = null; + $invoice->save(); + } + }); + + $user->payments->map(function ($payment) use ($newCustomer) { + if ($payment) { + $payment->customer_id = $newCustomer->id; + $payment->save(); + } + }); + } + } + + Schema::table('estimates', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['user_id']); + } + $table->dropColumn('user_id'); + }); + + Schema::table('expenses', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['user_id']); + } + $table->dropColumn('user_id'); + }); + + Schema::table('invoices', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['user_id']); + } + $table->dropColumn('user_id'); + }); + + Schema::table('payments', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['user_id']); + } + $table->dropColumn('user_id'); + }); + + Schema::table('items', function (Blueprint $table) { + $table->dropColumn('unit'); + }); + + $users = User::where('role', 'customer') + ->delete(); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2021_07_01_060700_create_user_company_table.php b/database/migrations/2021_07_01_060700_create_user_company_table.php new file mode 100644 index 00000000..2aa6475c --- /dev/null +++ b/database/migrations/2021_07_01_060700_create_user_company_table.php @@ -0,0 +1,35 @@ +id(); + $table->unsignedInteger('user_id')->nullable(); + $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); + $table->unsignedInteger('company_id')->nullable(); + $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('company_user'); + } +} diff --git a/database/migrations/2021_07_05_100256_change_relationship_of_company.php b/database/migrations/2021_07_05_100256_change_relationship_of_company.php new file mode 100644 index 00000000..e98ca270 --- /dev/null +++ b/database/migrations/2021_07_05_100256_change_relationship_of_company.php @@ -0,0 +1,44 @@ +companies()->attach($user->company_id); + $user->company_id = null; + $user->save(); + } + } + + Schema::table('users', function (Blueprint $table) { + if (config('database.default') !== 'sqlite') { + $table->dropForeign(['company_id']); + } + $table->dropColumn('company_id'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2021_07_06_070204_add_owner_id_to_companies_table.php b/database/migrations/2021_07_06_070204_add_owner_id_to_companies_table.php new file mode 100644 index 00000000..a4d76427 --- /dev/null +++ b/database/migrations/2021_07_06_070204_add_owner_id_to_companies_table.php @@ -0,0 +1,58 @@ +string('slug')->nullable(); + $table->unsignedInteger('owner_id')->nullable(); + $table->foreign('owner_id')->references('id')->on('users'); + }); + + $user = User::where('role', 'super admin')->first(); + + $companies = Company::all(); + + if ($companies) { + foreach ($companies as $company) { + $company->owner_id = $user->id; + $company->slug = Str::slug($company->name); + $company->save(); + + $company->setupRoles(); + $user->assign('super admin'); + + $users = User::where('role', 'admin')->get(); + $users->map(function ($user) { + $user->assign('super admin'); + }); + } + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('companies', function (Blueprint $table) { + $table->dropColumn('slug'); + $table->dropForeign(['owner_id']); + }); + } +} diff --git a/database/migrations/2021_07_08_110940_add_company_to_notes_table.php b/database/migrations/2021_07_08_110940_add_company_to_notes_table.php new file mode 100644 index 00000000..939d883b --- /dev/null +++ b/database/migrations/2021_07_08_110940_add_company_to_notes_table.php @@ -0,0 +1,45 @@ +unsignedInteger('company_id')->nullable(); + $table->foreign('company_id')->references('id')->on('companies')->onDelete('cascade'); + }); + + $user = User::where('role', 'super admin')->first(); + + if ($user) { + $notes = Note::where('company_id', null)->get(); + $notes->map(function ($note) use ($user) { + $note->company_id = $user->companies()->first()->id; + $note->save(); + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('notes', function (Blueprint $table) { + $table->dropForeign(['company_id']); + }); + } +} diff --git a/database/migrations/2021_07_09_063502_create_recurring_invoices_table.php b/database/migrations/2021_07_09_063502_create_recurring_invoices_table.php new file mode 100644 index 00000000..76baab0a --- /dev/null +++ b/database/migrations/2021_07_09_063502_create_recurring_invoices_table.php @@ -0,0 +1,59 @@ +id(); + $table->dateTime('starts_at', $precision = 0); + $table->boolean('send_automatically')->default(false); + $table->unsignedBigInteger('customer_id')->nullable(); + $table->foreign('customer_id')->references('id')->on('customers'); + $table->integer('company_id')->unsigned()->nullable(); + $table->foreign('company_id')->references('id')->on('companies'); + $table->enum('status', ['COMPLETED', 'ON_HOLD', 'ACTIVE'])->default('ACTIVE'); + $table->dateTime('next_invoice_at', $precision = 0)->nullable(); + $table->unsignedInteger('creator_id')->nullable(); + $table->foreign('creator_id')->references('id')->on('users'); + $table->string('frequency'); + $table->enum('limit_by', ['NONE', 'COUNT', 'DATE'])->default('NONE'); + $table->integer('limit_count')->nullable(); + $table->date('limit_date')->nullable(); + $table->unsignedInteger('currency_id')->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + $table->decimal('exchange_rate', 19, 6)->nullable(); + $table->string('tax_per_item'); + $table->string('discount_per_item'); + $table->text('notes')->nullable(); + $table->string('discount_type')->nullable(); + $table->decimal('discount', 15, 2)->nullable(); + $table->unsignedBigInteger('discount_val')->nullable(); + $table->unsignedBigInteger('sub_total'); + $table->unsignedBigInteger('total'); + $table->unsignedBigInteger('tax'); + $table->string('template_name')->nullable(); + $table->unsignedBigInteger('due_amount'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('recurring_invoices'); + } +} diff --git a/database/migrations/2021_07_09_063712_add_recurring_invoice_id_to_invoices_table.php b/database/migrations/2021_07_09_063712_add_recurring_invoice_id_to_invoices_table.php new file mode 100644 index 00000000..bacec8d0 --- /dev/null +++ b/database/migrations/2021_07_09_063712_add_recurring_invoice_id_to_invoices_table.php @@ -0,0 +1,33 @@ +unsignedBigInteger('recurring_invoice_id')->nullable(); + $table->foreign('recurring_invoice_id')->references('id')->on('recurring_invoices'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoices', function (Blueprint $table) { + $table->dropColumn('recurring_invoice_id'); + }); + } +} diff --git a/database/migrations/2021_07_09_063755_add_recurring_invoice_id_to_invoice_items_table.php b/database/migrations/2021_07_09_063755_add_recurring_invoice_id_to_invoice_items_table.php new file mode 100644 index 00000000..063c6d34 --- /dev/null +++ b/database/migrations/2021_07_09_063755_add_recurring_invoice_id_to_invoice_items_table.php @@ -0,0 +1,34 @@ +integer('invoice_id')->unsigned()->nullable()->change(); + $table->unsignedBigInteger('recurring_invoice_id')->nullable(); + $table->foreign('recurring_invoice_id')->references('id')->on('recurring_invoices'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoice_items', function (Blueprint $table) { + $table->dropColumn('recurring_invoice_id'); + }); + } +} diff --git a/database/migrations/2021_07_15_054753_make_due_date_optional_in_invoices_table.php b/database/migrations/2021_07_15_054753_make_due_date_optional_in_invoices_table.php new file mode 100644 index 00000000..0caf39ef --- /dev/null +++ b/database/migrations/2021_07_15_054753_make_due_date_optional_in_invoices_table.php @@ -0,0 +1,32 @@ +date('due_date')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoices', function (Blueprint $table) { + // + }); + } +} diff --git a/database/migrations/2021_07_15_054929_make_expiry_date_optional_estimates_table.php b/database/migrations/2021_07_15_054929_make_expiry_date_optional_estimates_table.php new file mode 100644 index 00000000..455e3c49 --- /dev/null +++ b/database/migrations/2021_07_15_054929_make_expiry_date_optional_estimates_table.php @@ -0,0 +1,30 @@ +date('expiry_date')->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2021_07_16_072458_add_base_columns_into_invoices_table.php b/database/migrations/2021_07_16_072458_add_base_columns_into_invoices_table.php new file mode 100644 index 00000000..7d45570d --- /dev/null +++ b/database/migrations/2021_07_16_072458_add_base_columns_into_invoices_table.php @@ -0,0 +1,44 @@ +decimal('exchange_rate', 19, 6)->nullable(); + $table->unsignedBigInteger('base_discount_val')->nullable(); + $table->unsignedBigInteger('base_sub_total')->nullable(); + $table->unsignedBigInteger('base_total')->nullable(); + $table->unsignedBigInteger('base_tax')->nullable(); + $table->unsignedBigInteger('base_due_amount')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoices', function (Blueprint $table) { + $table->dropColumn([ + 'base_discount_val', + 'exchange_rate', + 'base_sub_total', + 'base_total', + 'base_tax', + 'base_due_amount' + ]); + }); + } +} diff --git a/database/migrations/2021_07_16_072925_add_base_columns_into_invoice_items_table.php b/database/migrations/2021_07_16_072925_add_base_columns_into_invoice_items_table.php new file mode 100644 index 00000000..dff9811b --- /dev/null +++ b/database/migrations/2021_07_16_072925_add_base_columns_into_invoice_items_table.php @@ -0,0 +1,42 @@ +unsignedBigInteger('base_price')->nullable(); + $table->decimal('exchange_rate', 19, 6)->nullable(); + $table->unsignedBigInteger('base_discount_val')->nullable(); + $table->unsignedBigInteger('base_tax')->nullable(); + $table->unsignedBigInteger('base_total')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoice_items', function (Blueprint $table) { + $table->dropColumn([ + 'base_price', + 'exchange_rate', + 'base_discount_val', + 'base_tax', + 'base_total' + ]); + }); + } +} diff --git a/database/migrations/2021_07_16_073040_add_base_columns_into_estimates_table.php b/database/migrations/2021_07_16_073040_add_base_columns_into_estimates_table.php new file mode 100644 index 00000000..d08cb8e2 --- /dev/null +++ b/database/migrations/2021_07_16_073040_add_base_columns_into_estimates_table.php @@ -0,0 +1,42 @@ +decimal('exchange_rate', 19, 6)->nullable(); + $table->unsignedBigInteger('base_discount_val')->nullable(); + $table->unsignedBigInteger('base_sub_total')->nullable(); + $table->unsignedBigInteger('base_total')->nullable(); + $table->unsignedBigInteger('base_tax')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('estimates', function (Blueprint $table) { + $table->dropColumn([ + 'exchange_rate', + 'base_discount_val', + 'base_sub_total', + 'base_total', + 'base_tax', + ]); + }); + } +} diff --git a/database/migrations/2021_07_16_073441_add_base_columns_into_estimate_items_table.php b/database/migrations/2021_07_16_073441_add_base_columns_into_estimate_items_table.php new file mode 100644 index 00000000..4be5f60a --- /dev/null +++ b/database/migrations/2021_07_16_073441_add_base_columns_into_estimate_items_table.php @@ -0,0 +1,42 @@ +decimal('exchange_rate', 19, 6)->nullable(); + $table->unsignedBigInteger('base_discount_val')->nullable(); + $table->unsignedBigInteger('base_price')->nullable(); + $table->unsignedBigInteger('base_tax')->nullable(); + $table->unsignedBigInteger('base_total')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('estimate_items', function (Blueprint $table) { + $table->dropColumn([ + 'exchange_rate', + 'base_discount_val', + 'base_price', + 'base_tax', + 'base_total' + ]); + }); + } +} diff --git a/database/migrations/2021_07_16_074810_add_base_column_into_payments_table.php b/database/migrations/2021_07_16_074810_add_base_column_into_payments_table.php new file mode 100644 index 00000000..18aa0f2d --- /dev/null +++ b/database/migrations/2021_07_16_074810_add_base_column_into_payments_table.php @@ -0,0 +1,33 @@ +decimal('exchange_rate', 19, 6)->nullable(); + $table->unsignedBigInteger('base_amount')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('payments', function (Blueprint $table) { + $table->dropColumn('base_amount'); + }); + } +} diff --git a/database/migrations/2021_07_16_075100_add_base_values_into_taxes_table.php b/database/migrations/2021_07_16_075100_add_base_values_into_taxes_table.php new file mode 100644 index 00000000..15ca8928 --- /dev/null +++ b/database/migrations/2021_07_16_075100_add_base_values_into_taxes_table.php @@ -0,0 +1,36 @@ +decimal('exchange_rate', 19, 6)->nullable(); + $table->unsignedBigInteger('base_amount')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('taxes', function (Blueprint $table) { + $table->dropColumn([ + 'exchange_rate', + 'base_amount', + ]); + }); + } +} diff --git a/database/migrations/2021_07_16_080253_add_currency_id_into_invoices_table.php b/database/migrations/2021_07_16_080253_add_currency_id_into_invoices_table.php new file mode 100644 index 00000000..ad754f0d --- /dev/null +++ b/database/migrations/2021_07_16_080253_add_currency_id_into_invoices_table.php @@ -0,0 +1,33 @@ +unsignedInteger('currency_id')->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoices', function (Blueprint $table) { + $table->dropColumn('currency_id'); + }); + } +} diff --git a/database/migrations/2021_07_16_080508_add_currency_id_into_payments_table.php b/database/migrations/2021_07_16_080508_add_currency_id_into_payments_table.php new file mode 100644 index 00000000..ae49674c --- /dev/null +++ b/database/migrations/2021_07_16_080508_add_currency_id_into_payments_table.php @@ -0,0 +1,33 @@ +unsignedInteger('currency_id')->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('payments', function (Blueprint $table) { + $table->dropColumn('currency_id'); + }); + } +} diff --git a/database/migrations/2021_07_16_080611_add_currency_id_into_items_table.php b/database/migrations/2021_07_16_080611_add_currency_id_into_items_table.php new file mode 100644 index 00000000..370fcf9d --- /dev/null +++ b/database/migrations/2021_07_16_080611_add_currency_id_into_items_table.php @@ -0,0 +1,33 @@ +unsignedInteger('currency_id')->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('items', function (Blueprint $table) { + $table->dropColumn('currency_id'); + }); + } +} diff --git a/database/migrations/2021_07_16_080702_add_currency_id_into_taxes_table.php b/database/migrations/2021_07_16_080702_add_currency_id_into_taxes_table.php new file mode 100644 index 00000000..d1745bb3 --- /dev/null +++ b/database/migrations/2021_07_16_080702_add_currency_id_into_taxes_table.php @@ -0,0 +1,33 @@ +unsignedInteger('currency_id')->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('taxes', function (Blueprint $table) { + $table->dropColumn('currency_id'); + }); + } +} diff --git a/database/migrations/2021_07_16_112429_add_currency_id_into_estimates_table.php b/database/migrations/2021_07_16_112429_add_currency_id_into_estimates_table.php new file mode 100644 index 00000000..724ff379 --- /dev/null +++ b/database/migrations/2021_07_16_112429_add_currency_id_into_estimates_table.php @@ -0,0 +1,33 @@ +unsignedInteger('currency_id')->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('estimates', function (Blueprint $table) { + $table->dropColumn('currency_id'); + }); + } +} diff --git a/database/migrations/2021_08_05_103535_create_exchange_rate_logs_table.php b/database/migrations/2021_08_05_103535_create_exchange_rate_logs_table.php new file mode 100644 index 00000000..11dda3d6 --- /dev/null +++ b/database/migrations/2021_08_05_103535_create_exchange_rate_logs_table.php @@ -0,0 +1,38 @@ +id(); + $table->integer('company_id')->unsigned()->nullable(); + $table->foreign('company_id')->references('id')->on('companies'); + $table->unsignedInteger('base_currency_id')->nullable(); + $table->foreign('base_currency_id')->references('id')->on('currencies'); + $table->unsignedInteger('currency_id')->nullable(); + $table->foreign('currency_id')->references('id')->on('currencies'); + $table->decimal('exchange_rate', 19, 6)->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('exchange_rates'); + } +} diff --git a/database/migrations/2021_08_16_091413_add_tax_per_item_into_items_table.php b/database/migrations/2021_08_16_091413_add_tax_per_item_into_items_table.php new file mode 100644 index 00000000..f8889a20 --- /dev/null +++ b/database/migrations/2021_08_16_091413_add_tax_per_item_into_items_table.php @@ -0,0 +1,44 @@ +boolean('tax_per_item')->default(false); + }); + + $items = Item::with('taxes')->get(); + + if ($items) { + foreach ($items as $item) { + if (! $item->taxes()->get()->isEmpty()) { + $item->tax_per_item = true; + $item->save(); + } + } + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('items', function (Blueprint $table) { + $table->dropColumn('tax_per_item'); + }); + } +} diff --git a/database/migrations/2021_08_19_063244_add_base_columns_to_expense_table.php b/database/migrations/2021_08_19_063244_add_base_columns_to_expense_table.php new file mode 100644 index 00000000..db9f57c6 --- /dev/null +++ b/database/migrations/2021_08_19_063244_add_base_columns_to_expense_table.php @@ -0,0 +1,39 @@ +decimal('exchange_rate', 19, 6)->nullable(); + $table->unsignedBigInteger('base_amount')->nullable(); + $table->unsignedInteger('currency_id'); + $table->foreign('currency_id')->references('id')->on('currencies'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('expenses', function (Blueprint $table) { + $table->dropColumn([ + 'exchange_rate', + 'base_amount', + 'currency_id', + ]); + }); + } +} diff --git a/database/migrations/2021_09_28_081543_create_exchange_rate_providers_table.php b/database/migrations/2021_09_28_081543_create_exchange_rate_providers_table.php new file mode 100644 index 00000000..7a303d02 --- /dev/null +++ b/database/migrations/2021_09_28_081543_create_exchange_rate_providers_table.php @@ -0,0 +1,38 @@ +id(); + $table->string('driver'); + $table->string('key'); + $table->json('currencies')->nullable(); + $table->json('driver_config')->nullable(); + $table->boolean('active')->default(true); + $table->integer('company_id')->unsigned()->nullable(); + $table->foreign('company_id')->references('id')->on('companies'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('exchange_rate_providers'); + } +} diff --git a/database/migrations/2021_09_28_130822_add_sequence_column.php b/database/migrations/2021_09_28_130822_add_sequence_column.php new file mode 100644 index 00000000..992b9bfa --- /dev/null +++ b/database/migrations/2021_09_28_130822_add_sequence_column.php @@ -0,0 +1,101 @@ +string('prefix')->nullable()->after('id'); + }); + + Schema::table('invoices', function (Blueprint $table) { + $table->mediumInteger('sequence_number')->unsigned()->nullable()->after('id'); + $table->mediumInteger('customer_sequence_number')->unsigned()->nullable()->after('sequence_number'); + }); + + Schema::table('estimates', function (Blueprint $table) { + $table->mediumInteger('sequence_number')->unsigned()->nullable()->after('id'); + $table->mediumInteger('customer_sequence_number')->unsigned()->nullable()->after('sequence_number'); + }); + + Schema::table('payments', function (Blueprint $table) { + $table->mediumInteger('sequence_number')->unsigned()->nullable()->after('id'); + $table->mediumInteger('customer_sequence_number')->unsigned()->nullable()->after('sequence_number'); + }); + + $user = User::where('role', 'super admin')->first(); + + if ($user && $user->role == 'super admin') { + $customers = Customer::all(); + foreach ($customers as $customer) { + $invoices = $customer->invoices; + if ($invoices) { + $customerSequence = 1; + $invoices->map(function ($invoice) use ($customerSequence) { + $invoiceNumber = explode("-", $invoice->invoice_number); + $invoice->sequence_number = intval(end($invoiceNumber)); + $invoice->customer_sequence_number = $customerSequence; + $invoice->save(); + $customerSequence += 1; + }); + } + + $estimates = $customer->estimates; + if ($estimates) { + $customerSequence = 1; + $estimates->map(function ($estimate) use ($customerSequence) { + $estimateNumber = explode("-", $estimate->estimate_number); + $estimate->sequence_number = intval(end($estimateNumber)); + $estimate->customer_sequence_number = $customerSequence; + $estimate->save(); + $customerSequence += 1; + }); + } + + $payments = $customer->payments; + if ($estimates) { + $customerSequence = 1; + $payments->map(function ($payment) use ($customerSequence) { + $paymentNumber = explode("-", $payment->payment_number); + $payment->sequence_number = intval(end($paymentNumber)); + $payment->customer_sequence_number = $customerSequence; + $payment->save(); + $customerSequence += 1; + }); + } + } + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('invoices', function (Blueprint $table) { + $table->dropColumn('sequence_number'); + $table->dropColumn('customer_sequence_number'); + }); + Schema::table('estimates', function (Blueprint $table) { + $table->dropColumn('sequence_number'); + $table->dropColumn('customer_sequence_number'); + }); + Schema::table('payments', function (Blueprint $table) { + $table->dropColumn('sequence_number'); + $table->dropColumn('customer_sequence_number'); + }); + } +} diff --git a/database/migrations/2021_10_06_100539_add_recurring_invoice_id_to_taxes_table.php b/database/migrations/2021_10_06_100539_add_recurring_invoice_id_to_taxes_table.php new file mode 100644 index 00000000..90da41a7 --- /dev/null +++ b/database/migrations/2021_10_06_100539_add_recurring_invoice_id_to_taxes_table.php @@ -0,0 +1,33 @@ +unsignedBigInteger('recurring_invoice_id')->nullable(); + $table->foreign('recurring_invoice_id')->references('id')->on('recurring_invoices'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('taxes', function (Blueprint $table) { + $table->dropColumn('recurring_invoice_id'); + }); + } +} diff --git a/database/migrations/2021_11_13_051127_add_payment_method_to_expense_table.php b/database/migrations/2021_11_13_051127_add_payment_method_to_expense_table.php new file mode 100644 index 00000000..c1fbabdb --- /dev/null +++ b/database/migrations/2021_11_13_051127_add_payment_method_to_expense_table.php @@ -0,0 +1,33 @@ +integer('payment_method_id')->unsigned()->nullable(); + $table->foreign('payment_method_id')->references('id')->on('payment_methods'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('expenses', function (Blueprint $table) { + $table->dropColumn('payment_method_id'); + }); + } +} diff --git a/database/migrations/2021_11_13_114808_calculate_base_values_for_existing_data.php b/database/migrations/2021_11_13_114808_calculate_base_values_for_existing_data.php new file mode 100644 index 00000000..cba5cd56 --- /dev/null +++ b/database/migrations/2021_11_13_114808_calculate_base_values_for_existing_data.php @@ -0,0 +1,144 @@ +first(); + + if ($user) { + $companyId = $user->companies()->first()->id; + + $currency_id = CompanySetting::getSetting('currency', $companyId); + + $items = Item::all(); + + foreach ($items as $item) { + $item->currency_id = $currency_id; + $item->save(); + } + + $customers = Customer::all(); + + foreach ($customers as $customer) { + if ($customer->invoices()->exists()) { + $customer->invoices->map(function ($invoice) use ($currency_id, $customer) { + if ($customer->currency_id == $currency_id) { + $invoice->update([ + 'currency_id' => $currency_id, + 'exchange_rate' => 1, + 'base_discount_val' => $invoice->sub_total, + 'base_sub_total' => $invoice->sub_total, + 'base_total' => $invoice->total, + 'base_tax' => $invoice->tax, + 'base_due_amount' => $invoice->due_amount + ]); + } else { + $invoice->update([ + 'currency_id' => $customer->currency_id, + ]); + } + $this->items($invoice); + }); + } + + if ($customer->expenses()->exists()) { + $customer->expenses->map(function ($expense) use ($currency_id) { + $expense->update([ + 'currency_id' => $currency_id, + 'exchange_rate' => 1, + 'base_amount' => $expense->amount, + ]); + }); + } + + if ($customer->estimates()->exists()) { + $customer->estimates->map(function ($estimate) use ($currency_id, $customer) { + if ($customer->currency_id == $currency_id) { + $estimate->update([ + 'currency_id' => $currency_id, + 'exchange_rate' => 1, + 'base_discount_val' => $estimate->sub_total, + 'base_sub_total' => $estimate->sub_total, + 'base_total' => $estimate->total, + 'base_tax' => $estimate->tax + ]); + } else { + $estimate->update([ + 'currency_id' => $customer->currency_id, + ]); + } + $this->items($estimate); + }); + } + + if ($customer->payments()->exists()) { + $customer->payments->map(function ($payment) use ($currency_id, $customer) { + if ($customer->currency_id == $currency_id) { + $payment->update([ + 'currency_id' => $currency_id, + 'base_amount' => $payment->amount, + 'exchange_rate' => 1 + ]); + } else { + $payment->update([ + 'currency_id' => $customer->currency_id, + ]); + } + }); + } + } + } + } + + public function items($model) + { + $model->items->map(function ($item) use ($model) { + $item->update([ + 'exchange_rate' => $model->exchange_rate, + 'base_discount_val' => $item->discount_val * $model->exchange_rate, + 'base_price' => $item->price * $model->exchange_rate, + 'base_tax' => $item->tax * $model->exchange_rate, + 'base_total' => $item->total * $model->exchange_rate + ]); + + $this->taxes($item, $model->currency_id); + }); + + $this->taxes($model, $model->currency_id); + } + + public function taxes($model, $currency_id) + { + if ($model->taxes()->exists()) { + $model->taxes->map(function ($tax) use ($model, $currency_id) { + $tax->update([ + 'currency_id' => $currency_id, + 'exchange_rate' => $model->exchange_rate, + 'base_amount' => $tax->amount * $model->exchange_rate, + ]); + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2021_11_23_092111_add_new_company_settings.php b/database/migrations/2021_11_23_092111_add_new_company_settings.php new file mode 100644 index 00000000..3056381b --- /dev/null +++ b/database/migrations/2021_11_23_092111_add_new_company_settings.php @@ -0,0 +1,60 @@ +map(function ($company) { + $settingsToRemove = [ + 'invoice_number_length', + 'estimate_number_length', + 'payment_number_length', + 'invoice_prefix', + 'estimate_prefix', + 'payment_prefix', + ]; + + $oldSettings = CompanySetting::getSettings($settingsToRemove, $company->id); + $oldSettings = $oldSettings->toArray(); + + $settings = [ + 'invoice_set_due_date_automatically' => 'YES', + 'invoice_due_date_days' => 7, + 'estimate_set_expiry_date_automatically' => 'YES', + 'estimate_expiry_date_days' => 7, + 'estimate_convert_action' => 'no_action', + 'bulk_exchange_rate_configured' => "NO", + 'invoice_number_format' => "{{SERIES:{$oldSettings['invoice_prefix']}}}{{DELIMITER:-}}{{SEQUENCE:{$oldSettings['invoice_number_length']}}}", + 'estimate_number_format' => "{{SERIES:{$oldSettings['estimate_prefix']}}}{{DELIMITER:-}}{{SEQUENCE:{$oldSettings['estimate_number_length']}}}", + 'payment_number_format' => "{{SERIES:{$oldSettings['payment_prefix']}}}{{DELIMITER:-}}{{SEQUENCE:{$oldSettings['payment_number_length']}}}", + ]; + + CompanySetting::whereIn('option', $settingsToRemove)->delete(); + + CompanySetting::setSettings($settings, $company->id); + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +} diff --git a/database/migrations/2021_11_23_093811_update_crater_version_500.php b/database/migrations/2021_11_23_093811_update_crater_version_500.php new file mode 100644 index 00000000..3c205d6d --- /dev/null +++ b/database/migrations/2021_11_23_093811_update_crater_version_500.php @@ -0,0 +1,27 @@ + ',', 'decimal_separator' => '.', ], + [ + 'name' => 'Jamaican Dollar', + 'code' => 'JMD', + 'symbol' => '$', + 'precision' => '0', + 'thousand_separator' => ',', + 'decimal_separator' => '.', + ], ]; + foreach ($currencies as $currency) { Currency::create($currency); } diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 42076913..96eb3470 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -13,11 +13,8 @@ class DatabaseSeeder extends Seeder */ public function run() { - $this->call(UsersTableSeeder::class); $this->call(CurrenciesTableSeeder::class); - $this->call(DefaultSettingsSeeder::class); $this->call(CountriesTableSeeder::class); - $this->call(PaymentMethodSeeder::class); - $this->call(UnitSeeder::class); + $this->call(UsersTableSeeder::class); } } diff --git a/database/seeders/DefaultSettingsSeeder.php b/database/seeders/DefaultSettingsSeeder.php deleted file mode 100644 index 83a23478..00000000 --- a/database/seeders/DefaultSettingsSeeder.php +++ /dev/null @@ -1,72 +0,0 @@ -first(); - - $defaultInvoiceEmailBody = 'You have received a new invoice from {COMPANY_NAME}.
Please download using the button below:'; - $defaultEstimateEmailBody = 'You have received a new estimate from {COMPANY_NAME}.
Please download using the button below:'; - $defaultPaymentEmailBody = 'Thank you for the payment.
Please download your payment receipt using the button below:'; - $billingAddressFormat = '

{BILLING_ADDRESS_NAME}

{BILLING_ADDRESS_STREET_1}

{BILLING_ADDRESS_STREET_2}

{BILLING_CITY} {BILLING_STATE}

{BILLING_COUNTRY} {BILLING_ZIP_CODE}

{BILLING_PHONE}

'; - $shippingAddressFormat = '

{SHIPPING_ADDRESS_NAME}

{SHIPPING_ADDRESS_STREET_1}

{SHIPPING_ADDRESS_STREET_2}

{SHIPPING_CITY} {SHIPPING_STATE}

{SHIPPING_COUNTRY} {SHIPPING_ZIP_CODE}

{SHIPPING_PHONE}

'; - $companyAddressFormat = '

{COMPANY_NAME}

{COMPANY_ADDRESS_STREET_1}

{COMPANY_ADDRESS_STREET_2}

{COMPANY_CITY} {COMPANY_STATE}

{COMPANY_COUNTRY} {COMPANY_ZIP_CODE}

{COMPANY_PHONE}

'; - $paymentFromCustomerAddress = '

{BILLING_ADDRESS_NAME}

{BILLING_ADDRESS_STREET_1}

{BILLING_ADDRESS_STREET_2}

{BILLING_CITY} {BILLING_STATE} {BILLING_ZIP_CODE}

{BILLING_COUNTRY}

{BILLING_PHONE}

'; - - $settings = [ - 'invoice_auto_generate' => 'YES', - 'payment_auto_generate' => 'YES', - 'estimate_auto_generate' => 'YES', - 'save_pdf_to_disk' => 'NO', - 'invoice_mail_body' => $defaultInvoiceEmailBody, - 'estimate_mail_body' => $defaultEstimateEmailBody, - 'payment_mail_body' => $defaultPaymentEmailBody, - 'invoice_company_address_format' => $companyAddressFormat, - 'invoice_shipping_address_format' => $shippingAddressFormat, - 'invoice_billing_address_format' => $billingAddressFormat, - 'estimate_company_address_format' => $companyAddressFormat, - 'estimate_shipping_address_format' => $shippingAddressFormat, - 'estimate_billing_address_format' => $billingAddressFormat, - 'payment_company_address_format' => $companyAddressFormat, - 'payment_from_customer_address_format' => $paymentFromCustomerAddress, - 'currency' => 1, - 'time_zone' => 'Asia/Kolkata', - 'language' => 'en', - 'fiscal_year' => '1-12', - 'carbon_date_format' => 'Y/m/d', - 'moment_date_format' => 'YYYY/MM/DD', - 'notification_email' => 'noreply@crater.in', - 'notify_invoice_viewed' => 'NO', - 'notify_estimate_viewed' => 'NO', - 'tax_per_item' => 'NO', - 'discount_per_item' => 'NO', - 'invoice_prefix' => 'INV', - 'invoice_auto_generate' => 'YES', - 'invoice_number_length' => 6, - 'invoice_email_attachment' => 'NO', - 'estimate_prefix' => 'EST', - 'estimate_auto_generate' => 'YES', - 'estimate_number_length' => 6, - 'estimate_email_attachment' => 'NO', - 'payment_prefix' => 'PAY', - 'payment_auto_generate' => 'YES', - 'payment_number_length' => 6, - 'payment_email_attachment' => 'NO', - 'save_pdf_to_disk' => 'NO', - ]; - - CompanySetting::setSettings($settings, $user->company_id); - } -} diff --git a/database/seeders/DemoSeeder.php b/database/seeders/DemoSeeder.php index 0647ff49..f0209123 100644 --- a/database/seeders/DemoSeeder.php +++ b/database/seeders/DemoSeeder.php @@ -20,7 +20,7 @@ class DemoSeeder extends Seeder $user->setSettings(['language' => 'en']); - Address::create(['company_id' => $user->company_id, 'country_id' => 1]); + Address::create(['company_id' => $user->companies()->first()->id, 'country_id' => 1]); Setting::setSetting('profile_complete', 'COMPLETED'); diff --git a/database/seeders/PaymentMethodSeeder.php b/database/seeders/PaymentMethodSeeder.php deleted file mode 100644 index 4add3077..00000000 --- a/database/seeders/PaymentMethodSeeder.php +++ /dev/null @@ -1,22 +0,0 @@ - 'Cash', 'company_id' => 1]); - PaymentMethod::create(['name' => 'Check', 'company_id' => 1]); - PaymentMethod::create(['name' => 'Credit Card', 'company_id' => 1]); - PaymentMethod::create(['name' => 'Bank Transfer', 'company_id' => 1]); - } -} diff --git a/database/seeders/UnitSeeder.php b/database/seeders/UnitSeeder.php deleted file mode 100644 index e060b791..00000000 --- a/database/seeders/UnitSeeder.php +++ /dev/null @@ -1,29 +0,0 @@ - 'box', 'company_id' => 1]); - Unit::create(['name' => 'cm', 'company_id' => 1]); - Unit::create(['name' => 'dz', 'company_id' => 1]); - Unit::create(['name' => 'ft', 'company_id' => 1]); - Unit::create(['name' => 'g', 'company_id' => 1]); - Unit::create(['name' => 'in', 'company_id' => 1]); - Unit::create(['name' => 'kg', 'company_id' => 1]); - Unit::create(['name' => 'km', 'company_id' => 1]); - Unit::create(['name' => 'lb', 'company_id' => 1]); - Unit::create(['name' => 'mg', 'company_id' => 1]); - Unit::create(['name' => 'pc', 'company_id' => 1]); - } -} diff --git a/database/seeders/UsersTableSeeder.php b/database/seeders/UsersTableSeeder.php index 1c8a79ff..63f656be 100644 --- a/database/seeders/UsersTableSeeder.php +++ b/database/seeders/UsersTableSeeder.php @@ -6,6 +6,8 @@ use Crater\Models\Company; use Crater\Models\Setting; use Crater\Models\User; use Illuminate\Database\Seeder; +use Silber\Bouncer\BouncerFacade; +use Vinkla\Hashids\Facades\Hashids; class UsersTableSeeder extends Seeder { @@ -25,11 +27,16 @@ class UsersTableSeeder extends Seeder $company = Company::create([ 'name' => 'xyz', - 'unique_hash' => str_random(20), + 'owner_id' => $user->id ]); - $user->company_id = $company->id; - $user->save(); + $company->unique_hash = Hashids::connection(Company::class)->encode($company->id); + $company->save(); + $company->setupDefaultData(); + $user->companies()->attach($company->id); + BouncerFacade::scope()->to($company->id); + + $user->assign('super admin'); Setting::setSetting('profile_complete', 0); } diff --git a/docker-compose.yml b/docker-compose.yml index 4abae3ec..a3e8cf5e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -39,13 +39,23 @@ services: image: nginx:1.17-alpine restart: unless-stopped ports: - - 80:80 + - 8080:80 volumes: - ./:/var/www - ./docker-compose/nginx:/etc/nginx/conf.d/ networks: - crater + cron: + build: + context: ./ + dockerfile: ./docker-compose/cron.dockerfile + container_name: cron + volumes: + - ./:/var/www + networks: + - crater + volumes: db: diff --git a/docker-compose/cron.dockerfile b/docker-compose/cron.dockerfile new file mode 100644 index 00000000..633db3d2 --- /dev/null +++ b/docker-compose/cron.dockerfile @@ -0,0 +1,7 @@ +FROM php:7.4-fpm-alpine + +RUN docker-php-ext-install pdo pdo_mysql + +COPY docker-compose/crontab /etc/crontabs/root + +CMD ["crond", "-f"] diff --git a/docker-compose/crontab b/docker-compose/crontab new file mode 100644 index 00000000..777a48eb --- /dev/null +++ b/docker-compose/crontab @@ -0,0 +1 @@ +* * * * * cd /var/www && php artisan schedule:run >> /dev/stdout 2>&1 diff --git a/docker-compose/nginx/nginx.conf b/docker-compose/nginx/nginx.conf index 7210ee0e..ba2aa53b 100644 --- a/docker-compose/nginx/nginx.conf +++ b/docker-compose/nginx/nginx.conf @@ -13,9 +13,10 @@ server { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_read_timeout 300; } location / { try_files $uri $uri/ /index.php?$query_string; gzip_static on; } -} \ No newline at end of file +} diff --git a/docker-compose/php/uploads.ini b/docker-compose/php/uploads.ini index 98c2698f..293cde9e 100644 --- a/docker-compose/php/uploads.ini +++ b/docker-compose/php/uploads.ini @@ -1,3 +1,4 @@ file_uploads = On upload_max_filesize = 64M -post_max_size = 64M \ No newline at end of file +post_max_size = 64M +max_execution_time = 300 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..9daae7ba --- /dev/null +++ b/package-lock.json @@ -0,0 +1,8662 @@ +{ + "name": "crater-web", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "@headlessui/vue": "^1.4.0", + "@heroicons/vue": "^1.0.1", + "@popperjs/core": "^2.9.2", + "@tailwindcss/forms": "^0.3.3", + "@tiptap/core": "^2.0.0-beta.85", + "@tiptap/starter-kit": "^2.0.0-beta.81", + "@tiptap/vue-3": "^2.0.0-beta.38", + "@vuelidate/core": "^2.0.0-alpha.24", + "@vuelidate/validators": "^2.0.0-alpha.21", + "@vueuse/core": "^6.0.0", + "axios": "^0.19", + "chart.js": "^2.7.3", + "guid": "0.0.12", + "lodash": "^4.17.13", + "maska": "^1.4.6", + "mini-svg-data-uri": "^1.3.3", + "moment": "^2.29.1", + "pinia": "^2.0.0-beta.5", + "v-money3": "^3.13.5", + "v-tooltip": "^2.0.2", + "vue": "^3.2.0-beta.5", + "vue-flatpickr-component": "^9.0.3", + "vue-i18n": "^9.1.7", + "vue-router": "^4.0.8", + "vue3-colorpicker": "^1.0.5", + "vuedraggable": "^4.1.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^1.1.4", + "@vue/compiler-sfc": "^3.2.0-beta.5", + "autoprefixer": "^10.2.5", + "cross-env": "^5.1", + "eslint": "^7.27.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-vue": "^7.0.0-beta.4", + "laravel-vite": "^0.0.7", + "postcss": "^8.2.13", + "prettier": "^2.3.0", + "sass": "^1.32.12", + "tailwind-scrollbar": "^1.3.1", + "tailwindcss": "^2.2.7", + "vite": "^2.0.1" + } + }, + "node_modules/@aesoper/normal-utils": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@aesoper/normal-utils/-/normal-utils-0.1.5.tgz", + "integrity": "sha512-LFF/6y6h5mfwhnJaWqqxuC8zzDaHCG62kMRkd8xhDtq62TQj9dM17A9DhE87W7DhiARJsHLgcina/9P4eNCN1w==" + }, + "node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@headlessui/vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.4.0.tgz", + "integrity": "sha512-BBLDciyKiGK03whaSVkUacDY2Cd5AR05JCUPWQLvQ9HtjQc9tv5RyPpcdmoXJa+XWI10e3U1JxL+8FY7kJMcEQ==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/@heroicons/vue": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-1.0.4.tgz", + "integrity": "sha512-jm7JMoUGr7Asn07oYNmewxkdQALnskTzRo17iGpHG/apLcc+GFdvdN4XvWZ2awStodaqeZ4eYWg7UcI0LvLETQ==", + "peerDependencies": { + "vue": ">= 3" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "node_modules/@intlify/core-base": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.1.7.tgz", + "integrity": "sha512-q1W2j81xbHyfKrNcca/CeJyf0Bcx4u9UDu05l7AaiJbqOseTme2o2I3wp1hDDCtmC7k7HgX0sAygyHNJH9swuQ==", + "dependencies": { + "@intlify/devtools-if": "9.1.7", + "@intlify/message-compiler": "9.1.7", + "@intlify/message-resolver": "9.1.7", + "@intlify/runtime": "9.1.7", + "@intlify/shared": "9.1.7", + "@intlify/vue-devtools": "9.1.7" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/devtools-if": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.1.7.tgz", + "integrity": "sha512-/DcN5FUySSkQhDqx5y1RvxfuCXO3Ot/dUEIOs472qbM7Hyb2qif+eXCnwHBzlI4+wEfQVT6L0PiM1a7Er/ro9g==", + "dependencies": { + "@intlify/shared": "9.1.7" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/message-compiler": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.1.7.tgz", + "integrity": "sha512-JZNkAhr3O7tnbdbRBcpYfqr/Ai26WTzX0K/lV8Y1KVdOIj/dGiamaffdWUdFiDXUnbJRNbPiOaKxy7Pwip3KxQ==", + "dependencies": { + "@intlify/message-resolver": "9.1.7", + "@intlify/shared": "9.1.7", + "source-map": "0.6.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/message-resolver": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/message-resolver/-/message-resolver-9.1.7.tgz", + "integrity": "sha512-WTK+OaXJYjyquLGhuCyDvU2WHkG+kXzXeHagmVFHn+s118Jf2143zzkLLUrapP5CtZ/csuyjmYg7b3xQRQAmvw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/runtime": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/runtime/-/runtime-9.1.7.tgz", + "integrity": "sha512-QURPSlzhOVnRwS2XMGpCDsDkP42kfVBh94aAORxh/gVGzdgJip2vagrIFij/J69aEqdB476WJkMhVjP8VSHmiA==", + "dependencies": { + "@intlify/message-compiler": "9.1.7", + "@intlify/message-resolver": "9.1.7", + "@intlify/shared": "9.1.7" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/shared": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.1.7.tgz", + "integrity": "sha512-zt0zlUdalumvT9AjQNxPXA36UgOndUyvBMplh8uRZU0fhWHAwhnJTcf0NaG9Qvr8I1n3HPSs96+kLb/YdwTavQ==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/@intlify/vue-devtools": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.1.7.tgz", + "integrity": "sha512-DI5Wc0aOiohtBUGUkKAcryCWbbuaO4/PK4Pa/LaNCsFNxbtgR5qkIDmhBv9xVPYGTUhySXxaDDAMvOpBjhPJjw==", + "dependencies": { + "@intlify/message-resolver": "9.1.7", + "@intlify/runtime": "9.1.7", + "@intlify/shared": "9.1.7" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz", + "integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.3.3.tgz", + "integrity": "sha512-U8Fi/gq4mSuaLyLtFISwuDYzPB73YzgozjxOIHsK6NXgg/IWD1FLaHbFlWmurAMyy98O+ao74ksdQefsquBV1Q==", + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=2.0.0" + } + }, + "node_modules/@tiptap/core": { + "version": "2.0.0-beta.99", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.0-beta.99.tgz", + "integrity": "sha512-DoSIgeYyWGWTDVHyquVM5SM61T4U8kKWjlmOtSPcee13Z5zXrbCBSxCTgtC3uh7I+OcoE/PNQQFMU9yWZzKnhw==", + "dependencies": { + "@types/prosemirror-commands": "^1.0.4", + "@types/prosemirror-inputrules": "^1.0.4", + "@types/prosemirror-keymap": "^1.0.4", + "@types/prosemirror-model": "^1.13.1", + "@types/prosemirror-schema-list": "^1.0.3", + "@types/prosemirror-state": "^1.2.7", + "@types/prosemirror-transform": "^1.1.4", + "@types/prosemirror-view": "^1.17.2", + "prosemirror-commands": "^1.1.10", + "prosemirror-inputrules": "^1.1.3", + "prosemirror-keymap": "^1.1.3", + "prosemirror-model": "^1.14.3", + "prosemirror-schema-list": "^1.1.5", + "prosemirror-state": "^1.3.4", + "prosemirror-transform": "^1.3.2", + "prosemirror-view": "^1.19.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + } + }, + "node_modules/@tiptap/extension-blockquote": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.15.tgz", + "integrity": "sha512-Cso44KsYsqKqaNveQmx5KVaLy9krq5AzE9WhGVDBSFqWhvuIJkQYrTRBbOTfUDs/st9VuwJrbjTDD65ow50wEw==", + "dependencies": { + "prosemirror-inputrules": "^1.1.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-bold": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.15.tgz", + "integrity": "sha512-jKyV6iiwhxwa0+7uuKD74jNDVNLNOS1GmU14MgaA95pY5e1fyaRBPPX8Gtt89niz2CLOY711AV17RPZTe/e60w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-bubble-menu": { + "version": "2.0.0-beta.39", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.39.tgz", + "integrity": "sha512-hmA+ePR+MnRaTJ5MxoZ3yqOcK54cW2KQllZx16ZwSyM+yU9bXVhfMmyZwqRD7GGQFkrfnPm5QnedXDBYJD19OQ==", + "dependencies": { + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.20.1", + "tippy.js": "^6.3.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-bullet-list": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.15.tgz", + "integrity": "sha512-5i44JzsZOh8Ci6CuYRQy6W3jCpYgX0+VuJKeHvZ6Aomy4Qqrtc9Jk43PBmCj91lNUUtH6Io9l+kDrLCumEFnEg==", + "dependencies": { + "prosemirror-inputrules": "^1.1.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-code": { + "version": "2.0.0-beta.16", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.0.0-beta.16.tgz", + "integrity": "sha512-Kakg/RMiVrxjzIkLVDXtbCzRh/9W8dgSG04IhMZNOI8N9vWn8Z78jdUyxEEDTcL/JyWWcMxn9AsJw2U5ajO3pA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-code-block": { + "version": "2.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.18.tgz", + "integrity": "sha512-E2gz7ovl9nXLZzheqLyN3hi7A10fCaodDn4DvIl4wiEbKZpF7WFBNeb+FQetWNay9UWNeDO94SCX9+rT9H+yHA==", + "dependencies": { + "prosemirror-inputrules": "^1.1.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-document": { + "version": "2.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.0-beta.13.tgz", + "integrity": "sha512-nrufdKziA/wovaY4DjGkc8OGuIZi8CH8CW3+yYfeWbruwFKkyZHlZy9nplFWSEqBHPAeqD+px9r91yGMW3ontA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-dropcursor": { + "version": "2.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.19.tgz", + "integrity": "sha512-rslIcVvD42NNh5sEbkCkG03DWMFBrS5KoK+lDOdIcC1DjmTtpVgcLvvE01btzaB3ljx+UVqI2Zaxa6VOiTeEMw==", + "dependencies": { + "@types/prosemirror-dropcursor": "^1.0.3", + "prosemirror-dropcursor": "^1.3.5" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-floating-menu": { + "version": "2.0.0-beta.33", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.33.tgz", + "integrity": "sha512-8s8DPnHIzXg7E7S/DjuS1AAFZKVYXY0KBKaEd1f2V45YOkKwN9El46Ugk/4Ir3yrrllvnisbP9ol+BAQmI0bMg==", + "dependencies": { + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.20.1", + "tippy.js": "^6.3.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-gapcursor": { + "version": "2.0.0-beta.24", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.24.tgz", + "integrity": "sha512-/6Ru0wNLIb3fo30Ar3z/rcakoUA2EIJL9sBFiuyHWTAIujeEaBzA6oG5L4PpP+daKd31JF0I6LjeWMSU9CBSFw==", + "dependencies": { + "@types/prosemirror-gapcursor": "^1.0.4", + "prosemirror-gapcursor": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-hard-break": { + "version": "2.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.21.tgz", + "integrity": "sha512-Ukl+wjfLhE0tW7lWRpSPPo2tajjGnEaSc/Irey1JineFf+x/azA9rREzQy0r2AhORTalH7lj/KDmSdG8IT6syA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-heading": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.15.tgz", + "integrity": "sha512-UoXDwEdCV9KiPh0wj0jj2Jt6VDqkoTaSU3d9bmEBLwg1Gjgbuv39JDst7oxSqbf9rgbl3txbeOy35wVBKe9CqA==", + "dependencies": { + "prosemirror-inputrules": "^1.1.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-history": { + "version": "2.0.0-beta.16", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.0-beta.16.tgz", + "integrity": "sha512-nrNwV8a7zUt1t2I/kPX5Y6N9vZ8mrugimJIQmPGIp/4mmw1SEUzkaPpIsv6+ELmqMHSDktQ0ofb3pXeWDXWZvw==", + "dependencies": { + "@types/prosemirror-history": "^1.0.3", + "prosemirror-history": "^1.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-horizontal-rule": { + "version": "2.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.21.tgz", + "integrity": "sha512-fgvRGuNEGWAitbcoz6VZSR9gcVIHksTy2QpXPnQC+N9Mi7havaxreYdMZn+oePW/5kdZoZNRx+jsf5DjKomvoQ==", + "dependencies": { + "prosemirror-state": "^1.3.4" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-italic": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.15.tgz", + "integrity": "sha512-ZCz1vCysLdvOUrwODuyBP0BDaemCLh6ib7qTYoSDKdive9kfn0Vc5Fg3o8xgHrtrUfwKIJz/sWOknjDEGIc9cw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-list-item": { + "version": "2.0.0-beta.14", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.14.tgz", + "integrity": "sha512-t6xwEqP+d5443Ul2Jvqz9kXb3ro7bA7yY9HA0vskm3120WxxHW9jxgxZN+82Ot5Tm7nXOAlsN6vuqnt4idnxZQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-ordered-list": { + "version": "2.0.0-beta.16", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.16.tgz", + "integrity": "sha512-3n0h5FBfQqBrN/zqF/Ngoyd1bZxeIRLwWI7ak4KulpvOg5V/yw3sw5CSxr2f13ZI9AgGaTq8yOsTYs9dkCCnsQ==", + "dependencies": { + "prosemirror-inputrules": "^1.1.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-paragraph": { + "version": "2.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.17.tgz", + "integrity": "sha512-qCQVCf9c2hgaeIdfy22PaoZyW5Vare/1aGkOEAaZma5RjrUbV9hrRKwoW9LsDjnh1EN1fIeKdg02yEhnHWtG8A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-strike": { + "version": "2.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.17.tgz", + "integrity": "sha512-+WRd0RuCK4+jFKNVN+4rHTa5VMqqGDO2uc+TknkqhFqWp/z96OAGlpHJOwPrnW1fLbpjEBBQIr1vVYSw6KgcZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/extension-text": { + "version": "2.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.0-beta.13.tgz", + "integrity": "sha512-0EtAwuRldCAoFaL/iXgkRepEeOd55rPg5N4FQUN1xTwZT7PDofukP0DG/2jff/Uj17x4uTaJAa9qlFWuNnDvjw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@tiptap/starter-kit": { + "version": "2.0.0-beta.97", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.0.0-beta.97.tgz", + "integrity": "sha512-ySnJPG6px/Pv99TGCrgXOi7Ahh1qkpV171C791lLlFuH+lXMo719bWaeCTEiBDxjamVzh18nEJkIxyu6sucpSg==", + "dependencies": { + "@tiptap/core": "^2.0.0-beta.99", + "@tiptap/extension-blockquote": "^2.0.0-beta.15", + "@tiptap/extension-bold": "^2.0.0-beta.15", + "@tiptap/extension-bullet-list": "^2.0.0-beta.15", + "@tiptap/extension-code": "^2.0.0-beta.16", + "@tiptap/extension-code-block": "^2.0.0-beta.17", + "@tiptap/extension-document": "^2.0.0-beta.13", + "@tiptap/extension-dropcursor": "^2.0.0-beta.18", + "@tiptap/extension-gapcursor": "^2.0.0-beta.19", + "@tiptap/extension-hard-break": "^2.0.0-beta.15", + "@tiptap/extension-heading": "^2.0.0-beta.15", + "@tiptap/extension-history": "^2.0.0-beta.15", + "@tiptap/extension-horizontal-rule": "^2.0.0-beta.19", + "@tiptap/extension-italic": "^2.0.0-beta.15", + "@tiptap/extension-list-item": "^2.0.0-beta.14", + "@tiptap/extension-ordered-list": "^2.0.0-beta.15", + "@tiptap/extension-paragraph": "^2.0.0-beta.17", + "@tiptap/extension-strike": "^2.0.0-beta.17", + "@tiptap/extension-text": "^2.0.0-beta.13" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + } + }, + "node_modules/@tiptap/vue-3": { + "version": "2.0.0-beta.52", + "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-2.0.0-beta.52.tgz", + "integrity": "sha512-bHfJuhlCYOp+V3njGS4qQUVwyfjjb7KtPhZwl0FfYSNJ6/BTHYltd6L+UiQzVdcaoWFvPyF47fZajx602B5FGA==", + "dependencies": { + "@tiptap/extension-bubble-menu": "^2.0.0-beta.29", + "@tiptap/extension-floating-menu": "^2.0.0-beta.23", + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.19.0", + "vue": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/ueberdosis" + }, + "peerDependencies": { + "@tiptap/core": "^2.0.0-beta.1" + } + }, + "node_modules/@types/estree": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz", + "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==", + "dev": true + }, + "node_modules/@types/orderedmap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/orderedmap/-/orderedmap-1.0.0.tgz", + "integrity": "sha512-dxKo80TqYx3YtBipHwA/SdFmMMyLCnP+5mkEqN0eMjcTBzHkiiX0ES118DsjDBjvD+zeSsSU9jULTZ+frog+Gw==" + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/prosemirror-commands": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-commands/-/prosemirror-commands-1.0.4.tgz", + "integrity": "sha512-utDNYB3EXLjAfYIcRWJe6pn3kcQ5kG4RijbT/0Y/TFOm6yhvYS/D9eJVnijdg9LDjykapcezchxGRqFD5LcyaQ==", + "dependencies": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*", + "@types/prosemirror-view": "*" + } + }, + "node_modules/@types/prosemirror-dropcursor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/prosemirror-dropcursor/-/prosemirror-dropcursor-1.0.3.tgz", + "integrity": "sha512-b0/8njnJ4lwyHKcGuCMf3x7r1KjxyugB1R/c2iMCjplsJHSC7UY9+OysqgJR5uUXRekUSGniiLgBtac/lvH6wg==", + "dependencies": { + "@types/prosemirror-state": "*" + } + }, + "node_modules/@types/prosemirror-gapcursor": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.4.tgz", + "integrity": "sha512-9xKjFIG5947dzerFvkLWp6F53JwrUYoYwh3SgcTFEp8SbSfNNrez/PFYVZKPnoqPoaK5WtTdQTaMwpCV9rXQIg==", + "dependencies": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "node_modules/@types/prosemirror-history": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/prosemirror-history/-/prosemirror-history-1.0.3.tgz", + "integrity": "sha512-5TloMDRavgLjOAKXp1Li8u0xcsspzbT1Cm9F2pwHOkgvQOz1jWQb2VIXO7RVNsFjLBZdIXlyfSLivro3DuMWXg==", + "dependencies": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "node_modules/@types/prosemirror-inputrules": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-inputrules/-/prosemirror-inputrules-1.0.4.tgz", + "integrity": "sha512-lJIMpOjO47SYozQybUkpV6QmfuQt7GZKHtVrvS+mR5UekA8NMC5HRIVMyaIauJLWhKU6oaNjpVaXdw41kh165g==", + "dependencies": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "node_modules/@types/prosemirror-keymap": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-keymap/-/prosemirror-keymap-1.0.4.tgz", + "integrity": "sha512-ycevwkqUh+jEQtPwqO7sWGcm+Sybmhu8MpBsM8DlO3+YTKnXbKA6SDz/+q14q1wK3UA8lHJyfR+v+GPxfUSemg==", + "dependencies": { + "@types/prosemirror-commands": "*", + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*", + "@types/prosemirror-view": "*" + } + }, + "node_modules/@types/prosemirror-model": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@types/prosemirror-model/-/prosemirror-model-1.13.2.tgz", + "integrity": "sha512-a2rDB0aZ+7aIP7uBqQq1wLb4Hg4qqEvpkCqvhsgT/gG8IWC0peCAZfQ24sgTco0qSJLeDgIbtPeU6mgr869/kg==", + "dependencies": { + "@types/orderedmap": "*" + } + }, + "node_modules/@types/prosemirror-schema-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-list/-/prosemirror-schema-list-1.0.3.tgz", + "integrity": "sha512-uWybOf+M2Ea7rlbs0yLsS4YJYNGXYtn4N+w8HCw3Vvfl6wBAROzlMt0gV/D/VW/7J/LlAjwMezuGe8xi24HzXA==", + "dependencies": { + "@types/orderedmap": "*", + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "node_modules/@types/prosemirror-state": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/prosemirror-state/-/prosemirror-state-1.2.7.tgz", + "integrity": "sha512-clJf5uw3/XQnBJtl2RqYXoLMGBySnLYl43xtDvFfQZKkLnnYcM1SDU8dcz7lWjl2Dm+H98RpLOl44pp7DYT+wA==", + "dependencies": { + "@types/prosemirror-model": "*", + "@types/prosemirror-transform": "*", + "@types/prosemirror-view": "*" + } + }, + "node_modules/@types/prosemirror-transform": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-transform/-/prosemirror-transform-1.1.4.tgz", + "integrity": "sha512-HP1PauvkqSgDquZut8HaLOTUDQ6jja/LAy4OA7tTS1XG7wqRnX3gLUyEj0mD6vFd4y8BPkNddNdOh/BeGHlUjg==", + "dependencies": { + "@types/prosemirror-model": "*" + } + }, + "node_modules/@types/prosemirror-view": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prosemirror-view/-/prosemirror-view-1.19.1.tgz", + "integrity": "sha512-fyQ4NVxAdfISWrE2qT8cpZdosXoH/1JuVYMBs9CdaXPbvi/8R2L2tkkcMRM314piKrO8nfYH5OBZKzP2Ax3jtA==", + "dependencies": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*", + "@types/prosemirror-transform": "*" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.4.0.tgz", + "integrity": "sha512-RkqfJHz9wdLKBp5Yi+kQL8BAljdrvPoccQm2PTZc/UcL4EjD11xsv2PPCduYx2oV1a/bpSKA3sD5sxOHFhz+LA==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@vue/compiler-sfc": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.4.tgz", + "integrity": "sha512-c8NuQq7mUXXxA4iqD5VUKpyVeklK53+DMbojYMyZ0VPPrb0BUWrZWFiqSDT+MFDv0f6Hv3QuLiHWb1BWMXBbrw==", + "dependencies": { + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.2.4", + "estree-walker": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.4.tgz", + "integrity": "sha512-uj1nwO4794fw2YsYas5QT+FU/YGrXbS0Qk+1c7Kp1kV7idhZIghWLTjyvYibpGoseFbYLPd+sW2/noJG5H04EQ==", + "dependencies": { + "@vue/compiler-core": "3.2.4", + "@vue/shared": "3.2.4" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.4.tgz", + "integrity": "sha512-GM+ouDdDzhqgkLmBH4bgq4kiZxJQArSppJiZHWHIx9XRaefHLmc1LBNPmN8ivm4SVfi2i7M2t9k8ZnjsScgzPQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.13.9", + "@babel/types": "^7.13.0", + "@types/estree": "^0.0.48", + "@vue/compiler-core": "3.2.4", + "@vue/compiler-dom": "3.2.4", + "@vue/compiler-ssr": "3.2.4", + "@vue/shared": "3.2.4", + "consolidate": "^0.16.0", + "estree-walker": "^2.0.1", + "hash-sum": "^2.0.0", + "lru-cache": "^5.1.1", + "magic-string": "^0.25.7", + "merge-source-map": "^1.1.0", + "postcss": "^8.1.10", + "postcss-modules": "^4.0.0", + "postcss-selector-parser": "^6.0.4", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@vue/compiler-core": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.4.tgz", + "integrity": "sha512-c8NuQq7mUXXxA4iqD5VUKpyVeklK53+DMbojYMyZ0VPPrb0BUWrZWFiqSDT+MFDv0f6Hv3QuLiHWb1BWMXBbrw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.2.4", + "estree-walker": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/@vue/compiler-ssr": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.4.tgz", + "integrity": "sha512-bKZuXu9/4XwsFHFWIKQK+5kN7mxIIWmMmT2L4VVek7cvY/vm3p4WTsXYDGZJy0htOTXvM2ifr6sflg012T0hsw==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.4", + "@vue/shared": "3.2.4" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.19.tgz", + "integrity": "sha512-oLon0Cn3O7WEYzzmzZavGoqXH+199LT+smdjBT3Uf3UX4HwDNuBFCmvL0TsqV9SQnIgKvBRbQ7lhbpnd4lqM3w==", + "dependencies": { + "@vue/compiler-dom": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/@vue/compiler-ssr/node_modules/@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr/node_modules/@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "dependencies": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/@vue/compiler-ssr/node_modules/@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "node_modules/@vue/devtools-api": { + "version": "6.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.0.0-beta.18.tgz", + "integrity": "sha512-56vRhO7nXWWFYTx520BQSDlQH5VYpwy62hFDEqi2yHHEBpEqseOP5WYQusq7BEW3DXSY9E9cfPVR5CFtJbKuMg==" + }, + "node_modules/@vue/reactivity": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.4.tgz", + "integrity": "sha512-ljWTR0hr8Tn09hM2tlmWxZzCBPlgGLnq/k8K8X6EcJhtV+C8OzFySnbWqMWataojbrQOocThwsC8awKthSl2uQ==", + "dependencies": { + "@vue/shared": "3.2.4" + } + }, + "node_modules/@vue/ref-transform": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.19.tgz", + "integrity": "sha512-03wwUnoIAeKti5IGGx6Vk/HEBJ+zUcm5wrUM3+PQsGf7IYnXTbeIfHHpx4HeSeWhnLAjqZjADQwW8uA4rBmVbg==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/ref-transform/node_modules/@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/ref-transform/node_modules/@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.4.tgz", + "integrity": "sha512-W6PtEOs8P8jKYPo3JwaMAozZQivxInUleGfNwI2pK1t8ZLZIxn4kAf7p4VF4jJdQB8SZBzpfWdLUc06j7IOmpQ==", + "dependencies": { + "@vue/reactivity": "3.2.4", + "@vue/shared": "3.2.4" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.4.tgz", + "integrity": "sha512-HcVtLyn2SGwsf6BFPwkvDPDOhOqkOKcfHDpBp5R1coX+qMsOFrY8lJnGXIY+JnxqFjND00E9+u+lq5cs/W7ooA==", + "dependencies": { + "@vue/runtime-core": "3.2.4", + "@vue/shared": "3.2.4", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.19.tgz", + "integrity": "sha512-A9FNT7fgQJXItwdzWREntAgWKVtKYuXHBKGev/H4+ByTu8vB7gQXGcim01QxaJshdNg4dYuH2tEBZXCNCNx+/w==", + "dependencies": { + "@vue/compiler-ssr": "3.2.19", + "@vue/shared": "3.2.19" + }, + "peerDependencies": { + "vue": "3.2.19" + } + }, + "node_modules/@vue/server-renderer/node_modules/@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "node_modules/@vue/shared": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.4.tgz", + "integrity": "sha512-j2j1MRmjalVKr3YBTxl/BClSIc8UQ8NnPpLYclxerK65JIowI4O7n8O8lElveEtEoHxy1d7BelPUDI0Q4bumqg==" + }, + "node_modules/@vuelidate/core": { + "version": "2.0.0-alpha.24", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.0-alpha.24.tgz", + "integrity": "sha512-WwAVpxAUMT7DFFTYNaieGBgz3az8mtV8v/waHJPcBGx/q4g3m6cxe1GONC/L/695XrETO8vJRXLkiqCPXrfIQQ==", + "dependencies": { + "vue-demi": "^0.11.3" + } + }, + "node_modules/@vuelidate/validators": { + "version": "2.0.0-alpha.21", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.0-alpha.21.tgz", + "integrity": "sha512-Ch+dW2hSWxAv+DcCEbpMVB58rylrCRxrGQMvL1gJKtq2SdrIrvw+IfgGL9VtxLx8U8gqlDiqy7M4Ycu59rUSnA==", + "dependencies": { + "vue-demi": "^0.11.3" + } + }, + "node_modules/@vueuse/core": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-6.0.0.tgz", + "integrity": "sha512-PuBfNo/Zv+NkLcZaYWBA1WjqxQhTDC0DMQpoAIJdo/GFul/1SpBbONhUho2zqtOmq8vyGuK200wNFvyA4YUAMg==", + "dependencies": { + "@vueuse/shared": "6.0.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.1.0", + "vue": "^2.6.0 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vueuse/shared": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-6.0.0.tgz", + "integrity": "sha512-PLjjqL8bxI5q86qk/ifXy572nfQE3rJc1RMem+dKcGayaagMnC4kXHEt64V98DVielSwr2FuYaeFodi4KJrvdg==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.1.0", + "vue": "^2.6.0 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/autoprefixer": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", + "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001243", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dependencies": { + "follow-redirects": "1.5.10" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/body-scroll-lock": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz", + "integrity": "sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.2.tgz", + "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001261", + "electron-to-chromium": "^1.3.854", + "escalade": "^3.1.1", + "nanocolors": "^0.2.12", + "node-releases": "^1.1.76" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001264", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001264.tgz", + "integrity": "sha512-Ftfqqfcs/ePiUmyaySsQ4PUsdcYyXG2rfoBVsk3iY1ahHaJEw65vfb7Suzqm+cEkwwPIv/XWkg27iCpRavH4zA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "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/chalk/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/chalk/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/chalk/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/chalk/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/chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "dependencies": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "node_modules/chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "dependencies": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "node_modules/chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/clipboard": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", + "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", + "dependencies": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-convert/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "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==" + }, + "node_modules/color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorette": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==" + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/consolidate": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", + "dev": true, + "dependencies": { + "bluebird": "^3.7.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/core-js": { + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", + "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "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/cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dev": true, + "dependencies": { + "cross-spawn": "^6.0.5" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/cross-env/node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-env/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/cross-env/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/cross-env/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cross-env/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cross-env/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "2.6.18", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.18.tgz", + "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==" + }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "node_modules/delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.3.857", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.857.tgz", + "integrity": "sha512-a5kIr2lajm4bJ5E4D3fp8Y/BRB0Dx2VOcCRE5Gtb679mXIME/OFhWler8Gy2ksrf8gFX+EFCSIGA33FB3gqYpg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-ex/node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.12.29", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.29.tgz", + "integrity": "sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.16.0.tgz", + "integrity": "sha512-0E2dVvVC7I2Xm1HXyx+ZwPj9CNX4NJjs4K4r+GVsHWyt5Pew3JLD4fI7A91b2jeL0TXE7LlszrwLSTJU9eqehw==", + "dev": true, + "dependencies": { + "eslint-utils": "^2.1.0", + "natural-compare": "^1.4.0", + "semver": "^6.3.0", + "vue-eslint-parser": "^7.10.0" + }, + "engines": { + "node": ">=8.10" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/eslint/node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatpickr": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz", + "integrity": "sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==" + }, + "node_modules/flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dependencies": { + "debug": "=3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/follow-redirects/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/follow-redirects/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "node_modules/generic-names": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz", + "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "dependencies": { + "delegate": "^3.1.2" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "node_modules/guid": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/guid/-/guid-0.0.12.tgz", + "integrity": "sha1-kTfFKxhffeEkkLm+vMFmC5Al/gw=", + "deprecated": "Please use node-uuid instead. It is much better." + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "dependencies": { + "import-from": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-from/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/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 + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/laravel-vite": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/laravel-vite/-/laravel-vite-0.0.7.tgz", + "integrity": "sha512-ko4Ux1bBXBnGoIFAvhmXuTwZ39RIIzdX2u7cXorfFlNLmSLvB0B5w0zZuykZmWdIK4GrGohLmkAtEYS/5pR08Q==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "deepmerge": "^4.2.2", + "dotenv": "^8.2.0", + "execa": "^5.0.0" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", + "dev": true + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "dependencies": { + "sourcemap-codec": "^1.4.4" + } + }, + "node_modules/maska": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/maska/-/maska-1.4.6.tgz", + "integrity": "sha512-dEZcoGp5Wufm2PZ4qZD81WKNaWO6XBIiHLazt5xShl4lydlH/5ZoLGEyJfzBaREXbAnsE5THShLyJKIaIeIuvA==" + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.3.3.tgz", + "integrity": "sha512-+fA2oRcR1dJI/7ITmeQJDrYWks0wodlOz0pAEhKYJ2IVc1z0AnwJUsKY2fzFmPAM3Jo9J0rBx8JAA9QQSJ5PuA==", + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==", + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanocolors": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", + "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.1.28", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz", + "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-releases": { + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/orderedmap": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-1.1.1.tgz", + "integrity": "sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "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/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "2.0.0-rc.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.0-rc.6.tgz", + "integrity": "sha512-IqArmLmWJB5wZzELZfFF42bMaulo6cjMvL1wgUjWfmzaGCt1HYOAXN86s6HrdAueeEWj9Ov6lNNOHB1DFQxthw==", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.15", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.1.1", + "typescript": "^4.3.5", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "dependencies": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "dependencies": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-modules": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.2.2.tgz", + "integrity": "sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==", + "dev": true, + "dependencies": { + "generic-names": "^2.0.1", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.5.tgz", + "integrity": "sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.13" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prosemirror-commands": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.1.10.tgz", + "integrity": "sha512-IWyBBXNAd44RM6NnBPljwq+/CM2oYCQJkF+YhKEAZNwzW0uFdGf4qComhjbKZzqFdu6Iub2ZhNsXgwPibA0lCQ==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-dropcursor": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.5.tgz", + "integrity": "sha512-tNUwcF2lPAkwKBZPZRtbxpwljnODRNZ3eiYloN1DSUqDjMT1nBZm0nejaEMS1TvNQ+3amibUSAiV4hX+jpASFA==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0", + "prosemirror-view": "^1.1.0" + } + }, + "node_modules/prosemirror-gapcursor": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.2.0.tgz", + "integrity": "sha512-yCLy5+0rVqLir/KcHFathQj4Rf8aRHi80FmEfKtM0JmyzvwdomslLzDZ/pX4oFhFKDgjl/WBBBFNqDyNifWg7g==", + "dependencies": { + "prosemirror-keymap": "^1.0.0", + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-view": "^1.0.0" + } + }, + "node_modules/prosemirror-history": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.2.0.tgz", + "integrity": "sha512-B9v9xtf4fYbKxQwIr+3wtTDNLDZcmMMmGiI3TAPShnUzvo+Rmv1GiUrsQChY1meetHl7rhML2cppF3FTs7f7UQ==", + "dependencies": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "rope-sequence": "^1.3.0" + } + }, + "node_modules/prosemirror-inputrules": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.1.3.tgz", + "integrity": "sha512-ZaHCLyBtvbyIHv0f5p6boQTIJjlD6o2NPZiEaZWT2DA+j591zS29QQEMT4lBqwcLW3qRSf7ZvoKNbf05YrsStw==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-keymap": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz", + "integrity": "sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==", + "dependencies": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "node_modules/prosemirror-model": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.14.3.tgz", + "integrity": "sha512-yzZlBaSxfUPIIP6U5Edh5zKxJPZ5f7bwZRhiCuH3UYkWhj+P3d8swHsbuAMOu/iDatDc5J/Qs5Mb3++mZf+CvQ==", + "dependencies": { + "orderedmap": "^1.1.0" + } + }, + "node_modules/prosemirror-schema-list": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.1.6.tgz", + "integrity": "sha512-aFGEdaCWmJzouZ8DwedmvSsL50JpRkqhQ6tcpThwJONVVmCgI36LJHtoQ4VGZbusMavaBhXXr33zyD2IVsTlkw==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-state": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.3.4.tgz", + "integrity": "sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==", + "dependencies": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "node_modules/prosemirror-transform": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.3.3.tgz", + "integrity": "sha512-9NLVXy1Sfa2G6qPqhWMkEvwQQMTw7OyTqOZbJaGQWsCeH3hH5Cw+c5eNaLM1Uu75EyKLsEZhJ93XpHJBa6RX8A==", + "dependencies": { + "prosemirror-model": "^1.0.0" + } + }, + "node_modules/prosemirror-view": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.20.1.tgz", + "integrity": "sha512-djWORhy3a706mUH4A2dgEEV0IPZqQd1tFyz/ZVHJNoqhSgq82FwG6dq7uqHeUB2KdVSNfI2yc3rwfqlC/ll2pA==", + "dependencies": { + "prosemirror-model": "^1.14.3", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/purgecss": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz", + "integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==", + "dev": true, + "dependencies": { + "commander": "^6.0.0", + "glob": "^7.0.0", + "postcss": "^8.2.1", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "dependencies": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.58.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.58.0.tgz", + "integrity": "sha512-NOXpusKnaRpbS7ZVSzcEXqxcLDOagN6iFS8p45RkoiMqPHDLwJm758UF05KlMoCRbLBTZsPOIa887gZJ1AiXvw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rope-sequence": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.2.tgz", + "integrity": "sha512-ku6MFrwEVSVmXLvy3dYph3LAMNS0890K7fabn+0YIRQ2T96T9F4gkFf0vf0WW0JUraNWwGRtInEpH7yO4tbQZg==" + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sass": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.0.tgz", + "integrity": "sha512-WBccZeMigAGKoI+NgD7Adh0ab1HUq+6BmyBUEaGxtErbUtWUevEbdgo5EZiJQofLUGcKtlNaO2IdN73AHEua5g==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "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, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/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/slice-ansi/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/sortablejs": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", + "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "node_modules/string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/table": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "dev": true, + "dependencies": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/tailwind-scrollbar": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-1.3.1.tgz", + "integrity": "sha512-FeYuLxLtCRMO4PmjPJCzm5wQouFro2BInZXKPxqg54DR/55NAHoS8uNYWMiRG5l6qsLkWBfVEM34gq2XAQUwVg==", + "dev": true, + "dependencies": { + "tailwindcss": ">1.9.6" + } + }, + "node_modules/tailwind-scrollbar/node_modules/color": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-4.0.1.tgz", + "integrity": "sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.6.0" + } + }, + "node_modules/tailwind-scrollbar/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/tailwind-scrollbar/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwind-scrollbar/node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/tailwind-scrollbar/node_modules/tailwindcss": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.16.tgz", + "integrity": "sha512-EireCtpQyyJ4Xz8NYzHafBoy4baCOO96flM0+HgtsFcIQ9KFy/YBK3GEtlnD+rXen0e4xm8t3WiUcKBJmN6yjg==", + "dev": true, + "dependencies": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.7.tgz", + "integrity": "sha512-jv35rugP5j8PpzbXnsria7ZAry7Evh0KtQ4MZqNd+PhF+oIKPwJTVwe/rmfRx9cZw3W7iPZyzBmeoAoNwfJ1yg==", + "dev": true, + "dependencies": { + "arg": "^5.0.0", + "bytes": "^3.0.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.2", + "color": "^3.2.0", + "cosmiconfig": "^7.0.0", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.0", + "html-tags": "^3.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.8.1", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.5", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "node_modules/tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "node_modules/tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==", + "engines": { + "node": "*" + } + }, + "node_modules/tippy.js": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.2.tgz", + "integrity": "sha512-35XVQI7Zl/jHZ51+8eHu/vVRXBjWYGobPm5G9FxOchj4r5dWhghKGS0nm0ARUKZTF96V7pPn7EbXS191NTwldw==", + "dependencies": { + "@popperjs/core": "^2.9.0" + } + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/v-money3": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/v-money3/-/v-money3-3.16.1.tgz", + "integrity": "sha512-U0GjmdybvEwfxCpZiTUbKugSglJbX6wxlyMeg0YJdLTAKlnjMRDph3hpNJlTlg5Gs8MQRpDVdaLysBjV749HLg==" + }, + "node_modules/v-tooltip": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.1.3.tgz", + "integrity": "sha512-xXngyxLQTOx/yUEy50thb8te7Qo4XU6h4LZB6cvEfVd9mnysUxLEoYwGWDdqR+l69liKsy3IPkdYff3J1gAJ5w==", + "dependencies": { + "@babel/runtime": "^7.13.10", + "lodash": "^4.17.21", + "popper.js": "^1.16.1", + "vue-resize": "^1.0.1" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "node_modules/vite": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.0.tgz", + "integrity": "sha512-Dn4B+g54PJsMG5WCc4QeFy1ygMXRdTtFrUPegqfk4+vzVQcbF/DqqmI/1bxezArzbujBJg/67QeT5wz8edfJVQ==", + "dev": true, + "dependencies": { + "esbuild": "^0.12.17", + "postcss": "^8.3.6", + "resolve": "^1.20.0", + "rollup": "^2.38.5" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": ">=12.2.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/vue": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.4.tgz", + "integrity": "sha512-rNCFmoewm8IwmTK0nj3ysKq53iRpNEFKoBJ4inar6tIh7Oj7juubS39RI8UI+VE7x+Cs2z6PBsadtZu7z2qppg==", + "dependencies": { + "@vue/compiler-dom": "3.2.4", + "@vue/runtime-dom": "3.2.4", + "@vue/shared": "3.2.4" + } + }, + "node_modules/vue-demi": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.11.4.tgz", + "integrity": "sha512-/3xFwzSykLW2HiiLie43a+FFgNOcokbBJ+fzvFXd0r2T8MYohqvphUyDQ8lbAwzQ3Dlcrb1c9ykifGkhSIAk6A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", + "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8.10" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "dependencies": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/vue-flatpickr-component": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/vue-flatpickr-component/-/vue-flatpickr-component-9.0.4.tgz", + "integrity": "sha512-E8XfzLhrPsQBtZluWYEn3m21VHn7PArYnel3QPYL3auBrVMc07WaK6b20e04OK8LUCq9V+OKNZe4MoI0znY/Hw==", + "dependencies": { + "flatpickr": "^4.6.9" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-i18n": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.1.7.tgz", + "integrity": "sha512-ujuuDanoHqtEd4GejWrbG/fXE9nrP51ElsEGxp0WBHfv+/ki0/wyUqkO+4fLikki2obGtXdviTPH0VNpas5K6g==", + "dependencies": { + "@intlify/core-base": "9.1.7", + "@intlify/shared": "9.1.7", + "@intlify/vue-devtools": "9.1.7", + "@vue/devtools-api": "^6.0.0-beta.7" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-resize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz", + "integrity": "sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "vue": "^2.6.0" + } + }, + "node_modules/vue-router": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.11.tgz", + "integrity": "sha512-sha6I8fx9HWtvTrFZfxZkiQQBpqSeT+UCwauYjkdOQYRvwsGwimlQQE2ayqUwuuXGzquFpCPoXzYKWlzL4OuXg==", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.14" + }, + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vue-types/-/vue-types-4.1.0.tgz", + "integrity": "sha512-oPAeKKx5vY5Q8c7lMQPQyrBIbmWQGael5XEHqO1f+Y3V/RUZNuISz7KxI4woGjh79Vy/gDDaPX9j9zKYpaaA2g==", + "dependencies": { + "is-plain-object": "5.0.0" + }, + "engines": { + "node": ">=12.16.0" + }, + "peerDependencies": { + "vue": "^2.0.0 || ^3.0.0" + } + }, + "node_modules/vue3-colorpicker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vue3-colorpicker/-/vue3-colorpicker-1.0.8.tgz", + "integrity": "sha512-QwAk8Ttu4aoZdIuBETB5Mn6ZE8/95cf7HeLjnEVF83ABqUYTbH7sZQww/AoNWvJhq05txFqiuFGXaS47aPpZdQ==", + "dependencies": { + "@aesoper/normal-utils": "^0.1.5", + "@popperjs/core": "^2.10.1", + "@vueuse/core": "^6.5.3", + "lodash-es": "^4.17.21", + "tinycolor2": "^1.4.2", + "vue": "^3.2.6", + "vue3-normal-directive": "^0.1.4", + "vue3-normal-library": "^0.1.6", + "vue3-storage": "^0.1.11" + }, + "peerDependencies": { + "@aesoper/normal-utils": "^0.1.5", + "@popperjs/core": "^2.10.1", + "@vueuse/core": "^6.5.3", + "lodash-es": "^4.17.21", + "tinycolor2": "^1.4.2", + "vue": "^3.2.6", + "vue3-normal-directive": "^0.1.4", + "vue3-normal-library": "^0.1.6", + "vue3-storage": "^0.1.11" + } + }, + "node_modules/vue3-colorpicker/node_modules/@popperjs/core": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/vue3-colorpicker/node_modules/@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/vue3-colorpicker/node_modules/@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "dependencies": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-colorpicker/node_modules/@vue/compiler-sfc": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.19.tgz", + "integrity": "sha512-pLlbgkO1UHTO02MSpa/sFOXUwIDxSMiKZ1ozE5n71CY4DM+YmI+G3gT/ZHZ46WBId7f3VTF/D8pGwMygcQbrQA==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-ssr": "3.2.19", + "@vue/ref-transform": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/vue3-colorpicker/node_modules/@vue/reactivity": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz", + "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==", + "dependencies": { + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-colorpicker/node_modules/@vue/runtime-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz", + "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==", + "dependencies": { + "@vue/reactivity": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-colorpicker/node_modules/@vue/runtime-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz", + "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==", + "dependencies": { + "@vue/runtime-core": "3.2.19", + "@vue/shared": "3.2.19", + "csstype": "^2.6.8" + } + }, + "node_modules/vue3-colorpicker/node_modules/@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "node_modules/vue3-colorpicker/node_modules/@vueuse/core": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-6.5.3.tgz", + "integrity": "sha512-o3CTu4nEqs371sDY5qLBX0r4QOm6GVpm3ApQc2Y+p8OMI2rRGartQo8xRykpUfsyq602A+SVtm/wxIWBkD/KCQ==", + "dependencies": { + "@vueuse/shared": "6.5.3", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.1.0", + "vue": "^2.6.0 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/vue3-colorpicker/node_modules/@vueuse/shared": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-6.5.3.tgz", + "integrity": "sha512-ChOKu3mECyZeqGJ/gHVm0CaHoZK5/TwNZr1ZM/aqH+RaRNQvC1qkLf1/8PBugzN3yRgC3BtZ/M1kLpGe/BFylw==", + "dependencies": { + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.1.0", + "vue": "^2.6.0 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/vue3-colorpicker/node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/vue3-colorpicker/node_modules/vue": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.19.tgz", + "integrity": "sha512-6KAMdIfAtlK+qohTIUE4urwAv4A3YRuo8uAbByApUmiB0CziGAAPs6qVugN6oHPia8YIafHB/37K0O6KZ7sGmA==", + "dependencies": { + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-sfc": "3.2.19", + "@vue/runtime-dom": "3.2.19", + "@vue/server-renderer": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-colorpicker/node_modules/vue3-storage": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/vue3-storage/-/vue3-storage-0.1.11.tgz", + "integrity": "sha512-4pLQUMeGFduP2IaFage8Y/9AtUljKkm3z9N4ko30kTcKDwyr7JXOAsNFjYqw58SWNNLQdXqaGGAxZFVnk/JfUg==", + "dependencies": { + "core-js": "^3.6.5", + "cross-env": "^7.0.3", + "vue": "^3.0.0", + "vue-class-component": "^8.0.0-0", + "vue-router": "^4.0.0-0" + }, + "peerDependencies": { + "core-js": "^3.6.5", + "vue": "^3.0.0" + } + }, + "node_modules/vue3-colorpicker/node_modules/vue3-storage/node_modules/vue-class-component": { + "version": "8.0.0-rc.1", + "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-8.0.0-rc.1.tgz", + "integrity": "sha512-w1nMzsT/UdbDAXKqhwTmSoyuJzUXKrxLE77PCFVuC6syr8acdFDAq116xgvZh9UCuV0h+rlCtxXolr3Hi3HyPQ==", + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue3-normal-directive": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/vue3-normal-directive/-/vue3-normal-directive-0.1.4.tgz", + "integrity": "sha512-aO1xGJqdgb0a6LkMn1Q5GAkjISL6fCdhedMegFBLNKVlMDEi3YY+Vx9SaNEuLmQHCuQUY91m0TS17S/WSrn90g==", + "dependencies": { + "body-scroll-lock": "^3.1.5", + "clipboard": "^2.0.6", + "lodash-es": "^4.17.21", + "vue": "^3.2.6" + }, + "peerDependencies": { + "body-scroll-lock": "^3.1.5", + "clipboard": "^2.0.6", + "lodash-es": "^4.17.21", + "vue": "^3.2.6" + } + }, + "node_modules/vue3-normal-directive/node_modules/@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/vue3-normal-directive/node_modules/@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "dependencies": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-normal-directive/node_modules/@vue/compiler-sfc": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.19.tgz", + "integrity": "sha512-pLlbgkO1UHTO02MSpa/sFOXUwIDxSMiKZ1ozE5n71CY4DM+YmI+G3gT/ZHZ46WBId7f3VTF/D8pGwMygcQbrQA==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-ssr": "3.2.19", + "@vue/ref-transform": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/vue3-normal-directive/node_modules/@vue/reactivity": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz", + "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==", + "dependencies": { + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-normal-directive/node_modules/@vue/runtime-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz", + "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==", + "dependencies": { + "@vue/reactivity": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-normal-directive/node_modules/@vue/runtime-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz", + "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==", + "dependencies": { + "@vue/runtime-core": "3.2.19", + "@vue/shared": "3.2.19", + "csstype": "^2.6.8" + } + }, + "node_modules/vue3-normal-directive/node_modules/@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "node_modules/vue3-normal-directive/node_modules/vue": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.19.tgz", + "integrity": "sha512-6KAMdIfAtlK+qohTIUE4urwAv4A3YRuo8uAbByApUmiB0CziGAAPs6qVugN6oHPia8YIafHB/37K0O6KZ7sGmA==", + "dependencies": { + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-sfc": "3.2.19", + "@vue/runtime-dom": "3.2.19", + "@vue/server-renderer": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-normal-library": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/vue3-normal-library/-/vue3-normal-library-0.1.6.tgz", + "integrity": "sha512-TSqCeD092ETnjqamNKtXencLnG4a+NVWFZgalmyPtFH1FHvpxLP7eptT8krOL2sZVspficic8DghfDakw3tKRQ==", + "dependencies": { + "lodash-es": "^4.17.21", + "raf": "^3.4.1", + "vue": "^3.2.6", + "vue-types": "^4.1.0" + }, + "peerDependencies": { + "@vue/compiler-sfc": "^3.2.6", + "vue": "^3.2.6" + } + }, + "node_modules/vue3-normal-library/node_modules/@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/vue3-normal-library/node_modules/@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "dependencies": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-normal-library/node_modules/@vue/compiler-sfc": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.19.tgz", + "integrity": "sha512-pLlbgkO1UHTO02MSpa/sFOXUwIDxSMiKZ1ozE5n71CY4DM+YmI+G3gT/ZHZ46WBId7f3VTF/D8pGwMygcQbrQA==", + "dependencies": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-ssr": "3.2.19", + "@vue/ref-transform": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/vue3-normal-library/node_modules/@vue/reactivity": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz", + "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==", + "dependencies": { + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-normal-library/node_modules/@vue/runtime-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz", + "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==", + "dependencies": { + "@vue/reactivity": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vue3-normal-library/node_modules/@vue/runtime-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz", + "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==", + "dependencies": { + "@vue/runtime-core": "3.2.19", + "@vue/shared": "3.2.19", + "csstype": "^2.6.8" + } + }, + "node_modules/vue3-normal-library/node_modules/@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "node_modules/vue3-normal-library/node_modules/vue": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.19.tgz", + "integrity": "sha512-6KAMdIfAtlK+qohTIUE4urwAv4A3YRuo8uAbByApUmiB0CziGAAPs6qVugN6oHPia8YIafHB/37K0O6KZ7sGmA==", + "dependencies": { + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-sfc": "3.2.19", + "@vue/runtime-dom": "3.2.19", + "@vue/server-renderer": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "node_modules/vuedraggable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz", + "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==", + "dependencies": { + "sortablejs": "1.14.0" + }, + "peerDependencies": { + "vue": "^3.0.1" + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", + "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + } + }, + "dependencies": { + "@aesoper/normal-utils": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@aesoper/normal-utils/-/normal-utils-0.1.5.tgz", + "integrity": "sha512-LFF/6y6h5mfwhnJaWqqxuC8zzDaHCG62kMRkd8xhDtq62TQj9dM17A9DhE87W7DhiARJsHLgcina/9P4eNCN1w==" + }, + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.14.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", + "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==" + }, + "@babel/highlight": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", + "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.14.5", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + } + } + }, + "@babel/parser": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", + "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==" + }, + "@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/types": { + "version": "7.15.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", + "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "requires": { + "@babel/helper-validator-identifier": "^7.14.9", + "to-fast-properties": "^2.0.0" + } + }, + "@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + } + } + } + }, + "@headlessui/vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.4.0.tgz", + "integrity": "sha512-BBLDciyKiGK03whaSVkUacDY2Cd5AR05JCUPWQLvQ9HtjQc9tv5RyPpcdmoXJa+XWI10e3U1JxL+8FY7kJMcEQ==" + }, + "@heroicons/vue": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-1.0.4.tgz", + "integrity": "sha512-jm7JMoUGr7Asn07oYNmewxkdQALnskTzRo17iGpHG/apLcc+GFdvdN4XvWZ2awStodaqeZ4eYWg7UcI0LvLETQ==" + }, + "@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + } + }, + "@humanwhocodes/object-schema": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", + "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==", + "dev": true + }, + "@intlify/core-base": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/core-base/-/core-base-9.1.7.tgz", + "integrity": "sha512-q1W2j81xbHyfKrNcca/CeJyf0Bcx4u9UDu05l7AaiJbqOseTme2o2I3wp1hDDCtmC7k7HgX0sAygyHNJH9swuQ==", + "requires": { + "@intlify/devtools-if": "9.1.7", + "@intlify/message-compiler": "9.1.7", + "@intlify/message-resolver": "9.1.7", + "@intlify/runtime": "9.1.7", + "@intlify/shared": "9.1.7", + "@intlify/vue-devtools": "9.1.7" + } + }, + "@intlify/devtools-if": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/devtools-if/-/devtools-if-9.1.7.tgz", + "integrity": "sha512-/DcN5FUySSkQhDqx5y1RvxfuCXO3Ot/dUEIOs472qbM7Hyb2qif+eXCnwHBzlI4+wEfQVT6L0PiM1a7Er/ro9g==", + "requires": { + "@intlify/shared": "9.1.7" + } + }, + "@intlify/message-compiler": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/message-compiler/-/message-compiler-9.1.7.tgz", + "integrity": "sha512-JZNkAhr3O7tnbdbRBcpYfqr/Ai26WTzX0K/lV8Y1KVdOIj/dGiamaffdWUdFiDXUnbJRNbPiOaKxy7Pwip3KxQ==", + "requires": { + "@intlify/message-resolver": "9.1.7", + "@intlify/shared": "9.1.7", + "source-map": "0.6.1" + } + }, + "@intlify/message-resolver": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/message-resolver/-/message-resolver-9.1.7.tgz", + "integrity": "sha512-WTK+OaXJYjyquLGhuCyDvU2WHkG+kXzXeHagmVFHn+s118Jf2143zzkLLUrapP5CtZ/csuyjmYg7b3xQRQAmvw==" + }, + "@intlify/runtime": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/runtime/-/runtime-9.1.7.tgz", + "integrity": "sha512-QURPSlzhOVnRwS2XMGpCDsDkP42kfVBh94aAORxh/gVGzdgJip2vagrIFij/J69aEqdB476WJkMhVjP8VSHmiA==", + "requires": { + "@intlify/message-compiler": "9.1.7", + "@intlify/message-resolver": "9.1.7", + "@intlify/shared": "9.1.7" + } + }, + "@intlify/shared": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/shared/-/shared-9.1.7.tgz", + "integrity": "sha512-zt0zlUdalumvT9AjQNxPXA36UgOndUyvBMplh8uRZU0fhWHAwhnJTcf0NaG9Qvr8I1n3HPSs96+kLb/YdwTavQ==" + }, + "@intlify/vue-devtools": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/@intlify/vue-devtools/-/vue-devtools-9.1.7.tgz", + "integrity": "sha512-DI5Wc0aOiohtBUGUkKAcryCWbbuaO4/PK4Pa/LaNCsFNxbtgR5qkIDmhBv9xVPYGTUhySXxaDDAMvOpBjhPJjw==", + "requires": { + "@intlify/message-resolver": "9.1.7", + "@intlify/runtime": "9.1.7", + "@intlify/shared": "9.1.7" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.9.3.tgz", + "integrity": "sha512-xDu17cEfh7Kid/d95kB6tZsLOmSWKCZKtprnhVepjsSaCij+lM3mItSJDuuHDMbCWTh8Ejmebwb+KONcCJ0eXQ==" + }, + "@tailwindcss/forms": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.3.3.tgz", + "integrity": "sha512-U8Fi/gq4mSuaLyLtFISwuDYzPB73YzgozjxOIHsK6NXgg/IWD1FLaHbFlWmurAMyy98O+ao74ksdQefsquBV1Q==", + "requires": { + "mini-svg-data-uri": "^1.2.3" + } + }, + "@tiptap/core": { + "version": "2.0.0-beta.99", + "resolved": "https://registry.npmjs.org/@tiptap/core/-/core-2.0.0-beta.99.tgz", + "integrity": "sha512-DoSIgeYyWGWTDVHyquVM5SM61T4U8kKWjlmOtSPcee13Z5zXrbCBSxCTgtC3uh7I+OcoE/PNQQFMU9yWZzKnhw==", + "requires": { + "@types/prosemirror-commands": "^1.0.4", + "@types/prosemirror-inputrules": "^1.0.4", + "@types/prosemirror-keymap": "^1.0.4", + "@types/prosemirror-model": "^1.13.1", + "@types/prosemirror-schema-list": "^1.0.3", + "@types/prosemirror-state": "^1.2.7", + "@types/prosemirror-transform": "^1.1.4", + "@types/prosemirror-view": "^1.17.2", + "prosemirror-commands": "^1.1.10", + "prosemirror-inputrules": "^1.1.3", + "prosemirror-keymap": "^1.1.3", + "prosemirror-model": "^1.14.3", + "prosemirror-schema-list": "^1.1.5", + "prosemirror-state": "^1.3.4", + "prosemirror-transform": "^1.3.2", + "prosemirror-view": "^1.19.0" + } + }, + "@tiptap/extension-blockquote": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-blockquote/-/extension-blockquote-2.0.0-beta.15.tgz", + "integrity": "sha512-Cso44KsYsqKqaNveQmx5KVaLy9krq5AzE9WhGVDBSFqWhvuIJkQYrTRBbOTfUDs/st9VuwJrbjTDD65ow50wEw==", + "requires": { + "prosemirror-inputrules": "^1.1.3" + } + }, + "@tiptap/extension-bold": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bold/-/extension-bold-2.0.0-beta.15.tgz", + "integrity": "sha512-jKyV6iiwhxwa0+7uuKD74jNDVNLNOS1GmU14MgaA95pY5e1fyaRBPPX8Gtt89niz2CLOY711AV17RPZTe/e60w==" + }, + "@tiptap/extension-bubble-menu": { + "version": "2.0.0-beta.39", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.0.0-beta.39.tgz", + "integrity": "sha512-hmA+ePR+MnRaTJ5MxoZ3yqOcK54cW2KQllZx16ZwSyM+yU9bXVhfMmyZwqRD7GGQFkrfnPm5QnedXDBYJD19OQ==", + "requires": { + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.20.1", + "tippy.js": "^6.3.1" + } + }, + "@tiptap/extension-bullet-list": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-bullet-list/-/extension-bullet-list-2.0.0-beta.15.tgz", + "integrity": "sha512-5i44JzsZOh8Ci6CuYRQy6W3jCpYgX0+VuJKeHvZ6Aomy4Qqrtc9Jk43PBmCj91lNUUtH6Io9l+kDrLCumEFnEg==", + "requires": { + "prosemirror-inputrules": "^1.1.3" + } + }, + "@tiptap/extension-code": { + "version": "2.0.0-beta.16", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code/-/extension-code-2.0.0-beta.16.tgz", + "integrity": "sha512-Kakg/RMiVrxjzIkLVDXtbCzRh/9W8dgSG04IhMZNOI8N9vWn8Z78jdUyxEEDTcL/JyWWcMxn9AsJw2U5ajO3pA==" + }, + "@tiptap/extension-code-block": { + "version": "2.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@tiptap/extension-code-block/-/extension-code-block-2.0.0-beta.18.tgz", + "integrity": "sha512-E2gz7ovl9nXLZzheqLyN3hi7A10fCaodDn4DvIl4wiEbKZpF7WFBNeb+FQetWNay9UWNeDO94SCX9+rT9H+yHA==", + "requires": { + "prosemirror-inputrules": "^1.1.3" + } + }, + "@tiptap/extension-document": { + "version": "2.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@tiptap/extension-document/-/extension-document-2.0.0-beta.13.tgz", + "integrity": "sha512-nrufdKziA/wovaY4DjGkc8OGuIZi8CH8CW3+yYfeWbruwFKkyZHlZy9nplFWSEqBHPAeqD+px9r91yGMW3ontA==" + }, + "@tiptap/extension-dropcursor": { + "version": "2.0.0-beta.19", + "resolved": "https://registry.npmjs.org/@tiptap/extension-dropcursor/-/extension-dropcursor-2.0.0-beta.19.tgz", + "integrity": "sha512-rslIcVvD42NNh5sEbkCkG03DWMFBrS5KoK+lDOdIcC1DjmTtpVgcLvvE01btzaB3ljx+UVqI2Zaxa6VOiTeEMw==", + "requires": { + "@types/prosemirror-dropcursor": "^1.0.3", + "prosemirror-dropcursor": "^1.3.5" + } + }, + "@tiptap/extension-floating-menu": { + "version": "2.0.0-beta.33", + "resolved": "https://registry.npmjs.org/@tiptap/extension-floating-menu/-/extension-floating-menu-2.0.0-beta.33.tgz", + "integrity": "sha512-8s8DPnHIzXg7E7S/DjuS1AAFZKVYXY0KBKaEd1f2V45YOkKwN9El46Ugk/4Ir3yrrllvnisbP9ol+BAQmI0bMg==", + "requires": { + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.20.1", + "tippy.js": "^6.3.1" + } + }, + "@tiptap/extension-gapcursor": { + "version": "2.0.0-beta.24", + "resolved": "https://registry.npmjs.org/@tiptap/extension-gapcursor/-/extension-gapcursor-2.0.0-beta.24.tgz", + "integrity": "sha512-/6Ru0wNLIb3fo30Ar3z/rcakoUA2EIJL9sBFiuyHWTAIujeEaBzA6oG5L4PpP+daKd31JF0I6LjeWMSU9CBSFw==", + "requires": { + "@types/prosemirror-gapcursor": "^1.0.4", + "prosemirror-gapcursor": "^1.2.0" + } + }, + "@tiptap/extension-hard-break": { + "version": "2.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@tiptap/extension-hard-break/-/extension-hard-break-2.0.0-beta.21.tgz", + "integrity": "sha512-Ukl+wjfLhE0tW7lWRpSPPo2tajjGnEaSc/Irey1JineFf+x/azA9rREzQy0r2AhORTalH7lj/KDmSdG8IT6syA==" + }, + "@tiptap/extension-heading": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-heading/-/extension-heading-2.0.0-beta.15.tgz", + "integrity": "sha512-UoXDwEdCV9KiPh0wj0jj2Jt6VDqkoTaSU3d9bmEBLwg1Gjgbuv39JDst7oxSqbf9rgbl3txbeOy35wVBKe9CqA==", + "requires": { + "prosemirror-inputrules": "^1.1.3" + } + }, + "@tiptap/extension-history": { + "version": "2.0.0-beta.16", + "resolved": "https://registry.npmjs.org/@tiptap/extension-history/-/extension-history-2.0.0-beta.16.tgz", + "integrity": "sha512-nrNwV8a7zUt1t2I/kPX5Y6N9vZ8mrugimJIQmPGIp/4mmw1SEUzkaPpIsv6+ELmqMHSDktQ0ofb3pXeWDXWZvw==", + "requires": { + "@types/prosemirror-history": "^1.0.3", + "prosemirror-history": "^1.2.0" + } + }, + "@tiptap/extension-horizontal-rule": { + "version": "2.0.0-beta.21", + "resolved": "https://registry.npmjs.org/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.0.0-beta.21.tgz", + "integrity": "sha512-fgvRGuNEGWAitbcoz6VZSR9gcVIHksTy2QpXPnQC+N9Mi7havaxreYdMZn+oePW/5kdZoZNRx+jsf5DjKomvoQ==", + "requires": { + "prosemirror-state": "^1.3.4" + } + }, + "@tiptap/extension-italic": { + "version": "2.0.0-beta.15", + "resolved": "https://registry.npmjs.org/@tiptap/extension-italic/-/extension-italic-2.0.0-beta.15.tgz", + "integrity": "sha512-ZCz1vCysLdvOUrwODuyBP0BDaemCLh6ib7qTYoSDKdive9kfn0Vc5Fg3o8xgHrtrUfwKIJz/sWOknjDEGIc9cw==" + }, + "@tiptap/extension-list-item": { + "version": "2.0.0-beta.14", + "resolved": "https://registry.npmjs.org/@tiptap/extension-list-item/-/extension-list-item-2.0.0-beta.14.tgz", + "integrity": "sha512-t6xwEqP+d5443Ul2Jvqz9kXb3ro7bA7yY9HA0vskm3120WxxHW9jxgxZN+82Ot5Tm7nXOAlsN6vuqnt4idnxZQ==" + }, + "@tiptap/extension-ordered-list": { + "version": "2.0.0-beta.16", + "resolved": "https://registry.npmjs.org/@tiptap/extension-ordered-list/-/extension-ordered-list-2.0.0-beta.16.tgz", + "integrity": "sha512-3n0h5FBfQqBrN/zqF/Ngoyd1bZxeIRLwWI7ak4KulpvOg5V/yw3sw5CSxr2f13ZI9AgGaTq8yOsTYs9dkCCnsQ==", + "requires": { + "prosemirror-inputrules": "^1.1.3" + } + }, + "@tiptap/extension-paragraph": { + "version": "2.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@tiptap/extension-paragraph/-/extension-paragraph-2.0.0-beta.17.tgz", + "integrity": "sha512-qCQVCf9c2hgaeIdfy22PaoZyW5Vare/1aGkOEAaZma5RjrUbV9hrRKwoW9LsDjnh1EN1fIeKdg02yEhnHWtG8A==" + }, + "@tiptap/extension-strike": { + "version": "2.0.0-beta.17", + "resolved": "https://registry.npmjs.org/@tiptap/extension-strike/-/extension-strike-2.0.0-beta.17.tgz", + "integrity": "sha512-+WRd0RuCK4+jFKNVN+4rHTa5VMqqGDO2uc+TknkqhFqWp/z96OAGlpHJOwPrnW1fLbpjEBBQIr1vVYSw6KgcZg==" + }, + "@tiptap/extension-text": { + "version": "2.0.0-beta.13", + "resolved": "https://registry.npmjs.org/@tiptap/extension-text/-/extension-text-2.0.0-beta.13.tgz", + "integrity": "sha512-0EtAwuRldCAoFaL/iXgkRepEeOd55rPg5N4FQUN1xTwZT7PDofukP0DG/2jff/Uj17x4uTaJAa9qlFWuNnDvjw==" + }, + "@tiptap/starter-kit": { + "version": "2.0.0-beta.97", + "resolved": "https://registry.npmjs.org/@tiptap/starter-kit/-/starter-kit-2.0.0-beta.97.tgz", + "integrity": "sha512-ySnJPG6px/Pv99TGCrgXOi7Ahh1qkpV171C791lLlFuH+lXMo719bWaeCTEiBDxjamVzh18nEJkIxyu6sucpSg==", + "requires": { + "@tiptap/core": "^2.0.0-beta.99", + "@tiptap/extension-blockquote": "^2.0.0-beta.15", + "@tiptap/extension-bold": "^2.0.0-beta.15", + "@tiptap/extension-bullet-list": "^2.0.0-beta.15", + "@tiptap/extension-code": "^2.0.0-beta.16", + "@tiptap/extension-code-block": "^2.0.0-beta.17", + "@tiptap/extension-document": "^2.0.0-beta.13", + "@tiptap/extension-dropcursor": "^2.0.0-beta.18", + "@tiptap/extension-gapcursor": "^2.0.0-beta.19", + "@tiptap/extension-hard-break": "^2.0.0-beta.15", + "@tiptap/extension-heading": "^2.0.0-beta.15", + "@tiptap/extension-history": "^2.0.0-beta.15", + "@tiptap/extension-horizontal-rule": "^2.0.0-beta.19", + "@tiptap/extension-italic": "^2.0.0-beta.15", + "@tiptap/extension-list-item": "^2.0.0-beta.14", + "@tiptap/extension-ordered-list": "^2.0.0-beta.15", + "@tiptap/extension-paragraph": "^2.0.0-beta.17", + "@tiptap/extension-strike": "^2.0.0-beta.17", + "@tiptap/extension-text": "^2.0.0-beta.13" + } + }, + "@tiptap/vue-3": { + "version": "2.0.0-beta.52", + "resolved": "https://registry.npmjs.org/@tiptap/vue-3/-/vue-3-2.0.0-beta.52.tgz", + "integrity": "sha512-bHfJuhlCYOp+V3njGS4qQUVwyfjjb7KtPhZwl0FfYSNJ6/BTHYltd6L+UiQzVdcaoWFvPyF47fZajx602B5FGA==", + "requires": { + "@tiptap/extension-bubble-menu": "^2.0.0-beta.29", + "@tiptap/extension-floating-menu": "^2.0.0-beta.23", + "prosemirror-state": "^1.3.4", + "prosemirror-view": "^1.19.0", + "vue": "^3.0.0" + } + }, + "@types/estree": { + "version": "0.0.48", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.48.tgz", + "integrity": "sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew==", + "dev": true + }, + "@types/orderedmap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/orderedmap/-/orderedmap-1.0.0.tgz", + "integrity": "sha512-dxKo80TqYx3YtBipHwA/SdFmMMyLCnP+5mkEqN0eMjcTBzHkiiX0ES118DsjDBjvD+zeSsSU9jULTZ+frog+Gw==" + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/prosemirror-commands": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-commands/-/prosemirror-commands-1.0.4.tgz", + "integrity": "sha512-utDNYB3EXLjAfYIcRWJe6pn3kcQ5kG4RijbT/0Y/TFOm6yhvYS/D9eJVnijdg9LDjykapcezchxGRqFD5LcyaQ==", + "requires": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*", + "@types/prosemirror-view": "*" + } + }, + "@types/prosemirror-dropcursor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/prosemirror-dropcursor/-/prosemirror-dropcursor-1.0.3.tgz", + "integrity": "sha512-b0/8njnJ4lwyHKcGuCMf3x7r1KjxyugB1R/c2iMCjplsJHSC7UY9+OysqgJR5uUXRekUSGniiLgBtac/lvH6wg==", + "requires": { + "@types/prosemirror-state": "*" + } + }, + "@types/prosemirror-gapcursor": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-gapcursor/-/prosemirror-gapcursor-1.0.4.tgz", + "integrity": "sha512-9xKjFIG5947dzerFvkLWp6F53JwrUYoYwh3SgcTFEp8SbSfNNrez/PFYVZKPnoqPoaK5WtTdQTaMwpCV9rXQIg==", + "requires": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "@types/prosemirror-history": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/prosemirror-history/-/prosemirror-history-1.0.3.tgz", + "integrity": "sha512-5TloMDRavgLjOAKXp1Li8u0xcsspzbT1Cm9F2pwHOkgvQOz1jWQb2VIXO7RVNsFjLBZdIXlyfSLivro3DuMWXg==", + "requires": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "@types/prosemirror-inputrules": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-inputrules/-/prosemirror-inputrules-1.0.4.tgz", + "integrity": "sha512-lJIMpOjO47SYozQybUkpV6QmfuQt7GZKHtVrvS+mR5UekA8NMC5HRIVMyaIauJLWhKU6oaNjpVaXdw41kh165g==", + "requires": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "@types/prosemirror-keymap": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-keymap/-/prosemirror-keymap-1.0.4.tgz", + "integrity": "sha512-ycevwkqUh+jEQtPwqO7sWGcm+Sybmhu8MpBsM8DlO3+YTKnXbKA6SDz/+q14q1wK3UA8lHJyfR+v+GPxfUSemg==", + "requires": { + "@types/prosemirror-commands": "*", + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*", + "@types/prosemirror-view": "*" + } + }, + "@types/prosemirror-model": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@types/prosemirror-model/-/prosemirror-model-1.13.2.tgz", + "integrity": "sha512-a2rDB0aZ+7aIP7uBqQq1wLb4Hg4qqEvpkCqvhsgT/gG8IWC0peCAZfQ24sgTco0qSJLeDgIbtPeU6mgr869/kg==", + "requires": { + "@types/orderedmap": "*" + } + }, + "@types/prosemirror-schema-list": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/prosemirror-schema-list/-/prosemirror-schema-list-1.0.3.tgz", + "integrity": "sha512-uWybOf+M2Ea7rlbs0yLsS4YJYNGXYtn4N+w8HCw3Vvfl6wBAROzlMt0gV/D/VW/7J/LlAjwMezuGe8xi24HzXA==", + "requires": { + "@types/orderedmap": "*", + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*" + } + }, + "@types/prosemirror-state": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/prosemirror-state/-/prosemirror-state-1.2.7.tgz", + "integrity": "sha512-clJf5uw3/XQnBJtl2RqYXoLMGBySnLYl43xtDvFfQZKkLnnYcM1SDU8dcz7lWjl2Dm+H98RpLOl44pp7DYT+wA==", + "requires": { + "@types/prosemirror-model": "*", + "@types/prosemirror-transform": "*", + "@types/prosemirror-view": "*" + } + }, + "@types/prosemirror-transform": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@types/prosemirror-transform/-/prosemirror-transform-1.1.4.tgz", + "integrity": "sha512-HP1PauvkqSgDquZut8HaLOTUDQ6jja/LAy4OA7tTS1XG7wqRnX3gLUyEj0mD6vFd4y8BPkNddNdOh/BeGHlUjg==", + "requires": { + "@types/prosemirror-model": "*" + } + }, + "@types/prosemirror-view": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/@types/prosemirror-view/-/prosemirror-view-1.19.1.tgz", + "integrity": "sha512-fyQ4NVxAdfISWrE2qT8cpZdosXoH/1JuVYMBs9CdaXPbvi/8R2L2tkkcMRM314piKrO8nfYH5OBZKzP2Ax3jtA==", + "requires": { + "@types/prosemirror-model": "*", + "@types/prosemirror-state": "*", + "@types/prosemirror-transform": "*" + } + }, + "@vitejs/plugin-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.4.0.tgz", + "integrity": "sha512-RkqfJHz9wdLKBp5Yi+kQL8BAljdrvPoccQm2PTZc/UcL4EjD11xsv2PPCduYx2oV1a/bpSKA3sD5sxOHFhz+LA==", + "dev": true + }, + "@vue/compiler-core": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.4.tgz", + "integrity": "sha512-c8NuQq7mUXXxA4iqD5VUKpyVeklK53+DMbojYMyZ0VPPrb0BUWrZWFiqSDT+MFDv0f6Hv3QuLiHWb1BWMXBbrw==", + "requires": { + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.2.4", + "estree-walker": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.4.tgz", + "integrity": "sha512-uj1nwO4794fw2YsYas5QT+FU/YGrXbS0Qk+1c7Kp1kV7idhZIghWLTjyvYibpGoseFbYLPd+sW2/noJG5H04EQ==", + "requires": { + "@vue/compiler-core": "3.2.4", + "@vue/shared": "3.2.4" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.4.tgz", + "integrity": "sha512-GM+ouDdDzhqgkLmBH4bgq4kiZxJQArSppJiZHWHIx9XRaefHLmc1LBNPmN8ivm4SVfi2i7M2t9k8ZnjsScgzPQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.13.9", + "@babel/types": "^7.13.0", + "@types/estree": "^0.0.48", + "@vue/compiler-core": "3.2.4", + "@vue/compiler-dom": "3.2.4", + "@vue/compiler-ssr": "3.2.4", + "@vue/shared": "3.2.4", + "consolidate": "^0.16.0", + "estree-walker": "^2.0.1", + "hash-sum": "^2.0.0", + "lru-cache": "^5.1.1", + "magic-string": "^0.25.7", + "merge-source-map": "^1.1.0", + "postcss": "^8.1.10", + "postcss-modules": "^4.0.0", + "postcss-selector-parser": "^6.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.4.tgz", + "integrity": "sha512-c8NuQq7mUXXxA4iqD5VUKpyVeklK53+DMbojYMyZ0VPPrb0BUWrZWFiqSDT+MFDv0f6Hv3QuLiHWb1BWMXBbrw==", + "dev": true, + "requires": { + "@babel/parser": "^7.12.0", + "@babel/types": "^7.12.0", + "@vue/shared": "3.2.4", + "estree-walker": "^2.0.1", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.4.tgz", + "integrity": "sha512-bKZuXu9/4XwsFHFWIKQK+5kN7mxIIWmMmT2L4VVek7cvY/vm3p4WTsXYDGZJy0htOTXvM2ifr6sflg012T0hsw==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.4", + "@vue/shared": "3.2.4" + } + } + } + }, + "@vue/compiler-ssr": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.19.tgz", + "integrity": "sha512-oLon0Cn3O7WEYzzmzZavGoqXH+199LT+smdjBT3Uf3UX4HwDNuBFCmvL0TsqV9SQnIgKvBRbQ7lhbpnd4lqM3w==", + "requires": { + "@vue/compiler-dom": "3.2.19", + "@vue/shared": "3.2.19" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "requires": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + } + } + }, + "@vue/devtools-api": { + "version": "6.0.0-beta.18", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.0.0-beta.18.tgz", + "integrity": "sha512-56vRhO7nXWWFYTx520BQSDlQH5VYpwy62hFDEqi2yHHEBpEqseOP5WYQusq7BEW3DXSY9E9cfPVR5CFtJbKuMg==" + }, + "@vue/reactivity": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.4.tgz", + "integrity": "sha512-ljWTR0hr8Tn09hM2tlmWxZzCBPlgGLnq/k8K8X6EcJhtV+C8OzFySnbWqMWataojbrQOocThwsC8awKthSl2uQ==", + "requires": { + "@vue/shared": "3.2.4" + } + }, + "@vue/ref-transform": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/ref-transform/-/ref-transform-3.2.19.tgz", + "integrity": "sha512-03wwUnoIAeKti5IGGx6Vk/HEBJ+zUcm5wrUM3+PQsGf7IYnXTbeIfHHpx4HeSeWhnLAjqZjADQwW8uA4rBmVbg==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + } + } + }, + "@vue/runtime-core": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.4.tgz", + "integrity": "sha512-W6PtEOs8P8jKYPo3JwaMAozZQivxInUleGfNwI2pK1t8ZLZIxn4kAf7p4VF4jJdQB8SZBzpfWdLUc06j7IOmpQ==", + "requires": { + "@vue/reactivity": "3.2.4", + "@vue/shared": "3.2.4" + } + }, + "@vue/runtime-dom": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.4.tgz", + "integrity": "sha512-HcVtLyn2SGwsf6BFPwkvDPDOhOqkOKcfHDpBp5R1coX+qMsOFrY8lJnGXIY+JnxqFjND00E9+u+lq5cs/W7ooA==", + "requires": { + "@vue/runtime-core": "3.2.4", + "@vue/shared": "3.2.4", + "csstype": "^2.6.8" + } + }, + "@vue/server-renderer": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.19.tgz", + "integrity": "sha512-A9FNT7fgQJXItwdzWREntAgWKVtKYuXHBKGev/H4+ByTu8vB7gQXGcim01QxaJshdNg4dYuH2tEBZXCNCNx+/w==", + "requires": { + "@vue/compiler-ssr": "3.2.19", + "@vue/shared": "3.2.19" + }, + "dependencies": { + "@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + } + } + }, + "@vue/shared": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.4.tgz", + "integrity": "sha512-j2j1MRmjalVKr3YBTxl/BClSIc8UQ8NnPpLYclxerK65JIowI4O7n8O8lElveEtEoHxy1d7BelPUDI0Q4bumqg==" + }, + "@vuelidate/core": { + "version": "2.0.0-alpha.24", + "resolved": "https://registry.npmjs.org/@vuelidate/core/-/core-2.0.0-alpha.24.tgz", + "integrity": "sha512-WwAVpxAUMT7DFFTYNaieGBgz3az8mtV8v/waHJPcBGx/q4g3m6cxe1GONC/L/695XrETO8vJRXLkiqCPXrfIQQ==", + "requires": { + "vue-demi": "^0.11.3" + } + }, + "@vuelidate/validators": { + "version": "2.0.0-alpha.21", + "resolved": "https://registry.npmjs.org/@vuelidate/validators/-/validators-2.0.0-alpha.21.tgz", + "integrity": "sha512-Ch+dW2hSWxAv+DcCEbpMVB58rylrCRxrGQMvL1gJKtq2SdrIrvw+IfgGL9VtxLx8U8gqlDiqy7M4Ycu59rUSnA==", + "requires": { + "vue-demi": "^0.11.3" + } + }, + "@vueuse/core": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-6.0.0.tgz", + "integrity": "sha512-PuBfNo/Zv+NkLcZaYWBA1WjqxQhTDC0DMQpoAIJdo/GFul/1SpBbONhUho2zqtOmq8vyGuK200wNFvyA4YUAMg==", + "requires": { + "@vueuse/shared": "6.0.0", + "vue-demi": "*" + } + }, + "@vueuse/shared": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-6.0.0.tgz", + "integrity": "sha512-PLjjqL8bxI5q86qk/ifXy572nfQE3rJc1RMem+dKcGayaagMnC4kXHEt64V98DVielSwr2FuYaeFodi4KJrvdg==", + "requires": { + "vue-demi": "*" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "autoprefixer": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.1.tgz", + "integrity": "sha512-L8AmtKzdiRyYg7BUXJTzigmhbQRCXFKz6SA1Lqo0+AR2FBbQ4aTAPFSDlOutnFkjhiz8my4agGXog1xlMjPJ6A==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-lite": "^1.0.30001243", + "colorette": "^1.2.2", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "postcss-value-parser": "^4.1.0" + } + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "body-scroll-lock": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz", + "integrity": "sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.17.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.2.tgz", + "integrity": "sha512-jSDZyqJmkKMEMi7SZAgX5UltFdR5NAO43vY0AwTpu4X3sGH7GLLQ83KiUomgrnvZRCeW0yPPnKqnxPqQOER9zQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001261", + "electron-to-chromium": "^1.3.854", + "escalade": "^3.1.1", + "nanocolors": "^0.2.12", + "node-releases": "^1.1.76" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001264", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001264.tgz", + "integrity": "sha512-Ftfqqfcs/ePiUmyaySsQ4PUsdcYyXG2rfoBVsk3iY1ahHaJEw65vfb7Suzqm+cEkwwPIv/XWkg27iCpRavH4zA==", + "dev": true + }, + "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" + }, + "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" + } + }, + "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" + } + }, + "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 + }, + "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" + } + } + } + }, + "chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "clipboard": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz", + "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "requires": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + } + } + }, + "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==" + }, + "color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", + "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==" + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "consolidate": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.16.0.tgz", + "integrity": "sha512-Nhl1wzCslqXYTJVDyJCu3ODohy9OfBMB5uD2BiBTzd7w+QY0lBzafkR8y8755yMYHAaMD4NuzbAw03/xzfw+eQ==", + "dev": true, + "requires": { + "bluebird": "^3.7.2" + } + }, + "core-js": { + "version": "3.18.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.1.tgz", + "integrity": "sha512-vJlUi/7YdlCZeL6fXvWNaLUPh/id12WXj3MbkMw5uOyF0PfWPBNOCNbs53YqgrvtujLNlt9JQpruyIKkUZ+PKA==" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "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" + } + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.5" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "csstype": { + "version": "2.6.18", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.18.tgz", + "integrity": "sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ==" + }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dotenv": { + "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.857", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.857.tgz", + "integrity": "sha512-a5kIr2lajm4bJ5E4D3fp8Y/BRB0Dx2VOcCRE5Gtb679mXIME/OFhWler8Gy2ksrf8gFX+EFCSIGA33FB3gqYpg==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + } + } + }, + "esbuild": { + "version": "0.12.29", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.29.tgz", + "integrity": "sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "requires": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", + "dev": true + }, + "eslint-plugin-vue": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.16.0.tgz", + "integrity": "sha512-0E2dVvVC7I2Xm1HXyx+ZwPj9CNX4NJjs4K4r+GVsHWyt5Pew3JLD4fI7A91b2jeL0TXE7LlszrwLSTJU9eqehw==", + "dev": true, + "requires": { + "eslint-utils": "^2.1.0", + "natural-compare": "^1.4.0", + "semver": "^6.3.0", + "vue-eslint-parser": "^7.10.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatpickr": { + "version": "4.6.9", + "resolved": "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz", + "integrity": "sha512-F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==" + }, + "flatted": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", + "dev": true + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + } + } + }, + "fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "generic-names": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generic-names/-/generic-names-2.0.1.tgz", + "integrity": "sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "globals": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.11.0.tgz", + "integrity": "sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "guid": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/guid/-/guid-0.0.12.tgz", + "integrity": "sha1-kTfFKxhffeEkkLm+vMFmC5Al/gw=" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "requires": { + "import-from": "^3.0.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "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 + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "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-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "laravel-vite": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/laravel-vite/-/laravel-vite-0.0.7.tgz", + "integrity": "sha512-ko4Ux1bBXBnGoIFAvhmXuTwZ39RIIzdX2u7cXorfFlNLmSLvB0B5w0zZuykZmWdIK4GrGohLmkAtEYS/5pR08Q==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "deepmerge": "^4.2.2", + "dotenv": "^8.2.0", + "execa": "^5.0.0" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lilconfig": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.3.tgz", + "integrity": "sha512-EHKqr/+ZvdKCifpNrJCKxBTgk5XupZA3y/aCPY9mxfgBzmgh93Mt/WqjjQ38oMxXuvDokaKiM3lAgvSH2sjtHg==", + "dev": true + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", + "dev": true + }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.25.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", + "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "requires": { + "sourcemap-codec": "^1.4.4" + } + }, + "maska": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/maska/-/maska-1.4.6.tgz", + "integrity": "sha512-dEZcoGp5Wufm2PZ4qZD81WKNaWO6XBIiHLazt5xShl4lydlH/5ZoLGEyJfzBaREXbAnsE5THShLyJKIaIeIuvA==" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-svg-data-uri": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.3.3.tgz", + "integrity": "sha512-+fA2oRcR1dJI/7ITmeQJDrYWks0wodlOz0pAEhKYJ2IVc1z0AnwJUsKY2fzFmPAM3Jo9J0rBx8JAA9QQSJ5PuA==" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanocolors": { + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.12.tgz", + "integrity": "sha512-SFNdALvzW+rVlzqexid6epYdt8H9Zol7xDoQarioEFcFN0JHo4CYNztAxmtfgGTVRCmFlEOqqhBpoFGKqSAMug==", + "dev": true + }, + "nanoid": { + "version": "3.1.28", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.28.tgz", + "integrity": "sha512-gSu9VZ2HtmoKYe/lmyPFES5nknFrHa+/DT9muUFWFMi6Jh9E1I7bkvlQ8xxf1Kos9pi9o8lBnIOkatMhKX/YUw==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-releases": { + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "orderedmap": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/orderedmap/-/orderedmap-1.1.1.tgz", + "integrity": "sha512-3Ux8um0zXbVacKUkcytc0u3HgC0b0bBLT+I60r2J/En72cI0nZffqrA7Xtf2Hqs27j1g82llR5Mhbd0Z1XW4AQ==" + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "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-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pinia": { + "version": "2.0.0-rc.6", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.0-rc.6.tgz", + "integrity": "sha512-IqArmLmWJB5wZzELZfFF42bMaulo6cjMvL1wgUjWfmzaGCt1HYOAXN86s6HrdAueeEWj9Ov6lNNOHB1DFQxthw==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.15", + "vue-demi": "*" + } + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==" + }, + "postcss": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.6.tgz", + "integrity": "sha512-wG1cc/JhRgdqB6WHEuyLTedf3KIRuD0hG6ldkFEZNCjRxiC+3i6kkWUUbiJQayP28iwG35cEmAbe98585BYV0A==", + "requires": { + "colorette": "^1.2.2", + "nanoid": "^3.1.23", + "source-map-js": "^0.6.2" + } + }, + "postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + } + }, + "postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "requires": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "postcss-modules": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/postcss-modules/-/postcss-modules-4.2.2.tgz", + "integrity": "sha512-/H08MGEmaalv/OU8j6bUKi/kZr2kqGF6huAW8m9UAgOLWtpFdhA14+gPBoymtqyv+D4MLsmqaF2zvIegdCxJXg==", + "dev": true, + "requires": { + "generic-names": "^2.0.1", + "icss-replace-symbols": "^1.1.0", + "lodash.camelcase": "^4.3.0", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "string-hash": "^1.1.1" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.5.tgz", + "integrity": "sha512-GSRXYz5bccobpTzLQZXOnSOfKl6TwVr5CyAQJUPub4nuRJSOECK5AqurxVgmtxP48p0Kc/ndY/YyS1yqldX0Ew==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "prosemirror-commands": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.1.10.tgz", + "integrity": "sha512-IWyBBXNAd44RM6NnBPljwq+/CM2oYCQJkF+YhKEAZNwzW0uFdGf4qComhjbKZzqFdu6Iub2ZhNsXgwPibA0lCQ==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-dropcursor": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.3.5.tgz", + "integrity": "sha512-tNUwcF2lPAkwKBZPZRtbxpwljnODRNZ3eiYloN1DSUqDjMT1nBZm0nejaEMS1TvNQ+3amibUSAiV4hX+jpASFA==", + "requires": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0", + "prosemirror-view": "^1.1.0" + } + }, + "prosemirror-gapcursor": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.2.0.tgz", + "integrity": "sha512-yCLy5+0rVqLir/KcHFathQj4Rf8aRHi80FmEfKtM0JmyzvwdomslLzDZ/pX4oFhFKDgjl/WBBBFNqDyNifWg7g==", + "requires": { + "prosemirror-keymap": "^1.0.0", + "prosemirror-model": "^1.0.0", + "prosemirror-state": "^1.0.0", + "prosemirror-view": "^1.0.0" + } + }, + "prosemirror-history": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.2.0.tgz", + "integrity": "sha512-B9v9xtf4fYbKxQwIr+3wtTDNLDZcmMMmGiI3TAPShnUzvo+Rmv1GiUrsQChY1meetHl7rhML2cppF3FTs7f7UQ==", + "requires": { + "prosemirror-state": "^1.2.2", + "prosemirror-transform": "^1.0.0", + "rope-sequence": "^1.3.0" + } + }, + "prosemirror-inputrules": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.1.3.tgz", + "integrity": "sha512-ZaHCLyBtvbyIHv0f5p6boQTIJjlD6o2NPZiEaZWT2DA+j591zS29QQEMT4lBqwcLW3qRSf7ZvoKNbf05YrsStw==", + "requires": { + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-keymap": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.1.4.tgz", + "integrity": "sha512-Al8cVUOnDFL4gcI5IDlG6xbZ0aOD/i3B17VT+1JbHWDguCgt/lBHVTHUBcKvvbSg6+q/W4Nj1Fu6bwZSca3xjg==", + "requires": { + "prosemirror-state": "^1.0.0", + "w3c-keyname": "^2.2.0" + } + }, + "prosemirror-model": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.14.3.tgz", + "integrity": "sha512-yzZlBaSxfUPIIP6U5Edh5zKxJPZ5f7bwZRhiCuH3UYkWhj+P3d8swHsbuAMOu/iDatDc5J/Qs5Mb3++mZf+CvQ==", + "requires": { + "orderedmap": "^1.1.0" + } + }, + "prosemirror-schema-list": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.1.6.tgz", + "integrity": "sha512-aFGEdaCWmJzouZ8DwedmvSsL50JpRkqhQ6tcpThwJONVVmCgI36LJHtoQ4VGZbusMavaBhXXr33zyD2IVsTlkw==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-state": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.3.4.tgz", + "integrity": "sha512-Xkkrpd1y/TQ6HKzN3agsQIGRcLckUMA9u3j207L04mt8ToRgpGeyhbVv0HI7omDORIBHjR29b7AwlATFFf2GLA==", + "requires": { + "prosemirror-model": "^1.0.0", + "prosemirror-transform": "^1.0.0" + } + }, + "prosemirror-transform": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.3.3.tgz", + "integrity": "sha512-9NLVXy1Sfa2G6qPqhWMkEvwQQMTw7OyTqOZbJaGQWsCeH3hH5Cw+c5eNaLM1Uu75EyKLsEZhJ93XpHJBa6RX8A==", + "requires": { + "prosemirror-model": "^1.0.0" + } + }, + "prosemirror-view": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.20.1.tgz", + "integrity": "sha512-djWORhy3a706mUH4A2dgEEV0IPZqQd1tFyz/ZVHJNoqhSgq82FwG6dq7uqHeUB2KdVSNfI2yc3rwfqlC/ll2pA==", + "requires": { + "prosemirror-model": "^1.14.3", + "prosemirror-state": "^1.0.0", + "prosemirror-transform": "^1.1.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "purgecss": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz", + "integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==", + "dev": true, + "requires": { + "commander": "^6.0.0", + "glob": "^7.0.0", + "postcss": "^8.2.1", + "postcss-selector-parser": "^6.0.2" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + }, + "regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.58.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.58.0.tgz", + "integrity": "sha512-NOXpusKnaRpbS7ZVSzcEXqxcLDOagN6iFS8p45RkoiMqPHDLwJm758UF05KlMoCRbLBTZsPOIa887gZJ1AiXvw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rope-sequence": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.2.tgz", + "integrity": "sha512-ku6MFrwEVSVmXLvy3dYph3LAMNS0890K7fabn+0YIRQ2T96T9F4gkFf0vf0WW0JUraNWwGRtInEpH7yO4tbQZg==" + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "sass": { + "version": "1.38.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.38.0.tgz", + "integrity": "sha512-WBccZeMigAGKoI+NgD7Adh0ab1HUq+6BmyBUEaGxtErbUtWUevEbdgo5EZiJQofLUGcKtlNaO2IdN73AHEua5g==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + }, + "signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + } + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "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" + } + }, + "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" + } + } + } + }, + "sortablejs": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", + "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "string-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", + "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "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.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "table": { + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "dev": true, + "requires": { + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "tailwind-scrollbar": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tailwind-scrollbar/-/tailwind-scrollbar-1.3.1.tgz", + "integrity": "sha512-FeYuLxLtCRMO4PmjPJCzm5wQouFro2BInZXKPxqg54DR/55NAHoS8uNYWMiRG5l6qsLkWBfVEM34gq2XAQUwVg==", + "dev": true, + "requires": { + "tailwindcss": ">1.9.6" + }, + "dependencies": { + "color": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-4.0.1.tgz", + "integrity": "sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==", + "dev": true, + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.6.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" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "tailwindcss": { + "version": "2.2.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.16.tgz", + "integrity": "sha512-EireCtpQyyJ4Xz8NYzHafBoy4baCOO96flM0+HgtsFcIQ9KFy/YBK3GEtlnD+rXen0e4xm8t3WiUcKBJmN6yjg==", + "dev": true, + "requires": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + } + } + } + }, + "tailwindcss": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.7.tgz", + "integrity": "sha512-jv35rugP5j8PpzbXnsria7ZAry7Evh0KtQ4MZqNd+PhF+oIKPwJTVwe/rmfRx9cZw3W7iPZyzBmeoAoNwfJ1yg==", + "dev": true, + "requires": { + "arg": "^5.0.0", + "bytes": "^3.0.0", + "chalk": "^4.1.1", + "chokidar": "^3.5.2", + "color": "^3.2.0", + "cosmiconfig": "^7.0.0", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.0", + "html-tags": "^3.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.8.1", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.5", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" + }, + "tippy.js": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.2.tgz", + "integrity": "sha512-35XVQI7Zl/jHZ51+8eHu/vVRXBjWYGobPm5G9FxOchj4r5dWhghKGS0nm0ARUKZTF96V7pPn7EbXS191NTwldw==", + "requires": { + "@popperjs/core": "^2.9.0" + } + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "v-money3": { + "version": "3.16.1", + "resolved": "https://registry.npmjs.org/v-money3/-/v-money3-3.16.1.tgz", + "integrity": "sha512-U0GjmdybvEwfxCpZiTUbKugSglJbX6wxlyMeg0YJdLTAKlnjMRDph3hpNJlTlg5Gs8MQRpDVdaLysBjV749HLg==" + }, + "v-tooltip": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/v-tooltip/-/v-tooltip-2.1.3.tgz", + "integrity": "sha512-xXngyxLQTOx/yUEy50thb8te7Qo4XU6h4LZB6cvEfVd9mnysUxLEoYwGWDdqR+l69liKsy3IPkdYff3J1gAJ5w==", + "requires": { + "@babel/runtime": "^7.13.10", + "lodash": "^4.17.21", + "popper.js": "^1.16.1", + "vue-resize": "^1.0.1" + } + }, + "v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, + "vite": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/vite/-/vite-2.5.0.tgz", + "integrity": "sha512-Dn4B+g54PJsMG5WCc4QeFy1ygMXRdTtFrUPegqfk4+vzVQcbF/DqqmI/1bxezArzbujBJg/67QeT5wz8edfJVQ==", + "dev": true, + "requires": { + "esbuild": "^0.12.17", + "fsevents": "~2.3.2", + "postcss": "^8.3.6", + "resolve": "^1.20.0", + "rollup": "^2.38.5" + } + }, + "vue": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.4.tgz", + "integrity": "sha512-rNCFmoewm8IwmTK0nj3ysKq53iRpNEFKoBJ4inar6tIh7Oj7juubS39RI8UI+VE7x+Cs2z6PBsadtZu7z2qppg==", + "requires": { + "@vue/compiler-dom": "3.2.4", + "@vue/runtime-dom": "3.2.4", + "@vue/shared": "3.2.4" + } + }, + "vue-demi": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.11.4.tgz", + "integrity": "sha512-/3xFwzSykLW2HiiLie43a+FFgNOcokbBJ+fzvFXd0r2T8MYohqvphUyDQ8lbAwzQ3Dlcrb1c9ykifGkhSIAk6A==" + }, + "vue-eslint-parser": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.11.0.tgz", + "integrity": "sha512-qh3VhDLeh773wjgNTl7ss0VejY9bMMa0GoDG2fQVyDzRFdiU3L7fw74tWZDHNQXdZqxO3EveQroa9ct39D2nqg==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "eslint-scope": "^5.1.1", + "eslint-visitor-keys": "^1.1.0", + "espree": "^6.2.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^6.3.0" + }, + "dependencies": { + "espree": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz", + "integrity": "sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-jsx": "^5.2.0", + "eslint-visitor-keys": "^1.1.0" + } + } + } + }, + "vue-flatpickr-component": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/vue-flatpickr-component/-/vue-flatpickr-component-9.0.4.tgz", + "integrity": "sha512-E8XfzLhrPsQBtZluWYEn3m21VHn7PArYnel3QPYL3auBrVMc07WaK6b20e04OK8LUCq9V+OKNZe4MoI0znY/Hw==", + "requires": { + "flatpickr": "^4.6.9" + } + }, + "vue-i18n": { + "version": "9.1.7", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-9.1.7.tgz", + "integrity": "sha512-ujuuDanoHqtEd4GejWrbG/fXE9nrP51ElsEGxp0WBHfv+/ki0/wyUqkO+4fLikki2obGtXdviTPH0VNpas5K6g==", + "requires": { + "@intlify/core-base": "9.1.7", + "@intlify/shared": "9.1.7", + "@intlify/vue-devtools": "9.1.7", + "@vue/devtools-api": "^6.0.0-beta.7" + } + }, + "vue-resize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-1.0.1.tgz", + "integrity": "sha512-z5M7lJs0QluJnaoMFTIeGx6dIkYxOwHThlZDeQnWZBizKblb99GSejPnK37ZbNE/rVwDcYcHY+Io+AxdpY952w==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "vue-router": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.11.tgz", + "integrity": "sha512-sha6I8fx9HWtvTrFZfxZkiQQBpqSeT+UCwauYjkdOQYRvwsGwimlQQE2ayqUwuuXGzquFpCPoXzYKWlzL4OuXg==", + "requires": { + "@vue/devtools-api": "^6.0.0-beta.14" + } + }, + "vue-types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vue-types/-/vue-types-4.1.0.tgz", + "integrity": "sha512-oPAeKKx5vY5Q8c7lMQPQyrBIbmWQGael5XEHqO1f+Y3V/RUZNuISz7KxI4woGjh79Vy/gDDaPX9j9zKYpaaA2g==", + "requires": { + "is-plain-object": "5.0.0" + } + }, + "vue3-colorpicker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/vue3-colorpicker/-/vue3-colorpicker-1.0.8.tgz", + "integrity": "sha512-QwAk8Ttu4aoZdIuBETB5Mn6ZE8/95cf7HeLjnEVF83ABqUYTbH7sZQww/AoNWvJhq05txFqiuFGXaS47aPpZdQ==", + "requires": { + "@aesoper/normal-utils": "^0.1.5", + "@popperjs/core": "^2.10.1", + "@vueuse/core": "^6.5.3", + "lodash-es": "^4.17.21", + "tinycolor2": "^1.4.2", + "vue": "^3.2.6", + "vue3-normal-directive": "^0.1.4", + "vue3-normal-library": "^0.1.6", + "vue3-storage": "^0.1.11" + }, + "dependencies": { + "@popperjs/core": { + "version": "2.10.2", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.2.tgz", + "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ==" + }, + "@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "requires": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.19.tgz", + "integrity": "sha512-pLlbgkO1UHTO02MSpa/sFOXUwIDxSMiKZ1ozE5n71CY4DM+YmI+G3gT/ZHZ46WBId7f3VTF/D8pGwMygcQbrQA==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-ssr": "3.2.19", + "@vue/ref-transform": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/reactivity": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz", + "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==", + "requires": { + "@vue/shared": "3.2.19" + } + }, + "@vue/runtime-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz", + "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==", + "requires": { + "@vue/reactivity": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "@vue/runtime-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz", + "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==", + "requires": { + "@vue/runtime-core": "3.2.19", + "@vue/shared": "3.2.19", + "csstype": "^2.6.8" + } + }, + "@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "@vueuse/core": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-6.5.3.tgz", + "integrity": "sha512-o3CTu4nEqs371sDY5qLBX0r4QOm6GVpm3ApQc2Y+p8OMI2rRGartQo8xRykpUfsyq602A+SVtm/wxIWBkD/KCQ==", + "requires": { + "@vueuse/shared": "6.5.3", + "vue-demi": "*" + } + }, + "@vueuse/shared": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-6.5.3.tgz", + "integrity": "sha512-ChOKu3mECyZeqGJ/gHVm0CaHoZK5/TwNZr1ZM/aqH+RaRNQvC1qkLf1/8PBugzN3yRgC3BtZ/M1kLpGe/BFylw==", + "requires": { + "vue-demi": "*" + } + }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "requires": { + "cross-spawn": "^7.0.1" + } + }, + "vue": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.19.tgz", + "integrity": "sha512-6KAMdIfAtlK+qohTIUE4urwAv4A3YRuo8uAbByApUmiB0CziGAAPs6qVugN6oHPia8YIafHB/37K0O6KZ7sGmA==", + "requires": { + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-sfc": "3.2.19", + "@vue/runtime-dom": "3.2.19", + "@vue/server-renderer": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "vue3-storage": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/vue3-storage/-/vue3-storage-0.1.11.tgz", + "integrity": "sha512-4pLQUMeGFduP2IaFage8Y/9AtUljKkm3z9N4ko30kTcKDwyr7JXOAsNFjYqw58SWNNLQdXqaGGAxZFVnk/JfUg==", + "requires": { + "core-js": "^3.6.5", + "cross-env": "^7.0.3", + "vue": "^3.0.0", + "vue-class-component": "^8.0.0-0", + "vue-router": "^4.0.0-0" + }, + "dependencies": { + "vue-class-component": { + "version": "8.0.0-rc.1", + "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-8.0.0-rc.1.tgz", + "integrity": "sha512-w1nMzsT/UdbDAXKqhwTmSoyuJzUXKrxLE77PCFVuC6syr8acdFDAq116xgvZh9UCuV0h+rlCtxXolr3Hi3HyPQ==" + } + } + } + } + }, + "vue3-normal-directive": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/vue3-normal-directive/-/vue3-normal-directive-0.1.4.tgz", + "integrity": "sha512-aO1xGJqdgb0a6LkMn1Q5GAkjISL6fCdhedMegFBLNKVlMDEi3YY+Vx9SaNEuLmQHCuQUY91m0TS17S/WSrn90g==", + "requires": { + "body-scroll-lock": "^3.1.5", + "clipboard": "^2.0.6", + "lodash-es": "^4.17.21", + "vue": "^3.2.6" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "requires": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.19.tgz", + "integrity": "sha512-pLlbgkO1UHTO02MSpa/sFOXUwIDxSMiKZ1ozE5n71CY4DM+YmI+G3gT/ZHZ46WBId7f3VTF/D8pGwMygcQbrQA==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-ssr": "3.2.19", + "@vue/ref-transform": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/reactivity": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz", + "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==", + "requires": { + "@vue/shared": "3.2.19" + } + }, + "@vue/runtime-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz", + "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==", + "requires": { + "@vue/reactivity": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "@vue/runtime-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz", + "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==", + "requires": { + "@vue/runtime-core": "3.2.19", + "@vue/shared": "3.2.19", + "csstype": "^2.6.8" + } + }, + "@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "vue": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.19.tgz", + "integrity": "sha512-6KAMdIfAtlK+qohTIUE4urwAv4A3YRuo8uAbByApUmiB0CziGAAPs6qVugN6oHPia8YIafHB/37K0O6KZ7sGmA==", + "requires": { + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-sfc": "3.2.19", + "@vue/runtime-dom": "3.2.19", + "@vue/server-renderer": "3.2.19", + "@vue/shared": "3.2.19" + } + } + } + }, + "vue3-normal-library": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/vue3-normal-library/-/vue3-normal-library-0.1.6.tgz", + "integrity": "sha512-TSqCeD092ETnjqamNKtXencLnG4a+NVWFZgalmyPtFH1FHvpxLP7eptT8krOL2sZVspficic8DghfDakw3tKRQ==", + "requires": { + "lodash-es": "^4.17.21", + "raf": "^3.4.1", + "vue": "^3.2.6", + "vue-types": "^4.1.0" + }, + "dependencies": { + "@vue/compiler-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.19.tgz", + "integrity": "sha512-8dOPX0YOtaXol0Zf2cfLQ4NU/yHYl2H7DCKsLEZ7gdvPK6ZSEwGLJ7IdghhY2YEshEpC5RB9QKdC5I07z8Dtjg==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.19.tgz", + "integrity": "sha512-WzQoE8rfkFjPtIioc7SSgTsnz9g2oG61DU8KHnzPrRS7fW/lji6H2uCYJfp4Z6kZE8GjnHc1Ljwl3/gxDes0cw==", + "requires": { + "@vue/compiler-core": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.19.tgz", + "integrity": "sha512-pLlbgkO1UHTO02MSpa/sFOXUwIDxSMiKZ1ozE5n71CY4DM+YmI+G3gT/ZHZ46WBId7f3VTF/D8pGwMygcQbrQA==", + "requires": { + "@babel/parser": "^7.15.0", + "@vue/compiler-core": "3.2.19", + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-ssr": "3.2.19", + "@vue/ref-transform": "3.2.19", + "@vue/shared": "3.2.19", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/reactivity": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.19.tgz", + "integrity": "sha512-FtachoYs2SnyrWup5UikP54xDX6ZJ1s5VgHcJp4rkGoutU3Ry61jhs+nCX7J64zjX992Mh9gGUC0LqTs8q9vCA==", + "requires": { + "@vue/shared": "3.2.19" + } + }, + "@vue/runtime-core": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.19.tgz", + "integrity": "sha512-qArZSWKxWsgKfxk9BelZ32nY0MZ31CAW2kUUyVJyxh4cTfHaXGbjiQB5JgsvKc49ROMNffv9t3/qjasQqAH+RQ==", + "requires": { + "@vue/reactivity": "3.2.19", + "@vue/shared": "3.2.19" + } + }, + "@vue/runtime-dom": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.19.tgz", + "integrity": "sha512-hIRboxXwafeHhbZEkZYNV0MiJXPNf4fP0X6hM2TJb0vssz8BKhD9cF92BkRgZztTQevecbhk0gu4uAPJ3dxL9A==", + "requires": { + "@vue/runtime-core": "3.2.19", + "@vue/shared": "3.2.19", + "csstype": "^2.6.8" + } + }, + "@vue/shared": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.19.tgz", + "integrity": "sha512-Knqhx7WieLdVgwCAZgTVrDCXZ50uItuecLh9JdLC8O+a5ayaSyIQYveUK3hCRNC7ws5zalHmZwfdLMGaS8r4Ew==" + }, + "vue": { + "version": "3.2.19", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.19.tgz", + "integrity": "sha512-6KAMdIfAtlK+qohTIUE4urwAv4A3YRuo8uAbByApUmiB0CziGAAPs6qVugN6oHPia8YIafHB/37K0O6KZ7sGmA==", + "requires": { + "@vue/compiler-dom": "3.2.19", + "@vue/compiler-sfc": "3.2.19", + "@vue/runtime-dom": "3.2.19", + "@vue/server-renderer": "3.2.19", + "@vue/shared": "3.2.19" + } + } + } + }, + "vuedraggable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz", + "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==", + "requires": { + "sortablejs": "1.14.0" + } + }, + "w3c-keyname": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", + "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==" + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + } + } +} diff --git a/package.json b/package.json index 72fb71e2..e9682fb6 100644 --- a/package.json +++ b/package.json @@ -1,49 +1,56 @@ { - "private": true, - "scripts": { - "dev": "mix", - "watch": "mix watch", - "watch-poll": "mix watch -- --watch-options-poll=1000", - "hot": "mix watch --hot", - "production": "mix --production" - }, - "devDependencies": { - "babel-eslint": "^8.2.6", - "cross-env": "^5.1", - "eslint": "^4.19.1", - "eslint-config-prettier": "^6.15.0", - "eslint-loader": "^3.0.4", - "eslint-plugin-prettier": "^3.3.0", - "eslint-plugin-vue": "^4.7.1", - "laravel-mix": "^6.0.6", - "postcss": "^8.1", - "prettier": "^2.2.1", - "resolve-url-loader": "3.1.0", - "sass": "^1.29.0", - "sass-loader": "^8.0.2", - "tailwindcss-plugins": "^0.3.0", - "vue-template-compiler": "^2.6.10" - }, - "dependencies": { - "@bytefury/spacewind": "^0.5.3", - "@vue-hero-icons/outline": "^1.6.3", - "@vue-hero-icons/solid": "^1.6.3", - "axios": "^0.21", - "chart.js": "^2.7.3", - "guid": "0.0.12", - "lodash": "^4.17.13", - "moment": "^2.29.1", - "sweet-modal-vue": "^2.0.0", - "tailwindcss": "^2.0.1", - "v-tooltip": "^2.0.2", - "vue": "^2.6.10", - "vue-i18n": "^8.22.0", - "vue-loader": "^15.9.3", - "vue-router": "2.7.0", - "vue-sweetalert2": "^4.2.1", - "vue2-transitions": "^0.3.0", - "vuedraggable": "^2.24.2", - "vuelidate": "^0.6.2", - "vuex": "^3.0.1" - } + "private": true, + "scripts": { + "dev": "vite", + "build": "vite build", + "serve": "vite preview", + "test": "eslint ./resources/scripts --ext .js,.vue" + }, + "devDependencies": { + "@rvxlab/tailwind-plugin-ios-full-height": "^1.0.0", + "@vitejs/plugin-vue": "^1.10.0", + "@vue/compiler-sfc": "^3.2.22", + "autoprefixer": "^10.2.5", + "cross-env": "^5.1", + "eslint": "^7.27.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-vue": "^7.0.0-beta.4", + "laravel-vite": "^0.0.7", + "postcss": "^8.2.13", + "prettier": "^2.3.0", + "sass": "^1.32.12", + "tailwind-scrollbar": "^1.3.1", + "tailwindcss": "^2.2.7", + "vite": "^2.6.1" + }, + "dependencies": { + "@headlessui/vue": "^1.4.0", + "@heroicons/vue": "^1.0.1", + "@popperjs/core": "^2.9.2", + "@tailwindcss/forms": "^0.3.3", + "@tiptap/core": "^2.0.0-beta.85", + "@tiptap/starter-kit": "^2.0.0-beta.81", + "@tiptap/vue-3": "^2.0.0-beta.38", + "@vuelidate/components": "^1.1.12", + "@vuelidate/core": "^2.0.0-alpha.32", + "@vuelidate/validators": "^2.0.0-alpha.25", + "@vueuse/core": "^6.0.0", + "axios": "^0.19", + "chart.js": "^2.7.3", + "guid": "0.0.12", + "lodash": "^4.17.13", + "maska": "^1.4.6", + "mini-svg-data-uri": "^1.3.3", + "moment": "^2.29.1", + "pinia": "^2.0.4", + "postcss-inset": "^1.0.0", + "v-money3": "^3.13.5", + "v-tooltip": "^4.0.0-alpha.1", + "vue": "^3.2.0-beta.5", + "vue-flatpickr-component": "^9.0.3", + "vue-i18n": "^9.1.7", + "vue-router": "^4.0.8", + "vue3-colorpicker": "^1.0.5", + "vuedraggable": "^4.1.0" + } } diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 00000000..18f9e574 --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,8 @@ +// postcss.config.js +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + 'postcss-inset': {} + }, +} diff --git a/public/.htaccess b/public/.htaccess index e20b8923..3aec5e27 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -1,20 +1,21 @@ - Options -MultiViews + Options -MultiViews -Indexes RewriteEngine On - # Redirect Trailing Slashes If Not A Folder... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteRule ^(.*)/$ /$1 [L,R=301] - - # Handle Front Controller... - RewriteCond %{REQUEST_FILENAME} !-d - RewriteCond %{REQUEST_FILENAME} !-f - RewriteRule ^ index.php [L] - # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] - \ No newline at end of file + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/public/assets/css/crater.css b/public/assets/css/crater.css deleted file mode 100644 index 322b82b6..00000000 --- a/public/assets/css/crater.css +++ /dev/null @@ -1 +0,0 @@ -/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}hr{height:0;color:inherit}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=submit],button{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}button{background-color:transparent;background-image:none}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}fieldset,ol,ul{margin:0;padding:0}ol,ul{list-style:none}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{font-family:inherit;line-height:inherit}*,:after,:before{box-sizing:border-box;border:0 solid #edf2f7}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#cbd5e0}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cbd5e0}input::placeholder,textarea::placeholder{color:#cbd5e0}[role=button],button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}.sw-h1{font-size:35px}.sw-h1,.sw-h2{font-weight:600;color:#040405}.sw-h2{font-size:28px}.sw-h3{font-size:24.5px}.sw-h3,.sw-h4{font-weight:600;color:#040405}.sw-h4{font-size:21px}.sw-h5{font-size:17.5px}.sw-h5,.sw-h6{font-weight:600;color:#040405}.sw-h6{font-size:14px}.sw-page-title{font-weight:600;color:#040405;font-size:24.5px}.sw-section-title{font-weight:500;color:#040405;font-size:17.5px}.h1,.h2,.h3,.h4,.h5,.h6{font-family:Poppins;font-family:sans-serif}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1440px){.container{max-width:1440px}}@media (min-width:1536px){.container{max-width:1536px}}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-preview{min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-remove{top:-24px;right:-24px}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid #cbd5e0;background-color:#cbd5e0}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-success-mark{opacity:0}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{z-index:500;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{display:none;z-index:1000;left:50%;top:50%;margin-top:-8px;margin-left:-40px}.dropzone .dz-preview .dz-progress .dz-upload{transition:width .3s ease-in-out}.dropzone .dz-preview .dz-error-message{z-index:1000;top:130px;left:-10px}.dropzone .dz-preview.dz-image-preview .dz-details{transition:opacity .2s linear}.dropzone .dz-preview.dz-success .dz-success-mark{opacity:1;-webkit-animation:passing-through 3s cubic-bezier(.77,0,.175,1);animation:passing-through 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(.77,0,.175,1);animation:slide-in 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview.dz-processing .dz-progress{display:block;opacity:1;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;transition:opacity .4s ease-in}.dropzone .dz-preview.dz-complete .dz-success-mark{opacity:0;transition:all .2s linear}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.switch[type=checkbox]{height:0;width:0;visibility:hidden}.switch-label{text-indent:-9999px;width:35px;border-radius:16px}.switch-label .switch-circle{position:absolute;top:-3px;left:0;width:20px;height:20px;background:#a0aec0;border-radius:15px;transition:.3s}.switch-label:active .switch-circle{width:20px}.switch:checked+.switch-label{background:#bcb9ef}.switch:checked+.switch-label .switch-circle{left:100%;transform:translateX(-100%);background:#5851d8}.checkbox input[type=checkbox]{-webkit-print-color-adjust:exact;color-adjust:exact;background-origin:border-box}.checkbox input[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.707 7.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4a1 1 0 00-1.414-1.414L7 8.586 5.707 7.293z'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}.radio input[type=radio]{-webkit-print-color-adjust:exact;color-adjust:exact;background-origin:border-box}.radio input[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:50%;background-repeat:no-repeat}.flatpickr-calendar.open{z-index:40!important}.base-date-picker-input:focus{box-shadow:none}.flatpickr-day.endRange,.flatpickr-day.endRange.nextMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.endRange:focus,.flatpickr-day.endRange:hover,.flatpickr-day.selected,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.selected:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.startRange:focus,.flatpickr-day.startRange:hover{box-shadow:none;background-color:#5851d8;boader-color:#5851d8;color:#fff}.flatpickr-day.nextMonthDay:focus,.flatpickr-day.nextMonthDay:hover,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.prevMonthDay:hover,.flatpickr-day:focus,.flatpickr-day:hover{cursor:pointer;outline:0;background:#e2e8f0;border-color:#e2e8f0}.header-editior .editor-menu-bar{margin-left:.6px;margin-right:0}.editor__content .ProseMirror{border-radius:5px;min-height:200px;border:1px solid #cbd5e0}.editor__content .ProseMirror.ProseMirror-focused{border:1px solid #5851d8;outline:none}.editor__content pre{padding:.7rem 1rem;border-radius:5px;font-size:.8rem;overflow-x:auto;background-color:#2d3748;color:#fff}.editor__content pre code{display:block}.editor__content *{caret-color:currentColor}.editor__content ul{list-style-type:disc!important}.editor__content ol,.editor__content ul{display:block!important;-webkit-margin-before: 1em!important;margin-block-start: 1em!important;-webkit-margin-after:1em!important;margin-block-end:1em!important;-webkit-margin-start:0!important;margin-inline-start:0!important;-webkit-margin-end:0!important;margin-inline-end:0!important;-webkit-padding-start:40px!important;padding-inline-start:40px!important}.editor__content ol{list-style-type:decimal}.editor__content blockquote{border-left-width:3px!important;border-left-style:solid!important;border-left-color:#cbd5e0;color:#2d3748;padding-left:.8rem!important;font-style:italic!important}.editor__content h1{display:block;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0;font-weight:700;font-size:2em;-webkit-margin-before:.67em;margin-block-start:.67em;-webkit-margin-after:.67em;margin-block-end:.67em}.editor__content h2{display:block;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0;font-weight:700;font-size:1.5em;-webkit-margin-before:.83em;margin-block-start:.83em;-webkit-margin-after: .83em;margin-block-end: .83em}.editor__content h3{display:block;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:0;margin-inline-end:0;font-weight:700;font-size:1.17em;-webkit-margin-before:1em;margin-block-start:1em;-webkit-margin-after:1em;margin-block-end:1em}.flat-table tr:last-child td{border:none!important}.table-component__filter{align-self:flex-end;position:relative}.table-component__filter__field{padding:.15em 1.25em .15em .75em;border:1px solid #f7fafc;font-size:15px;border-radius:3px}.table-component__filter__field:focus{outline:0;border-color:#5851d8}.table-component__table{border-spacing:0 15px}.asc-direction,.desc-direction{display:none}.table-component__th--sort-asc .asc-direction,.table-component__th--sort-desc .desc-direction{display:inline}.table-component .pagination .page-item.active .page-link{color:#fff!important}.table-component .pagination a i{padding:.5rem .75rem;margin-left:-1px}table.full-width{width:100%}.selectall{cursor:pointer;z-index:10}.table-component td>span:first-child{background:#ebf1fa;color:#5851d8;display:none;font-size:10px;font-weight:700;padding:5px;left:0;position:absolute;text-transform:uppercase;top:0}.select-all-label{display:none!important}@media (max-width:768px){.select-all-label{display:inline!important;color:#353182;cursor:pointer}.selectall{top:20px}.table-component .dropdown-group{position:absolute;visibility:visible;top:15px;right:10px}.table-component thead{left:-9999px;position:absolute;visibility:hidden}.table-component tr{display:flex;flex-direction:row;flex-wrap:wrap;margin-top:50px;position:relative}.table-component td{margin:0 -1px -1px 0;padding-top:40px!important;position:relative;width:50%;left:0;border:1px solid #f7fafc}.table-component td:not(:first-child){text-align:center!important}.table-component td:first-child{display:flex;justify-content:space-between;flex:1 100%;height:50px;padding-top:25px!important;align-items:center;border-bottom-left-radius:0!important;border-top-left-radius:5px!important;border-top-right-radius:5px!important}.table-component td:last-child{position:unset;visibility:hidden;height:0!important;padding:0!important}.table-component td:nth-last-child(3){border-bottom-left-radius:5px!important}.table-component td:nth-last-child(2){border-bottom-right-radius:5px!important}.table-component td>span:first-child{display:block}.table-component .dropdown-container{right:0;left:120px}}.wizard .indicator-line{border-width:5px;width:530px}.wizard .center{margin-top:-11px;width:105%}.wizard .steps{float:left;border-width:5px;height:25px;width:25px}@media (max-width:480px){.wizard .indicator-line{width:90%}}.multiselect .multiselect__option--highlight{background-color:#f7fafc;color:#040405;font-weight:400!important}.multiselect .multiselect__option--highlight.multiselect__option--selected{background-color:#eeeefb;color:#040405;cursor:text;font-weight:400!important}.multiselect .multiselect__option--highlight.multiselect__option--selected:after{background:#040405;color:#fff}.multiselect .multiselect__option--highlight:after{background:#040405;color:#fff}.multiselect .multiselect__option--selected{font-weight:400!important;background-color:#eeeefb}.multiselect.error{border:1px solid #fb7178;border-radius:5px}.multiselect__spinner{right:1px;top:1px}.multiselect__spinner-after,.multiselect__spinner-before{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px;z-index:5;width:16px;height:16px;border-radius:100%;border:2px solid transparent;border-top-color:#41b883;box-shadow:0 0 0 1px transparent}.multiselect__spinner-after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner-before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1;opacity:0}fieldset[disabled] .multiselect{pointer-events:none}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;touch-action:manipulation}.multiselect *{box-sizing:border-box}.multiselect:focus{border:1px solid #8a85e4}.multiselect--disabled{pointer-events:none;opacity:.6}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{min-height:20px;transition:border .1s ease}.multiselect__input::-moz-placeholder{color:#cbd5e0}.multiselect__input:-ms-input-placeholder{color:#cbd5e0}.multiselect__input::placeholder{color:#cbd5e0}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__tag{text-overflow:ellipsis}.multiselect__tag-icon{font-style:normal}.multiselect__tag-icon-after{content:×;color:#fff;font-size:14px}.multiselect__placeholder{color:#cbd5e0;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{-webkit-overflow-scrolling:touch}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:5px;border-top-right-radius:5px;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::webkit-scrollbar{display:none}.multiselect__option{min-height:40px}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(0.25rem*var(--tw-space-x-reverse));margin-left:calc(0.25rem*(1 - var(--tw-space-x-reverse)))}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.bg-transparent{background-color:transparent}.bg-black{--tw-bg-opacity:1;background-color:rgba(4,4,5,var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(247,250,252,var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(237,242,247,var(--tw-bg-opacity))}.bg-gray-300{--tw-bg-opacity:1;background-color:rgba(226,232,240,var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgba(203,213,224,var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(160,174,192,var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgba(74,85,104,var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254,242,242,var(--tw-bg-opacity))}.bg-red-100{--tw-bg-opacity:1;background-color:rgba(254,226,226,var(--tw-bg-opacity))}.bg-red-200{--tw-bg-opacity:1;background-color:rgba(254,202,202,var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219,234,254,var(--tw-bg-opacity))}.bg-primary-100{--tw-bg-opacity:1;background-color:rgba(238,238,251,var(--tw-bg-opacity))}.bg-primary-200{--tw-bg-opacity:1;background-color:rgba(213,212,245,var(--tw-bg-opacity))}.bg-primary-400{--tw-bg-opacity:1;background-color:rgba(138,133,228,var(--tw-bg-opacity))}.bg-primary-500{--tw-bg-opacity:1;background-color:rgba(88,81,216,var(--tw-bg-opacity))}.bg-danger{--tw-bg-opacity:1;background-color:rgba(251,113,120,var(--tw-bg-opacity))}.bg-success{--tw-bg-opacity:1;background-color:rgba(0,201,156,var(--tw-bg-opacity))}.bg-warning{--tw-bg-opacity:1;background-color:rgba(243,175,78,var(--tw-bg-opacity))}.bg-info{--tw-bg-opacity:1;background-color:rgba(21,178,236,var(--tw-bg-opacity))}.hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgba(247,250,252,var(--tw-bg-opacity))}.hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgba(237,242,247,var(--tw-bg-opacity))}.hover\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgba(226,232,240,var(--tw-bg-opacity))}.hover\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgba(203,213,224,var(--tw-bg-opacity))}.hover\:bg-primary-50:hover{--tw-bg-opacity:1;background-color:rgba(247,246,253,var(--tw-bg-opacity))}.hover\:bg-primary-100:hover{--tw-bg-opacity:1;background-color:rgba(238,238,251,var(--tw-bg-opacity))}.hover\:bg-primary-200:hover{--tw-bg-opacity:1;background-color:rgba(213,212,245,var(--tw-bg-opacity))}.hover\:bg-primary-400:hover{--tw-bg-opacity:1;background-color:rgba(138,133,228,var(--tw-bg-opacity))}.hover\:bg-danger:hover{--tw-bg-opacity:1;background-color:rgba(251,113,120,var(--tw-bg-opacity))}.hover\:bg-success:hover{--tw-bg-opacity:1;background-color:rgba(0,201,156,var(--tw-bg-opacity))}.hover\:bg-warning:hover{--tw-bg-opacity:1;background-color:rgba(243,175,78,var(--tw-bg-opacity))}.hover\:bg-info:hover{--tw-bg-opacity:1;background-color:rgba(21,178,236,var(--tw-bg-opacity))}.bg-gradient-to-r{background-image:linear-gradient(90deg,var(--tw-gradient-stops))}.bg-gradient-to-b{background-image:linear-gradient(180deg,var(--tw-gradient-stops))}.from-gray-300{--tw-gradient-from:#e2e8f0;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(226,232,240,0))}.from-red-500{--tw-gradient-from:#ef4444;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(239,68,68,0))}.from-primary-500{--tw-gradient-from:#5851d8;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(88,81,216,0))}.to-gray-400{--tw-gradient-to:#cbd5e0}.to-red-600{--tw-gradient-to:#dc2626}.to-primary-400{--tw-gradient-to:#8a85e4}.bg-opacity-25{--tw-bg-opacity:0.25}.hover\:bg-opacity-25:hover{--tw-bg-opacity:0.25}.hover\:bg-opacity-75:hover{--tw-bg-opacity:0.75}.bg-no-repeat{background-repeat:no-repeat}.bg-cover{background-size:cover}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(247,250,252,var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(237,242,247,var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(226,232,240,var(--tw-border-opacity))}.border-gray-400{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.border-primary-400{--tw-border-opacity:1;border-color:rgba(138,133,228,var(--tw-border-opacity))}.border-primary-500{--tw-border-opacity:1;border-color:rgba(88,81,216,var(--tw-border-opacity))}.border-danger{--tw-border-opacity:1;border-color:rgba(251,113,120,var(--tw-border-opacity))}.border-success{--tw-border-opacity:1;border-color:rgba(0,201,156,var(--tw-border-opacity))}.border-warning{--tw-border-opacity:1;border-color:rgba(243,175,78,var(--tw-border-opacity))}.border-info{--tw-border-opacity:1;border-color:rgba(21,178,236,var(--tw-border-opacity))}.hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:rgba(203,213,224,var(--tw-border-opacity))}.hover\:border-gray-500:hover{--tw-border-opacity:1;border-color:rgba(160,174,192,var(--tw-border-opacity))}.hover\:border-primary-300:hover{--tw-border-opacity:1;border-color:rgba(188,185,239,var(--tw-border-opacity))}.focus\:border-transparent:focus{border-color:transparent}.focus\:border-primary-400:focus{--tw-border-opacity:1;border-color:rgba(138,133,228,var(--tw-border-opacity))}.focus\:border-primary-500:focus{--tw-border-opacity:1;border-color:rgba(88,81,216,var(--tw-border-opacity))}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.rounded-full{border-radius:9999px}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tr-none{border-top-right-radius:0}.rounded-br-none{border-bottom-right-radius:0}.rounded-tr-sm{border-top-right-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.first\:rounded-tl-md:first-child{border-top-left-radius:.375rem}.first\:rounded-bl-md:first-child{border-bottom-left-radius:.375rem}.last\:rounded-tr-md:last-child{border-top-right-radius:.375rem}.last\:rounded-br-md:last-child{border-bottom-right-radius:.375rem}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-t-0{border-top-width:0}.border-r-0{border-right-width:0}.border-t-2{border-top-width:2px}.border-b-2{border-bottom-width:2px}.border-b-3{border-bottom-width:3px}.border-l-3{border-left-width:3px}.border-r-4{border-right-width:4px}.border-b-4{border-bottom-width:4px}.border-l-4{border-left-width:4px}.border-t-8{border-top-width:8px}.border-t{border-top-width:1px}.border-r{border-right-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.last\:border-b-0:last-child{border-bottom-width:0}.focus\:border:focus{border-width:1px}.box-border{box-sizing:border-box}.box-content{box-sizing:content-box}.cursor-auto{cursor:auto}.cursor-pointer{cursor:pointer}.cursor-move{cursor:move}.cursor-not-allowed{cursor:not-allowed}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.contents{display:contents}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.content-center{align-content:center}.self-end{align-self:flex-end}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-shrink-0{flex-shrink:0}.float-right{float:right}.float-left{float:left}.float-none{float:none}.font-base{font-family:Poppins,sans-serif}.font-extralight{font-weight:200}.font-light{font-weight:300}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.h-0{height:0}.h-1{height:.25rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-40{height:10rem}.h-130{height:560px}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem}.text-lg,.text-xl{line-height:1.75rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-7{line-height:1.75rem}.leading-8{line-height:2rem}.leading-9{line-height:2.25rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.list-inside{list-style-position:inside}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.m-6{margin:1.5rem}.my-0{margin-top:0;margin-bottom:0}.mx-0{margin-left:0;margin-right:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-4{margin-top:1rem;margin-bottom:1rem}.mx-4{margin-left:1rem;margin-right:1rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.my-10{margin-top:2.5rem;margin-bottom:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.ml-0{margin-left:0}.mt-1{margin-top:.25rem}.mr-1{margin-right:.25rem}.mb-1{margin-bottom:.25rem}.ml-1{margin-left:.25rem}.mt-2{margin-top:.5rem}.mr-2{margin-right:.5rem}.mb-2{margin-bottom:.5rem}.ml-2{margin-left:.5rem}.mt-3{margin-top:.75rem}.mr-3{margin-right:.75rem}.mb-3{margin-bottom:.75rem}.ml-3{margin-left:.75rem}.mt-4{margin-top:1rem}.mr-4{margin-right:1rem}.mb-4{margin-bottom:1rem}.ml-4{margin-left:1rem}.mt-5{margin-top:1.25rem}.mr-5{margin-right:1.25rem}.mb-5{margin-bottom:1.25rem}.mt-6{margin-top:1.5rem}.mr-6{margin-right:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-6{margin-left:1.5rem}.mt-8{margin-top:2rem}.mb-8{margin-bottom:2rem}.mt-10{margin-top:2.5rem}.mb-10{margin-bottom:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mb-32{margin-bottom:8rem}.ml-56{margin-left:14rem}.mt-2\.5{margin-top:.625rem}.-mr-1{margin-right:-.25rem}.-ml-1{margin-left:-.25rem}.-mt-2{margin-top:-.5rem}.-ml-2{margin-left:-.5rem}.-mt-3{margin-top:-.75rem}.first\:mt-6:first-child{margin-top:1.5rem}.max-h-60{max-height:240px}.max-h-130{max-height:560px}.max-w-sm{max-width:24rem}.max-w-lg{max-width:32rem}.max-w-full{max-width:100%}.min-h-0{min-height:0}.min-h-10{min-height:2.5rem}.min-h-screen{min-height:100vh}.min-w-0{min-width:0}.min-w-full{min-width:100%}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.hover\:opacity-100:hover{opacity:1}.outline-none{outline:2px solid transparent;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overflow-y-scroll{overflow-y:scroll}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-10{padding:2.5rem}.py-0{padding-top:0;padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-1{padding-left:.25rem;padding-right:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-4{padding-left:1rem;padding-right:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.px-8{padding-left:2rem;padding-right:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.pr-0{padding-right:0}.pb-0{padding-bottom:0}.pl-0{padding-left:0}.pt-1{padding-top:.25rem}.pr-1{padding-right:.25rem}.pb-1{padding-bottom:.25rem}.pl-1{padding-left:.25rem}.pt-2{padding-top:.5rem}.pr-2{padding-right:.5rem}.pb-2{padding-bottom:.5rem}.pl-2{padding-left:.5rem}.pt-3{padding-top:.75rem}.pr-3{padding-right:.75rem}.pl-3{padding-left:.75rem}.pt-4{padding-top:1rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pl-4{padding-left:1rem}.pt-5{padding-top:1.25rem}.pr-5{padding-right:1.25rem}.pb-5{padding-bottom:1.25rem}.pl-5{padding-left:1.25rem}.pt-6{padding-top:1.5rem}.pr-6{padding-right:1.5rem}.pb-6{padding-bottom:1.5rem}.pt-8{padding-top:2rem}.pr-8{padding-right:2rem}.pl-8{padding-left:2rem}.pt-10{padding-top:2.5rem}.pr-10{padding-right:2.5rem}.pb-10{padding-bottom:2.5rem}.pl-10{padding-left:2.5rem}.pl-12{padding-left:3rem}.pt-16{padding-top:4rem}.pr-20{padding-right:5rem}.pl-20{padding-left:5rem}.pt-24{padding-top:6rem}.pb-32{padding-bottom:8rem}.pt-1\.5{padding-top:.375rem}.placeholder-gray-300::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(226,232,240,var(--tw-placeholder-opacity))}.placeholder-gray-300:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(226,232,240,var(--tw-placeholder-opacity))}.placeholder-gray-300::placeholder{--tw-placeholder-opacity:1;color:rgba(226,232,240,var(--tw-placeholder-opacity))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(203,213,224,var(--tw-placeholder-opacity))}.placeholder-gray-400:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(203,213,224,var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity:1;color:rgba(203,213,224,var(--tw-placeholder-opacity))}.placeholder-gray-500::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(160,174,192,var(--tw-placeholder-opacity))}.placeholder-gray-500:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(160,174,192,var(--tw-placeholder-opacity))}.placeholder-gray-500::placeholder{--tw-placeholder-opacity:1;color:rgba(160,174,192,var(--tw-placeholder-opacity))}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-auto{top:auto}.top-1\/2{top:50%}.bottom-full{bottom:100%}.resize-none{resize:none}.resize{resize:both}*{--tw-shadow:0 0 transparent}.shadow{--tw-shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04)}.shadow-inner,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 rgba(0,0,0,0.06)}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);box-shadow:var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow)}*{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,0.5);--tw-ring-offset-shadow:0 0 transparent;--tw-ring-shadow:0 0 transparent}.fill-current{fill:currentColor}.table-auto{table-layout:auto}.table-fixed{table-layout:fixed}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-current{color:currentColor}.text-black{--tw-text-opacity:1;color:rgba(4,4,5,var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.text-gray-100{--tw-text-opacity:1;color:rgba(247,250,252,var(--tw-text-opacity))}.text-gray-300{--tw-text-opacity:1;color:rgba(226,232,240,var(--tw-text-opacity))}.text-gray-400{--tw-text-opacity:1;color:rgba(203,213,224,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(160,174,192,var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgba(113,128,150,var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(74,85,104,var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity:1;color:rgba(45,55,72,var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(26,32,44,var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248,113,113,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-red-700{--tw-text-opacity:1;color:rgba(185,28,28,var(--tw-text-opacity))}.text-red-800{--tw-text-opacity:1;color:rgba(153,27,27,var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52,211,153,var(--tw-text-opacity))}.text-green-800{--tw-text-opacity:1;color:rgba(6,95,70,var(--tw-text-opacity))}.text-blue-400{--tw-text-opacity:1;color:rgba(96,165,250,var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgba(30,64,175,var(--tw-text-opacity))}.text-indigo-900{--tw-text-opacity:1;color:rgba(49,46,129,var(--tw-text-opacity))}.text-primary-400{--tw-text-opacity:1;color:rgba(138,133,228,var(--tw-text-opacity))}.text-primary-500{--tw-text-opacity:1;color:rgba(88,81,216,var(--tw-text-opacity))}.text-primary-800{--tw-text-opacity:1;color:rgba(40,36,97,var(--tw-text-opacity))}.text-danger{--tw-text-opacity:1;color:rgba(251,113,120,var(--tw-text-opacity))}.text-success{--tw-text-opacity:1;color:rgba(0,201,156,var(--tw-text-opacity))}.text-warning{--tw-text-opacity:1;color:rgba(243,175,78,var(--tw-text-opacity))}.text-info{--tw-text-opacity:1;color:rgba(21,178,236,var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgba(113,128,150,var(--tw-text-opacity))}.hover\:text-gray-700:hover{--tw-text-opacity:1;color:rgba(74,85,104,var(--tw-text-opacity))}.focus\:text-gray-500:focus{--tw-text-opacity:1;color:rgba(160,174,192,var(--tw-text-opacity))}.focus\:text-red-500:focus{--tw-text-opacity:1;color:rgba(239,68,68,var(--tw-text-opacity))}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.italic{font-style:italic}.not-italic{font-style:normal}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.no-underline{text-decoration:none}.hover\:underline:hover{text-decoration:underline}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.align-bottom{vertical-align:bottom}.visible{visibility:visible}.whitespace-nowrap{white-space:nowrap}.w-0{width:0}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-60{width:240px}.w-64{width:16rem}.w-88{width:22rem}.w-1\/2{width:50%}.w-11\/12{width:91.666667%}.w-full{width:100%}.z-0{z-index:0}.z-5{z-index:5}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-2{row-gap:.5rem}.gap-y-6{row-gap:1.5rem}.grid-flow-row{grid-auto-flow:row}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-1{grid-column:span 1/span 1}.col-span-2{grid-column:span 2/span 2}.col-span-3{grid-column:span 3/span 3}.col-span-5{grid-column:span 5/span 5}.col-span-7{grid-column:span 7/span 7}.col-span-8{grid-column:span 8/span 8}.col-span-10{grid-column:span 10/span 10}.col-span-12{grid-column:span 12/span 12}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.scale-100{--tw-scale-x:1;--tw-scale-y:1}.rotate-90{--tw-rotate:90deg}.translate-x-0{--tw-translate-x:0px}.-translate-x-full{--tw-translate-x:-100%}.translate-y-0{--tw-translate-y:0px}.translate-y-2{--tw-translate-y:0.5rem}.translate-y-4{--tw-translate-y:1rem}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition{transition-property:background-color,border-color,color,fill,stroke,opacity,box-shadow,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-linear{transition-timing-function:linear}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.delay-200{transition-delay:.2s}@-webkit-keyframes spin{to{transform:rotate(1turn)}}@keyframes spin{to{transform:rotate(1turn)}}@-webkit-keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}0%{transform:scale(0)}}@keyframes bounce{0%,to{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(.8,0,1,1);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,.2,1);animation-timing-function:cubic-bezier(0,0,.2,1)}0%{transform:scale(0)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.sw-page{min-height:calc(100vh - 39px)!important}.sw-scroll::-webkit-scrollbar{width:4px;cursor:pointer}.sw-scroll::-webkit-scrollbar-track{background-color:#e5e7eb;cursor:pointer}.sw-scroll::-webkit-scrollbar-thumb{cursor:pointer;background-color:#a0aec0}.sw-border-gap-15{border-spacing:0 15px}.sw-border-gap-0{border-spacing:0}input:-webkit-autofill{background-color:transparent!important;-webkit-box-shadow:0 0 0 50px #fff inset}.tooltip{display:block!important;z-index:10000}.tooltip .tooltip-inner{background:#000;color:#fff;border-radius:16px;padding:5px 10px 4px}.tooltip .tooltip-arrow{width:0;height:0;border-style:solid;position:absolute;margin:5px;border-color:#000;z-index:1}.tooltip[x-placement^=top]{margin-bottom:5px}.tooltip[x-placement^=top] .tooltip-arrow{border-width:5px 5px 0;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;bottom:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=bottom]{margin-top:5px}.tooltip[x-placement^=bottom] .tooltip-arrow{border-width:0 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px;left:calc(50% - 5px);margin-top:0;margin-bottom:0}.tooltip[x-placement^=right]{margin-left:5px}.tooltip[x-placement^=right] .tooltip-arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip[x-placement^=left]{margin-right:5px}.tooltip[x-placement^=left] .tooltip-arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px;top:calc(50% - 5px);margin-left:0;margin-right:0}.tooltip.popover .popover-inner{background:#f9f9f9;color:#000;padding:24px;border-radius:5px;box-shadow:0 5px 30px rgba(0,0,0,.1)}.tooltip.popover .popover-arrow{border-color:#f9f9f9}.tooltip[aria-hidden=true]{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.tooltip[aria-hidden=false]{visibility:visible;opacity:1;transition:opacity .15s}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#352dc9;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px}.pace .pace-progress-inner{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #5851d8,0 0 5px #5851d8;opacity:1;transform:rotate(3deg) translateY(-4px)}.pace .pace-activity{display:block;position:fixed;z-index:2000;top:15px;right:15px;width:14px;height:14px;border-color:#5851d8 transparent transparent #5851d8;border-style:solid;border-width:2px;border-radius:10px;-webkit-animation:pace-spinner .4s linear infinite;animation:pace-spinner .4s linear infinite}@-webkit-keyframes pace-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pace-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.shake{-webkit-animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;animation:shake .82s cubic-bezier(.36,.07,.19,.97) both;transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}@-webkit-keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}@keyframes shake{10%,90%{transform:translate3d(-1px,0,0)}20%,80%{transform:translate3d(2px,0,0)}30%,50%,70%{transform:translate3d(-4px,0,0)}40%,60%{transform:translate3d(4px,0,0)}}.swal-icon--custom{height:80px;width:80px}@media (max-width:768px){.table-component .sw-dropdown{position:absolute;visibility:visible;top:15px;right:10px}}.swal2-container .swal2-popup{transition-property:all!important;transition-timing-function:cubic-bezier(.4,0,.2,1)!important;transition-duration:.15s!important;transition-delay:.15s!important;padding:1.5rem!important}.swal2-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:.75rem!important;margin-top:1.5rem!important;width:100%!important;flex-wrap:nowrap!important;padding:0!important}.swal2-content{text-align:center!important;font-size:.875rem!important;line-height:1.25rem!important;color:#6b7280!important;font-weight:500!important;margin-top:.5rem!important}.swal2-icon{height:3rem!important;width:3rem!important;border:none!important;margin:0!important}.swal2-header{display:flex!important;justify-content:center!important;align-items:center!important}.swal2-title{text-align:center!important;margin-top:.75!important;font-weight:500!important;color:#111827!important;font-size:1.125rem!important;line-height:1.75rem!important;margin-top:1.25rem}.swal2-icon.swal2-error{background:#fed7d7!important;border-radius:9999px!important}.swal2-icon.swal2-success{background:#c6f6d5!important;border-radius:9999px!important}.swal2-icon.swal2-warning{background:#feebc8!important;border-radius:9999px!important}.swal2-icon.swal2-info{background:#bee3f8!important;border-radius:9999px!important}.swal2-icon.swal2-question{background:#edf2f7!important;border-radius:9999px!important}.swal2-icon-content{font-size:2.75em!important}.swal2-title{margin:1.25rem 0 0!important}@media (min-width:640px){.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:items-start{align-items:flex-start}.sm\:justify-end{justify-content:flex-end}.sm\:h-screen{height:100vh}.sm\:m-0{margin:0}.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-xl{max-width:36rem}.sm\:max-w-4xl{max-width:56rem}.sm\:p-0{padding:0}.sm\:p-6{padding:1.5rem}.sm\:p-8{padding:2rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:pt-8{padding-top:2rem}.sm\:align-middle{vertical-align:middle}.sm\:w-7\/12{width:58.333333%}.sm\:w-full{width:100%}.sm\:gap-4{gap:1rem}.sm\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:scale-90{--tw-scale-x:.9;--tw-scale-y:.9}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:translate-x-0{--tw-translate-x:0px}.sm\:translate-x-2{--tw-translate-x:0.5rem}.sm\:translate-y-0{--tw-translate-y:0px}}@media (min-width:768px){.md\:border-b{border-bottom-width:1px}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:flex-row{flex-direction:row}.md\:justify-end{justify-content:flex-end}.md\:float-left{float:left}.md\:h-9{height:2.25rem}.md\:h-16{height:4rem}.md\:mt-0{margin-top:0}.md\:mb-0{margin-bottom:0}.md\:ml-0{margin-left:0}.md\:mt-2{margin-top:.5rem}.md\:mt-6{margin-top:1.5rem}.md\:mb-6{margin-bottom:1.5rem}.md\:mt-8{margin-top:2rem}.md\:mb-8{margin-bottom:2rem}.md\:mt-12{margin-top:3rem}.md\:p-8{padding:2rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:pt-4{padding-top:1rem}.md\:pt-16{padding-top:4rem}.md\:pt-40{padding-top:10rem}.md\:pb-48{padding-bottom:12rem}.md\:relative{position:relative}.md\:text-right{text-align:right}.md\:w-9{width:2.25rem}.md\:w-auto{width:auto}.md\:w-2\/3{width:66.666667%}.md\:w-2\/6{width:33.333333%}.md\:w-7\/12{width:58.333333%}.md\:w-full{width:100%}.md\:gap-10{gap:2.5rem}.md\:gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.md\:gap-y-4{row-gap:1rem}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:col-span-3{grid-column:span 3/span 3}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-8{grid-column:span 8/span 8}.md\:col-start-5{grid-column-start:5}}@media (min-width:1024px){.lg\:border-t-0{border-top-width:0}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:text-sm{font-size:.875rem;line-height:1.25rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:mt-0{margin-top:0}.lg\:mt-2{margin-top:.5rem}.lg\:ml-2{margin-left:.5rem}.lg\:mb-6{margin-bottom:1.5rem}.lg\:ml-6{margin-left:1.5rem}.lg\:pt-8{padding-top:2rem}.lg\:text-right{text-align:right}.lg\:w-auto{width:auto}.lg\:w-1\/2{width:50%}.lg\:w-7\/12{width:58.333333%}.lg\:w-9\/12{width:75%}.lg\:gap-6{gap:1.5rem}.lg\:gap-24{gap:6rem}.lg\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-9{grid-template-columns:repeat(9,minmax(0,1fr))}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}}@media (min-width:1280px){.xl\:block{display:block}.xl\:hidden{display:none}.xl\:h-12{height:3rem}.xl\:text-base{font-size:1rem;line-height:1.5rem}.xl\:text-lg{font-size:1.125rem;line-height:1.75rem}.xl\:text-3xl{font-size:1.875rem;line-height:2.25rem}.xl\:text-5xl{font-size:3rem;line-height:1}.xl\:leading-6{line-height:1.5rem}.xl\:leading-tight{line-height:1.25}.xl\:mx-8{margin-left:2rem;margin-right:2rem}.xl\:mt-0{margin-top:0}.xl\:ml-8{margin-left:2rem}.xl\:ml-64{margin-left:16rem}.xl\:p-4{padding:1rem}.xl\:pl-0{padding-left:0}.xl\:pl-96{padding-left:24rem}.xl\:text-right{text-align:right}.xl\:w-12{width:3rem}.xl\:w-64{width:16rem}.xl\:gap-8{gap:2rem}.xl\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:col-span-2{grid-column:span 2/span 2}.xl\:col-span-3{grid-column:span 3/span 3}.xl\:col-span-8{grid-column:span 8/span 8}.xl\:col-span-9{grid-column:span 9/span 9}}@media (min-width:1440px){.xxl\:col-span-2{grid-column:span 2/span 2}.xxl\:col-span-10{grid-column:span 10/span 10}} diff --git a/public/assets/css/crater.css.map b/public/assets/css/crater.css.map deleted file mode 100644 index 93f38e01..00000000 --- a/public/assets/css/crater.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./crater.scss","webpack:///./node_modules/toastr/toastr.scss","webpack:///./components/v-tooltips.scss","webpack:///./components/pace-loader.scss","webpack:///./components/animation.scss","webpack:///"],"names":[],"mappings":"AAAA;;AAAA;;;CAAA;;AAAA;;CAAA;;AAAA;;;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;EAAA;KAAA;AAAA;;AAAA;;;CAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;;;;;;;;;kBAAA;AAAA;;AAAA;;;CAAA;;AAAA;;;CAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;;CAAA;;AAAA;EAAA;UAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;;;;EAAA;;;;;;WAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;;;CAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;;;CAAA;;AAAA;;;;;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;SAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;;;;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;CAAA;;AAAA;;CAAA;;AAAA;EAAA;AAAA;;AAAA;;;;EAAA;;AAAA;;EAAA;;AAAA;;;;;;;;;;;;;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;EAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;EAAA;EAAA;EAAA;AAAA;;AAAA;;EAAA;;AAAA;;;;;EAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;EAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;AAAA;;;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;;EAAA;;AAAA;EAAA;AAAA;;AAAA;;;;;;;;EAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;;EAAA;AAAA;;AAAA;;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;;;;;;EAAA;EAAA;AAAA;;AAAA;;;EAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;;;;;;EAAA;;AAAA;;;;;EAAA;EAAA;EAAA;AAAA;;AAAA;;;;;EAAA;;AAAA;;;;EAAA;AAAA;;AAAA;;;;;;EAAA;;AAAA;;;;;;;;EAAA;EAAA;AAAA;;AAAA;;;;;EAAA;;AAAA;;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAEA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;UAAA;EAAA;UAAA;EAAA;UAAA;EAAA;UAAA;EAAA;UAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;UAAA;EAAA;UAAA;EAAA;UAAA;EAAA;UAAA;EAAA;UAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;UAAA;EAAA;UAAA;EAAA;EAAA;EAAA;UAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;EAAA;UAAA;EAAA;UAAA;EAAA;EAAA;EAAA;UAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;EAAA;UAAA;EAAA;UAAA;EAAA;EAAA;EAAA;UAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;UAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;UAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAEA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;KAAA;UAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;KAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;MAAA;AAAA;;AAAA;EAAA;MAAA;AAAA;;AAAA;EAAA;MAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;KAAA;MAAA;UAAA;AAAA;;AAAA;EAAA;KAAA;MAAA;UAAA;AAAA;;AAAA;EAAA;KAAA;UAAA;AAAA;;AAAA;EAAA;KAAA;MAAA;UAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;OAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;EAAA;AAAA;;AAAA;EAAA;IAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;EAAA;AAAA;;AAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;UAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;AAAA;;AAAA;EAAA;EAAA;AAAA;;ACJA;EACE;ADIF;;ACFA;EACE;EACA;ADKF;;ACHA;;EAEE;ADMF;;ACJA;EACE;EACA;ADOF;;ACLA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADQF;;ACNA;;EAEE;EACA;EACA;EACA;EACA;EACA;ADSF;;ACPA;;yDAAA;;AAGA;EACE;EACA;EACA;EACA;EACA;ADUF;;ACRA;EACE;EACA;EACA;ADWF;;ACTA;EACE;EACA;EACA;ADYF;;ACVA;EACE;EACA;EACA;ADaF;;ACXA;EACE;EACA;EACA;ADcF;;ACZA;EACE;EACA;ADeF;;ACbA;EACE;EACA;ADgBF;;ACdA;EACE;EACA;ADiBF;;ACfA;EACE;EACA;ADkBF;;AChBA;EACE;EACA;EACA;ADmBF;;AChBA;EAGE;ADmBF;;ACjBA;EACE;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;ADoBF;;AClBA;EAGE;EACA;EACA;EACA;EACA;ADqBF;;ACnBA;EACE;ADsBF;;ACpBA;EACE;ADuBF;;ACrBA;EACE;ADwBF;;ACtBA;EACE;ADyBF;;ACvBA;;EAEE;EACA;EACA;AD0BF;;ACxBA;;EAEE;EACA;EACA;AD2BF;;ACzBA;EACE;AD4BF;;AC1BA;EACE;AD6BF;;AC3BA;EACE;AD8BF;;AC5BA;EACE;AD+BF;;AC7BA;EACE;ADgCF;;AC7BA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;ADgCF;;AC7BA;;AACA;EACE;IACE;IACA;EDgCF;;EC9BA;IACE;IACA;EDiCF;AACF;;AC/BA;EACE;IACE;IACA;EDiCF;;EC/BA;IACE;IACA;EDkCF;AACF;;AChCA;EACE;IACE;IACA;EDkCF;AACF;;AEzOA;EACI;EACA;AF2OJ;;AEzOI;EACE;EACA;EACA;EACA;AF2ON;;AExOI;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AF0ON;;AEvOI;EACE;AFyON;;AEvOM;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AFyOR;;AErOI;EACE;AFuON;;AErOM;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AFuOR;;AEnOI;EACE;AFqON;;AEnOM;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AFqOR;;AEjOI;EACE;AFmON;;AEjOM;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AFmOR;;AE5NM;EACE,mBAHM;EAIN;EACA;EACA;EACA;AF8NR;;AE3NM;EACE,qBAXM;AFwOd;;AEzNI;EACE;EACA;EACA;AF2NN;;AExNI;EACE;EACA;EACA;AF0NN;;AGlUA;EACE;EACA;EACA;EACA;EACA;MAAA;AHqUF;;AGlUA;EACE;AHqUF;;AGlUA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;AHqUF;;AGlUA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EAKA;AHqUF;;AGlUA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,yBAhDkB;EAiDlB,0BAjDkB;EAkDlB;EACA;EAIA;AHqUF;;AGlUA;EACE;IAEE;EHqUF;;EGnUA;IAEE;EHqUF;AACF;;AGjSA;EACE;IACE;IACA;EHiUF;;EG/TA;IACE;IACA;EHiUF;AACF;;AI/aA;EACE;UAAA;EACA;EACA;UAAA;EACA;AJibF;;AI9aA;EACE;IAEE;EJgbF;;EI7aA;IAEE;EJ8aF;;EI3aA;IAGE;EJ2aF;;EIxaA;IAEE;EJyaF;AACF;;AI7bA;EACE;IAEE;EJgbF;;EI7aA;IAEE;EJ8aF;;EI3aA;IAGE;EJ2aF;;EIxaA;IAEE;EJyaF;AACF;;AA7aA;EACE;EACA;AA+aF;;AA5aA;EACE;IACE;IACA;IACA;IACA;EA+aF;AACF;;AKjdA;ELEA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAEA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;CKJA;;AAAA;ELEA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAEA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;CKJA;;AAAA;ELEA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAEA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;CKJA;;AAAA;ELEA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAEA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;CKJA;;AAAA;ELEA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAEA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;CKJA;;AAAA;ELEA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAAA;IAAA;MAAA;IAAA;EAAA;;EAEA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;OAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;QAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;YAAA;EAAA;;EAAA;IAAA;OAAA;QAAA;YAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;SAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;IAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA;;EAAA;IAAA;YAAA;EAAA","file":"assets/css/crater.css","sourcesContent":["@tailwind base;\n\n@tailwind components;\n\n@tailwind utilities;\n\n\n// Plugins\n//----------------------------------\n\n@import '../../../node_modules/toastr/toastr';\n\n// Base Components\n//----------------------------------\n\n@import 'components/v-tooltips.scss';\n\n// Components\n//----------------------------------\n\n@import 'components/pace-loader';\n@import 'components/animation';\n\n.swal-icon--custom {\n height: 80px;\n width: 80px;\n}\n\n@media (max-width: 768px) {\n .table-component .sw-dropdown {\n position: absolute;\n visibility: visible;\n top: 15px;\n right: 10px;\n }\n}\n",".toast-title {\n font-weight: bold;\n}\n.toast-message {\n -ms-word-wrap: break-word;\n word-wrap: break-word;\n}\n.toast-message a,\n.toast-message label {\n color: #ffffff;\n}\n.toast-message a:hover {\n color: #cccccc;\n text-decoration: none;\n}\n.toast-close-button {\n position: relative;\n right: -0.3em;\n top: -0.3em;\n float: right;\n font-size: 20px;\n font-weight: bold;\n color: #ffffff;\n -webkit-text-shadow: 0 1px 0 #ffffff;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n}\n.toast-close-button:hover,\n.toast-close-button:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n/*Additional properties for button version\n iOS requires the button element instead of an anchor tag.\n If you want the anchor version, it requires `href=\"#\"`.*/\nbutton.toast-close-button {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.toast-top-center {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-center {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-full-width {\n top: 0;\n right: 0;\n width: 100%;\n}\n.toast-bottom-full-width {\n bottom: 0;\n right: 0;\n width: 100%;\n}\n.toast-top-left {\n top: 12px;\n left: 12px;\n}\n.toast-top-right {\n top: 12px;\n right: 12px;\n}\n.toast-bottom-right {\n right: 12px;\n bottom: 12px;\n}\n.toast-bottom-left {\n bottom: 12px;\n left: 12px;\n}\n#toast-container {\n position: fixed;\n z-index: 999999;\n /*overrides*/\n\n}\n#toast-container * {\n -moz-box-sizing: border-box;\n -webkit-box-sizing: border-box;\n box-sizing: border-box;\n}\n#toast-container > div {\n position: relative;\n overflow: hidden;\n margin: 0 0 6px;\n padding: 15px 15px 15px 50px;\n width: 300px;\n -moz-border-radius: 3px 3px 3px 3px;\n -webkit-border-radius: 3px 3px 3px 3px;\n border-radius: 3px 3px 3px 3px;\n background-position: 15px center;\n background-repeat: no-repeat;\n -moz-box-shadow: 0 0 12px #999999;\n -webkit-box-shadow: 0 0 12px #999999;\n box-shadow: 0 0 12px #999999;\n color: #ffffff;\n opacity: 0.8;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);\n filter: alpha(opacity=80);\n}\n#toast-container > div:hover {\n -moz-box-shadow: 0 0 12px #000000;\n -webkit-box-shadow: 0 0 12px #000000;\n box-shadow: 0 0 12px #000000;\n opacity: 1;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);\n filter: alpha(opacity=100);\n cursor: pointer;\n}\n#toast-container > .toast-info {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-error {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\") !important;\n}\n#toast-container > .toast-success {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\") !important;\n}\n#toast-container > .toast-warning {\n background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\") !important;\n}\n#toast-container.toast-top-center > div,\n#toast-container.toast-bottom-center > div {\n width: 300px;\n margin-left: auto;\n margin-right: auto;\n}\n#toast-container.toast-top-full-width > div,\n#toast-container.toast-bottom-full-width > div {\n width: 96%;\n margin-left: auto;\n margin-right: auto;\n}\n.toast {\n background-color: #030303;\n}\n.toast-success {\n background-color: #51a351;\n}\n.toast-error {\n background-color: #bd362f;\n}\n.toast-info {\n background-color: #2f96b4;\n}\n.toast-warning {\n background-color: #f89406;\n}\n\n.toast-progress {\n position: absolute;\n left: 0;\n bottom: 0;\n height: 4px;\n background-color: #000000;\n opacity: 0.4;\n -ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n filter: alpha(opacity=40);\n}\n\n/*Responsive Design*/\n@media all and (max-width: 240px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 11em;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n}\n@media all and (min-width: 241px) and (max-width: 480px) {\n #toast-container > div {\n padding: 8px 8px 8px 50px;\n width: 18em;\n }\n #toast-container .toast-close-button {\n right: -0.2em;\n top: -0.2em;\n }\n}\n@media all and (min-width: 481px) and (max-width: 768px) {\n #toast-container > div {\n padding: 15px 15px 15px 50px;\n width: 25em;\n }\n}\n",".tooltip {\n display: block !important;\n z-index: 10000;\n\n .tooltip-inner {\n background: black;\n color: white;\n border-radius: 16px;\n padding: 5px 10px 4px;\n }\n\n .tooltip-arrow {\n width: 0;\n height: 0;\n border-style: solid;\n position: absolute;\n margin: 5px;\n border-color: black;\n z-index: 1;\n }\n\n &[x-placement^=\"top\"] {\n margin-bottom: 5px;\n\n .tooltip-arrow {\n border-width: 5px 5px 0 5px;\n border-left-color: transparent !important;\n border-right-color: transparent !important;\n border-bottom-color: transparent !important;\n bottom: -5px;\n left: calc(50% - 5px);\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n\n &[x-placement^=\"bottom\"] {\n margin-top: 5px;\n\n .tooltip-arrow {\n border-width: 0 5px 5px 5px;\n border-left-color: transparent !important;\n border-right-color: transparent !important;\n border-top-color: transparent !important;\n top: -5px;\n left: calc(50% - 5px);\n margin-top: 0;\n margin-bottom: 0;\n }\n }\n\n &[x-placement^=\"right\"] {\n margin-left: 5px;\n\n .tooltip-arrow {\n border-width: 5px 5px 5px 0;\n border-left-color: transparent !important;\n border-top-color: transparent !important;\n border-bottom-color: transparent !important;\n left: -5px;\n top: calc(50% - 5px);\n margin-left: 0;\n margin-right: 0;\n }\n }\n\n &[x-placement^=\"left\"] {\n margin-right: 5px;\n\n .tooltip-arrow {\n border-width: 5px 0 5px 5px;\n border-top-color: transparent !important;\n border-right-color: transparent !important;\n border-bottom-color: transparent !important;\n right: -5px;\n top: calc(50% - 5px);\n margin-left: 0;\n margin-right: 0;\n }\n }\n\n &.popover {\n $color: #f9f9f9;\n\n .popover-inner {\n background: $color;\n color: black;\n padding: 24px;\n border-radius: 5px;\n box-shadow: 0 5px 30px rgba(black, .1);\n }\n\n .popover-arrow {\n border-color: $color;\n }\n }\n\n &[aria-hidden='true'] {\n visibility: hidden;\n opacity: 0;\n transition: opacity .15s, visibility .15s;\n }\n\n &[aria-hidden='false'] {\n visibility: visible;\n opacity: 1;\n transition: opacity .15s;\n }\n }\n","$pace-loader-color: #5851d8;\n\n.pace {\n -webkit-pointer-events: none;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n}\n\n.pace-inactive {\n display: none;\n}\n\n.pace .pace-progress {\n background: darken($pace-loader-color, 10%);\n position: fixed;\n z-index: 2000;\n top: 0;\n right: 100%;\n width: 100%;\n height: 2px;\n}\n\n.pace .pace-progress-inner {\n display: block;\n position: absolute;\n right: 0px;\n width: 100px;\n height: 100%;\n box-shadow: 0 0 10px $pace-loader-color, 0 0 5px $pace-loader-color;\n opacity: 1;\n -webkit-transform: rotate(3deg) translate(0px, -4px);\n -moz-transform: rotate(3deg) translate(0px, -4px);\n -ms-transform: rotate(3deg) translate(0px, -4px);\n -o-transform: rotate(3deg) translate(0px, -4px);\n transform: rotate(3deg) translate(0px, -4px);\n}\n\n.pace .pace-activity {\n display: block;\n position: fixed;\n z-index: 2000;\n top: 15px;\n right: 15px;\n width: 14px;\n height: 14px;\n border: solid 2px transparent;\n border-top-color: $pace-loader-color;\n border-left-color: $pace-loader-color;\n border-radius: 10px;\n -webkit-animation: pace-spinner 400ms linear infinite;\n -moz-animation: pace-spinner 400ms linear infinite;\n -ms-animation: pace-spinner 400ms linear infinite;\n -o-animation: pace-spinner 400ms linear infinite;\n animation: pace-spinner 400ms linear infinite;\n}\n\n@-webkit-keyframes pace-spinner {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@-moz-keyframes pace-spinner {\n 0% {\n -moz-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -moz-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@-o-keyframes pace-spinner {\n 0% {\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@-ms-keyframes pace-spinner {\n 0% {\n -ms-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -ms-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n\n@keyframes pace-spinner {\n 0% {\n transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n",".shake {\n animation: shake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;\n transform: translate3d(0, 0, 0);\n backface-visibility: hidden;\n perspective: 1000px;\n}\n\n@keyframes shake {\n 10%,\n 90% {\n transform: translate3d(-1px, 0, 0);\n }\n\n 20%,\n 80% {\n transform: translate3d(2px, 0, 0);\n }\n\n 30%,\n 50%,\n 70% {\n transform: translate3d(-4px, 0, 0);\n }\n\n 40%,\n 60% {\n transform: translate3d(4px, 0, 0);\n }\n}\n",null],"sourceRoot":""} \ No newline at end of file diff --git a/public/assets/icon/check-circle-solid.svg b/public/assets/icon/check-circle-solid.svg deleted file mode 100644 index 2c21c410..00000000 --- a/public/assets/icon/check-circle-solid.svg +++ /dev/null @@ -1,17 +0,0 @@ - - - - diff --git a/public/assets/icon/envelope-solid.svg b/public/assets/icon/envelope-solid.svg deleted file mode 100644 index 5102d95a..00000000 --- a/public/assets/icon/envelope-solid.svg +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/public/assets/icon/file-alt-solid.svg b/public/assets/icon/file-alt-solid.svg deleted file mode 100644 index 54514914..00000000 --- a/public/assets/icon/file-alt-solid.svg +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/public/assets/icon/paper-plane-solid.svg b/public/assets/icon/paper-plane-solid.svg deleted file mode 100644 index 771707c5..00000000 --- a/public/assets/icon/paper-plane-solid.svg +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/public/assets/icon/times-circle-solid.svg b/public/assets/icon/times-circle-solid.svg deleted file mode 100644 index f64cfebc..00000000 --- a/public/assets/icon/times-circle-solid.svg +++ /dev/null @@ -1,14 +0,0 @@ - diff --git a/public/assets/icon/trash-solid.svg b/public/assets/icon/trash-solid.svg deleted file mode 100644 index 6d52f5b6..00000000 --- a/public/assets/icon/trash-solid.svg +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/public/assets/img/Frame.png b/public/assets/img/Frame.png deleted file mode 100755 index d755b2813c6028828e1fdee608d5f057070e0ae1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26174 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

MU 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%0A!(LXhWHwzlV5*7m7^>SOm2xMfH_G< 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 diff --git a/public/assets/img/Vector-1.png b/public/assets/img/Vector-1.png deleted file mode 100644 index 610022393a8f66f81482b166459592db57cb4f8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785155 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 zξ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

r+?lUB!Rw|RBAl3)_3hM2s&BP)-ZBAq53k`1 zy*R8hn0{^o{=$1;*7!Z;;s403*2ex@Xl#M~rw`7$4x5wyz<98a4`vE_s?u1X=#1|T zQo+X)X-TMm6|r)(o@OEflIZ9h$QHDZzfo;0gcKI`4wY$$TRA4_5Dbh}9uk+%+WDSF z0_e^kq!2fTv&7mqso%>Eu6SOscaJ9WE=cnwE>NZpR8dQ?(pvY zz$~)@_#?3fI1LAPrg1liYAWdbIUct->I@hp-}aCacvrHvW!}kT7EB!4i&x`2fqg?v zWa2J4+f*L&7))qef;USq{siU4O)MbZfEJ)m7;B z?@8O&#k4TM8AN1x!1HwujbBn$ZDSs;52>Iiz}Mvsd;b7^D_^TP4hfd?rYy$n?`j=7 zz7~u>K|xCfvrT@UnDeNj73(s0>>vckROSQSxS~w9dAPSjzAjSGxWWVmLVPOc**RWw z1@RRdSh+r+nlK3}^SN^VPVcqnwl6ggcI-#msHuU8iFW+llHW*dIs1aHOAdZKTWini z^<^IU;d>8)xSP_!kO_@kX#(kHNw@Z)AC93`(^YL_u2zqmq>;4fn3ihHWZ7{t-^BZa z^DkRf^R`wMU2_hYOBaw7T(~acRpdWWja2xU)f~#aHxa1Ku^6fpM%%Pe0?gs z!j#Gt_ma!{^pnWNb3FNq#XKJhQ7=u@=zq$_aM&m;3p&P)IvHgA*lFl~ujc-6uC3&z za;TsUXLoA;1kqJ51XAx^n>+W=>P+u2PKbHKqXvVzbda|eCp3ilgNtW+yyDNoU20}T zy}6|tiuc7DV0Q&Gn$A#G>;0uSPlVuKtUv>v!0z#p6;__FF~o4t#{QysK~U4+&Gfdj zOI_p#81K4ujRT%x#0=E2;7Kn-9W%xLLuy9ii1@385F>20^OVyL85DkK&sf z5sD@`ud>|p1tM{)Ri{%^NE6k9-umxQl0jd?2=QvC`8U6wN*er|aQ`oXtex>c1y5-n z`M>?`O654~FREttY1<01^krwv$f@;Yx(Za)zG3nd@R8{G2SzsV7N!AxKzUmuHg0m&g0IiFz1;>UD?A;Qt0tXAn;cqu(@>RQb9lMs9 z37-Vsm=47-0Yta5qe{4xW!`ejN8ik7B=kbh3~0;YcMIxOP!ZWyeH;0ppj4Wlv_H#Y(+Mx0{`^c6`ScoNAe;wU?Za7apdtm(!$fU zuY;JSyVs>Zmjq7*UcOV)*xd+A_%M zvKBIS%#*8Dr8UwQDne?_R7)qUlu$je4uO>bt~@sxnHjtR$+t!aSDvC3-d@iYk6bB_ zpRsFJL4)5gQ;QDnw~b)E-laZk(ip0}6>(`>-PbK<65;6w@$-%0Qsw#h4N=}+^~c5d z_Y3pC{JP@%`bVTC3!kZVz#cYgK*Sr^h3rqmqWx1BvQWC5G-;cQLU%TLc-zj3t~1=J z@1x)+0n2*UkBtpV`^Z=)BcW9aQQdVkhi9szy6Hm$iGBJR!4BdTc=@$UH-mV)dS~8I z%f5m&{@iy!Zx4JQrs0>^6)A()4Mjz;Tr6E$5@)nmZu{SmW5G_J$CCTvxo5P7oQSoQ zU`aLS4h{h{p)ZUVGG8t)o8u)l)K`F-06qTSf*O67E`(zTOuhP{3_uL|Y!G|eih~vN z+4Zsk7Ao6z}7cEY`Iib&qE#?HPjii>H(2BGGR zAoliM1^{04yFh$4`|nCt7Szdj#AVaT^Mk_UIstcf5B$Bpe@S&1W+kSQ6KDA8pUC`>H)|#ZF ztpqrMM6*}g`KEc38?)dxc(&ICI?5Wk4m`CfQVg_ep+r0*`` zNk(raFYk)YT|Z|gKQk-dZHP~cUr6gAAW#4Z>_;$-ozK#Ty7-F_JeEE>qO^B~IA;wA zY_nJr-z7d=MbwRdPPA)TIdyHhw4>aYpi(+J0nH*2oX!jITgF`dYtdyTFe@D(VgWbKMiXynCH=9yZL!_=W$c&o{gtvN%tIrjRT)87_ zk3K|H^0X$+BX%sKiK!=8-tj}hvY_%Q5&YRXHPc$;ZYhRK=5X2G&1XW3|4oYz&i-Kc z`wKFpP&a0$@NxY!3GiWK9#7Lm{k<+K$n|`+VJn2|Jl03C0_CxnMt~^|C0``O&70Ma z19{LX;$72A>65$jL}g-sb<6)@>3?w)f4sXg(fLF842lLrueWYera67JN#;6cv*ph- za=kckaF3$>PSQdcPUhjP0_(ozGb>Z?^oAfB_B6)^!yvQ0d@OV38MH!9DKhZX5a4RJ)&Uo!1kJQmg7lQX%d){xr3U;A%0WPH(kUK6zN&4xv-r$Ma4Xy<`gbL*f&_Y7S z13XBHc9UM`@OK`&iL~^wV{3Xnj$IdBYUec^CK`Ms4H4ZOw?KU~w*=WD9z{pH#l zz>)tBLVvY4pN-K!Z$-ip0`}lJC%Oy;~UIj~aZxpJRw`}_H^0mglPJEjYxn42gu zktkc%i2@JgfX)8?GXKg(+6N>d` z1MuNrVy`!!{wUKfXf*G(%X7sf z4CcKj2c0t${4 ze2YJPUTtj_v^=-)_KyJnKhF41jQ{%!_42RYKef^CFx#Xz-~O0ZsJhE*CU%}vKoJ;I zXv+iwg^R%9Aj&rZ-UjKSr-(2QV~5^;JDBFUU&~AX<#JE)iXk|(B$YqS1$3C{kc|%T z&S3qvs7uh3o!4s4Rn#sY{UtKCSY>&4PG)R+;1h8hxTpa+1IxlYQ#a=T;=^ zJPhE?7oCGQ;d*6rbUJ!|pCx&7SJjZ6=&;n)(&9+~2(im{s#zL782C#M8WH8B7ShLU zWP1JzY(&Tj?iR4DQjp=}B7U?E0CzJx!GGA;ZCR!nx%G7=h^ZC|ID^uA;gexHwZnF2 z-6n1WRv2>?g9iqem>3RfSr`?|h3PK~v1_YD z{6;$^|KsfcS$R?KOuy>3ZvfGx>9Zm1Kog}9*^*D%|_yB&$zfv~ele-;lY6T}NPq!+uyHwjM z^zg6Zg%+(IOdnk)`vi^oJlD<+j;Iy9W8=BLQzK02Fi-&`h+L9(q@28)?dI0iOm z67&#YWr-uHCyWo@W4%pxiO(Ik$zib_VG}gV!d1{y?f#zYp+ZTr=~+dm^&s)ela=2% zI`Xp|>%koBr5HJ&{?%vTVvV@v_RSR^{&4Pwy3iHnv;l_~y{KnbujU577&B`GB~%MS zwK4o{DmfF`EQ6cLjWr`m26~ri!^{~FZ+YFM);K!s*74^jMKqJ``A&weCU~ZG7PmL5 zerJK3fuE=F+A*k|4kI`sfQc^P!M;Xod=p zQ-6aCB-D3XKaarvY#;ge5`TZ^T>s-5P#^7)b-okWp0i&_1(9n5VXzAt*E$_|&hPOk zjMk>x#W$f7;pG)=)9l!1 zu&cI00vFe*jwd1fmJ#(}A}7)-(ZZ{q*#eK>OgCR7i%g(*s$4TV30uWcr0umU%Qe#I z<$|w>D!UY~Lj!h!y(G1&#bwt5XF1zN~S2;apY$4G=3smMvZ_nNJoWp5ryy_ zwY5-nrL%1~fl<5NM8Nw%zJz{{`VChw2 zH*T`IVqW|&FtZ_FXUA@uwt@)k&lUf%!hwY1AGy}j_JF$U_oWXk-S`DK3uDVr#J0fw z25F1IglpleU&XhgQhj6Qhop$yPtGOunvGmY-dn2_C(cZPdM9_46oVyirJ<+FA+*ZF zkU)$3`esrh?@Jd;Gt|w{{>$c%C62jXu);s8F&?XIF}z@L4tfbKMX}is*|Q{}7!}j5 zoETL8Q0NVEO#5Jt%z67L%Ef#?(=WlrTrt}5;1wYwm``1PeDAzTn;c{ak@~W&kAHaa z&;Z>BwQQwI)%N>(j8~cc-RH!j;QM^eh{=BC>NY<6Wr?NCiY&!;XQiR*% za>J#HwXk^m!*}uJmP)m<*X0>4uYThmynJtOdCmQdHra=DvuVxspjkt)G4t9=Jva8n zMt&wDLY&oxZ{8)xao5*;MDQCwMt=8W{W2fWpBg$=TEl)i3zwhx=*U_v**&TZeKd;_ zP;;eDDgbN6hf{*o_$-&2AhxF->cRq|<=>n}#%!qliWvX!rhnS>Km2afhyB>^?e#~6 ztaf{+DJz?byU)M9#C9+XH`_i%SAq;Vxm{BYV=!8uL;&2c*&fJUzVfZ|1rE;le19G?4f=!!L^m)SN7Jl)+NXpyFvdMGk}5z_&{m z`J@_aOqZ?(h2(tBZ~p46S%~Z}7HTlS&pEe;9|)+LdBJLmKIm-}A3ip5E(|@MBt8QeC^T&qCWmx3+_Z zI?FQP<0i*qwP&>`OKYj;S;wF#`@78LrY+**cg9Q`^_yS6ihGo?Q}9*2%j_73ttA)P zJ#Me8*k>~ZsF6%xo#D(_-UVbw@a;Bhq>1W1+V!@=`1b=*Ay)oVJD3OPi*b7TPw9J< zs^p{n^d09NU)f7?G8l*b3tLdP_!G_iW6^2b(-gW+UHi=}iCNj3-l?KsRrK79GREUU z4~DcaNotSF{B^D$Ts?Qm7E@NY+X(MX593p@$mmkcVmi$b1JtHxiK{ARAm*|hLHf#sDp9X74AjCBKJ)Fs%i1xB&Co^5J zOQ;fq*|$pKO~kq*rD0XmnqbrBc4eFe@8*AK-GIq{PFmwl z6lwPOwAc{B3`L+jKgnnSm2e&{AA40p${(ZtI(QBjABmPVx5X5ge~)%e=*}r zM!e?zTGr#Cw}+paB(x`(k9?8>NFY-Di+rxb3Mh_S^>9M7InG^k+P?wX1AvqoI5wE5 zCv#v3ihg^>x^405;rqNAb&Y@zxJ0BPL^V9iEue3}xml<3VzI$AfBWjp~X)_iM{ecBf13 zIxz+ViYK)~$ck$H?L8NwoX`pyXGC6=pzzvYX$$-);0jyr8a_UZba=A;p$zW>kOr!7T))$uSifwy!eStI{Dlpg8Wm*gB@7k6w42jcjVirJtyV1x05s={w z&?|pd(q3wF5c%rj;Gl9?`Qy;p^ZU#MQoj-FCdkh0I+wa)pAkwvY-4SgxTef5RiBg9 zy-t6ySlbUHVfS1w;E)x8nZ?YGaGo44&hAz+v(@f;Dos+6CA&TqI27v7e>CRNVMlw< zxsRH3h?Zpi#^bZrXSZvku~XsO&k5@bAP>l3O@|)W#ON39=UOrl_C#~1qa!_ZyN{%u!48Cct+yC5<1QM z%Fs^t`CeHfk47?+@-?3evC2r5+MX6!B9@FjX`>Hf?KP+CvDYxUn)yzxbNF{V+9KjP%6iiOZHOvP{~ZYZ417>---%X50^hCB&qvh8-}itE z0pAoG45(MVboIn?fo2Tf34wI?bc6spD2%>0fbVI|miT zXD=VcAn0>TqjJniy>{9CSXDlM9L1ol#fR}_Ugl7ndIUDeB!fq>KWr-1RG4kg+O(Uo zf$l6U-OslZ41H!7^VN^RXyioDaAwkOuLRT+?WE z57Dc#MJ%OGE2`V{Q4ex)kAyibY;CFbc@+furzSq5j)ELyAVo&W+EgYwV1oD+ zwh=c{fg~)$?|m=JLb8qWQPmXZ!Yf`?zgGF@V*lSS)H}cNHOy@6^?h%&>!4??0{9^; z_^t56ZtF6nZD(S#?6I`0fUf4wbvU0_&S8#t(P+MN>df3q2;Bx9msY@+_~00W8DqaP zSd8!~PM76D{;qAIfxgln#whYJ-`J|hz05J?tyfbiT-T?G(9qhJrQF^fn34*Ep;fe5rvT+&}Z1R5GB>=Lj~Wf zj{ndKssD;kY0v-lfO_XQF$gm|cs-C*O3GmyM2gHE|2AF4YFrTcNto4R_?h`Y@sd*; zo6HO!w6HXxN?+q}fI&L$+xE75&JjMoa|+Y1Hl>EqEL9Wnjtff6FX*mnJLYG}>YawC zwOk4ih*4BpyvdO>IBZ@6pQeSG(g-7>QBbrv=~Z3PcEl7yzse=_4?QO$!?v(rUh}n1Y6F2}!!0cTxvt5V`$#GXf$rs-F@tqG8{0ff>n>FKuU^~GOx{@sCp&LSJ@kED8 zHk(dY6^^h3lk=5~gd7^x|8)!8bWpe`_Q|6qDP(1)-$&KYnj|L}*SH!*6E_DF{@V_@ zI%@s`*NO?+-~Xf@|0fYfHU2{o{iEd;GYbyDMmJW~c?>`JocNSMEvOBrGGr1P`odT& zRv5N?A)uPrGFc^`GL^D%{!nH--xye5#ZidA%^i+B>bWJL!Aur!7-blrQwYmXAfFl) zF3~B|->NHrV3hI|zQr@BbR|s|UlS6lX?#_VrclHB>HJefxN^&>DKW_VFP;yRjr5DS$}x_Y~;9Cuqjo=T!^F(K2Hn}3EnsYT8J5mCVw-N*|V9J z2IfTx;O3#FuV2bJHiwbtJ_;G6-_ELQK2QOV_Y0QeM>^(SQ9eE`IH$Gqxp9&-7k*BK zuSBI_ZLf#op{BOtTOBBen=js3d?U{3bfN#}xdlk&t z+?V?1KVJydbNkdYZCE3spX?f{N3pfXcg)VTi#|tL4R(kI9JmpN<{}z-Jw@u*HsX`S zi9oQcYsn*>Safoz<4CH2*;wd_-F*xOz@eo+*M0d?nrWLZV><)$Bb};G?oeE6PmE{C zA?X)dqBw5bgMn~-3j&NxTK*)z^x5W8`CE`r8j5BVz3)x^%u?xA8}DFNbLWM@CXZ)r-fUOdsfI!=4(Cq!CQJKyE?J!==t7DMO)N9uTJYN_-NzvcT`D zpP9;K;fYGh`uR_spWmJHFQA$PL$c46%W{jtdJeZ1^k!RztLbr`YS8D`YUNF{UY4zy zEP7#Q`n;C)!b3g`Ry>n{ZBUeM?}zumy>F%EyH;ow_Ozt;x}BNl55N4p@%7t2FLy65 zbFP*r*K?rLU@W2AY|C z?&)*s4R29OUTC>1fTXrijqpo@02naNdkP3BLcbL)ZY_6RXBxk1 z?(Mq4cXF9C6ENxthti*%^M@Y*9eB9QLvk%9Ct-%1p}=O<2cwq*1?3nf8*p|E{2|db z6-%it1H$5&d02QxTWzKQt-+u%vhBV;`#i{T#H8T~eaDzb&n8E+O(9CrlfP@O7EcK> zDqq?y3OdoUanx*&+jZpZx0Yb?jN;+_Wv7Ox z(QY_*{T|JIm6Hi5b8I#g-Kk$zsuwG=qs~?_R;&3aCgSa2WOOB-QYyW84t+mw(zk@L z;uK-Wd$+AJ3mn=p_t8?QS7P{GoKD8LYA@n{#Xv|JI`bnLa5ee4E9|6yk^`#lZ_N4T z?woeudcUXO&Xx%Ydcau3=|pwH2?(<+tZE0>>6_x-aj!078CcS4`-!c5!p>so`l(a& z!7~@z6`~_k@>tvuNyE3CF!x;u(ChgkiNLS^>XTJ#`3KLynhL~~J`|@GMK@n$UQw%d zn*rFF>!=MDt*l@?IKvjFfcK)OJXM^yiv%>ltyAx$a-)y6#4mT$=3f04?$_>{`>@Zy z9=(0fq=8Q4^kkaS%R&^H40r{L<7YjW%=D>r-3xm@@?^2i*tL-PdNn9GTkos)UHxv> zVnFS7-Z0mbwy_Rz{%auXl$E}h3pi`Co;|f5_?VqEn6VaiM*L<(|bf zm}_C|n;zx`hhy&&t8b~4jgUgyQ3nM<`cU57+LOZ*gFJwN8AIR`dxk2eTpN$~x5@S> z_ZP&i&B#<|t9ZHHM|m=~eP8($X5_M%jGcrKvcAf`;oK1Oy6_q`9ZQdc0xHwQT_!De_ng3F;h67@5FrhGM33=fbk=ojG?zRt4-8{^2VCMFk z+yrdz2wCg1dN4iZ;+ALur^Z}FSS(pzkSjumr&zjntwsr2yzf7<{*fey98Vc8HD@rr z$Z2%&gXKe^<`9rWD+jU;prfNxWAj;!xtMN}oH)|o0nzGR$5ogkU;DnTJx}Jg(TKaS zpR{MuP}OPW`)2eRgK(?XA17u)a*|kGR#~e14zo)VUcY5aObYqoWvL@l|LdUt2Sh~8|E+@| zv(hO>btmJjoANgf?|EduALo4-xk>qw+(JIc!t@Br;0MvDwd{hAy*1F5Y;7I_KOFI2 zYz^yV+vQE}!oKereLZs)dBxyP(J*v<(}cqAoDscup1WtSI?OS@ZUpRK{;i%SS(nGc z+^^HM9yvO3fMq03<@i5O+tn+VTapvUL)khN> zE<9757_DMmg*<3V5abBY!d{az(;m|7zv1SFypU9u)Aw=o?oRg*V7T#^COJScw@=g3 z@Mx5WAa>@dO}n4<6e(3yF5A97Uj7yT|6cmPt&8>rT>?F;+&7_+7_D$e26{;DQe&e}wEg_~qIq6=%o_^) zFG|>E%Z5uHWtCL$+QnJy~v^m0IV!OLwEn)R$srh zrTO$8t|8>f2C^m2K1SOxsx^a? zKVA*;@&H(K)Y2-5K|yZk(!5K@;&=JenQfl0hr7ofaSucGE<8Vcjb&LcpNrt*LccZe zO)z~t?U20w%znFF1Jk!TY*z?y93`7}Zfs&o?Rw~CUG@Z$_56_oGu!)b71rkK9x2JE^uqFs48Uatry_nUVo5D>!`#UbWL~BfM5>oTsSkY$6Ui)&E zi#N3P+&Yer*J!+7)kL5YWXu&F>j(|L!gATFO^oGIJb<;$O)qY7gcQ!k2hd=aoyr(I z?z#>e#~3*TefC=u6R6t)Gb$DptvSM=M}qpLhb~7Xfm2E*mK}xgkxJdtKo_6De2;nT z<#1@|ys_?utha_xsMq-cK%>uEty1;mUlD#BR{0@Z06FP&1`X!44v}Da(G0mnbkX2i zdkEux#|(yOFPcDnx%8k`i;f@7`1m>OCOc~YDTUsp5bsd5GkZ1)pz~=Ff2-$CxLwj6 z#oRUNIlF0a)rRw#Jr(HQ_D)3jlZ@gr*@-0R_1tf~E&d<1*w_!k;_)APZS&E-tF9+c zxvC@Mu(!=d#W`t2FnG@xuNyv42qgGG;B^Q$r300aQGe0LEf+R1EAkXBk7;^)Gv?QU z|93(h_@4aRH2qUlpyvOs*>J2VH?66=vd1l*bE=)ZFm7wR{8)e7nk|W60S>vzIq}eO zK{1?x#+e98oqN~;$7q~>%8^zA9JJR%pT#^}wHq2sM$fu;;OA}=>9!7wW+?NJb56b` zn(UXMe4cA%PLyrpB2(-)-qA+ioEYVd0vv`jMwHU&9E2myi-{1i2zStN_q}&6bFo@o z3j7BbO^UUBS#MlLZ81 z+v5sJ#QC&2Ufa*s)!D$haN^=wwaOj`&sI$;am~+T*wSR$RZGX(M}|zU)N=T&q!@X! z`$P12z?*?bo^gKr{@azB^a08e>%|NFoMwgUNZjozlk)M|^U?BGo!Rgk^=knfQ}c}q z0FZ}{kppOL?vrK6nry)l!GKv{I=_{|GZ(KYaduHHz!&3?DlfLfn=2IPLV@Ie@5R4& z=I?h+zZGTJPc%~Z)JGB10yKgKDyiLX_<+;qg6@;kE<@E}Nn&X;B3j68f0&&ky=1oN z{e$wmk(7QBy_ge6N&Z;%>FZv%SMHy!Q3|$pSRPVte!Kp-{j~0#M+~PXl7#Ix_+Wm( z6o%tLXb%29J?*E{&fGULaq;PDbNtAkf$TCPdPRV*kK#f3Lml zFUK4>Pvz7!?u%{UE_wyD*OX+?OzZ*o=2-( z2+W4y4}s7m?DS(eD>j(I9puxrnU5dxOMc-PSG=NDDr7&L^Hre3aZa72F9zGyt0(VR zZ1OmoI!-EYPE&X^50j&?Eh|V>P=J2K78u<-g>1zgMtu$(_ott|Shs-B{^q!deTRsh zRz9ZjplS4alz8AH2~lbi`Lf@FpLE1YYP0JSeAo>VN{_eEbus$3_s4G|* z2!kLNb@z4jGjEmbc?PO~dXq3oljB&zc+?5Ca<_Y~dO6(pfz2cKekQtAjz3LG?2oLN zl@^d**ZKZajHU5=6|elf2LAdxmSO8uE>r4HSq}CS`}^$sbNU{gOm@->m!*>H;ku|W z{j!>;;1}xw?k_x3-xbxSBK!Gsf*yxshQ2G$0SB5}?wS%#*TTp#i7;OG8f zhvHEkIR2DU_pVt%c4Ca}^ZF#^&tC#-AC=C_J;6?qT5g8HtEZT>sPA;XHR6r1}@#V+d+zCzFYJw_F7mj^DLn?8K6z%UfZx}s~WN0bFuTf zALse{95&ufPl@Q9QeGa4F0oiqGhdA#ObnBwejG~(aZGV>sioe{a4+!X;c}D+C=0UD zEVNp3rD<8jy7-xf*Raod)!%utHb!1$3&-PQv*OD)g`V4_R2V8nR%?xF(&_L}g!-^G-l%qB(ASf{b`cLK7gD9rgR`Z#+A%SVDa zH-i{^duI(LNh@WW`yO|-V+|~8@62CGorP_-|7DU=N<3?!m``t(HN;;)n#k+%j6br? zhWNtY*YDA_+3qR5JjjH$L2v4S2vK zy$c6n*9?aUaKU$FN@`+-$;(cNnv^|`*3FevfreF z;^6B0K9{C<`vx>v4QYQ6Yn(DraUITudL=qYT2=G6z(Z6On1uTcARb8uMSYpXHp-0@1(8&UEONp=lV0V@@ZIaY6Ope zhy1_6XeXMw>hb+I;=}%%pDN+L{;QqplWn*vYz(v!|9&t}U>CLVtw~gPySg7^d)nOGBU-}4W940Q=Kxs-u zwf5tsQ{u^`D58SxIOc1%O&sdv&1Sal#<8`vEvqO+(U7{_*gEH8HFfXfV;^8-GWU+x z+D^en>UI3=l)Tt_uZG={1ehj8jc!r*I~3&rQwiry+msu6_to*~R?Sq(n!B5get)69 zSB1G>tx4o?buS<(_XQ;EO}GaT><;dkOvc-jNKu<6Ja@XuF=zm>vjR@u(5X^rQqtfe zD^zFph>#rn#uAWR&87kvpIuw3=;L9@NkAHMfhc5@-_)t}k>8vjH{X{{@mnv=q!&Wn zibLlTsj|=n;)DS?K+ts$HZkZqabEAHo`0wnB|MIf~fyrE(Gh73K zhCfceX;k3WypW28R~4r?A-kSuR^BN%F2*5}Z(=d&5o4pzfhQ~gVVNi5b1Yiby}}~& z0Pw|33PI3z+{%sm>Y9stF5mmL*J;7{clx1n^zV)6M-STUWoKRO-aC^wc912z?E&y1 z958MJ00fDpUQ&Ee`w^}ovkPCL2njR;6logwK%*~Px{%8d8-$9yHLGr%ojtvqqIWLy zV=afgg=+_Em9)CgIf@x^J~CrsHV={&c~b)3sUOu03A*^O6T#Ce(%fMkppbiN(b%`c z2b*`4#IzhF>e%Lx8gQFC;>l20C(@q<>XNr!LOj3t$h@9(gQyz$&6u5o<)SOlQvHHi z^f4Bt>Cnq`K4$F6>>YECZ|x=g!UOrlEZfYK6(!Q7L!#9|mhr`O>6XSxK7jMfVf4x< z^dvq6&{?7EYndL`!v1JQBZhz7we7xRQBa_A_iKeWD;>LXk?&NytdFCyGNM1+ZxZ{z zJBj{tW17}cO8f1<0P4mKT3`BpC&67He1quE)d6pY zj=37B!#?C+a4X%@2LotRYDv} z8{~}Tb~xA zarJ2GwC&!MO=tCpz)sJiI0xespcz$Ic{UwGVWV{(`=_0k{^}O4r5`R|N8ggvX&$J1 zu+-sQJle6gy(Vq%Soan+g+vLO1ooDCV$U953Ygi5M2CJvvE0u!{XF&(kkC^z+@cch zn^2Dwsn|*VW|2jG;TyFr7f#-(S=8c*-Sr9VNXjGgz68l_H15~P1Z+&HA(9WRr~n zsF?R0OOWu|#6?SAk=colHLYdK%J@_59cgS+w>M`}P<~F*c*NQfbidDEk&(@ZeSNa@+SoUfv0$di*jr)07`9U|K2WR{%*JwfG%gqJIWQ z+CP~Vjl)|jNOghe;%vBk+xZ7GW2%vo#Qv1_erI1+qG_$q%c7_aA)m?kxARNhfog{g zOcnE&)>>BfWSr~11gd-cVS43}<7&KczF(r ze}CNT<5F%zvd;1n`1ak|gb?KvU6am`tg^DBudD-JW*>%)ZF@(|tQDl|;P=NS_3tPU zAKP^k`K6-*HR_a+ZCi;+)96+am98DD`I8A}ONa3H8&DxNFZmv~uVCvhBdZEUiqDNv z_>mQqDewUdh;*>rqSZf*tutj{`V3$1EtFUH0z}_DJ$ARr+Dj9Hv)cs<2U$hdE*z{W*XVF)22RQ z7ZlIJ^I-7oJPXi<;V*_XEOCC?N-g1>yx1R#(w z#2SpXBql)0vWqe+pP6Z+iej-Y(0Rz`1dt86tE*L2EOX3;jWJ@2Tol}Vw!yqfFN-F$ zFLMhsOaXG_Evs%+;7$S(D|C%avLDpnr?uIDSnh;ZJeoH2a&KBVHXgcJvVXecDdsj( zG}D&fzt>3u?k^T71{PaE@hM^XI(c~y6<$FpKRT(4~u*Np2zR57{nSq?>P$TzU<@$WS#USEM;HkMpA zTX5_3>3OuD+pwYef}_*@U479=o`<9d`oY=0xZt(Ukn8?Y>rG~2-^2Nz*g@5=K7ZQ# zf3=!4Rs59Mr{afxG3st(wbgeJg5l%NPy4L+Y^Qcv-rWi39GVT~J6drfJbgIrl&}a3 z!rgaGbwX%443aQ<3Yar$43sac3#@9C6_PviZbVo!j<3==mxrlahe$3TOM=QzUz;=t z9!lsnpPq1J>msbE8Vf%>3>ckeIi54~Lh2$P1>%3eKYm=L3Q3&iBG)P9zz}Sqt9xPQ z=$5}g%;0g}^e<{&=PCqdxS5)*cB|lSHxZ;Nib~TpBdDJ?v+OvKESvkLPal0A7m~ME z3vgv=ec+@!?}~13JAi*o`xo+vCoChFaUyL)kN3K%*bEbAhA*^g^+gNNi#*K_VHO>NI_b+pD7_m8?TSxX1w#v)y8 z4hZ+G@!~^?zR5DszLuOCh1v8%r9D1CF&^3wl_wH>j##DEm-Pp-_Tz}3q?w&*;`dH; zH_*>8|IV)(;mDPIIlR_v;P{U8Z7Ehj5MQE$Us0}No) z&qS`rQa*eua=}tY9|c+~f(F+1+_il#SF-PQgc;m%dh+}jD<8*tk9~KV)^T^6r6+@6 zdM=~WbO2yDba7Q_m!IO*TXJ*oL}I>QH;1L+e7olrjxwbL-Sa z`@`(p0e6%i_6@r*b7Xq@$2%rmRmgFb-O@;vk8b=+F>wggda4;MIFNP=D6Nz@hE=OrkzkHdls3~| z89(ODhW&R-;%}d;OZ|0y)MyppAG8g^?H#g$F14xTS4phuxcYWyAUC);3>^e))`#T~ zj|Ap)eM#V$p`aX-($?a*G2hZ8sdE&`ndit#56p>ZchiWc3*tD_t_14yR}Y{o{p12p_+Bk znojh@Fgq0Jq>~nD?+b6WnrWobR2<@@#!A3$^5agK;jx5~Xq9YbFH%R_M^8qQ_i@vQ z29~WQ^qbYZ$`NhQ1xWVeQ%4J1wySdwEzBR^6B{G}xd*-TmR)QDq@Yex-r=43#Yb9Y zI^On~4v^l^Uj+9snLZ4UbcPzzJ7Ixm0{AeUpzB#UQFeZ}!evv&hMq4Xm+gF%++Qb_ zvkWf+wgzvRowpg-*~h7u-kWcT*Ue3XFu*t6@>;2QSbcbVUNsKHBqMx!U-8m-V*>e z$oUv6qZd+m7S*7LuN9KWa`$_%!58v$Y$miMAjTPXsyn6V#p{sayam3~sqB4LCJi*P zXS4Et9o4v_k3wy)=!qkbI*)|MgmF0Mv`wUqX@0^yAm1>Q$}SDgt%+}tW|O$)aK+CS z>?J#C$pxrfE05rOKA$UUw(=z!bjz{IC-gLclhy^~uXI#H3!)wYHXFn}-SqsjMbjNJ zM*4$#q1m?=TNRH#B|OJM$da_MJ~gCfSevAbOmYlfhA)=}@u^z>0^|Dz`JfXLg*abL>3t znG9DkFTaciR1l@!_E2|K2$P}k34L3AOP*Byp2z^_$6p%9x5w<%w^Mr>)H8>H{L0^#;(uUrf%3mfG_I13R8y*FQ;jQfA$0@M zKhxQ4TT}Krl>ADq$5H4Cms`XK9>G=k=eqtcV^3aty88(Uq{Uy0Z6KR0s!XxYICAZ zJJ!Kb){w{OwI~$b`T0hCgO6pUhh9%7%I`>#k0eMVehnf;Harq5e_^|OqqfYCvbU%a z?E8V|bBx;Hz+b5*Df&@K8@!x)KA5qH-j%KW5h56U^RY2Iexk}gv1dgs%<%<5 zEqY~8sb~DvKv|Tg+FXlU16e*|BXA?6O~6LJVkfs$O#+=iOt^q)h@TqqxZjV2)7(v| z;QfJnjX%OvSAzMD<>sC5>rUNl{FNP01Ac7EbkYCR`u{B)G;Q*?hAzBma^m8SI)n8E zI$?!kG3LW`r;4)(m5|Z{5uii<2og}HB!O;SD(=PItNE}bd5+@K9(?>Cyrm{ef{hVu?H}YG%>oU$gG^dJ}M3*2xiFT ztT)sKW4E{$x8(rm?R0fJ=|8Pp4wuLCg}-F6P0o09b@U5w8Xp3FVvGL9UpB7^VKz)@ zmy~0bW3b8hB9GtkcH0}wL)Dg*UQc!%VQElaMvf(`u(De3nH6{OmYS`(g8FYS}|(<3nd1GEcy> z{$BFH_k^DgfhHkD_%}-T<6ZGD#G2~!i&fBAu{CT-wVS5TOrebhvWiNQ55!+VKhb~X zwv6bv|4gu1P@O8)aB{mbc%XYMLQmN^`4b~c%ySp07}%QUu_GCmCO{+vaGrOQv;rc) z(0Ee^wP0poB*?jAK*Yb6p7*gXzzb5zR$I{c5JuC8Ij(V5oIc0V)k6*__!hKmF>neL zt@}{IL;q0qhmqMHWDvBAaPq6RV)AVlyNKeNZ{c~6LF_JYi)Erf;Cybc@@{CaZtO! zR0sHCZBI_L$QT`)8xc67$k4Hg^rQ*D?{tD3#jGe501EFzulJ zoREe}2e(8aHk3 zcgQ;8&|IBhTpt1UxUoY?0s}7;=jc~}Y2uq^ERgZ{TwX$A2qDyWrZo|N@o>>gRIjh4 z+l{-vm#Z&m=;vSSDfE}9xb0T*8S(gqy5NQC0HC8Hp#4Jh0~HhV!JC$A>xlt?7mjI) z>ALUr=+t+fw|&M;`<86t6#xd{%1Ygy8xfZawt0|z*3fB0e&yJVi&4tbv9SIqydhUr zk*uz%(uDLgah3mZAAS~(e`XlG44a7lF|1+;x}< zj)Fcr8oKpt-)vzN9DaUBRiseR;T^8jROn2l^zKL1lR+yrDmSbm*p7zN^#--QigK%F z&vykLwVJ3SC=ZunX)#mp##cnU%Jl$^W?o$N`A@w}5ULev3igs7Zy}$HiJ)INUBck54O0Q|h9K6N$STTUl zD+UXrs6=@yOj38ne!)opG&TMoI3CsGx7y#i71L?j#6bHwC%e`#|5eDdiJ;QEA_5}d zOH9S3)9{dpJW2`AJ!}J`hKyLb>vBPyeNsivr2=vi>6ioH$#@O$(3F@vCj(Ty8949} z_?8*s2G?T7IEAcj93H@bQT30Vf@HpRcVQQB49fmk?x`IDs6``(22N~(I^RyYBHo|l z6%O@GZ(?BFge6QBE2aXgj(wJ6y*@}V883wd?X6vn)Xwp!v4q_(yYi64K@TmOKVF=r za0YPD255XG@)m<;r`3)jf0uZ~Mu%n(ZgqrzOra=1U{K|7vJyL|a2LJrRUjo$D z-vu9c9@~^0#_;00$|eg{q1ic0?X4I=AgY0GUDm)gn z{$;cNCd3*EnEuC8+7+V4<@}l|Ao+3EyP{#cnd^Lv@mT9kLq?b0_9uR7)1R{!ZhUs! z8ta(0Y(ip0qY3wFm8Q6g_4jK+sLmUja^|gn>DrxBr-(Lzzu5ZLA@<~VlM5v4lqcIf zT}kx&{qre@1*XGSoh%6CvwL|NhCA?O*#k?_%}A7K5<%`-Qh&HNbthskK=#TCJRkgd z6W{nj-6Nv6FuGo;^<2#;=g*M-Hd1er~Ty?Pu-ydnuVv{p)if#LL^?(`{0PJ}sEKvvcR?q~3EYLkd2(^ zF+$FGsF0)B)SLFLpq_PQ@b}lJ- zrAI+in2sB93*v7V9|0MiA={Ad^pL>Et~g^ zg_d5X!|@S(aQbhuoD33AF!g!PRf)0Nd)3xu9U|bpqhr0knf{W&_Il<>1rMVwPvHM2YjGUqd4wT;w|Yf2pX;?rb#{!Lei}TL1L~}C`y%NWNn=^KA|d{ zPCD*zlkVfFkS;YIAA#|37p~fvg+(cl8hX3~H%oDYg`N(L%xP|HB=603^8s$L%)|H3 zUW{jd$9wH1x+R$?+YI%p~E7@ zC7t2XHcw2M2$PSJr7JBydw+qPr*+q4R~0bJ1_pZj=X!u8pJYTgRZKg&-WHbEw^*K4$_>)-JosL-*taleg7ZVOtnnipVpQ9J`3z%J6fQLQb)zN zkvo>i%YG9V*ooWiqEYLv6fQMKzKH-t{0Q-M&fJb~tsg4Md@rJ*#?>D9g|43E&iP_; z*K@g%l-a=r3t9b1A6S0gAsfo}_BxCqrK%#uI$0vi;uD`Sq9IV-L!>xzo*vyC1lTPw zI@dU4VJ6owU$>R)Ezt7B*#xEQesnE?WI0HD8Gz%q?!9(h;?_G9&w%Oq%Yx%h#oMTM zRocv|Ft?t)0*_@3F!2Ir1AJpc24+4${#ntSeR>YAA!rLTW1~;Fe9-BZqb2T%$(Z)Cr~Tp0Bo(G^ac7wrBg4^3PIs zWlvdWD=cPboLy8DkzUMxk<%s?=@>a4aFKyJUNz^1NRc(Rg!IPwuC2|**Kz00PCr3- z8VNfPP*eMzur6~GrFELTfO~AO_;WTq-a&{9&u#NpwYagV+mpbPO@~6FK@kgxf+dMN zwXivKgDH}w{zR}W%_sVhC#c5Lo=2A07s_jN zfi@RX%HQSbDw%u;X9AzPaYFfC4pN-9-(GkNoffIcqgbKJvyqi;4Yx2*vp1aicu?D0 z2liI%zy{#*T~NRa+7UIAnaror0809jGz`iwP6P->1%ntpvP|-T;;WsD3*1?KR09| zi=%7b;tN2^8Bd6_V?53ukm&v9 z<49gu_#-- zdPGA3Z76A98mjSDVhA}twT_w@C$a40V$CQmba=Gr+@!g_B4KgF`@}wUJ6(!;VChxE zE`wH00Lvm9rZX!paYgaqN3>@}D`bhyzJK{e$BFHR;3m{1;Vp;dP7mWt|wc4}@;!@gd_xM(LJC zU5H=?HmbIM>1oiQ8^`O9MOM7FYv}%{e7cf;0``ZkI~P@i$r&$H$B#8(vB!80V%7y` z+7x-+&eLs~Z_v}h;U6kp&?kIMfUd;c0oM>%oskd?fiT@&LXHc7w;TJomMM81(dVHJ zhtsHDmj>z=iv~p*you!kdEh}#{mb=QirC0IOPGFQ=548itiF$-c20IOFZg2z?eUR5#@oXm^lhM z$e-1+zuzW!ej3~FF!h7%^8Lg1l;M+Kg*5W;A6*=0meXSxVS^aS^lEsH++FX^zxN`w zw-1K9LJPshWI~d(OQvbyHJt7pa=t+xKWRV~%vmT=J;V>!|IW*8CaKxZPM0NvT5xJV zbh!uY1T4JK*Xy>zlWdL#v378Y1%WxXjdsZe+qvIfIyp6!sV!HTks7c2mL` z)?H^egrFhc`fM;;i2XXX^B7iH4&+G4PYNI_q+Hs>Ied9a(%TK>1YHSdjQWkw!K@M= z(^85>0#Uw_VPzKUvaq12sEWCZgy7+ULa<) z1KXkLXFcM=B;Nv(C|mkx?ZdW{QO-a0wnQvyvE$loV7mJ)I$vH*d2nD_g?dAsDIU~> z!s-XC$O`cW$Q)!nwM^EE(iNG95hLjKb#WaiqHSZ@&Uubx&A)Svez38AOTYH}+~|Kt zzuTF=eucB^{yBiw%RcH|QEIr;K%5tT2fDC*$^Exf`W2VgpmD`p(zC@vHAoNI-`cl1 zIo7KM6ejZSVM>8GHAzZpITe*uQ$%3r&)GWc_OVksy%QW{!A35q9QPNT7Qx1EmsBECc z1`M7PANz5XP2Zi7YwM;(v7kKP4&uGZrDEw_UOvPu$c0b_iPzk*@$Ps@*);N*_BiXwh9I?x)N~csCiljW zG3BS9B`SIt4A35ZQ2~GByfSTTdYO0882SJTVbovD(7W?YT3H3aIwpXuc@Yof?HC>v z@Z|7&*V$O_kc3@gj434L=}v`cA$bB{jcx0<74Ror+5;9p-REDT9#bpBWvnzXhj&Qi z%oY2slJ%_nuYHWL5X4wZ4JgPp{{s8;wU~85DR^k3IFfkc6-D~c4q^gh0XIjQBKDvT zOPse>J5%bO-%@q{qb`yKsrT{}dld;o_Ku!p^3u098`!2jsQ>W~f2r}$w1Ka}uLoki zdVgs>y!`h;NWbfJ6%_g5=|+&yZx{Mm+%&) zOr-?M`{j3&GcxCT5;Xu5`A*cmw#&(eeSz5rlI+u=;a)=Z6IeMSJTwNq3nfVJK_fim zNFmRj=?&&$w-D1p1;p;8Z-3g=4NAh)@Y{Q)_Beui$KvVinZbf8nA4WlEISulcz4GT zb+Sd)$q(qmR`O(nM+526odV}5`W7VKeIbfjC31}Q4kV<`+Q1tg^vfjN+#W_tWgYK9 zP=kMvE@DKWwTbWj0!{`xQ8eP##tcfAMz%>PzkyQeaJ?fRVHK88dDXARRj!aPx1n$y3%3Z=--qyvx^v*(cd-=W) z1NzNVR&1+cocZFF$3CaQM8)by_J#L9c_{x2E8i{d;lt~C@b~&xlk%^#Ku{W?zsE-O z{8+sSzuvL)2~;ll`qKI(DwM089+`gG^5u&%6U^o_GAo+{!Zp<6yFuM_db}^jv$|@D zJ$vTMdYzS|&>N&7=q+=Y%jO19^4{b=T;FE^q(_KAYpv0!! zz!Y>o!i>!gYjQEl{zl84);6Uh+q|$Lm8pD4I|I9@Nd=H3->h(w^6LChQ|!;9uks{?O@~>Ai~(7t zNGfyYd$aZCVN2&sHLV?{t%cjBWD0(q<0?*4KuQAX-fz=+1C2G?ncjzOW2U3~RJfXb zv{7tF$+_RII&kiuGzUCL3+0^yD-ksWe(B5fED9=gl$)LwX)QR_X>M&?3w_6^m~9c^ zDQ?McZFHND?`ke(`SszV_nKBo@7o35MROZ{&;MV#<~Pma`%y(S|C48cPvriFpzcVq zn+^U}j|%;Vwkb|Rgi1&OPPRI%1L~IcRS`x=V~ZzW$Y-Sx9e2`B5r_pxfqarkbLGdN z9sV+ab=mAFFK~oWP~*-QfE(4Jm>{YX%(Wh%6l>pg{HXxNN?p&V{ zCX!$G_*1-aKLR7SkN(9|v(35h7%jQ-F0R%B5Mmh_wa}-`uVk6Y7EpQr*R3gqcHeQs?+93_gK{{l0!I+!4&D zO9tLsa#O-~!tk>%Fyy-16X${YeqB*CDq~Q1anGF__qIy``nF)=MK-Y2$rgNAO_{dt z$T#d_-{W6tN6X)~gyOa~NO=r9sb*Y{6-slbE+cFayL|JI3iVacYr(IDxgHfs1NHcO zxD)uZ(2I+?P49yYXKb{DwG#uuk@KJHX#W7we4qwCs-JeWft*dyIn+;nJ zx#nZWsnhO04Esk<$6titn6x2_@9j8aAu%|IoDyw4 z01-v?N+6lY);q~R;h#lvznqSQWU=BmVepmkVVolNZM-HH>veb{wlv*K>j%+MUEgM* zh>1t&S4=j2Co*>8GQ6CEzC(W~Wpd%(>$=o5eykLESM)kd}{iWFHO5a5%1c z1FP-#8HfB4Ufx#i$(qp#qOp1Tr7yp@3wM< z6;Euebirm*+{54K+AECVUz?V#B0s)$zbVPYLo9$RXbM%S_W~<#DRf9%l8|>HyRqc( zU1PFk>C*-cBt56%`v8BrV`9qXmPCo3u_;wdnO^3Uv9a3nj6uPy5}VH-!*yL(2>{0A z(L)@PBtGfTWvp_xNft|?c_1}aQ>sKu{=9BGks*2KF3%Iw+a&=KllIKpQ110t5gb@} z)p4PXzNu0ixc3~W+=46Ay^wY;IW!wcEt73K`IC|bbJXcqD$?kE(9}`%mSP@|EVVft zT`r3F9c)lT(3x4$~)AvMystGpb0uS5o#@P>%)=TdU7%cY9E7;{$@r9+_+IFbV1w~YOU9FHANcx} z?Ul$$D7h+}fzEm=AkqV$TZ~sV9)UZ;Pr?U-f^3xaU)wkYorvas6vdHnQz(>J)fzFv zct{4K}r(g3FA_&(~V&ou%;Snai%v zey&~6Xz$nr+vA%uhPYS7EmhJXr>^d4mGE>-6wfMJ4esy)UEt<&paS&-MU{ z^75kJrl9Nl0tfcAn;ltfn$YZ6#Lm;u9V1C)F*KSxOtT8gy(7Ge^S!Fqh{e?fY_pLY zqi*c{1tvw3UOOwb;@V^Qr@R$+%EoknmF8r;K^Y$j%J^ODk#MG70Gl<@wj4u)Jnv^ngHlse126hfAq*8X1 z4yX6{ZOhK60ysb-CoJPTTV%kOsu$foapR^>NmLzz!>9W^Mv9ua+G6d9kdyKT5qnd9iKv1 zy~{y29IgE7HZ47tPHM8fe61lbE$*wm8EV(RaU<}nZ1F9_6Ah9g_URaD)u+Ts@~=*= z;|)r!x3a33bp|);r%KriP{cuXFNRuhWXqeGf1QLPTyK|29)A26hX@{1Tj%rF@bq87 z8Qf6mcQ6+6BN{&3ouje_o`y%@nA*nV%B*~&D4z6#Hs3#Gl%zPSWR!JW zZe}DLt_=&o?MIBkcu}|;dsL4gqH^K-mGZ){j5Gzz7VxhypUL+!Egb|69L+KUhrxQMxVM%$-d{ePAK>gtQ-^73nmyo69y>G zo}CjW3-i8c(8LI1@BXHrADEV!ukvX3n1?d6otB0l1vwL}S3D8J8#$!abK&k(HkwJ% z{(f6rN34SpW=uezgv{ozfmEaX7KUEbw_BO2>#gc_4}$488RQXv*y41*_e2&Ql9_pe zvVjFQW1B2P|CR#GF-YM~Le^FYA6I1=rC3N*^hWjDS$k;-+&GrNa93(YdvGKm#X8sL z#yGBA*giG=5{<(DKz(*4x5w;F6W3Y;c&@i0EIaqn5z4IzW4&lFLF?{)bPI{_c~J>*a3$Cx>X`k8PC;M%LZ zR=1|t*7l?(Au@Dxz$Fp$%iX*sczN=ygQm3bM{vdB!cW_WnYbvu%MqqE=0aEn{taqD0R~1$Gn4 z9J%m9D;9+OI4K!=lfb6R&zb_w(IjW{4?SXl)RrX%QkJ6W=Cd=Sil{+iyJ9Jrdqcot zx&i06kKk!2|_J*SbM72)b*eiNMs-;=LX$=chC61-Jl97%PCYr{GQyZ5af; zbg7mp<1g)>hct#i5SL{1x zfa1wgjyWnu<0uV!DkDPwC2&L^$35WB#3y*4`TCzB>o(tmv6G)$uhO>>-{9q0zszuL z?~gr7OR!N8S?ZYxOH%;eft|`J6s)W8vWPGmvXpin75gNbbZMHScpZA`)v=^DZQ zdkAdDo~~Tjq3(r~W`~%y;n94U|LxYGjbN+L9QA?s6po_q`q0?Ow1}>UK*#6^ z-_rR;qrc{D1vF(8WY+}417E*-bQW*7@wu_RIgwP#v2Klu)+ zB)d~RjaN2>XOc}4b#Gx9K*cr|G=CFk$Lte}l2ZlrmNTRvt499n#05$53Oh69yOS$T zZQRWC_st+X?Kt-vI{oej5sPUJcDE~&@VOqhTlE`A>Bt!d$$5qlP23hY7&0r`z^G@@ z%G32c64>p`#Iay=KySZ>axhXv?%#fl5G?#c?+>c~@45!D^uKBBaP}9!%&Jx7k94yw z#Cf1~kSNutG}n?P`EDB^nLf2ZH>hBpH*bb0D&(|6Uh^fbT!hKo)kQ@mVembs{fmT~ zh&Ge-RE3L%jkm z+~~${b(^Py19C}kk#HSTwMYAT>9)6fY)!fVFs(csMG+-IS5o#;TtK-xfV*kk-MbL% zwq@M^$+<#wolGmqBMQv?6o@9Ui*|uADR8beimmd}Dr)-0UP$2~y0A4`Z?gD{x#JWS z*H@k4V5#R#dIT9&hfo`+a)XKh`r|#e3=!pWD`v$yI@F0tigELLf5%(UbXX-tLxjuX zG7{3nK1UaVXFmLF?~F%s)8uBl%o^t?o)|9n)L!JYIQ0f82-= zBJ&y6a6V(T)6kRm>3HxSxxiTI)IypLZp4Tp$Y=NT{^z*Cli|_U+Yc?CY3a=XP#O${ zT-oS|bZ1L89NBi3ss*z1D>f2u!b2SjBi2C;6^PcdJv1#Z91DVd9aj-elKG%Y+Lkuf zP~H)uFQNoogR8bLUD?DbXo!5pNWWTt44CurEh{@72hR?vnfoEO9PV>Ox7du3TJNGI zEqi5S-vXX|+l-m!r`mMpO?0u@C`N4Bi`Ek_5iX}7NB}0^gT0=5r*S>%MFOxUIB_p9 zx`dE*RhtL#+_1nZ!l)^SU=Ec&XS9A1>!Z+bNCi}mZuWaV)jk%0CTEZShPsNU+G6A5 zy;^IOLnr9RQlPT&>{Kmo;wT-r zF@EGN`XMZ+hNYZE5e85;l#b(BNv~kZBV|CwXR|E=~t-_5IQkl{5IO}U{2 zDxWRTBuFRREtTA~WFeUE{#`$g25m0%dtfMd_uKj0ShQE^OUb=9#?Vuok&&%r5BX1Z zg#gK&Xy2RO9t)5EQ@YvEieOxzogJU8B5I$T0yR&70lcot^Yg81A$ zv_F*|aRFL?j^_A}TEOq*GxXZ`!>>fAp_SLwzDh6O*u0C8?INH#Mzz8^BjMGsQMSKk zt5eMMyL)<-v+J9$l1e?6} z4g7{4LsW%68a}SyT50731fwyG~bE!VAQon0*nseZL}}XHVJ;!a8e821%_X z39>ePdORNleJDnmq-|K=-{KydFYTRzIUqLxxKVvRHJ4E$M{0s=i? zgYy+%u8~noEe<07aHn(W{|>V)Hg%HE3k|>PQbp%*CpE zYjSe_Ho9yZ_OQL4&2X(sqjIy3T~#^T@)&b1g@hyd#mVSdH}AM$7LEyz#scO%c^5n7 z=d})OKk7?L#5x%}&TAv;HWAi~8CSrQyv9&8)JJ%dw4c7#$@H=7fkHp2wV#UgTrHUuW;ETIg zhd~bOo1lAqjU(`H7jJRItUfPa4l*ISyzHYWBHk_9M*zl3DJD#GItYvgc%cqTB_rns zMN$p#uekvM)hKFHPPjNetK3Sf#4wL(;JJ_6jbemBo5WiwG-7^xLxozcrEdK}CBEK$ z6o74gIbxImCVuxD16z40AB?5Sr!X8y(plVGgh7Zehw=OtQ(myNzDhCChu#(bbZkv@ zF(;ww6FQ2;l8}Cnge1BM{CUNowU-8+#(}x&6FSY7PC>jd<>}0h(U-h{HIe%z2{#F3 zc@WF8xkGyqUQCz7aIO0QEGmF0U$LF3AOld)S#m4lq!bL;RW(!J&r7w?HBc|S2h zV^*G&&X<_inTNH0N=17Fy&1cFclPv!8j&#F#w&_cETd|?zxA|>Nu9a`zFj{NDQ^of zdA+#2h&0@BIKJaF+uXDWRkmqYHa87U9 z2|-*W)O@IBeXI!~G->-Kf_uLcQyvi79I=#_Gr5w9Ejer24)-q^bFxZ?sV^j7 zR8bzroug$z7qvX)pf=U!E0a`f1_+%UFkyh_u#yA{b(yeD$#c3}qNzy^zoV%Ux z-gc6rT%6LAA}J0EDhBG)HezYLuZ0u)@@%88yFa- zF3hi~f(dqx5_Isd0SzPg1DDd~N37xmX_xDZk8e$IY>LirCUH?NYW2R{dmQAqgs!v? zvJaWbY)8T`ym)_jV%^&NF#$gY-MS^R^!CvN6en82#rIv(u2=mqs{c~ zamt-Poh~hQc_K2m|#?!=`T)ej!sFMbYJ~isp%UPy-?Dk$n5;--e1(#x=Bs=)AJ5w1;=lk*FgNTuXt!yVr?SShP4X^_wJ{KxZzNOEXS!_kABVYa}iXMsL|$#Gm1zoX^= zfw@oPaN$;f&)06fFiuhKy3QvKwCQ6cuab5@1W;JqI3^E+rWsvTfU^@j`^SQr0VzQk zR}s!W7%KW5d$h`=JJChBQT#K4Y|f&b;Nif1MP`elaUvD zx!kSCpTZ7{H!UNtvxWrWuaHDt1t^rH0xjmLPur1T=U!FrMLcd+zR8Mz(`^17_aMk1 zCd}7=7oreO%I{ftAD1r@Bk6d1ESN3!Hev4E-LUReZC(|{-g>*;2cU%hckdTpk?)$* zKr%c;eL)R3i|{-v(9JW0&e~Y9`gyvANG2qtCkdKth7svwN7M5Vs3B%vCIkqcr#g94 zQG4~(XN1@*0b*psUk}4AY#cka5Qyk*oO7+D+@IQ>xA}r|Z0@<18KH8nC4{TKGU)97Ta5qV`1%WuIpYt=>mFJ=fG-@;2RFJZ_wrs@A4bu4kp!uLcLj4PTW5w zfUA^CMYcsRj~u%=(ORm*Uymhoq*Dli&}19tj@s(BW=y{Z?QAo^3_f8Kn>Tz>p=m;@5N(WmWsRXt_B z@X`BXqt)HLQBSiOsM(?_bf?>#jdJ4aK=hC7$ORm5|)I&QTR8?jO)j zAb%d6c)t8Dtbg^{mWsm!K@xv@Z2#pM%e$}RV$jN>74UXBe$jj1siEe#606w$p;d48 zC-AeHWU(?{K}ic*%6uu?VOyt;iQs!?q)(0%Q+^73%p4)?eA3_2|9J?lJ<~tV>(?2< zXWCkCbMht+zPcRW8dHH^p}8hLp|_=%Vl_j}a{PFM^4y~Dq5+^yNBf30WP514M2>;l zl8!S(lrMRQY(_X&hTyA~412w7R)?zpz!O2U4v*;+ODPS|qu|CEW~+ zGy(ZLLPI(9Z@OyVMzsYwvN5IkUN$uO3&$ctp)iXs`vYiM3Xy`NJrmR>3p?S$3iRrJ z&jQWMhjWR%mv_w$G2KJ<;~ZmXNa!W#88)1@m4C{W7x>vOEMu24Cm?u3e9l`?3L@WoF1ddn zCJ*u3Pgn42z(87BAyg z=-SviVI|N94GfhgSy?(G31LZmr>oD>j_-W*TB$@r2Gc^7i!*=yZ8QxBZPEP{v$Gy^ zdCO>-fSS9j+~0b(uV>flqLQS-_+l%R;>L65KzA1ypNm{cqMJtCE(-wcV&c<2Z|4tq zOx*1%3URs+oikLXNA1_ruvc>!tY)rO6(-a_3vOH#7GI(O#c36_Dmda3)_Bf;DuDV% zRQ5L0h$?i*A5|dHxX-30JG!e~t&%3t`$8IvymcpP2z}+F&_?!>3q@TwhH>JI< z#D54Zxy3Bj9NdWNAT1QUk@Y3l7Vpe98Md@F#Q??-Svhnk#a) zH&SCX+Nzb&3YF9fiO-{1xQpCey3arwd7g9?!mU_L&{B9dl4skdO7P@jG5;5|EPVMR z>2O~N^=}y??g6|Mq5r-M35fsta$o74w?E_yLr=&&t2G~l`#kIG#t+{*=#nG zN>A4>|J0#PPxR@H8h!~>)b`Fs z-(eH_@<)t=rlOu?_!Ko>pGMSz@UCKNv1CWw=XK9B;asJT7qPxc$=Ojw6p1EX(c3Zh z5JF5VhC?s*L}afQ@-$e?uVVNJL=vP|t{%R@Q5E_WspWuJZ*8u(68>2rcrS}wh!34O zp{D(Er67gzP68xe$iI4g-F#YtouGd0V$~;p`F)opZiki=g*60~CJDAS2@iT;SoOWsdANjO(RNYlx-Xjwdp9((ct02SRp?jG>527hmE=tx|iI_X$j4_ zL!js{et!@e)dH5hm+8jY%G5 z43FXl#}11NudjX5#q%B~(0?Th3T`fl=iAW4N34Dy1wOn*ax)ubnS3iRUZ36~lT2i& zH)Z+Dp=zT5#%-7VAo^N@VadD-gQ^1x*s6tP{R>jGbC!u`I}XnE5BDvlg@&>p`I5E) zO&gIGxmjp61*lZ!@+A5=E(ZgTNkl8L%tXbU>$RSLqE^^Yd~QMf#ATmJ&LQNov)XcB zxSoPr5hq5gF1$0Zst4ju`9}4dY2qG|66g`wF?@8^%Vlrro!k`Zp_10P ze!(S1Aav2y5O!K9Jd_KcXVv10IV52|kbGCjD27YVW~?uVOSDBlFKl=>=Q#%6auzvO zjEF{L^_P{RxU0@Q6tJnPM+8uG-zNonQK4lz<;%DxJiyH>logmCUTL@gSvsmKO7uBH z8o0;0$e!UmC8(v{<3-%84N6BV#mg&o)*+r|q4GOSAQzaI9xg|Xa=Z}HR{jAoUW!;M zWLibL*W<)Wvla?`ioleg+Wq~lSu`Ae5wV{>_)GlXeV@Po(8~G;XAolmpygEgPM=pw z&CcSSVhXm@6m)JP!O!Nrn8AKtAndHK3Yi*a`%aOYMjCQfOuR?!^h)INOf!LkymB2} zgijM>!?@l=;_@`ArRrcD@ut&hYb;8}6|{sCI1iM>eLEG5sW%O2y(9}IKhTQnqo=kU z01C~-VJ<3EJb;r(b=|dj);Awr^rnUdsnhwGDVH~B8V4*exO(ci(OaByyXalxv9?}7kS3sj#trW(J8;XL!&T8KhArC;ZZ zxd*S8K^EBSUMYcH*|v^ObaHl8`$#y(MA|Pb|ChI@&?5$IJ5zDCA%WZ6{14Q??a+RK zNx%$jqC8OrzT|4axglM3SGD0TL4YZu+X8bUMGyFaw;+%^lVz8UJ2Q;Smce3~Doy#) zo4#AUAEXgq9aSBtLol8r$ABo7S+0b%+}8dQxTf`)V<-KAs^6}*NK4V?(yZa-ijY!= z+!mB326|h4h35Wt7+5!}`;ZQpPQdrv66UFns>WH?1#?Te&`lwRhCJeY*ML(Mz**rP zlllzZj@KcNX*XIpTSeGau8>a1lKw0G4GBCMsM%{ahQrh-Yl&BHisBTxbf`<+v9hvIu^$5-p( z#aC)MHR+<rdNu3KcB?@b4b3MYhSJ*K4;WJ1C+ukQPu#x zp!c-bQOrM|$*57Q}uDu*n+((4gq zrMe*!tuor(xz{n`16I%MQ_e38D0lW_M;GG%mdJ^6uwuEdVr=T}&J>g55ZWji~tv#)0p$R>?)*01@g z6}8p0r1GmU<4a_=6iH=bb{k_p=uy+>%--#CL-tG-jHvGN*b0SJ#B4N&kse(ZS%0ah zBsDR)sz3W_I;}1d^2X)98Au9)4~hM{4y_;l!TF8EKll{+>dIH(7sBJ(`d*H~_rG0S zR1I*-y@pEGNb-;^T+%=J28?RTdQ2ID+lQ%99M?|muYRkoN10*SLV>uXl(li=t+MFFtO^S+mA(dD^bFHf?2Y=cOQo({VVmExf__e>3MX@Th+!X7`@N%I zaTx`TdLfPXk}Q*$tLW+Kt$djJ-@lzTZRI+w8b&cLg;huqEk%%W<} z29QTELJ|RX-A68!5kPl&;X4|qEbWZTHFG=n>`YMNO*qnet-iy8ueM2#Z}`u6Qw(DK z7gYR8!jLB;v>7J+BVdIa?fr~GMH{Z?cdxGK(rnO84$K6&Nn%*~2xA^7OsD3XzBTpy zXaG_$R?EtN7kIjM#XBn0hg5dxo<=L@k6G0XB;Ewh_ z``-erAMK<`lKQeGBQdW&m*kumg4W9C9{Hqe45_ccJ`R#BY1auny%Sy^W%bg8on=RT ze5NoikY4*+OeD?6hc5~&?P`8{D+t{9Z8Q;$F+V=5^!*?I(D(SPp5{l+i~6h2#TeYP zy6H09^P%R4sHme1`ngo@z5vO11!elVIRO^c{YWU2YDlRKG-s~A=M6{7`+1E%Tntr> z0xBE{7YTx+M~Vr{#UXLh_DyxnP%c%Ga1fV!i(VuHMyvZFFY69CG;i2|INq%YV$^Y) z)IH_GFqrJa>6EL&w)KeAb*?FOYE3f*9h#mW02K>|udb zD0jIdgmvSKY+2*aY0S=KavO`*zu{dzAx$q+={i1Rw8JYHUHDq-Y6B~X(jst4pzr!b zQ}~1_!riD(>1M1|lBV!ow`=nTsIyVZmy)=mgdI>!59RPQ_diYPw+UaJ55xKMFK~UxuZZW_WvAFxYh7e|t`Os{o-teTnBHQNGSmd)dh}Se%x!}Z`*ebbox@A|&V0x$oAIep6;KLBN31brT zx0w6ALc%j@6B{IG8cV>=ztSjzFMefk|33mRhdqp3n(6+PN6a`my*Y%R-=v)IoJNE^ zEW?=k+&`Q*{pIvY2=nG^GL3q5PAj<5mQu;bM;4i)tg9G>SZki=VZGN|la5(wpO;J& z8#IV?7gQK5?25^R)Q6#(T=qxueH<5Mw^T3Ct6U6Z-9_*c6rWdAx9Z{Sr}T{rB<3sT z_q|{}bzA?|{u=VIE4j50Yv|SunYVvU0U2McEneL`ZVyU22{%!@Htkgw0eK9At*Bg_ zO0wP%4yt2kgD4RZH^hN;)7i^WsaN%5baIjzt%EuiuyjPWjIK?h}qY!yz4@q7sOD2%$h}6`@$^N0$b~!=uHnQmQLY|)8b)CyMY7#j*0_TS@V0MD* zFy7TK&$TotRdzWFt4n=SU_t9UJpz2~m79K`R!1&T7T%1-vc4ko8Ad_&+j#YHuGoENlYr(oYAvcbvAi1PArMyW9 z3}NKOsci2{ZrA(BT@0riKOnxVVzw>SSe8TRYgX~F-}@&1&EFV3^}jCRFO4_!4y{A{ zCPoTx#r*9CzA86tH2`^D>=*0HuQyBHiWZmPNV=N{)$9q+Tiuj<93RNFud&R{AfOSW zN=XJ)x~IYP|M+_Ec&h*RfBaQ>RVrC2A}fT9>`k)wUKuByP-e)=YM9xZ4o)_Q$R?aq z#yLiuWE}gHgOlx8$2!jMkb1q|@Av2X`|Ih<8<*>GzwX!l8c!tXOZT#;$>lbWMp(za zt}7bUt8pj`P0CRgj8ws)Y&$C}t(5G=oYF^(8rGc<-jWnPEVTM`#+#W!-ab@68bVde z`amUvV%`0Xh-&=}9{tnu*%lU&2#;)KHQh|DU4!k zZT{&Syop`317brOi7ne)Ilo4wS5x5-<;vlmc@zF&kE@bdg4Y~nj{O+)EU6zvMeGh!C1KkaY&bIv^^E;O?@fs4})`-54Xx3hzhjV&z) zY;z;KtB!_yJ12y8I3*-=%(q$II7MLph8D4s!u6i{oBaB zF4+KkgNTdSO{x2=s=Jes&$J_{X6!;m*b0oZX;`>aM$(;4X0=WyAk)5RqBf*%XRf~T zExT>|kWm&ui#NBqbK8zl$dDi(Lf`4kHFcLM*{U)!IfMJNPvC z=|)^)1g~P?w*kTTNxHQH#)Xu^h?2bapGu~%!x5gJKuC}IZ|+U>g_AfpjN(8r>8Pyc z%+gsmK6IHuJaO|u_}&+f&mQjj_iv7}N8aeB&AF7da`Oi+vzy1$+vUgeO?P_BRTv6? z4k$e9#-X>I9;ugK-m7;dCZJgO(Vhp4#@#mCWeKF^MpXMe*IZI?+~VO_PE$)7 zO9`B;vTq|HWpvXFLxQNOPdP`5!^?=%ktdvvub`JaXLPkBF=nA5@aAmTR zf^@&##<|t?@_YRx+jJ-%AuGvv=mR~8LoDgHX#bxqrBn|d>~vhaBxYns6LC$)mJYs3 zjCw?}srdN0D%in1alhVleB&yaW)fcgj=D#-)2+m5`J!I+_Qa5_#>%Xsb${@6#i(|l z$B|iNZ;)|8f#L}OF6W&V@K%gQE&g_dmYU|tRgZbH`GWvZj4RuWvZ?Ni&b zM)csY^vmJf8(Yf*9yyh*o^gOXVM^>8wBO9$0w_Tjm(wbDYF48yP31kd>B*T&Y2J9Z=xgsWye81sN5j*3*X}dBO zvziplT8$aocV58WY;XN#h+pOb+av4_U=@Lw;D#f5(6yr{g8Mc?Pb}FuDeA&%fyaq8 zTzCAKwh@WJJNN{R<0ATlZ4mgNgVOxl<*vfij@t$J2kNo+9bNb+&snBcJ>^4QE!fb^ zkmM(ZiO_8^^~msG;NPC92kpcLc}hv8erRi1x?ldW zxUoCzF=6X*+=BH2Z=NO7Df2)VFOe%Ys>C#<&I6Y$coQ+;#cQ*4xNWO>xvZPpjI+3G z*Pg#TmTCtvN&=DQJ$D7%dS-9|`T@Bv+5Ds3ckS6bs)fh*8~-l9ML(w41waOb`m zad>%>sdWBesImei491!K?ZG`{P__1CG|lshM|M~P%bV$safnGT*s2*5R^STG?#m`2 zZ+U%gQt4W)^ZwwlkbFP3&Jsu=(?IOkc7En+A)hcSTT6g2vA`#%>nm7Zvh*p8F%CZ! z290TgOsPiHrK$oY4=K6)+j%_AQT3-M?)#EPezm8GptqYLs=) zF9MBhj52y0zFwB^N0f8hmaz8m{+PNNwQ+jEF8U1eGn!9G&W>|y!8(4z&M(bzMXG1v z$8b2W`<4{ME$7Q*Xzmsj!5&7LgtoAbfxd&c#0fc^)=%kIiIm}e{bR#Ve^wxSooOb> zJIbKo{RP{0J**N!tK-g7($*%be0df>h`d7VD&g_KB5lF9@PQU^ z{BSvRAG)bHE4gew%sAcS>&_p&;QGsB|4-G^q3PKEj6{s@Z^tLPvHU4;jZg;f6bTkS zsRkXaw=F}*;Kr7#`pO12I9+=+_f4{A2c9@eOaw{ z9{DL2TV`}-I1f3ZX}c^Zb(Vv@8_R9@+4~*tiSIs>H1XKqUT#YXvG0S++;6Su;7AJ@ zciT?U7JJxOf`O*eJf}1a)5W~iK<7ZCd}@}MgDOn%DWYUj4BfnEOQ>6Q4Ha`eF9R$! zx>z|1-_ zxQ@yCb10@Ak8qr5_J^afZjOSC~5=nIigD$%CfMyztxzR5fdf z{VnRKN*$P@q$f{{_$`c7f*7+tmD^rb{9{T-dpVZGjiFuRz7OryOJMYn81X}kjMo>T$;}9c9xj*Z=Wfg}p8$Kt9V%i|b1`g9*1*O2SW`N^|9s#%qe%x}mbHB~E@) z^d|4#4n6>a#hxH#OVMhxC8=df7N0HeB}D4-7U0+YE%Ni_J1M}YedpUDvLEZJ!DdyLZ%ve_K! z+~Cqwno4oU;;ec+m!+d;=r-VDVg70vMq(zhBB>v#M=s-^MAxReN2gDUc^u0R!4M&# z!+rBV7Cgp;f&VjA4mQ~Va2*x>Mxi+^L4@bKE4D_}EQupQFyw{r$+UN9ZgifG=)wSl zgSal?*JM{V_>@}W#Giu6G-&N=f+YvV*DkFrRv$q5mpSHNv5 z8hFTTk6|MZd3j}73nN`YkTi-kt_!$o4^o%{ffOKll!0lHmB>{VSN5<&%GVVU)R<(f z7r4fyrh}eIlXCytFg?f@8ZA_h(CI3O-T%4;LXESzGYg;)wtZE4;m=LEN#AQle-6HU z(=Sd4_-HV@yJ>S@q&(|Z2D&J(jKJ(4@gnwLEq9iHV*#FM`-Nmh^xknH^|&)EFYW|t zmy}jd;$X1#LDRiot$3A$&j{EA6Tq3oYmJi)v&b#476`8z)pnzed5uaw%HkIQyn#8s z1vDUDJq{7>vK&!W8U2iGhvbd`X5JsxxG1}e7Ku73h|MRu7Tx|oUu({ljk!8FW{Vd= z%EPR?{o)`EL%#jS?lIoQ&%$yloY+nSneKz=eT>#rVU(*23@N_Mv&@6_F03gjV9I$ml{KCLUdr1IbBD%M zfv}JUsQ1Q~YVF%+KX4Uod%qS21!1HzPetvH>Y1ru^7QLGFguf$D-KKb)aqyMIXg`- z8`!5*+U5V zb2&%OGJ8?)-Zu|GuPzVRQZjoeV>QdMOL<#G!TcM4r(H6t$^M(cl^;yusrRfdRNDF9 zq-N}b(<>#msvlrecM@iVQvKu4aNAYvYU|Kwa66=YNO<>k>YeO&QB$f|lP?$5AHb-K zH$>!K2i+CLgLLG8G@Kj7#VlQDBPw)HE%pAvWi9%u!E74QK00zP34Ujy)l^4%dBMRu z8bd0T#NZghJ@t=pE2K_A%&cgC96Xbg0}l#($fE^!GMbB;rBQPNWldyn2g;&Tr6;Zc zkVgJZRR$0IbWOV5!p+TEiOEO@Yq=T`b*WgL>k{OkH=luO57MHV>wLLZJlqq6Lr?se zbU_MvHp7G6{(0h$n#oAK^P44u7>Hwxdpa{IUv?tp~H8p<26vSFKR9td}gU$cVGa6ZJx?~wfpl*2x*AeiPE=dEb# z_IWlisw5-@Ej7IFV(MHZET7or9;7ZRf1fMyZyc9-0+bn3KP*6B>P7$2-A0 z@5!z%e^_Ej5*?~}P|iyA&c=9PJ>1l_!eqJd@6%(WK?Iy&mZvUDSLH z^2C7XjpHsLbC2P?IeIygS)FB^^6%#i04@vA$}VeR74xfTfH2!@8iFKMH9ckbjNFt7 zr)W8w{fN2#Xhmw*nze*?Og|Gt->SHG8M)u~or}Cv&hr`ZaWIAo zopH0oiqw%c2n>7$TBb2)gpcd?7TwiH|x$2 z%DF2HriFAu=pF54_l*a8Io@7R(~|0;UH)DeOR>sYe!ZgL3uUKJS6*FLdd#+JCp|V? zIV^C-d}e>*@rN0fm`A=hHfkHCR%w>i%V?p2t(0YH_`r}CphCN8aeb;bv(JY`tI+9?Z1_ZKLY#e zks!~YcMKRXncwOpy8UocAtrkLO8)AKCY^BN%yZ3d^{FlVGr>NzvIie(?(K|M-OCVI zoak7zi*r4~>Q#BMSKIckg_RmR1>NI$7Gi6W5*n+vSv?W_u<4uGid!Q+;gVs)3L+Po zb36JJ@&_$`BwQXQa2U3_*kdx@?_hc9KFj8h%JzWqNg3~UIYdFU;=vrAq_OoQd*y|$ zriZ&^#7(%GaylslTmz1zHJU4IV?IAyX>wn7Dif`9%(xT>tsQ|&y%lzya>{#5ST?dT zU^*Ar{`_0|l96S2bT!=6j1w4w-H=@YDu1l}q|hg{Kf4;1HH@-(2p<{5vTV%#B{Zk{ zQgT3=%Fzk_T zn7exHzeN?H!Dc74p^8Ks9DGmw#G@ZSUE#N+10M4=VpE9 zzBoKxml=Ph!UI!Fm26J+sebNf+&Qh?Gh|n(?^ThSo;OV&Vp}~rC>+A~clb=e)mbOg z4|RsF2#L6?y)--gTI2>-|F&aoG4KKS4)0(IE7l7VTSBiZtjn9E$fV!xCYzQ78H-Tk z5v(5(@7R`uuF&mn^#^Ppa{5|dV1`$%T!ecLK zd`-H~)-^cPdfmVp-Hz+pBDEhjUiv=pio=NL@z;e%<#GB`X;tx+@F)n#DGdzDjqNKC zMyJC5`hLAvq|={c_M@&yrGoL6EKtcqEmWfC4h`*25RcQQVxPR-{ut%(g=~csm|5q- zdfl*}IB&{!luHGqQ1IvY|7gG`E-6%SmuaE{AL zOv^u`@l%vArSeM7hfIb1A%5zqU=nX~y+24@V2z2UAX_W)QG^~W z^zvhJ39h;Mm{6|!=73mNh60K-&dPPdfO4)UL%mOm)u$?ZU)nblLK@ip@aN34-o6S5 z+s2VzD%IquoAYy$cg0tV+^cF>%9j@Fd(;De*-l?6bK~;=b_9{^4A?&wgcOF38W2y&#u1S_ z?kT#lNW$rp*(}xVafQQaX-B~L8hp)HKE7_NF0zZzbEW-Z~f^oNB2;I zc}S}_J6~z!o#w2uzx=GMvw0P7;#kRZ+0z1lHs*3bj6K4In*tUxQlmq!9~?a1_xS8> zET=6dcwSpR5BCJe#Kx@Q5^d1O9!TpM-?LY_jAT}TdB|5+XyKAD$wF6W_X>7$9h4o> zYhp;VD2kZHR}RtZO}vvvj&JPZ*ATb6epV$1TAh8uj+YhyqNJzF)#`QP|pX$xO5~*YI zagQmb;SR?XtKMujZ)ATMq-01fRS$HtC?mSOY28%=K6L(z^xnB2qbc%tud4edb0}t9 zfQd32pSztQbCvj$;ykT9%J5C>O!{h@PrQ7xzcLso)fpOpHI;&CxnwhsgKU^~roX54&&u#y>f2{Rrpub;K8-L86V;h` zE|}&oV|=;`n{IB)nk!o*68D~(0se~PRktZrtEvjUgvnImet^V!shPe0O8$gBXJ$Y8 zjQVsVRgq?Q2zNi$NKUcJq8M|F{Z&v+z`NL@JtcO@jsx8NzNbu`KZW5R=F2^ka*(2Q zhf%uZlkmoJU}?eM1v>l=Qe(RlnpAxWWBtYE*f2IXs_n{CU%kqOii1*n;gC$H3x=te zX-eskye{3#LYK#aKC@CnEUU3AsI&k~3R3E#TE@Kh#mCEPaVOcBZn zF#Yuxtb%bzHDl)(^4wJk@q>OblvyMZ>L<<@Yd{vFc&HkBK?g^Y&081_g)00yqMdL zRlL8pq@u|p90|KW=@UZdGPv$;y)Nj8wbP4#qK^ynu!MUu)3l_DM{m&0E*ZvJ1Fu6C z4aH+u720>xEgC5Rl2hs6UM?J;$^j;$FfV4N9^$J7%2VLL^=Q7jnxZaO1hIJrip>oG zL(2rBI^0LyPA4}T{Ai-eEfSh*EG-%oKhLp=7he01A9ax_*q$y}=B;7~I=tw9qF}wd4q_Hql*q;Q-7id5A>Q%3{?EcI zj*l~!BRRU(12->n2>kuzqv@=0xl)Nv=o-^0)mQdi(tFwuTW7Rp9b-GZadny18n4>) zbOt$iS(Rn|lOLs$oq0rYVI(Eqs!xgQK@TLNmvi0}b&jpn`0vuH0FIxv?M!1C_m*`MXoJ1(A8sqFGl!?J> zH(-#t>Z%I+OYHRw%P7q;Uh*sKW$rI?R=GjeAL5qjT|mZ}c*Dx09DxSd6{`v$35LFLDK{4fJ;F3N*GxK}(kXuz z>;-wc*3X`Q*TS?7HyYy}t7y=#RI@;uE#B%3wXqt=Fr16{>blFmXD8D*#&PSQMZ zDe^BW({jE0uvx_`c3&Fh49vqsix_)O2n{#F9>3%7{y6+C>t%sctf2czs-_1!VO=Me zjbD8YtJr@{Ya7MdaDfppfaZWo-9@KNyN0qiR=nv5j-D!~m^D$u^Nh5f zTKQ7cD|w&Lb72iQ>r^$RT(bg!>>Eg#{ErP;6(ec>7?IJ{qUVQfSE_GI-KKU?lDeTG zt|1 z++1YE-TN_{E8m&onR{4QgK5gzIvT;m=%Kb;8A^{#z@#xZ^*6tvRbTv5$-$BNkDt?h zO*u4v;H=L3Tcq{amhH)?FN?-LlkRxY?`m=zjLLdr(Gc; zkP+q!cCo%dt-rOFyGb7G|F@56^{bGjkY`WO91Ar%yWySh%D$Jx@ARSWkqJ`=)$0rE zeQR&16lEnq+WpzHpLjyBQKmGO5s`^|1rs-4+Kx79jY<~3l^NsaUB4QYEjzc{$w*0a zHLJ8N$j!mnr&4b4LY)IXF(_T)y5sIMhia;hD z%!SDx5}t%0gSLBtSZxslKYHA~-J zC%iV8;}O-Hl+2r&bo_&Dl6jSaji}qHC9U?Wh#y}JIm>%dS7D6nHl1fQfbt3=w^52h zzL$B%LZ-#*(cmKTS1K&VTiWYg4Y3tAbMpQNR%4A;c#k;L&}QJyUx2SGb(^5&c#~Y(w&LaGeLeY#<;iUy_2sR= zgI51@u@yU?#ML`nD-cbwF=YicIUfgtR%yps=f{cyuk$~o#|v8Tb2J8Eg;rRmgZIj| ztFs~n$B@v~fn}Mr*nF-?qu9?sxWXFxc9=9}Sy`?7UutDM0y$4W z*tUof9Udb4@P4sy2h~6FR!lIwYiIRi84y)>Vx%qGBTZr7x$PGpBW)?clU@M;yDRC5 zy}w4iYyr%~@?X0FD(pxbW(8N6R~2AJp@Ns*e8s#wyyWF7RsXd1BOtSotSiw^-MdEw zxwe$jwnb26>lVjlLi}@{g&H!xu{K$(ny@ufeLsPzz9x0e*rfmQH5WsjX1?yBfaUuK zO{U;MW5sc6^qfcJCSYjRxEt=5jlEWzJpFht7Shhr-I%kKv|tM_g@oHhd*V7|Ri7wH z`B&b?nkP4=OQbGd^xE56f!JNQrN5}ThGSC842E2AAuwUY%0tt^;a1zR80?0HK?{GS z3$%}?y4D&3-UThpPx>c!=@UIE9+1pbVi>z&TvS;t`oP36O*j)YXiVT6&lqp=c66i% zwuvRA5TkOt6$Dh*p;u?|d|{*(hyp!3rpB3>DDiW%Pzc0};shg$9vzf29CI)9PTJx> zfcm>B@3(&vS5NaR`#29z%)&@!X1O~rD@_ZH8b^0eajA(YR#ZboAz78=wa-jPo(a$3cQ_(WqQ zP2(fE$$1>Tp{1N_HIK6U7^e(^2hnw|7c_Wh&uDx^PK)$NOw0Gl^@2isOtd5x&b|PV z-LT{gyqCFl!;W3?`_`m6t}fXkAFDgvbVk6VBPQ zg=xC8@GJXK6pW`HJ{kolbjSQ^Aw9O=hBZcEsFHNPgI$q3C_jp=;cSsz-$_?d2^}6iSq^j`!WMyS9QRE%v zS7W`L`SZ-#Mk+ko$o`O*+5#7L`^gmQRED@|Htr?jGw(AZ4d0h)+zKRo$x0&a2pO~u_!tfy%7v3T!OOtFlH1-5y^2_>SsNCU84NFKJ&IGb2`LCFj#V8-`!8~o^!RAKDKKHdw!!(IUn`I8w z7b3HUohMmk=c*qnLMlHSm?)HEXc_sP;pS&?RgURRmlz|q%`W)$KGey4)mLY(e8A<* zNF>M}xhm1N?AXpI?--)@QK~gA0$2F5qc?Pfw*NHc5a~fUh4EAz8gK+D0oRGEe_BKC zZ<8hgNMvB&S|cn=(|0t9HZf0qCatJ^^Sb)kqzbN2W{EpjLtn7J%(`5Z?`XxP8}Q1U zRRc}==yKPZK_^?!gi32BTbm!mmH^Ux>IF z`O*>S9w-#AN^>vq3{_}jUGmP*dZZm6ha}{UDb4-BWQsF%D9wY|4h7fK$sa_9@xpTn zUzm^fSXH}P6l*IWKND)|%(r2? z6UATVb{cS!h!F`15Yw_l?4Xfc9R1yrxZW;;w;Af)HgY{q+953icE>!mcVe9U7D%{o zgi3cg)=t?A_~59%5KR1kN{1&-yYVZEkp{7X6OJau?f2ho?`^98(RG+vu-z&(i6XR9g0aJHv|KT7_Sy0H+eSnMsADt z3%|3u@(L*U{y~SxIVn9{&vnGvCOL_!7%BmIqRcr*l$aESCZee3qkMMJZhvUY9aAP!@1 znU-^D+PswtJPEkuT)mL7Xxr4n?|0tGjuW&8V^IS!w#Q&!dbrGAH*4)WWFd0{qHChF z4l?1IsLa^vsMk1jZyw2ZB8C4%kCUo3fHauxv)J+LP=c4Q6X)$+N&f-B$*4~3573`Q zCU*NXN#IGB)dB0VrKWFA+T~yE%6oPb)qT~K(;B9(l>3?@N6Tj36<4SwK4m_CCh`K! zjflUrc83g|IW6*7xIP`+V9xr+B=wahR>*WK4ukUPd6vO!fxMW!MacyOZ6zh%6CI_Ljw>*D}U1n~b3BWA}5`X~Sit1~eC z%ipN8&FYoe^e3`%jdHHZ#IK_LeOYHBwGx-%ZE8PR3}ZN8ljz*Mn!AZjbn z?UZxh&a`%lZ#HZ174iN|n31Ch>KE0F8L5luP~Wp15&g~}Cn1JUKt17t=t(f1HYuzI zlv4znj+97yf`jcl#3jt}#U7~!$1?-ReA?zmCt*j7c- zx+Igj1zjgP50GBl3WWENF1Ek+N|8#@|Jb>aNcVe;23kefjte^UsGTY+hI07%an4RW z)>9#W+f(Ioo6Waen~7f`DGBGEL08Y}RFq84IF^^_GnxcH#VIiOpsn$}C6rpa&g3rZeCyp>aLb%SQ;VaW0(udn-*K5>414}zGLxar#bx{tds@4rDDnRo8Aa|KL1U~n zY4*|nplH;OB-If`s|6mA-cMxvQ}M3~Tn7*ihJvbX5*|I8oi(CjPyPZFzE`DTBn(Ym zfAXBrNaO0raZ0;gzmk2PT}mlypXtX#9R0zyFtE#||Z7 zCl(jQfC-GmBeg@JE-8@2W{8wgM3pL1j}>V7_Q=u7957)&_>e_}jhFm&LUW*j3}5BB z0er0-7Zj_#KkY-q7NBPN7}y6sn2>)jgYL&;&9*Zl;mad%A$dIGYF+`7U6=KoQQSUZ z$yX7+jf`Fn1R`!742h5Lcrd|N_hf@G`}Ej`!_jAfu;9AjIw@>gteflQIXK>KJTvOE zC-Cbo1U#GBjo-ytElDvS#JT)zk>YEnyvZa&z)F9uMY%n5MU6><58kiF$Ojyc#~y#j z(eeoF6xN4yE{VJ@eI3Vpu!!yf|8}&v)n9RU>u5FH=v*d1TK*^?`;%xh<)7Ae&V3SX zb`4tY@YeI<>M1M9-I6k*PXEB*Icd6QVqOE8B>ZJHk59Z0zf{BCA@;t=0J^69(SZ zwsR0uM3CCFNL>jE?mu>!qT6Ko+;VmBp7PM@esZJd8-NM3(Q5p%izHqe=-6RHZc-$Wxq(?Q9lAP2SD;95)UM9 z{#aYR@M~|T=5`y);e1rDJ?vu2YE@QgM1I?bh^_HY$aMyYc0SS0V3gf2#zA*ZL>Ba% zw5T+{HOWD@HMR$FnEA=Y6s`(W`CR(OnnQ_8U8k(Rdo+{VBxkITG?ru&ZIm*O>#H(T z$kX8luyl`x=_tmu2P_zu-Ndz-n+=Rm-7bE=8a0-=T*_`b1cjW%Hq2!kfs8PQr@mmf z_zVKoOeQ4Ts4w8lT9-|leS9pe-{bl{h5W4P)&Y<5Xh0a1W}Ejbr4fT6!JvYpLgR1jHM92#WYsMtf=K9(j6SrztaU>)0V$jkBBcHb-l`zCSWmJp zsRj3BIb+2m*oF*oeKu;ba4s%0Bvx@p^hxY2Aw57{UeusfeI)&>Mq&En(aYLN;wviT zO^K3mMom%oc0_I4(jR0U`wOPWPA-bASYB& zQBs*Fl0N6zikGa=eEO{AC;SxhC;Sm#n&h5Rj~$!mrJvz-1wqk_DcQ;5EOFTS0Z;6T ze9z5X7tRjN`=doc>$}nbA41qmm*uc@H$zws1LmDeYGIFIi! zAGQ?7$aQ40-(x!e9YX`he=mqSdKb*`AImB1c7dC%vH^oP@#)SPU)0|i>%=(mv!NkY zwvrX`3l2I97CF*NQy1phBMV$;$N?+(<0R5&&L1VQ8PlsnCL)RizGZ`~l?KTWnim^FOjVr~bwgnk{?-xA8nqqjIT;$Phu zu-pHbFql|RT&CQ)(M2`$LOJ4*t@d;E&bTug{%;NP62Cug?OnABN58jXi@;d3F>1eR zxSaZTu42WyrChvT%V^&bCqeIHtSk!LWm0XM*AEM znF3N|-15rlkF=*dy}hwELplXQh*PJ#q;6#xvY%5>6DF#JVX0_$@;R^BTG4(KpBuZe z&nR(TTH;Q&S9kBJae4`A)>tp*9stiL^#+YFl*ceP9J%EkxmBMa)w}q&;}%Yk>eS#WIy5*z1y72MGAz{UU|ZMn3xYGdAP%d zkiohQSGwTs9E=>qXLo9ZIcd>X&t(N_)8-TK%DGr?jOd%Sin~#VQr9|kmfxPm&LMDz z4s#FhqQQ&`gzLa}Lc{J~cGu-$*^6$Ql*?_|Q5eayR&CV*6*l1W%mOjMd(PiwvWZK$ z4Gl~A(4Vo#Cj^(ekH zy5<=CucA+||Gy>&Nb*qcPO!W#$r2UNqq7J9yko|4jA|&MKcf6Uim{+e@J<`doP{(q zU~CB~G4$qq(;L7w9kpq{7s#Sfog$j&VUm*Dpu2S|`&?xJhpd2cJ_)`$9 zs9;R#G`<8t+wSX^^YXazjyPejAt;>|Mpdp=m!-O5ts%VkQ@$cLo`3BTSIF2z(9fF- zL2cxs@nh+NhRoFX8sq85kW>d)X6a$`S8;KZDU>`*_SMoR=oJo=ZfUNaIIn8K3*MV8 z@f)&IY0`S*KbvYKcD2Mr!Lv&=>tfV`hd6^j$|)joD|58ev}?K!Vp z^BnHxl)o0tyF03I*b*4fFfF(B8e2#MFkagDxUGZPVwQQonFBp4U@oCZ$WLnL9TFrR zF*l)q$?+J4J<(q=LE=!0#7*JD$I;VL2p4LJjw4UN# z$f9wyz(sdk21Of(hd{#tWpR|eb`OR}@srr50u7l?A1jsY#Vg{Z)mkbZclJJeo>Cdu|3|a@cW&_T$k5c;4uOgD-m24}pL+f&h z-er^S%=AvKrYE`if4A2W2Y*M(lYn`2c@Myl`jd#lzmHg6+%|wa|Irg+4p}aJ&WPtX zx}uN^fi9Gh&du`jd7LBaD?7}qm4Lk>yYJ>6D+ULXMS*7CacA%4EN}P`C{ByTzJzXJ z9&^sr&E5!b4achuIE>0`ysLZZ{X=lST`VidL&Qs3%!bYb>F3W$~6WvZs}oteb94Tt@A zY;5#aE8D2hbzyHQpM#yAx-Q=lI9Lp;{T{lQvG~Z95SUOwC_a%2V}ftICV|W1&dFo2 z2nMz~ev}*@DUAx=u}9ou>!?2zb;KKvIGEa>v7H)1J@^omrkB=pp-YvnTtC}!UNKpf zk(6-P*FzSq#+)rpK6w@rqLJ@(Ahjh_vvLQ+G{FI>R~?ro2d7GSUgbP2pkct5ycvR8 z+<(fUe~?8wMj)Z$=hq4e-vd*bGH+vwk&D&$uTvr)4Xu6T9Wv=EU#*O`W_DXJ{^sjY zIqCK0Da2h$*Thq#JQLN#5PBdPj-_$n58jzOsH=;tqdEt_g6Vd|)p;AgkM+yFaG!4c z<7H;kC}}R5s8OMgdnpXk%s}R zM*6Q~vkMy>pQsW_&%jStPF)FR0A(H6wffl;Am9_^K0b*g1A&o8*!9my6!N45j)b1L zU#%NP!3(!j_eZs;Aq*D z!m%6Im6(44Me5M>E@w?z9GD)V=G%Oa7OTm@MkKz7U47@w7@3(U!EJ`5 zsZWS_?flS+BTiEQ@P6esH9L>p6Q#{F;N*#E&zpo9H0as9=7=55`8L18sQJ+$$oo^< zB5*%hw`b9e8rngW#;yZ$Mat)aoIFe@O7M`_U4ZYLJ=ePphYntiqR-%tx|EQaLZAit zQw6Bq=!>7vnF1#-Xbd_eH`gC-gkh}abb8KsI0K((xvH)$S(RwZpJCA#PGC%H&ahC{ z=v4V^Vndou5apM6a)1v!DRKQb>)LStH>e%CU(%-ALEJW}d0CC?IH}eeJxZ#3W|evw zff;wX?pYx@=HqMltoc*wS9{(GF|1$LLc7!}&DTS#0Q|M^Z^83&VIBcXf)ZYq3$Zh? zc0-#}p39^b)3&sp@0FLVSin~DtNK&@I46H&0CMZ|KHqFHeiyX5?NXB%$_J1{)xWKS zmACJi_iV)waPrf#5=Hbf#Cb3HV{o=aomeVqpl|6l_;C^;#xY2K!|DlC7Ao$#WfUlV zMQ|j%T+JmZ=z|s8I8cq>^nLX7w%nrMrcy=yH*nx?=kkj-uMX~toR9}ll;$OyY-<)z z(qQ7BbBcl0J~=oh?|_P9E0IRaVaN0Mu&pD=3g{ylhje^NCsmyEApj;!@1#jPtx92M zCk=#HKKz^Jyyi$r>oxDIV*GTV9z`C;3j@H4_=1>)AC)uLH9;}R)@u-L?3G;Y7kmci z&}&%>Cdt}OR@tssT9=x5;{5?7*>+4*A@?NlilqI4l_hW$9x0os!@}kOd7DLZ)vY@S zDn~4#FzPdX6!yw8^6itn)QK$j;h;MhJ zrNrc--?*ix-hVVvoa}I^Bsu%GLWxs~-FY>SUAsfx2PO~2Qn`&UeQ0Kfc?z%}B20tg z7s-RAUSOqI@`ySeXoLpV0ui%qaX$&lQ|C(v1e(>h{ANslKz-5c7`^_n=bvnoNKz^2 zey!A1C(Tp4@!jtSEQ_!Fb(h@ zaRUXOy?QaH!1H@(eD|Kv)Ekx-d}a(}f0LPItAbTE1zI=sK8CQIc?8><$Dou(#Xwpy z@K25H2)(f)CwO(NtNwq4eRWinZTGH$5+X5336eu2DUA#%%+N4HBd?@@fPjF+Fp7Wz zLk%S@4MRyvqojn4K}iZjNQrbaXFz%N`+mQ3&R@@Zo^dVL+U$GZJFb0Q>OY-(che=X zhzTT){Mi|%KcRebHymeWsqXRv8bVAxm%pB)dmiGE%d1$i?^AE|qr~2$YjHt$D`Z2c zbZLOPTgR*r@|A}co2u(dI>39aN>)OMdP}Uo+-I9LT{Y7>0E%k28!-;;O!{X56xZ$W z-AW?gMuvLB)qJ29OCMXKm9zeslkG==C7u5_nYgxPW~`sPKSR^hjcUy*Aq?N_s%{R$ zDq}^r$vkw_(ih1Ux4ukerE|&0w}h)KD>MmW6%o0C6lMCvWOcbYV%{VCcv#>dvpW?Y zj)k^J^TrM2QuEru1@ev$#Co^CTNIUz*BP$&Se$Q@$vgH_f0^b|fSoq`D329yPpCp_ zA5A@`e=f{fMsw+kP|2mkR@I@fQmX8f*I z8G`m-cy71MB8an7e!3orq^@y z=_8@~Y5*|qL}1KHRK88K$l5pe<(L`hXlhtc1o0iWw`s2YI8rjFQwR6a#Z<2i9KwnfVqwN=$`+>R5`b+ zNafT??{wwM%9~T`B^}R%uS|=?+GkrxlVjq9+C;zG0g*MOZQvm_^wRE%X2G4!XR9vE z%$B{MCd#-xy%Hv9&9Rkb*6hUPsC#WT?rg?QH!l`o7xrIHJkw_6>MSjzmmmsb&3!ug zIpRMKBJMkW0u>o!6>t*nOI**YoZ}P3XdhwcU;9(`LRj3Ni4)JkCKm`%D_a`x9zqce z6pi;&`uy42h-&@ENIEe$+61NCU>Y;?2;uG!7zKvH#xycFb2taqQ_`~D6M!$|S?SD{ zq}{mgl%+Q|!_~J@WJeC+?`UH>T8SD?$Oz^z&Ws*b+`Hl-)e&KhGfPIYPJYe4Qw$!8-8%e&ia{Kz*f_tA&~#gP}eb zp>TXvfaC7WVZ_oa{~sc?dO0E?G+;SmJrteg1L(Nd;#TYs5Oarv9=j{4>fVIhDA-VG zHT$79-TfF$wzsUdT}!D`<+J(b{!F~SFbW3a%{cF&{QfMSi1^Ret3sZ4OX! zFaLDCA=SKxTADlz)>xuxvFKQJcAooGWdSbtckXudSr@nYAX$;CLIQdEoPezL`i>e3 z5bTq|X924vwOa=~1ebTTRBmXCh@jC0bDTUgcLI24AD8q#<$W`+Mx)UsG(-}f9gk&Y z?Z>>V59x(j^0>?Jro!4k7)5;y@3xD0x;jvfP~7ITr@A1ScXxHJi2I#mZJT~rVILQC zVfbZ+AjgyYpdVLVv9|IDZK6&$E6c)3mZkXd(>J`|UHoG~LwtIHdwgrEb5t+wpFszm`+Uvr1ZzTb<&( zE>hKy?FhKB;=bC2fz*01sErx$0lQX)a*eRCYOh`knPdruiQNqK-w&}{VD}qrCZh{? zzl9RG(Wy4P#7J21f#d-|$oxv`BHXoT79cf0Lc9Mwy?#8b;hYWGH`Ot|9GbnmvCcDd zuXc4L_*%!7jP%V_d)jpef4kWq$~$d*Y&^|MK);BY@W`)b{3px_O3?yqdw8Oafg6|x z{VJy}Z4=^$@$UYv&GRmtt-@2nuEGmZq-%8m4p{^fz!=!C|0pW%mC8{l0SI-0Bbr}W zHA{qc=82u;G<+L#0K9K9?V_=`s|o_oh>MYB&g7(y)SCo5L$mlO!$n1dxKXm}drGp^ z1&jAmFIGXiNuEO8?yzMaJ=EG4NddSD7?*~7FUOhZ^KgPM$KN&z~o(=0br zK?QNk>{810o2gbdVCDTMh&nJG^#uB1rwcEh(~L4}z7y?e9r2HTYHIVmhlK=d-TCOp z)1_BW+PNk^m5>g?I5G8G5le;xQ=5*5d_>_O2@2`C*>7QM7)d%D{y#lk;`rCg{_|=+ zd5bt3zi(`t|2u8ZIQqfWTvPub&2zUTTNs4`>GJ6$x~EswNAOyd_mSL=|FmYfC7` z5=KrARH5Pqus6BPFoh7syyDaXTszG5*@a#fLJ^~qA#7Zr`PdT3wL1e#u>RpVmXzdB z=_bL4)pMNDLeXmL7Muj_f>Pw`QUOnv6lQ3`k?xGo*?8vak<^Ho#}1_X!}H?cBza|; z(I)1Im_Q{A?X1|QYFv3ApCu{vu3C$SlTIq>^!xc(QuiVxA+`t@*%s^c-2+Z0TBv+| z2bKsbNszMaro$d27o@rhd?lNIbm$m3Uvw0w*vyKhtAw(xMqev`FefQ)rnLNoIR5+% z{EX7|WIpNY^uHDd*xwN1=01+mfAi#KhO?%kU}f_L9{KL_*}s(_&=JG2jOTL7zLj9+ zSkBiKsjRr_wc;EpLF@)3YbYJ+*!k&Ai=OqI%Z%^-BCL2+ho@5fDpOTrow2Kw)nYoD z>!R}!KV1q$VOi~U#Ux6yiWv9X;Nd)n)&-3kX!#kMD=>mq3ls=o2wOC~7AEQ1ad>LX(De8B555L8oyt7+E~2gDW`3(gqq8*4xEyci+<>O8<$+N5*@iSF1kCj^EfZR%v*D`_^8;o zO600jBqp-kc16AO{Fl`ci~Iueqobzuj7c~medeJbZPSM><4$8gJ8y;Eo+TuE=@2dX z&5n`grf1qsq7evW!oFw(_@Le87;E$igWcB~x(xEZ0|c%4ZCOorP-2tkOy-k?3zt?4 zcECpiuG13O&eiJ|cj@uk9TD1A>t=qB{G~kcWh-HGrH#;a_`( zD_!I;kJlPkzHE+VFsqtl+lMid&5XaMZl|sO!&}F{(zXXD&9sw%HF+{Xi5S>*Sv#Gi zoWNMG8~(Z+aJQ_ONzOp4f|aB>7(F8+Y2}3w6NrEnwcga+Qx5VOjf(2j~zQl3DwQ zlFViM-iy>NKeOUT=9Vxm^)$0N1>lR+eNNh)5_45OrX@TncOL1ejL%KK^U7a`} zt9|MAX3xK5puMZcEO_niR{Qr=9kO8X%$fZ~q)m~sfV7Grb!BI?PPx&y$#7)eJr9?EZ(H`Hqh;6x+?Q0u6@Fcckuml>Bi;ZU=&dAXz@^> z3BTB9ql)SbWbWFFb+E6F9-EdR4oT|p*1%s42d(hk!~mughx&%*YXQBU&P4kKao@h| z_6yTC%cuNI&9(>f)I`?2f&=bsr3m^k_2=QS~+ZNUrd?{s>q^`LpVUaG+-|aW$Z)y$-AK0(7q{6_(Rl6;Lw@bCd3SGA03d zk6<^p)OaLN5PHX3F@kW7Et>88kQXn{h*-OD=ex43)yHpSTfH9MIMz#z5bOT%!dYmO zO8DJT^fkV{FJc9E+_Wt(C+k1)nzwddH=^^6kM4E7@9+qvh^)|$T-ATGt;*I#=YI8J zlgDw$c{vbopb(V32Kk|G0KL3?jc)0kT%*@c$EgM|K+<;T>1*KOS$E`~^dUi|55XYb)M{rK5>$qcqvR`nLY*n-PHw%UDcN8VmA6K&{ z;Loz4?V$wosS|3OvB{>DRVOR~&L0h_7IpQTg-KUSx;?p3C8joxP-5~b|1 zA@$ZwC$@3dRmd_w?2yV>nyvtN9et>di!FP^n8s?1&bcHw%J7*mv*hUeQS=P&c|DPC zQQn1T_<|z?shw&E-~-t7=EzxK7;ZY|lvMTeRc5W~Yd0+&5>L(51M?iv)rRfs31!t8 zUpLF7Z2*Pc9suca;QfO4i}SslK(&QRxhJas+yRSYd~En(JSDsjBP!6Pgb4ikO+S&f zIWb=NFRh!u`ZbQr|9Q;!PAX}{=pRGkj&~5-(<_UWN^Hbi55e(3AKA_*16W_{UW|ES zGxS<>POk|s?>O3rvn=@qcN*3>u0|^^pI1&b;8iv$$(Mt6X9d`Oj`CSXMGoewmHzkE zyJ8$4a)92v&TGVCf?dqiU!ZO=A0KKUi90iAo)b&^@eyRAhQx{^0#@K;S zKOJN(mt)9*T;B=j@1nR1Z6=dlfX(<-aeaEyO0z=0KQRYwS zyz#W7rZ8Dzj&voQFiyp_nB;y*f$Ikk-Xlvf@n@Ea**ZN`5ezvx3fdUA+c39O9}YR< z@`z}x?&qXzf;qJ@N}1ai!Q^NWGc0Icj>;5_Ic4NP- zy5tAPoZ;Oj91-)sxPxB!Q3g&+0yp~k0@vufEc#p3qWHhw0nq16XU{NEvB1(5L}+i8 zMfW<1Cnvj8#gR_ELCM5tv)eb)c<}V?_7j94AkKUlq->vJR8VAo%p+#f_Q7f;M z(@=CA07X{=m?3oV!`6U)8LIXrBM|LmwrMn}Jc_cW2d;3Edt{ci> z+>jp5J(shpx$Kfq-=?p3WHJOguiQdgoX=lL&Zc_c$okVB`#<2DkeX56dcgervCs$+n*r&}KaFX})E+mf zUsp0TlYOwO44MajPa~n9s}28JtTaS(@UA}nw*TEuS4qaYrZs;5iW_&cK+9ehm$R%Q zg+ol}uwR5-8$KC?Thyq_{P>KhSmCZ8!{B=Ql_4FZ;@R78V0oQTMn5<^2t674Hg0jzQxM_yD zB~WbtiC#`Hc?5+R5>iy8PQJ z-lrp11pGI;^~6*s%O$^3PdChN^9t6q?F^vaxLx0TlmPlT2`&AcKNuLEelM>mX`q6( z004Jy&`R$qNulp=tnW^BSe44#ypgnisav?tHug z%a&Eu#UP5hzfTiFr)A$n=j?47!-iV~Q{wWwUC^kd8a@3nOIaAP?*oVLIxS45$t;w9 zO=y%#W1-EtwO+ryCXphzLs`tKOYXsr$nzH=@qXELMhE12;*^;$53CFhGnKLVZ*x(8 z{8#Dh%0k&*LJqLP2_KXWTq0cbZ&nzQVq3&|FTtT6H7E}lc||`n^{9J?)KvXGBbIr? z*UXD#>ATl;LX3mWveg7+L9UwK>84TcLw(_)Vn^e2F}ZpVLlO$dn5DGUe~N`@WGg(O z2hUUYMeo|%Yi=4+ zF7Bc*=z1CpQfgW1GmZ_!tlLYDu4eJ@Onakp-$ardjCecHABqj= z0JIP8c}t;W_f5MLSSOYVt)Ll0&R5d#()WjVXIMO&Qk6>3m-uJwiBRr~tMlj34rYaGF%?Q{q!P{@ zh`L1g8+eY!>E9FynA%?q6aRYXZ%6&}z}@~gs~q&-%tBNfH$NVUBqquY;d#-H^m!SQ zhEV|s4E-eaC-j!JZRe-DulY7Fm&q1@O^jWu2P##nisa9Pkmxss%@^+bK!RBaT&uC0 z+L$V6KvuJAfX4I_YxOu0SS>UyIAoD#HNQIrZA3v8>+;1&B+WH`+K1XsTja7to3&26 zXH%@F+BpTIxxQ57s>%oT_7VW>x)oiU1DhGkge)R%2fV*{ohLA4Rktd_Ray4(;Yv zkC?d_7}=#oYy~TA(R#BI^*Wp&cm_OBsy1Sd;wR7qC!y%JGWc$DVMAPLt9Yo~%&4l0 zBNVz=N}j#csZ!5*a8tCVUOYVrI!`A^Yo6E&^`o#v%6%n=v+yX?E40lrjn12OjPaX* zkiu5#B3Gt0XGPV=70xp%$F*$^kNiWdL;=W0WW`SFq(x>Y;l5LW$DMcBx_N?q>NY<) z-3sMREPJsVUpxO8Jd=5(IP9VH%H6zc_ffO+qc%fx39O{rTcIK8cOPQ8aoa5D>-)B__-=R%>%TuO{cnIg8eeTFY%a0Y$qrhaBQ4*MCjl_oz3hREc z0Q5sLwRs?2Q{&tjyTF-$Ce zs?P1A9C|4)VNgzGdPjsKS8RWnUPoyZD~yGmOhJyTrD#4P^Jd2zbe=Yx+3eY7P+-^^ zo)$KbA%dm*8A-|#n0nMh%WH_?k`(m<mpTW#h|*ud_Di4k|ckwcSOhD!Cy9= zb2(l<9vB}F2E$^Qsbpi+HQ!RLJqd`1Sfip>^l|=CnOoy=b}}MQ%d;7spp$GNPTR@J z8{!2yKx(0F9(oF0t zcYTn)rZ}cR_KNrNTJd~nyznb?4piJZ(%Ee_v)D)9kFtI|Sl#>iAP3|3!@$_Ji0o*0bFi^}vZIoO!mtj@gif2jCNs&F{%C(2r^CMXP=oVN zp?H&|@|UQGZ87f8mo}efpLUB*MM1}9@!(Me@&qCO_c=dBW}SV&W#cn_+*!hzR)yG% zNpJQ`W-`?9PbF43XRH7~5*Wu8$;QN3E5q_$s~xM{D4M;Tcy2EwFfUZch$2uiRITni zd(4#4=WvdNhs-moRD%1KpF7>56cueLC?&a4B>qgB?+!-^<90p4YmCrlyY6 z;3cEl7l*ZrCs`81{GZ7O7^o-eJ|`?LS19LT@sk$w#Vb5!KVVgtNnjTD^Fcz54Zo!7tq;RV@YM?D zpMq*1galKb?>?{IZY00X%~I4?xLb~k*lDg60y8KR`|NQ2PK@v)0@F~L)Qcax!&scrf(tTdffo2RgL%E70f z$c_~EyrmF~j+E9itoaf<5;V~%W=RThs%F?pj~^fTVfk<=_e3Qm{ONC1mLXvve!>1k zf8cMV@~@s+p0Vg@n=?TiiIdg9M*(eS(z8CM@d+VBEEwdSV>8$yULbhU@LKC3Symkt z_<8rZPIdgcE&o-+fr6ag8xyVW_pP9@iqvS1bA_pTH}hz#wNo=qsk0tLk{IkOz=UA6 zyWw8OEjsFl?>?sOKNXjl1%-!Q$CPFR3}A0Ig-7g2Y2gKuDAxFnD{(uon3#_616H`- zV^1!1*3X2gGIUsKxSCWe!>9hRZR!f9fU9s04$g&nXw&Oe+)d+^R%d;C1 zot;`7#k^RZ3ke>y4hQ9PHJsBEoC6hi#mF|jke%UiVjr5Xik;N+0@1XFB;~T`wap=9SWW-VKn;dFzrBH0~lXiKR<}pPE>16-diDl0K1pE8#w8j``z1o zp5?s;&x#?o3RC8Pu=~&k3_@K4$lv@r#M7*eNlCB0X=g%am5Tx9%37e{u$&E^5Ai11 z4ymqF9uyDaarn8Zx=PD1Q~H+=LH_d{0m)ay#*rT@&88lUf8QK@X|jqOvEjFYGcy z*>OC9=JZ7ssC^I9IF?7h%-$o7ac@98AQnO$D-&dpMG(kxw6NGLBS7vY)0|vw+;~mS zRNllc8E9FUO`h7EJMgW!2&igsK{Qet>PBr(7v1@U5s{5H7dc7DJbSTCY1hHgp< zbq#rgfY5(j&@(KeMs%)oj5)4K_6q)by?lhf`JNV!vJ>R8F;p5BRiu89gX>*Jb4V9?&&sKfdWFGd#QQ znnBlxat=S3$`@YYD_cSUUu_Yi3uFYWhd15>kod9SUTn`M&jKkM3?S91AJ@h+utTRF zb(#0uS2^4#7g&(tx`m~>r3An~qHx?YhSyTRjwdXE7-Dbnf)0FnU)~qeFKx44 zVtA<6#W)kp!Kj`NF_0e3yM7Vv4t_E`c{M{b(xgBCH#JICU(i@l5Ek2h3s2x zz!GH-umWngH0Cz(J5F}`o|4J_+HU*BIz73&I`}V2>fc;`X&+rCa$IH*&ALX=Nhi*LXbuO-mLXp-bq^!EH6=vcz-u3fsKOmZ1wN%za#=V_kwr=+dJ7K(rT-k};K?Ni;1l<|!>w zcU=8{oAZAl*H5l`{DHPO`t6-VzNg0<0s3Rc9njuhVdn=dNk}oL46CQ)a}mHuH4h?= zsAHb>4R!Z@;DVbiTUR1VURG5vSQ)}0Mr;P`%>mY;4*$tG=Fj=&jLMa*0Plfh4b^*A zlHB60bI}p{j?W1UijQgB0N590RzEdwn{__y6DDfk+cZ;k(_<$VyPKEmY{OV3xDAT` zr--10qAOzar}PniKU@g6W*k-Nd{Kx($%tZjd_VU#Dn=S-(-_5Ah)$UIu@$K(Ies)_ zlisPgB@{BDrnSb1Q7>-GF9LVOuYJ4xd`VrMI%25_J!PmZfj)@U;~0Uwm()Tz_ff&$ znRIgfaK-8jEazo@6R;6nAiTCto?y@sb7UUeEL+o?zpu~J^S;^dMQuDF9R0fUarl2_ znUhw?qwL=X{q2|d-0Ccj;^8a)XH4@SMzsA8Oa0$whfGGl)J{gzaZ>7VJj%Z#VJrp- zXw9Yt&hl^x@EXSvtQ)7v5EX_P0rrw2b?2nngkp(T z&0agy0O(g|prITu6F)ZGhb)K$Ly)26GN?lxHcA?}eAhwj!7Gw@V%hz#dD(3R_>Q-W zgBRevKzsou1VC4vh1)f|?Wp^nF&t|eCxS3y2SR+(mEV*kWNH!e+@lA_SA5yt)8g>R zqhYQNakV;jNKrpD<`s@B_b~(U+vmeCfh`i;wIjU`fxURJ$B@^~f~}R#P#Aa5!qA61 znH1{ink{~#l2x6Dt9Sc7m_v8p-eq0NJf8RUxX8L8h6ko~7018ybN=yndUWcNAYx}E z4!?79`osLlzaz|F??y=6D*0Iu4L==J8vnSv9Ib=bQ!)sL+(WyyLckL7zG3U0K}D=DR0;#~$-|1eQgt7{!)pYu;c2t`1WrLsE=P zUPnFGIlP-xo^WJ|#3%JkHk$!R&`rmX=1-9}c^ifdO3)o zyLU4E8w@f74q()B4@hHoU*C4VCPXf4NF7KC-U+s9 zm|4)QqhWxm+)=bsAOO0uHJbeN~+6)HH%srjJ-$7Alcu z;>ds6(_{I!5CXz<^siCe|L|*kIAD1GyXWL-)qLEA`Qh0!u0;iianh{Gv%4z*`H=LT zgtc&SN>3zQIkJlylfM|Vb5A2Gb#XfujZWl+ZU$ZOQA5SuqCwo*66a4dhD`GZ8irho z@z``<=;|Ie*sP~kDQqKhg3b!{d|jEP=k>Z0&GHVIQDg^9bH)TKr)MzHPM0U`OEC|b zC$>ZMtTnD@q4{Y83_JDw`q!T#$*EgTB*VrCyfwoEqv=rnTvDU4*>3=|(|p}Vw&hzd z`&u~zCO_d@NJIHAZ0#X8i3=PdL!v}fP0s=Q!+pNRGo^q|>@@$(YxF05bYRj(i(Jhe zdaCN2nJBaezQ5{nZ^k7EGW8WYX{rTrf1Y~*HUf`De;hQ9Gf{7iexecL zD4QjU;_Giw*M4AD(Z|Mj*S~L@r58hRA zr%LwTi=8o@gkAEch)_pVV~4eGR&Zrs*a0gV2Mh1>l-=un&9wM9a^(=p`>wVxbJO~( z0Ke#MyXuLXAWGKYE1RkyPL$wn7m z331|JedjD8cG;}i?BdV3?&wTgyS@y!EP?REE&gy;ikr{B%(17> zM$;TNq6cnM>(39k^i+O9j#pMeetJv;d>E}k$Wg`lSx1{TK)#9(K6(|%i<;0EDimD2qI%ykBCn}j_xZH^07E91(s`TA5?HfF3v>WT}xCsvjVL|`g*EA@PYGS(;pCeti zhsi~jTqtMcQkb&fbX81Ku=h8!sThdW?z{DXP$a!_rc9lb}5l{o;!*8Pj4}iJ?9R3zn8Ii=x-7^&w?IZ%yTB{@c0r9-gk`+4~V+& zTt`6;^Ir~Ev-;=R+nhX_);jeiq0-j~u5}R+TSr*N{pYPA@{f`W= z3-UtRO$pFoWS~dkFqeUVC%6{aJtcF^R}MDtV?GKOzBbF>nVX%-{t60r(c^e5(Xl6x zEi!Qvh~jmMSG69^U=kdvq3QS9Jzpi*k!}5&FXT-ZE`M;&X9hmb5=F7@H*m*C;)4q- z4){E!nWZ>vR?|;v)v8wW$odd$_KB>ErGLK$&#JF98rQj>@I@njYYKOq(21PRMQX|ZBkTHc#<6*|+HWUa zfIX4g*UX~inmW7pH!279c%#;4rF-&+P`$RLNd17YgB+)*bCplU`SyI0MkXisuXXv= zHBGLvhXj-B?EKiUOORhM?QmptS=orfpo)&bX4Y@l z1P;>S&XXep2cMcN!{uC49c(*PF$?`WOU7{xhIz`0yTgtV}Wi#%2QysFz>}27&+F$lhC>H`ha$=a2Bu}wu>RDs#0G*fI zEV~D~uHB>x5^EX}pVyeQ(vUKcH60Z=F4W%bt7^QtM1~pKDsx#%-uSYW;a{9=;ql?d zi=LjU9gnlzbg$$z6Y%@xrd#d1t5#=7re6+>_g)-;{C7)b_586pYsZO7bLy#l-NQYZ z(#!|Uu(x>zw)}jz6U^-uQi#<&9AbH8a!Qn$(+sybNAgu;#s^IQ$JV+k9JfhkwpPR4vTyV|I*buEeFPXG2QyBXR zA!`9`fo=w4^euM6#sik_@$*UXj@MV+sxnr;u7%M#GNb;Mqsd#n;oHgc!}|vvbCD^G zKMT~Bpq%9YeZ+c9%CN`Y$yu0Ozi8U;LuT)s^t<_jqIX(H2*|*W^Nm=!Y0?kVOY+iT~$2(c&0?>Dc42usDs;ltUP9K;(Hz9d_*J4go z_25HCon?SBot0q#II~@@63Kcs=g^2#G<~YBOW4l%!@b+Dtbv22mXXPv&b>9qA+)GR z$LxC+WL7rxN_|ofpHKdYvUp~RKLy$Eu>AJ}=OXz#g)p^4{8YvHxJ&a}K-W3CT=;Jc zjhouFJ0J3O!)9_JWE_;R0DU}PF{Uiukk9%Xvh6WNyJ%czP;d0^?2IvBf6dANHE{5; zr_at0Hf#C*$)9{LT9hFo!r;v7&II&r(UV|hS7!L4_e(|#d{vbT4UVR0+l|=cS4S6k zTXbC^erwC70TJrQJV<6C+PzZ_2T=}n@|3`4`5i2xZcyZwq;FKE8@3&ORI}Q4jp?kp z<^~AdHRsN&Vs?s5CIuMWbRwJvUnp)18G1zZ)}v~%<8DzAWu;*V%vc|+sz&^Lo7p$==xgk0>q_rpS?z)DX`v~ z@o|;wrGQss&qJBr)dy}LG)NhWi=`~=Ri~)_FNTd-OLy)(CG|km(R(Fc$N!U3$$wWE zPW&3-a@InWJ{Y&ay{Z4w^F=F07HOT!>0zX6UEWJi1@-qgr=sY(3bwQ40RcNvyDyjV z*vF6E7!^gC&^lP`D=6{&OoM$BHAw!N^k=v3MLk|`KAxLhF>;@2qb{adsLe`ZGtf@e zSJT&IC-fCNR|keZ({|jMR+{dQj@A#m3M<BJ0g|dd zy!QAp-yWxK@mj&+xCh@3_YsoeGV0#g6_E=zZafRaa};p74l@U1HNg1ujP#e-*e;e4 zU(x7H?wB|BR{0yZ%=HJn;6FZgpsiDYq5l0f-z|tqC3VBxf`8UWS@PDDO&E#jtM9ZQ z#!0EBXS9K;y~*^L{TW4?JaZbbo1`yp?+?dnsz)h)tzo^BaeTLGi^j1qb`IEN)%fJq z$-wZ0)(ATEYl)%jl)49>M-=^E@E4Pyv%QAC<9Cs`$GF!<&c@vlp;kaGpmn_L6%Qxf z5_AjwQ2mA|JLQdl_fU^5#r|Ber+1S{JYuNC0HSg2w>Ss6V+@F_cLNeaQL)Mw{qIOs zXY#@<3#@hGvNogJDgjRw@5gfITij~6VuALN*ut`d``5!Lt)vWN{Pj|MjRxko3*tje zX++SAR(Q3&U1=P)S zkoa{6Dt?qsY2xS1Zqxgwl##vMRKZ!9v>?lr4R^UW#|1wL>6I(u8utV&&u}? z+Tup8>Ph{PbTU}%kNkT`i`#5`_gjKyY55J}Ff1Xg9qV(OBiBai4Fx!i*EA)yX0-8p zcMa>BPRj1C=uq_p6Ha(ZnV_lqk~6_hc&kCiQO1bsdw;tiQpxc76tBM}=U^oc)5y%W7lbS^9*%B)` z6Fp=e(wgOf@ffltU7yOmV1jVR!+>7_f9}(sQz#EbrTK4YfYX9Pk88_VgrOo#;(+NX ziFwks7W(*sbbxvk#%Fu64A*lWpfILhkh;~qE5cMacOMw?U9=A{Yx2?k{-+7f1S(}y zVdkLM*rxxj>+q}jkmHJv4zwqR7CVb1xP!>wCGy}`#10k&_x2vU8GSP`KNcBuVW+$p zEJ@Xn0u>YX3Up;538&i*o$6F;(Mad=d4oUgMj8y`JR!gP5*xUTEhywFbubYFuNU8;^krr^{ zQ|$w12kgCpIgS_o%CA2P5DE0Ze@ugI2|l;RVc%^n>~ejWd0^|6b0N$Waf63O9{`IR zx`Mn}TI=I!!+N|~ftoJg{x&Ze>3Vs#Z1SH+oXO{9sjO?vvMlPzs;o2Oqw#mUlW|{w zO*-Veq(BF6+&c1*FX;P0zfh+U5Al%ZC-b(cAOG?xG2qNWzi&atUv2c}h_7dL37!#Q z?F|1fD7n`(^_%mT>YxI2fH;oH%i~e_v9t966;2;| z^;0)KcQ(n!9!$({FQ!y&3B94o#FX0>b~QXiN?VL@K1dlIYip{;sVp^ZC+fY4cs;QZ zH0K*0y&K?3HcN=Ty)P!g>Hqnb?Ny87;u2;#)43-YI{bdSpxkMB`&T;*D~X?ppOBg` z;69w-U6@BtnQ-ts+ZHWI91Y*7Nlx|E11yrv|bw z8`8$1Hy<>ItiOP!H7OWZeaMafc!fCvo%?~;HX`{LD&`>7gUX@UNDMQslHs+HYSQZJ zE_;v=Rz_}ig~MI7m%02PekMh8lFSdB|ED01tf^$d~Z5R(s#5U(-9t%ZLJ!W zxW-7&B4F-ef(^9r<>Yk!^J=7zfDb1l^GX^wR+6&oQr57;x^sd;oJ;(J?YI1q$r}_o zq!_%&&W1~jTUl#oCb9%^{vjYG_N6t4&vDr0V;lJ~tfY9cb^iZ7DEv-_oAI&Nff>JN zby`Q`lFt-@41SHvC!GVt2C|_54`7X6u(tZbyN8k4A-UFTdXRbh&wbftQA$9$6xy1u zc`npHwkV=4PbqD;^bzAg)TVr0Ea}JC$Aj*|Z)!IgyV$!}I)mhN%C&ml7iU*8j1&NK zfs+RNPUfQ^ZSZzM?ES3p?yqQWRi0)&63Xl#4uVgfeoSuDc6&7}nyzGXbuwAkCKVq2 zpsn}RB&q@YC~6bnnA?{60VPmPZ2GLdt1|)1)Uz_4=p18BqtlL+O*zg{Oq1IA)Nu>X zS*%MWIQkUz29=;lvRC5FruO}{+_y>8OdZAY>vG%05#thkh1vJ?M(hY32qOSP!A9ex z+N4=)E&09UInoQ3qTt;fS*W}FIwQ>Llx`))B*IjKdC6jT*0tlL)_nD31(USL&I#DK z|8LZ;m3;2MRdX?(f7i|@mES7pEFrD}?PnnxYh{bJ#m++l*uk}=#4o{UP9+!ya$yOz zD#g{xUGK$9vV^VkU))Q{pfd>29~p3G_8^5o>m5}*)N$UnTuskj{**~0zH~FjU$c=#24B&6a@8)s~LeFfdJiJTJ6o*fmuE z>d^%swW{=2CJ&Mid{l4~Xf=+5+7wEgsWDn5$BhX(U&8<`?=usS%zJlS=Wd#|2)8p< z#pfp1aobS-Jm}DkjvIE#X(QK(TB>>-uPQrx`yq|89x+XnI#Oou4-aznd|zvTpnqUx zyWxxCtk^@*H0XwxHR4m>s&z_z6`of){L10CV4`4mBOGXZV%{)*tB&jdU5BpMPW4T{ z|Nc5bFlXS#W#F_Lo2KqHC;cZE9%r7Tk9t8!M!-={MU3L+fc#^(&SL%T>GNa6I;}O$ z+g9tS5U%qwE8_NpKc7y2!3|x& zU27AfBfZQ%UEh2tsO2t`K2ufT7kM={C100#;F0nw!IV}zTG(`4z6!emEDRm88UOkt zqjVtd)t#{vof^wqT$T&i+4Z_6kgSAEeVyJm?7X2Qitl=Hg^5H~ z8VXQZc>?Q3as@fg6-@l#NW01Rm#_TN9E$bTf6|UVL%s0gQJ9X6a&iuFA4&!d;1|NY9lkuuJaDyyEf+T2ZopD*xY4X(SL&6ll+?@8; zp8yvsJl*{J)87X``w+46Q(J-b8Q%76O*?#u!^085ai2BoS>nqcj7s#&tA;IK3RldA zf5w&jlAUi~Sn(YHdd%ugxc7GHF5m&}ksrBxvL!dnB^}xvTl{AG5s?#*EV&F=CkQ8jTfMYztt&u^W%ok^KU^wtuT~CqE zwed#Wx%-;keX(r=0z$^4SK$=rbe}wvobc0@_ltd^;cMEWbN&iFQ;)xstb7A>k3V!F zygzu++n1@^HHv$a{XB|s#$78r2RePFM=ol`&p!fPAaJ3c2%xVopc*J;Cl@#`NE#0@oDFj!j z%rJRv2~v2{mO-Ci!`S4AcO=IR(G|+7{)s5Ab1(j1E{_{;0^nvHgAgQ^_{j2%a?KR9 zo1paOQ^|ofQ)y#7XMahe5Pw=*^v9?t&&IA9CP~`|Li9)L2kL^QU#{xAI^$MAdkKbOHjhSB9krVX9P9T<41Pg@?_0K%(ko}xJz&=q;P22QF;|B5A3VY zxlnXRwYe|j&5=^DK4S^M+gFbhBkJ;BM+%+Bfn3tCjkm=wpW29PdVkc(jS(-HkvcNl zOBL+GWx#%P*;taEK`3S&QG>~Vtu5Na-;-O7t=OiDIuwEU&^l#~nehKkP* zi2l|%f7KYW?fH+O@(XVKmhX1Le{J*Z!%i|t_3?GlfvYSu!gte+)aS@o#q5%r=+KDx zc&CI&biD8hQH}t=@pqe!L()p^7)6k04y8Z>vJkX(m7+%Mzi`TPr_t1|mK7i=pskGE zMw;lTc0a>;Oaz2I?Xl7%sVX-QOfh<7XQ5plTNB6Tn2wWWl_NSO0;;EbJjp!1QN`kV zN2}nl6NIMYAvJ(rTv*s;xzC5LM`dQLCUf}F*IQ-UuvpV16VTp_U#^WKy&t=Q3jA#s zf6Z-ypG9EonS$_ke&2zUYy352K#(ZNc4jZRNoTIJH=%c{Skk{3dXPJhkG$2eyFdh+ zLR>AzhCNC#!^KF7`WCL5-&gYT4k;yC-zh%Ie6~xK7nKP+n%{AdZ}F{wRq-tlUN$ow zVRSZ?kafMfId_4mV509W$RX~F>PLSIyPFod-{akvziMnw_jh>V>F{G~aA`dcyQ{bQ zlfK;f8C`1}(yL#9)&Epqwc0%$#%Lll;~iLX|7;mE6!hgb zvYNhEd%S#%RDqMBsOeCccpE-mFE5NQ1(2jRzY)zgFX6TJP`x_YczKt! zRsdv=#o$v&xDmHM_7RkZ`OXS-1^ZgqOEYv#{zhCheUR;4X#$*8PvF-Y*zzhrekEj=`0o-fDRy~gS4Y#U|{ zd%li)_2o0`K(EtidsvJ9n`N(te)-tTG%F97;=34mBlw#Tb_%lKQ%zv)R-{j4ph4(U zjMIf<&oe{KwiQ0<{{-{@Sb;w=X1V3b^3sO#HQC>~XoCR#?TRhI9R&ZcnlD|fw`|`Y zE%3c7pnphj3Uis0Bk45c3%qo`{hXe*n-uloRg@A7vzkTt&D@3STg#)|z1|IZuyO?_ zOe;fs?3uoFbp5-plznytBn45x5i|@#Z$aIDaSuF{bZvw1y2X;64UZcczJ(pax*q1iSxayNWMBj9DfoJ_(j z@f%({vbef`#FKyID*yP`Quh?eFP1K|a!hx-_?pqxnrT0*4)MC*`;({(!&he1V&?5V ziK2*^AOQ-kf^sW3JVR7Go9j>1Xq}<;jH= z@{DrF1-d#I2w|0cV>u6gYXmE`6Xqoui@*laeuQV*aY|?5smveP-F8%}t>c=7yBNj^ z(|OUX`f)cXqE8aBuX%Za2$nlBSubBiO?w>ym(&{u-r^BB&JY351WV=ox>XrNkCJhH z@RlP_GaR>)Idr5(6g5`O2fiRPlFhCP*>Cf{ij65g`lE&V725q1kpI{H^r`R7)LpHn zL|L~&DH{{7B3vrKKK3(<;=H~x2fYA)AXB24zs95Qn7SC6H4mR2y_|FzD>Xm}J$xrD z95zzPLLQs;smYE8Bb2aPJnTKf=1N>EKYRI>7bZ|iO?fk z)S!{mq@}u$ywa!lb~(an3wMzzFgtUNvW|bEm~(JW8i~kI?!Ymh+xuGCmF9Yt9)^sK zvth*gNzR`^$1XI4LLlgE8dp25w`xr=(ppTP@N%Kh&62w$v#?!0iwE?u?AVzh+@oNP zA*|T%nJtdbUgVQhmygA9?2!ursu`W1->kps3P{6@wQ2ZF@J$1SA?j4dPff7@;K*R; zw{`#90KFtc48&lZP=E^5bgg7Fp455UW#X{XdJ*M3ml{s%H(Fjbo@R6BagZZXSd=ov z{J+o^;=ABK#nWBNN@f5#+C52sb-iAD_mcG>)r4yRZ_1btRq9<-I@2U=hjdSCI*CzC zj4axr5tEUwQ=f#kY=fLB0g4}2HoNMb(Q<~CByafYr%8WtboHV(E9LHW(l>A%OHrZM zGQHusg}L1Dn+RsDRKvL}JccLT*|J^NX<41Z1No(LJ;(4L*?o2gPdd(nCU1?4O^X)< z(HMbK@52N+3Hf>BmyYZG=Mn6poOFr=OQ{fy>P(<9=@_k1zUax`;HY z3VW2^N7;{)BNdXc#2(MNOAe^tJsBR4=nAEI9qK9a!_}!6XOa7?n`F|}^tT2XA(8H# z+zr4vy+mFjVlw{JXOXQqX(-IThHTdk|L@K7Kg@uCRHYJU34hf4cb()1+i0=>>45dS zE+RL){_c0|;CFaYwGqeM{pfVl?uMg<3H0_PCCH?|>zJGT2*)nP(c z8@yc=zTzE8c7sP(1~$C!uZVY!3vc@NOzJO`Ze5#TqyB%5#GM$3*yX>eRtUkIPFxC*}Rw&g0Ez2V94cusc*w>mgUO90;@hoX9AxP>RKlk=vH!ckOp_Fl9kgqb zQ1~6Hij)=6kt<-$R7bBI_&C`m>jX_|BC5}w4Nn*i&f^(p0JaXuriXu6tL24MjrbJ%8sS#Lr;$?s;be6NLQQl~mPGOQIv zs6MhGjzxL%UqMKkjaefmCJ&*LzDLc76rZwe4V}Ek;TMwz3JKE!w0Og~@x6lfa~u?O z((+T)@yZ;j-s(ZtQ;3hsfrx2Il}r1mD7w znM*Qs6P8J>0o^L+anI_iIc$}|?>alVDePX3Mkejc#O%&7O82i_iA^(i$qhIrP8_~N z-6dIj_&?eyzpqeBy6&>X8AP_QMyb z9)UQit1t+4huEIx@^76l>v)f;*3?D_<&F$5FynV9Om)QZV|iR zu|c$oJg?|Y;RGBiBFP418P+qxgu3!Fft55XF~U(M9Ai+(q7Fesx$^wtd*lJ};Rl-r z{RwQRoDLl4CVe|)J%YXu*_1liE&KVh=MNsGc4bUm@8%Nba)o(75KSN7%P8bG#_kja zyqpVOEC%`B$UE{Jr$EtLQ4pe?-G-Ln&X$izsPos_xWFV-hgTCmEHU&f>iecNDV6pc9b<~M2WBFq9~ZOqi(6nN_1 z&HJ90w;#?)ydCXsl;MHhfnWe+A$Rxu0g6@S|Q@=G2QAU^Y$$pSh@s4 z)1CfVttxnST(FmGzUJv!dT6a5N^m{U1btKH8^G)dL19j{0+wa0R&sJhr{ux`r!3j$u}|{8PX(&No6|p$bJnT{>!f=R8?c*<9DCJd#7@x zhsk1}zfj3PG;Y$HAF%rR!)oUrP4WNA_x{eh?-KuX3;W(TpRf1|Uzf0Wl&l_1e$Jx_ z)B766Fb&rL@=6h;fa8^-L`f^S`}?-txd}1t7?J2}4)&^X=Db8MQt7ftw<=f3nxM$$ zdZ+-rH13fox=p*nDsTof8d&`O>35T&HY(_rmjrvz!}!A z%dol-s%S{!Y(KWr5?^~=`j_EzI3URfyWEi;h#8dl1B^8VHcg1IynjHDgvT1HVm zR{}K}J-yzgw!8^Zb35R~+aSutN}}}+K~DJ0bX78*<(cG;dk%BqB}lUSH*EU$KF_}G z_GoYZZi@+$5!36OF%uAVjP{Qe=AP3;zMMaMVlAw7`S~qyncVItL@bQYaCVN+@PCB# ze?XaMLB9+Yb>9n#tE#UfnW{$y@IWT&`#a6@N8)o)+Tg?u7RCjxQu3VNA#RhF3Shu* z0FJGiMXHR(P8e3%Zj zr3-t9MZFC!n8>$JQqIKAk`=*Yt+$?^gzO#Y~b&WZ$#I)K0^3C{;twJS^`y8)NFN=Kl z5iYskr6v`%md^zQ?e=gCzfjyhlCpVazeoG5nELuC@Rrw?;3AT7oC4PyDEAq@HluKS z2t}c)Nl_1->?TWM`-iRnM-%-UtNaJlas5x!@!f0jbNd;rd472*MKX-=3`sfKuCV|B z$ciACoz(=A7v3q{Iv-UTfHI)sVZ$~V=^(xn#F@9Q_8dDeQNqbCrhO??Q*Wb?X6{TW zMqRlw;q%K#A}HG?JCuO6piBU!qRqyRBHxmVK{4J5U2-eu#d;l6156IhsZm{>CMf{e zDU7R?v|;fORmVL~_F^?nA3!X7f_K*X%;-Pz;RCmt(e*Nw9`I$?Tofnt3^hwMzbJVB z+Szkfe|l?JMD8cYF5xpi;*OCi{S58XXBeu5LE^K=F3%X|pF-*lC_3228#IB!>U08K zNQhxIZcg!co5|0?*~ZXP(>zu?EKC7K$yx+TGPix^^AcXSWb`4tp7Py7J+QprS4!(g z8;@n{UF53ZbCb5@kmF=%q^-Gxg_0TB%q7J$20bo7HlWN!crU=oPlz|*l{q2NwUdXj z<$#_D!Fc=C9`*l0`u|##7W%)sZ#v!es9M+lJI_$)L$`v&*GG}#Tu<6i#@>1Ql|#N- zJl8@ZnPfoKYPD9t%9z5`BJnld*NR*lcsfNI((p1StLerW{xc7q$AJSO%T@7e-2qu3 z351f)^5&ky0k%+#W2W&;QSa9{rrj%9kEptuj1PgoRUsR0j2W~@G;2jnG2 z&DFCy((JkcMN3gau&AMq)qw)&LXieA{Z1bQVpoaQrL4yH?fdj;0TF%aRC#BNgXpC_vLa7w4} zd=l-Z@44hMJNPOSug2N`C$^0sVU_6kRXv>=OxOCrAo9B)?!6~{K zMXI$~TK&DVtGffKw;J2d%&|b{2gzIZLjFADZbHGJOoiASr3_b#2xHY=k0WC!x-Oe} zSrvnDnM1)+?M-hIA?Du4J#dXiB)RQkxlGU+op@IsrZu)6FG)>iVbS;1S#nTN0$|8= z{Eb}dmd2;Oi+W|M!im%59ZQ@f4%Ummw}XFT4g9SSFJaxXg_+*_>+%9tFzpt&Cm07vUpG2`~NM#pj0OrZy-f8jC(A;lz+(dhLLZWdtltH$<_wK;729 zP%1f1G-x^AJqy`vnJ;v4W1sN2i#%Zr><`k`E;2LSSY?-Ze1ZzAZP5B>L1F$_I6QP9>v=`8fP|kOT=)_miBd?VchWRf;^$5_wn00 zR41e;_(_yVEb6MUx!xlyi_&ePH zjet5}{NeC+1$L7`yhj&J{Pvpk+7?&{SmUBTjH4hdesq%L=vJ8ob{gP$kk)vK1Z1I% zkhDb2poHuJh{hixpDYZOe-KL{cz83=8_Oi5O)OH!Tlw8ZNJ_17*nJ6v3IEub7^>Dy zU;)0@M5aDU0C9yefEqam2GNtRQp_X+JrQ)guWE_9(l6r)fU)tj#2YjzmX&s;j}sCYka7C#mrZOSaI$; z91Dif3)a@1>zjsSf8;tO2NnT>97wub|*`#fc7CMY&I277tbz%R=tZt=kmqM?r5c4S`6JluNib;%BNt6m4DjHI78d ztg<0xrfnCH=KQ1Y%6i7ors90KNz09%zDY{JM9hLMoo za@?*q!yJB$&6RfrG6|96*lAlsk zkg9bCvf7j=)Xrhsh_DO*g6do5tif+jPOIkV66yiYaUqK*TQd_;}0ON%`j zNS}osWn!Nh{gMs9`;Gp+hM7{L;mn1$AB>7}1s|wdo-$2{igzDBPu&llt83AFvLQ*9YN*KYb1)aHN549Qr^kW6^fjI%_vw*Zd za<8Og_6t=1bVs~;z`L_+-tl!2o960`%FHVGt<@(iGzx6^_6}k0^qd-1f7JZ)&2tH7 zVA$wB=E1?Rv3Tkk8EQ@j9k}!mW?da!co0~SF2k0A;jUA+5rM*q?`U7q1;|lPoxH-y zYl0~Ky=neQ@BjJ6zoTmZ!?rp6cDMk!ZTdQ&p#r}T7R{%jNM>W7ewyHWYS;=UFzVb6 zx7PliVI)AM<7T|IA$}Q`%QopTmUNA$D7Yc54cf+f&14KLhUY#bVv%rgbM?!S_pz77 z^s#fD^k)m`@sx<&6>F8TGuqLuks=D`NDX{|XAk_jxL#JKjodX)WoN5#JgX3|q&=c7 zMxCe}vU!hia(U_$Z=-K;HK|*WpDsEl9Km;%(`zD543CFFV$h2N?c{+|dC!HMsKjdN z#(ig@qpv#F%p!O{57JGZMg#n{sAeG8VOR=t>cit|&041(*0K#E#dG_evgd=8ZI^wNk>m}iTPYe7F*Z;m4 zEdu|!;ji~qhs!p0UcaCv8hv-EO+@%4FFWLP6>p6jZqM{m+cpspcccn8Cm0b)c*E3L z14jdS!>NHYIYYUTnnZ<#2Ff?o+uM2AR9^sWn=SD)yaWN2RReR)j41cEq#dDHMW6*( z)AXZTrFgIsW-_5Aht~Qg2XVpX60Bc^!s|(!sZL0_Puv5cn7X2b<-GzIxdhJ7%ev9DT5NZV@xFNTN%>3sN@1YtxDSb7=HG^O$?aa~Ji?9d`fm^K9uZ;?vjHTR_L)ZEd0iV*HXO zmY}XUu_r~bC*TVOdJg}Mr-z>md>gD&p#EgN&ZTE>09e^?&McVi7?KO2+S@qH+NGi* zLpibnBCUXEWuS^QdGNG9HKKAtyAiBcCMZ~>{WIIYtpUIrIL}&P6JOr<*?B>o@hM#+ zbM8&_DqXl8ggD)rnJ=S*pO6qv$-ZD$eBQx2J0+B2K(>l|*enypv8S}c{n_1OgrE}#*u1V%ATviGFTo>Q2{UG!;H z-Ylr(rLB`Y(`Fm^9YrY6b*Nl+0HwtP1N0X)E3ursZQvU7>-@?|&z%*S@0@48zu2kB z$XFI@IGJ9PoaExG!{JZT91AIp`SoLrg?R_E)OIYbS0hdmWFE_QCv z`wM{XI~Od^9BX+X5V8SzfByJ-gbAvSeI6)Wz63`nz-gFI4JDFNcCFJ!a}tHf2!_4`-%xW)X4$qnw2)1XF}=@Un>Y;Ht-z_{m;FOiJeKJ~lW zL!mO-E#TD4#Ywb`;ALXyVu8cfs^cLOCbpo5%Is&>iqqAdzVYS*4s|Nq9@9W{qQ^(> z#ezPGALao4Ty=18_@aD5p$l z=4s;WGih=DN=s|}#85KG9Kb`-;EH)dfu@^iGRV-c&LodD>mwe=x|j|Fp2!P=e9Jn+ zPqMeT*o#YS#tb9rnco+eVm7)*F?E@b^VqYH8Hh6av)NmQ?4f5vgM^7;FVelP6Qm8S zzX_~QPYGdM@OL)R^p&%pM35dj$S~hWnA|h|S3p{Nc5emUT`vDItGY*{{o31Ieh?>s z9_*fFCV!uQCqXc`YrvwJN)_y#9XpRh)eNZUMT3IIx37ILQfrGplwzqUZr{)N!~?2N z;7k&FsnTPm6Wq#=bBk&%5G#98PqIR?iIB{M0x?u~+*(y?u?TSOvz;%+<6X0x)3Yje z4Pu+!;R`()$D?h-K}zq{VP{r1Z$KOyRu#xnDF0k98BSCVE5^;A~BEjm0)>>U=uBlYKwEUj+V{ zpYTsVfjg?UU)<-*9~r%$MF*=$_DHchDVJo-_sky37K1AExMQdZjxi0IIKfVmFQ}K0*KC7h{^ymK~5ajQXHd8mj zm`tN{od)leLcw#O)HE)}(^F}6oBFdwogzQetR%YEZeqp$GAxmT!$|=xvKaS|-qxLz zY#c-zbpg544IA&b_+J^Zzu5%;(}^@Fb8t>wi>QUmoX*qNnQ*lh znF$g@V$8IOsp=m1%VdQxkB^n3q6ne-xBpCd8ZNioZyGH9eD>I}S2XBlya(P`aI>Vr z$ouPEN!KLsZwVuIJ|GFZS!>pA?d&3^a@{dQqQmm$mmtI>@I7C{w?za}zZnefAhZ+kJAcZ%kT83nv4wTrT#QLWDpl__0%&3>$A5cq?6nPd2! z?XuCo(Rtnh09Jkz?q9+!;6A|wHv%so^%wb*l3Ar3CY&M zR{dMhpx6Xu%9!8FtZ53(gnD8@J?rf?fN{)kCP3Y}i-8XP;m*$z=+a+4ZB#z=$unsTrOg^cAiT-RW9-WkrVl!zky$z)Gy+%Pr>&n zPU66!ER??Jy&J5eOn~3i)cO>aMfbpfFQ7ApIWad)t^jL_3sov4rh^|Qg9`#;M9tu_ zx2kcp7a8=j@q%xP>hCWafKPXU+bq&%1aUiZ*-ZwacsKs@y?RxiAM(54q=A4=} zrYg5e_M4VVll8iTGqbv&N?lM8T-sr(n`S5GNxM*ab3wO(ykYKZUOw_9ECTJ?02K9Z zPlV;#ja&y00l>QbtP4Iqd0`z%?7a8&YHOgkE~)GluBvW)EB*`cCho;ON^Qvdr^Xv1Vy&IYSt2`b>rGv}ElY19GhvJ)^wS)Vc$?5k3jZ7hlN>C!xHX;5zM`ACU zz00~jYn<)PK;o~P-5UgCbO+9uA}=Z!)B1}HpFtP2GaoY$^IZ77P=8me1JNAP+(4?V zP_%r(Xx^3M8vg2fo1|l!7>*@TBilRAxzH_(~-uk8f3Nc4f719 z*)>c(n6sf#1_Vv1gknGgJ6-K*l}CA+pfRw#@oT7$5Ar^hbm>!#pZ6Q|m9$VQtgyN) zXv2(s$7`Z?+`~5M)6-|EOUf`A^#EemKoAZ0UGw~8WoVu;gJz`(IHZX=p8y3|qM|mc zGA>WO<8Dc(7Qu_Lo5qE`lV;j5Rk&b6w#u<>x_+P9-nLGm0n9!#tDM`>By%3Ug?DD? z37!qLWu0(m_X%=H0?iO-H)^0~#n{`z{Al4BObQN(A`ewX=XD!wUwvw!_JNjuZE*m^ki`tRg#EY;ak@;l+=OOW}JNG z3-y-V z?Y@C3xGsT9l?P{PEjD;zP{nb9oBuV@!JKp;i3E#yYyE<(lj=j;FQooL(bcHg*Jp^A(FRB zLw8ojPHv+BHPJ0|`-NXUS9bKU-_q%OAGSR9C1QV@s%1*qx16S4uaMH&_7Z5l{-;aZ zt^wAyyt3&!yIjRTb7(D?&wY8-+T6i?*BXdEqsjGgIXg81M*gbo2btUYJ+SKW~RMZ1_2Tu++v7T zH{l&J57Xd&%;iU#PezM4suI#_jbl#SU5gPf2|^p20jZa^Y@?9zcQ^v&!wxk!*G_x_ zUNu)=JuT(Zy7IA&)pXVE7t3>D0RP21Mashia_yBE>6Oob>(PD6q zt>h!cE|ug1Yf~4Frh=<28&uR&^{JVJF-;A&4MkLi%(>S?o#PAj??2n-3a#}MY3*m{ zpB+a;Bo=29+(z65zZ+O8zPSWMRa*H}G@-!+h^BXD-=TaYwW--1Aj^K<(4^1s|Hp+c zhUgj{N?#}gM9el|GQ=UXai`h$0`XasmInE18_A%Cp{CYI6;J~C;4K518LBp)FIXd_ zO=vu=U(+9Hz#Nv7=yNKZ4zP%QTiYx}t2MDe-Z~~bM=lkE@*3=*NzMUtvJ?mlH)sV4 z6vm=x1_%B`^Wak1-zOP?DFyy8#mzOzCBRiT(w!4h-R=fgTPlI=Q*!rRDxc&&XUjn1 zeI$NbkQbHqJbQCTyf|q}fWtj|2(^`Dt)w9Jn0y@JV5o}ZQWA`l@-*D(Kf9@sRyXQB zDs0{O5COmK+NBRRLz7Yr5{XkJ5W7#c&FJ2U_srKKj$|vALBs*XUxM@ z#cNaYrx44T6@r4UVh0HCr74X;Ci290N1WUG?1aa{l}^#C*oZXRCi(lRRz8$w%Zq6# z0dvXF(W>EvSdz?W3;A=Vqs%Fyq)6{rhW{UB(0tw`;d3`mGpmrI#?(;xl*RZ$iKN(! zZKER}{+TVT{q%EzWg1c8knMLodt@k6B4$FN9XccGaX~I-uBG+W`pN^shjk)?`63G+p8Dj8?aukB?1Z%94 ze+z~#Oth<6SRWZpIYu={o}46L6m6dacL^$50N_gbjRM9Qk_v_(#C~BMh38b`)Xyy}dX;H2Z;{oz`lK!)P{ z`0xqTyDCR%V<=%lEwkSXy7TP2N4J{!hU{zz(z;O<_h25 zK>g6x_;2tdhClgH6i@Tdob(NdPpCyPsEh~MYyolY(^N-d9mWhRiy0CZGUvpx*-p6H zKeeo65?6G6<~5>SXjge9v&^S4s(p%JaTw=Bc_=25{J_IFEjP%MWb%!(wxNx(LM`q< zp96t*0gTJPR=y@ggQUIdv)Modi|hEcQQ89|Eti`or<~cY;&j{2l;%Kd9mWdwSW9Z@ z={7`JJh<=bazSsHhHaq*pU=^`U((0*EG5H^tk0HU3_vSWsPpz#SV2{o1MIr5)nkX< zwt4nex8UuS0mt}6E5a#rTkgTm$vo$&w1yI)!|{{;PN_YP3h|@l-N*4?q|d7CO!4Jc zk1L%;$uvKD?e#{fwdD}lj9oF9-8uMnRV*fuU*$>VOPtL57JRwk!EYma!zpE3F(ozR z?NA{>WOZjf=?`XbWcEz$ZXJe{CBkf2yB$ODeWiqHqrNO(Z%=zS{~Mj**TJ5yz^;wV zySUPWyL|u*y_b|-uaQLv6NJ^Lq_-)R&hC%WEXy!UG;lFp%yVWmj(Wnx>gb>y))6U7 zhN(}Sk4!B=4J`KXgPOCLgI7sfWbUJ&6QCG26REI9X7dAA7{Jg&SyEI=`bwiWeRe^> z)QttY8wh`@$y-EOdpHX#Pj*JF@bP7XDsBW3b>M)f0nt9%>@ujSm=!_rt5ki|0H&@q zMPonM@gVFdW?gLDqYW`y{ICJgUE?QTAO9{drATk3AIii^Of>G+;f3fq6SuS*K`VaD z|B!F(JTASqun2|b$_NZJ^hJ~0eA`&MDgJX!GNTBoeFc`U-H0k^whuZI+T}Rih1@)P zgTUG=uNAclsF`dLeG`zVeK|d6)WZLpBbe-Alcc2aUSc|GV$z07?Rw=>QrU@Qb{9J| z3{A&zw3Slm@NcJO|74>7U8wyLL~$VabK>50;C&2nsr`P&iTT1tpH`ezUrJglU^xf} zh9l^wV4$YAy#cT)%|cUGYuo6+9|q;bp{vL7DNH)gh1tz6oA+Q6LoKGUp-XWyJ8bIk zv!?Vk_m!I&+aFo$0&O-trZi+{p0v_Vl}!dJ>tzKm3hknR+mxh?)QXihaY835TDg9E z!#2#6Y!&GIj$g#}n#N=zDYoB~yk-}SmYIn)qjyd>Jf1PoofBiUv(H2~dpd>0l>UCj zY@rABw`asP!y0>3X@^o{pwRb*+t`4gfT;G0n23F^&$IZoiPbaM<)?f;okwpGI}fFu z-CIglJi{nU$;)Qx*?WCPk-Zz|Z^~0r_ymnqmN~y4#bRa@l}b@6Z~2C~L?O5L=1oin z42YZwsbth6cP_?`O|Y~s52qd$SW~VXrsUh%8N$+tCO-i#oM$*D6GrM#^Czs45nx$} zBRU_obbQ3k#1+4J=A(*V%vNLKCb7m|2)7#qU`8){6t8+bW?;c$Q9&LqqlZd< z$g-fLv0lAt+U&Ei88st0F?lXIRzI%Tb9>9Fpk)$SH0Q*dm?pT3uZx#>;UT#V>X-(+ zZx%D15IEES$qc%U-&`hbb!p+e0o|+%B4J#A+*z@I*BbU?TR_EmiOA~UygtJc-zXtE z0)29F+tYr~A-Aye(schLA@!VJ%gfJL6im40?~t^!c-nPz?gUzlQTZc@2M_50=A&hq zaR}G_NSyaBs>|N-8g`^^D2-Zk?S=btMgfgwfwMy46>)Py!s7lsMtyG_Tho+{jWPFU zc+mexEc(yr=Y8wAi~3Wtjr?5ueL}1@#NvTF!8)F#U}owz>B*ozHtL~aBVBh<#ig!) z)A2Dj&k}c{TogO_4KqY-J^%w{bh??bS1p4-RXB#5HBGZERe52i&WD=lxAEcvXI9wd zgdK{xia0Zq`Tb2>7bCYP7q-K?m_-HpQc41ZB91YcP@4_t>QF*!>}GoPCM7cAH$*sf zhw0ORVkApCXa5GGKzWB8Y|PT8*1&AopN?DQqD$)*(u~WtIwf$RL^zWRr8Gm$Cf{(cW0*zE$yXRa^U9~)bBFD zK@bU!Vz>M7ux-Jo4X~^^rw@d0w8|i-%D^BTONjd^ApP^_&z|~cR=PWyl%xW_43Gkz zh^9vr-4rnpHBCWVdPQTF3*&Xpq{_y`i`_tlc6K#b@q6_>cB+r z&-Rw*VlMqc92&9S+O69LRy0R!2*d*E?W^F7+5s7nKiM9p z)@w|BoXlXd0me*$NE&T4%D6#NHkidkpcw2JjRLPKEd6E&(l_G6ua#ZM9Bc^ui%}d9 z;clSqMT95mRUOMsVYvSI#aq6dL{~eq+{b4T>SRw6J=6q6TH~yW#QE)vX~NM{bza@X0~5a^+AaYdox}kyfK!MBHWgMj;-st z53`@Oq|&*(5LXkE#}y4d|3)Z<_qsOt_p@;L6x}O|EFjhR9Jtc%rwQT4_t@}8gCFU- z7c5H;vk8OqnfPqnG_;Rhu0)A!s+|qow?la%Jn}zam-Wo`_Syo<``YcC$ zM4|(0y&<<{?RsS{+?SL-`Mh&Hiy3|);@sjYp#6I8TZN64D4|{hBRk`h&sp)JS`MMqzonmjx{>FkJUCHSy{Qhg6q_WBR8vUoj^hX!{ zHu{e*LJ!T-#?U5pGN|@hBwpTrwZE-s5%1!doSG9n{UJ02a+}Gl{op`5oL6eNu{5|M zbomqMlNsk7odQqKtcoaA^mO==aaHf(qnU>JQl=%Ti_;wD%s+Xa6SDTc&n(4Ml>@M-me-Eqt{x41vCd)0& zFRt$fJMLImhVF|VSxe{lGxY9^?CN$a3?&>zAfLBGPhnGF2<#$#h5p$gdG_j>8%M}keFAyo~?XwPU^oP-a(qz zRn*8U4N17|!bd{0eR(Fgh;1l>Hp}$hE7^0q?M?g6KHn2D@3nXww7rpzK0UtYdtNtj zK{?9dr`%y_cHQB*<{aR>KD^nv>|QH>L4B|;GEuiSEbeGEy8h|xT64#{g_JInh0*4- zf@K@~-t>81(-ptwux=y}sSk1x*S!##Y|bd!Ygx$H@cAom5A!<+x-XWSm+XBO&22~N z+Ru|K?2mxBU&=?$879)w*-)rLFU})t(%ieY?5z$BHc zXQhNr%Sj_`HR+0)(}Juhc7!x%z(l?%y9aSZqwUnEVO$r;N0U!}rB?zIl<$ukcg@EY zgK^i8v*3_~Ov9C}x}&;wEcMy1p2_z^^_mD1-7#qCkfFq6sKLd>XO{tT)qx49Lt8!J z@Cyn19dsMn-HH9QfzG+-T`Au#$_3K4#W#g!d@~ajw>B2{NbpUjCeBp%xUa-#LrW}Q zz9wkswE0MyrrzyZk`%32@}l1A(VqJr%>y0P>LR4*hNB3J;;)GEzlinx-TS%I`E>=0 z=qvAYL%)-mFV+K8kSkqc z1*xXAIRoMW7yy6uIOlSMV6aN?n{4qM;(SYw%G(5#i6B}RtjyXC6Dq~!BtrrWrla=3 z=DADJlIBkwkPV_Bl^s%(s2)($3r1`~bb9#Bh*!xl8Sqg751TW8rO;ej`co@2Y=#`! zfo}i9z{YK1A*qocj@dMt4bgL=8M{{|OJ6ajU)g*J<1z`%I_bP^U!=_5H*Z>LPZ zr(ZWkg+Lk7bPYaIlv6j^+>x9h4v|_!Zy-PItcc-ee!iiW-0y7dk$>~ysXPYVlQxm0 z_v@vnigVy^Z(?B)Ntt5FjN6Iqy-BCjx4lBLcIpI!&sm&jy62nun7TQn0$3u@vhubgS>;2Z9F@%%RTaq zQO!~k8WZ1>7T=8JM^42yRA4(`UqYmfm+$`Sa<vUuXQ?zx+IW zKh$ITYdDU8L|lGfrpZ8K#b0Kfy| zg7b)&m@G8yYD}Y8a2wmWxmkuwBnYw;at-J5)tcBHVKr&h?D|J_ef(-jFcD;-k2|dA z*?_z%v3(&E1wu2X9FRCwIQ#h08Q=-+WZe^i$b>ATvHHPJ1Ij%ae|sElqM zAAzy{Kgzx{pvg7c+JZnpq!;NRy$T3QuOdYt^bS%4O#lU?H>FqUAYG6WAoM0(=}3uS zNFbpoRR{s;C6o`(96e|5%>C}nFT$IDPo8)0wbx#IZ5s>yCNv8txUyq}CIM8})GkqQ z`jP6Jw$LY&dBQs<#%|_jG5>Z?f*HxOV7E-faF3D>msG ze2B^Xe$$%>%Cq{~vz4`=e_^mMs-vHRHv9yM=W4n&r*$fCaAggr@weICe=C3Z{qQ_( zYmVlpyMm0xNk!*g(D(B*&4M~F{8Rb51BTs_#Ot^CuI4g52kzMrw* zB#WyXG6tWXIACKRKj_(JBulcF#=6(9gr6$s#6N()A7k!Y*?HaQKm5R$582Tl+&mq> z(h{)p{oD=h^FF8i86@N!XzFFS6ye`Ol`TGh!t`aun zv(?<^gL`tKoLSPq2AjvxNi(O4tNPV$DBmo&2Az8;{(-J>(<^X!2em8~i9{|K95_KS zjT*DLm*B`<(#ey?grU0qtZQ@{s*kc(MM$eDSfr z;{r$q{mjTebFtFN+`)qjqZ}6Ze+Ksl=|Nw9=tTUqvADS6InT~q?*@1>8c?q{K6Qjw zzF2ZJN){TrkDY#N5^nhxVxe5LssSty@wskT46kovqOXdZ44=v4kuq$?1e6gORg6De znz}H>H1pm%sBO9@AwG4Qv8#DVJ@Try=sxaG11}o%+YrY@ckg4P)>-%>0AM- za_ZM-x|)v&Gn^M+=Pa@|yh9oQ8L6l&3a}ovhCd2ZYJ2Jxef*?~!(297M_$MCW^)*Y zH2l27x{<&|P|{p_+sALsvoS{TWx$MwpqEi3XKn})(_DH3&Gkr)Ak&uikw;rTf*9?b zD!<6@niaQv%?{RZ`6>Zu2&W%3h@ADmndtqMnjiU}b#Szu1s)r?p zj=L3HXK1wzy#|H7?v6iy&e?6*%x5i^s)? z*>*EoVlO}?L2z>1#*$5vIXRntbI)WYPC!z`FzLHdqEvWklI_#Gk)4#5rLrw5vPdC0 zq^uJ^dH6&w8TX{#JR={u8@mbM8Ety<&{Daf0HI>0Xkzr{aZ9kpt95+E9DW);8_Rd` z?-h>jtE%O{{^HE0_(M!2hE7fdX_5S*zK&CvT0f5Wtj>AiTY&zc53eqcGA-`^OD_Bl zJ3n#LGy3y?lvT8I?>nR|rss78G1C;Jd0Et%V%arj<$w%bj41bm%pX5=^2A%E{5(6XHq`#TF_qz4q(YeEdd{x2szLw>{2%FAJqIV|+`z(HZ>G$4hbUGUMjz)JK`IhRn zY8v^{1|CtW;mS&d}$2{-}{GB~Mzj&(@J}b1LJe z7x)sfYQuw2`njmnuQ0}dw*Ds!MlVA)i_q&ur@d#>FcN$1GaCyV>G#&h!LXNC*Y#Z( z_FvyayH zJyIeOuuE1S-9E>$rc%%;n=Ci$wT^(ES-%64y}KAmZ|~@tsI5wof=Tcu8$O=F&i1!h zCF?bZ$y)14N6h3zRF1?{#PQU?T)L4si@l5mgNmI#JtS>fg!*8NSR&YG4SXTcX>QFt%)xlq=SXE~Qh$UHOdi~IAqFxizpU$xXQDW z)XDRmF{@qko$DE@2z`40PxGjMy4U~y4LCRN`x9)w+zNSiI;Agpx19rDtEXf%If=7b z?QKcsi_qZ;tCboq#wJ3lqVh?Yq-!D!zN{^90CXfXa!0SIg`=t|a~AG4hDx{2Wa3ff zN;dn7hHg&|XjB-}Eoc;Ss1+pxIQ)Hd`iutk$^l~QCCkBfCIM$YHV^ar2{P~}(8BS)bXsyAqcxu+$~3 z6vv_Rj!*r`-wfrrwUE}f)O!Zn#g}ND>;^BS#jsjxw6*6Jk5JZpa!7jB3G0r#EbZ@|2(>Yt_J z%&&a0PZ2yxB0^ELbC=KfO_d2JHZe*UECjSRFm<@kN%TU`6Z5k!8{FUW>Eg4t_lE zNo=|Q4rg;TpBK<#G6=3j3;!6bC!lncZ8`IJo$@HL<0_(AxO? z#`;y=vvTJp?&ZT$iS5|}*`xQZ^5#!x8*c>WZd4l~-Gk)ZSzN6=O%CB=%7c?50fU*B zcmBGToy31dl?&AJkCW20visvH2K*Qq+6ZmYRs8*Zrf^uyxfZF zT&$jwfTfl7o8@t(Q8ZCc{m8{>+jWit;gcuf=Np4S@GVdAu}!~d3|93>%r`YtubaB z1HE(s{?lpg14dyGk?6fSS!u)>XhfZC#vIPodrypQh~%+tX{R;T;=6C4@|si!&buPz z{bpy3IFnfGSU<(9k%ft%J*Um(@4AEAUj=WBy%-i2e4hQK6;*O*2H)DP>6@Zov+DJU z=8czghwnILwMEcfMJSEN_}^MXADirOUb25*SaHuvUas}%r?z-Am-8a-;yn0z&QDv& z&u4}I0E3U4(&#QBBK|6O>^}W**huZ)^UW82Qs=;5Jk5v0(K+0ggC_H*0=j0~iUFFF z?H{!T&5xrVXSY@RW;tKQeHi!aKGSzvdsKywx#tW613}gx!$x1G`$Ia%(x7WDuAb5| zr%r305+0yyJaa<vUq)Pdd|B}0vUHe zaS!rhDjne;7>PlA;d=$imn%BI(?o5zuPltK1U$6nzZt^!mZ8Zgl*ta2H-Ww8G3)|( zvO_nrHkv0UtyGsz8JzE|I-=QR^a7_0?~83`&}`sm93diYP-@uh1N607v%sT6*-iRN z8vSyR(bIjqWqZPoGnA4HwZaZ|2a86&JjjR?Vux%$qaQ^eaO}DNCP00~erC$?6Ma-gq1mI{7H=Kc?p7fpxEw8s zzwFP1jYaGfHRw0(NwylY_CXgABD*#vyyq`;%*)GpS76T#R(=~>{&r~n*9PF9Z^0bT zuO@ix+~G!Epu^zjfdq~iv9;a3V!61`WdOw{Z;eUpBRX}F;KD_1%B}aDwJVmgih$FA zMzc^RLL0JP4OA@0TbiQyLBrg91!okOIcD&nV_GelOp{Z~9H&Uuhq?>8O(b$zGM0n? zn@T0uZpY}{pkV?R%L8GIm+=?!9=t&_Kx0CO^9hRf!a~VIEI^)yoA3?J8Fyic=2+VJ zluUv9vaTPwo5eHOK#chG#sE?LZA&L?LpTI^20wKZ4L<#N{0)j% z<66MJ(yL}I>#o#+o&RS4936ix)St$1w*b#%UlHT=>HSzqvH?SDUXIH5MV8U}dO;#5 zHUwnkX@jA0r@x7;2`4B}1Wj>^C*TUVjld8x!YcfmAL8@0QbjvIW%qzJm zT29n2Lr9}f$1_W3b1hYY?uguePU3|~`odMG;Lm@j#s2@yS?A+lQe~Py9Hj(1w?_#x z64KJyLGvNyBJr7r!~0svpPWE;JVJ?N*gS~LR)De7Xn-CmS#(3UZ>FK(aphawy@{A33>TyI=E!@x^P&N2eq4ve6lGS5N#~2Q-<>7 ztZD#w1W55mISqj=F&|x+6eW^1811!$I6RAWv>=K4=O$m?|9A-2vrjKfXlxG_m40x0YbATl!m`ueQ`IOsR8%KGZG^&P61%8q_I(#q?kdRRx}LEFvrs_wC6xRGt; zCtT@S!+(QS`v1f#kG76h&RhIkP>y6mhN3WsFoG;O9$zi>=pN^Nk8;Ya!@JUK>L4?o zr{cUc-1aUxj-Z(-s?r!r?S%32qff7&fN&b1<7%sz3sVg0vLr@sq3t%F z)>Mx7WkxCQ92z{u#T&{!%B7Hfq0Kx~mqi2uE~{TsR5s5y^SoadZcTVagXBq_nddC} z>3Y=FjX5)c8OH36nCJLU`x!NvtfA*GL}KLP12?<^mWM8 zVm@o(2&Tl!^epjF(Ld6{UkUerzw3XY!be-ub0-TM!gCGXlF(6sBRoK+-uw&Em!UGx zrZ~*2Z{F+?E;8$h0vXKiaM12ME9H6*woULAEC=at74pj!~>Dac@=SR<$9YG~V+VCe?5~cLZ(e*VV1;M4IJy zIQnV_|Cm}SN45_aN*he)C&`7Auu{QXqn@;yM6lMW4_X82H%I1s0(jI*18QSb>~OE$ zv-_*uhu2=r;V!l;3|-2W?7tzz`XObbAukVz^UKmR{x8VJieF@7_2HP#SzG4`R6gXh zC6Ln1OkCHYR~UNPhLmm)cs8fX3Pt2`*GqCP<pCs-}+LaEo#T`MVWlc#61X&nR}6_hnOGfa`6fD<2eS9AfT2O(xj z?dZuFs8MlSiOQt97=n`Z|6r(|p%^u;l$tR|$-R4vZ8Xwjghr5nxuN1>Y z9<0}uXDB*|MWJ{M;rFSxIWadL*G>rLG&Nf&tui(Sunw3@`!1tgytGpk=G%tlUU$SF z>^WZSb2RGrD8oDMsC2{-xk?j&oxMB_8q#7w$KKHoAmeSy4~cuCBn=^d+ci ziwwqB%bvo+CIZj}dwFGi5m%%w17FP4W|~DUY0fa@WsNQwz}S9}(egjj*^m4S@BEoO z|F=Kqe>?FB>*KuR?fP6rjfCeMHLO#a<5TeZ;zOvq7G*t>Qbn{}Wt+bti?WLw0BC%o zh*+NQft03s_ENW*vl}!BfK>3uAbb<7#b}(y4Q+8n;;k;$rBjJy6SCH6RkDe4({D^# zycG@Ck~1aBJ16kT(?Z{Invz|IlBA5NjjB>rI;<{ZcrX-;w+0;5@v2n{B5IA%_)*Vo zsTY~%H0@<6lURvcbhtS$n{GK7`8eD(RquIU;ac7!YcR^JiJmxWr7#6ht`k|BR=CT^ z_P$YEOZm{aAB({55~~l7tS~R|29WV4fGm**=AFWxs&=nU_>B`5vK6RfW%b2t5vXiU zBOP=zS?d6Ijw289bok?%+k>^2VXOrXeuQCxCM>=<4McI_i~Yu0K~^V{8W-P6eQAg( z1JTo&e!JQ&sEx<7kq%1CZ#46NX47-TFM7+wAA>tTS%rJ{`|*qD7f5JOp;GRN=_Xuy zMdT-=leTYJXG_WHicwKOM@Wf5uUZbS4N?)A9?6=|@YcvoEWTOrzlYC8wpVRB(rjq1 z{RX8Sl>Rw?U4mE{^6s(F0SEOOh>6>vDIhAS?Ct&bhv!fV$!802tiWYOJTE-IO6NWd zD>ua26zpOvtiU{SgB-7is!f&0jPuAu*o1wJ-sikbL&&IKY`Ik&ib;=rSg|!}r1`Ot zxK?06e||HRsfUX{{V_@0+vc1+$|_(FPBI0CTGe|b#^bJs(Wr7Qg$1qhtxl;i36YG; zuVu|zymCoT5!yGHr6vB*fJW~C*vuz1U~1x{L{!@*r0e3#WjhgudC*f}7Y$h+`r6Py zo~7#eaeeCb{`)-EF3Y}wimDTR+aNzWzbxSg?R(r{{MxuW^}jLd|0I$52l0E4|DUBx zQGZI8KF)WZe9Oy5DhDZbg@BAxs*-p(o~gLu1I!c*9_D~QS#vAp3KX@g)l;wv&e9Ap z!r$8HN7_rLC8ajevl42rD(R7blXh;V4H*uu26H)efyfVWRZtzy{eTM{>k$8z-?JM1iBlZH|2VrWN># zKNg@D16Y?Ig%NhqfZe=2w@{#JBBP|>>5JHyrz^bk$OCwlw9doUC}=`eKa#CF!L`IQ z1#QNAgdcuVbrXpG)0g;v1?+#toWGh#)rSbLz@U2#O>%3RWfV>B#0}liD#S|f)YqTb zU)^KTts@7>s$EK%a4(I1tRn{;%BedaWhQ1pj}zt zu1nZHStQ@P>mKkC3K|JjNo~~rp77+cs8JmmOgfQp{^TRlsX}9RwvT!+P#Zc%DF#yH z+w#0G) zOch3G64FFElqx_{uFK$oy~F`o#~pbZB`bT5w~uSMIUV|;mU>p6lBt9^F^ zg4ZnBH^l<2EuXsJoOZ%SauXk#2PMd5=X*07g$GQ*xOvMq0qz)ZC_v!paJ6)-Z%&7{ z=m9dzRHuyM7-h7c-BK1V?;$NJV9ECl2A&tUb-nx_2`2wI_n@I)vupxC-O!OMc3(VL z-IMOzs1%)0S={X5*7(y;+HPx44lYlDpW{MO#?05!kfm z!eZZy04_8PpeuX4+8=r7S`zJyMmZ*^@H|UK`CR)382@a%4NBzdS>I@wGO`N!u+SCONa~_!A}py2TCi}zzI=EkWV;S^O-dUTebZd| z-!L+NUG2Z${`01|-?62s^IX2o4~wE%)6xo`aTb@p00c?L6bSocDek#q51CsF1e+UwS4K1QZUs2|bQO(dcj8Wb{OpZS?s5r?q)29Tv zk=fn4-N@B^qcqV`Um?Uh#9&GC!@i69T<ns8*o!mGkeU<= z>lY8?P8k>4x@{>PJ*wbx;oHoo|7ZUE4cj|CepjP&=Mh2M8=hcuxI5fl!n7c!Q0mns zDP2t>(}e46>=oq_%I(lkwoNa<#TP~!FC2+^0<33fMkv?I5yFgorq8pK^c|39S)v^f zk5zSsPyq_;cRaiR2a2^%W_3L~$jT3f9@X4KP;U~P95?^=Q91H0Jn#n-O9+P<+v9Cn zNb+MkR#DX#RiH3}rP^VvV>+@SLevyWvobpvGu3~slrB!DY}{{+PmzZcYh0Fpuh>UG zwd*$NO-ccJF#z7j!8NCf2lO=F;5JfosUv2C{+MLxNqk$KxD;pWb?4_mA;&H}_V}Uu zT-h33(`Gsdt94wh^HLI`dw-vXV~(nyB^VOCcykpLdveq=pitX233~VX{)HN&*@CY$ zZbuZ}d55s~n70Bc@vPZkGQ(v)HUxt9osexjdLuPAI&bn^a;gG5vA_J>#d8fe?nNJd2%dyQr6A#=9;+E zGw9j$fS>Hi$-#E+tbDQvWoQ5W!3zO<;L*WkGOj~jBs>ZB{CIRDo9TbxYf06`=04|!<(!m(e$TwBs#ziqt^t6&@vCp%W+$Z&Nq66 z4XXPcT$OYMH#{2zi@tR<`4-6?Sajb3Y4^>-IM<#u8WzR)CRandEndjBrM*Mox0_bz z8s7GUkUSzT@?z1vyi`@{rM1WC8K!Lk)T#F>YAi*!`i76oJ;7Zp$YzE*4(^ZdOQv*H zPcwY+zs)sVvz3|Y%w$~YOw@WGGFsCC8EdiU?BJ_*J}+vQD2Ll*tV#qPmaL3T?1oR- z)k1eAztb@eMHhj;D7_NgPX#P^bpHDQ{qGtNb8^3E#c1o}qVx7sbmx!FS>BJ^DkV|x z-dldv!w&As>b!>l=v3@+K8Vb?D)40UNH6v@v%2F89f(CdX^(N>qlJ=eY>na!pa7t$ zOu{XuY8IRDq45SDUS9X{NZ*(8Yx#Wo4Ek#tqWIs$7@FA-SH%@>)kqzoWC_f>2b&L7Cs8|c$a()5>UsxiJp`FBl~W_URon4a&Upe9X>s2(=Q8h4+MY0n$gF#nq9e zrDl9C-XYBDsYCCs2G(09oH#{z2c>zX1GsyDn%&y2rdFP5>4%jQ4`r)rirsS2zPb6c zjhR`NEi#9_1HzXTotheB4}C1PYtk6`SDn)}f<2s11Rlv%*VhyG0z(z@NbjLp2md5j z{*Jo;-N9e{MCT(5oxDH2>Al}vh>Ol)3v)-(n}OtOT6NP5nvF_d=IX?)YZdv`_cQWd zg_$*e#6eDof@_k5O{GrzRl;e{=%LDqaMsNj3N=aFm2 zTU0q!;!M3zSI?z1{lnxS%HuU%GN*;_W-`WdZCXU9VUbca;Mr<=U!3FmL0Q7wW;fjA ziw9{}_{K^szm=EKfoqf8Q)p|z`zB1QHLSIv0_?O9)4;ekyW+aB&Q~=Nyg3gJMS2L~ zI_W-#6Xf-uzS%(RCsX$LiAe7PsWbo9a=3>VaiHLn``?4;Mz?6n05qJH!9p5(~$q!!(29q zIU1R>-BQJ&*f*~2xA&aq@ruS3RFS5}iXG+7lVN%wY(Ujtg+ze3^N_BHiD$(*j-g>& z-%q*eIuzt(OycO*8^YVKtYuMlWg2>gRO7{Vwz$Q&xEdv_KYG7Xi|^?qn**`R z*JRNfK>H@JSv=VNd4tcS9ub7v#JRDUIq`n9@sRaW>Vn}roh&7yGs>=Yt@}{$n3$*awC!* zU}yULfSS8FseQjIb#tWL`-ja?#n|~hlVAa`rA`xj%G_h?*b~N7I^maf6!&5#CDG7)N-xQCHPHU{im#JIhj%5eE%42wFoBjlsUVh#) zJG`1tDo6pujq;2B12e(a!$L|96NG~YMMaN5ViS|;%*a8RisnR{HeLvXt2QiP08F;0 zbm~Q>0*R|THjIL;mQs*#-!gM_FU8spv(B;Vsa`>!PTE?e4%oq}(+G@{hM0*4?-I+R zajXgMfO)5tKB^BQH^>I`E6_x(a**5#5^k(!2VUXMs$XvE)-j{NzJe&M*dSf_8;*5g zn=?TLF4gNBI(}@1?q0f&W5LKYU<-}`rC$T_y;UbaymX2-9l&vd^j0d5 zlnBwq3X<05etO)^OQwLXxwrebM*H5A<9ZFgDKl$Y`klJ88jYtS6x1v8Sak0&d^-hR zyeUqez4AgbBBL)PKhUQ`8-@2|=$kFP?7jq2hTlGzbeAs&!UzI0%ar2JqH{W9%HLx3 zbe+ZQvS%A*n`q`c;f?>P^dYG3SG~>?xO4a1|DF};gKEMGc?ceMkRp=bn$wie^+{_A z5S1&@YvrG-pyh`4Z{bdf`l@?z&BZHwaLIUw;S~HfS<>r{6uOZZubx zX*@Bg&!cU3S=3Zd)D9bBzt)z$xI~|J0Gc7>)|RL&2K2r_U%Na@j=~*eb6gYY(9Tzp zD0+c4?tdRwZn=gl7Of(3h6*mb>KryyHKOAl0K#|zavr|2Fiw4DKImj!(!ovtRBJ=c zm+QN(aot=pdF(ZeBhiWo$}}lpwh@;)>6j!(zpB)(mYw$=vKzH10on7d5n}*(>ifPc z2A`F`0uI4AEzMBvhV%7CZn;t5piWO}WmEAAM50UQQ={Y+h!}&TeoL*Tv3 z@#2D>#XTKvdyNmBe-?uO7HQ1o{nk(X0S13+w9Xy=3KxCPPR^?9PcQRXXa@3r9OiV| zD5%Wm=Ha+ke(sIvf$&)#0h6ts^<0t&z_u8}xs*6hHAH2f;XRsW1|=6zM(Y@^%Spdd zN^(L~@5CI3xEv4!hjD=RL(?J^X&!Q#r+%VCPB|~$cEoZ|(ep{VZyOD!B(mi6e_I1h zYF;clEBp|*C}(LK$G%k}epl}^R!z}pCAXc+ewO%_f+aMoqr|>P{fB+1PX9amazJoJ z&xgTPOk+t!Ss0S(a^fbh$R}F7AnQmv1UG+x7vAUova)Yi4JJEuY9vyf=*bzPd6QdP zBnr~xlnmG1Lp1K?WVJ9aAQ0}9Jp#-6=-Wv%{r41AiYgGu`Z5THabD@F#~~tplBSGa zE{FHT@TDqycdKmX&;uOFUSNXZquWg@D(0|L*XYiBk%3>%2IZDCsRp<&>X`dKy=0mbtvF(L)?eZ2m!oJ>_Mj;jGiCiL_QoV8!wy{r-0VG@u-f3(K)~ z-M;hw%E1pd0p!IdoMsY!MQ(2(LkQgmPoc=fWNv+N>jsyS#0;?BM$3}b>a9`&b&e^b72Z=dtpGt)7 z8TN~~kY?8v<-;`lv#>w>VLO43LKLT;?*sG35v69wPY*L9H9ypcuhD`jh_Ek2YH9>o zrZzLiXTTBj7N6)w9Y~^FZCt8@dNT1%_Zs4VWTxZ?M)3IyX&VVk<@#Ta6xW9JPB~!$ zHwVnwUFleaF6V0tdz>r2agKdlQt)5cy5apf85d9c4sK7?B|+0b#c--c>R$}_bY3c| zKRB|Xd)iS}IuY&6S1*}ZE{esp`KGxPwppH zkdr^^;Wzay<4$&b-&f3Y*Q}4z`5Q2p3qK+NiGQ3b*BGR{wMByS!6JKS=iuxw_$;nG>+=~cOIP|Fr=piTx%-^XpT zSg=9a)caD0%lbl@vdnLMx>Y?SCf#M%a7~4!>{G*{pq*K3H=o9wRa89km5kwiP^C1F z@IxPGXGIZujn!Vj>Gy^1inN< zalsi76RFyYYk6BOJsbpJrHR<))PGf_nD#JiZhb8qWlcCaTOJ%xiVNE*StQ~>!HD{( zSMV_jElY$E)brj@((g)2Z2_Y>S}a{9QBIK?aQ&B(5X_=6YzZ#KuT zeI%+KH%_`@u2|9T4c#M393E+`_`>lzlqi_iok2693|SFRW8^P~U!E>WpbG?dF{pVw z>lwkMuF>0BYl9O=u~&NvwlZIz23E3OVy(8p-Zj>X^?hptFyV8(@@izyp^MN1Vr@Wk;O)IqOGl_eX@9>lGs(GD5y>pST!v>tO_ z=@rfMSL_V~nDN!Pz^ zOz+{`3)5f6=nDky*DE zSgImAW&MwYQXsi+6s{<4E1=5Env>EXF@)vyK=sx&V_P9b4TB|O&WfOL&lDK}TH{?K zY7l3-zMhMD=TLfivU-yaKPSZ_lfK90ZN+5`ii`?3P?YN^ff(ZnFlW;EJ%P(!(dK#a zT;n0UZJY*@fo0&LP_OTr!@{t+)VV_e$}v_~X4XPhEucNdOH7yPwh)h(CRx$L(1|`+ z>Z%4Rw5>P0Ea@ig-^NTKuzVz?!mSgL_{3(@>^$xfH{tW zl|>Jv1N$e|a!FUFa9@10-L0QEx;efEALS?|-%@foMDU;YXbAq?hq%SM)y;CI z?IkB8@7P51KpYocDkcaw`5 zhu^93?=7%@eHcXbt3gB2xiccaVbw7v|5R((n42{~%ca^(x^0dE-ohCz9h{h)!1<=3 zEM7KWb6o5(CZhd#f|5BhY9jRx`^`^Fg>Cq}Q>DeJ_YCLpx2tc3^v*sjDN{Jxr9);4 zXykh$YYzRZ@2b{Y#$i1q7v?WtnK3k%ua64Am&D(?G2sK| zFgotW)zCU~7O3`&FDVUfUsyz=J30?>{l4Tsy6N0|P4_zKKKL(WA7<~ed%D(6r!#Q@ zkyPGLq9?{jFlvH+`{XAap9xw2UHtgBgAM2Jeue6U!?C9GueUvrm+dbN>JR2|%WGwp zPsAEf7jeI3<(4I!5lP8p#RFw50~po$lfFF~1lE>w-ntdd>ZF_HZYGDPH~%tu0#LI(JrkbK zETQzgqL3?*%CC{QAcK06j$!?)5+FOW5^G2c#?O*Xa5^0=r3huc9`zX>2$Pc2m$<9= zNzp{XTj?7{g)DS<;N8^j;5Aku;+Tqz#+CixWq20zS7?pD|BdIKHC`@>bbMDjw#V;+hq+ zRlrO&L6j5brnGkc%Z)}^=S<&>fx_FPRh!QYBl47Ttf)8oXRh_$mZbU5W6FcSVoLek z8EyYIJcpAlai|9W(z}M_)5^V=9#ZvIY{4`2 zPz{xo>z;`(CTf37tBhy4y9pQXw>9aCq3h)g+92{5(H`1^*teF)i@G!MBLZ0C5LO)+ zSO%C7*n9ZRTyWJQiXU??<#bZPo`Ov!snR_>z?u?F+aq8)c60T%_#L%c1iwd@Zd9Lm z$}p=Dh0P{`2Q;apnPOtlptXj3h+gHvdzFPnatsZP57tbbMy&|_y_Yey=iaOFhWfZK zn(7Iw&7nnalZ8xJP*yEnvq)~j^EPAJ2$G_p8@2!?7TRb#&V!b!%9DPd;kEM?Rm;Io z{&l|o6Z8d2eW8=1a#e>hmqIrmG^no6%dB~|3G?*vj|q)ALUQ{l7F4tzW?N6nDe+b@ z{R`Inw-@~9L;2sOWYqbtbf@2O-_G;2(A)8q>+ST4Q{=Zf4)N93=|R>!LdrfeFQHC7 zwlAcmn;P`leZ=|ia5x%jNoNpFJSBVB6c0uMYe1sradfXv^0oY6)R5flc&*0Oa{D?J zc1t^11;(9wG5oP{CRB#PF~_F(gu%sln*xn)3~UDMpdE@-;q}9WA0iPzKk322i{U({ z61$B?2^U~54G%bsH5Vxp$l-h1tIk6On|v@VYh}0LLQCkD5XC+a+xC*$#$q+z;5RmzU4? z9d&$S=Cxvcg~-`L`#)u+xX)Ow{qo)Fkw3fGf>M;Hqw0UG<_&bDzuZhULQ%&_260k; zwF>YnIeAfAFbKTzX>Lkj@)3W8ec3kve@c-ZAWKmTM44p9Dd$Zx4~j+voDMt56Vy^( zNRvxs>+?J-7HK)2yujScSdgIQF^r*PG*rD+(~?P}a^0Ez8n(>2XH6z-bzzd zeUwNW?KFIvG7zl=8(u`@c zgb_MXv>ORf?buRJ9=MW=i25TW*V-stsu95F$}<8?--L;(h5HLiGra~A z(N#h>RI_y-Ri<2QQ+f6;(S!6l?e8JL|9RJ+(fmGT(u>6#a+YZ@Uk-G(cO0u)u&;~K zHD70NS7HLkro9q7g?gjC^7i23+p5hxl%YB^A@xAtQ$JZrQ+UsMv=xU423#-FvX^1@ zoy~`4H<3^sVw*!K5Ebh%A+nAt)+l}}be}|J^2bLmay(JW^fn1ZNzXHwHj$a?6X^P<=JBhs2? z7^yLsoyDb8o6%H7$$ z4B;jBV3%?ser4Tbb`B@fYZhSZ^hE67mdEY>llA?ftwWclbCD|es7w1!+iSnnd%1C2 zg$J$J)2%AgcPD;U1ShXWFduIo%*|nWmlH>)T~54ksRuz3B|1<*M>4M6x;!2RLc=AG zz_D1DiftL}!Kp7oWVYh!&#obgrENICuWJQ?O6D=VY4Y4!K&AVuAYLkzA=-7ty##8k1?1ny}a0gYm5% zg085ZP-Ny?RgCpH6F>Q6BFQsHM)@(<2eQsBk4_tl`H!fq#bP9dtq|RVBJ9MXn?I87xsEv@v5 z8SYb)3W_R-{Bg^ga&-X zhTanKGGQ!eEJclBM~MWkRcXBK{&d@%*H)lINRRXjVn>;>LAC*_=T@PcF^ApH2jD(5 zH;Qwk)oQ+Gg~{#(#9FVjG03O;x-7*qfmq&zJJSLWlbj*&qWOis-#*9cC8<2i@NTv##Q5#6`U^c znBAU>Fnl~tpOQI!LqpUd_FW1qwbGr01Yu!SRZ-J%*Zoz$N}`G$iHUBfRyxN@T&Xxo z4Dz~V%a!1Fg@SihaRo+g7SJ(lWi2- zYmbj_k~JJI(q?}!X=z&xBcd(w?ksoypGoZ(qw!Y{;8)Ff-v8mxAtu(XoX!K->|LaO zvSGL6P4;&$8G9XpAK5dU0J;>JZlp&VkSAI-rb$Gm>`8J|5cH-#`o3EXEJ?H;aUu;Z zTh{_uP2@W24+Oste)Rpl%<9@o+|;96Gs;Aa_=P8%=yFYELSuZt4oxEoll`(1`qUv$>`4E6IW-9 z^_*c-D_e|P)?~lV`+vpFfBrz7&VN!a5YzT;_SAKGQf@O+F8VI-jE_11j(F9of5 zTD?>%oF6Ik%o*oq47@7s$pId|FD@k>4{ZnwVc=U7ExvR|;7Uc@tib@W&{fNZGN)G7 z&u5TCXepX}j1Ig-Ot5}X`6e&tF=W*aChD4rc}%z&LB_Q6kglt3@8PKGCx!7E3DtRN zeYIAt$0th)>`oGAy2y_MJ0b=sSLUYu3Fh&Gt0tGYNl!@5lK*Ac=J#mvZZf`EB4%KqkGndsDWzkZ^434jD@7Qa*cb_66)8CpD?o6&|W<$&a^S0E6UK5}VQ5ki(#l4WqAwN^v zqsXQ3S*yl8wXVfl`-TDt<7*_X#MU=n`ua=i|Ksed22=gc`X-@P;6+`r!6&YQp9z1Moy zTFMj$+Ed=czwzLF0$hv9P`iU`M9Z4<1z-!XiveRz7;mbo;0$=2_K`z-P2>G$6$`0l{St# zsV}#=RvnK@qj-(R-kdTzjAp)*Ed$n*>in87-Djh6uj!5q<5;ylJTP(hQd49Pg%2Go zmLJXE55{|Jv-+5a>;fneTmP#vC>78qY^nPL=tgH!yRzoO_JIFWYGSawTzJW`bI#l>q0(N0n~(ki#0O#c(T;wMOV0SUJ#ySY^mw zb-<~yJjN!$ci2-(&4l+BO;uK;C+f`dQZqAsvpBMoHf2SdFhXSU$Ce3l*2B|7cUyAg zK%Mo4I|m#T`|r=TGR+GUJ8MhbkzBAUY;#BNbHa?{loZT1FeJQuc{ zhk$Xc%Z+<=FGS@gS(c^C3YYaq1s`_6vn{87xT$x3swA~r4An@C7L0Q!8x1=)H+)bD*4c@+tWn7dGi(d`;+MpT|KqM|9Xx+{P8&R$`_f}~ z^v8TJ&u$2Tk%rP`(5qvyt*DWtZr=V7SFufP)~%Y#yKD(ENjqxbBS(4cG55kdpfK?_ zPr=(gBG6{|wA`yjdbg7+kyc#lk~ffDH=cW6tAkuUqNnn>cyhdi}^-qbFtsvF{p&6W2+xK zV`*Zy9{aXVNz?;hhW~WgX2Wvvs^!|p7wZcj~*&}2}8b!A~?rnl%M3@jJ z&@?x>#q!mP8tNQ50x2tAQlk%)HZnEX*MT*d*2NRJwHY>(38(slOSx^q5zYF?u*B<0 zO`?mn?x1l&i#RE3wZBaqqxZ-_0iR}1evQ@hY?=zoJ`{JWg>iW_iU^ag1AQDmM3Epk zVgf6m&Nnk)U<@1I+zrRPHYi@h-{t<2%GT5ZIyy_ajy)FLlrBTaue$g{Dcv>^y#P{eH~O5y7~{ zKyKJS2>bsS=*SZPfwPeeSF58Jn}h3|eGw)MdOb^s~=gX?Bji-Q)6wD{Jz-AHIuq+DfA=k_NpBElPZpneP z3DzDHXwg#`?YR7Gr($n(tu2I6{sHaAm(e(qI%A865C^Vr<)n<0zMn5|TIE7CCg1Vn zpc-b&o;aWqrh6ibk@rIE@oXUPn^E|mG>vvofmF zf@8KH{j;PWh(1+&^F8d9->ix=c1Yb6Bl`ZHu0-)}?P~z1QzN6*XWX~R zBrH5Pb7m|P}oxp506XKPz}eQg5PLtR%)+;97|9r z#>n08ct+p{3ep`CQ9`WFm4lRUcY^_WrwY_-&7aSSBD{`|tX2>1GcWC3jBg~Zwp$P< zuV+s7*9~)TX>(bMNmBX3y1g#i-R?L+n6?AQ2v?CipC3#TYdcq&9HoNwUkzc<&2EW*L&hyXIB2>7TLrG8QxDd6~z3(CkoVv}nOp z_x=j9;Vx+)4Ro4M9oI(92UHrDlA8+Q&t=@L=N6c=tcD_+ey{Dx2R{uvzbIgDv{S#9G;~>%5Wa_%1I~c z$ycw6%cl2f-{sMfYKrsxnf)$}T#V4y0aK=~IOsZXNhqm&^-CYpj86v3Xu`grtT+7Y-s9WH z{3=300}(p-Ak;CS07#Qm~t zlc?-}I9iwR4EpW3#h@}oQD0K@0{i=2cW#gSV+4oayY<)Kcb2D`uM8YaZCn&Skn5)n zo0;x-T`ML0vP zDdZvG9tOY<2l=wl4yKok#EBE}F`k@#$|Q;gtBxm=t-YTgDp)E^`dafL-sR9!petpj zB0(}a4=5bS@Z4!*lw*^uc5^iA`!s1MJhGrfqZ>~|L9TYKw5;WsK~G2Yr34h{5-mZ zed=Ft@~k6w@E@7PGkkA$CfAjqTe?@*~xo$r8C6R({?QQJm=D5*ZU&y z=YEV|i>}pVk3_eamvu&=)7gkviI-q+%yH=i!^Cxw;G4u%PwMd&n1pl%5=wDKxADMc z3ETU)y=;HFd48jUG|NwPq&%lnV#5vLu~;FOnFZT&qN`qdK^E1v<6JIdtbe1gbeA>QKL;}>HQK$lL_w1f&Th#HF z@F|-qa456RhU1~8zMzkEMbI`|D0re5xr>E---B&2u*F5D&0_-YCmb(QeJboIB8}t5 z%=36idr9#eHBf;JM>xez<(aJ&X1=ncWLzt2&U+1Z$*5a#5BAk&zHCyOYkV{#Z>c08 zEIw<&Xu>Y62j)LTgVMF-z#2-;BX8sQe(2J(dR_wm~q?{u(NcO)O=We;sr|I$Tm!KR2NpAd;)Cer8wGICIf1?e9wx^O=uNVC(h|2(yUZXHgQ$HxHJ&5pydKjfr07wP`Rb}*KIBJ;-b#nm^Mq-QeOyZ6)jVbQO8LhD$s){T>WYXYqL zu@p=7QfoL}r3=ct8ZLZpse~2pJS;p_he()1K;hK-+rW^S6yVEi*^}#111P^5VRxl} zn15TWfzc(d&8RX2iS=;uW#QZ6TxX5Cd+}*?J9ESfD$gyoDP1#*IG$r^ZxNLx%B+(`V~M=BICUAZqc8m{QT}uX~{A~0Dsrjb>ngkzTsR_TwWhnu94D$)zDy4HNUEQ zWA@hu5ip00_T#Fn$k*Dw+~jpzrX}~5_t9s^q^eZ9l+GGR8o+zqheg75DKMUk z1QGVyW0ewo_aSZ|toM;m+`(Jk-BVfQBUeMf@%lh1uoBOVnljkE; z`((_cD0`C&!I9DtnIL8Ma~@oCXaHxM=Qq6ABg8k!mF3eX*KxsrKB_KsWB;=J?PVt= zrl<43<+3yQk|N^MH`lg{Q;N<@@4ScuVP*H*HJeaxByTcTW4%pI|EURbDyvm7qdz^0 zm6U0!0%&DsmBK6}f29M9rIe7APwKLp^$G$BaF0bG7u#X_9_oNs6ThU)NuQ7~AJYs> zOI&+^pGKI`@LnoPg-kAvf~jN@yQh%Zpv|lzCrTSuO4ZBfbYL?x3DVllb`xZ4vMueo zNig6OT>&}O9p5*#e)$p?QBPxGx$)Ocl^>N#7FN`>(x&*MG)SvnDy$-UKwJmqHkB7` zq`Bqm)01<|U&K+CKU9Tr?93mJ$CK(OfZ|s?jL7x^yA_bCP%5D|oBu57G3KV5pI1Q3|G!-veX|;h}^wq%pbZxg@v>g`~sF95ZU8G|v zn3rH{Nyg+X6UI3uW|CRfIc~QA)Z1hr~>O~ zqa+aw!XN*rSe9qcRgk=@PK#k+b7vhj?(|50C9L4dQf~V#J9>vPR(IWEm}r!pX#~Iz z>C*lVTr;CKiVEXnEr(u1Rn5a9tk!{%;{*HS!c zKI)Tmufag#8ZuQg$=Z^@@u29{$b3Cgb!Zq;Te`pgC2ho#Os#7kiKW4_DSuWe!F89= z6M}8`)(V8$fM=UD%S`Jbf2nDw>E-qt$EmK`S5laXc){)H(XnO} z;|UMDA$NM)q0XGu$RLndj3Ii!(d-VXeVJS<3ZHms6hHAK`y^peiF22ftoW{8A;KDQuWPty8}=KIONS-EIinkof9-r@Ss9cjZa_j7}HfF(^ zZtPYH5|&?Fc=kiVQ=s@O>KbrntMLW4TeT$^@@49nM37WBnUwb8vj@f1um&%W6}UyP zw`B=^-tq98wxhv~TJ*9#9*lQth;5AL*uG`zJS?w$q@3mE>}NInp_4R!-u!;QQ9Flg zd$saRUIdN+FRxOc=UWks^3owFDY&e+l1DHymgi&URW3c@W!p8lV1z)z;Us0S=uY{zO)-5`6d)-Oq!;bT>0rZ z6QD4BFQav9!|my_g3IAb$NVct!N$pgRSey}wUk;cJ1;@;ca7Q^>TxYW`gnW~!=Gi>u%qjw$gYk0NN zaWx~8H`q|L8rUu2AS?HFrCn)d%Ct(!y2)$QtkumNf=Os^#7wmCUshI5O=fAuAKRh}OW|5leUmXy}|3fF86)j=J%H8hZD~ez=6GmM(vRy>S1}3XciL!Rrs=33Gcl@jt-{+ZGch8c zsIN8wjTu8Y&DARKIXpe*I%@XT^x)u}luDHl5HZV{oK8!vQ=Ih96<-eBya*Uko1m*g zE>*W%#!J;7Q0QbbN0k=NWzOYY%!oQIP^s|bkFXo$;BGua88sf{RBN>%J#}`q6z9;z z@-)#l93~8wl0M}kBGxX?<9wvvBk%BMobu(qdHl%c7T5kut%fiK@GCW^SZ}b4(0Ol1 z2mOW5GECSx`c#{MVOb8$L(?b5ujT&^ZqGSVyrda^$?L?@S(5r36)n{(ew)b@<{t0& z4)pK{4NqIY#zL>2!!Tm$6h_K~p?b3*%hE+l(vfOgf{V`Hr4f5whxb=Ve{*}0l&>J! z(FYbjPfpHW?D+Al>Q9HB#8{lbCDP@uA2(#eZ|)Cx7+Q@N3ZX8TXnLfq-@I2_=@X>= z6OR8God3rPL-aNn|F^Bm>0Q3w4LW}|%`dCK+??d|l5PxMRIGjA3kaC~{>_(_#Axx} z?ZRVf$A`>DA+)dGF@3@kEHD-7r`uh47a+po8aU`GS2pJ5Q+sG^c^ z{hDglnNtgx<$!&*4p%Vc7rzE;2Q~(o(35K$ z4feHHu`mIccb=M#Nfa^fl3nH5hq)B)sG}Zx1_U`5bCu_!*t1KKh1`B@c|}l|L9j4G zVy>r@0Zp66QHzK9b~Ch?`vUhuw(?#NC$~aQ-f8@3G$QiLSBj~;hvI59pCL1AQ9R(m z0TD>T36{ACpmZh=Ns?bt!T;_t>eha|wWO}jla#PVsO3m=q&6u#_wKE2stsF(4X#lk zbixMKm6HjoW2e`|Npv=SYm%*`p@psM?#S(+sJT1~2LH)dYZ*^5r|k^fJ(hnr9hd+7 zz>NKLk&FFXY;<(`ng2Q{ASW0Nr;gL{PmEq-q~E@=;SzulghfF?BOdSstv~A=>=m$D~<@rT~$?F`9};R5dOu&8Sp@RPV<7s!~LEe9rVzXPC{#u0ilS((C?O zta~tav0~WT3iF3L66+1>r~tKNLTE16fnZN)(u;s?H`u%PmDXJI#anyR8W4)2{n+zV zarPWJo+iF~sS7C$9lp8qxlbOOMn6)mn&QrmP!F4X`ZJCt z-9R;1W?qlZ;lc_JI;_K07I`fpD_t`=*PW437Pg1Oh_hB$({U9vJuCW8aq9mtg}(%? z7?smT#-4AkVoSc4=hMNGap*G%J?2ZW!LVu21fjosaH2e9+ za|ia6Rcu2Iqi9Awji3VeaTz4nWc$l-s@LCiRFAsd_t8-~Y_6-QnHBYNJPBGd=|7$} zzxJVu_K?`y1=V{grY^J7gU)ykBX2(+7O(Id8jYk*vSx1?+0skiY1pz)ji5bP&A}NwR?k>pfNSIZSu?qDbx$%BmGxf%Pq|eUIXwCw z{q#+&7u+cGE6`avIy%@*uj)SqI^dbZ+n=y4lri}wS_T{wM`dJo8Hl<&G^26Y0Bii~ z^pHBFG>I=RRL-*rLAD_$8omKkE)Qg`*!mfOQXCQi6>1&-G)?XHC`-|5ZBd>t``pai zZ|5G=>^*l;p92xm2{m*XrgvxY?QVIUQsI}5#Wgjc#*^FUU9e@gT9q5BW{`(usXLWH za2Q$FLW8CpdBxuXmi;R~wFjkMxYlPpdRKfxwNmUT6|~PMCBaS2Kc@ypA7VdBp|(ai zf#dQ{{OnX8g*U=$*}lacRQhH_#`Ghnymv9-w?__kd(=>CXSIb#xp~8>*#_Yk=~CQc z5siKY0{?q65&P3jhO2`8=h6kU*tyaUO$AtVm*+}X%CWTio1}xv z4xM&YN%BOPiz6BG^ghTjMzm!Yoj+Ml2rR!4mnpC5ZAazuC|zW%YI*dC6G?t#IN{@G znr-NFdoFL|&RzdK3*t0aTrUpyD&65{&kc9%HO%a4%SD^C(ykhAz(t8n9RnLh^@(?j z>(vte_eS%q>mNp=h53bfMa3`MsTee4429!ntn!daCx4Sdt(F$1f%?CLg;;fTbK{SAJ677i^4YH#{!cKLM0)Jy>k%Lfe?$2Sss}`Q;)^7K=d{=C_R8GfTo&J{&tn=Wn z(7whWETl1iY?}`(iObW+izj-UNLynHgWKm+C^?$1)cF80}9=kTgU|u}wR` zMzm$Q4kT@Rqxi$L2>2kYnTbp!HwEvBqon&w!^cyG3u4Ng>GPpn(Nz3s4}$}K&N-m1Cdp|(=`p(5KUP zHqt2~<>lcAWsk}yQ7yE3wLP0EPMyadJoUz_9sQNs$GqjyL7VGAv#J9l_1>2Q$;qpx zHZoC*4AU-#fzrD$v0$0Ijq`PQ^Z!za`hNpF=F_*%n_Mtr z#jLmUvJ`W@c3pSGGgz;Zt>+;+-vEQklQ5S>r9K6hli=Fq$K^$uAWyBO`>II@@H^7Y zipsTyM5xj)r6%j9)n5)bR86%Hx!K*JEmN1-Ka;)|hDu<&nZY=g`q(zk=sgG^^$%N7 z%?r-M4O(2z0DTgQq*bzt75MP-`7z}nD@qU*2DIV~RjPd(U$jcwQDTMsrRZ7(H@(b1 zQ~b{Ec8i3vSFbSd#is~+y$iA&rK@2RxVJ$A?CK6o^%yNN>GxhY(sfW`4@}3)Jat|O zlAi2yctE-Q0HG93q;gr`392ex{O+W3r!hHTjVk6WK|?3^QJ{6UbYdYkc-%q3hmA>A znUSgDx-LDPO9Jly2+7cCLiVD){llSPHt zY{W?P|Ca;HyEed}&tA>(F*~x))j642fyP179pIwSRY*S2SkxBeS~v^<(j>3s?k+gM z-lF$20+LgNFDe z2}9K3?hB0W_VyCuPI9%g9FKOgHpFmS+bis4<(4H1P3sNq;!IryBw2p$%^OR{DZ;TL z4znZ(A&Fjie>ZN8?|bcDs;Sk>C(!kvPCXZ)seXU3M9eK=n zt!G*Cnm6*Mf)ejdkBPwSV$R$FN#Z;Gd;T0IN_O((lD1G{ahT_0m*K*FMf|q2lL)RQ zMsa?RnR2BNJNa>MpfL?u)*NLSSE`xGByX7f33TO->eH)k*oyJg_Z?CFR=Fv^F>@oLqZGJZBC*kE|I&kfc2z!F?{Z|u>hmf^)$PPk zX3OT2ElcB}2hAs75%pA0ErKulbK~uFSDN5r!tt2dw_Iu4Q+l5jz$(k)8+uD6PV|u- z=Q<3=RV}3f{5K;8?N2#zNh9(4_Xp~xk^|ckq}7jopUu%Dl3qJi?j2HmefOU!9v{3Otil0g<9HciGhC`3IDBt z{*RcM;lb}kMahKVYc0$tPnkSBn;)rg%_KU`?9`N08+c&`u402zV4-qJ`PK%%9z%lv zX1{V=u3kml>Zn{z`WF(L7?qxm@Z2ftIk(rUOdZ@f1=w(%7!Zt*@B%I0VNac%w z3k-JP+xCpST(3GI!ZAj4>Lpic9g(_oF`nnjWxijkv<1QfEmVloyG$x_Du(-54pIVi zqp}{wYmnrKM)>3#h_38cgJ^r?ydrC#OkPhOsDn;59Z32;iQhbGCNUz7n!ACbnRz8k zLJ%32O~H9OlDQZ}f$P%UOd}gb#z*_ZrT9DLZd?rovn=2-oj5_kInqq*khCrw6v!f| zF+SK%nw2*otE!BtS(#M53rUfb3db>ng>?wi)YiLSq;36>XB8&vgjVou z*XDkc6W*6@4p4J{mFbZ4B!cV7!!Q2OK0U>acY=HxT2V-?>vs^;2U-Z-i2C&gunmP| zRa4gxVYI${QYnYwn}RVuDBXvBQ1)lEVTMR2k)Oe^aElrYqN^N8aJH2XBGng`?-K}| ze>GN-3*3(+x$dFu)jsUu# z5sFD-=^S(H*?ZA1Hr5z1wy*gVHCPvOb(Vdj&P1h1OusWWw8?UJKdqcK2Oqnc^C4LM zMuIH`h-#PG9<)T}_;7w%mWX*(&VyzU;InP`>xuujwt;!}XO?IXd|hQR7%0QC*;j&i z6|LcRj{}$#JHF&(4;{5(8GMpd1n@#VQwd#C|P^pdEyH3?P6*nsm|iyrx_F*zh~aH`zxhgPL0?)ZD^)EdG|O;iwiuhu=G!T00WmKyalRxyIgw6#n z=AnPhty5j`7XKGClko2})4o*DSvsb1dvnbV6ryXUB$0Y=(yf9Ihn(D$N%@ zRXP{v!;YBi%G|F{kQ;H=sWF#p#*c#x71||iBi+ER5_(N&^6IfVG;Nj9=}vHG`8r3gNiTo{6pN1j z;YjpsoCHD#e}zh=t;dclax`r;VG%7TV>{zCa}U;|=}lWD5wsw^EmdWlVJKik6@3X) zwkNITpraa%sgJRFZ@$V={&d9CR#tAON&|*CK$K}oXw*ZB78j={_@LCQ(bj}C1J-8C z9YI7r!QXuSe(s>u`t{%~hHpf8rKVd5e!Nu8;pvL-RrwaX5270NtCnJ^*%w6hR^lh_ z&~PX5i0_M0n8w8AZ3d{B1yx`*n|;_a*XcI}ZF22E4FSTge?w>58|j|UQ?b|E}lw)SZ@{b8xY3W^kB++wB%E#cf2Kw-U0 z3nc5M?ss*7+fSK1beQ8xvJ8|X)|_j8Pyo>E5)>HAg$<--N<3@@JOTE}l~jhqXO4*U z-C&Msey4N0c_|HYJgp*ms?Pg4?i5J?uS(#oIW9haODKx=Dri7Nik z^X|txmZ7Y+u}OG8Xa}|ViH{j;U5xOe33{5xKU?=5>GrP_*QEo-@WDc;pbhFIl`X{c z{bxzbs+20^KGH9gwl4J2dwT&k{j2qwzHjE5(7W!{gqeETNic&q8y$MbevS8;8*5bv z?l}L6&HvU@-K2vb|E%=7TxVepS~_z^flWeAw?2sy44C!nv9oC=wZQkBR-djy*fv|L zEQD5~UN7k4@<0UyHucBlncs|lIeBmsv(|9Cojh_=(U(iv+sGtPFq4Rl>yw@xTx2HU z@*Ql^C{odX6B#$IeJTCLn6SH{@m2CLtxDn+VTqYZltfm>DH=rnF;IOi3M)e55!N}_ zrbO>%JV~Iq!FZufjv{ks?}AP0G!6rKYnklXl?m%dMonfJW_xBO?T6UD%Vj|u=AS?Z z%AWo^XYEOOjv6ZWeBgn)Z!WGRJMCo)UbEfKabX5+$kvLgns?pVKay)nNVmG0H7M&& z_^=N`t{9OFoSlR+XXbs*=*Zh09E z-R}&qmAX#-kWc--(J_wdW1aqXq*oZ}F7_Lf*7LNQXC7vswu{s>a`Q~zFQgdvo*Yz| zLx1t#%`fU9`VYJD&oR~S9AW$}rZLxXanOX6g!r{~Hhl(8|BGt}+QgT7-dd|nhdtz2 zKW&MSKMs7?OD==!LuHln3ZzeH0=213W(+wb1=Cm|I*z7ln8Y9nL#FeJUH&sC!|o)3 zoY72!5$w*!11aot)J)}Z#ECcSC(rN2a~R&8?YQ8d7rQ^6y;r&!nE4Iu@x(ipcl}y2 zsE5MZ3`RIDW`lWaztptXY%sb_2Z^ztVGEKi53*xbzcSCyp_L4(8s(!NNd*)S-)=}; zix3$)vyt@Cy_qT4BUA1I%TI5poIa%8Xl$tT)8CMXOuMKpd;JQW@<=eNfM|reI^?u? z#$PWTBD$L~bj!n-wOPczTVMjR4{a=YMa{qHgL$5|Fd>HB`1TDX&@D>vTboknwEg9; zi}5EFHAA#66?p?2!cYF7obp&i{!u{0Sp8`gYYv@%=t3|JZ^ao_Iv=iJq`xf_{$AYW z#|#EvoSzEE!}z2lK*BFK;&Jes4`@YwxKj&2tZKG+_iQKA!kC}Dyfdw5m8(ld>vhx3 zO9N?F!K-3Y&({ks|3Iry_W&UxDO*=*ZS$Q|vAAGFrsvfS^J!F0oY&t%^+azDthmi!T7>z$1}dwk!7WNqo`Bxa#BgcSIlFOb7g0%ueoPNRhja2%Ui$ zgJnTBt?JCes&++K&L?ga*OtiM6+`(&V7SP`dB)cTt}-3|ZNgcfS}1aueRuU*Dala3 zdfbMXp}HLc9(+D>j=mKxhI=~93aBDWBbiQItxJS zxq6=ulx?rZo*CW+6(ju0ec7^{0O#q4VsBg5B%aH($64eSm~iBSu^-`c9bfkZODFEG z85V^k)R-PxJXnA|s@kq&CBZM2eWDF?;%#JOg z=KhN+?+qEE@ONg4vPbvIQ?X!Q4b+0-Sz@EGQEM%MQ?W`r|T@h8F>8TXfB6_!?()G zY(!5z52j6MdyLFsk5j!k>;5oM7o9l)vnS}}RU2tHxJj6K(SA|aRv5{9ftOdhCe~8i zscm!H@p?2Fle-dkCHCovE7!y`ja!)H2Yv=QQ)9~{cbWW+>bsfd^_v{(ujl@+{>R%N za@mOf9iz7y2QL2L$#Z%!*THCppi1f>ZNqM9clv3Wo-eUxL3o?p}L`t8m>_VVJKpq#wRnuzS z3l@j~q2M+CRE=i^zuw@85d+zFN%M1B2uEkuchie6n7DmG2SP#?dPMgrx9I7TP~bAD;vk^hvKNZH$BDLBXbqI zw2r$18>ijfSW*5UP%Ux~ji!**`MwKY#oyfNun! z$zH18WZEu_cY&Ig4r*Nov$Ys?-P?>ev~9jewFypI4_(zqnlKfMim=Z z3^5`KsAa8Kd%+N~!MyQ(V}y%8+1I#`>7yBb#TpRi6{^+Xrk+@vqXtcnl1;W$4gV3K z#d;!mN~?83gG(3ns=tWWUuK9ZO6KJ)hFYG7MoZ1{771wn8p3xmCICXwOY0r6N`62b3GCT z>)pQ11Oe9N@;iu9aV(|lPv$3zt;>q4s}rJeD_L^e59C9S(|G|s<5kV)DC)QXi*1Bp zekWs;6!!+HE}iQ9Ufwp&`q>+kv(0<1U z_!%CFiz9M>1_h^?Pvcqu7d_v^0raL~@j}GEv%p@5*6X^_+u-`w6=fQn#QWH-(SjxQ zL};urF#73tNX@cA9Og1PWm$mX7~0KF&%3^AB5H%5g3~WO)JI)uS)?lkxS|~isc=1b zJ(uMvZQZtP;?!4-wAT2dt*j6gw5*F9GKPjujS2JX@mi7&h!eEK_^tMe z2GIs1Stq5IYVX_bT8x%G`YsZj;QLbuuu&}4`Tpck-0+d8try0Bv$v!}Ti1#7dxkhBd zQxl_xUtT$Djh-}}6(lgEyE{PWJ=W`xd#nt58!$Hq5>K|E1?JuImmm@(2#vB0pSC7zU5HSy&^eEdcf6^Axc1U98(aux=*k8Zywp z5j|Zx`qRG+TfSstwr5;A;tVPBBWi)NXnmk&3fbfpGu=yM4RSZ=jFH$g*K76U*#Jl} zyZfC~usj8x4<_U#D@Oiss93JQPdkrfuby^Zc(OMJz6f2ORz_78=L)q&dT*cCJxE%V z5ui`n4EIp99%L}-E}q9Yw|meIPK3J9QH=y$Cla9Tbs)!zGtDwFBSNEA*-31pz6T&L8(3&Y$wx(MZWRh~q#m=iP3o?x@|zsI6>e^axG z|07!c4X%S%@_4B+H~*ozfp3f(@$YT~BmRAvHTiEm5nV5T&;fd7`|_9^bCnu0v<3h~ZpEjY2x3nF_>g^BCU)>+&?WXZiQ-CNnPm0vb|{ z-`5ydjVg}7%mi>Sx5~wFM-oj_Uq>|%%s)l zCScCCL)acABFi}ied`ai@Zp(4VdZ{>Q7|#qZEN`v<<3({D0Sq< z2EvU>H30bi-ec_VWJM~TeCP>!0HS=*aIy#1&JPXsbvC7#;#ZGBlHnSm?mj5g0hU|# zi9CJ$h>1i;F5l(2lsYr%OLJO{b2fy-x)C6-#jp?AGwK!Ec9KuU5BVACX8YA1_CYE3 z%P8wfM+K};m4(izGnp1fItSnsPkXa9&q!8A<|}?AzO!4Jz5UK(BoG2AIPn;1cd~}M zk`!^@^gU+BLFYmkY#@4c{qu~X6o8Y{>yO7O(A)uMgh(!aq1NF{73avkEftw9Th`P$ zx9iX_LItimtpcf@8T|g6yB;0831*kZ$Cd{1g1A@B=1;dIaG#`z615S(a8h*i(D1OR ze+KvE;-e8!dw>6j>2?K5I!2ON%oK01 zpj=aWcb+9a4U?$TjbLNSDldG6KV=8kd{4)=_bu)C5`Ht7QL_yo-;fk2l6sQ+C`3-Z zgwb3(nGlqkCc4B3tLoiAx5vxkb~nmp`0bK%&6REK!Z?$Zu77sueFM>!;+>~O1q=lx z4lAiE779E;+@2%d%$UtPf2c#C^zxbd*j9zXxg zjPd}~J|@qlE30==U=3l7ns~qGf?J4BE)eMuJOXdYQ?%F!X8VSRbSEyiPTx~ij$l#+ zmz9>gOR8dqWbB}?5?^FX#@>N6xCeqPbGwbwlO(6UC?xh&=oSBJBh>Q0VWwH@9-b}V z=Ug^T*NDnzQwWO3ssixDNJ}NdH`C2dAhmZ=kS4;a&`>rl^>;w|cCN-(fo~V*57rJ| z8N)PoFA%riJ!DF0Rv`UQqC7koud-A?Um_vgE2+$^QT$VYL+<^Vr^dL!E=GmGc8&em zftZl(g`(k4u+j-9sZ`%m6qf@DDz#fkWucfewm1wm_rfXkMbg3$bIyS;OFbjgicb(I z(7;_tXOp&Q%XFIR6TQlK?Xn3{QvGo@4Nq;jNVnRlbMa#zF4!Fl)gXDdi^tfUvEo4( zQ5B@*3qoz~ymdzk&hdn6g&JwFoExczxqwa06W!0{(kYMI4eS)C2&P;}!SP4_#>-Pm zSzKst&vr`KNGJFZeIlaj2R(nA?6~dCnz5_}b_>$y)qyV5U4!MOdvgYUw$A-{xCheO zrn1!L+SEv|8BacUd4oHP6FoC}B;99`gHdc9WSu6n|Nq;SC!N;`6X~9(^*T2_Vi#u3NUiFFIuJh37dCP zg361sjiv#5{%vgYx)>jOA8FF%q}%@GonBWgcr)jnJ$vSy zZ{~aV`A4oRzw)r2XRW)fQ|;jE>Ri@kBzZUkfRZ~nAP{mmc$puiwcuKO_})vL#GWdI zIjO~|#9MCEUI6Tcdr}(l{p0)F{oQ?j%#HN9lSxdeo6F~80@_v*G1rGJkz0}ibP$1c zN0TP?FacVH^KIiG2i?fXJLuR;VK!`g$#KO41-9*ye(!;U$m)~yy_7(C$BVbKuN$`| zx81)rJD0qWbld#p2;-1%!ya13Bn%xLzI{)R>;Iw>oV%{dlYB?pCjWl+=zbahU?-}|3FF#NT?{JzL;Qtu%}X24(^=%N3#2mlc)gK#6BwNd8G?CTF*Gne2mJN^ebb;; zv5pccG<(r=Z5K>tdzlH=Euh|~%upV~jPNvXl!y=SBhy)T z;W$BD2%`4seZA<=^Js(=5@Fos4XXU_{YJaYW947z;zLvP|MyVcVK+YN6 z-Z}C@mHfrRBhsR^(b=Ld8>jC^I2D#6ssB7|{PTnKCnw@^zMImX)-zZbNt51}l$Zi~ zQUx?ZE61cqL1*<2ej$g8{9gh}x95tMd^cd%jD!_FMl;jZ8qAf)H>Q8#o~q)#?*UGVONO<}&9PtF-nr*4|gd4y1S&|betGj@6;RV8lV8}?|4XGuWRVe{X z*=%ZL-^`+Zsw2PJ4*J$^{1>pr@MG4$)9Ikrh<2r5a20C1d}m%1i*^>2-o1tVm9Yk( z=XqgvSV8i*ibR9CZNJ@8x|dbP&9Vw{>U(Z5rd~c|(m(WFp+}z~1z{#QpP}bNgUz zvD>1dS!3Bn%X&+hWEtDX4JD_XDZTMZUx$lvcgq_>M@^owChMjXaeJz)6Rbm_EAQO< za?C8Y(qF{Qqe@Si&qn3U9d~SApB2^Zp3JSL#%w$9l&l%~@iw#C;Yh%l>h>J=WI{yt z!J59P|CW*eT-MctV&9cQ@2KNE#&i{5t5k^Cy%jo}$LH_Npe-^gi`vc2e zJWjdVoomlL8oRT+tdwl|g4ebe`t=n{f2-kE2>Xe@0IXFCg*6<1ah@IVGs)u}NTTRQ zIMH3w+lbe;%8wn)UgzG6S*k{zx_wX-W0@#`_UxKq6B2pFp_wMp-O&TDWCS^R9H(Xv z?>b19!9uczH-Pronl^RL4L`rgev_V>JU+=pXe`B1g`?7Fm)qVOM%PdyJV`c$1)j^! z2==_6o-{E>lg5Y43I8 ze8}!s#nO^o(2-@wF#d!i4Gi<~lkkSE~&0!|q-wa2GQ6l!ZzRBws|{r?0x%I;o4s{(SsHW@veDZv@yS4j zB7A%k^PTkO+j&N$CcvLT2*_M{q}nS{?L|@x94S1M8LIzpGygx)QvVEU5zxph;y;I* z^2@dM_L8H$DCLm^af3!#eKUeJyEy5)Xh2N9a@AWKKOmsK#5=9O6?eGqI7bC~$Hr`D zqly%_My~PiS`CLO-^@d_=dx=qBpyhOc#Rub2`A2cI1TvzH}U5~$j3?`e}_x?VIWu~ zq4aZsjyr4jwW`CHIKw+eUG>{%KljsXpBj`?YnLZY`%_xH`(g6SUL*RL3!wq|P)oL; zfqd_R&@kx%7+6$c72l|_qw#UFjWl+U)^4xW=sE;yis6kN#Kjef=>) zAl#&Zf|gxS_yP1Qw1jNUY+zTAkjc;|i7z_P0TU4lan!z;U8@FY434^GO7TWu7>?`c z(zmiR@S1(no0LMnk^5LkloBh2JtiEfy)Df-a>HDsQmjatBbQIeTLOP zHd17cJhPh{-es*c-ICD7=<-e5&vZ(~&3&9{XfT$$Idq*^x7o^;{}0aUpNi<;yf*Ue ze<V08{x;#nJa~3OO-A3__cYWcf2`GCN^HU6AzbI zGj@q2Rzjna0dMY|L75QUlW_o{?2pGvV642wp=;ey{e?ICRpm86Bx_tMBb=n%hxLht*YNK?n&e5kK%Zmgvk_~@g7M_#iSbk|hW}&R5d>mI}g}S9kA7MTIyL9`8&fx&NHj(=Fd=@h}ibf3?Y=n_f z#SeeAE9ZheVp7c0>(I*!fJ6+j2dLW}x+uYvRVzB#cvM;0SeR}g9bkFMDoy*2oav~i z>$PmcC%$df6cCB9?gyJ!?7doQMNn7P95n-hyo@CWO#Vl7C7Pm*dwxd3_8{b0fUY=2 zR58W`?1dWDg6-F1271yLfK$6b=1vrc@SKHn=k71BD}{wU<#%8;Wo0YAd${-a#k1o} z&9lSY%08=H4~*=7iWOQk4k71kedKOn>w&0G4I*iL{0muxY7(C~^*Uq=WGG`9T6v`S z)|t$GY5`@vU|RZ{rCC`Ekp>DcNg)$^qx42(I7Wa8kc*dZxuJOa!Tm$u8y?M{QSK{M zxB!JWDK`lrBQ@8dIWF{Vl(ln{VSL!VLO{N|$#JHD9`mqUcA?}O<`hZeGMpQ%|NnzG z`8Ri3z&}(&5|^=83-ZPj!Wt7iNyQ))uveSx6rLPFYh*_cw*#kOzJpxr0TS%&U)6c8*w4vcvRUNYnn1$CxNT#EreUt75MBIUzQ=El^AXJ7FVtA+to>-l0^8a4XA?Uy$t-{TI~DjQVelw9{2 z%_|o$=BXt=H}@}FdcBocCuBn-J#}KoLdEV4)6`gKjtd61_7Lz2J9NX%6WWLLE;Qaq zyd>QiIA(tXs9f>1gB2H~RINkXZ`y2gkk-RbcX{8POP8fY?ydJHpGE07b}EJV{xJKO z9%{>JIM0y9nD(EosjE9ioCQB@##+>oFSGj3CKJ0S!*tR-8AvuS^p@vCY^1J4-*4~{ z8}gUQnCTZ5h4rg{{SX;)_|nmS9Y4V-59g|Y|IPr95bE)nbu*crY_qQ!YGM1|a3>O% z=K*`3g3Cf0N{=83wDYkW_t!iYw7nI0c+8nzVg!P6IrsMLoxzA+P zsTr_*cZ7B5rqR%X#h0})N}zbmjvfuDwix=gGY;^uM<%-%n@v+09zqG z=c)9eB?o6qXd5+0y{VRm-D=&(mlaap-QN?Z`7-?xa9Tl{7_vmaYB;b0 z2(96aa`P=FqO}n^d}(j*ica~CdUjy04dt{!cIJ6Of=YPv#{c92Z$!JMj zE(~97EuVU)Ldzit9rrWEMliGF)bT^RPYYTAG$yQG<7KYtE1LG_wT$`BYLOB=(4a}p zkYsNZ%_D4$Z`?H4UaH#kl_9niW|B#Ss1>V+^oM|8$Xql=3q{-0VDYV2-Iig7ZCfp? zRFb>Vf?T;wAr2Lt>~mDW)_#DQbujGf&Xfuf5Ox}W&?*jd|6=Kc(BDMt5BO_g=2c=2 zrA(E}UFiu=nLaD<#H6k|AD>E67eh=n;3-XoW40O)dI3qf8VP zugS$G{SHH2)y}?HYmDA=(RM8gi2rc1aLruTZO&`xpWEes^V0wQD})EXcYzS95p%>W zU&}f-YpR$|=K2<8!gyUita_S2J>@J)%f_j#ocklL6ucv>!rQB_@rtI@)OY5T-NxrE zd)lskv0?vNZNMY5qYzc=&N`Rt_co+`hZ|`Z(+~_fE?hi2RS}+B1rL*ctLc_ayQnI4g6!!Lq1e zOfS}A7xQwsF-vjgcF1v`d-r9lpWg=d!FJn(|1I8kwR)+mzsQ!4D!I%cPW(V0yjVfE zd1m=gnf7`ZI4EksLYQP|HjxX=Uhwz@B={QUc0hS>M z2kk}I>Q&#rR5E`c{_UsO_I5d~*t?e>%K^ zNfh^s4&ke(X9Gm3?qqf&p8Zx4tAXE2>|({gd62(%x!FIdRx8&ThKV=0`{+R?(>%%9 z=bTY3?Ij?X(l0D}+6X_LWr|d$EmNpgS7&apb+gMsn{sCpn*#%m4%Xwt6ONT-!8jLM z9;KoHYGG=seaeNx^tk84@ftSwkS{G}SOI~U_^Iy_x2`=CW*rkQtDowGd+{E|;le19 zjnOP2_F^QfsRvTAje+{MbKg?e!nk(Ydh}~mpRey7KM0mzsml+^I$YiHE28(oR5Ln! zyA1e~72Y+x~D{Lzs4ZJv++@M*n5O>ScL7(^K4ruy4oI5nn!Og4WzwMKuupbe*r zGOyT?hQ8q5ZzxBqQVU`b;*2+)>H(J}rgOBFq=M1=+Qp~X*!d!sSCdPdOo5N~Z41&Im6lINBiGEw7yA++G-A98P( zbAsG^@jz-uTg^(1J%rbAGV7rvh@}MJ@-R)8J<-p^oV{JhC9)4-z^D{*8wp_k6c2U= zyuaZc?q4+R2ccHKFi5vBa0>sCzvjl5^fDSu@siw=3|I~Noat8ve`Lc7?c_q+Cc}ja zJMsm;KdWQO|G^fmPL&6sL+SJn2+gK#B#>lz#LwvHx8G3^tC+2tQ9n4S$L!za`P|Zh zaRCX#KucC&iR$g#EnxL{q)WVx?H%)*;XCbjavMz0?_O`Rl+lGcdv0LeeBasV_3cm0Svi%WuXe4#7s| z{9ht!Rb6tR*d0-_|5RPi%^P4={>{kMC=?i&BEog4EN z!LRjqZEjJxOs2c5TP2-ay8oP!CKX=*ZxFNrYIEdNDR4FDZ z8U;T&HQj~pH`+ctwF%HKzsHJjL~maC%eODzb8VB{x_32FcFOR4t(W$IYGk&yHN(j) zr+3KPe&&}54zh@l{B>p}>?1Jo=ny&9Iqaihxp}lyYSxb0YzOT!PcWP11(-1XQjDrM zTCKll;~%hz|7J+d^kHNkhQQ?7YN3H81y-NU9o)>=;ZM1U}KA1)9%!U04p*cM6xe93e6Y7jKyKEkw8(vIZ!!N1m zs1Foq*jwt~C_Ac|)UA4lf4cFt$T+DqZM?yuun4H~xtcjgAy|_wA?dWYS%+NRU0P?8 zZ}|;iZ!x9fLxx&yK?XWI89S{;_jG&&Gsc50lDiF;#Z$`ZGgM=ISE1Kb{j|g|r%5__ zYCO`ENA~jE&C+O8X9s~Vucj{?uPB<5tngTB5_4z=-eJ`9OexSJ&vngm=5?ul{R&s9 z+~xIJvaI9Pc;*Vdo<~hoCwy`OYLmm4ixg#>4Moxq&k1U78q2awd1NN>_cD;J>hi`~ zw!U6ugLl@nNUN5rJn|sMgp1bej8?z4+V{>(scBMAs&ZsIYlB4YVh z0!nHA`#hpTgstt*zYgZP1&N*@YRzIjYLYdl{9muW>8}N$yob;ix8FfEY|iZFUch#a z3W6z%RWYBd4}Yr5cCtsFQdqrSa7k2@a|HBup@x1N$J^;17peK8#~9jf!{nH*$4?i8 z%Kt~E`JZ{`tJvVbM-j2~%3l=+>{XjL++lwVYEYO2edCqHk6Q3M9>hcm4W}HRs8zjR zdK_6*Bk?$QRE7?B%K`R#bYpk)q-6JoD8K6fFI0SHl=|28F^0Cwc|=dYr(J<`|4F z_K$-!5jc{nF-Y{=nsdDq1N% zGam$lu!05jFqsOtyrFqi{5@4=CXK@J_fqGz&u0V!q&;V`qY{ypy%7~v%?(cRaI)+o@HSi>qwSVA?#T!F zDHf=^|K?HNFxZeA^F9pV&%_ZvzIav-u=OS1)DZni36sqvn_Lu$gW=cAqrlV8-nQMk zR_?mh2~O@hsH;~ zTlW{Kc6!}TA0Im8jWRCzIoAHjT6dug^wkpXav$+h`MT}m1ZyJBJ~XJ*Hz2EK<%o?IGx{I)VSRTaA}Bo7B4W3cxqX?(nwvU zwyQX!eIPvCFg|i&D&JNZy{M5V>%Q6;V0uOKFCO~;c+*{doDXfT)Th4{5WX~&qJB=#`syt?(dSroPrE5GQB*50{H>W5h=2P?SWfC=gz@Qx5?KaW<7 z|H50p>942R9U{LNDR$|oos(2X>KE4aJ@%~k)4hQEIfn6mrk8&Eej58FLd7|0d%rs{ zy^!x|qPRG<9Wowd?G@c?^%rbqRyu%q0w&KBxluUa<5NXHQ=JSXB`llB! zi>`31gO`h$Im4=F25|Jnk9wc23ETMHEQe0Hrzs^Tlcnlk&b-S9V=Xs`=Qf@7X|tK_ zE`#Ro1es!j_`+E2}ffLqMQmXM}vr0i}S*G;?XjEwm`y@Kp&`)1m$i z#S}?Tq(5P>Gu!+hU~d2`;TNAf`uk5?F8gbHuUDxyD5B~McNue0 zVonYE{>eyAzCshgIqn;L@IA>=*>T?`Lpq~Yn*ZSC=UdV>@q1+Jt?(GZHMu-f!VB=E zOT^&&U3xcz&gTbQ)~ez1&m(sdYwwmjGF&XC8M3-T$-mua$krv-z+O!M7-2Z{IQlZ2 zTHNyU7voA+vd>&-(c+19xmY0kl=^!wyP4;dblKw zL76B|HoH_?%5bSf%+)=&-0tkhH?6nB+k^!5m;1}8>3vgNxKH|TS^IguGGoALv{px_ z4*G37l1g6HV$<*2aiiUJHK9?IR!j$KmYEVt3^C5?%pKCh>1!$!JLeqPy$zPEVr3k& z?c3OnogQ~ZZ3Y}ex2IH4hyy)5AnICj#Pep+l6&n~&&m}Su|`TnicEFH<0^X&a8;q9StcrYgj-r&vVjrZ>Vs8QZL$pg8~^c6`Pc3#;ve0U*?ISzU%@ZoKFU52 z?t{#u+0z3MC`F?{=Ou+fv9>*wS_ZIJWFx`(ymK3jOI~a?8rMz4zYyh9c>63Ov4$4I zUF09w;(JBEM0Kr01o`CV!y7{1g?T=H?QpD9kvE{!1sh_f$5w;#eW}4|X%z`wiM~(S zX*L|{B2TQ@wOt!_uHv2uY1IUYLaz6;z{Clb7l(K6-z9dl;>dtRjoE6PBnG$lz8s`} z44@{)Rzhb~sCJSZJ~Sb~TKWNrL~?8PitcUJrK8fMFKLwG>Kk!6CF^=fkg>a1TlnK_ zKJOQP+BImG@+R6lQ$q-MX)Od62#v4`u>DTf1H&D#2|_iEKhTqu4dT6U`0W+hO`1a z9yx@TEdULQqS?!#*K$l(6fh9#I-Ms8US9z3n5(@3UqzD^rWmk20B#6GK9D5S1MRVM zXO=YNP~q}hfudN1t@x>-8f+x56a_F37t%oSCI{Vf21}p}%dOILauiWBJuX~n+6%sz zv&T0NL8zL(Z*@;^r2@o?3MfjrYCkR4S0Xe{T@REm-{N9f>zv4tk{-wL>8#rtGQ=a>E~H@V z<0BS*EoAe=ZR0Nv;EsPoM*fdZm*Cf?-uZhn=i>4D)mr) z@N4jIkjl(M3wFt)N_0wp0-<$+$R@DOo5X*Br##x}lvvpYMg1TcQd%pv6D-m^JWjQO zHM%~$aGgu@)#b@Jw72`2vNod{#Y4LBb5G{o$!8De-+jv+iLdIP%P}Fmd9&PSB*SeV zd8X7%H|x1p-JU$~P2Z*m2kjiFLOH%BjU_b(XgpZ|G4#by^~@?6Gmw*0MqQ|;AF7$-9>~w6q}@hdW-QHvk>5)(3%;=DY<(+_b**i+l*r*D(39%n~d4@%1 zJCgJ|a4(;y3wM{cM-!p}GwiREKE(Y(zbf)_MaH%2ezloVrxqoM_189ObWK`&7)g*{ z)IVjdQb+f0%kU{YmOPA}TTa*U))c;PL7;l?Cr+4(Y-k|zIIk3w4c~2poxX{QWKVoO)$RR(Mz@uTVD-hP&o2U zdCJHZ9)!ro!P85({S3@XEe%;rMn(gj!S6E|i^eyOYutUDwBx#mhzlPXHmKgnXp2>n-E=ee_PmpC$gP2;BxQkr>GNt zCHd$ibz$iFE(8 zXJIN7$EI;3z>N==beks4`PqkXr!Va33OI>jHZ`S~+kPCRydx~t#wyksjk}g^PYd}Y3(*=z;au9OW(h+stmdLKIdu@d*4?sQ9!B+E^Gg69% z>xoEFRJz0jWzan^#-as!j1kLsWPn{gcjtzqWQV?~Ex+5WC z8p|oFm1O|-cPEwwj9Q(cE3cTr^wn)_+0RFl^O(TAv^lrw&?T#0%Qgmr zZWyt^7xDexB?nJXYFJOTI<&tQjS>HfE#i?VI@|yk)j|#loA8e_a;ZvuMiC2=o%=F6rJpEcspYU>i*{hk9$3nxE@` zm<+GdTbQ+f#jax`yk<=S#^}*l^SGZKsgJa+HYoJzZMm0gC3l=_T}Rb+8!KCMUcS*B z1jnzkEqGqGwskYc?ccME+9T?Ix~3!GEe15LEnpktSmny2Uss`_?|QI0Us#E)dpvcS z#DFXs1P8XW41+FM_RiD0$l@_xIHKh<%nOX$?1V1e^D)Dl20?*W1X=E8*mby_&5G78 zrrn(yB%B`nv`_NM{_=VyR|;D|lg|H`hW>4_1VI0=4L`lSWC)PI4Di2{Z)MMY)}K*l zUBYTGFgC2F0*T?Zi(m`pJxm0XJj@FrO6>P8)AI#IRGld`f7N=k4Q(qCltc-Om+S}r z4tV&is%!g)t~((9+h~j+|3rRIwACPyKoz|uBji1c==I85g^j$`mb30rs~8G1DfT@1 z5U_MOwnylJ)u!voI1OLv_g@k{cZq(emwj)|5dWcnIs14%-$uWG*w_m)T^&2@=D`Y zvxB7su6a&PR3KeW$cT|%)7 zsc!AvvrFkeh1qwFz|sNQGRspTP3JDZGjCJ4xC|a7?*8)_^Pgpwe-=&o-!8DLe)*GK zk)p)-JBgWnK@qg=B$AmtKO=(svNdZN;4p5v7q0#l53I{QlJUCAwl6z+-Ez!UuIc$# z#oVr{Liwfjq>ygL&uOA?=aH2qtC%{RaoPP|X2c{y4H6~jgm*n>h*=&-hZWl=-A#9n z?mLW_=@9CWd#*OMA)c^_G8&r~1;5}4N%pHZ+^aHdoEa6aFyymmTb{!4Lr0j_^+5O9 zyPGeVl(W958;+uYW-)x>-K`u6_9+)LSoxz1wLJXrcG;1HGIm+{`}1v@rO1fmvq^g& zjK{K{=0a7OS*)bv%>f5=tZr+@I)@^TZ^y+SIH2&`3*_rN6b!LC&AJaW{j!RIoZ$z3 z)j@=aQ8X{*nIdLu=e4oVmh`X`>06VW)*<+YfOf0jT*txmY-9?c#g>*;hyj?~* z(At2@EiMz0ojudWQnKi#pm z;x$To8BY|a{A?f&G%DpdL}W6mrC~q846Cb>?S!8itHF38)CpqLO%^L6%wk2|cjdg- zof8~Fp*~4noM-D!7r69Ex&> zmnu-D6ZZ1J^6qq~VnyW`o+~fVKQvV1EfVA?y~35qlVM+%8I;ZFPY5Sej(0+uZh8MC z6$MMuzvQ|WD_34}jfn_w#P^sEY!8GWKjgFIK_{Fu-KZ|$ILAa9#sf%s?d-Edbt+W4J66`3*NDyf4nx=6u#t~ z?>A4>j54ze0g-b>5;uP~6k=$3uFVZ*Z%Cnd8w{pVQX=CYIq#<0lc>=}yxYv6xl3a> z+3$pY1k6)BmDI&D)?UgL;u&(4>FMo>#UPs^y9iqR48^#%Xo-h(LA= z0+YI4&G3;jfbG^M(NG%E+DiH@)wrD?8=XAVt)dmokLx z2`06_6zX-zF6XP~Cpls3mce$FgTFl0lD)s~f}}IU3{!i9B{%UR@vNJ6G;08RNa%W0 zmsCzw_DU8&Z&mX!#E_X-(zA#)e%i;S=}sf2EKAeMd&H{)hiLwDb%5!+kD(p7Pl9Ke$@n zcDjTZq#dwwjHq0f2`4U{JY8bQCj;L|_L+cE^PLnLdRmNL(mRE&ohWv1C=WJ{>0mQ+ zT{+(?3)BDPV>!`nHy0uvY(Fy^&!qi$CxqXTOb}wu{SbWMgg+{U-u66a$94*K{;JFI zKqH-Nj+OF~G2%UvTQL4;rj(1yYP05NL^Ef+XTE_wLd#d@k z((e)jrvkkl|>oeR!^4y6aL<1Poi3h&7(qg)knGQU>!Nw+Y(@%#gGGBrI#soSSGSQLgwFKaDt7=OP@oh&7ODs^~` z%)sEu;bA1EaB_UG(UcvmKoj&^&U!i#*q*0Do0pqpEUzY@6|tMUp&9>XDQn)PF%;j?zSOFBE0e>F3zF+1&)#&C4iZ;XeuBi>MJpiAM3(dyS8#Ic*L*=$BbM|0mj z7Q)-$OW)RDasX8{j&CUF1F zX7=wZiO{C~Jzu?N?woKq+Y>1hHT2S9S*BF<7!M`#=wM+@Q3MC3dj<)(HjD{nQ{=@~ zxNv~`d_q%VnRvKD>>NoP^+yr@J>k9xeXBs5>PDl14C`qU%vQk!J z*zjZ3x~ly$+uphnwFpgPQ?g#lo`N)RQ!_0c(`uUqCaGjqFb4V5dah{$gdUS`qbDa; z3u8cQcWzZK0L_1I+dq(6{E{Xafv=lxeg45YdQ?nUfjNB z;IDS_zdkLSVfmIvZN=6hpvx-*Er~29F>ZOWH#|CcaqbWi)8u$%tOZD zAaJ{xdKdp88|glT>}U;2_sM`;*lFQedMyPZhCvS&yNXx!9XcpqGpCW{aS0-+zDsS) zQzn$0v`G#Ka-q+gU2-k?3SE6DEC>h1F-{S!JysKvOJEC%>N>8cfj@Sw|AovI;kxNh z^W);DuY)f{v)6#Jhr2rEutD`s#8g3mX5?Wgm>^zxKm>m(YaAQyM1IGG23`=Cxh-cq->x8362sN9Z12Yl5) z*XhOof?mtIrN*T|#StlL(0NmGip=R?)NoU{0Lw`7Sw&@%FF)yRzG5<+34j|Wslu@@_6$# zSYMAumx>*0od{$0r(l2b^h^>RYi*tic8m11%HXbTc)Srv;-@_*PHi0zrp|LoY<-E} zc+WOn9O$!AawkE#Ej~`oq}W}FU&E0svCA3oMFiXFjJ=E{dc{++=Z(Qdv5{7MS>L1w z?(#DJ3`Z19uUU?&ZQE+3gh7z`%WiHkwqnztLGC=|Gfgiqb$<1Dp(t|nl@6+2(3m2u z>&qZp>aqf`${wy}xl-BL>x?wHvhh@!zN!h)qGQYN8sZ{kd%7bvH+oZEnLL6k8r+Hq z4h%+o_^FN9vCh)04V$a1caViUz)BXU*Q#`id}Aw1Ao_!4F69C1=km7oMI!&q{r_8( z=D%o~KZ%*K;{-xX$$o5roLR5hRsnlt4ZM)T$?6eZC1g*oILzp)EP#R23!n+8s0qv{ zZZ)V;#lDIo;nG5z?6pFR6=6|v!i1fp_(XJ!-$s?KZXkuLp<3;&%+yDyLjnr_xI;=; zAyVghm*)@FZCXqikitqNyb`tx3Y7}xr9U9e@X_~pZ;ct$OZv*5C_dDg5lfRZFo@Ku-x%qwV{o4IdlVu}3Y$e2svZI!ULB!?V=T8)O*L-WZyM4y1 zx~5i+*XLXcVnn4l4Z7(E>dK=7%4)&f$k#H>?hNUCthjcuIM`}mZJeU1(_gSC{fVCW zU#!n%x19&9@*#izw7&O?^^)yo4XJ}DnJO<|u2`F1Rgi`ltFlFFeemhw;hCQ_6O><` z2fowbIGaEI*jI&=xt&KclFC?WmkzNZn&9tD&W*AyvX6C)48GTe$X6$uMu6`!8juQ- zOn$daY0X@FQs8=WPmq7UO3bo)R|$?$ZA2>fNQ74M`YI58GnwqkGHTVPx*pF?4T-xU z6rz*5$HFs~!m*yCMc5?>sgw?@l3X(x&DK&b+ZukNx0`JB!x#|*Ql%+>FXk(m?PNb- zL2X7QJvo=FNrl7@C$9c>mdBI<>0fjh2g??};_W{Pfd?MSj|p$n2Is7K@)p&~L7=Ld zV44-_q#ip#ud;|YCR`Rd+wfXNTI${?pM$3)JpOi8mzk?EaJ~g7Y$I2q=O%Hj%=Qi3 zRS8oORFxRrRL@jaDY)o1qr-zLwn)cp68E?EKqlVZ`(zA9@-DD4pt)NxuYNQlpPBG( zb(Po;{)J=uM>gWq%N1>ZxZ%}~Z?q3w75N^^Ortd})uJW(SHe$7oIW(;XkC-~Q-pqz&PLCJXE)FM!mKTP>rvNDy7X~= zhLO>hiH3$mdQ03OMnuutOSRgv9Ko6m-PVyJ*lEzF@wnY%P5vnV{PCXDqq5nRPc8#w zRGa;~W!NZVhb&du46%3KT6;9#pl!zw;4!C(=x0NoduKsQPP!v$iCK99*Vvtmj#L?t zlL-fP`Q4p2yM1 z<2_!rgzoTk|3tr75Dt5<8m);0|Aj{<{O_8MEJ7oFDz6ngm%}d40e&}bWg!*PLJL>nU5w8qyGq;;MLbg zPI>bLjw+pd1Ll+%Z(1~+5W*=E*&Zt$IB*byp<4=M3BPfy7*%V1kxGrOa0GNfSc(se zpxt&(o)nNrz{f+^R-)&&lO|)eJ>W^fwqH-K^%=H!POW#pY!HP@Q&mk*WI4R?_u+C- z+Jd3r?d>cM$2^E{UR;%CV0>daF=JvkM;iE~9SOb*ysz5z^qOvL-`I- zAYIZOGk`Qm3^8;gsdNY^(y630NcYQqzxUqvUe9{gv#)D^`hT4@$2!m78OM1X+Q6QW z&0)cv+4v%(`1gA;L<&19911Ook*ls#r={E;R)KNy5bvik8lc}X%UtLfb|{a-LeXdH zUzgw8)au{CDsugc@17r2hRA9|>0%&JGR$iY8_@`<=KUG?8I}X8CR8|Ejf=<8ZHfUV z$K(qOVUv4LO1(nQTqqcqT7YDA`5q|O>@+LP_iK`x6o=(0a_};XW^1}rqkMcG)ivX( z>%4@WFh=eO;-^z?((F>%Q#cyTVtyOdSYqs1o*Qul&Sl*h0DS7ga2p+5po~?kFHu2p?)Wb3m&ISktro4G(K)Eb!hF4M{Kd0?Kp`Ydd^R z^9>E?JzK)86HIw)pW@qc=w(+|XnrcrQjdI!k_{OS@Chj%_iF|7L~C&1@THk?paJmU zOAReecw!&Ng4~jd+XVdkx&2H@|BTuST$o=@crc&vc)zP^UZ>%JdBv=cJ_{Y6&%S|F z(y5PTwPy{1so61^?{Sh>B0a(zU(OH4e*5S^W>cJ_R(nk0$!Dll*Q21g;7aZG5-D5MmSX*Yyzr54MMG?WH@&y2Q0svR z`T84)$?N9v!9gQO-XWOgWz(cyHW)tX(m7-ir`*@&OO*T7Hh51+MFD5(Zn)-N(YTd z)pCwW>0eTbd@T{LGzY};_^p~GAgi=k0sYWO46q>qm ze1e#2IQ%StA*OOHTirK*xmG|8F}m>)M&sUlW0kDftPxEZR_s;qfY(%a8_)vx9&81AK$LxYAr zV|%SIE}onGxH`+Fhzq`O-;4m5Y>0uwMSZD2q{tCJ<;wTH6fIYp;R;Zx#^N7uO+aU$ z;4IXcu!Ca#L?@gFp9e3VpIc+_&t-#pN|Z{Wh1mpWw~Wi2O-|UJoUTMtVOlymzl^n~ zWH7X^7QTcXktjiGB|%B?1*~8MhOnqQgvZtU>|RTg@f`~k&u4ImG`zo z0NoGc7ajV#I}Np*l$tdA~l8jLqU=6ndmW>WFFo8!7Fd z$};q%T`dwu#;hiZu(BOh6`5?~&|h0OQwmwRQf6a{8Fow%vc?4wKFX|K79VLL!3y9D zh^6{2D4m$hYR`JACq3cPGI?zXnXq_D=N4~l@|`oi*Hhh4E0akV=OOo+ZjvDf z)(YivxN;{L;4Q9bC{(a1~+pV=S&R?Ls9H}HjCHNrq?yv_18mv)>yWkjte z$zA)7Z{S|9fLVQM1%A-Kq{B;1{%fLj3 zO!7k1ZO;wcqDwS@9~_TCx#R115w7=BspP&}gqjmOyYqq|TZ7!vj=}6@>+&+HwOj^` z?q@z*)be!#$bE%-%!}Fhd~Ka6&lHRE!7b&QyCt^#N}@iT8*%O6#&zjYl2dIQ3Z?A^ z$)q3Z=7U;QRsS&u#kow@xb;Z<}RP{Be9AvhBb) zs1#V_R(VH;t2hos((o8!nKGU>oH3^8HHlLF66cqRAp0A*{DTLbd6&Fyt()42;0Fs3 z>xU=`Zeg^nVy*^xGE+Ldo^U*yrWmBL?r29~s7v$^>f<2dAc^c;1aRg|Ns^CB=QArB z6c#X3gHcLUIr%YNk-=I@#kRX1?OZkkB929_VhXCxKI^Qb)WYJao(Ma^@PjE{(xgO- zilX4VYg7nunvJeK7>fpoANlh!(iHJsv#$Z zQ`lsO66wXVTGq_f(JJ1by|ZFsaFFr@#wYbLI_{+J$UtN}Zhk!&p`HxaDf1EcodtYW z9Y?u4>!&v@*88w-7cyZZ=!w^#lb`1_551eaS^yc#O93LvU!OV%y6(DyKetog>!(cZ zNrQliL+XbwyK4Tk-R4&NjoNzgwm_ZYa;xqf6phbHS?>pbQ!wxj1JVYHweTDlh6g}k z05F66fq>-c!1r1w@_ZX|#9QFrG-k0zW*W?IonbLtW5>;M?aQ;lJGfRZHrzz=H* z;E_J*Cv_K=oyXG;r&E3`2y9~)*FVbbYI`&9^Zh2o?!CNN4KbR$VyudGF;kuv`_U+l z^S&tGk$j*V>1%G2;vOa_(Txr&?jj`_KD8uHrZXf7`8<|b>+w)JN@78bsk?09zZ2-)-is#M3%UG>D*!FLxGzt-3wJCK zO2!GuFF<{PJgJ+GXz_NEH!zWq#5Ql$n%Xw}RhcaCxZ4~o?6e&3d~C(NlgqqI4`axaKR9A!AZU3svaPD)ne~WU%kePM%NR{wK&JpFE6z0x-&Yd zf$R?SVU_%M;)!$8WUkXYhCQvIrl8M^I9%J0pl;vYCpv+@el@PdaCW!Wv!C)f5P$=p zEDTO0EsDcDG{sxPxhRTUUbd%_7b9^;We!8u(E|> z;%g)TP?cXdOAnOCc{1~{EX!7m6`!YS0YWU#nkz|O0$_ljY0b7m?)>hV9ZJ`g-oUjr z@k#s(BU3~|89jh*T#D^kxsQE(mghQz;xVvbyvp#@#3?~3y*9(9y`zk9FsdpkKmLQS z-6em&9Hv3xUJxVW;rk}h@OeqTHTiGMCUGfU!hI7c7g*U#?)Zd!BU1wm6P>FH$x?t@ z#j37kX)udc3=prFe8jKs788=U=9)R+|>I4S>O%zE2V{k`m7a(z=uy%YF)DI!AbcIUckx_Me2tZD~%I)~-9CV)X z@1#O*D#?K04|+Q0)+V+FwneupVi>x29zt z$6D8oD?X`7(_(w5p(%Ot55J9JrL4uWzF4(7X@M5`u2eqH1;<*Ku?K9nx&s|g;9m<3 z%|)O-GkZDyL?FIr#%^Ta2%)nfwzgkgmZv{yjK>{%KgOq~>v_=;iE@GDdQM12dVj(l ze)pz!57xXz&Z;kS^cXGKmuC<3_6Glr=RfqHBQpX2^Yjf@X6aVsnS94fRFGJG2~R{< z%(}ueSrZ?n*;*yyqLm%|$FdkT-E%P6Y(jsr#6i35dcoq;?^Z$#Df^v%`|Mjzp`eq# z4uCu?gILAZR{10}$H>>=7&|HPu#A0s{v_yG{{_GOY^)!1X6`ZAl>PWEm$I>D8RH7d z3?i#gw^26kZ}4*bR%KSItTU+IANjKoNDJWiz+Xn>s@A?l#Z=eFj6Tblkt8pm%jUgV&J61&wvA})S8QrjF5zXO0`>qFs zmlXn*n~*8V#qhz_7v5*S%0l$V&%^^$@?GP6V`dVSXB06~7Uk!p=GLp-=zSGyfqaP` zv989otI7Ke&qYVfnBC&LD)WIZQIeZ8@=cG$Nx?HG3wDRcUt4bynN7&2f#Puf8@COq2n0&IMR*yO-gyZm7iN#$B&Te2cIav|M(sU z&x5Ui`Zpbm<-ySxBj9KGSCUSTo`mWt?`Q2GqS_2yh@+059?lEfJ`b$IA-k@ANe&NeK^A3#$kK8b(Bx-YX@3}Yl)A4t23rPX6By@6 zoXPDfsX*wbRf})R-k6kLgCUsAMG_a^x5oS8l*{Vnraq^2e`bN7fdtiXN+cQCo&%}E z@CQ^E)io!b*S57CZS^p_J$c()rGyq9N7o~Gv;iI zCt*+@lytScAzF}+P(=vVwD!zV&W%~geJ;CZMfy;s;LrE(`kGw1_SEo%XPG8Q?KDKX zPWD*aIP)7x8nP$=uVXRZo!ktnRY|gi4?Ph@)X|qucg&Vt@H#Zf6cbu#>q6u9#tamX z(AUg=f#3fem8hur5Y(`&i?NauWmr~YFT;!I+m%68IvIYfyk1nB%A8Ruc%Oz(%__o>GgE6CWo8S83m-#v{yX-0bUvHN+3Cb=G;dA17Nr zpu>0yeXCS5*MB;Br1Yn7FtCRo=Ce0U-V@`(*)k{KyslgL^}P%H`b4%W1`l<>7lDj|#r)DO^}OdqJ%J?U(qD^X zTc6E-dVY7o_tncv!{0H^)*@_V{N$_fMbL?VhMJAp&SkmpTu+*r!qqd8t9(H|=@##; zg{ZFikvxVxKYq2H54pZWZq>)uL3Sll@}Jp#wWP08{H_e`rf-Hn{eHZYb5e7)U(Szr z!LZkQy{i+p^@D7q$FFSQ+K+GijkKDs!onNR)QxPLl4(=R+ZP5NcU{h8T*K8j++?1K z>fv9n_RJSu?Vt9xCXQx*`O_(JFdVnuxa-8NhHIBK`@nYNa+_mP`q0e(U;j#)|FWt& zoBJ;|%>OEr-?Gg7D~s%Q{vURrs@UuaYj^$$AESNMS3$yDWBo;rcn>V61|*AqUoRv! zR^|nnQaV@+b*t#*a4;2xqs3?g_Rz#3^c0&v7A_v)bHgj)lKwXtZnm0;uGj+!cs1m+ znHAx468Jq$v>xA#5+*|peqU3C;e#{syx`9K~g zD^tSs*=0(`JqM^sOq<*TW$`xGuW3oT`bP${b1%R}fyt~?Jc-S^4V2O&@Z!NWb+fGI zx?V4z8wrwG!Pndg-)|+iPuC36x$*TT9P+)+*{SAIO5lxPrGkPPzi+ncE(F!CEg6Rp zp61dBv8#`7nYWBY^uGW(x0GeDm>fjaQ_vy|I0n>zi`c1sQy_6 zC#r}^4itU`D4nEQYuy>^eN1K}^OGbGhP*;ODUvG$0BZ2Cpp@iOO4afGcKPgv9GO5f z-IwHso%9v#reh^73PP=m=^lvS*QG$tGMuCpTcIHKobBy_8UlSFUVeqYqFJZMgn+ls z)EA7ys+atqmziIL7yIvQn94lkA5Jaxe-KD4QrW$}(vB4mKTdJwIy?`WlUmEE@846X z?8J%{aim?G^_xjh&x*3Ow7sg9POM`QlA56gljJsYX!Nw14q2ht;^!)pFE5Hj;;YLT zECzd9W5kLw*iHyt;#tK`M8Y@DKV|FJ@J1JWs3qt+tE8o6klH&vJ!k!*hXx9YStY%P zA){TA%)JO_d*2@EkHR#xqG(XnA=mHmmTDvpb>*CwQ=y~TG)Y{+F%TiPfzwvp_a~GJmSlYT7YLf($qQ|j zWoAE+14had@sg>_v-Hk(bWvzpnJ%q=A8px@PX4U#p&f`gGgk+{kz+|fv<(v501Tz{&8lHkv_OS~rL+2hy-c{DoB!EGlqFYj zr=ZQd^{b>#3(|bm(R`!f_o_6~(eaQ2cQT|B=o9nv^49z+@Ee_W3gGh-tG;V;I$wz! z_2W{%

ZuXM5)@cs`xr#Nf_(f@~5nS6KQf(j`nl3-v5hI9}aAB-aRtHwLc6B_H|3 z=I*urqIDdrVllaqC=p(My0!mNN#7sFnN5yqfLfU8W43fOvIv@dOnblN4+LF z!sIs`^(rfYf$!W@AX#fxXu>Qg$ze1YWqiDzDNSmW1IQZ{CIPPaC54#>@WB-SSDo;u|`X@ zkVI@wBsP0tG?pAsxu2MzImPRghzo&FS);+^#%q=P3G_Oc1xOnjo-R#RJIdahF`24m zZ}UC$x=>&<= zpz!G!9H-@s{Y>8D%8{v&N{tNEvw+HIRz3qBGL9YPuQ6Sae0djavX_g{tAy8vV!0g3 zU2c#2PEhXzdS4U(WYlBA0;M6GeB4l2P_6Ng4`k~^LG5EtCn&el{JEi#W@?`AO$7uV zQFuB5*w~gkX!E@$ZV(U7_{ImW7wlBgSyjXQ2PmCxuOQl>-*<&|=_}2eT7z=|vfMc3 z@`Fs!Ic$`e!fNENQ!zXLNnrNByxSqq+IVP4N=}C#<0#adfN^@^9Juv+tnAHlNG%+#=FH=F?zn0ocTM9yq9;^J$bh5euN=KSWppsy&3F| zriuzRQMZ+CdG;p@EGb7a;pRhO;pYBIh?5{+^dpwU`gKefvn= zUE2NP;8$N)NmC4fM9+*&A)0%}EZh30Q}h;?TvN#tMiM6EHgJ%4sFM(cQwnTgHDgVk z5=Y7-rN?)Pn&t0Yw5(Wr(h~3lE~2~=3TsogCN)01Pije2r2o!wQm41-nlEpq<`yhw z#wu*`|G?MEiX{Jm&>Jmn~^J$ZVefqnMpj&HRms2s znClkScb-1nB^9ZZ|K!by@jsco-S9D%3rekHwt2~k#!%)!p5?rW#Yu{Ua&tGRvhyfB zLoo}PS1@NmCIS=RY57B>e6JxbK~e`_>b|ALXt`oqxv;|Aac62m=9z36h8?cFjFAN2 zTs9C*zkdUHBNC zX;X4$jXXfSd~NQe?Qr_RGKo_tVHujsiE!aK2lAxfsGxP5l464y@hSI;>VFoa%05&s zi-I8NiHY}W@E3zdswd$lOdcw0{3TLFVeQ)p-8SUMXR--(&$MSaSk0q2OC-rkfNbj* zL@O$giRw!08!JECmiL{ zNfV^|WNt91@uHDm~^t;Dvt%7fn=rDXo17;7P$9wjeLitTSX3n}w3y zsMp|ndf|J2Q7>R|7^#3pThQQ{hW9TP$0rK|vhI|pld4N`&E|lWPA0hsw!|Tr&a%+` zrHYe@*dpjLL?apdTDwtvVnUG-gfZ#7C6`)Y(eu?1Aeqy{V1;V59> zhk|8WCmt2rB+`&4`BI^LOhT#QiT11U@h>qs3i5|FSGv^iz@hx!uWrt+!AnSLw`Rs= zR_wduC5T#0V->^z;~@K|@CYjdJM_mNOg!B*IkuSvLKk-KF#>Sd{X0jH1l; z53MKA-PuXA=*ew4%q{SpHzL7U7M*b@-n|O23s7aU%ttMp)j%wNU7Ex|8Duh3D}Qy; z4xd+$$OOBBzhwmxEkgPfo&}BZ#rPD;daa!^hu$!5v1)H6#g^^b8pXZ|`WxDb-T&iG zs)`+$a&U8~42&OU=BMm9EsaYdm^1fMS6XU?aIhz3sJ9yJ#>gM%b7wt%>;)r9&^a=P zttg4OTe~o(m(gd*jS>;oFeFWc1lu}nnvBIoTNyhWz;f%QQyXz78ZtPz>z?+X9^<25 zOKQxQGzEfbV*_L@O6fD`8^Tp}_MCijCKg6--dOl5a3>=!)w@Xj2dPP}^N6jc?lVs_ zEVd8xZD=1qnS^Y8LKX|7`TOZ3+$%=MUmRui6*&cMbB zT<(-&X2lM14W{VWr+3ahM6v}yQIT}%VwHn=G=mGr-Hi=%#GcC10Ra3c@U2?izS69m z4_>YT%5I{6x$K1XeV36n zE&%SbA^|VXhDty6#J(aY2n@F z@(6!6KP!V04w%^JA;?3`Td!aq^NNYQPbEZPMq_j{LY)-n=Fx1eEq6nr?c!ufm_^vc zY+=aeSz#^XobKYm&KBF&&3w%X%Y}?M8#H=*f0y-Dh8-KL{@7|F?A-@bsyeYa^OSy3 zDBi*j{=jFiC=8lzC-P%F?eQYtmH7CNQ!{%<1$nBGuuVOs@zKOeYwWFxdPP(SGFWJP z{%oEQAF*o;LV`uUja=VQm$LV5`jQ;Kn>noVGk;0^B&_m7dW~f+UeyJ1;Hu~Plfg`i zd`D3H!l_;-`JUvRdhp7J!gHA}dcTqa-1hyo4Q{O=g zOU0&o(=)5dNnW~_5pDm0{QOJZn1aQUd(P->Y)zIpB~6mB0B&_VJ!5M}cQV12zG42dv0S5H2pl0q@o&)f@7U~xVS#2mv-lSM z5*ttBbo6`-5CIjNSg|M)eneAG=PTqCn&vvEY`o~K4`GxdLE7i&5VP|lW~%CqVf{_K zNu7xC+LI0HLX0%6?F7k$bnq2W~;)Uy|Qkc@ksg)4x9~E4DuO)Wa3Sq z!Dr*N+-qj`oVHCqJroLZHNCVL5GJ241*QSHCPKQv7(_7n6Ff82&r-f(Nit}H-jzs$ zpre5u@H7CYHnAtl;(n3jccX0C2NIfmvlrk+OoivKo5-KmnXYtP@HgvTg^_e5d7&V9 z^LOg9-H&Go2N>B!UHK1MS8cTV#DjZVIfRg+(PEgClkph!nudRNL8WTT2gUbFhEc~G z(WXPLWS($Tl1O}|4pH3|{Ko2J!SZDqUo){d8ImmZ`IgopfjagH92+b{n8*cVoyO@W z{8Ihm$xkF6i3I7993Ed4dml| zpGhWNTH9V+v@1%nz{q5U!Fi>UI(&b(JVaDmY@!n}sT>4pV0zWCyem3Y+#O81OI3;zElg(i0ZIk*|AZ?1PJ}JJM zm+Arpu+PsoSEQr(L~x;VpdvbE#iQE&&M39=fz7f(G9ae(N8iD-s8-AKmq}0Y$WL=X zuP?O*55?-8^j^VGuh}M5@dT3Z)L}6dTS{nNs_NS5yg)BJawx0J(i<~8!j}_D>|ZQ1 z6~8jb?*hq`BPX-mY!b+@wIiE^s7CHYA6FhOxlH%rz_V*r<*=23S`wZ4 zFUKp6J>9TEcIpM14@6@GL6CGk7_Gm3QIQQ17F65TP=#G+j0-ES2`s_3hzc2*wE z?pY`Nvn6P1MK7y?Hm=yz(HEf+gttqv0s5ZBZ4d-h?4;<8RDK&A<*uaeVQc&a`7N z7WA`fVZjRef^Mrr52+|i&G|Tmrsrs=URym(yA2lMV_bGnncb|up_SyeN%J8DfzM>t zhjDKX-p)MIZ`Cxqr&QeKM;zD|cPyyfjY&BbE(PuCQ0hskfIwXX&0k)IfkbeW5 z=zj%Atc5Y7(F3J_VQFHu0t{aaTGizi{;u00CcaTbFg9wxay4zpl{2aIriFN^zpb;m z;4@K2?@Ux}8{0wYz_|Jd3i8t(RbzLgjCN%=5+v5HZK9_Weh~AO@|GoD64#H;kw!%J_Ln_DGy->QbK1wm!Uo_?x7_Uqk)rkE3tXB{$2@9&$I zt*1D0m%ZUy_~P#R$mIT=@YQbq`(V`O>ynX1$uKvghSnFH=~CJc-4Uw>krZTCuL5_p zJg?=XmE#5Uqe?1LGfTdd-R#fLq9W`{&|dAAX=%b1U(>gKxVj+ljDx0JVro`%_tN+5 zise1E@pBCcE-V$MLS(&I%pGZ)3c`2wGoe1Wf0pF^RO|$CJ)3(hVRX_VGgtKTGd+y7 z%@3;pChB?@rx%cmB;e4v<7olIdT2|JXu$)(!FxYwe1rxl_pfF!nj2}J z8}@JwF3Ly}`t}oV|LWP(f`Dy^UXi&adDFKnhsEtRh@VdLKC^Uce9c8_1QKMSQ%IL8 zW18kZ-ZV6hN#I=k4h4?o)e@TTKsjV4hDv>zmD#g_c_K6JAia6)Aunnj(DPmFj^AO7`=KQCq zW@Im8rH(p!aR>FJpzeAUoYQW!+pp^MPKYrJC8`WjVX^yLN&r41C{>rm2v?J2oSVYegU{`jVp z1R+a7JuFvWq<51&#k{cEsDS_ub7egMIrqWX3MI&#;}uA^;y}9gbDl6m|9v|}y+A)F zR*T?u`eS0su!+hsSa<0vU87WBTuRBJx45s+XOo?;STneo-To5HREBXDH9PctS0s&RJ(qUOf03@+>Po^FPf}6CH^sjX1u`)bCwj{v;KeyPoU%qeS*~G<4~|K1Sp#So{{}9R z|HP$1`ewTFstDh7-~R?8(p>pg4t6LOP(Ori(1xk*e)8Y&v$oTN_Mz+{%I0n ze_~S!uAK?B3~4OsdKa4?(c?g5srh@QK$mtn$@=4+!IiQg^#mO|J{b0pyJm$cB5iA? zaJ`X4?ue$dexy)+k+ zn&U~M%~sB*@Lq%ipbdufviH@*#U_4yy$0B43aEDM6R+JX0i(RLxUopoJ-3jbzRHOkW{M3 zM0XGQ;oZqsKkWn*l9~-QiFsDjnKFl+Jv-L%LC#}h9&3if@#ZQlq{ zGfbn6&*`i&p4&}PlMt`<fsAh1v;t z_yYI$vedhzcMOlKC8xTx8iiTP?wwYhocOWA3+g2=CE^5WK)=ee`G@H@^Fv`NE3sSR z52`W(t-Xf^-PvSx1=WP2f8OXA2l31++hE>t+LYgGaE$mmx z>&dXWN3~6nT=6Mc$#&z1chO8tf zds}PM02)D*_SVyt?~UPje+ilY0?%LTN|`iIor{v?+08zQzlg!Dy?_2F75wT^oX74`~q)lKyW#9DMZ7t`95aQj(qktCs zYNwG;CU)g48J+;=Rbe*8xTaA_PdZXJBNr0HGPUA?pKn?z#Ak-9SoBoronoyHsCG^u z){SAM+Np>?ay~|79BK>0g7o>qfQS~dY=`YvRc$5tgBMcG^z_T?DOG+hT@J=N?o!=O!c#z+dFK zS=Dvd&_`9iX-2RLxxRT|b?B*7KRG(q3BOsoukRn<5EK0#km74Nc8}@h#L+t;vpRvQ zEamE!**p8pIAH2;+?9LSFE6JEHDlx2{8Gbn9N8p&b%q~sr>Y1t*`85Acju}&(0h~R zsBYh{pD_7mlD5*|>KAS0c&r_XNnBt*>+hL=pJ%< zOg5_g%(N%jSaG8f@y?Nmt@rHzWx@6Fr#$aAgRa{6iL<`@o2EMV{j`sA+fUoP=KcJQ zGtHNzX9#C*Qp;AqP2B6U_hwG!%vfdT*U5<6Th<%jG&3N|_}KB#W!?5_^d=B|P(SV}@++H#Ng4bUyg5Vh&VIUKX z`pmO4D)Bf$XE?{wvK2y3I}s6_$pi(2W6dZw*Iwiey}lV)tCb(!c8`ePB|wZNRq~rq zxVv{hxj=`Q;A7cDPS?!Nrv{2ZVz@0kv7A`!!W%B$V8*Qrff&YT=!(e~ zI2%1iCXAKwa+;;so5up~Nt9YxQx$btX6{=ocrqnHO(lDkC#=1<_0N{nSe-sG&Vd9W zN)eLAD4|Q*Lr^#V$ZPYJO6RiXF_H+;{^<<(PHzeu{*(b!$LjLclK!X^it^xU$`cqM zbz$T*1Xe%D<;m5InXH1lzAJxhdmX)FKQ7D_Glhhtp-tBb-qj2l7?(KPdeX+$x;Tfx!ErepVvm!1ya`<2d@qz4r=vr5QoLoR; z>?ZhGicEc_tZa$V6hDXDDIx_9hb&J9lS zlj@WFKdz=^nDM;09a5z^Us5a|zvn_vC+L&#IEV z@8;mIF+_i4zp-N(Y0@90ioCc+{!>aTlJlM!`+c|7N{VNkvCT6Jb+vBRhrMEn z${E6?WxgzRyq+gLQ)bZ-=5!!ej^ki^)GS zN;c;&mF2khK3M`y{Dxa@ew$MVhK-L6Ikss596PsGFm|zrW0Z$2v}BIJwl3<+WkwSV zJkzr`w?dxxoriw#VrOOPIoT5+pNCz5aCyn2z7`BX(`_sjo}Mb zrLZt&<9U!AY2W(X}CwaQt0gR4j zpBtM1FkkjsV-*Wqm+%$;nAi&a3$ z)X{g5_}&SAwjBDn9ZWKXQE2sp{LJrw9JA7C;gba6*PbH9aDFE#=(a~dv8&>UA$#+& z{V!)ybF%FDk@7jI@u$DMqkBA{Z_%!fd)ucw#yl&^sJ|X5h28#l9X~;L7}4FO(?}Q% zFqY8nJY;|pnkdXjcQtHF-oddmH;%J|G111=M0{Pb1=@H=Q2WB$VX4qRCR&b~nh5<_ zF!4SeWtDX;DleTvGCF}ekbOpRO5E_a2*jUrPgToZs>kqH)huvm(cP z)CIPF)a_EZEe)|T+bqg(tvlT^nZetrv|N%SH`?O-py;vBAMrytzw5`41FlJu)#l1~ zeB3@q8hMu|h`s(D>^!$T?zSLOm~f1ffmVZ3K7A@qlKEKM-i0l@C*k-JDUibKQ>Yl7 z*+OsIJ7|(B`64b^N5LM2s1##Cr6Lg)WAG5w*4^TnT}R-Rq0#Bs*whWt4CB($7eb02 z8z8xN<8j!5X3V49=|aNynN@&~mK2SWBWZ=<{5#n@zUwqNoj-re(?zMYpehsI|Fx#( z|0tdPu9l_w1QvZxtJQDzS~rt9E3WIQs<6+v7g&^cX#WFO98B8c$k70} zTNC^)l3AY~TpuYrhqO#o7Dr1dX4CZGdxO7{TvwMDWtZ3;(0?%UrdVFT_$65rJm=Tj zJf&Uwc=CSaJIqy1<6f@e&DK58%nlN;=*E9=skrnOnuB25x$l`%dCvRB(b`p)V%KBs z5s#d<-QXYco~BG4eg>4YmUu-bj_iuF%1i;a0=<5cAhTtFt=HRAmdp<>bsY>$4~^=uFB9fne;AWqiE{`WdV#?poK> zAvS{OI0;}7BeNF-s5)VfAe-TI5=^QmLmIN{!|fC1_`%iXf})xQWZ5`+Rjd$858EvWNvqIBO;HUbVJ#JqXnD_Fze7X!-2)ao*d2++OMu zpdaM_@=|ibo2g@A^hB^vbWL>-iZbRLyEzq1?1T3oVwoogO=tgFIEgU-P-|&9t80LG z74_=!2EKjG9WIJ*O;i8AR3S}(>96$o|9>5vO?FG(^QB7+13%g67}~%aXKxwRhMIN_SD;9d65K76LXqMGEgqa=#a)UQC~ifH zYjBE`7ATP55}X$I0EOUCyhRHX0t9(8&pT&kp6|TpTQl=3Kk_4ML%_0g7AB$^ea^7XUihP{ixBHAMTlBH6DdmT zu}(~0s(YFBaSs~C;BB?D|CVkq{M^G;r+#H1o>bAOZzBk?E$nB}e4Y>L&7~?3 zb@Xv30N&zH7ql8*D`lrwjHrCRJzMzva5762p<{#t(SEPPR@7SE^JciiIG2yra-B7} zX-0&zU8h2C#K922N4wC8^&ysCuFOlDG||_xWYB8#fSNAm`Wp|Wt z-5^GAqwU~!4Xp5@x)I9Z=em3PwXc77ax?F@^H?(OQ&Y=$)EmWfbJR*h1hMd9*_+3} zfC@Y}8HqYQIy@prr7*G$noJE>A1U@L2@$XI)MQIGy!?R5_oV%HU$+o1I7hrd8I9h0 zLWIYD+L*O`3+J{r+3v$)x0(zb+X$wpU{Q#1lS`%o)hm^2XsM{RkcLHev4$EDI zy@^31y|}{}l|@G9jm8@p6J^C;BarCmnTEiX%ee(32GugG$c%V6lZtmqZN(zEInqo4JjkYDV^esjqlc{@S^Pp}iH!MS6USCxHz+Gicj?K{e z?D_iLrR8xz1*s-yQ58p_00?2+rI?^xeXq_joO@;G>~*U_5^O-I_;(wWu-(v^dakyG#L4IbS5RG6g#V{3JjKo_oRA5)!(PP~s|K3|8xz^^`@ z>VwA5g^@!1G5)EaptdhwrXWLsZ_q(?Ro#@nnVd%K@AoCDH6i@0y^1ZE+Zns=PIR8F zMLxM3A`0~+33I#JMtPI7;`Isbg-gtr&s)WH#1NQ+(pural1R1*U63V4_OxNO>}pMTFb_T8N>?yvIN zpPDZWvJzsBS+~d@F|RX{u`7UsGwvkaz*9PP$iL;Rk;dR*jYx}&kwl}8&>Z=_0_V-G zz5zOy3)5v92YYo1f=tc%ZG&r^Q_bC;=MMXB<}}&eto_zORSh)_;(oW8=hx?gnr*_p zzPt8(2gbhFnEy>ATUqf8GcrS~`(uIjxC&!lYg1AE75K~c2o3Nnqy3SSp7Nq~neUAWx z1#8%5_iq?|d^q}xkfkJY-VR2;@SBg`dY^cgZ@;_dtaE>L5cSrx;zTnb)F-ggGxH^- z{V|38RoXJh{cgd0z+#GyDdSl8R^(B^;^pMFpTP;uoF`@HGZLKQ##!XGCA~({F2bkT zE^_@aF!A#j-oZsaIuf&-|q*v&GJ;tjq|0wug(fr zp(r1BRHt%uc;aXomD!(o289S-e(=wxh*Z_ClHJF9+96Vk!Aydngbpj3C4Kv;{#3Cq z>pBAR#E_^6z~$+5`uDuDFF5Q13q8*i+oEzJR7;IV9l3WbGYnL9#+NT0S0XP8dCUC@ zk-cl9aWl?EF0?Zfx@~-BFp^ydf5Pz&9}IC%=JSjNO%H38&Qz?RGmUV_?&^U$PUfpL?lI2z zwSwCVW-$2AMYqwPV&dA1cNoi8zRsrN1KZ*wp zgmIY6WGt#Bh-Ik!&SG-P>(ep#RcsWGTi3P#_YVSs!1@_QjaZQpL;hLS@!?D6kBxNV z39b9;6vM0}taF}rbcX9W$pdtfX9aX zXc^$8oV|-d7tuY?QkT(d^q17&N9%)l*vrNliZqA%b*VyX?F?&d%h}-(tERiWdmDXJ zj80}@Md7&@=Q+inQXx*3qZ+LD7kskBchYMaQ%h7vr=2xlSNrbA|70GCCmH)yc_q`@=6-wq(9B zR}S}PFTzK1{m6u^vP|>+LNm$hMpdi6_Rh!rz6s{OBu^$9r;{6+L-2;xI+>2v!W!5d z8Xk@bH-nHpJa#WTU;jGpRqdvuWUX^q%>Rnrw@>Gz@L%APUycGguMxpmy-xr|DT&Lw zqAb)p z30!>vz><v3S*xO+(O;&aL=+qQxIUU#jVmw@tvqcN!+ zSu4V`8e-ks{58LPAppZ38~Ksv)Pr`M7YtSfO_|;@UpjjIdUEE)`dI9(V%=%(@+2_H zy2tyR)|YQi$dO*&Yp}|W{)RE9tK7!(-C0*EOSz77%bj}|fB-*9mesEVb8-y=?D*qQ;o@PB4j+HQyU=t8C z9|ctNO=^s2q(IrBl@=tR?|r?}`38?3VL^%_ggvO(0k9O90i$YHfLn+kEA?*_R919q z*hCd>AMYPU`K0~5e->g@ygrIplu^e!Nmsl|PiVhqZjekF4>g=V0GyaW+>{j*ldOTF zeW>foTdIn}@weR7Vi#wfoUC7e#KRLqQlYUXk6VJg+am?r>72OLe_LYxHrO%zuF$xBe7a>wc#%xNx)IWHzS zCk8W2qt8Zn4pqW%(>UM{*oyS;PFnzyPfAT&{7tlF&ux^I%jqRR|qpm7NVSS)JvCgS~tb7tyH!6Y4RPyK> zk_W0US*FzaDxg!b)4Val%OLMbiwhHgt}pVanqo6}g{(_0LpOYl9#ULZ9@THOK(b@0 zqZ@TR<4nM-p?E~(M8`kzX-VZCxYVEVDH3m^^6~Yg^KTXRxK=4#a{^|r9TUHUYY?a; ztf^<@7d1o-Pc$FpbvsEf+*Mt9LqEXl?*@^MgsKWxyP>{)JRG0Q^?jLFjVvp! z%{g*o|C8?R?|ZS(^~0Nk&LG>hAKGC)$6mGac7sHYQ@x}l`H|S!&}Whkd>lF2zn2|l z^>@EWak!$VAusf!mSywAouxD zyvfy3!93k65I!$;Jh$ttoY|R)?dm#EQ{KAnZe7Nt?zgr#S@at)`^Za#>_pe>V?cA@w!)4#kD>_ekJ0tPau|he`UNW^FlYa#!M#R3+9!!{udE)#)B}{gT>|H#V35?%q|#^)fVmi zrb}za<=3fS%zV6}d>9sCVQ>cy^J>-wQGbN_l@FXM0-GiO+HQAUQg?Rd%~;E)04{2*oEX^7pQDW(M&Fq$j$f%x#?~9-_sS3l23##2V#da;$vLzGp z*6z@=ccbOWo=@1ODTP?-paIyjZ~0QVvi4Uosbh$2V;P1GUoi*4oodALa^((iq_4$S z?(1AXa5xc|$S)phF1m3jjJ7YtF9Bp@B}cs9{ZSPBGQACU1g>rV?bJXsvYWMnSQo|i zWUF!A`MuPwz(o2AaAFOk=3$BI=*Sb?60*S*)Q6DE}9YkowU zd?J7asf5ln#UJC!Y#}n*FQli&0v_p`ys7*d-#m1yDrx-h1;gKHO#cKf6ANyBZ}ZNq z5%GmjN4Hhg8wsS_J)#WM=)%VS(GgNlB4|a5^g*3d=YHZ0&jgFAot-lptb+VJY1{4f zxGqm4+Ss=JW*p5wcGzlL7FbECUB3D(u(rWz#*e2XA=Nmy^8hM}Ql`Wq7iQ-|u$aYn4&Mi3cIyrkjHhv_@b<)%a zT69I=X)t2N46QgR3#n-)RMXrwrkS``=tEvhDqN||1}Wxf;DgJR`jP;P<+KeCzfoxl zC-I*0TTu86Uw$wuk)+2Z*a}Rl6Di^Q!k^PV2RP5(^DYK0&7 z)pSZD5&^IE3f?_zZoyZfAAUve;_r9=GW5&opi&tZ|5PgCY;*J z_y>a&#MD^IR4XfoWSR7X;PWgZF^42oRKVb!NEps$^1W2U(t z7Lc_XzKHef=-nYQ$gf%WBUV>Xd*ZZXas$Y6 zGujhznw9FGcVm<(AH4zCtwuvh;; zxL3e}InsW*Q!@_=+zWIEWb=x9vY>)*yieQaHlP3dV+-jYbc!!W`)*fP#k+^?)5-); zA*8lV?RzKf*HEeCP;~P&m7v}xXsUshx(%j2;Z%fS#BSDb_$y~*Wx*Q1|A>il)CG`s zSob`Mezd$QaPGHgX4XBHtV|u@nAoGJDrZ!jqLnVF2(*4gTj#hd;owu))0_M31x%f> zCoaRIQq5aWaM`joUEUzqXcD_jLr7Q^cK5QDCbus~6{e&kS@)QAu;QCQ`8Qf-W|^-! z+Cho!rWvMron@X%W35%O274UQEYZy5+ZrB0ge^a!ipWmx+!a@BwJWAvw_MU=|FB@o zqT2+Y*DTvrBY&1JpiSyrT%IWc8Lfj8lZzv;QOQoNMP9utT07m1kG8*#?OZpeoK(R| zo>VYQ#6W9;F!S}f9tEm1W1O)TOGmyo0$tb23YHV8iatvvQ_d|3ORq2RHd|Dw zTxHS<^{OumBW^s30dH>Lt1vZ04w?4G>xToYOk8TXZIBi*D>Xuw3+G4(aA!fRGz3!v z%oewP3Hv1|$HzLlm-c&Jg8|$(lZ*7>)0wupKxW%GUmC2Q^*F|&MLFOStbAXB`^Qr@V&meal2`iyVaZH zOF_vzABx$TC^P!N42#@6!vr0n#VX*zqY<-29}JLrjDg^oZ=`n%Knm zOVgk^{1{e9lOd;U9_=XzWCn43^0rLsz;$18p5Ftba>pRUA*nycWRibfki~ic*Z>qp zifg>AnhWQ=hm}|%Kep$|M%X?Qcioe{HVOACZH%eBdS~Q=@6_cH)Fz=-=t_|u_cZ^4 zfPCC^CfZrDE_G%eNbS9O@qUOBf6S@u%t382gDERl&Pyx`;OFm<5%lUI9%)3(>E$C|A};~+ z5^yflL$HxCrgVbfQLiQxkDo(@0g!-F+tHE=RFNvbW9;&9kSU9$Hkp(*{?vZQsG%TOT%s@B~&Y@(Xr9N{t8aZ1RzGAA((};^{~rFeLedzd;V#j1-EDE z!01lZ%DbFtJYFRIzN||}rH1$TEt$rN4XEAY1{&ETu+ zCbs2VTJ~RG$GHnBRLiI#%z}vgu`vublE8aF}+qNXl?k--~yGHkp zLaNRO7wevwI~-TO?pYX;oRX~Fxte|m-F+7!hpGV-ctk)MV`pieOZbNKzd>T>BjO zUf!Ony(yt!kd)D80|9C4R9?rX(s33V5_?1&y=5M+K&(0+=BsnFO}$r z4DLMALnaq_EIN}=!gE=FcIS-m>}N!0%}ptEorxt|4+;kdJz||-K2?6FdQTMq*<~L) zTJ8YEErmORpiUQwq)^_xnTcH4lzpt39R(?rfFyEfBcJwbeBaSE1k8*6=wf-3d$Q(l zcbs?<)_x!tLm=xVl+NET&}%&ibSlU9EU)te)%ce&sRfC%>XcSF z$i!rpzgwM+emXOYysxq)ua$?zqd{h!x2H{N-=f)5CjoVby zQ-8N7M2`lWfraI!MkU^rpMj`T1rGw)!@%`(mk4LX2Oh;R2{DY#AW&KFtFZ*%+BRTl z+J09UZgN7CH!~2e7U`R`v1e3Dw5%|RVG(Dz^F;>KX4D2| z%ip~0j%qNY^iunDt48FKxPaDjO*(oz{ch8lal_k2Kuzsh?*HJ-wO}k|?%L&gp6yN%FNIG554k?Ou=BIb>x0#+yd8mk zIuBmDhaJLy)f*!k|HS3Ht^5ARdmPbrp7f(_8GKgS>TQ%|?RLIvePv0OuT&nye<#Q_ zQ5sz0@}6xlpnR1IE8g1^_~zWPrl<|t(^GNR)HGJU6&gFsTf!g|&~(0tzJQP|=9?VR zDQ7^XiG?kaIe^`%DUzD=KS=Q&t)#%RIZr1Y0or%RSl;IrU~Ix93dKS_u`8;kO+r2w zo9gxS<=AX;?jM(c*HjHyyy5zv04Jb=_bMW!bita%unJ-rV8*f{;??o#*KHWHBSj=T zyq1-u){CxV%16Mj#6LGE3@ep@QMK;olM40WH`hlKJaLlk=5FYqDx> zn5iY#%H?{WtayWNKC&DOH*+*}tV9g;L zc%mn^DC*}Jm@tlHM1tURnVklPpqr9AjI@TuR%F+EnTm-j%zhqTBGFVa+N^y* z!S11!yqEkVsibdVG*xH8F+J6UFDDL6MhWQXg}uu18twxni|+DP=5CWYe=R zkcq(?lj;2$-3Ep&NzC%6zs_oI3W;N!%B(vK{Dtvq40tbsvRJ7~zjDuarS~%sxPZ6E zcQ^-^?zW_WB|3Ys??ljC^SDXb*Y(l`jXE!vl{j1zI8m3oLAGG!XBQgoDTR*B&>h>~ z+rVlv!K3$7Q;Iu+=jM$J4;zfjdQJVw&?%=&0nuVYy_t23l z6dzd381-haFUR}K&WoZf`4#HRqLp6W=BS8(87k&miY~X#pYtSdI)rE9Va-R~qmcKD z^>HgafBdsuNm6xtW8syiXZQn`ZZZybjsi0maMwKTB#8Da-Vnou-kj=*-P`4L9!wA zEY1z|4rjkQ{q3amtZs&ZTymXu?rZCU>MbT8UtCH~ai=_UtjMB~vzomf+n%Xa%k6<- z%1(B>GHsuLp{A^!6=cY4$d=Gw!CrqB?%%#S=f&*!3(u>MltO-o+zy#b-AF6lsIzeo zV&M`y33(-t@b?%oaLDcbkTXL8$C?wux5w1mS zy#H0_BG`>qb=W$HA?lg|kH#gqO8Qay;ennlW@)YC^c4v>G;3>QnXYB4I6W$pMk>pP zQ;8ctb#Mvfk`hTg^1ZsDxf;KGEjeeloM}Y-+fs5tG=BzEb&5h(Ts?oC(DH*KXoZ%0F3!MsLv|BlL3h@QLE5*a zFg2jy8t;!*cEucie4qJm9aIQC^nZ|eX$hkLH6z~Mnw)3K{SO`T`}tw;rRG^Cx~VF5 z^1SWPFa%L?lWbASsR-f2{!zHQRUIYwJOQtPo2D=)g)X8j`4xJ7^4@)9y@sb$sV7lv0N< zouadm)F`ixLXVOyYt_q=IPH?fb$JQwe$fhnpE}}Oz`Q6`Heox(Vbt{6*{;IT#T-^3 zVor=JXcqZGu8w}5{en!y^lP>2*DiBP`sJRtO-gK+hHC;ajCeCl}KiBvvk?ldXbEt*m>8kJcMtrzluV{_VI%lu$>)8FicU~Q??*)2t zKCHAh1VDuoMQE)JL=H^et!#s$K6dnEzb-!7^D@+Yq3U@ypMBo?&{mjyELhm5QGezf zfpl?fOdwzlDddL>v@}@S(NUHXFPMRx^WF8Itg) zn6A4et{Uayp2{3Vde(VE*W)k4vPCTjXccNZEOnxf%)&odn84mg-~ReEk9P(PUrw4^ zK6ULErcLpHRGVw>_d`?j`1+g%8_l6Xbp1Ioj|OPbqP=f3+mk|1S!A9+bCpn)?W2h~ z6RG$;*_1snmpJ#Z&m_q!aM|oJadxx>DiwtTjKrECo2`Gdm~X#7#CO`g;=ni{mJDki zJh}`q>z;DP3-_&cdn67uZ}xKZ62y^?f~^l-%&02N3mk~-zF~0b^htlS7XOLpsS9&! zHEbh9A1;VnU!`gcUl@%Mxcn}rDU%EO3<%I1R-?7wc61gu4rRwWhH z*UY35W@q0C71G+b3OzDd(q@P2d=JZr^ra~H4_-s@pRch!bJH8Fs+h_yt9efkn>GSV zxeKr{Ie_m(wfuM9U;1An%}Hl`lXN_8uIif!d(!ujljmF;5Nmg z8Q%#09GhhM@Bm>iphCst$Ec`NmKx=bF;5(pp`%b|HB%jWpFMW4fHDw|14-Z%C)B?U z%y<Yy!VlqJrty(P*Tf!n6vRF%PD_i7-%j$~^xG0c#$hkF z`x4H>dbUy4UHSjPqOj{9i$b@nvsjcrFV@qJi+=n_0D>N9?s7F1T z3|v~TPAJ*5X=eI#UZv!uOQ`2Oe&d}i75+(?vD&`L^s)Qb@5P~%?*f}Yyko;7=e;Mf z?N-QR->#;UAGK-4R$6Aqg@~>S>b^hNPV#-ih4_e?7uPusm=6@eaZiq+#|w-(A@bn< zZ>H|^>&`Rj#3*yn-cc*`g^z1UpHVhg48t?sS>(%?1N5N4@?eW>iE8e^43FZ}oEqJG zKTe6<&UpA|ccJipEM@El;|Gm2p>&zkii-g(i%J+cpkN8dk5*Nux8?X-zcbLy;golD z%gycLyve;!e)w#s{SA!MH&px|OLFy3vvFxI>kZ&b5nmxRvPv&XY+*qG22=uQ{ zL|bG|wP|g9Ox%=88Qh&s>kP_4UGE788oaFHn};1WMbbUpeQR_*RUu<0{JgQYb~$~^ zv?AQls;W$T*>28q4Jg<4y~*gh+HO;-KeRxx!-{?)I7W!IxeK+@qiN=!aiJZ#+M91E z+u%HODO#sK$lxVxZK_5R;w?VF(dTlOB?Ar(2MzcrdzO~(Q2FS)*n734e5+a2`40w+ ze@x>?Gah>%xZG1~U?Ad99 z>-VYV^aVc1`2E71#Y)1U<*?_4hpTi*uhftS0WDr$wjPxDI%f*KN7svc_=hiajC@uNzIxx&Cv4k@uVCBpskSUF62KbeD`#(TPQvdlT7<)G* zYw3^%pWbasR&gdy@Dnf{F7RXdj)Wg3R;r-_r$6V&i-6kci!Ot>yz6cdaCxq}Btfl^ zFd#xIegxwxp;=e^aPn(WuUKNeq<8_XOi{vOElemTr^TDKM3LySVgB0-Ni{D)yhSO% zrYcaIGqIV7$){?8CQq(77Ewk8r^#P4{{6zWK6y^-?_ zT-n|}20+zaQlKM`W*O2;E_=7rM_ks!)&dKn*%;`;M!aP3wYtfG!Rkm4#kKw)_O!#y zV}pD}gNkqaO861NZ)Qn<_YS|6?1bsX1YV5c<)j>FbKwN2e^AzcPM&4sA4u^ zSUwSuhbkEzIdxP4!Q%g)>OXh^=Crwk+mFF^Cq{Yaxz zGUbdSGV4+bFLwB@akvS8mIdF8XQ`#b3LJ9f>a?xN_%Nnyy16aDqaVdo{KH)n&{l!% zL~dps5A?{EfJmQ8RuG_zI1ALduPrDkk$$?>saIhm9vXH^l;tPr&@yvW2Uk%^s z(43Z14(<@Ou@qSbgLp(Jc>;*vSNvs_561iTkgyGJg;wkD-vi zQ(zYd()s#;qpQx))cGu^epsM3fD0%OWWu11v)n(B^BRwRbypw;`6_jv*DoQ!aDz~~ z_z9_*``1<#S|VfxmIsHH+*vVDj$FP1CLEweX7%ZCL@w}vqWlL=SX;e7E%4aJn#Ne# z8=qm|S7B|!qMHk^?h(qS*TBhD!<9ocDvW9R9k?07(N-_`F|OuY7bM`VCpbWvJy7aF9VdZMAlvqW zFF4XgV!`j%$sQ$jn@^mOWssp2a{CQ5K>dApjYQ;s(02WCnk967f${d+&A!sNl#C$P zJh;KVVxx4GaW=Bb5l0}NkB*`_cZ%)%2Ijpz3QpOl%pSGi^j}`+t^t)Nz9}(@pV;jm z-D&eo+>pkS`B+Y#osjX4DN%p8HVHTYWNe_2`7nT$$iY!}_5l&{@=_klA_WI<7y32W zPYt3WED_q$G2f>>Ac0L^WQE)w8x~lEi?!2wqpsI z<3YX!LXigqRvvL3p4tkvo0sm1=QsWy;&7D*@S{ZIel7ac=Lr*A`4K*}*yK&P?5`6D zz5z&Vup=U{=&jq{X*b5%A6+M>9Rfpv+Q6M31)R2L%8gRJ? zJu!bnGq^bL>+It`s^YNrnAU#Z0HNCwO>U+6?`JO0e-wGl8sys7m${~;1Q_(NcdJ(L zsl@yWb26}Yo>FEqnkEn&>!w^BZ=qfEjtRGz4dwe*$jiS8&P( zBV6!Kg^^hiT!(BZj#TS%mpNjDl0L^bvxzgo%Nj3+yy%VXQl`(2G>u;9>z5jd1xTXp zSQWF}JP>ZjG&P}ucfr^b@-cll|JdA52ShWHX?S*>Z4Ae$bsqJ(x~S)3K6rcc?e0AG z(OLU1As`>4s?N}1xTu()>#oHiy~&Hw;UvTJRdWVsPw`&AVr;fSG~oJ!Liuo1lb}Vx zE-0b#^38)L#Z&Wp{}iD7UDpuu|ETEybMW&P@$Mh2xulTe&zt=i-E|k%c<}}jXYRwX zpz$i7D+l!q7N%7C-ny#VDQRkFi<+&QLY_caSfjF;zT9wuKXIfGSGbl0G2%(3iURH; z4Rfuzexz+YSm*QlJ%^W;VCyXGhC0tZkqJ9!(XxmNqMKe+Y~o2UNq&?{X0XD?!|qgX z^hQVkP(S^vN8Hp+h(Nh93+ARb*aGdzUEi9wx+gbs!3MU`tI#yFPW6t$i0*0?A5`8j zB6DoM;I39w;d?aRpIqv_Z0`%cq(WEMWA5H1k2^Ud)24>(OewLjVr?EFEMI@TCv+6R zat1sy;Dv}nIDa=#4VpZy*%bBDu%M+T3UN0>9r6ozdw+dl-7owU7N(!A@H^wdvK4{?) zSNidJ^6uKYGnUrB9~J`t2#cfCf~%;Tmx;GCGpfm=z{%WSjvh8^Pq+(p^oAl@%xNZM zyKD)SRJFB!_MyIU8&0_(LJ3~X4R6fgFh674R?NwIr3`zuV#ld{6_401<(;)>AunH3 ztMy-SwAH`T)@iWRzGN}@i)?2pcK|vh08UBeXTPUwqWvN^VgxJ7f>!a4MrD`$8vnG@ zqc*?b709@OmPl=RT6i@+ zPUOY6uF*k+vkn6^oE?|oH+w3|GC+O8J-tj2zGo{KS|DPo6icK|ampo3O)hY&U~Uz@|8Y4hcC zqeWd`3W!+kBcq(y9B1Afyh8MMsH-!o_`bQr;zeh?f+{TYN7ZzQl46jetnpuBdTZdx z$ZLki>zkgC2TXR!6=%Xo*`~rF@)rxZl=^Wnhqyi_+6UT z_KEF!Lfu#Y;@}4zx_UzBEhF7`K_Nr@B_(Bt~6!KUS^21}ocATult@Yg&6P!1f~}G%G8)8bf7V zrXk0j7V1j<$d0j6^^uuu%dpYOw2HrKe+=jTiE)sq8Wn9)L0&%PHiY#2Lh(f3nMUaK z(jdKDm1fh%HF8N)X7huB^1`^z&tdu2Mx?Cjv@&no>82}yIO#wQ*O%aTT+1@FOx-{| zIIPl?1_Z@l?%;UUDlew4wio0=%<`6<;(+@XoXfen8^7VGk z;@+mvR$RvgHOdX%Qo$I*sJC6>&Cro$72>Ov zbhu;ok@=vTyR7S*=ma$TN2@&gQ!p zt0_|oOaKoOE+1?20AfS&iuP*}L_8HAAn>3+0u&yh9|z)m4eu!J@D_5{p6C*;X}Zi1 z_6I&tq|jP(^?*J=u4XY_&E$m7Z*% zeYym-s7?Bv25rfNZDQk2r$@Z;jOd7Mgp9mf8S(tXgKy0xE(Ha>rfg2S_j%)>BbiKR zaINShj8^{n@~f&>joCE^L5~9*G~Hw(+%sw@7gqrGIVZxWC$D$UdGRoMo%>_QgTdSH ziVm(XChTf@mN(<(>Ff(`hu+Tq2UofO!HM&|I&-_KW1N^AgSfjx9`HZI4lSqf0AHm< zmwjl<&-$?K8Y3SPq9UrQ63KQNYLk&(uC{!Yr=r8E!r`>E=4n*NE%WGtXI{QmkzbBK z@UcQhGThy*Y>cc8VKWZ?u@@wTWP3yI7E@!Z@T}tC5mTFAg42@H6UX&yo-GTN!vy(u z`Gg^pLrA$@9ZtNEJ+~r61oGgpKfQ~|*04tD;`s8i6oxmhDv>s;=sqrD>bSJA*O{P)45 zIpm)_lUwRPBp|=ef4W_1@`B638FokZj;c>MC4VLyf%X?XY6VU=Gq|5W(o!W+u>i6_ z-%|}@OFJcWuEit@2ZBGqIHJ`yRn}14BncVSRn|Jq+NVzP>^o1EAwkR)-%Ifui;w}6 z@>Ztdfz9Rh&;S8nLansodfv=BWsoypOE&G`lP$dP?*xP`ceNno%j?;?95eVmE1*Bdpfnf_MM ze*MpolV~rCQGL!f>tXJzKq4gL%@{He_F^Y!j}zpB?KL%fb+@=FWiR3F-zbQY>3ZKJ zaQ4D?LxnbJGMvQaE<9vq7yF*Qt0-Czbv(2dQ&KG2heX!3LMgfa>M{P5p>7cofA40) z`>Sp)85wvY9-bU!mV?ReUs0e$3hqP5l_aQYZ|sDa-BuaR`A31Q&G4j+0fy zrE;mkrd8kA@*;mRsF){H$KQ245t^FET)LA8H-a$r=vJd-mIEsj)I2oMZytbEVo8`* z1P7bP9Pm8IE`! zTR2eiG5@58k?Ewg+g}|W5PMnzIWJ6NYCLD0m-R3$ofHNz*l*}E=$&~F&I!i{;HUHB zvf*)TtJj(!ILBVE?8HF6pIGS)ePUy|Rk%lf#*<)C>4 z<~wxuzdp?^>-yhWR^N~I;nE?^E9hYVxz;uBnY4;}LOC<0ub+(SRd+03uC)wN#EioB zHPnM1^1s4+SiU%+Jocz476>>rVRgzL5+;KI@6Hh=DKAE^Art35xx_$DZyufJDrcA5 zbtp}ut`<4Uq8yHtv@g|iUP*%A3G6$>+cyxsczLqc7|$f)IsXaX>vC9GT((%oP@;{_7yzb!6)u<}ru+fGHvtd= zUdT()?tSj5tH&BC-{M=g3^6#7D-G_i5uEm#vOVRKEK7rjcl(#XwHRL-_q3bKf{TuC z7G^ax;68^ z7lFne*YNc;y?Q#^A50Ww$2}PA-gk28j<_tI1OIO-?m{!!{|B#KxWq6Vq-VhY(_{sh zVLqf;{s2K3q_2M>%!yDP1>x094qABu62j?E0Z|-U;V_#njQLYLLrj02${cRb>;Qdg zSy`fHFWYcwoN8s7ji`@2^|g#-*}eW$K({hN*4Av1WBNh@DJ415@wy9a+ObO1RKy~*B{L1 z$+fQ~Ja{klafHmDReBw?`Zrt9YIx9sj&qVLAt5VLBAWqIdqsKqRen0EDEDABOSd8) z!u0b!^oXQ+;n>QIKu^u_@v{=|fc)v=vPwTZEACl<{2}b3LSpmm3y7iGc)}6tEPWBUjGY7^*0{L|FzEWy_&DOZtb>g zA_l*;WB2iZJnvQXP?8%d+$;UCGK1Ae`Vw>DeQyOys^X zz`N4wH4=ekjUjNYDI@-6T)^_*U$XLu_T)Z);Y4aYF)k;2OTY9 zGftvbCNul@S-)tP!1+l+%I_nBLDm_F%^sbQ zg8C9Y@U47tO5Y%ul)NiD>;F*po>5J=&GzsuMF9&EP>@~%NbkLgAP~AV=}7M&L^=Tl zl-@$G5k#c-Doq7Jq(qe7LXXlyO@IJ-qj%B!JkNR8|9oLBek-4@Yp$6+Gkf;T+CY#c zud^odffwGjzPLIX1GMhvwwA>)esatCnrVpCzEkyk|l^7D<%3$fN*&zJ*wiJ%cpM-zYXlAxl4~t*tYj|?4Ll-EkU*mlD%K}Z}{YY z*g92{<_XB1kmj_!9z}|MKn!7du?&!LAC{}`O{yZ4fX*ck>+|xtln?~~^qU+bYOgB;ZT`>C1V{83w#OfPET-RR zodSI3y(XYdui+d)7PG2u#405cy)UJ6l9$ZNR#Gs&YN{_5ueD#hRiTi?%^d`q&J`tB z0ls0r19U2G>EOTv$h#1;{)2Jy@tfE{@}+x#IOeSKB8Z9WmKK0dMpZ-qI>u|f!gqBh z=-r3qY!caM7bX;g4XWg{7&;ZbYGC-zp_2M$aC^iHl_H9oTG=G+ip$Z3u#Vybl~4`V zXR>U?j~V*{t=~IB-V+Pmv2UIdOGwOMu@v02q8yY7%1@7J;O)t^v>iUr!i2-geHHfu z>r{Y#m`I_?X&9rIip~Flq5jV-?atAd)tRc**{idLm#mpR&xk&_aPw=Er864=NSV9<8aZow>LJHiQ<9bWP8%Z%$vaHMma(z1m4@gxnhU> zIgf3=3flUZ3_Ia!LQ=p4o^8kPkOOpe3L?1G)6(nfEVy)Qqg(z|6Wv(6mdj7;W6>l+ z=8(Zhrt{sAk+c8c@H@Clt{0pTn+T!FAn#U-BZl1)(vs|7UkOCpcIM*b#v&@wk#Ef! z^>X7Yngbi>EvY~4VldVpK0L<(p5XMJws`yaJn+)iTmy6dk4JzH*P&)X{~b-?Y<~r5 z1n#_Rt}D$W;w*dY(I(SazJZVFlGtjES>|pK$JBCq{EM|`>Njpe95gN(Ze!DHq^oPQ zqHQ^X90I6aER&*gUtHHb0bZ%N5fGwR0By-qr&HHEhiId=o;L!nkMdQlyG&EOIh@Tr z;dH)}WS5mUgXThPeSKqn%^=v!9bQwdgjKq2>AdR)ae*l}6v5RgkTlANPmyZ>d`Az8iQ#r@Qji@x%MJ6_YD(-=M`z5BjVN9J zDvNm)+J3YW@|0mx`~5IE>Zz#Bwcv^M_UB94aNB&9;&75|8-+EM8y#b+@nBG!dVZwF z!soH+wz8Tv``8%orBCOEO1Tdfgw1Gv1nazkAApJP@1_OLcU=8vMHYcE|GN-U?fT;< zKa+|H4E~2W0pWi_cIbZd`Pibd<`J#Sm{B){qL`QdH5nnH*f(lRY6ntWEV4q7@9Ag5 zfO&Z?`()!t-KsEI77F3TH%s7crx^#}-a@obmmfQSw1t+P^<_1i$fhzf88zViYw2;4 zC91{?R&w_Xtwy(qq6gMdj&%cFibVVseNSDKEMpYC6`koQXrIrd=i)SDj{=ka>9XYfUu-!p#D;Bs$i zbt9{vv)uY|)`_|_&1pXFsi4<|k^}x)4rcX9Hh@rBp%v87s!1=HStgv4@wCTscXm>0 zMr}iR;9bboFe&4?k5a?C^?8d>mnW<{=TaYUPOnKi6M~@jC?8AeCQI+INu?W}O%dQx zV?M?7mmw94w?9g45o85!MVpMi&Xtm#xK4VB?n>7vN;ZN7A4E2=*NpIy;NbBIP4*PsXs z8kDE>YiA}-LN^mZ{D6YjR<`$zM_XV zzh`CEZ4{df4DVSqWgJ66O#7x)u6raY-fnS5KF|vVs?#&g^z3Jmtoa_xkWvf}Lx%@4 zdq-Ugr2C)I(jo5O(%Ex%1Q4yujCxtPR%$>c=v+tTR`F!ybF*-u(rhCCNBKSy!&Cml z#%zKaIE~t(ycNHu7DQM~A&S3O_*J9hqb}#G&g%ygRi?Vrt31OJ?&Mp8usP|kTVxEL znUr42ZK~Y|s}Jq28(ZGJ;i-Nk`hO`l{XNwm-sgFK7%I;<;30fyk7~r0Bq-m#vt(1q za{LbL0QTLP4t8j4>Ih|&E;muzXx2<9apE_-$@+Z{Zl=|xm;JsOFr-V9GN}8`v`{Bu zV6>LAxst8_VGg;E%%um8U*9~+b}~cuK#K^#GDKdVh$uk&_AcCuDydzgLfK!$^ZO$x zVGPXz69(a<&>i$87l+|!*_MvN6pDtY@(2M;8KBCYgEhJTxc<-r29TZbVX~ujg<|=A zx@H|7aTG*6TQKInRggVr*wd|^wtXJG9S|#JWnkU?`7BJZ*46< zXC|(Qbt)U%A|Hq6-fh*)5eLeLAd4KE-bB$4@SWwQ2yU2Ullh@m26;(S@b&EIQhTJ}PlbFQp;qD#ukXsZtqD4`lPn!JiPDJ!q=;Op*Tf1|^Vp9|$KKk_s60$p z)sPydK-~vzD35?XEDHJ{>&pYPMq&M{{Jp{Qp#jWp&75~lCebWv11ffLg2Y|{9Ni5` zW;StC+10TjbhkRIRm`6kyA3;%*uMT?-Q{07JYbJsBGTZk<)o@6Cef>UqcgcQeoNOR zw{Kt{BpkW>WN_4H3Hxg5R$-!bX51gk?qwMKRXJX4O2UBkzdnG5c;9`7%kR6pq`9ZD zWD0ohUux}c0&qLk9#GGh!algB&<9X<_-AzCLLNXbkotASnSd5e@zG9Y^iZn%8N31Eyy%%T`c z3PacW`8hq~whuoW-t(s368X-$(>7*)B}Z(y-1Ie{_HE22~k}(`z<&0Fankua4dZ)d0`Uxk)B@Gj$NK-Q+l{ zEZ|XHq@?^7Y1&syzptd}CUCwX%Ops`E&}?I3r?;;NE#3X4)f7*SqYfF<^c}1 z8MB;#Qox3tv7{7f71_?KvkgM-a_7s=3eE6@8Ob`b&PoRmp4PYF#3 z(b%M{jp@E%-cAhSBNh4Ig28X0;W+NEIf78-znRan=j+wDk)ypKJdyA|Yo=sL+&y7n ztM!+=Nl}?w^HXU}y6QQB=mnoM-u}139$n>jQJ?JU(|K$S-wM~Qf9a03bpMKDIbHUKCV~3w2?6rhDPuUDTIW^BQiQoB(uq+*L3U;N*e-S z0S}atd@FcJuk}-GMDOuFiDQIC8FEasR}N9dcvWoCx`4}`itM@q&ougcrhPxD(em9a zkGU1fbY@cZw7mLtRVltvYZxq?FDqZc1{d<6FNr2i+o{WQ&X<$1ojI8ansCed9^@T! z7{FZZYHX1(e|`oc-nKi^6}VvTn6!iOm*8`Cr&|_jd*9+_Z!dur@|HZYq)2K1_{VD} zT;!(ouaxdT*HgB3{cv0L%zvUL82pF6Zz$0}HxYuuoZB^9ZAVt%flkrGXj_dd8VDD` zJrVr!<46z3CJ}b-D5kW!SE6kl^74c%%EF;mmx2;jZmVi|=RY>owtb$*=k)M#Lcb%a-Q{6?@%7E7!6$xJNEHzg9F8# zy)M~>5To}@%5go9gWnSo+R8+1u?Vo4+m7$9AZj9s`1_bwn{Wk%sEo$nvSy{fk?QZY zJ=o7w`cLn~#PGM&NTR|~c<8La{$o)9W&dkHhT3P3nMm5Wi7%|w+vJ!YGLN=mk)WRhe;W&R|KNSK1NV<7zb5V z%27uU*)GY~B;1~WZhbLIhM41-f=iyx9{wb*Y8!XAso`N0uX8(9P47Gx$mk}s0kNui zw_dIjQ-J{k9W0KDNG!u1FL0{ep8l{<%Hfb>*(@@l?nBU13pIdlTIj5fkO`)~)z!dD zA)N-JEXFp)bdd?_NC>O_gz@F;3f$8gaf#T^oX`)owiXj5bN&0ZMH&ey1A2SylZ>^K zmlQcJILv5Vmx_yaU#2Tr*}Vpj8L~&g3t_Vtf131vsj>d!gOIxRC#%C_WTX`kNAB$o;6@%ZXr5iYlXbU|sMJ2m=UoA2J zAVYK6ph>AtAlJ4%>xwOZMjp@0sdSTZ_ntp|L(=Y~I!rmF2b7mXZUi*hi>G#-l>yQZuE%gm{)nBTTitzKF-a1RwXo9QMcAobE)RZ%8BlX zhO0E-sO?vwd1aMwBV-Cq9dxG-X_RhN1_2IpUJSl!FVzpg zifFXkS4KoFD={(a7;G<_ZAzz4-H+AUxEAnGn8gf2GnT!#?#I~s{P7H&7H`W?z< zzd4tA00z&s_&IKSN_U$adMx*4%)Eo+?mlVB`P%XsZtaSq$F2Wg=2!owb1dvWz^yB+ zcg^FzsS$fHMaTO3s9iCLXB7(jBYCivktGEXMrJ=vOshBxNE_3coxa2sY)1RE@J&Y1 zyLExyAZAx!{!vJo`czKxO@JWVt>`DKz^i-Sr1yBwm;D-=yXoVIvQH$b-U&$@xGL{& zmbpN)ro|@~#w#|3Nfis9-M!Jn%V~o`j5SnE%2fb0F(p$VF$oMIDMP%s1qHH1&KVe1 zwyqlsMws($Y@{ROk+u8=%Qij0P?eo+?Vaafwp{kLG}o62xf&&{1;HH0i|6(>31YQ} z#ARJy}76G)Be4wiWyL)(fwV7h7#83K470s~NJ&oy5b8|Ib z#ay)>wK%knW53&p+JReW@Q^dLT27~YXT&U^s%@x-e@S-yRrev*ymx_?! zQtGEeP0bpgdAf;4j@{3b`z|jKf+pjpZF6HRF~3EUfCCyxw94*Y^$S&ABdGEcbq4#=t z^28IDNBS6*FXDA|7`qMSlG2X6g*oX5nr*@~%SuC9um~zjw})7b8mA|1l@i#a?G)c>vLbP&ayGKXy+t!w@MO9F#%NgDCCXkC3zj2K;Bm?Z}KYy z`VUouTDG3_*e33;GFSUi_vA>v3uLqn6$uD`PhaMyS(vz+BDqXp9pij`XN$4{*)uEj z_A;f{NwAT~Q@+!@BeJxXU+0Z|^Y6BV!m!z&5u=Oh*G=GBepSI&IB^BIwbix^{?t!L zgS?-Ht9r$JfPneaPWH48cKPwx$2OQ(907o^}vU=JcJ^ZCY+}BrA`B9+ux}~)Kl;~Yk+NX9&w{5l^F45S9 z_q;!;Bzl;0X>%s9ET+2?H4l)Pc;+s1A(vZGrLI_byieSd=mVt`AK|Wo27+qVcKS7b zat!xHFUc+znCm*iDcsW}i7ac{h6p4?XW1}1UA65pAKqw@^M4s8p1S20>DqH%p}p?I z3n#OL=IhZWzl_NxO5;A%GzBy0wLK|nP14=xB;iLV0+WKYV!QQCsX5)MMim(Gbmw(E@i%o5E*ni<5?nEPjOU5^qf5}XkgguA@s z;WtxtGpxRz+qm=J?;aiBUP^yXL+JIFI;+)xic9|aDE=iG4kP_1Y~zlYaLtE)p&M2m zthKDWE2hCD9DCdLh>?Uub$t$*=@<)E6E?*xLksm>Z0DFF?=v4tGo}izqZdu_@Zc*| zyea_Ij(3MkWv*orT4K4q+QJKv%5eo!qOlhSL(m53(Vhi|8HX;dR&Uz!~Vw!w8}n zRl(@YBpzu|ZzSq-=*xJ*jMu6{)#FvyA(ghPw8_c}Dfcc;N%;|9^}wDjDm6-!)gl`o@sVQg$X{w9o%E>pg3yLDdCk%wShfXXwBo45 z2`(PNEImH#2UxU%hQu zHB~3T6FSAe7I-a3p*?ojym^znO``mjT23=Fhf2-0p_{`76B_zyj;wdTM8c&)D!S`r z0THs|r>d*`YHEgK(BMlKf^_RLRHi+=I4YjHj@Df9zPn^p2y17IVkf~T_08VAuPCyG zk{6-FP3*jAs%5^6~$R#sBpah0FgKKH~hqs`K%{XAzTarL=YK8GUO& zlk!#QXNfdd4u$5LlmTD_kuwYF6jWCJ1(_6OgpzT4>y6p%r!V45$)TT?k4m^5%ub!v zN0>Pc6!gbpiTY1+Dunu{qqK*so`EkU(?QGH%A7PxjXZ%|m>Mu!0P8LKz9v1Dx5a(Z znes-}ETEXaVfI zKi!{Bel&3wFBNub_u(v;pYeFm`0B7v2@vBgRl%IyenmG+=UH>IMw@>_cG@v?bO+i? z5A(U9)V7Ci68G_MaCBUqcjFhS9mvRgQ>~PQZVC3XP&ds8dia09q56wm_&q|;mb&|X zF!fGP&J7VF&VsVet?JPJgS`-|*Hsiv@@L8f0Y+V4w6FD_d;|ss8r%@!3RnB`g_ko> zzFU5z5ffJ~(L6 zM8jQGo2%G%X>ZB>p!X8IG0nko3~J{#(_>VPsjNPXj;UIw=L z?AkK{5GC(!`YKlaKvO>cN^#e~*Q|9nL@$9}^kGg$U;SH=Cz#h}ZIVd~HFJSg30tyb zA$!L$1F9DFB_iL|QLfe&{mzB>rljcX4DsyGExBu;*Now=@qddC&AUa7Jq3coVkn>e1t^HlFpD4+(zo z-?HBy{`}T2FN3?ki=f6UZ|DXeO=eCGk$fyA0_~J^siub;GKO$UwHKWv_@ikQvPzEj z3*t3`kOp5oU-t>EPA7AsEpnL)u9hcf(jtwg26rc?C8x2GV+gqleU}&o75+t1)3~n)ns9Z8mpZ@;oio zVaQqQs!YPJ<={l;j#jJ99KNZ*p5Xm+uc6v1|BxjFqM>PuJT%{CYwyIyZNAsdE&|2y zwM7zz7wVlv>eD8kNgP_p2L%kSu7H>GjR{BAs^pO{t&xjphM=~79OAlVW z6XJcUa0F?99|nZ@ojjGI4$(yh4C+HBk;`9YM>zWaalt>~`d`ol-MNF>`VGJTY>IWo zzv$roQPsiqz3-y`xgVag2X&qo8rYsO_s5JBcNj&9wWJ%Y@SNQMitQ|gIrm4d)EaBO zvoPeG(I*nXK#N?%Qsq(IV#WfLP-90Si$vPdYun9-Zs!EKb&pY zd+9wv^%_!68tqueI!T(vX)YVP5tGf5K5BcFLh9zB8OnbLE3 zQ2YYpg2*YJLWI-90~Q$K*LD08O#cH&;ud%RTqLu&>=&{X3R~Lnykbr%Ph_7OIF!E#)Hi0$e|cV*aw{~Uhl5kATp@E^8oG&><7jq@SRUu4 zI_5<-6Gao&-o4z$%#kHJ;#)=0CO{|DV#M0-D^kl|T9f@cdA1VG<>L3;(2`wK=q5DZ zHK|qI=|$lj?Zc}hnoVjdE#yA!eM~i4v-whw7a(mi%VzkbOcp<4djPVwuKTPOL=zqi{pBNuDp~iEzfm#CRKz1~b`Ltt+h#Gc9h3 zeL`Q!l3g8_Th4045cP8m@aRe{*^hogs%SrHxu#`X&!#8lc$Xp*wo!MvymKan{UvOm zbzpx`@p7-`bF;R-_hA2+#%3|tELoDRL{5ht47n^NTR}K+&{k6iye8TE#=Q@fm?-%| zeGZ)u_aI!tejVkdWIB5wBpIsG!dq>FZ zQTdo1xX(g1K37$^`=?J=P~bUL_%Y|XkDp8X@d<~6?g~Wy+;mK|i@}p2GPjY|VPx6s z4~a&5bX}K}fCgnx3ksFr-}w@5>NkZVOX|=SFlkJBMzRE6?3UkW%G10qZ6~^f}>fXI6L?*`zYT)eShC<^Xevghtd70$~oc4LygQeH!Y~K7yL>Z z?Eo9yQqgP{@r^%hqm`mF+P)Vp5&H&!PopmVckq2>VwsaboQEseV)A`1 zdyBUJQVPJZ0?3S26D1j)R2Ei-enOe;NlAfh_Y~>WrZF``_1U3#)#?-_;Rt+Phe~TRr)=Q|@)7s6wWhx6=0*|Wo96|W9EoP`9gehN1 zt#diVb~HDuJckk5kv2VNo;J876W|PVsent5EYOF1T>o6LTNO_~Z$mz%4U_K^V3ruj zNl|19Z}x=1VoXGrEK26B!5?E4E4wp8YzAGEe5SXvDwoGe(spP#$D4bk2te;pSrI7* zDF>gmg;9K1yZAn#%9Lb`5E^%GtWe)3H%(>}Tq5V<3sHRYSpw8H_I$3{^tG?0b|-vN z|5Vvs{R%I2OgRI<%U*O)NR7oG)M z3lX#}lG^zp6vn3q(di`rulOB5|M54;nzF|ehsFtC!_4G^2qSvdx3^`9*G5SFTJ#h-4v6gn`dv)xO+QvOAp-35?;i8a%p z^8DJGkI4HJ%5||2=*l9)bvlmz#j!sBAXa^iq{RV0zm3Pd@wxZ6^7>6eGPoZk2^}<6 zmm#Wb^E8uQ@T0@ZJOF0pX0-kJpNyf&nvW$h09W5cv)e+vFGg?EalJ9D+qTUQr{5J0gVD1IK5SHopUg9#Q;>ewoqLh(UH7NMK}VQ6WE-y< zgH={X6|7acASHEVRoNl(R}!fK4evrBx;BIDL@V{)iL`mPa+mhQU2&4jE@|)rYBBpS*nFSM3`%mouo2ZB{-`J@C86keF+x&D% zIRAexAQ-z5Dq4lDMr+0xJP_^=XTHBXXr~q=ericNksh%V%g&P&F40U*4?7tc55CeA zx$=N-KHW%_vbG12=JX6gALerZ96}y;c;~3_YLWraunGL)i!=$B`*__A7F>=;<=X1% zT)$vgg!sgh9>;DK%{v}hnL;WRk{Bb(_ zIL_PSP&kR7VDf?G^&`!BO6;Zqe!r1l6KZBbnCtcGk_6&FMWr^w;!VYMumf(QEeu9P zi*GUHWR~=RdDGrXNBfv#qN#qzoH&1#XSk*xD-QmKouQkR`1`qxJH!vj;xB~huh5PQ zaK~x%{v}63x-`?Zx9@R0@_4ZS700^J=Ca51|6icaK^^JG<4y$3C`?fAY(A<#G zL<+b2a3cCK$#pN|&-MUEAJt~KF)}4c!)BCftWDY%DrX7cPBt~G)E#a{YY3-B-JT%k zwln6ayU2|dfihyB)EWpkH#X;ed_x}0kLmAtab|0DedbMHRe(~b&&3oo_Mv38TG zU(UBNAXTe%81 zDpx{+hpta*b7#-VVX(seSqyuxkLGfXBP@SeB!G{91jTMJ`T8gi@@TgCTc}MNXJ}QE zpR?;gt3{zW+xfEOQOXvhEpM@!j(d?cR;CZVy}E=%8cfgU90HL(ysJSdPh6~Dg8OAM zSJgH7R;F9*sFTs^weKQ<&G^^Ht0i@m9(tX>iQ4U}`H*!l<7<)Q{(m_pkeBaVZA zJur8g7I}QczF2edG$97mMvUANa#kvc$62*n~3eP(9!|O@r6UzAS9q(QQX) zU{a%AvS-@S-e(@m)q9mbK?kKUC}ptP@U;Q;wTt;zr~H4ZRCYD~GaVl4_V>0<#nW&o zRW7=#s`rB@oXlJv3{tmIHp+8YWjB0bK)8(b1Npe9PmiKMq`rzgG`RqY>CGRjqJN2# zP>4HDA8kiGD-#V3~Zw#>U*r(=9(`9FtH*G7}qdCX`S*J73xH_v< z8!T1f?%6(9QL|>QsnxarCdFra*W~zu7z#r*CWN2bh7hA?8NOx?a5b+XYzM!N8f>!< z9j3lj6cZa;H|fwc-=RPIEUo42nLl=1tSjJ-kb-l?hpGo9zrK$-%sk;jkmIO{BGZuR zXTO)&nZSQ#R6la1pJuH9qd2#ne;>L?`_s5fy8d$L8C`g&@~3)g*ik=|uZ03`sCu_8 zrOo=;`y1>1=9GX&5oFQPE0`J3iI+W|Y}h z-!gt~Tdl$%vu>EJPyJA6W`*{y(B}H$)OY}FT}H2Qj`L7xtgbOMfs1OPf~Q~pSd&o( zq0l?|;!dxO?vrJ({=m%#MAbTWr~>|PD~+mB9Qy2jmD|XNj;k7m*Xg*XF4~F7*fI=* zk~KDZt#{t!1qjsB9#P@KMLxg-ig)B)j4hi5_NA7kh)uesw_c)MxwQHR59_isgA~Gb zkCy$)F()Bb?s?a?tOy=4q~kY%)b7vHJa0m4TI8+0J+zUjxNL@0dUjCBb*|$z|Jlk= zm{UxQ>ZH=4oM#SxACZEL-Uv|x|EFQg{#O+F<0I_CU#&jQD67*Y>J3j^Z`U~m<%Rc~ z=&&O(*H#NHLEVTjW_+mN+GUQulKc>>=Ah|aqUsd=Ws|^jO!)dck&3Qh3Q;aG105%6`^`Tlq_}Uisn|a~I>=$!9EW>da$Zb1CX$ zXD^Y))(6Ib0|S_h0EWTZL3aS|-2;MY^4N~e!)k!;> zVaP+#6pX91DpC^pSHN`ppJ?%Cj?45LQ40S<+&>gf=+Rc!A-s#$7Xpvy?nz1!2HY^{ zJjy>rCq3yM)#kV<5dD@}O39k+y_5RVx0leAty|D^M?06Y;vi2a189z>>Jip5m9I~8p=I87H@l)+T)QmYQ?Xs`O`B+9!2HL(SWL9kqTDq7Qb1YJ zF1Ak824vG{Y}Kq@+~`T6>?I=}k*ySqhk)Zx zj*0LWXTi>&Hogv<%J|LNo(~YpD0t1cM7~7?P0!R0_rb5s{Ff2=uF5~r%g^<(f5%)z z?+@SJ6!{((`L{GGXz4ZL{M3F;-df-xe+oOGUmnUq zn!;n~N3L!|G;?>!Lg`s9>80>~KXrA4re<5wXfKM{*F)hOxA`F9N>s#p);GbDl6#r% zi-7bn~#CQW=OFUjIjo%p!~Rt=kb@}&wRs=<}%!`V$MwS$9lD1 zg>L9}d22$jQ?iq{h-2Tk*A{>$87&e2D4M?_n#&^Og(?&k@uVK4Fs zUDI?`y0N;e;P~flR!;Nzf?yH);8IEE=RY{gTR+;~zvK7+sx+R%4M zV{2Y9@V&_kuT-r@ul5AuF0r&@7p^)c>{_|U`Y>jDq6%;pWSA-;^C|L}XjiU}elLHQ zH_3dW(RADtF3htB>BJlcbVzxWHAtZWJ#;aTyZZ|A2-y;B+3cL?2tybLGSSj0U)qgY zZkzB8@VMr1U^|Ur;8E|buK}Hrhd_`h6{5Letw(2@S}tq{tfjfw`8#3%e**KL=l@&% z26yG}>=bmmjW~jJO-~NKUCBv-QWTDDINi;2i70Lfd`!0YM0~K!O=B39oV3H}YJiTW z7rehH0nEu2RJ6%d#@ow{F%{OASCa_nW>(M+4Z+=QO2${xo$3M8-|t(SFUim$KO5#W zNF`UwIsk)4S&G(aa9$z08cI)Pihx&xnyfP!p&>@@;7(f`vgXt$AOg>R@!BEh2WfSg z)UNl0)mCZ*3>)ct681#_3dQhCh-F)^Fp{tj3(`K$Oac5giTkIW6fN;Y?h(m{f+Hv@ z<%{S@T~YnYIHCHg+gofK=A|Kya&R+!lW?Ns+%*k?iBUHeB`LTDnXAz@)+i;#^^Uzz z1%(M5%I)4z-(ynI6gAhhHUnREhfGS0&xmSH-f~lhxjyY1Di%KJIsVwF#6&eLuw_N` z_&cjg@QxMj^>XGXxf+$&DT%w;X)7V=b5OA6*2+HnFH;Z5`>Q4+WweO+r`r5`K~n+d zhack-|GVD}zzv~JcSE@HR@tF)Y~+`8;OkT9UvNsk|;j@51O%y=frbZkX9+M#}U5BsV# z--};laqZrP4L@G34uuc%`Cq#j{}b)}Rk9Dx|Gh%?^A>O~|7QFF@eB6O%Da!nHG#J@ zi8LJ`w;_>5D%;^Scs+=jLZ4gx^pxb3FdiL8{VORug9CU+Sg?rdp6X|Z8fHKpwWrYu zTzQdc;~^I8H>(WTLHlsPFM zHZwo|z$Yw9_0~TnA|~RdT@`nRP%*};sxOJ7J0!6w&|t~C%3uOY^H{NXov}#DYkQUs z_EN#@##q70E5JNI;b~Sru{8(9qGa(mI(J*0ab1S}++Dv0t@j#V^wjnF9p4|gseU|s zE7PzpQrDSxxgui%G=!XO>7^Yah_#mYAYkbe;FeWLMIZull9 z9C&DaO7L0DgDs@Vat8Y~7WFPEs>+y-b{>CW#?YjUICC=h!mEd($D6S8OOzf<{R*T%P>v^=>mAEV6 zzMar#yXc2@176eM-OXh`@?@O3U7Cj*_2<3inQYi$6ux_eR2V2(zEe1_=6rt5JvgN| zwGWDPd?|NwIk%jmlEIz$KFfzvaEcib+lM}u&4P}P_PkurSp71 zz7t_QI5^;R6LZt`pyrzM+%z~5_~!I&Ca(Q>4gOl;b)J5E4~B7#$rTbHEz*gyye!hR zehJ=3es8*-PO9NY z;QEXr3e_ljCQ=T}x5q9-k=;$;2*1R6I_xs>s??sNzd-e~t%x) zSw2#5mD3%u6pklA?oPR3FrQKBSMCec=`?{MbzhXs@N!;VFK@hnD74;VnCbOzy;w8a z=0WIqrhyl*oY~GWg4dyP_~<8|z_W;1#;+O$@0%76yKib2%QCojMM;^g6nNI-a%T6g zHa%;2wQQ~yIzslHY20dH2?iz-2x{-k=&`oSNNT(pHxTE0Kj(&;ox()`U zd8kCr+p(Jtny!x#!yo0wss>tLw7G4qB-vGIA6>grpEnWbdSVW{k+Nhis6A=7W?K6krdMHETzQD5%yl=( zwqRZFe9!&J)6q4^*S|r5e&g1Rp@#OsWmlzX?=Ql7cuRhU+pGE0l>c`S2!sE44&b~9 zT-VVrY%-5J>-XrICC^f3F}YG&^`cZ+CqF53CFzba8vtI1UVYPKC#h8_Ze?UQ&w8Q0 z3f3s}qH}Q=z?qt*_VH98g{$cvK{6%F41qOGVdp~-3aYss{xLzQ7Yuwj9u!=Ud0jPb z9A}ygq;R8iPu{F?U;*uE41R|MZPU2ggK*O0fhpu-H$5%QlA~M3h~^-k@S0)tAmy$- zoL!ch=|CZL&83f&u3Fl38uZUIQdPH|SaNiN2W@f6!)mO-)xK%;NvDst6g%%M zU_e=}WV@LH*q6dIE)R#tCSE7oT))cJF~d#}d-r`b9s$KgDo63$l6y>^L43PLtAh^v zc6Y4?JacGxA*4FSg)hrtg&OpF1B$il8pQx!?o{#U z5S{8W!?hMJ{+T>=)*vk9%50e63R;aUfvw*p4mnHWmV=q*1t>YY_TO6BI4I)X&iTOD zr@ShFT}1%NvyycC%|M(VCudCiO)WXOZ4-5nge&nuf>#p9L))nyG8*%6$JZugD8G$l zPQvHyz*1lkFuVBLwJ!q!i+PLvXnvjr4QIQAGOKnl>C)i9hkdD|0zqM4Cu#to4KG?T^OEuho(L1h#IBVv0 zEEyF%%WZ!7b;@Ufyk80CZv#*NwTz2PjQdLfET!kCoUH)lY;{BZBCB=n_yS>aPToOs z#b#jw0t~HMxqWWi(XDO+wMmN>R5g6a=H=P%O0vpNIhkoGs8@%&k}zkJq(Rkst|Yi2j(q3eTxIC?_FT8cET z<{b0qCGI1lj(FO)74>4pUs6$&z?yyc&C}5#%i@IS-t1s2eN7ow1hZZi(Mj;I=vv?$ zpz&q7C&j?46o?ro+ee)<<>!m2g|nxUwhTM{=Wb42idkJOHnv4`CxlbstTKR?_YnCk z{mAIMx7>w<`)Y2&0~E$xHH`;iFLwk#%DR(4PPNu_PH0iRO83Ct{bemHtpNL_Y09kG zc-(h|N^Yl$ywWqcze5T3qWv9wP-hbQZQJkBKV1q5jCf2${(DsiF#$Tl-TpD| ztjUqmaUHuRfqQ|Se(jlm=e(-uL7`5w#`7ME7-0(VhkYnj9gPCVlq04ibr|ZX6isUmAOmjphcLx27V22GpZm?GWQt{ZH)afl$k7h4znk2H(QGdC zvru_tlgT=oV+=;?$qm*XRjiY*Y>r{g91^4v$DtU6f4<2^6$}ND`)YUD^ zo?4z|L<%d(aZKWNT582Pfq}P`uhmO)iNx?ZzHIzpZ8esqP#EVxsCM#rb#Sqq<+~EM zca39g%hCzV(0ky#G?vD>&wQz9i=0ESW_9ycKTW7CqrBXhP*7nJHF&UlRig7{2K4$V zKa=N+pd;33FpA=w^4Rlb>T>sjU!k(%kv;2KUvyRPiEVY? z=HA;VveJ7E0gDV1o#;&6uJamMv@m-uHqw+vD`7m+Bs&Gr-*gKhjd#|pv5D2v_rH<* zZxzyyjLU$ySg)px&8^KpL`iIMz1S)CEd$Ug4tC4OXT^6Z^MGC&C@;(=gr&_|pPA5- z_pwE9No*`?+=?tkJUk}{oIHTNi^njISd#Q{c~Aj3>;Bc-v~~G!xpBV6zRXuN@Je)+ zf!?!y1Pabd>{{oGBx6@XeIGq3iG2YC5%PLlozdTL_-wJqiN-Nahgh4TO8P=|2I9D5 z{VAP~bOFa70S$8AH@+ZR@fnu=l1-GOXBKv*<*KegOIL=9-q{cByb1ck_ z@Z00%e(0D%Em&PV-iIi!&^-WR&OLyp4m;i8$FL|zA^78m{IOz&{gBwt+>Wr3>#W@3 z@GBFqZmu{*prMoj$_w<{_o`=-F=7?1RPQ~I$~x=)U&ZzlCeg5&KyUTlZ4&m>kGDo#XIbpR}UJB>bd1rh8O@>uZFH6Efpr0H+Y#9;#)x7p%u}iaMWD zlAmar2gq|fd9*1fXNUlg`AZj%Q~fR}i|pEtKWIHrb)os45hi)tdKmxo_<} zBxi+0oGU-Jx6EpL!Zvs;DxSuFC-@M5(QU!T)SR%qS!*WdR>yYxmu_|1m4g?}j#8`> zJ2MLJITQO~HOfn;ef6ue`-9HUW~NvI@Fc9*BG z+PTcF!M+83R9QdgzGHXgP8Q{ghlr@5##G^Tcq5e0??HUIS+mJ@3e>{u+5cQPOfhY3_R7g!!+{k#nwrimT+n^P6I-zpowUI-iJ4{^U2R?LzMl1rP&lLxH#8K z?^rtP7dF_^$SX!J9T+`Ul6CA4#S6H-)#rx=^3ydHa_u9&M zzA_xCCMdN{wby0nR&T^3YLyn8Fedx>NNs)ZHfhb(7`JbM-d##`r)CGg)zN=PU0=l? z0r#g9L#BVl4h%2vZzl#}p7=V8PX&J+#;3v?X}gsLq>+E|=_9>eX2o>P1X<{y@^g)X z^v-f+p^qayE&OpA<~;3|yDA*oGRRCKmG^*m32?h!mRpuorbJ%+GSaK}j;dhLuh^k@ zXK@+ZIWgdtQ-h?m4uxn6uQ=uouyQANkzCAvojX;|D)Cwt{tk$GGZ& zDM=i7)?XiRIcD+k`aRvFP1Kp#DdEiBOg2pLX|K&}zb2 z;S;!e_^J0@=WO50Wnb;PvMs-i`O|YTo5@D5DXe`=1OeRi-GmsHiGp?m!FGd)fQ0F?x29?UZi|FWExwKohJM5v1yqk32 z9x6X!DC`&QA2K%e+?6A~UR|qvRtUB3XdD093{qxxm=z+-Z)ykcJ`i9?1e&Q--x^jcUho=yp z@C@Cd_;lXflEU;=rS8Y3uJiuBWoIQeJE^y-zD!&$)2Cs2irRA#RV4z0X!k-(&n7{q zExBayy|)6g=%7FF`%i4XaQ-C8|1OxrA~-DI0JHrzc+=siuYleom)hGLfT){Jz~eZN`9q1=Gmm zgGiUxoZfSm?y4Q;;1OZ69T%mL8nC7>4YUi^gZ^wPx3*L$MZ7+g!{7@&U3BI68se;+ z#qr31`Mv8~Yp9ZxtgE(h?8hflZnX}RkB$dEuAb^Jo1@B}`o6X2UAiP`FX86H*CO`R zq0Fga25wBLZb4#BsIoePUP(RiPo3y{@c)ZU{@3u$7h6t#`t)&*h`+> z?}1==$BOmRl>Ms{56<3hdl^%n= z*2&7yPzeT-co?dEBV(`!y|{0 z-EH$(=vkZeM%~MM+;y* zwns<7%DbQ_18^pG#}XXXyS?$AGg(wG2?hI3F8AswS_>bitG4q`0}v51^O6 zqeU_h_`IB=Ght9G*^F?>6a;er?33tw`gam$Qq3;OAq6qgQtY>QA?tyFv`U8b45;WN ztflU)78qxs*d4|>?|%^5@&Cu&jQtlx-i$v5d39X4`Ix3a4KC$TX{h6r7?+lmV^9-& zxEzQBeNK1M+bfCrkjfIoGDh-9a{()-dMD-BlyyM7#LuoAEvlnpIlp*THXQ%8OHfo5 zI(foypJ^jqKHG~f1UJNwb@n>h$WTJvn+%DEz}q4Q@k$7D4Tz<>J({1LWFZ4_J>Qsw zlNnceQ(8nh!p7&m3*qIYg#NRf!UwhplMFE?73DT|mwgf9C({$UdIvP|A8FW!fYdq! z+s{~>9)2&B^cq}r03)pK(F7aFY7DBSAqT-i>dRa6oc3X1o&4~C)m+j~Y{dlyr8`s# zv!Q(_Cfp@MAy-3$Z%(9eEbr+R3nPz%niq+hq86lXqgxN>CRQx+9g$>gF(VYP%4167 zZQg5DQs8rnYoa=nRdP&H6cp(;bzBjjgpFI=iSKUO!bTz7zQ0v%|BWI4#}fwd$IDUG z7(cp{3M!7{7joxZF)HTsY}x)eFBqNtJ=3ySaSWx3SlXLlMplRoSF-U-jvWkmZE`#X z`V)PnelPsL7?lxxy;VF()wwRBD%HL7Oyl;Jm$3-@J~D?B;bzdCfu|w)nQRGP!0|;w z1?!W6$<5}299VDb-S;KVZOy0$&xUfC3j7AQ))zsC*B@{xGWmy32#CKFLNJQfihmvB zDc&OZ6wF9&$rM8-T3{J`pN~-EMq67hRi1`tob?1OP2MgE;W%)1oRUQ=Ktqyao!OLJ zVwSyOHoWZocC4L&rocBbUHK{A0uI_kWYC$h|y^MG!qSQFS+Y&-4+A&`0_0ZNs zbUb&y|FZd&#w|ld0J`@um-Nf|d+o?c0rTtFFSJgt)m};>rmZQqOIz1&q6$s?BaK(U{a9Z*LgSy zfSP;R*eI$hB?EEgEsCqd-pb8ATe{q6(YaVr>+|}w*Q||&ZLI#$2_IqK9F5s}x?{c+rrbn3#NR+R5Wiuhc|r}DQF?O3lfktxpxE(A zek9oIiYQOuK<{`L#9u(+@fxoO8j7Q}grauFym4G@L-b*&r#3CJG%04k7qaJ3q0H0I=wV&{?mjR0h5q$r1C;I;c zkNZm(QlNjWUfqP^9mbp`fIRwGN9y#ABNb?ga#mh`$Y0IZ|B&0q#i&0YYQB-_J{V{- z9@`-6=8IxgJYbyj+nzq9A`z2<0~D@Hflp`Tgfg~WJ}8pAQs%G4qj5^_e*L(&m*XR3 zzCIXN|K2T0%94cm4*n>ZQz5YUGwoXqH_^xFF(ICtvmvsZ{RmV;nWBf+%uwmT5*Y&t z<-ip=dzI1bR1t)uRX^G>UD|YmP?6LLU!o%x-&I)lBx`Xf&KNS_!sf)#Hkw2g?6P))F#p1Ql*oVf!q2#5INb)lcu_=u0(xvd7Yn7_-kU5BQw1toN z1G=v|8y=6Bs9QL5_0@@HEuTTIeHAEZ%UVP1IWGv}r^~RM~ZnQn$WUo!U8#&loB%E)^&LKoWLy^-4Sb26z zf2$xymw8TYMTW=0&}WD!-;AV`(EAZQ7h_0W}>%>q%*;wqG{sK-XH3^kPuQl3R0lNEi z((WyfggcD#d>|mVsbZcb1vNP|eWN~YoASgqVy8gK#Pg%|vwT7!S4Yfvg2i{gP9$xe zp5_`oqFnaY|B7`ss};nicjRfIWI5cq2R$ZEI#@dX^{6#zdcc{riy~@v=y3PhMExh< zD&#_quv!yn<;x%`WC^x4CwWjgsXfqgqBLDx6Ir9;JT>#*Dx8PJ+z+N_`7i0K`cXv2 z%z)>bQ@6pzzirDvf4(KugoSFoO;ad?=7VMo8jcFnn{UTQ#&pUJbu7vuw%X2an_xHV zuVuIouo|%xifY7?P1!3Z*7JT7-fRa+#66NY19>zX@+x6zPw2{x zFrx5TiZ@#A(TB2Z{&E`Z@I#1|tJ^x?iuhKoD5l>TUcJ)PqQ56WC9Aye?ojkS_ZoU# zbK;GM-AT94M&5=L&1+u%yhqMI{%?$9^VY#dJ88uWdldhznqknU@z#`BYx!cWaq-!Y zBdNCM*yVN+38j9(T};q2%DlBXQaSdbkY)k*Mq>+U`8J$^ODq(9QF_DDDf~)W>soOl zNz4lX4?B;V_c+sSLm#J5VXH*V+D%O|qLRK{CzWN+#b?L?o_OK3Q&FxP3wui9pSRO@ zYr{2HE8UL6hny_TKnagz-;0EsIG3J39)2z=^*R1(4rm>+GV0j%rc!YBarTX+)$N9e z+I_%t@9lr=Oua-SPwN->oeGvB5G`_0aVeYqmyL^i9I`#B0<4cuNX!De=|6T`>-FRx z!w^0ldN9bTaGLh~o}57GHoq58(fmf!h|%`6EquaRymYkch0wZTxMJbm#A1r1vGSGi zZpR1YV`=7vj)-Jmo!#d%y$c%?YaYgMm$mhb$`Gb

27yQUm0NO)X16=&{{6b()bh^Xw>>C@sQZkd)9Ar7o{>eR zHG+^D|Cw$vt3sgd(`vCT5hqi>HdwlBztZe0s!-D>ZK)YpOHkpBcO~HW^hg4 zLCX{J7M_LG-29J95kWv>|K|)Z`@_+#|vjEV)q$O*abXl6oL_?+vwH(8239SN-yp$GKu(yKY3M zS&KpY78}R~F1$rmIEnn+~@@lZ z(rtnG(c;yI{iHdmq*b|M5AF{54v8BSi!*8RLOh2<{VoqA&_}H)l~Lc89m@v4+=`d? z&=wO87?ioaV)BY&b*(bk|8VC=0>{3&>0nF0fF^D_ zV{m7A$82?e!qu*BJz{=yqSZu)4Wh8rdX&eVX%s$S7XZ8`LZS_?FMSlDCq}%$H$MB4&q=iLA=*V% zK{w!ym`|;E!3~j;RpcintyZ z=%jaTWxlsn1$U!SVGDOR>Uj8M=PF%G5eJ#!?t;>#H=f=p^hMm;V4GnWx^fZTNvrd- z;S($7X$3`Z=#A(l>}+j?m3 zXt6h7!j~JF!o3=_UM47!Oa7{s_!07$fUvgH9zKrB`{Un8ls3aQ{Fbq{#Z*?8miMJbt469CRGC@Dm<;v(sP-wf3eH z>mXfzZ1oSE`rkBE|J)~++PD7bMOYSyWRDh0n`Brvdgr1E%a5|YX2CUCfXQvW!lP*x zeW6{k_T68@zAxmM8T&x8XRRwQ`*b)e-?%Tm$=Ozu(fVpg>PsGdu zI_wmqHY93@HFhIaPl1!mGfwN1v3=;wx;S)Q1tAS%eBrYI24U;1$zmr7Viqv5m*zC~ zl~1A90a<_=wKn74OcbUCrUxpsOcJ5rCMb<5CMD;uMk9(|j@T;Ajt|&`b0#$AR7!i0Z`r2C|l({B3xFe_?}tD9X+^Z6L$lllvL%BXIpG!ijP z)9*D#ixBqxHn6sHWvTbQYW6Q1gXiA*=Zv?j^72IXsP25yzoJu!o*MyV}(&x5hy+G8N=1)T3+>8XrrPWqpe4 z9apCFZ&f4(RPJEHB^XG1%;2uPXn+f*ZtW;-&O*;GI98%Ib+xk}^BENZQ0};Q?wMQR zZl*l@N}1iS@x#e$f)&RlW^EcB;Wyz?)o6$~Q18Ky| z`t%5;_{N%QezAOwXX?{~69&uwwUzq!zb>PH{s)ih$n5Wm#J#q2yr{vgBzx~46akaH zmN2Ig&-kTiBztLuh>aW3H*u~hHXB5UuqTN_-Gt$@d)o)0?sJ(f`AI#L2mXx8W=_#` zYO^FujvAhh1>brC35R1^KN|S1cO;d)3gEiC3a9|yy?+KGX0M%^q@?2fo!SDUt^~$N?2V8g6Yd(0j?W+b>X%6^@K_LkP#DW5!+>*@?7?M#e+o6e=t$oiR_ybi0pfg)-tgJr-x-?2SwPQsM_O)Y}}$`-ce{M=&wM_ckN z=gm5}IZ^Eg-vI}UZn>7fgO})uz5OYd1d=E?l~(z4?V$2Kd^S;gcSRy<75423eUhd4 zYk!unU9rVT`o4Av%1}u5v#m&C2RP%{Ceqo;6E*l+XY+n?Im_DRmwkZIbCK^`$quc*hpBC>vYzlXH-`rLnu8+3b~PRU2dL zEwZD`EQfUhlk9Vx^N2yxx1x!U%g5P-9bWCb4wO01G10AH?cb?-{W@fYL~fEVLhv*T^qF*WVff*2H0RjwAXY4~yswR> zKF=lg}rt6)hf9EKz1)pI*HcK?H+>=VY7I0%8 z>6!|duKl_pXXTtp2P8QxQ|d8J@fR6LbP}gc*nZA867^xF1kzxx@i6BEBSZ9sAVk#A|r3~^Pkir_Wd1fNKhPLp!WH@0zfVwtV{MpoL} zA(&3Mrq!6yopFAbq)%FQ6~WOvA_blGcYtu-(HXTJDx>gK7nN0e*4y&}Q7Uu!D{CTd zO{*LDXVuC&o1dRJPGZL~IcHg6`(1TuU*F0#XtLZJEPh~ks=~=nru$t)E3a-4Q*yxZ z0i8a!uSgw)byPRdsQ8Xat`&3zCEaQuE0pYgG3VF@F?34}IVn?pDV6v;lGCGp1uv!m zoQBqWlEwFmx^+5(#1}HyU2g$*-CI@cD4%OTf=lP;$|LTnKC2K1gEzsSQ1~QaJ8eLL zo#8LLYcaXGZ{EMF3-=gs0gtd9gKD${dNkw`eCbKz>-??Dq(<4km40yF%v6_V6!}O9 zd1@LP=GNa8MZz*Mb}G-#Y{}zVQ}pQG5Szt8suE1Z-{37#UM6Zs z>Z&KY+WcmTksx%eYu^v5+w%Z1y9)eN18x>l$dPBh{q7DCNkAUsnu<4>?JL~ar#6VBdHJ={}wk>4e zGdQm=HFk{>42FAiC&dburkC-sD5~p$Kn@#2WBs*?`}T{p(eJ3Fw~BQYlM?FeUf`wx z!FGKoX@GNduUHS0^zrXw19^Y}DK)oDyBr}TAs}mlV-1P1Xjt))sZh-6WpwHH+$ znJ^re2itn%bKX=xxf&+iFVqZ$YLndk-U%ZOwq2P2m6C2jQ)i50w_~v=u6h~{=A^C- zWN05e*T2HRu9=Z)gEB$Wt;M@@gFBz^{^bj!z<^Mj9Gn)J4lbZ~zSyWCdj zQzsM{|6FVPoz*j{s&t#|#(A35!=U;(BWll}CtH+9pmUHgUkidm^~IQ2IN6M{-1oT3 zI_CZrwgi2F7#a8+pX#J3|9J6JqQ2sAt6F+*PHCSoh|ed-xd5{7ij0Zz90U5F2zPxy^)9GklYN~-gAV}Z(18zv~DT3Z7>@iKKqG6#|rD~7Re0!jm z)Omu-iJl;lTK8-8eZH7VAb=bd=aZh!#>a73#{t>syf>vvrz!^;3Dv?0nUG^3h``)E zswj<*7I+zGRis5o!rT*a#J9b6np-HL>4Uy8oKdj|^^NaaQXgvdu3Rj6d&?>-y*nEA zoJn%?IU=1k-!s6~ftlYXBiRQ6rP6J10nEBtin6>W_j5qjtaIzD9R-PaE6JaalQ&x9 z27@>U*yg0RY7GIjXLoiOra|xV8h<^=!2S>ZXe|`9e=d9BQ*!m1sd1FIy$V0Vsy%J; zqOMAjtKKYXVVf^%$x2Ks(QJ@N$Dc&5uGZdn1#dWU*MCqeiT#r1i2<^GRmN~CaJa#3 zn+AUA!HV_t45i+^w#*xmPP&E{Fp}Usi4j=Sj(}QCKDgy)rLO+CbWJ#1VEh*#^`Ie< zg=aE9w;HAhPSJ z8g>u1>~jy5@nl#TY%gI!IrR*@YZVl7DHk9X z=mkkl8Lk;L*iitd^En@@e^7wN%cQ5ha^GO3A;HK?RM!;~B^WlGKlreNP8lSPSDnNM zUBIdk7k*K{XQlJJ09kbrRW7v4kO|mLKgTPVmU4 zRv`zs?NR~IRjA1%Vl}?`ISA@V5Q!87CdBpX-}mu#m$%g+rLh<5BcH{}*1*@@L6~Qa zji<3nFGvbKD1STk@@6iSpvaRT?=We8&D+bwb5?4CGid5n^#_?cO%POL5RkRJ zx+md04%GHAZ>}QqE1`LfTPf9dFpGg0W1`?`uR%|I;s>!lAyDh;>6$lhV%TJBY~iaT znK#B?tV54fayd+PL>d52Z1$~}s$cruD&e1}WjjqD3Xp*Y1h93;<~xVUSMvL*aGo}d z1zM>y8qfW;h!8aR5;yvCuAivlw8*(Ee=aVdF5lL@!QR2#qFw`i$=?-A5&edjRLW3w zc3WL*8rrw_9~ElL|0*gv56JhC9`&hyyPX|TyI?m|G;k^ZKm(R#w{zicB{X_(lkqnr zy3;?RL%OG~NI{H`6(!c(j8kQjokPTA$xSMwzGbxsK{Hmnv`d5NY2pSdBP>NtahBuQP?!Go zl7KaIpq&)q3w!?q^OvY#DN${LH=p17jYXZ5X+%AYZ>PB?64`*zPcWE92M$F0;f6iB zXl|tfB1?_j(QIGAWAnA#w`^GSuIJ?LY{ZUBB!)dpKEviHfekk!@IS@ziU1fa7) zCb_x(y&rp{vf5P)jR`QSoJwC-e>^CkVGC9p;g8s46u2cXoTomG@x1hl|H)h*dkAG!S=V@J~P6>xlUYaLOPg>3D(tJqC zAY2PZCf_R5pzULU$)qo2PxQbu3kJ1_<;^a==M;8;>wv2qP;ku>9 zi_muP2Oy12BxXlP1adx^oJWV0NMd};jTu}n-{^gTeRA+^{mW>j!5_4;?Uj_wlTa#x ztF#Q5VCbC@&g!u4T&jt0+FQ=qPHnr&TBYQNX+;W$Vog1m`t1zv4_IZb<{!|9fPFfkeyaIk)*8=wP3y8nIaRo)>$_ zR+%l(C*%Ijjmg8Cm=*C}QL%XUHLFza$X+4i40*>kFOJTG8H-sm{a5B~Qd?4rZd88K zt8ct6%*{Qd5AEmRNTKn(iN1OF7p`#B35I~haUYA=@m??PetUIH?KSR7gk64KH@+fS z1&3|3UQ%6H^QHftg_V2yFZw8pzp0i7Td4nLhbFs4b>RWs&V^i_{&9nERSvv74c_`u zx)pKSDUe)W`bpYC5*~5ho5?ecm18j;9|OozZsq&6Qs@@WcC3(sGPFLls;e{JCl$`=?iei~TPm@Q=E|e4PEa0yoO#FTYS z0=Y^6e{~u3q=Bnh7B+v{Po#JwVAZvz1q_Fu^>HOP2;Cj;9D3B2w++TFop1QMwdStEm2(be{KF*bHE^|V`C(Y?a4##?uCsN>FWP>g^Cyqi29u9o5$lUYOCy_QL zlpVZ=F82A6xpoUTK4|zOcYW98JJZ}4(^~`c{Ofa!IohvR)s74r1`7@SiaRnPn%-xr z-v)P^Ph_mjpPy#AoY?#vCDa#5SPwb1m0qKv(-bO{4!xPfL-%y{++XgPTxzH9MjI;` zwwdS=+U}c6{1pUe@Vs&BvRX#^%g$9@maY8f826ItKXfI*LiGPy9ghED0u_E4A0I5< z^$%h=X^(c$Ze>sB{O{%FDvV-)FCo&$|v>F4Has}hl+Cn>#OT021V>vKZ6O>ZSwc^(5NZ%V`Q7OHsACit}=M7u^ezgMs^ygTqD^Yf z7%lXJi)3X1=?*?OT@}hPAx>_n)U_Tgiti=*-pi5V87R?BLtMhl=QjW2w#Pb_4yY|sTAp0>o6v-_JIyD z$0#q4n2fTEyB#7=j2Bnm3|J0wv1nC4xjJ8Vwtkoi=0%xR#D}N-WtQz|*MBNh&O-j? zuH3hc+qtkW=m^T6;i-J^8Sv)74hQIt3cWnCuA4ifk{z>2^<9XUvF1;x4xyw^OsiYZ z{+Y4NRK8r^qSNiRw7pFmR_x3BrG`e=ONI#|rmU)A_$_D}vw1fQch+w;eDWG3p?{FU zkrRLEApFTOtOJ1xiomx=0(ZLUHVQFE0%uW8G??gR>Wu0T_lpbVG*7*($*YRXh8w{S7m z&;*%XHe@ddxA?U$~aSAPUd$mPfaGKT&TI^4T^j$L4V zWrTaI@@XeZh_W(t=}D_k^@IF5MfEPDbJo>IssTu-#p2NXP}aF zh*Vo4)yG@J_6x3UMh!J-hWM5*1!Q z)n(Z^5lX&<`#%rji!eyg0L0KTcM$n9pF77A0y>X#P&v@J2Ue<5dN)+n!Ilt>Hu zcDL1dfQIMI`lHobAsM&*jEgBu*OR~}X3VxSDX$Z<%w?IhDb3-ziVuP@=qQkG@{|sc zH4dTR2-7#+g%zZ$9TEZ~sj7uO%p<~xoNJFQJSuqKTXUyccF(|}6gvd%WJrmMmcs0t zIk%&VuWK=rv{kZxH3v`<_U}v*9r$7pj@D8!t2y2R@rGn=VbAX z(5IJSBPWcO%u+8OzL>yDU}b98JM4Rs`_m|*84M>2zX-l!>|}yw1vD-nYt^x4vbS5Z1`lhxRs&2IbW|gzYw)V9@ zMU2&lY_P&|H6T)0RuMPoA(#m6Rh_OaV4%3u1^F^C0;qJ%a_$}dE|A)VqoVs9ko`*( z@|U3jl7;`A$b>Jb$evi|kRL*OnLl3J%Ga_*Hg|@zS(f?`(#w46c?qu(eW+8hp;ju) z5pOwpL6-MOrc#S8c7rf+y@~CE4$N3}D-Y`h%O85qT4kf8D<;IAA-U%=lTV$$94AS;Q?Ky$E!%}f4 zt=rC2S%jO>e;Ezn{DTJEk7d2sWrbk-)U~e?>vlpC#D3#S&}82HAlHcQ`3!)3B@~b?ztO2C0QjP7>>UC>4kTaR zSw7|<=IkqqKcwqQNC{-8`QWB9351(1dtO%*DU&fKYcu+27wFbf&%q8jYZcYms^Q0g zBEUbttwnbU7OiC~!J>iX=OeK;p5sD%PyDP*uqjBRPQ5E{U7p#z@7gy^T%=8MX_7v@ zbQk0{tD^PFVm-|X8{UkUXvETESJV_RiQDdWq%qHHYtFgWrj(&Gsu$6uCl7svdkX6lG=;V}5}QcQ+?=7aE^UN$zX$j_xDew`G- z3Hd0XkvX2fVtaZPakug^T`4|{7`{S?1ZX~APw{7aA#WSvlUS7y*02`X)LXvWxcT9n zj!WJ1;(c?&(`GsG4FJcAs>4&mIvGT@LChCDU@qQfiT7ya7fxu3?Ygvx+A_dNN7`5C zQzqQcJiC^?;C;I5?8MXLDaJ%XAj*w`&9|Z=pYYysAoW}L9{ZZ-tlR>W(wtQQtwWDp zIFfNAiGYGTsAIj^Clx2XTDlXbzf6>4+vY0Pl*r)GOqhE*vaarFSJ-EUh2nf#7^+;5#fw3QSwLYxGW`5_EEaX0Xa=fHrTcQp(XfpEt1vz1J&?T%ARRoZrhvoC880&ZUkd9p#`WY--60j)AEcr0hkUd*H56=D$_=% z#(Q*ysL$QNO5ouK(Nr{vMulKV?xa@I2NN!<)xAl{9boc#gV}Q8hJ--2GHRek`04I) z*KJ|pLALS4p*!KiGNU;or}dKD2VFhHi+qod5IXHm9mo6qJrrwh=BWrfX5&YNKR#0^ z`OddzRFm7ypbX%Q*9%%6Vv0SdD+JFk#7N7p1d@kJMA~#u1xW6lX3<6{XAJ5T6~AXr ziO`^RJ@XxtB$;l-BlQSL>76+B!280^=IiQ=9n1laYXO<+ zcU<1xTS<8&4F>juyN^JSnUO3=&P{cA+J}^CndmP|Thm#LjA?B-z^pPo>9sRNX~>_Y z_&;=R|N89mU)t~+JBybG?%KWUnfd2miEN%r59z@k(?x$YJAP9k%wn0?8g?UVDFSW< z<2j}BeJ*GxQ=W<*qBbF919w6N#zLQG~CX=8mquC5Q$z z!3L@A>GsHOKx>32K>B@KJ_#wW!WD9~#a_)a@vge9Z)p=%@wvNq1+G>FSaiq?uV&4u z2zGf=!lM5jrtGwx$*p-FrXv4YJqDh zp22Vh_guCBB_{Ez4;Av5>w<1R#)rsZrXhTqhTpx}oROIFNq+X66&F?5FMID(&>r$U z&a7Hnrp~Bg0Q6Y?;c*a{FFkgdd6eG;vHXo0_`p`<(efv5}IGfU&z z8*)ox8ADRFx%@(c`R6zjjES-yEg&7Nq^H~4QOu07kGWcrh)sHJsU@2GsvWT=jNEvS zbhRc{2F5qL%q{Cg^M(bx_63u?2Pp&F5CEw_iqk6y^@UJCSeiE+vc zcNi;E8pLM9&DiVMqoQc^CWROhtBWKPI)y&W05W{Y`naNziH62E*{NQAQ!4LGUP^fH zX~uPeB-{(iv=<=3(slKHm;$Uc`zlj^*)e@RNu(|{z}6%J;;Kze9bYrWycw`Yur0^S z#PfdWLa@wjnkE?3t6^0)xjorFu4+7r zWqLT}fqhQdo}omrvxqF0{8rF$2!3M9l~RzhIttvPd+!FH!2aBZXad7*e4Qf))~7mr zM$u!Ool4&}9$U7%gP-6_-|aQPJW+b~A(Is1_qotjf#18rNpd-!QK)FML^0>gzp-6J zBf$dl1sqFHj%!7r--GM2@vEuA>rGEor+co(Fgsz_1l-U6DVqG>ZMy#J9=iPf$FwVG z;HXdgqWjI83Nfph&tiaq_Ml?m~X+|oMxEk2Vc7hI?SFhaLtL&< ztnvxCPkd=l+Hu$0t*viZDOQ2Y)yWuW7ejiRpmSq|rr`a()nn3nkq72{YE=j_f571-V`0z8^DK z76yC+L?n+jXywpdU=m*+kE=cWEX%H$F-xbh5~ndS+QRRSL&x-X>goPK0T*8riYd@p*mLBL*=oR zqD;EIEXa=rt-}{~qaPLvOo2iO77_Vt36eJM&l@hna_b=f?mLx2wb? zi?+62aA9}D4F4Mtof&Xd@7stkoBl;u+_r5!^x^N9pXDn743q8OeISm+7X#Yxz1oqd zJ0`f(Plys;b1lll)LNS zuQB>9kUW;xQFq!@oK)7S?S~UcZizHbNpgdzE{m@cj9218a5uAyuu;$Gijq5qb~iM!-EO55Q_kwT0Si+Y;Bm~e4UYF z$$Ykk46BiGbUrJZnNLShzf{w^9(y#!Qhz&ON8l*wS|v3}W+-n_-cKKelR#hFX?TN5 z&h?s!Fz8FE>Q{Sh;7Y>Aq{iAn|I86t5*c*BB6ta%t&`r$qCw# zu{mZmf8$e!vkb4F`V0oky?%Dkap4Hz$dVj2&l-o?6L=sjAE9lbh?KxRf$+PwVwbdv z#|NFc@y;ZSDrSb5X@U3~7WT|$f4Qr6{?kq6XJ1oG*RjjvOh@o_~hP|?B zsV}}Vo4p|~0$cHZVqM<4f(^|0=>r$ZNd7hFqG|H|T}qNoKAo`1R1n%}=3pnNQdkLk z*OQ_ou4uWKi>-psF?!v$?N%<(Ok9gS3X-77I+3bNlU(-!^^ys&UkiCXAQ3722@>3E zYFWjq(duIq%cxseQN$IpYPPkH7Z-cj@ZwU&9ouwEC}nI?<}$BCu#AQF&yrHtu7bA7pPW<6kh9tKP4@fiVm^9@W#7ARrCgtltJBnE{D<_ zK8|~R9&=0uKU}n*;Cp9@E6<0p9P)r$T!98&nIRb9yXqwzi}4}LoESIz@L_A+V8s(B zN{r6;T^4Es<7v00rMLcxS|)P8Fa_-&I)GX)?mM|mlPC?)+L(S}leZsaGdKX3QBn|I zj01TL4~yU;3cfdo@d7qvJS7%+LAxJd)_6;f zSc3>(x~(u_?U9L%YF?~*$!|;V7UUp7&jbd21DIsFfdGm$Y)2emAiWllL$&XEJI`*iIrB?0`_-GY*TfKl+#pb zntj#1r&;)!x9C2l6SZkG`NKUl@Ottb(Ie0Ml(?G)J<1}n_2R?InQqKc9-|_O06-M> zTF5b7!4U9O>=be4&O@${Z&`K==M}K26OXcXFB3YwnJc1inj!U41vC3oK&bNf68|E6 z4%br%Xqc{R%_ktv`<8g2TGKilo&~q3){Cp|(rdu~JZC|_(-M?FDt*m){C>&)Yl~|V z2h5H7OpMgM##+)qL@S58248c0)VkOxNzH2vYMObF%kbv4;CkP^9O|l8b4E4zEKWKa z33+LU5^v<=BEDz=;KR!~C%^gg~VjR3FO!Db0p zVcINju8HOpxI(gCIMOdkPzzG;i9~xQpQeH!Yagqv3h^5IXGQIt5^i2a~E!%7JZifh-)}upZ z0}N=ihw5C%GLYbbbFW5|3`L;NwJGv@o|;c!ADd9N9yi<|SU5p+aHcnZnV}t}*#Ivr z2Bx+_NE?Nw?QI~K+wJzjw^otD;Zt}GSAX*O`K z9`)7Y2=iE^SAdVio$WySYfXjpnWsrAb@HJAHK2fr7NFK&Zt~#P*$z%`gOVbv+WUksBf=_}~?c)bRCKkt^)R z{^FXgiN@!FLdbx92p}7fycKUkV+{AzMGb$AP84HZbnI1YZPYOwy@z@bYe>xNP5p0kzi{YejNUCi@ zbf%UG#La8IQD-^l+}%+EmTMB`GvijJvmsZW$a)-9mBP0k_oVd_G+m>lAPA9T;BG7Jv9{wWBKvXe`yP zJ2E>=V_bfCY>~WdP~g@4|IlHlvi;q}=zT8x#jf>5zG$Zzxy?+SLJKp`3$92vRKa14?q&g z;3fH1YhIK>lyOz8cWi57ZIV?orO`6p&(D-Srx_|K#s$Ij&gQB1N5o|+-;?(0r|L`N zEUkEq zTl(TSFB5iMaiVI^?(;hGE6*`!o5?sR0i;Lda}ZZjf<~a0{C1DPnlI*9p_Td&7VBm| zXfWmrxLygW*5e*Pa`yQMH*hIiqH!BfgbM&48$i*CZ1op5K1)`+A5-PlGf&wK4wxzk{TuFsGU9F^&q!0h@`Nv zwcjSBKZf^5%`F~|)gUZPI1qb$E6@7Fad2yG4Y^yE;FejtmfK%nayzd&=I*qfqP0xSA~I&4*fW2d z3A#tAr%#^yNqOV?q5ma2v3_Y-12X?vM_&u_!1aOZV> z;VRO-c5nlEHG3{&FwG$Fi-S$73$~OeG(hjc?oHlioii4FO)1#5w+5fcsEUi^v^)3- zpKL4*#jPnVoH&KT&88+wpExJ9rp7~G$hs}z#iP~6DlKx=uf(~A;9U4RH<(QH2Dt-% z_d#^&-QRE(hV?pRrM+U8OY5`K=TsL}1ECA4K*e$nl4OJ5X_7Lq!a1qhCAP1+2}An( z<8#L2i_eWxNXL77VJYe9I(;EJ_WmkOtsPpc$B>fZ=MnkwI^1n#_Kb&*+4gIFq*6G| ztW~lLA4~|2t*INX*hvkuo}8>f0FV7Rn~*95JCC!ySE_URj$j4P${C$?(^m;|nQxiU z$JM@#Jr`dxC!!JGFxX5Az2GB-6r+f3-PD3iR)vJFw3P?9X&P=hcN3HLs2({9L^rHy zhSZ`g;84zYM*ib|$Reg1xAl?i>Jt(9N4pM-s;6J^mI8lev98wha`cO==-Ab2F_HJ? z-oIQ}zdW76RhC=NAF3w^c5#=lDZSD(Chfk#+NSF{k_hWJpR0c8dJosx!Ce2(HKv<1qdX0y@Q%C~v069pPSSe;M7t703ckw3O(bMlI4FE=4a4Unte zbkI6*3+tsbdjaWB?mzGxJPF##t+OgwM&F}FKfdmNy!)~$?q`gbhjzjj(96@df43Pfac1e7+noS@X~g-vJj=imx;;PaDmh5|;9x1Wvd#WrXv zOI@`jCDF#x1kS3cti5IaX?jL>e1*2?7T$5J4((NF3PTw9r>{ZA zViUZ%__hR&aSK%R5;qR1Ni7(EFxHR1z$5pK(q3rY#8Ek%a)tZxK=oU4PIK^*h0Oza zjhbH7hn(=dbk$$YU&*P@%W}9^qCvDg7sz5$ir05y`gFSDOIruLUh{rl*@(6&ALkxS zyo=S<{$P}nwxTz&nB~r?qd9{bcICzTw?OtDY)DO%KaZ(HTeS}g*zW$ipBt_qeXwYB z$a%P9DXpINO`LewY*7C}gi-VO_8Yp72Jr_Cn{=bev`N)P*h3fh`HbJ?+@^{h&$egl zUxJKjv)8m8C;r-b1-)!LJ7SIb+j+$l*QO&ywpE$Y_ThvM!H0g6K@ZpBK1 z6QoFSD^{$ywMcOb1Snc48VDX-T3iaW6hiTqAT7aZaQQgYWkbKF+HUbb1{|IY%D_-ABTTHgf5<>f&4{=XvR zj}Os=o8%%ycqI_yd6QeB(L&_Qq37Et54D2iTCo18-lo7>7*L#DEm3nlLUITIy2~~t z7mIQPyax~|s+fJn^$puUuA|_l(4%;>Xb?E zTy0dCCFj2^En(}HgE z-Orqklb+sG=gxk26`tzBOLHyZy}@4wgSFipuTS#^k_yTs4h@w!DgAz}m#^M(32aRe zWBBnVGc*r#@)(G5Xz~u;I+N?X|FgtQfx?6W{glhf&o_4vIGd>v6!iGgdBS^F+mBHF zQ=Qp~{x}h!H%o4{rN+z!d1cnc#}u&q@&u{*sIS^ z_in5}XvXP5n{UMn>hU@z$0|`*{5I(S&@yt_p`lG|Jm_$k;sHec+Wr0MmqS{w0-{ynBIN5 z7`DrwYzmqinERVn`3J+fDr@w80F0Fd-n4)L%XrnVmM?e7zq}R$gTtLW$L!gVoXNo3 zCZY$lSit_CQ9&YqO$3MmWRS84?Ni2zDBqS({TUs8yhgja0)<RSs2v3FNqcVb-opMtRdiIJ z5aGAi+gPkwiL?WqnA8Wkm{D0gsTtWihYfagt7D;Q*wT;%P$lZTlY4k^#%DKduuW@$ zZF(o+ko}-#OvEL=+K*5}j!*Ho2I4Le#F(lZk!djLcu&8|Ddj2UMY&kpWggMKk*L`4 zVZ~9!m9}h6yD6QIjob{d{o~3+NKdo-AtNP6i5;MAK6T2A#UWoHcb5f9+Y$0%0+sX| zeKs?*sO6)KvDlL()Q9Wj*h%fvetYotqDbq1ro8|Cn*z&)89Dk7BxT7SdVyXJ3;ecS zs{TNovI(0)3udm2uSg#kDfgGJk`t2%1!{t^?wlY;I%O5lCjU2_nUXU0y$Sg zSu>*D2$~IdxF81HK4?j;!}JO>w~3GzUTN9;!{^i9MLxVSAEw`<0`5P)ld*aT87vKb zH_oagptB}4jFuV-pv=*&cDJ?M>;$vYaWOol6B7g#r5FPlzj4qi_i3-S?BdtO#nPqj>ce;ZG!v?yF>%t> zIkNx2Zol5rzgM_u;8Dg~5O8;fMq)PEB}EH5L?J5Pla(KTK^&40uyQq*E`C7tkL(_&kh__Ko_I^T9M?FyDC}=E8rF z7bIR5m}mTJ`lsR)IK7UR-lgNdNAAHhk&laVawrK(Bg$XKVO*&#p>}|$E*S$>q73~P ze`d!24VeASU~a65+!Yi4DEVQpPqw@Fg$e{Q_5_n{a*vho$pZI@E1NhYzpS;%d0?&Z zf22SI-pv_q{s0o7YwwzrAXw>jDMxJ$EzuuY?dTJ=v`P{~Mc(M5Az*>1(~B%PS}c9c z_S+>V*o2XR9Q3jCpchgSVC(c=-cjiSvPid9$2B98&ZJ&0CaMiEetLv-G2rJ_#) z@^`lHH+PHp@PwE2B-`1BAe?O)c{Efgm{SF?H0aK4V{h2yYCX+^A$y7k^}(gmt=$=? zI-E_Z!mcwGf@2O4T3CtM-Af8v?%@vTyNF1d9h$RG5(K)$X&EW{N3lrLx01zy()iuB zUMa2G#r$tZL53DHk0QqOUZ33kpuP{+5OISr^3H6X z!Q}bFVgU|Y&R8Rsr+FdY4?d{y;4%4F9VQa|?;-R*U)_HTr~)d>uuC?-?%%&>@{4G> zhA7~1PeO#RF}erk$6YyLcdm>tNjrrSPnshiob4pf4#x+eROexwCw6_dUpGQz4h z>^MQo%7k|M^%jCSLNe9AsPk?bE=3*v@)O$1xDNP=zDY1Iq`VBa$|ADnw||-K^OR$lU_6Ja z68ywi=Ri<17pHSCu(ry_RqSD=o{y{s{A?zK^W`UYP!%!kqUFqpqyeu?s$>MyA*9^+|_@n(7x7r!8(&Si6;_kO2-~Qf6220 zV?8o}Sj)b-BR(g!-m*uwYO7OUB2RHnkFF?BMyH;Ar~a@Z+4kWQ@?@iPP&)D?xc&Mh zo;Fb{{W8NX;x@p5? zUVIzv!c4AGXwtcmr+8+0JmYr$ocwxg%W|h|Sb)5<<@~arBa>s;daERowo$%yuoX3{ zov(nfm-Bx1&bE1?@XEpLG8Dt_a&h_g$uocLa}l<7Y*!A)IHUs?iVh1Ji#?oX?Y#Q! zD1rSKfJTP=b^P5&ju$R0H_^~d|6gdD>H1Hky?kT2{l~NGOu}p5Ke6>htmQfKdf(G8 z&#}T%wQKM57-QBsyyIS!upwGE3|+_+XAe(SF45E&&<$``m?4`$CY6DjhD79(1K;Wr zu}wONxTKe2+0v2G%Df-+zvTHQ-6agKV*J9oMWyHBRiw`3^T56#)4TOclZU0gDoy{8cASuiYmuIe0Hu= z4S`Iz8F+rMf_FviO=#E82KfAhlV_H1dQF8=K{gTNC9AO|wRbgArLtZQ_O(L#4exm? z9N{Unp6}xj;4dlOSn-+ZwlP)3)z<+pLhPAH*)uq#Ybp~50Fk>A9M5ybQ~dp=a5}U9 z%qka>zA=9f%qo^|&vbrcT{Wl}#2z$W@rW}lzrl=@cU@F%o_=>oRM+icS*gXKk8w~Z z;VaK%gT+xs$_!}j@l*~$VEkhj4rDV*%{PW)!*F_y&y7Lip?MLhJ4(2}6TVFx4;~X4 zAI)x27Yl>0Bd;90kgoz<%>QTh`rp4@H~zc+XkRQXU%cP#%qO$md##Upm2N)IO#8xn zuI@E`#Zhq#7u#YX z8g>|*OD3wJVqqTD&0F}Z)~{1CeB>fhfW&yIapGja%6g@(DjdZ}fqV*xFG#a!_B;>{ z$_y36JeMWX9c%Yf$%ZZR`8Xp2uuK0H6i({3bi@vu>J+o9N~5Hq9B;JLlo^d0zU#`B znqt*4=RS6u32G~42=G}lqI5Agm?JDL zvE`{ZB=KrVJRg}WetS~ohf1iINoQrkGzYhoByu=c;N1^lqs;-om?`A`&KQOg457Om z2Y&tHyNH&8l5R7NLtO!N@_>UAo_LLE(L}NN^;aR;{-kQqZ=j(TlxUhXr^RJpTx(f& zs0^LXjj{-mCXpcEJnBVQ_kb^rciJH_GJ(*Tb-1ykFVL=M-$V2tx5s+AaYg<`vOF#r z_P3jtlgh4l@t32s>5G-co}df0z3L&jd^dA2eKNADPC{HE5cQo2yNVApx>?=CcW74+ z>!-4l6!AXxl;p~#(HBerJvK_qxkSh*o}*g~#AFBtF&IJP5q{P4M|$?=;Ur)dwmK{) zG=8G8Evv5uO54!_a$Pv zCmR7z4j@<)1w#iYj<;XHO^EK$uTr14*xehw8yf=8+BKZlGViS64MvnvGEmG#T_ysz zu^s$xPYe$HMnXp0-nZ6p#M*yyT2ajPGUvtyX~3k%X^zOd2lItr>q96a*<1#tTR;vg z&+h+_S%^#DQS<@_+TJT*#m{r$8LA`ARs$yNXY>fn8F*#JT{Mx_Igl}77tRJxx&oP{ zx=XlR>C2q=@faK)(h~PK-Q}yAH#0o%OHDsGVZzjx3-LIiK^d^|$?R zXUrI%D=fWW&(RTU{m)GJ?^eU#^tgcW?{>pPjOEqZweXm706t(YO+3Xhm5MwL(@PG- zEm(`Vy81|R$17jmkRaawHBRjBH+PtcoGGa)LKKxAXY2fT?u#FfaW8hSTRA_=dv0)_tS4A$c~9ebteyde|NB(JsxQ2 z?Ux67p0rEr8`$#H?rH%chVr#idX0Q=!HQK85uC24{y5DHebn^?a+_E#wURx>rD0Wr z=J4qFX=7Pctg?jB5gRWWGgw%$$8^eD!eOhK0Lkkld&qdM08?+%pY6?f-R48vU4b~Ok}!B#eOM=6#RoBfXU#e0UU%7&^!4&#J2BhJm!%4d2Nxl$ zKJ3zkUW@XTMQ%-zyAIGLbk4r28FN{BV-y-5QeW`&NS{0S6C0%VID|EM@Z48Bcd!nT zxo)^Ic)oueh0z~uK+MK&=Q_8S(X*~|V)tU*tOROH8FNtQUJT$Zug-Ikyf#wr>RtTc zH(jG5VFSB9nyvZ!i#lN$w%<*iw7HWyRb=MHYTV?K+z4H+=ghDiLEZ9?%4~lfdAJa| zp#vA<3%JJ{5L+Sb5LK7tqdaJvbmTiC)w!5#yUn-zL3)tUOGl^! zPa(DC)7<+s)TN`}36HEx;rhnL;N+3M3tTk!ybC#Bu=e6gZKbMFu(b?*Q_DCcYTVIN zi?%nQfw_ABua?li@WPVY1sz&p(B@zLIO#tFqgnXM>|dDSO8j40@4B1+YWq)~T0qf_ zZNC2Qq>y;7TsH8=%jfu^%C@44p|0P^w1wOfpKD<$tFeMN{lU5J>W*KbZ-$`-Jo2l$ zh}}n?NI~j4wQFl{zwx8url?K2Rd#`c(sC9;Z0$gISzDkQ=kHXsc4ZsnJQbI94#F}j z9X8Iui+&cLjLa{uVhoxLeslTbt1SYZ<@_rkg{bXmrt&4fSREzI;>U%rD}DE-wz{4` zJwI-H6^H(hka(>ur`QK#!QT{;&ZQ?>idb!xZh^#Wd~2{^C&m3?oQwx9nJB4RV^=rY?^-GZGt zM7$btILTb(%NrZBb?pFUPff9vn5kWm;T{In=Q*F4`aPt44fTz{AfQ3P3SO5)gC%tz z1HJ4JdgS*x8365om&F9juVK67J< zKV>wC-)@i&s}9~;A3qa1vd&gVl*}gT<4BEDZ!syz&NSnyHy_h0qwoZf7LGqQo-1P| zHJoBi!bm6Y)NuxxrWtWd5C%+U1K@xoW&XLGL)=iyZ=RlH z082zU^JY#giut$T2P_ca5KKq)k?35NGn~FT$v@jqc{DX)VI}}dl!=)=6P&yI!}7h6 z6H3M$lwLA*Z?x-maYAu>U&{u26!FGlWtzVIbsano=Bf!i&PpC4AsAkp9H8r?QZQ-O zpF|sOt|UHs{VYP52mHkp=gU$T)7x7y<@b%63UGD@&fe)8X1>2P;MoON4`i|R>DC#k zRSzC&kn`cJe|AnVZ602TR6l4-9oi^Zv`fnx+0>U4+ky`6Z!F26sR5<6! zY2Q5`6jKlN@TE}8OQV`b)61kGytU=h$UZTRoL30HeTK=M<~N@4${CYn%$o z@G+chP5!(Z+srt27L}WlQ={`7Y-DyR0u&;t`|Kn@TMC0%bYb_v-4K>3NAh_6xhw4E zPhi_Q{d-5amJt=lVRj7jHkQ!C$66=*o+$*l{AAsK#qT#FMf4arjI;ZD?QA#JJ2;;FKJXE zE@n73f6L4xGRe>%yw9b|GqzIuG~Jdtm3`shUaaD<6~ExpxIc+aKKu$f=h<{bsrGtU zS$|~E_)Uj=+HeT)R-g+zCG*^~BUBuuWYqNFlhz;Q<^L-F|EfSYlC8f$b@<7-!qsKj zq4knRU3~QOIWz*6&Ut?*8Zks><1cFv&e6l@qofflodLm*<_)6$;h<1b(XqB)+B5;w zFp005GEE>p|9sbiHsnNph%@F3))qM)?>kYZ{zz4KyfIkT@rCY2v#)pBnW=BE-Y%t^ zE=4!$RG_L(%5ah&_snD%SAKcuJIwZ8{aIjVY*oqR$>bKE#GMwLU)n|8t|6u23`nl8 z5c1-{m1ind6Rin(J(o~174J##_s_Ix1+gx9hfcI%FcSS%!SFe5edG4UuddC`lRuEmNuR=&J7wuKf1D;IaRY zsa}8mH|q&MaSuC8?&|LDOelPCk1JJ0#F+vrxpH3s;8Ca~MKC-%=*$vbfd1xe5%=v; z|K8E7Q2HHE8TG(VkJ7fY-0-zh(&|gdJx!Zeuj=Vk9vWCB*DK z5|Mg2gHt^6Lht8j`o_Jxf+`Lc;?`$_*M+SLlHs#IxYvU|yN?f+hh zkv47u>4xP9_gJ@L`cV*F#S=g();y31ww0UA7dHG5h4U2XQnJ}xo|l+gDPIiYBOse2 z^b++B#)tk!Pi@+;mcSKYp&`6Z=nI$!Gx$|n%1&imyD1Utk|D$_kg`o2_qWodf)?Va zf)Xcn8{SmCy&4ng){=<=R353@XpopJ<9SX9>C8pH8O! z@lCD#rwAUBW0J+4=)wKm;!oYkV(f#Q$=saujp>nemvB2GXOGJuhS?Y$~m8|x2#4CygNRFFLFKbmgAEjpeuJm^0^5`0g)cPpkX*+;` z$)y0#X?CD`F5caZQLz?p+LL5$+rU8P(fZI_Nt`A<3ZA9*>c$n}F&;{$f7Q=`-tkUq zBy)&`Qv8hyQ80@{JF~~tB$kPv_MgWnHlnrM@kA0uno%&yADCMi|wKY1r&J0PD zyYs9r>GH51H?UU9hmA`Yp2&_1rG11Iv#c6BN)pHna>%G~5=kDKkogcL^j%~)bXV|` z2G#bp=uDH=S?0iS49`>DB~~5pQl)+%bK_p_DkOKOuU&t^gSZkHUsgOnx}QdvM-yzE z*$&*tFYG>&eDqKIH);KUm6~9+i@feb_oeQ3*yUTey{xe#FAPhbnQe%3yAL?s>%c2A8m%a+p`-v3~F zOEv-42b;v|L#LdWYv=U0by7YX{NQ3p5BHx1rMS|3d|^k!;OhfyQ#?EIF2q_HerjMX zr|y#BqJiVbidb9JtE8*i8K2_@C`5+XSjtf0$P>zeE;3SNUBNxuf%^4&41#GSh#vvY zw6WO*Lq-oq1|6JYU92wgS3*h-Sc0nUxKR$BizZSRhAV#iAH({jXSGoIe#l!k`uV%Xka>t^HYjWtah z$z4nDrfn`dK(a17`R15-etBOJ@}?evE>;lHjh|%I@KP$pyz|H!-I>9m6Mf*S-UF^W zYdZGJZxWrbcbAFT6$ZzZJ5`i||F|2V_4nA+ua7M3gseL(b}qUxZazOB`!Sxl{1eQX zp3F(!x6;ek&n;3JD^&?#c3vO@b14#@NxuVFf|nq5o!ktxUvL%iUu&Ls8tA^y0BoTj zZxv=|AeO}lmU8?2c?-$u3cE3CKFneg2`t4jRe-cxg>0!PeJ3QFDtSbCMrlk&HY*M* z4nwX3yR|Y9tUdZ6c324^Wa_1ANJTyKCOfl_Eax@OcclJW{7|VFu`_-LZ=i6D5znfpAz@PH{iwsphaf<{ z2*fiFp&=Qi5wKLuZx!UwHC%oYlf#y2+_sj?$|@9kGN(**HI* z(F{}XqUKT=@v9l6#HSBjFFW3Boje9)im5r7;KMz0d0UCZWC_ba)GsLXs#I!p*ZAi9 z%}jZonCn2tN-#P=5zt&VZE)0ZG=Wx%Q4^mR*ZgoZR@xR%JPS?{Df)SUzcQ7ubcBaN5An3j5^ozv$q; zq`b+Cv!#@`D0XT~7mmEQmmtOi4hRO9{d5&$tY@z_`5_n26ytZzUt=*m&F@g;0{S_a z9qD2>?!i*&`gTmnwqB}{N(i6TeZr7e)94gOJ(mYcNp->g)s7q!#-_kcE!@2O2xU`S zXr#M0%bTO4R|Xp!lT#b&RW^yB&8J+BShsusIA~1%4w{^kFP4|NsM^$PV{{HR5}8(el?@;uE{Qp~9OFk}9C8F`D4lIqGXq0-=k( zI9bIyBSx3$b2Jfs#{@hv%ERs0drCMm%8iw#`LGywZ_u=>ei=7d19^~ocgF<;zvNJe z_OUh=e{uQhW$gFxl$b}E0Hh~xj#y28d1Rdbh-ogs0kX^1hScy1>a-?%4BewrIgsRh zT{W_=PdM5MCc5@+;)bx<_O9oDUDCm-2Dv;&Xx)!B0I(M!fOpYzdIGG)x#-UNd?%C$ zi?fyyMSE?@LX6e7dp$~CW}{D0Hq(rP!A$Qw@>Gls`Dn4~B`Dg8N`rp5+P=?snABdpvkXCiO>Y%eQs)@EG$`36fq*Inr zBhP$HdyTxz3X~B%?c#hoHp;dJ5WSOTS9;G3#Wz%D&4PrVBshORiC*%O^lKrrml=et zEc`v8`#&JuHP7Fh(MvaZ?jTxcm+Y{s`A9}5k^G6K(+|8!V%186Cjal~kIa#toqBGe zmChT_D<2))r}5;x*)n>Uxt;5}($kbggia+p0)}N4av$zXx$cQmru&9Xz=puFe4`4% zLetIZUjg)rg3-VT>yHF73eX*@4ZuS(8)_B5oCbmzlzy>8Y2ee5XZ&zyvp1CVz~8wp zvflR;tyJHY2n#a1yDP_vyc6G~biR@IbZ)_B6l+2L8z5?n7jtUQZqz|iGjzkcNJEm6 z;D<^nZE{rkCHf_{S5eM(+ahNz0~>E2KMNRB=j#g%hUh!q*uZ}RxYZfy>w9sVe8Mth z={}3t+hl&kq(1#Tv6*sUA?L>NU*P_S<3ipIIqSutCZr$W`-Y%mmOYQjIP3zwfLpPV zb6aMGInO-mW1>;hGZ}ETE#`H-!o0jaSzn95i~mNOz&9+lcpsBnay1YN z=IRa|Dh9{Kfl#0o=HVV5mw_aM2czP9BS35WqV%Q=Wn|J84TgO~%;ZB3!B>^h@o`3| zyTDJayQ%&3Y0jxo*%1p}?|x>LcM-b!d7SHyMiFT(* z2$tmLF>c3icg3-fpkKA(Kq&IhREbEDfnEI!KCNWyI_eMeAG}#^z+0J`T2EIm+dQ|G z{hd4rA?y`?wB~MzR!U4{e3u65%euKF&k+8CCnW7=&89s@rThLzbrO};m)%32(4-72 z97P9#FTisr#Q>WeYo?Y|0rGX?ZS2bePz@zn>OsY$X-Q|FIO_PUL3(MK?$?nbZnzaT zT(^zdA#8m2!Sjma0V!vf^sxk>d}m*yNk*iJK0@Aum5z5ZO|#3EWn3df=JBvv(waH^ z5KKN{t`vd$^@^IpJO4f>iz%H7d}t7qYnK|+sxDTIIk@+_l;HZb8Q-4^Y>b9_quM)# zr9O88;A$)Pk22iZfT`}s2;dImMAZ3vq?C_4+4tOniPIP1Rf=WoBi@GRw%x_qGiGFB ziY1A~lzE_sZ>en(4elEI{_`gF+}~tWF!XZfdba&I`Z!wDuoe6g8dLG+y+N7(qZ!jT z!H**zKLgp}QBE2>$UN(G-QSa79p{F>_(C_AYU5WZ{S5U2ylS=VM+$RCR;8KxZeeW1 zu^zllW{c`rim8?Kz9+md$$e5r=E&ANDMn^Cwy%$-8KsSEVHSi0)e;bYgh*{TrOj<-bQ_*ssDVZ5vhzcfdggtx$A=s=c}%(reI zc9$X8h~samul3}|KNh0SPOa&MV?acbHBZN#%C`j+51yjvaqsq<7=w!TQ=OYorul{I zI`xb5vYQE7s*xc{F7LAFhBM)E6Uy)}(Syoc-A5`R#Y%E%UEUp>saT_$s@S+NDzNC; zN9oFHzLNvv%O7f2uVFszf25hmfKT2Q;~h_JRst>8CX4N|8xs}DATOqzACr3IO%_Q_m>~WY$gST1i8ZGac?aZ5)cLwtn zuee1@?brE>Dn;(|e4}SW>4}+oY5`@<>kVBZyx5R4?PYF03U-KZCg3l9;^NTQ-N%y3 zi(NNuj>XEe5%0|qPRgI^W5z=-Ip9uuvK(yY)AVzb3$R3#x%?Lze$=>S@F>+;Bw=h`%T zfsV~j!9!3a@5DxNLiy|iubNiz0~ve@1}BYj73)HPBuF|f3I1WJ`d&{+sQ^c82u}$Y z6?=r@Re3r-gO=(=9q)&I@8gF!6z$J4Ol=<`ehXIJ&A|i;=8bV6$SSpdKrx<R8_*PMC+-#ol` z>%n())e8*w`A6sG0BaV*T*axq4pJuu&~)38>`~By8jJZD=lF7pn1-R50Z?q5fU;gt zuj5(0_{KL*d($+75;l0a`Nk@R`fg_7+%xTG-Zx6j2{KuQderLCkVs=56^a1{?V1zt z5_n1KETEU$DYngj9@)&ro%)LLuQjXx3&d6Y4dUo;HWJGYh2*x_f|R1UYgl(qA1#Hx zhf07@6(&?l`}ZbeqdSHKr{Iu@H)9q~O>vN7AzP?s>Z4SKlm%Fv)gEMly9dy&QZZUt zVg`_0>(g&`{7iO`39p*&-z4`TGNF z9k>R*&g}O2!D%$QJL%a%3);l!W{EgODN_SjUUqLf6)o3hGavh0MpQLaSD?roIR{!o zxE?Y(I&~Vh_vywIFiHuzYPgfA-07byshJRxn8wN;k~nw?8zB{@4qGfXw_TbyU@3=( z@`}1%zN@pkUbJ9U@?%;206ce}B{I!B(_HIF!3o7U&(0;|mPO&N4xJJI+2=N6=|kmY ztjg6`;UR!%j1&z<{p6()_D$r}&$|e&=$-A`ocQWl|9H7q_V4AYgyqvb1=+57cb&t+ z*{hO=9Y6+NPFFHAgHM3H(sOZm^zbx$A0|7Mvb8^R~Z z9y&L}?v>~RYTzuV(2V2?)^X3@kutE28tZ94n*wFW?kw=*N>QGN)HrEy|7TRd#8sKI zZyDqvrE&6vC$hTxGW^qX!jx}Z-~pl^{pl`oPi6ATiP-QcxPl3z#5Y0e{oN@fiU>C3 z!{#Wcs*S0%I5x;#V0Oqz(0M9tVMvC-iL#6n6B(yjz@twZKC`{d2~AjZqxq$9qX5;c zs(;}K?P*LTDH`eHIJ&Kp6;y$&hCF8law@}QHLNH4)(*I&QebO!c6m=9QR4(^+_KSX zZY?6-%5mcbLCY zx#Rug)HS29go~g~Pc&mRNvi>c;e^&x&1`%)s!gs%8m!QWsj`uI%2PP&4}0XY z{9_hN{1=PGM<0ix3*@$szG^qQpYYREH&V*NblZ%?#K10=R1mV@)P5izqUixaH~|~$ zTqgSqgQxn#BucGSJS(&m@=y}Gre-MU7{069NjsIMqBT}XDfBxc2p|5&b4&?vzyIZL z!%1Gf0;CkDlT^YOsgS{dZNuff9$~@AJkO?tdTeLAg=sf%0)M=Qw@Poh-sLV*=KQRH z-BYi|Fm4TTkNlk`#CY^z&9>?;%C$KM-$eY)NN{#s`k5Y+ui89_(qejnUp4j%N}TZR z&~No3>9is1b!onKmr9y=91i*SaZKKXIXzBr@eDl$*oNu`2>cl7PR+r;rtQXJ`zkPh z_|`zHZ?VqsoAFU>Hik09O+|7>WTF>yI1!HJwhqZ$^qQ zx>)yk$`a8nhdn8!;TY$kb%w>6NPRcvfFluZPTP~mMoem%!=^;Vnw#`?%kKZvSAnd$A!X)bE){#+>t##KYCepw!O=P z?YA>kL-4PQ&ZG){Z-vn zIyb?_f+>0>7-^K8;S}-oz-aVFkW8<)2I~%iPG;l-o(lCFiLD!J27GckHDx86-DouN zysoDI0hzhi>j}HpCN1j~^)K8>icO_wR6?vWYuDBD)0v~x^Hwbhp;IWBt0iPnsE2vP z4W19v{rT-VNj)fmBS1PT(Kbwr+#TNSv*Qc=rA{uq)L8TB@SSH3bIr{__KSL_yx*`@ z`A#zqsiViF6dbD?u;fDd(JnPM@hYR=9=a`CvoU#uCm9o18eLVBEua5&u?;D4@4yAI z_)we=Y^56+N~0(*G0C&tH6?qc;^@ur4aL83l>dsGBj7J{{DZ>)C5A;o?e}vd&zGXCc)gy%OMpp=H>NKp<>S5`H&wZ_K2xo$bpg^3HDb> zkVmf#S<}nHi+&&WgyzNVHY_f#2Z;O@$ePGD-?GDM6tD~xyK>!wJ0?*cw~X)V#h z5ka?0LMLvi>j}~HNVM2C!Bf-AHR)$I3L8JjL##r+lI}^Nej8+uS%0&K?2t{%UquPO zH42>@Y<#pZXewmzM5B`hbK7QSyLsqWYDm9vVQ5*A1yNAN$(Q`8ed{0J5c{c{FSj>% znUoJ+^301ZA@vi~u9bPWzU(|)f*U#nxv-}xn>=~KvbeMT`n7SI;rk`l6gSS~^SmC5 zqxgD5Y6k5NPFj1v*kutsS03tZK1}Hw8t&=ewaNc@taJGBFSzWwFVlU9zudk}W?Kkj ziizFStPcLRS;!xxN}hZ;X{`K}Z~1$xrHONxlIMe!*-XBKfA@21R!%DeGp-2yPU)Iy`*_HYtx% z>;QdQhH_y!dLp`34$Dj0DBhP$Ki7o9faEHKg}}SC{`CkM=oIhm2f3Exw!HNTBrdd^1Vkxo_v#=GDxzzIs=g=WX6#_6s)pbX=(9OTuu-6P4sJb6m*%Wq@e40zgEp4As5jJf)^2Sm~!J_O_rUIDlrX}~E zsV2^~PUlQ_O?wZ@QO8c0<|LB1Y-76an|wp@Pz}n;m?+R7tp?e1>VXCTzm))!m}t*V zp5^l4cPnmC-*x7RMmy@$G1ICs-UgjOm2Bd3n)`zr^z8#>H`hoXJt=bfOW^w-$J76Q zc)byRUH4x?#;Cy=%j?0#D{TE>M5F1iF{j1Si9O-|2&U`D5T)3;`EOqigtq6kJ@4(v z90WeQlOv0yxYl;Z^NNf^HcSS&WrS=h8F{o|dyX`~?Sn5KA<4)KTQ;%^ocYiVu_i{^6#UG)Okua#>-X0pLcTU(Esc9wInu+HU* zM>#5qHM0a35x1Pl8vUG^iZ2c9kldJFTQ?!p{qVGm}Q+SMvB03*Y!R--7XMQdl*@G1;Y1E=lZ1!1PwKYab{hxB!uJg(l=CNK-(Q}p%J?}tgjx=Y&s@qb&Bm8r z+B%-cG+DFpY79(n(WL1n`?=k)ldz=T|0)YNijcphAb;<3w5r|k7R!X|qUAs6<~8sy z_krO3eZMfQWv5y9b*Hj%zg`G0Zgthq9$zvYL->&Az3SuwU08Q8iDBJb3e=EyQE%is zX0Y*Tq#Kj#mU=^b?}n}f`q02GQ};q?jh{)1=dJbh%}t@@HaeVBZM7Ia15*vpc+VgC zKM#M27>-GlXEzkY@WiSZOXQb}TUaQ+y~o!Ph1N7YsYUMBnSw`5^}Ju*mH0Q*k>9wi*EVWHiRLBkMMdwC~ zfP!jh$)tX#AEv3Xo#Ef_y#(iH=*mai+k-U}pE1T^Y8^jGF_#;Rx8|3_yA5eVe$4hv z)CLzbO4FdXJ3ySIGT;iNy=O&R5fu$Oknek60r4@HA!-)_*6M$WtYrR5L^asTb}qJ* z)bb@ml;*VdP1Q!6yQ-C|wZxDFr*O4#jy`WIo$13Bl6T86cO|P7-B69UiMxeXGqR6f zm?&*F$V~(qCfnwZ3LNol)9IU&xq=jv4uea4xR*{+&>QgS-=H=n)IN^LE`q(% zheLosQI=eh-qzeJAD+n&iN5!m*hP9ub+P)k2nC@9s9K2Gg&dP8EX0F-LFD2gnzSmfFjubIb|GVfwQjlHb0CS$uyORe%f3XX?W{gN=l*d4JrlAq zb>Z}t4Si&PpHDqcE*PaaZdqXYf}LwGDFM zro@(S413eq1!TkT6%WiG3r+F?sv}9-J160Kv4rCVXGS&VIdOG-#-H%Q>s0~lw;eBmbz_)8o2B}o~cNq@lFTOaaJv69%G`$M;^1MEkrI}_j z2lGa}G6GNs3#QkV0igKdxhjgz)~SV5hTSd?p3eZoeu()ALIR_e@-EBA3??*AJ3n8M zkIdWqTOlB`%Z5F8UM*u3-jb}d7MVCP!e9jdN)a~0i{4GijZC!##Wv#2@A+Vn38&6iX?L1ecVi=3Pp`p{-xOGpJikpcx&(Q2Tt*nq#TWUZ7;JkfDAW8wV z{W|T|qhI%K8`C=!`RWD9@`SPiT;lO58r9w9*c17%M$+--y39E<=GYpu zS3VBQJ>Qd5PWSi8&k30wltiEMud)8Sr&g0GWujjGZV5U%&tHil%D8MX2_v!EhqQ&^!qUMrF60Ve^@&}-Hy2q2;_ z<`K()L6pS7OO96K%4{iDrrsx>2s_a2JGX5Dze_#_^sqvKvN6+8oQG%Ju@nq%r7}c^ zbpyU8SM7dIj=5R7PHWMi5tw#27bUMxJYgnnmN@{9cCweAoae@>qgGsT^ok8>Qxu)8 z2*L5Pmub#tpRp`KBI*GPRlnZ>@vW0WXm95{G{5!BLVh8xcpNgxZL&z2GmquMJ?N3b zFk4M%FK}O8f}pWMo?XAi74sx!%P#`>;Ie6$$Z{q$;F}y3fq-*h=4@!Pm{^7)dz>?(W<-lIW%`k+- z(v31ewyeHGhOAC4+16_9!(p)mpeS)rlQa<41+Q7jU1(}8#oF(jVy#>B8~?)#`TzAh zH%06^;J>{kv+l#_!9*42BGmoikLq`#<`Q)mRtn>yTUqDI^z{SqD~gGlDUqIRO)ur7 zT71Q1dQrQ9ggr4Bg(_gH0hy3_-he1rvAjYiymm6K8XC`IhzXii$S}IAuWrKQ|CLCH z=9eB@eJ&p%aZjidtuN$mfr+E2i_PRgk_!y2jXj8p)W3|W0#&rXXJk5F@teixolWVq z$a&hZXqLrqC2->+x1U9*%!5p-bfx`bG^M=_^4ih3(l^&n(MWZy@-(*ex&??Sv`LDL zLZ!~n^|yKI2$PNJ+3|1q4NKfohoWWimC0Ag*y`o-s3=qrmOwUxPii^(P-~$6^UDts z6uNX$s3T%F`2_u#DGsP6O#x<^d^SrU*$$(6}dl4gDsb85I z_~TiL^UQ*J>(eHT)-53Z1k=s7bLy~lLgEI*ou4_Y_P3oGujlvX>x&WW%=|5BI%LL! z7%?iGf84K8__JS=BqSYr5_Em$baK*>8TBr`zT#pj6PR9M6AH6u9p)u?o8GbUy{Zg8 zCI1qKhi#lKA|)m==5gkv!6=|XH{m^M<3%$PXNAsFb5Mp7*M#>-<;ki+hf>ov*%yjYG$tzwQhI#dJ`Tfu0$czlw@f3H=ybpZi!7& zZ~EWGnDZd3Hobhu` z|8?0oYV=LyfJ#9_(Mjp*$YkUPraSDh(%u@)$$_E(`Q*dT>6=kFk|-e*SFG1mFlPwkcTuhtDx3Gml= z(iWg|&D%qMZgUc27XNW``rolr_lH)I?fPp?NYru(t9(H=c3JpQ_&e#h?3{|MH_p26 zpki)2RvW(b#g8+z@>sV3z|J^R6{5?*i0q7zirmGRi6?LN_vi?zW?4X#@0RWzM7UUO zNN`q^tGob*ON;_`bERD=k_{>pR1g{|gT&MA03hHe!18V^(-3f-(nnmThaUavjHM6b zL|W8Y=KK_gFmC&K#Q)>$Ec}}8+rF=YQqm#K7z1fU1SO@}Mvu|mB_JT(T~eb2Nu@Rz zB_XYVl!PLT25Di0h>V7Z^SZC|yr0+WiObjhH+;9>aU7rHeSAJnyE=|G{9vAe#M7Rf zh@OENLFXKeqAwW6*q2=5bA+49=en)bL8T4W?>Jx1WX~EYnuCn56J3d9s5ePHgh+Y} zzD+_iMMs)vow=(g{WHf<6FB&V!48_{7&riY6XoPGO&`x~{k^Eh{>`J5 zlq0>kG7ZP7gIv0pENBk_Mtc71mI%L;pV=F0E+PdM{Uh9sNj#zqL@M&d;ET$S`G@96 zi!7&3PEv^0**oMrty1M4YqT4Dp1jgAA>5v2vkI5udlniOMOA94l{lN_8zB4Y!JqDV z4*otNIksBayJ)|T0TALig^k)N@<)#F_XKtN>Uov((D>QC+zvBuzG z)prXO?GxcV<-!;ci$a`<8@=M2TeN}O_nbX6hVN(<-*YbUEEUx^mg|t40^KhIo(_5uKGd*c z;dMzF_A;;Eljx&{c+E#(ON<=X7oOQ1pD+@AYLOuzQfh^ob#YM@@a#VskobkEq!xcn z=~o#95||Bw0%2=14SNo=3>&vG(e=Gj)O=8}QPGb9XfNFi8_36G((N6&47Jz~*g*cd z024ke?2kWin*V&@#Qsu(%8qRPXO8f7uEANZW%gD(^#On^%(PGE)P$`UwlfIS-m;W_ zwm&_zCoj$H#hdowyIgQ?4z1;Q`yAmdiBEfSYT$9j@;B0yVThi+O-I&niny2G!xpFa z!e}62WFB-qUL3`MS`s4F6ie%)!?)G>;^WHGsBV^Gcl{$vtv(U`{6S*x)8pv z{Vu~(Lg!Ouj~uAhTx45&NTImGhE$_+bc&M+78M~S^UO1_h|v%fz@ocysOSIr172E` z==cew5Gej#Vz5^j|C`dGt)~Em<~B(riI==Jy1S~Ha@4k2_iNJva|%lt25KF*8hTc} zDvPB$C=#%su*&7g{n{s-mRj2$7uv&d)XvjX@?m7vQ8hmQp)i8VJPytiC92;CK)(+u zchjmDDQ84-92uf6^QWSTgN-MBtt}<1wJUzBdlZU@cn{nh@dt5KS{n;6s&bJTF$p?T z-ig}Cb>@;5PsXYj8=?IE_>KO%2#H*Bebgbcx>G=7YzNna(G8!I_Q$8XkjTT2fBK0d~YM2_j9{CNg7;c+VR zH<;QRCe+obUW1x6L2vYUATRsfISaKwqevKCHk~{Fwlnh3>`0e1Nk$f5slQ_I^_kGv zV%h_WY52npDd2wLAVd6K6egYiEaQL#JA?>$-fovTLZW*Nv)?#(lQXFBvQyW>=>`Sa z$%mJGxK4;50FO2975kbQFo{eidy**y7@703Cm5lvD}?yE61)_;eztKc!BqK(68zCq z_FQbxH_LNE>Mqh)7d$Q@Xz!T6JMpJW7D{{4Z>eJGQD@0Po1=Zt9le|~>MeG9XN*$19`^=nU_SspomDazJt=KM*&oi1vV)xl64u4zYB1V1 zIz6J5Ox?GH&?nFLfn_n( zggIbhdEUJYkbE%*`u00AV0t~E`Lptf#im%=`#Y&gGdXMupU_6Hs;ij{vnNqGrr<~= zvY(QdkhRJfiP*=nlZxRla&r)jVeZMGH6R;s{C)BCFV0l_FlxEB6hOYDM+-+Baa6sN zq()*&5=hmk0;EtWqhH!Ul~k1DUSuVN=-eoVtJdn&f~0R z_vU#8UCa~@g_t1;Yi}v@sHjGUhg$D#!ZYP6!Px96sG!!oI{?f zI=Wc`nr}4A>;sP6$YU#=1>b|OkO|_yxoHhgouS>E`NwXxPy7PvX{MqypDY|1B^iT&8 zt80r@uB@I_Fts86S`nkbAZeSZ{z8zmv9~fnqpbcOz9A)qhN0h2V`5CB2W%rcumF$4 zJ5_z%S`SJmZcT?t=!ha7tA|I2-)US1)7h)D>jC<|6??uKDC4uQN9Egl+GDn`~(rfz=QS|8}{nVB* zPQvMRq!DBM^NMwz^%tv`aVGaEpZX{YjN+|--SXl}o$$AC>#OQiBZP9v)~C;D$FbV` z+o&5Gkq+LW45$+QI^AQGsAloJnovlhoBVp4LPdc|n@a#cl2}d}CTi{9Y3ihuv#=3yQE$Mb)Ax2%K-E(ZXn5%Hqw^VSuThO|r9_l4$0i3*g=Jn2d= zi_Mfm{C^Pa7s}HX?0F~4`M!-_`P{cVQ(r)BNeqmV`;hNuRxx7`3F#@FA#t6&zA9an z@9|+)@*T+_j5eZEv}KAI->boAF26igeRHpaJQ-2$?=TWKE$eFEjrpqa_wB z$14{r>p_;y9Q!5qoO9_-`|>V~c24?4k&1Ff00J-B?Q3x)wKVnJI!!t&g^ThD545*_ z>XElhY7W(UbHPKqh(=0pr8WD&rB-1@Z7<050g)SH2_NZqf8< z`o$bbIL$cVP5GWg(s1xYr~GAp!R(i|=t-Z9^sTlZfqeTPPK zI>deGu~CPTBzqV>xL+7Y5v!BFc9SzcM0g>*- zrWU*j!UGvj4#??^zU!32wDJwJPw%tzMsaBGuxL9ssBOFwp-RTf zSdpNHUGkk!4PXMDc1C$J_H(MAQPZZDlcMiz&rQ6Xkl|rZczpYL@2m77Q)yjA5T$7y zEmpXpi2$DLxyF$2_?`yjmy$;Y_qx86!84Qit0zrmb{RZaSe_wgdfmiJk?>;pRjD2O z41$7t!rb*$*20I_$2YW$GoA=YRR0HN>K~mar15WD)ZFC!=r3(23mX_qV5351kKm`^ zpaAfE&=HWdW%&f--6Vw7NT+`bPXUGY@WjEX+A?~SB7dv70;np4V^iKF8oH!`B4k5p z2!uDTeGtjd55x@-gj$%lf%*b>1IEG#Z)pHIf7QZE+^SN+R-7;86idsacxio?q)IwS zb&oK<-0`YZZ6$8jbNXH_;I~fRy{D{Yt+kPBEJRlCG^KP!8`2L%AUabwydw_}PuA`v zNKcD~Z?nFi1mCD3N9{0rsX)L1YreZaRU6sZDrbu6h0O1P?>~{o2#TjLG8Kg7^2vSi zkHdEoggtDMxW>U~c4C>GJJSg_)!Nam{#ndko^gj|N1Pbh9VbnH`OXz%ybKFBMQS(t z^2~AssyqWa`$g;Y8}MEFh|IwUqskh+^Q{LKA}YKMwtU%c59*EH;6Yl}nd#+#Pi*F= zSz~fksy+&!MOP+nrXCwp*&;4ULjG9|{fF<`)xqBfa>vWdF`Y-%1!66=s$&nx0eo7G zyU5-yWsjSW8YZNvhY0@1tB6{D@&u z{s}9_htCH#{3+1LbCbN$uuN}2f?TjfMitHYaTauj=7VZ;0Q-rWYEPv$4=X!R7k#uo zA|bSWHm0Fzvpd6ypX0+DnCAO?K#9Am36SV9?$ zb~jLxktVBqS;>oaen%{oB8%$@GF`kaE?9!B9^E$XX}uKWdAMP8RBEh`oN=a-Eotq& zt1FH>wd6={+L;S0T)Nw@0n3avB0%p`LB7gJkOU05w14pdy#V>pvmqov_?F~;j<}TC z%Nku1H{G!0?YmINVNEyw54#>~uko_erSt=OWRPRCc>ZZ}Ua}2~MltUQxBL?VUNm}2 z8~rL4E@a_ULEU4Tl(*Gi%MW+cQY0fk)XJy^WmpdTkk;`7=_BhnIDB74M8>|_ zmcO0n5?qK7ue`_%YRE{F&~y3$2mukw?LNPVF-G5;=6m%vY2!1+Ay^;P>I1UYew=>D z|2FuCFj3OhGpBsHMoVde0C4IwkM4}_$6(7X76WrnI94LXxQu3UjnT-hV>~$8VPRE(SX# z&tIIb5%8##JlBBzdd`H5Rf31hTSXF-(R}v5-bSs;hu6ZLKh`@KBTqA^=yoDvQ3a_z z!UFR!7N$iPbD0#aIJG57WKqQgp#QsnYsEbxss}!+H+rPk!SbE0WM2zTAyMA;iz>9< znqB*bLm^I32QRHpt>&GcwLF@??V9H=-?BsKq+m;&b-d$IO3kh|RD*}6 zkCQ;HTE%5feybY*!;2@1(J5-7$D4u0;TH`boV0OSz+&JfFoY-1ZeF93{D{ki@0+)d zSWH&=Y_`+(44(}e{qG4c%s_sc&(fyTF zW~m|FkIAFOQU&juQVrs!RsuOT-(J|KEF*|i+aNXDuS-C^v8(Q9k6*ZvgN2hlgA;r1 zdM7Y3Ty6zbb|)U17C9vES;#>omFwRYKVN!Hj4eV=t(g35`|gvQy-#}QH!cRFXfyT4 zb12h4b7;Kz8T#sQ-=G)S)PU8U_3cj}RQ2M=_MD7u8RtXhEJp8<8>1Q&GE`L+ky&yy zHbVC<#_}~nBBFnUv98|6XKM6d8^fv7g~53H@SdK3XOxy-Jg&G8f$@LlB6Atp)&xNg zwuyG48km&28U&+uK8KT|jK@D!7RT*KMe|-*qpMNE30ik}f}yZzB2<<2Z{gJX4~#WB zhzRbohmr!sqrU}Ax-a+U=Osi%A32+4)-R?R8QGWzus`g${!6dk*ops5Hb)&vxSYCL zbAKDP#OOvam-?;#SV8_x(;c9txQ*!~HCoU|DgjyV767>25?g^$a=P@t!(|x2b&?+b zG-J;*kWMV_ypq!Z*;3#&9GA&r5nlm0q_#|(f`3p z8Q2IB4o{9SiTg2#BI|LneGMComx|*KgPVwZPv3|yHvxklJx(10P~=j_x{lMa=+Fv0 zM6DJoqIJ2m`<{{XEZfq%Heu1#VW`trM)&79qCB`)AcYOPMNqb}8A?Sxz4$atGB3`l zLIDYiKaq6H(f-pqOr)(9P*Rn0kA+&oP=Ct=2azqP%*-jCLrE7Sk{n*+QvL^TqZW8^=<--P z*cTyhfC=$^uw2CCC3d2Pp8RQ95RWZEG-}0;Iu6_!<7Vmz+ge(%(j;Ck4|(6ghceC% z61&YG*$UfYRW=-Uu{nl=PZ1_DWAuvY__`<@%*a$}dOIrIpXq6T2^cn%WdrJ!B~h7x z(taePQmzXNPAgx10~yH0`CPw|m2r1XF^A=VaLGf{_|sF#4{C3e!|2@3Hs{zB2{Sx0{cm{oXzvOBrFZC6{kR#>XmOP@I))fH0M;Re|{H6&1zcUbkyV{aKY)uw_ov}&URK)oK|BxE! z7is7-YoJ~_z2zdog0X;H93JNlql9|f+*^@xO&1rlc=IxXEA0pqC+|PjJVXA`rMWJ5 z7cbZrTr{@`Qm0JyKa0RofIzrcS-gKG2n5luNM;aKf>3$q5lhDIKho8$+`g@3_tlI$ z0CJ5y=G9(?V|kP z0f{s`qT9=g4ez(f_-e%;KyDC4-?sjJKtJfu9idwxd|A@pgh)+Qe5SePT|K5ZJc>80Duq_^`}6M$Ot=Y z+Xa2e@3~XNX1t@X)Zw0jI!d*6D`*la4jMDF*ajZK%=o5_WTfsB?NUdAH4ryqMAtBk zGzYr-BgJZQa=f3ujR-G9`v%8Fk~kCVisJMzaZy-`0GaaM4SE~K_i^6lGJ0p=_S758 zC?XQKNsXJ;k+MX(6o$OpeXgX}R|c5k{My9GgfKMoa!1jqbZg z{q!U;ml7d{1`;FVAv2LTcun)10^v`=Ul=0{AI>@g8 zKvAMlQGO6Zm$H@@jS{|Mv=ED>*2Nc=0rzTR0v?J~B~xwgpnVa64zbgd7COKO-qy(yOz4B2kz zef4_09Wv#(H%YlxW37nBcp~x)j;?|9mjnoD9_-gf1SNWLWrZDQenv|ay4Bfh*Eo}1 zy9l_DD=w=cyx#tlbeVY>za`_L#(z}gMI*km!(t6lMTn*9?dZ&aG}Io{jr>^pLiNsI z4{dJ98x76H-t$cCS)2D>>@!luy*Y$aO&POh>V=4nuwhaHD)y96UM^gZnboYf{0 zSnrJP4hr*5QyXH8sk*J-y-G)!+1K&5WUQu_ZY3W;lv?>&Y&+ww9)z6p9{&FskAFr@ zrmKRd|NS(b7fn}RkDdmrt<{ge^L@2!Nlr!Zse-ku=n*MX_qRO%Cmnm>>Sw=~E!!@b z#5_2yVhwhy)LT12N*ln#on6WCE+7Wz0C^=i(fEL7i@CrF)TJay#I8I4S>O^9lt|yY zpHMuYCv=+aLBmIsHa?=lJ2;xF#{CWn+auaFy?Tacy-;h%dkU+2pk;^-c4h+w8%d&* zG2FdiM5Iv`V8d-d1P36*qzqb8=uj>PyA*xtY&YB6rg=+e%l|{X7fww+Qj)|T5(ly= z1YWu3P0pIie?`1Gm}lkIzR92`pvH5#aiW#6CAZpGt1-ussz4#ZQzB$)4!fw3+1w>1 zQlA}6ZE#|OWI{~_UXB!u%+J5R!>mwAi^y-mId=ONbs1memyL}?(rgE+-g1)xF}Qkp zz8zhGPlDaZ)2l-A7=o&r?mW<_ygxJV72y1*T1-~h-&%}P&*R1O{YR{qy=NKZ-^-D{ zwxqq+W#kr*zPsiOz088)`BE7T8b%(YyQF-ltM~cNmNtT$27%J@`L?be3E9%4L^x0d zg|1dQ(v}fO_G^`=$3*e22BB$rD^wc7ZZP08P>543(Va-9)W=swR1PsQ7(xp9wC{ff z&$fd4oXDRBSOM!Ey>L1^>=wbkvI~GvS?2k+b2^U5h{_CcR-R{8&Z0nt_XDGf>1~KW zD!8Pe0CVZmU!6^b_&ncCeztZ{hiR5vG!L1#YmU`FI(+Qpg<2>dAB$=;aIps>6iqUN zjGQOLXxZC;ZQtGxbP$zvzV`cHhrdkt&^z;Zx3Bnn18=!cLv^JN>K$|ZkEHL>x7Qn0 zd`aYw2ISq3q908v{>a6o0*7^rSO-3i6H4$uAkWa+;p3QcZd>f)^4tT%SQB zNHR-G@?|%W#6CMx{i)9#$`~1*ZpJ?bYd(Gd8-JqwFOMQ=skVUFnP?^mBD_)m;Y!Ow z>4Q!;x@c#gdCO;+adpsiTGPO!oP?E2jRxL_9-Fbw6l>1!l%x(sxO37T4R`Na_Ddw8 zHjmFeNJJ%K)5eED%G3i}UnUM{!YH!|YW3#9(?Hi3QKEnYR*IF$$(^GEBx1MTUMh0p z?e-5l%(v|`xgLqm(lrqLz<}dr86tp-A)8{A(K*nFJY`UeHVc*(>hQW)b0yxU_>o7F zbhotDNdh3IgzZRZ=L9xgjSt@PtPdNqSUZfeAyC1hLtlZ%b84;YjrupSw0# z)5_98-wlwU$OYuWX;kA_i=%C7v<&&W$UJV`-rJSHKXJi-;e&;oVzHmq^+E}#5F~Mx zRYVOts+dxmuaNM9h6i%rRg!K;Iu#SQ-7gS{TT`nT$N*`3za-?TX~>!>C{k4>K7tfN!_0mq*Ikm!JywMf}_$oH&Dw@vj@=4Pyr@^u<0+pD#WbP8j3M zwK$fPdoJD&q_;O!&ArLn@wS%_f~*vq*z2ivG65n_#JXF1#$q;3dv7jxt!mnDWS}nc zbB~JOqo%W8TA=*D$+=PX(7)Gfx8+&?%Q^Q?TH~v%fB0La9=FSNwjlHPuYgdv#bQNI zA0YZZue*Zo>95+E8TP`V+b5)-1oM0Qcw%1?rZ`E*^H+jyIjJ;oyN7Uhb>oD1bjqD4 zD?4McHqG zPyN#us8cOp&BWuQ%=mUxdlj1iLv0LFwsT_d4eJI*p8|$i>p6Po2B2FM8x>o7UcIo*eEy)Egu@m#_q!EQu4;Uobh? zXEz9K)Hw7oO1TtBFIHX0owpmz>NMuGN3mlVUHWBe^cN-{7tEqqo zJQTIc59vfrAmzH>4&b9sTqMxtu5gbWXs71>W1>Ki(5xAcdtB{Go8TyD2u#?=Zd69P z3TK=)mB_Wo!_Cf^I5>)DoPoHhCyajw0h=c-q5>jLHWP_C)gk^Hs2m|BH}e1ezUqH# zy8e%MyyE-^=fv&5WxH63Ia*nI-d+kdjs(+1`+iq#AeCo-1Hv|H4Iw_@iZ#i1MA(*{ zoJ+$^=-dEExtz%Wz9*^a<$19Lrvkd;k1;dpR;F7fsa?<;a&?7OdBu-h@ns_&0u>4; zli&&^%smB}0Y%I6v2^$|K!+$Nzlo0YExlqz=LqpwDQK-^(itjcVXyk}w5HQYQ7J)D zc21WO=x*daMIruEC`YM*YU=MO>steN5z(umkv#A-rsketFr~olHo}6~Hk{-s`;tJ3 zam3hGXgoN&1PK1A{K3+PaN+_gpTq~>_>DI)`d)YuR7lG1)aDA(3#x=WM9e|_f>#-g z7p6q)fVx}09NEjS@pU29?;7$rk;Ns^nNa^euMSoI($eyz$D}{S!bT`Y<+n*j9**7| zU#%s3zZ;11j;jl5dvVs0G_34l=vvP>KW|}=1W`Cgtdco%hV#AtddYSxphB^hv-sqW zV!@Y4iG@Fv#)OFfmd4&C7o4vy2Jhkgm(z}4*$_G{WF=2@Q52ZV*@3|?s#!aLH5+5B zy{eq%Cj;3}zXneUdT%ZH)_iNMN-urCoAD0VtZtY`7G*A-gx4D#QUoQl%E4D%!A?{G z=i{}W_<-PwOD5GW*5N3LSXwlNC=QfAT(#dH5OC)K@fY7 zzn9X=PQIXUOzSdMbl;>3hu3!YngKCubdlO1IEWwq&BP6PtdO{ns1WenQXPUkED_TW z*wB)B4CMI~gxXczj;jO(a9(}zvlR4l`L@%Zk1hcu@bWiwd|5!}^ z{I})m@%GBzIr`~2F|V;y@!^--emB|u?}~2W&JI4Kk$ad!@%Dw(HYD%3P~Nif4#Yj_%;um>A|1+H)3`6~Y#9HZ?`9}^e%BGqG?2xP zZK`uY_7>4x8$nyifChmTMLz`~%=%TsA1-KlNN=CN66Lmar1#R04Cs(Xa|m}tMGD0N z*MG8OW5U~Z@>zAf(C*&xew@m%puWH&iv&Yv(!J&L{iN zaFMMvL1OnQ?H+pAF?A_#_LkN1WPg>g5IC^E&OP!k+vmD7(%q;G?5->S;~T@z|Dc+c zE7(2~hN z*QkpijM^RFiU-=L`m{It7XzOaxw5>@m@^)0dz(YMn6TPE;+lU=mVJ|OM{TWyMXr8H zO#mQfO@yDOG(pLrRCYY^5nir~`kY?nzLQQx++DQTXi@fN!p~3ZX;)aHXRqxccRs7p z7@_-3lIM4fCc2TY%#fkg#Xfu9R&l$@5Fd#666ef?K#pp7C4W_Zr$$qYXZW&KZhE+#W}4;fB95`R+1?n1<0m;YzXUCZ}P{F zlhFO|otQ{c=he~GrxonZgWCg=jYdT}KI*(+b5)dOa*^zveb{`r77{U~B;Ci3UJ?v6 zczd0_!qaGL8~cN8^&Vmw;13G)1+$g2$}CXUml)lPH<0~Ab}JL}0_3oQ=FOR`nlIb& zHyCZ#4T*7C`ZDnrwDi#js8NK^#Y2kiNu;ncdqs14(~uebs3QCoM85v^rz7RNa_@_C z=!El{m9Z_=tBN)>xHv5<)%iL2VD?=LetT5f*U_-Ehc8gSGrV{*)Est1qhnl5F%5rVF+%;4 zR3gosJX7}oA7(}A)3#!w=kJ4YIPn?T*wCZZOZkiwihx(VN3a=Vim7|s1BbSRR-FO# zPKe^eJY?hK$;hf3%9%gvN^R~Xv!;Rcaw0y}3E)bNYl(Y!eg|0V7R@GdJUa)Q{Qi>V@5`%>Hi^UU?P^Jk)k^gNmG4<|?NhUV zVi6K@+%bT-I?}}eM__cS3?^~?%G`=6-Mq;ti-{-dZ_X*q{MyyoXs&lBAq|uTS}|G5 z^{~ABNRgb^Gpw-&)-DmNzho#rPeq_F$`1*bNzQr_YbvVB;hO|h4k@-T&9P-Ywo5Y> z=J!$M5kFi)$_B4!6wL;@WF;YnnoxI^ID+&qvw;0OHxV?3qE5l~u1+98k*vmAbFAZ6 z|93llL?XfF5?&!M{aheX2u_}=3iV}N)4E44<0f?~W>KH_%hCK3MJac&R9~A6xRKjckWD?#2wI``PqBN7lVv-_jcRidl!DXd0Gu#Xs5H> z`!f1nTu~iA|M-?LE9!4aX1cd&F<3JA{3nz7COhBSA$Tl`0J%-1S-D5wLnq4ONJ0;? zZPUHoaJl*MRPSaI!O7hGY)EIy``Dkw(u>L+SsP9#_km&kr4SxI7jX-A4l5QJ(*a=eE8nM z*ftOu+7a0Iq~ut+)j{a;wzg}e4sl^XOj+%Mwc$&iy#AR?2WnNUcS4kHfc@RO4*U{y%u zUu)<;o=aRyRrFXsRlVT*4B4R##zAeSNl-#5jVRvI;iBH)9h{NpHFG3^8(fi}ZcWD$ z;O?Di$L+~b7x3(e3X5@C=|b8~Nvv`rea!pZ%YLZH%VHJsh$vl6DnzK)FcV;GddFwpR~SZzjbAP{mhP$2!a2 z7+ZGp`PQvN>^c$l47wl0sYWPearhz2|5!@YxiMeXHg8aQS22^~>xS4J!`=a_YW;fX z1n<~e##91Cf|fwmSnLTCko{JJ2N`?Mb45X@9f?)sEl-razg68O=UuLgo zF@sPRmRJA?fbthdFL>_ANt(M&zTUFd(>+Cq#WJ47G)#D-@jD)MaXG7?-88`pMQxPr z(%1@2PEl@5?Cum=g}c4gsN$7Q`A1dN*xy{C{dU}#=0#veJ5>DHMU7bfMVcsk|7j7& z^BHXZ`0dn^98;{;DCOCglemNHK+6>u{aM(UPt?OpTf&mI-l}HS7Iy;H6scNiLz=EG z3KFxlB1hnoKvDWroqZuG6T=NST|A(noP|$y>@v5r!P`UvNUAG&M}G(8EZ4@bZy^GdW_bRB1&Dq(GN^3dm-3&m2kLx1n-*eVmj3`I*etTocLBxrxi6XWT{GOP7T{>&-sXQQ+vE4!HS2 z?!h>t^R_{i!M*y1i*J4c^G2H{k-QyDi}RP>lXn_hf?i4T+cAlcTuS`kmBh}u;pyvv z58L*yvRwUFjO6tYzUbw29%6Ugr0}nlTba+tr`Xxuv*c<`*k$yVR}g6f?|6~rX98yl z#M3zrD=t`>L}cv!nZ78fkE_$HR)zBH<9^)=*oj7aV$4B$V;oH3Iu_f_08}cyAPBF$ z$J@KlQsqaKAv#_!q`e5|eSXfW80us=uB%4U$9$S07Eo8+eXp**d#`(iy*D!WOZ90a zn)%vh~;91 z9#P$viB&kFtv)k$(C@d?x}Wip5gYYZ&@P@+zx>+E6DUOJOa(chKf=-b$mZ;DIIN2N zyvnQDTPzM3afpuLne=5ab}`z?rkPP~k^ziXSI=IueUqs*SE<}b*5{P!+G<8!73q{& z&zl|NWVesJ+iB(}U5Da^7nEPH;bLd>d5(n1bI(LZU538?@f=R~?;y`U`@f=8uf!p` zd{)%Zt(^@aSZO#n*o(1K$4`K^2DrOaa43PYpU_XRzPLIpo1ER0yvCy}um+7XxV$c@ zj^WOOL7+NKzQ;T7-IuAamzC)Jr z^RQG*w6rM>e7+ELpZ5GRv8zSjRCQu8`KW)d1R&#e^m}l>qdjCyS-fUaUhV&^yOa7@#h{BGvRw6U`tRpWDryP&=qTHArsxuzkozHO?^}@gjXm0BIl~0tF z4(jjdqYthHe^OpAO0D*_npQI54U@W3U~;=skTGhaqUGXbO%EGJH)H$@O-P9=sSrj5 z#fu6Jk38obDJH9K&^l>UtX#nzjPDfTgo5kH+uI8z+MLVG`YwBn$$cf4eJhVh_WlnU z@c$tZhGhRE=h~kC^tt>VP|aj|Q~OIdEjjEwG3Gx1x2`v?0o;S7q~yOddicO>1I6$z zpsMB5Sb{C(N?iSuTreQwuG?gU+K(bO{4ji`BeXL|;{JohUO?BA6yL((DA3(isk2r% zQ)_Bw5HJ=1Vl3ciQOdb?*TI|hc_m4hd-~B=!}RI#ZrcS3i82+%;q5MR`NpyJJ=uzO z)0gbC)B_34!j=?E>0A2Pq!964;~^f5pR=)|p7X<`Be8ImUE3K2E{4eY?{!l8V}?&$ zr&r>BhCR|y0}=O0x<6HnpV%0qY=JR4ers{qi>S{Zs}hoQjSHRW^}^c_6g{hYH+t8& z(>+8*?OuK#;MHt?e~vaJzPF;iOVlydunS1hVCG{P;ithQKO^WQl?7Im(VJDuyO+07 zbB-?v-s;&UievhHo*+X&vq zHBsCTGY$?OVV~Upv)#w_F~05Jp38yW`-hWF^GCR=(IZ(gxDYkDo7B(A!+D%+TQRR! z0Q8O7TX-XE4Y#$L>SRjE6iL$xo7=KXxIsyn;dBHL1bqQ~+J8_wrd#aOM-W`@D*21T z$u32lVjBUSG|OOGZQ&U7ol;e2={Y@ID)mnniTf7j^xc4o3dWNv8eN_MeJEmLL^=dd z&`E7O1C(lr4o4KD_DZyq7>=ragW|&oWz%Fo5;xq zR>H&*hLAzX6-^rlJfcl%+HRl~-^POs*rfiUxYAuE#v;Od+UZW6Pc^?@H6B&NcddgN zW8fQnlYBHAfF|n-a$Zg>{+-Pw`7kS{{y`wARjRi~dC-%n zI?2k5QakM!LS0u!=<}YaRmC19l-afYsCA88dG}ZQ6bqCt0Tq4E=~6S|BOU}sL5a$G zZS`b_;cO-sh-e{OENZXsR=q_(=!$!dpMVShtjtSxhI&6iAAZABCyt-0{l(zI4Ebak zl{(dj8S;TR!XS3{NZ3)^MbleinVBiV!3^R->uHc?|RxWgP|0k|KgVobMM4 zKIN)&yY8F#20BMUkd%%iCft&|zvnwu{IRipgfD%*+ay#^ZaE<17Zedhv$^U=Exrr! zw0vz;4Txp-EP^t)pe{>C=H}`9;Ai)^*m6|LS86rnw@8xRm+)zVjxLr>T+ms>(1Sg)`E)q?JDwr#}C~)Ne001!LLTLYfNfkuh>x@{X#v z1^e~U)GgAW{lZTQY?Cin+Kt)}p|ukk>A&t3mm;dK?Gk_x7)U73|4>SOLQL!8kk~5G ze9Mu?^DUi&!7a1sn8XKjjl#A914zv3%U}q%Qn=zzIpUJ~Ob^CL{NlGwiP$ruy3*h$ z1x~tzwDx2=u%s1b3_4KLhyVq;@CInT5navgf5 zXj?=M9#7d3s%Goe__&k9L$R z9zVZpxLM-Dd}_)!y(K_Bk=YNWK#F1ol@pbC9ZPmIobp`58w7@gXxe962IGZ0RYip{ zwFL@p8^@lg&0VvUCXjiJ$T@w%QZOg25gX+)2;59)^tLOf4EP2X9Mh5=$#!IA#;CGH zU%zL02wwY5k}*dAty{UUY7UER^;wc4m?5XD%EGk%WR5f79pIiLLFVgov7mP1TaD#C z`L#sYS~_g2->>)=wM(9w1k6z|;dvP>e2B zfrMDg1cGY9-qC4tZ^fMo^bR@T?KO}xEYQH`B&MAAb%%`=lbjp__z3(~1htb^e%YR6 z4W**6rbOl=?kY(Skf5269+{_f7vDQnFm`u=@>HOQ0i5gu!kV^CX9mtFXm-%LffX5i z#JXw}ZmG)hG6ia=$S_CeiRd~S5?&ANZE*t@9SSxJ5|L$-(W4kz9!i6 z+3HZ>X4k%!6_JOyn>h3MXQ?JUi>ggRJBhcr9)Fg>Dbas?Rb4NUK4#{ejo-4926oS- z9CB`-I537Hy*xAM!+MjfD<&(7;VZQ4S-j?MgyWt=2Qz7Qe>cDXsep7o`y$^KMg5z0__RlLD zOMBD7c0TUo;Ip$%;!)z4&~GWDGuheyh_I|5TKSl$kkE(oXUy5E)g+}pccDHN4}~aY zc}?Q@g>^+|+!JjgA*=a{Z^po%2G|&lHZHIr=2`2VorE8bEHpDuIfak!t~RfJ#vi_= z)tHiH=UA?|jP?lH?lu1%r0=YI(Ceps@kQ%^{dOj6qa4>hQMo|4s9ZZ6X*t@8f}PB?Uaqh z8sw@<9oi{G1DQW8zW@Du|4(RQ$o@awuI~Bn-evb*`_rKSDSCyEv&fnVo1Y)~!vS3t zi*giO3I!naeKQB2(x{@?$eCU|pQ2BeQZF6Pvf{sc_{a&DZHq2W*lu?MBgP6md8{ZkWFA{>_-0q-j!BM7U6C{?s0gVI~h8WT0$ z2mr+`SpwDtgbr=?g2&BFM|o5oj~;Tts#fI=^oHu`=iFB4AzIz*R6V~djv8Ed+Bjuu z)^l6;!Fgy#v_P$cs8z{nCaQ(YRv#lI{RqbBoY1pAvq1M_v;b$ZgWK-uej#P|kaAJS za-m{b!Rx8$nbt&j;%OuN>SzFr`uff^?-N)8oU}3=Gj-Mz_NS1px!B(%s6B1x#pBDh zZ^4Wz$ngCK)lT1bESY0^B&(S$$9Apc?oaS)J!g7#o*~W*;9s##F1=S z#Xr)k<63(-@mU0tHA7&S5w8c*P$a^41bs|5(o^*P-hlj`zuOOGgVB?>KfIWk$j4tQ zqFw0Uw-~N5Q{gQ+4AOj~lW|@}wc6q8RB)sC^!$D5v7P0Uj%?@p$<$JS`L`f6cxQHV ze5*0Ok_4MAaM4zvCEiGUvFtO%NjO_)-&!W|l+t`c zbi(AUgZCys(g}0AB57LI5Z^@oK#+?=?$`56+0YRGc1OqH zBLWXjyzQ>F#@X>aY%0Flz^fYf_0Tfpu=zoH)ctj8>#1I}XH1Z~dA?bbd#O0?*b5N3>)2#FTa87+dSK}2+sL~qf{=ux5*(TQl$38Qynh%)-< zJqDwfQO5Au<=N%k?>^q=`~7tvbKLXSy07b8=Q>wo%g~MG+$oPISX9 zf{pFx$q461%{2K8^^UTqc)5aO$4q$8yx$fzS&9^-gDKGY4DV>OrH1t=f5_`0DW}13 zgVNG6g%6%N8HE$Vw92$IMoHvfMrgVJAAtY9@6oGP=mQOSXiNTm=F=CWnxEbkDal$N zv}aMBDt^~1q@1tx{l0Z3(~#TK4P(ofD(r&xg&KShm4yt=hi(UC6fGm!(i$yMk~dOF ztqzL#na9(Qr6^3;>FO$ISrFDUCpSibp#7f#FU@%013f4Y&=A zNv_D+`~Rv_{ZGe0RYD)ydA-6Fl5o1Dak*y&L^b!|K}I`ibJ;e@?4?)m3>o7(I>mbS z-W3wQ%H<#-=An{(l&g8Wa4bl~?)U(Yik3!*T9!@8R!3f-_YEn2sm;^CKugWzhaETY z?=K6vtt7IYOmj_!Mt{FO{n+}FQCiL~!g9^fAyG%^uC!aQBhX+@;U3_6fkSN;I&|{{ z^30c*?b}(Qdg1wSL&)jCS;aVH?2*c#g8Bd*R+0_7iJ_y zKjkymE{M2wf?C!=+rOz|A;7W%R z@s;T;QI+pzeN{|^o+_I%yx1zCiUG}oP@#1l zgoDF)7&PD~dzepCspbeqyXLDFmN@R2cgaSP$i1iE(M-gX=IMQ*s>~RjNOTn0YhFz6 z|BGLsYsJl69axFC?u?}Jkpkp6Htf_?x*iKh)E2SL`Cfg(Kv{gX&Wl1U%7ZE5VN!1u zEcaw6nc8=jfL{VNQ6rD}b^;7N*y(P*TrCQEAY?O1V;_vaEoaBuCwlbIK!WBKS60xv zQxjb{hg{K{*H1nLn}}jSRhG@ou#Er>L--5h@If3ez9c90F%)?h#s)nw zTksTpdg;Yxg6a`7lZq!taax5d$>}}b81@{Rda+zlGBBtSOzyN%a`}X4J7w#(YZi%- z#>mYRvLMN%_swD6i7emei?--s8k}VbgC6O4E#drC(bjXEWtc=tZlv z@84upN#7rd+q2OZx-*D(Cj=RFwByl&+yQnQkk{HwGT%oH)^dDqQ_rhi`_qB5${$;B zP9H6&Ib3=)%=vEP%GlMlYCdsINSLo39m?~jz%hy#Q&;}Q zPwQ5W6!ka3-Z52lsTN>a^Ix7Se3NY!20l@az2=p&08ZspREZl_=&|ubYJ-CZhR|t*7T; zTye6#rt}`$CBOF^K_Q*g7~2v~#$4Ct#M)Ik!W%D0e|3dE0Z+2vRnV(S)a%fn5GoTs z?b6&%+OgQc=E@l&UunrbY$`NJ`ndY22ZAK@+s$MyUN*A3Ua&>ZM$^b*NwvS^MEk;e zWdfMXttermxc4wT?j;!6Ksz7BPb4ts>o-5aW$kFc(#IG>HQw>KXH8g`dQvLfcu91> zd9x`$aY5i*?y1pal%{OB&*JRfR7=&1$YZ!%?_T=`l79H`@ z*9LmDWW{~1^MHFfJ!%?V3XXds-61yI`T@tOG*zL4P<;^U~i_r2i!) z@vqW2m{RPot8b$bEWSrMeh1B-qU6~!Ey8aKiCL7gKaa3I@-qE&1QLfm`ZkS}g++QL zCPh7ns%_le7u*3=JzKh~%EAb_9Vc7pQQQp1f|Wz|Gjyuyxt-q~=I_f0d7I;&7N))P zq$hljHT-2g)qO*`v#Fj^i=UX3bBfN1&sCCXe`bQuIzlU($F;JDu6r8!E>bM<8HB%v z<&8-*Rs6kgmrYP!x%lmWrRyy6NoiKVQ|)7(5udGz;=v>|`}hyv zXK!R_zw3WxE7A6GDN_zpDkSlG8Dw6fW7bEhv+BWdS7)TaiLJU^Dq!L+>Eog^W3A@s zL$;3)#w(j)hjQO1kzW!w&Db)(hQSbSfslqwn+FPgrX0pN-+V z{Yaud{e?3DvpoJ9Kg4vFOK-LtD1RS=`S6EYdkkK$g7%ae-Xt9fKUtRLW0H(DI}RY; zn4TKhXpiveZ6W=3Hk~;#PI=Kd~OhY=V`P4t&#f`wO>XjhfvxU zQ2JnVtP}}(VlyM%){d?(-?tjAC0?!DxJb3$GO=tvpA$K>^1!_?N^AT0mC!wRg-_3cf$H#nm`>3;1n76;2JN`A(ld)-?tr!^2 zfcp2o8e6u0WojA*bRy4e?Y|V$8g2fCYI%v z2g#)mu+P`8xf!SPYxy*T%2E=@my{o-K=|Tp17Xhsx0L>jFp`$FoADozMZxHTuF06d#|)!%ucudZC&#& zJYD4wLsOb0F1b6cr&`IP7JbizIy3|eM=gS=?Ao#lXHw2p{C2|?jyH|Ka@G?{5( zJ$U}RSI%{t(oLe`!wxx@uY226Y!5+Me9}Lj1u4B zwQMYt09E10GhktGv_m%LofN#|xI{>`R)}(@bNi&?!R!uA`v%YLmuZ5ZTdL_LH9;jf zEpILCbEjwlGut24pXHe1-+Zq{TiCv`@mpfZR(j^GFY(Mv*;Kkajw9>$DFVaM!^KC4IbS2s?sGvQ7nGuqq_-q@ zaBExat!=|B;~NkfbGlO2KU=3Na(P_)cjmKtU3tHk<$JXPcMbCjpOL>%4Wy+qroDBc zqSE$0J5*DxvxG0%&6X|a2dWqbt|h)+GD7#e|WDlx^%dXub5zOG~`! z{e!Ys+rJ9Yimk=!=975&D+;V;K5`H{H^N`wZHb-jI z_rz74-WW{C_|{6r{@Xk^vP@dBs4q2_AF1H9fl)zACWuD(Sna+`xm&bpH}_PsoGE~6 zW`D@ngkdTn)zM?;#YESmsE9EFRo$h7Z!;r&B(gcnrwM4(#~&(OSt%yF z#pt=GtGwp<<>svA{kD|2?01L$H@2PU)aR~-4OMJSmVQr!OEqE&8928Y<3xeta?$(Q z4u4jgh`M6_Bb%8J?a*?zVrA%eEET5wy|UFyTFI6BrR&vRBAIURaU$7b5pzgGBDZ#- z)=NH`h4AEcGx8tVq1NS)#CYA{%Fp@HkjRr?=oILB151NPkNZ;)2Mftf<=#o7ha*U2 z*sbi{aH3_^55ibz zNQ|rh^Yku?1rw8yCAUW1#K%3Ru~~)VVn0*E_pB}jQ4ij=lsyE(Wjg9(UC@z{px!1! z{iqi(_Pie?5bMmMXWuW6$u>qx!v~+ed@3mBVZd|?rwbE4d5xmtIOm_=DNFkW1&vh* zL<$XhpYM9J0fY6qJ??WHPur^&nR&hA(Su&f(V8Ge&UD5Pv}V8!g5cBj2`AHUBCf$O zjV(t|cj%d^-^&G|o!`ksEtT1C)nQ(L{^T$GBfmd#-JJ!+RzxpIyKXMQ*sU2gG}4E}=U;hIz51 z@qAhg!S4*V1?+G#j!2Qs>+0t_F`7`$xT(;LZ?+)w(zg$LVH1q&yDXkMBoSX9a=nJ- z&!E^&UF2Gs=%Ty8UN@%UOxFU0SOy3a6M8$Inu z_{cAf-7_v2vHoODA!9tMUo{r2G|A+l{=wGMEtdhT9Ba-eTjHAkXP1PCTrT{h5qo5R z0k?N$u?zKj*ZTwALPv8q?(Cq&0QaB~phn0P$fEL%k>w?~Yn1{cg%umaVg-qZOi;x& zVR=Ew5fO5Oq>IUWlZYITND^7FM?BO8XbrFkp^!S982IHEw^4_aXp4k3vq<3ePk}j(ca|h$YXpdCHYr+T%a5-v&9+>Zt}Z*B=&r;qcI+;!}!G zb_<(@#-O2L2j)G!D@>h!`KyKt)R&GI=Si1&ej6tL_d|NqB!uCkT(+i9!3uHKMO92J zhOa>v8B09LqGy(q+jxg&^kT_bqotiTz6`m>Y!TI+ToVNV;oT&c6J@|JNyg3u^a}qz zYjLckwN18;UYr#JE|*tz&VC$P)|9n;n=#r8C-4txP3YVi)}9#dHC$}WZB2UwG7YeY z5Np0cke1nt7iwE`QJ4C1q{AtT75#WYO_kC2$}1TYxOimXYgQsJC+{EK2Mda?r%W8s zLSnoJ+C6PuUup-K4f195ZbiW0*|S=Nm{N6a(23+z$EFoo61z{7+w1;=33^mggw?&- zF$>HU2s2~gX}{C1IrCD?g0U%BpyqJ23bD~W0W_KpUOX1hXPUnr?xJVzW`5WT)>c!i z>vQzmudfbDHbDd_*(IUPmhswKQ)C7zc`R3!Wqu=fp^zy)3E(0%k<`&Wso!&;1<42d zui^D#vnzPY|F_lu{$aAtlUSc+Yd*NOFm<|Bg{@G&+O-J^YRPL^SyOUAeKNF9TTSmZJrW~mfBl5gHU2E&`L-6Xv%<#SBX?Fge@BP_{M#t>fNgkh*V)`6Q4N) z=_8I-dZUphKKMsm81LCM?-}>bS{?s%z72((C!gF7$5n?c(4^YvkSnQXCnZ3~A7ha*>G{ z0P75$=zF6ZFX=r23j%ox;)-Pf?Vv4P)X1piv{@S!o1wc0GpjUn`Y8|oyt|{j@eqc@3b4%&Kjt zG}s9#cVwRU4C5>(F0;TA$+Q+0;-!3vGk?y4GIVZ^dYJKa?P3rcoN~`S^0Y?WfDQJ`4fJ(Iz-?7?%N5!YlR>lSl)$*wg~Mi&hG1Lf z$A1p;|8mli|AIVAR98P0arCVQvbEOXZlawy;mBh=6;1G3zye8v>=5SI>amXfARaA=vS&*h@QC; zl|hS7KAC<}KtIH84fTt$=%p6V!oRF^1>pxIE!;PqRw&ab7TokZ^d(A%bkl@+%CPku z`peXckJ9OJnK!4g zevUP&?^|Q)b_{wN6IWUG-8w?c!sxd>u17 z$Afqku{@&p!5;`dOF|Hcf=#V_=TzQza{QEcglljkLWBFC%ITKl4roqFd4E^dPvZHn zsbhpwv9m_MCSLUmnT~;mk1JxY)>6MaCYqp{6V*@fZiPcri7QyEazGvGXJ?bj!(JE5v`R_|?ymfa4J`S z;$f2iPrEOidAGJo8M>E~I0jQ(42;>h^w9>cKf1@ljAQJe*z(K^EByQPL@;0IML>ka7ygp_|0H3Cu5!gJme^yZ?QaK3ZW zj5&1i&7b9y*JzIZ1I;N?I(~VkBki}@i%owrrVVz zJ?wgkLwn|BVU0D_p9lq;26Y1I-3NC-T#TyL*b0c;au7IMIZB3uVU_H}*+%pq8j%6onN#g-p=RMrPseFTyd@mb?e` zV?Q`-Uwh99w79N6NvZ^Mtb5hSD=W>_xy{p&p+zVm;yqD38TqkN(vq~m1RP+v>; z+1ot>d_sBb9hqcKd{b~+L&N9hE7foY*2=*0f{@6KJ9fC^pHm2V2D4V@#rwHcR8I5f zLk{a7SL8hkf-k&jrJ1>A}Iz~`iT&5VVaY^2i{QCt3YR`;=M@!e?0xdl+u z9o{uS0g)Nydiu?Y7uy|Zrya3c%qTWf*V!{{djMzJJOYXQoviQGn^q9L>QS|}K}|_( zejUD%eq+iHAV1WkdhFtf6@>?di=ZaU4aedS|*CErVUBio0_!Sm&1lI6&-u~d6BR`YTIs4Xp zT2egh%p1i5kSQ&ssNBfGEE%Tvx=-Gobs^dEM^72d%YtHkxd{X$8zbkbqXZl z13wG|v#!vx{FE6D2pK|Hq!i;k%J}Vs^q`N>dZN_ZlE1SDvIr2XjvAr-Hp$aVZA+9w zO8X~3%3CySP8w|oRmkeMCD}16(THh%S+$WCpGN<$y-&W(IFgu}q)Z?tiokC@7>f6p zXIIwZPwG`$+&sd*-ehtX2^IK__l{%*-pODyc>uUQH@V))BRUpSMg?p-Rh77`i#!_a|l9Sl$bYqWF3@JCN6oNThdA*7PejnR3=ZC6QsSi;(rgxP8owy8}NU z(2AOKVRq%cs-+OU-E-JP{@e`SAp-zD!nr1Vw_S8!bW@x&4I@+7ELqktD1dIa^L)Mj+s>BubWJMyq)8WoF%MAx;-4(M3RF6;Mi z%%M}h;at?RfKSVp?z%XR3Jr{TtM2y52gtr&KOBaKAzCc~`uLOkG3-9%l83^rLEkCHfb3(0iZLY?o0cd2nwtlkzIsEPeek zDm83D=_{ncaqo@ynOgXP{tmjjG?Xp+jMdT(Tpj8;d5$}ck?E7all3zQM47=LIFSM) zkc0eJ9RE)ubM@$7j(G+cH>`+qUNB!-dFJU#vV317ImN_Z_F|yg2gaKn#3M4N*E%9| z`k@ek5+ax5N82sK292tNBtC-yQHRYnOANxcDpc!^ZTgY7=g-wtKLoS5eVq!A~K?2r#gN^hv?(;22*JXqvDis`DY7BacX#FoDF>)&1Bg!mS zWHU=;tjeh@BGQhal=^N%R$CXuZqq~y^n9?47wp{UK-YElo@dq^;LbeqUOHF-4gqZ( zQ?HnJS|H|IXYfU(Zd+Jev7JS(uSToeU8)z1b z{-A^=a{tE4rSJX6X*c<&^7U8TKAYnNPvx(r-4~vakp0Y5SzyQ>$*;g9VgVo?sbx)M z4IFw_mwlK96OJ(pijH-@d2%n=4Ue3{=dg-IgN9dcVXpzdMBqrI;d3d4vob;vDK^u0 z6yf6b%KwAM<5%VKcT7F9t|BxCSd=iAzzOl@(zdl<0|>*RS)_6#eh;YaB7RHllSdN=(3mUjt+wYf2hJvfXZ&FbaH+ZZYbkwG z1SF}zPNl~%3Sa!b=1p^peJd3^jV#MM>JJsqw_LTb9h95y7l`Cr^A}PWmiA3B-3={> z08iItlB}jvl`WKl{ny5^f8I+;R!-oF?dH*K2&WK9@C%C3)6FKPBV@n121rzT8G12c2+cpQjd;v13oB6 z=@GSz(f_W4TdXj<(9Rs5l6S-x2$$@EM~E1M=`fv8yKT=>y}^xkDlS4Tw6irAFIqn% zf}la}D?-Y~BfnZTTxl|o-5Y#(-sI!J*0`}dA)+wrn?+d?? zXLs{s%(J*Pewet|YL{gYz*5QwQNuwbIex@^{lpGWHVvrrym9(B10jhonucsbN=(qfwXZEtt6tJ(@-unz@o1_dgl+Uu2*{PlM-qT_Qe;(K*mahF*9d5SPq+RTIzthuoy#<-YfcjD=fLNkK{T~80pEN;e5J=0zi^41;pV_Jkk9j*{kj2YZ2ebDa0@~Zap$*#O67@9k*iV)gl5~b<`z_`S;RF6DG+6DtWD71y#T~` zLSi)TsewW3-h-Z(J|!8XB7#Ppf_EbhGky?-A;Il|nA@@VeI zd#=_z8H%}XaFKMN7(`Ar(|PJL@G(4SYf z{>5|ZTr4K|?LQRyX#)6!&l>t9y-WxOY)?2ACM`&?3vq-;|Ma}raj}@|^X1)Gij^B= z5p@{yD9clHXF|ndC#eV2V2lkd$9R<(0aeM9y`I zLjCf@nL#KjU;mt$rf7C5kni$oaw*H1OI$|g&6q*k`uw(@PeRDeFJ-#HV)AjH${xCkl=8lr&n+Mcb5xZ8 z%skuLaV$xZ5IUNoXMI<4{m6ONq`&wE>+R`_YJRIKt5` zG@O18s0H%H1w-~V7q?JhwAF`8QFnhG@y6k25)6^%My-;j)GV**5?vJ@QlIM~#bM58 zLO@6?v<<~U$(?5EK(|6S!j2+hBKgTH1o{_Y;GvK0T}d+DwQIQ^QiK27!; zkAzMoEy754%_Wecqbm*lc6QA#q-4jIeSoI z&A%r5K|G7PqY8FboE`ZhsaU$E?*I>jvqkeUC4g)?KoQ@@sfVSgx5+Z>a8^qbUwD7& zNpzo+SfV`s$PVk?JnIEV?v!4g$`mD$$DCR6O2mn}?_MQ6Zcmm|f{M&d^n;_?Wjd>9 zH{ZKJvf!17+%Z(VfAX_iv`vuO|?5vI$OqY?-~D ziF3$M#Tjb<=gt2w)Q7J1(&p+kXYM_aoLuBC`5Z_ERfG4ffc6PsDzPB}3h3DkWH#6o zmLmv^{TP+zSDuYDoZ30fA5F4j00t7fR~bL%HqugI?Lo1V^b*q9Zn<1eW3!E3x!-ip zu3_8l6s8SX7JP0JeN!)L@dpL<8%>nGJ|wivz6J!15E4DB-`@0e_L$!?e{x!+cnW$ZS3qp_^4LgtdEd;D*4 zdq<%R<^Uc@s~A1WN_$AOjj?pIr_t;-B{bM5P`pgmdlHj;8AlxaIn^M|T#hnLI=#LClp*W9HSzGAyg=xjie601WttIT*H(Lv{EK@j z#&Y-YhsJir>k+M%=lj$&sHCC3CwUVhNZzXfyoNvL52T~xt{r!4?myJua1B44i62#( zvr{rJD=k2Vr9?AU#Ab}4D2r&tqTVIo^D*M)|L0x(NbteA4BPJ>}4N_K> z<=Lq)Q(+}&2ij2x{qUS8BSTCF*Wz-iay_Db9wiN+I}Z_9k`2ItfpsM~O4&7z%$kTN?r6x}tyRR* z6j5QlT~H_GA``#zUX7<)8)5G2hVJ_M&wYYxW&T*hx#3gExn)dA(-%FaJ4nZ^*G#w3 z5r>lElZtxpqh9*oLwhg|)!P6OkuVb^OfBUgUUP82>P)dzFVwi2zTmO`Yw?fM|19!@;0`_!4esK@s}Mir;n`0kI`4BmNxd2?Q_-A6yuPtp*D8(83A zsm44#VYmDIJbGcx2XjJ|?V!jEoc*0PvAqD(|L)H0myEUKcQ&hbcG}j`9afg!bV&8Fu0A&IH-en8-e;y1U2x%8 zxeKWMm@q}DenJ+e%QTABAH99f2p3GgpAgF5vAF0je&${2*K{%k4?9F)4h+bCYihA1 z9;&~RvWcYC!kf#>v`xc~w2b(c+>GqI*ThVvla4(t4T4(3T*V52;OOE%V%`5U3vz|X zx#Imh`478JJhd9*eqlDEaB(6H>pS;WP30Bmo;Af}OD=*op-|6V^1u~}QY z(EVt()tcof5usu>d$RFc=y>^1_wX6C6svEv%@_I8yWw@InS>s2+G6rj)D5Oa?2z&| zn_V?fjQDMb{%;2K)0YCXUPn!Q5RG#UlWD3A=~6h`B`=P1LmKLSRQ`7zOuftDqFefM z{TO3rPHEuoH2V9~zyh#mP1pAw?<$W`=SjO^;c0X3@JwpeZ6@5Pk4dh2PUq1o7r@D( z;YG>;rJo{$dSRXkdJZo`%UPOzk!61Ho)mMYJUu_K*5l4>k)xt{P=2wY!cw zgobg_xF*hue&EKID;=r)jH5&MxLIv(<3qd1!ZUGqGQpqB?e7@M#$^ZgYb$$C6qzjC zQx7j=VyKRV8p{jVw{#uD&;xNk^|us1)QJQk52_?`;VYv1hg>P_Db5sXb`kv zPzah^nz5&bmrGR=jlKj*Vkp+v?RSD~(g!_#ZTw;HHWq7-{4Z70jM!RP+fWr{ zoU_B0blp|CsuvyI0=_eCBR4d0&-x$?X&7M!Ty*gK-URT;t>h%oylAw#8gE}#aM zjfnmAIl|}^wD9>Vx zNOj<)NcQI}bA9=Vx$3bG^*okTtZDp@&s)XXxTZtg4ut$iwL=n@CdNBufHROb?tsq~ ziWQ#{{RAp!8Rv< zplR^<;IAeth!$#a`xSF(XkZQji