{"version":3,"file":"895.index.js","mappings":"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","sources":["webpack://snyk/./src/cli/commands/test/iac/local-execution/assert-iac-options-flag.ts","webpack://snyk/./src/cli/commands/test/iac/local-execution/error-utils.ts","webpack://snyk/./src/cli/commands/test/iac/local-execution/org-settings/get-iac-org-settings.ts","webpack://snyk/./src/lib/errors/describe-exclusive-argument-error.ts","webpack://snyk/./src/lib/errors/describe-required-argument-error.ts","webpack://snyk/./src/lib/iac/assets/snyk-favicon.ts","webpack://snyk/./src/lib/iac/assets/snyk-logo.ts","webpack://snyk/./src/lib/iac/drift.ts","webpack://snyk/./src/lib/iac/drift/driftctl.ts","webpack://snyk/./src/lib/iac/drift/output.ts","webpack://snyk/./src/lib/iac/file-utils.ts","webpack://snyk/./src/lib/iac/service-mappings.ts"],"sourcesContent":["import { CustomError } from '../../../../../lib/errors';\nimport { args } from '../../../../args';\nimport { getErrorStringCode } from './error-utils';\nimport { IaCErrorCodes, IaCTestFlags, TerraformPlanScanMode } from './types';\nimport { Options, TestOptions } from '../../../../../lib/types';\n\nconst keys: (keyof IaCTestFlags)[] = [\n 'org',\n 'debug',\n 'insecure',\n 'detectionDepth',\n 'severityThreshold',\n 'rules',\n 'json',\n 'sarif',\n 'json-file-output',\n 'sarif-file-output',\n 'v',\n 'version',\n 'h',\n 'help',\n 'q',\n 'quiet',\n 'scan',\n 'report',\n // Tags and attributes\n 'tags',\n 'project-tags',\n 'project-environment',\n 'project-lifecycle',\n 'project-business-criticality',\n 'target-reference',\n 'var-file',\n // PolicyOptions\n 'ignore-policy',\n 'policy-path',\n // Report options\n 'remote-repo-url',\n 'target-name',\n];\nconst allowed = new Set(keys);\n\nfunction camelcaseToDash(key: string) {\n return key.replace(/[A-Z]/g, (m) => '-' + m.toLowerCase());\n}\n\nfunction getFlagName(key: string) {\n const dashes = key.length === 1 ? '-' : '--';\n const flag = camelcaseToDash(key);\n return `${dashes}${flag}`;\n}\n\nexport class FlagError extends CustomError {\n constructor(key: string) {\n const flag = getFlagName(key);\n const msg = `Unsupported flag \"${flag}\" provided. Run snyk iac test --help for supported flags`;\n super(msg);\n this.code = IaCErrorCodes.FlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class FeatureFlagError extends CustomError {\n constructor(key: string, featureFlag: string, hasSnykPreview?: boolean) {\n const flag = getFlagName(key);\n let msg;\n if (hasSnykPreview) {\n msg = `Flag \"${flag}\" is only supported if feature flag '${featureFlag}' is enabled. The feature flag can be enabled via Snyk Preview if you are on the Enterprise Plan`;\n } else {\n msg = `Flag \"${flag}\" is only supported if feature flag \"${featureFlag}\" is enabled. To enable it, please contact Snyk support.`;\n }\n super(msg);\n this.code = IaCErrorCodes.FeatureFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class FlagValueError extends CustomError {\n constructor(key: string, value: string) {\n const flag = getFlagName(key);\n const msg = `Unsupported value \"${value}\" provided to flag \"${flag}\".\\nSupported values are: ${SUPPORTED_TF_PLAN_SCAN_MODES.join(\n ', ',\n )}`;\n super(msg);\n this.code = IaCErrorCodes.FlagValueError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n\nexport class UnsupportedEntitlementFlagError extends CustomError {\n constructor(key: string, entitlementName: string) {\n const flag = getFlagName(key);\n super(\n `Unsupported flag: ${flag} - Missing the ${entitlementName} entitlement`,\n );\n this.code = IaCErrorCodes.UnsupportedEntitlementFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `Flag \"${flag}\" is currently not supported for this org. To enable it, please contact snyk support.`;\n }\n}\n\nexport class UnsupportedEntitlementCommandError extends CustomError {\n constructor(key: string, entitlementName: string) {\n super(\n `Unsupported command: ${key} - Missing the ${entitlementName} entitlement`,\n );\n this.code = IaCErrorCodes.UnsupportedEntitlementFlagError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = `Command \"${key}\" is currently not supported for this org. To enable it, please contact snyk support.`;\n }\n}\n\n/**\n * Validates the command line flags passed to the snyk iac test\n * command. The current argument parsing is very permissive and\n * allows unknown flags to be provided without validation.\n *\n * For snyk iac we need to explicitly validate the flags to avoid\n * misconfigurations and typos. For example, if the --experimental\n * flag were to be misspelled we would end up sending the client\n * data to our backend rather than running it locally as intended.\n * @param argv command line args passed to the process\n */\nexport function assertIaCOptionsFlags(argv: string[]): void {\n // We process the process.argv so we don't get default values.\n const parsed = args(argv);\n for (const key of Object.keys(parsed.options)) {\n // The _ property is a special case that contains non\n // flag strings passed to the command line (usually files)\n // and `iac` is the command provided.\n if (key !== '_' && key !== 'iac' && !allowed.has(key)) {\n throw new FlagError(key);\n }\n }\n\n if (parsed.options.scan) {\n assertTerraformPlanModes(parsed.options.scan as string);\n }\n}\n\nconst SUPPORTED_TF_PLAN_SCAN_MODES = [\n TerraformPlanScanMode.DeltaScan,\n TerraformPlanScanMode.FullScan,\n];\n\nfunction assertTerraformPlanModes(scanModeArgValue: string) {\n if (\n !SUPPORTED_TF_PLAN_SCAN_MODES.includes(\n scanModeArgValue as TerraformPlanScanMode,\n )\n ) {\n throw new FlagValueError('scan', scanModeArgValue);\n }\n}\n\nexport function isIacShareResultsOptions(\n options: Options & TestOptions,\n): boolean | undefined {\n return options.iac && options.report;\n}\nexport class InvalidArgumentError extends CustomError {\n constructor(key: string) {\n const flag = getFlagName(key);\n const msg = `Invalid argument provided to flag \"${flag}\". Value must be a string`;\n super(msg);\n this.code = IaCErrorCodes.InvalidArgumentError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n","import { IaCErrorCodes } from './types';\n\nexport function getErrorStringCode(code: number): string {\n const errorName = IaCErrorCodes[code];\n if (!errorName) {\n return 'INVALID_IAC_ERROR';\n }\n let result = errorName.replace(/([A-Z])/g, '_$1');\n if (result.charAt(0) === '_') {\n result = result.substring(1);\n }\n return result.toUpperCase();\n}\n","import { IaCErrorCodes, IacOrgSettings } from '../types';\nimport { Payload } from '../../../../../../lib/snyk-test/types';\nimport config from '../../../../../../lib/config';\nimport { isCI } from '../../../../../../lib/is-ci';\nimport { getAuthHeader } from '../../../../../../lib/api-token';\nimport { makeRequest } from '../../../../../../lib/request';\nimport { CustomError } from '../../../../../../lib/errors';\nimport { getErrorStringCode } from '../error-utils';\n\nexport function getIacOrgSettings(\n publicOrgId?: string,\n): Promise {\n const payload: Payload = {\n method: 'get',\n url: config.API + '/iac-org-settings',\n json: true,\n qs: { org: publicOrgId },\n headers: {\n 'x-is-ci': isCI(),\n authorization: getAuthHeader(),\n },\n };\n\n return new Promise((resolve, reject) => {\n makeRequest(payload, (error, res) => {\n if (error) {\n return reject(error);\n }\n if (res.statusCode < 200 || res.statusCode > 299) {\n return reject(new FailedToGetIacOrgSettingsError());\n }\n resolve(res.body);\n });\n });\n}\n\nexport class FailedToGetIacOrgSettingsError extends CustomError {\n constructor(message?: string) {\n super(message || 'Failed to fetch IaC organization settings');\n this.code = IaCErrorCodes.FailedToGetIacOrgSettingsError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage =\n 'We failed to fetch your organization settings, including custom severity overrides for infrastructure-as-code policies. Please run the command again with the `-d` flag and contact support@snyk.io with the contents of the output.';\n }\n}\n","import { CustomError } from './custom-error';\nimport { DescribeExclusiveArgs } from '../iac/drift';\n\nexport class DescribeExclusiveArgumentError extends CustomError {\n constructor() {\n super(\n 'Please use only one of these arguments: ' +\n DescribeExclusiveArgs.join(', '),\n );\n }\n}\n","import { CustomError } from './custom-error';\nimport chalk from 'chalk';\n\nexport class DescribeRequiredArgumentError extends CustomError {\n constructor() {\n super(\n chalk.red(\n 'Describe command require one of these arguments:\\n' +\n ' --only-unmanaged: Report resources not under Terraform control\\n' +\n ' --only-managed: Report resources from Terraform states that changed (may take a while)\\n' +\n ' --all: Scan for managed and unmanaged resources (may take a while)',\n ),\n );\n }\n}\n","export default `data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHdpZHRoPSIxNTYwcHQiIGhlaWdodD0iMjQ0OHB0IiB2aWV3Qm94PSIwIDAgMTU2MCAyNDQ4Ij48ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3Ij48Zz48ZyBpZD0iTGF5ZXItMSIgZGF0YS1uYW1lPSJBQVBMOlN0eWxlIj48ZyBpZD0iTGF5ZXItMiIgZGF0YS1uYW1lPSJBQVBMOlN0eWxlQ29udGVudCI+PG1hc2sgaWQ9Im1hMCI+PGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLjk5OTk5OTk3LDAsLTQpIj48dXNlIHhsaW5rOmhyZWY9IiNpbTEiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNTYwIiBoZWlnaHQ9IjI0NTYiLz48L2c+PC9tYXNrPjxzeW1ib2wgaWQ9ImltMSIgdmlld0JveD0iMCAwIDE1NjAgMjQ1NiI+PGltYWdlIHdpZHRoPSIxNTYwIiBoZWlnaHQ9IjI0NTYiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCaGdBQUFtWUNBQUFBQUNtZ2Zsc0FBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUNFRVVsRVFWUjRuT3pkalhiYnRyS0FVZXI5SHpwbjViUzFOZUFBSkNWS0JJaTkxMm5zdU9tZkJmTGpBTXE5andVQW5qeXUvaGNBb0MvQ0FFQWdEQUFFd2dCQUlBd0FCTUpBOUZqK1hQMnZ3SmY5L3k3Z1plZVhNTkJZQlc0V2QrWmxwMFlZSnJkakFiaE4zSStYblNaaG1OaitGOTlONGs1MnYrNWU5bWtKdzZ5T3Z2SnVFdmR3OEhYM3NzOUpHT2IweXV2dUhqRytGMTUzTC91TWhHRktMNzdzN2hGajg3S3prekRNNTQzWDNDMWlaSysvOEY3MzJRakRkTjU2eWQwaHh2WE9DKzkxbjR3d1RPZTlsOXdkWWxSZWQvWVRodG04K1lxN1FZeEtHTmhQR0diejdpdnVEakVtcnpzSENNTmszbjdCM1NER0pBd2NJQXlURVlZNXZYK2hlK0ZuSWd4ek9lSDFkb01Za1JlZUk0UmhLbWU4M080UEl4SUdqaENHcVFqRHJMenlIQ0VNTXpubDFYWjdHSkJYbmtPRVlTYm52TnJ1RCtQeHluT0lNRXprcEJmYjdXRTh3c0Fod2pBUllaaVdsNTVEaEdFZVo3M1c3ZzdqRVFZT0VZWjV0Ri9yOEdlYk53QjNoK0hzZitrM1hseXYvU1NFWVJxdGx6cjVjL1ZiZ0p2RGNCcXYvYUdYM21zL0MyR1lSdldscnYySjJrM0F6V0U0UjE5N1R3V3pFNFpaMUY3cDFncW8zQVhjSEVaVGVaRWJyNzJuZ3JrSnd5UmU2VUx0TnVEbU1KcjhWWDdsdGZmaXowRVlKdkhLcmVHdjdEN2czakNhN0hYZWZPMDlGVXhNR09id2FoZlNHNEY3dzJpU0YvckYxOTZyUHdkaG1NTkxqNHovV044STNCb0c4MklYbEdGZXdqQ0ZIVjE0K21seDVhOXVCTzRNZzFtLy9OVVhmK3UxcjN5Tm14R0dLV3c5TXE3Ky9KL3FUNUtmMDduVnk5dDg4WnV2ZmUxcjNJc3d6R0NqQytraStKTitXdmtDWFN0ZjRLMFgvMC9sOC9xWHVCbGhtRUZ6SzJISDcyOHpNb3l0SG9ZWFh2ejhTOXlMTUV6Z3BTNHN6OWYvanAxbitsVTlVWGpseFUrL3dzMEl3LzIxdXJEejl6Z0p3OUFlbFo4MVgzMWxtSmt3M0Y4akRPbmtrRzBqeER1Qis4SlFhZ05EOXVxbmUwZ09tYVlqRExlM3B3dlZONmI4S2IrUS9Jek9WUWFHMnF1L0RvS1JZVHJDY0h2MTl5bythcjlpcXd4dUMwUEp3MUI5S3RoOExzaSt3TDBJdzkzVkI0Wkg3UmY4MzUvd3djZ3dzUFIzTFRTZUNwYjF5NjRNa3hHR3U2c09ETzB1dE12Z3RqQ1NWaGkyM3E5YXJJTFZuK2VlaE9IbXFnTkRlV1A0NzVQVkRuTjJhM0JiR0VrV2hsVVgvdm1zOXVvcncyU0U0ZVpxQTBOeFl3aS9MTjRNaEdGMDJXOTBmaVEvKzBkeHdGQWJHYXlCV3hPR2U2c05ETFhueG4rRnUwRnlhM0JUR0VoOVlLaTgvTnNQQnVrWHVCRmh1TGZLd0pEZEhvSS9xeCtGWVZUVk1OU1BHWklIQXlQRFZJVGgxdG9iU2ZVdVpQY0VZUmhVc3BQMDd1dWZmNEg3RUlZN2EyOGtQY0l2S1ErZm4rNEdSb2FoMWNLUUhqTmtKd3hHaHZrSXc1MDFONUtxdXduUEhSQ0c4YTNEMEY0QXE5ZmZ5REFmWWJpeDVzQ1FQRFQrS0o4VzdTV05yQktHeGdLb1RBdktNQTlodUxIV3dORHF3cW9Kd2pDeXgrclRueGUvdGdDMm53enlMM0FYd25CZnJZR2gzWVh5bmlBTUE5c2NHSFlzQUdXWWpURGMxOWJBRU80S1A3LzRhWWU1Y1Y5d1J4aEdJd3paQ2dodlBtZzhHdVJmNENhRTRiWjJEUXpaMEpEY0VvUmhYSGtZaWhYdy9Ldkt3MmNqdzRTRTRiWWFBOFBHSHZQNmxtQXZhVnlyTUNRRFE3RUNmbDl1SThPa2hPR3VLZ05EdUNzMHp4Ny9MT1VEb3pDTWFIWDJ2RjRDamJlbEdSbm1KQXgzdFRFd2xGc0ovM3g4M21BV2hudEl3NUF1Z1dlclp3Ty95MjBxd25CVGUwNmVzeTNtNG8ySzFkdUMrOEVvbW1GSWxrRDI3Z09iU2JNUmhudmFPbmx1YkNhbFVSQ0dVYldQR05MZHBQVkdrcEZoTnNKd1R4c0RRM09IK2JrTXdqQzZhaGhhYTJEZnc4R1NmNEViRUlaYjJqRXcxRThleTd0QmVzamdkakNJTkF5VjNhUmYyY1BCK3FEcDZkZHlMOEp3U3djR2h1ZkQ1K0xzT1QrQ2Z2bzE5SzkxeEZEdHd1L3JiV1NZa3pEYzBZR0JvVGhrV0cwdkM4UGc5b2Nobmo1WHgwWmxtSUV3M05IMlcxWHJHOHpGSm9KRGhzSFZ3dERZVVd3L0hRakRESVRoaGpZR2hvMURodlVOUVJnR1ZvWmgvWFNRTElMa2lNSElNQlZodUtIZEEwTisrTHk2SVRoOUhsZnI3TGx4eXJCM2Jueis1ZHlJTU56UHZwUG45ZUZ6Y2ZTYzNST0VZVFF2aHFFOGZGYUd5UWpEL2V3YUdIYWNPd3JERGRUQ3NGNEovMzM0OTRWdFBCNEl3LzBKdyszc0hoaXE1NDZyKzRHM0pRMnJjZlpjZlE5Q2R2aXNESE1SaHJ2Wk9IbGUzeFR5TnlXbFU0TXdER2N6RE9reXFEOGZLTU1jaE9GdXRnZUc5dUh6NmtIUjI1SkcxbjVUVXZXVVlWMEdJOE5VaE9GbWpnd01XMjlLRW9ieDdRbEQ2MjFKUm9ZNUNjUE43RDE1TGg0VS8zNklwNDVPbisrZ2NmYTg0MjFKaDBZR0MrSk9oT0Zlamc0TWxUY2wvWE1ERUliaDdRbkRhaDJFdytkVkhKUmhCc0p3THdjR2h1elVNZDFhcnB3K3V3ME00RkFZZm41eFdZWnNaTENaZEd2Q2NDdVZnZUhwNUhuamtHRzF0ZXh0U1VNcmp4Z3FZVmd0aE5vVGdzMmtTUWpEcmJ3d01CUi9TVDR1Q01PZ3NqQThyNFRxUXNpZUVHd216VU1ZN3FUUmhlU09VSDAzU25IQzRHMUo0eXJERUI0UkdwTmpmdmhzWkppR01Oekl3WlBuOU0wbzRXYXdmbFlVaHJGVXdyQm5KVlNxWUdTWWdqRGN5TjZCWVhVMytPZERldVJZUGljS3cwaDJuajBYUytIcGRMbXlwVmc5ZjdZb2JrSVk3dVBWZ1dIOVpwUjlod3p1QWQzYkVZYmZyeno5K3ZRWndXYlNSSVRoUHJZSGhuWVg4aE5IcDg4RDJ3cERkU25VbmhGc0prMUNHRzdqK01Dd1BuTU1KNDdDTUx6eWlLRWFodFZTK0hteGpReFRFb2JiYUF3TWU3dXdHaG1FWVd4WkdOWkhUZFZuQkNQRHRJVGhMbzROREU5ZkRkS2o1K2N3T0dRWVNSbUdzQmdxeDgvL3FlOHJ0c3RnVmR5Qk1OekZTd1BENmk5YWJ4NFVENHJDTUpKS0dGYWJTYTJIQkp0Sk14S0dtNmdNREU4bno3VVR4MzgvL25zNS8xejU2ekNzOXBMY0FUcTNkZmFjTG9aZjlTb1lHZTVPR0c3aWpZSGgzNy8wOXpyUE5wS0VZVUJiWWFndWh0K25oTVptMHRNdmlxeUw4UW5EUFRTNlVEMXdMRThjZis3N2U4UGdEdEM1STJGNHhML2k1ekdoVVFVanczMEp3eTBjTzNsK3ZoVTgvNVhKY2FNd2pLdzhZdGdNdzlOZnNIcE1jUDQ4RTJHNGhlMkI0Wjlid21wZ0NIK2hNTnhNRm9iVjhKaVBqN3ZLSUF5M0pReDNjTTdBOEh6QjE4UGdrR0VjWlJoKzEwTis5cnhlRGZVcUdCbHVUUmp1WU5mQXNOMkZlQ3VJSDMvdUJjSXdqa29ZYXNmUDJYSncvanduWWJpQmx3ZUcxVjlZM0FhS01LejJrbHorWGRzNmU4NzJGb09uQjRMa0djRm0wbzBKd3cwMEJvWmpYVWpEMERoa2NQbDNiU3NNaDllRHphUnBDTVA0amcwTXlaYnk0K2N5UGhnR2wzL1g5b1poY3oxc2JpWUp3OTBJdy9qZUhCaisrZkM3Vy95bjJnWmhHRXQ1eEJDV3cycHNxSzBISThPTWhHRjRsWUhodngreW04SHZjZVB2WC8xN2dTZEh6OEl3b2pJTTRWR2hGb2IxZ21pUERMVXlXQnBERTRiaHZUVXcvUDdGUlJpV1A3VXdPR1FZUlQwTTJTbER1U0IrYi92Vk9OaE11aTFoR0YyakMyRThLTzhCai9Ldkx1NEQzcTg2dkVvWWtsT0dkRUdzVjhTaHpTUnJZMlRDTUxxVEJvYjhObENFWWJXWDVPTHYyS1A4ZkVjWTRtcjY3K1Z1YnlZWkdXNUlHQWEzUFREczdFSzREV1FuRE1Jd21LMHd4SSt0RldGa21JNHdqRzM5K2gwWUdJcS8rSVV3dVBnN3Rpc016VWVGalRMRWtVRVo3a1FZeG5iaXdGRGNCYkkyQ01OSXlpT0dFSWJWWmxMMnFCRHYvWWMza3l5T2NRbkQwTTRjR0lvN2dEQ01yZ3hEV0JUWktVTmxTV3lQRE1wd084SXd0TWJBY0x3THEwZkRTaGdjTW95aEhvYXNDbmtZbnZjWGo0OE1sc2V3aEdGa0d3TkRldGk0N3lhUURBMC9aNDNDTUlaS0dGWXJvaG1HN1kwa0k4TWRDY1BJemgwWVZtRll2RjkxWUkveTgzb1lHbXRpNTJhU2tlRm1oR0ZnbFlIaHZ4K3lzOGIxdytIajZlcGRYLytOSGVXbCtKUytiSVZoUFVnK3I0bmZsL1pQL09OcFpUeXRDeVBEelFqRHdNNFlHTEo3d0lFd3VQSzdWZTRrcFdGSUY4Vy9ILzQ4ZlRBeVRFWVl4dFhvUWhnUHlpZzhEd3pyZThEUExTQnJnekNNb3htRzdKU2hYQlJsR1pvbkRVYUdleEdHY1owd01DUzNBR0c0aVRJTVlWMmtZWGlVZjJHMkxMSXEvSW0vTnJCQWhpUU13OW9lR09wZGVQNjEvL2YwdkZkdUpLM0Q0SkJoQlBVd1pGVkl3MUFzaTVjMmt5eVFJUW5Ec0U0Y0dNcG53M0pZaU0rR3dqQ0VTaGpLVTRaVkdKN1hWVG95Rk04TFA4dENHVzVFR0VaMTZzQlFDY1BpL2FyRGVwU2YxOE1RSHhmQ3d0cXptV1JrdUNGaEdOV0xBMFBlaGVlck9nbEQ0NURCWmQrcHJUREVqN1V3clBjWTE0dkR5SEJEd2pDb1V6ZVNsaUlNcTEya2VoaGM5cDBxZDVMU01HVHJJZ3VEa1dFMndqQ29RMkY0UEg5eDY4bHd0WXNzRENOcWhpRTdaVWlYUlRreVZNdGdaTGdYWVJqVDJRTkR2UFN6RXdaaEdFc1pockEwRG9maHJaSEJHaG1QTUF4cC9iS1ZUNFhyYTc4NU1GUU9HU3BoY01qUXYzb1lzaXJVdzdCM1pMQ1pkQ3ZDTUtUekI0WkdHQmJ2VngxUUpReXJEY2JOTUJSbCtGa0tSb1k3RTRZUk5ib1F4b1B5dW04TURIa1lZaHZTdlNUWGZKY2U1ZWYxTU1Rbmhsb1kzdHBNc2toR0l3d2orc0RBc0JtRzJpR0RhNzVMVzJHSUgzOVhSblpEV0kwTTY4WHhNMHl1enFDZS94WU1ReGdHOU1yQVVGejVyUTJEdUZPd0ZRYlhmSmZLbmFRMERNa2pRejBNUm9hWkNNT0EzaDhZcXBkL3VQaXpOZ2pER0pwaHlFNFpHaXVqTVRJc2ZwZmJQUW5EZUxZSGhub1hEb1ZoOFg3VllaVmhDRThOUjhPd0dpZU5ESGNuRE9QNXpNQ1FIekpVd3VDUW9YZjFNR1JWMkIrR3BBeEdoaHNTaHVHOE16QThLbitMditwaFdGLzh3dEM3U2hqS1U0YWRZVEF5ekVZWWhuTm9ZQWhmT2JCZGtMY2gzVXR5eFhmb1VYNWVEME40YUtqZEQ1b2pRNHlETXR5Qk1Jem0vWTJrRjhOUU8yUnd3WGRvS3d6eDQzWVlqQXlURVliUkhCMFlmcis0c1ZzUW5nZFh1MGoxTUxqaU8xVHVKS1ZoU0o0YU5zS3dXUVlqdzAwSXcyQStOakNzd2xCcGd6Q01vQm1HN0pSaDQ2R2gzRXhhTFJFanc3MEl3MkRhWWNndS83MERReEtHeGR1U0JsV0dJVHc0dkJFR20wbVRFSWF4ZkhCZ3lBOFpWa09ETUl5Z0hvYXNDbnZDVUJzWnN1ZUdTaGlzbEhFSXcxZytPRERzQ1VPNmwrUnk3MDhsREt2anA4TmhNRExNUVJpRzh2N0FzT3VSOEUrdERjSXdoa2Y1ZVQwTVlYazBid2M3Um9iL1BxeldTUGhiMEQ5aEdFb2VodjkrV0cwaWg2ZkJ0OE1ROXBLRW9XZGJZWWdmRDRYQnlEQUZZUmpKUndlR3B6ditQMy9zRFlQTHZUdmxUbElhaG1SOXRHOEg5WkZoeWY4UFl4Z1poaVVNSXlsZnJhZWIvZnNEd3lvTWxUWUlRLythWWNoT0dmWXNqMkttTkRMY21UQU01TU1EUXhLR3hmdFZoMVNHSVN5Uk04SlEzWEdNSTRNeWpFb1lCckk1TUd4MVlmZFdRWExDSUF3RHFZY2hxOEx1TUJnWnBpRU00M2h4WU5pN2tiUXJET2xla291OU41VXdsS2NNYjRTaFdRWWp3L0NFWVJpTkxwd3pNT1JoV0x4ZmRUaVA4dk42R01JSzJiNGJHQmttSVF6RE9EUXdQSjYvK05KR1FSS0dzSmNrRFAzYUNzTjZsUndMdzJZWmpBeWpFNFpSZkg1Z2lIc0UyZkZDSlF5dTljNlVPMGxwR0pJbHN1TnVFRGVUL3BSTHhjaHdFOEl3aXM4UERLc3dWTm9nREwxcmhpRTdaZGk5UXZhT0RNb3dPR0VZeEtFdXZEZ3dKR0ZZdkY5MVFHVVl3aXA1THd6cmthRStWVmJDWUxrTVFCZ0dzVDhNNFdvL05ERGtod3lyb1VFWWVsY1BRMWFGVjhKZ1pMZzVZUmpEK3dQRHNhZkJhaGpTdlNSWGVsOHFZY2llSGc2SG9UWXlsSThPUm9haENjTVl2akl3NUdGWXZGOTFNSS95ODNvWXdzUER2cHVCa1dFR3dqQ0U3d3dNbTJFSVQ0TEMwS3V0TU1TUFI4TndaR1JZclpUd3Q2QmZ3akNFZGhpZXIvdDNCb2FuNnpnZUttNkZ3WVhlbFhJbktRMUQ4dlN3OTJZUW5oK01ETGNrRENQNDBzQlFEY1BpL2FvamFZWWhPMlU0dGtpS2tTR2RMdVBJb0F6REVZWVI3QndZMGhQRk44T1FEUTNycTkxMTNwTXlET0VCNG9Rd0dCbnVUeGdHOExXQklUOWtTSGVRRjJIb1ZqME1XUlhlQ2tPekRFYUdjUW5EQVBJdy9QZERjMkI0VlA0T0ZUdkNrTzRsdWN4N1VnbERlY3J3ZWhpTURMY25EUDM3M3NDUWgySHhmdFdoUE1yUEsyRW9sOG1CZThHZjN3OUdobHNTaHY1OWIyRFlERVBZU3hLR1BtMkZJWDU4S1F6Rlp0TFBxakF5M0lVd2RPL0ZnZUVSZitsT3ovdkdUMDNZQ29QTHZDUGxUbElhaHVRQjRuZ1liQ2JkbGpCMGIzTmcyTnBJT2lFTWkvZXJqcU1aaHV5VTRmanpRekl5MUo4Z0ttR3dabm9tREwzNzZzQ1FoQ0ViR3RiWHVvdThIMlVZd2xJNU53eEdocnNTaHQ2VnI5RFRSWHord0pBZk1xeUdCbUhvV1QwTVdSVmVERU50WkNpWGlaRmhUTUxRdVVNRFEvakttenNFMVRDa2UwbXU4WDVVd2xDZU1wd1NCaVBEVFFsRDU3NDdNT1JoV0x4ZmRTQ1A4dk5LR01xVmN2UldjR0JrV0MyWDhMZWdROExRdDZNRHcrOFgzOTBneU1NUWRnZUVvVWRiWVZpdmx0ZkNFTmVLa2VGZWhLRnZYeDRZbnU3NFB4ZjdyakM0eHJ0UjdpU2xZVWlXeWh0aHFENUp4SkZCR2NZaERGMzc5c0JRRGNQaS9hcWphSVloTzJWNGNhVVlHZTVNR0xyMjlzRHcybU5nZWExWHdtQXZxVWRsR01KVHhJZkMwQ3lEa1dGQXd0Q3o3dzhNK1NGRGVxcTRDRU9YNm1ISXF2Qk9HSXdNOXlVTVBmdit3TEFuRE9sZWtpdThGNVV3ckI0aFRndkRaaG1NRE9NUmhvN3RIeGpDUmY3T3dKQ0hZZkYrMVdFOHlzOHJZU2dmSWw2NkU4VE5KQ1BEZlFoRHgrb0R3L3BpUDJsZzJBeEQyRXNTaHY1c2hXRzk4L2gyR0d3bTNZOHc5T3VLZ1NHZUpUNDFZU3NNTHZCT2xEdEo2VnBKbmlKZXV4T3NSb2I2YXFtRXdjTHBrakQwNjRxQm9ScUd4ZnRWeDlBTVEzYks4TTVpTVRMY2xUQjA2NXFCSVFsRE5qU3NyM0xYZHgvS01JVDFjbm9ZYWlQRDR2K1czdGlFb1Z2WERBejVJVU42c1MvQzBLRjZHTElxbkJRR0k4UGRDRU92MmdORHRqOXd5c0N3Snd6cFhwTEx1dytWTUdRRDVobGhPREl5clBjZm4vOFc5RVFZZW5YUndKQ0hZZkYrMVVFOHlzOHJZU2lYeStzM2dyQmdqQXczSVF5ZGVtRmdLQzd5RDRVaDdDVUpRMisyd2hBL25odUc2cXFKSTRNeURFQVlPblhWd0JBdjhhZXJleXNNcnU0dWxEdEphUmlTOWZMR2pjREljRVBDMEtlZEEwTzlDNmVIWWZGKzFSRTB3MUFmTXM4SlE3TU1Sb2FSQ0VPZnJoc1k0akZoYU1JNkRQYVNlbE9HSVN5Wno0VEJ5SEJEd3RDbEN3ZUcvSkJoTlRRSVE1L3FZY2lxY0dZWU5zdGdaQmlJTUhUcHdvRmhUeGpTdlNUWGRnOHFZU2hQR1U0TlE3R1paR1M0QVdIbzBaVURReDZHeGZ0VmgvQW9QNitFb1Z3eDc5MEhkbzRNeWpBT1llaFF1d3NmSGhnMnd4RDJrb1NoTDF0aGlCL1BDc042WktndkdXRVlnakIwNk5LQjRlbU92N3JBbTJGd2JYZWczRWxLdzVBc21WUENZR1M0RDJIb3o0c0R3eVArMHRjSnc3aWFZY2hPR1U1Wk1kV1JJVnN6bFRCWVBsMFJodjdrWWZqdmg0OFBERTkzL0hJamFSMEdlMGw5S2NNUW5pWStIZ1lqdzIwSVEzZXVIaGp5UTRiVkE2QXc5S2dlaHF3SzU0Vmh6OGp3MzRmMXJQbjh0NkFMd3RDZHF3ZUdQV0ZJOTVKYzJOZXJoS0U4WlRnL0RISFZHQmxHSnd5OXVYeGd5TU93ZUwvcUFCN2w1NVV3bEE4VEo5d0c2aVBENHYrVzNuaUVvVGQ3Qm9Za0N1Y05ESnRoQ0h0Snd0Q1RyVERFajZlR3djaHdLOExRbWVzSGhxYzcvczhWbnJWaHZWWHN3cjVhdVpPVWhpRjVtamczREhrWmpBd2pFWWJPWEQ4d0NNTzRtbUhJVGhsT2U1aFlqQXkzSWd4OTZXRmdlTHJqbHh0SjZ6RFlTK3BKR1lhd2JyNFRoczB5R0JsR0lBeDkyUndZOGlpY09qRGtod3lWYzBSaDZFazlERmtWVGc2RGtlRkdoS0VyUndlRzN5K2VlWW52RE1OcUw4bGxmYlZLR01wVGhvK0d3Y2h3QjhMUWxTNEdoandNaTdjbGRlOVJmbDRKUTdsc3pyb0xQTjN0bndkTEk4TjRoS0VuZlF3TXdqQ3FyVERFajU4S2c4MmtHeENHbnJ3OU1KejBjdjdjOFZjUGZjMHd1S292VnU0a3BXRUlTK2ZjTU5SR2htemhDRVBYaEtFamh3YUd4L01YaFlGbEl3elpLY081eThiSWNCL0MwSkZlQm9hbk8zNjVrYlFPZzcya2ZwUmhDSThVM3dqRG5wR2h1bnFXL0F0Y1FSajYwYzNBa0I4eXhJLy9mUkNHanRURGtGWGhFMkdJUzhmSU1DeGg2RWMzQTBNZWhqZzBwSHRKcnVsclZjS3dlcDc0U2hqS2tXSDlUTEhhaWx6U0wzQUJZZWhHUHdORE93eU5Rd2JYOUtVZTVlZVZkVk0rVVp4NkV6QXkzSUl3ZEtPZmdVRVl4clFWaHZWVHhVZkRVRjFBY1dSUWhoNEpReTg2R2hqaWRaMmRNRlRDNEpLK1ZMbVRsSVloUEZWOElBeEdobHNRaGw1ME5EQUl3NWlhWWNoT0dUNndjbjdXd0ZZWmpBeGRFNFpPZERVdzVIdEpsVERZUytwRkdZYXdlTDRXQmlQREhRaERKN29hR0JwaFdHOFVDME12Nm1ISXF2RGhNQmdaaGlZTWZlaHJZTWpEc0hpL2F0OHFZVml0bkErSDRmbHUzNnFDa2FGand0Q0h2Z2FHZGhnYWh3d3U2QXM5eXMrTE1LeWZLNTRmTEU1a1pCaWZNSFNoczRIaDZhSVZobUYwRTRiMXlGQmZQY0xRSjJIb1FtY0RRd3hEZHNKUUNZTUwra0xsVGxJYWhyQitQaHVHelpGQkdmb2xERDNvYm1BUWhnRTF3NUNkTW54bzdTelZrU0ZiUHNMUUpXSG9RWGNEUTM3SVVBbUR2YVErbEdFSXp4VlhoTUhJTUM1aDZFQi9BME1qREl2M3EzYXFIb2FzQ2g4Tnc1NlJvZnB3c2VSZjRKdUVvUVBsaS9CMHZWNDBNT1JoV0x4ZnRXZVZNS3dlS3I0UmhyaUFqQXpERVlicjdSOFl3aVg5eVlHaEhZYkdJWU9yK1RLUDh2UEs0aWtmS3o1ekN6QXlqRTBZcnRmaHdQQjB4eGVHUWZRVkJpUEQySVRoY2owT0RERU0yUWxESlF5dTVzdVVPMG5wNmdtUEZsOEtRL1g1NHI4UDYxVzBwRi9nZTRUaGNsME9ETUl3bkdZWXNsT0dUeTZmeGNnd05tRzRXcDhEUTM3SVVBbUR2YVFlbEdFSUsralNNQmdaeGlNTUY5dmZoYThPREkwd3JDOXJZZWhCUFF4WkZUNGZCaVBEeUlUaFlwME9ESGtZRnU5WDdWY2xETmtLK21ZWU5zdnd0SUxLeFdNeFhVWVlydFhyd05BT1ErT1F3YlY4a1VmNWVlVzVvbHhBSDd3RHhNMGtJOE5JaE9GYXZRNE1HNXZEd3RDZGJzTmdaQmlSTUZ5cTI0RWhoaUU3WWFpRXdiVjhrWEluS1ExRFdFUWZENE9SWVZ6Q2NLbDJHSjR2N2ZYbXNERHdwQm1HK2lyNlFoaU1EQU1TaGl0MVBERGtod3lWTU5oTHVsNFpockNJTGdyRGVtU283MGNhR2JvaURGZnFlR0JvaEdIeGZ0VU9WY0tRblZKOU93eEdodkVJdzRWNkhoanlNQ3plcjlxckxzTmdaQmlWTUZ4bzU4Q1FYdERYaHFGeHlPQkN2c1NqL0x3SVEveFlycVBQQ2N1b1BpOG9RMmVFNFRwZER3eFBkL3hqWVhBaFg2TC9NTVQ5Ui85UFB2c21ETmQ1WTJCNFZQNE9aM29PUTNiQ0lBdzlLWGVTMGpDRWRmU2RNQmdaeGlRTWwrbDhZQkNHb1dSaFdEMWJmUDJJWVRFeURFb1lMcE9INGI4ZkxoOFk4a09HU2hnY01seXRERU40dnJneURFYUdJUW5EVlhvZkdCcGhXTHhmdFR1Vk1DU25ETmVGb1RveVZCOHlsdndMZkp3d1hHWFB3TkRzd2lWaFdMeGZ0VS85aHNISU1DSmh1TWlMQThNai90SlBhb2FoY2NqZ0tyN0FvL3k4V0VUeDQyOFl2bkg5eDVFaFhVcEdodDRJdzBVMkI0YXRqYVRQdjNUWnBid2pEQzdqQy9RY0JpUERnSVRoR3YwUERERU0yUW1ETVBTajNFbEt3M0ROVGxKclpGaksweXBoNklRd1hLUDh2ajlkcHIwTURNSXdrQ3dNUDIzSVRobStHUVlqdzNpRTRSS0hCb2J3bFM5ZTBla2hReVVNRGhtdVZZWWhyS1JPd2xBcGc1R2hSOEp3aVJFR2hrWVlWcGV6TUZ5c0VvYmtsT0dLTUJnWmhpTU1Wemc2TVB4Kzhac1hkQnFHeGZ0VmV6UkVHSGFORE91dHlTWDlBaDhsREZjWVltQm9oNkZ4eU9BYS9ycEgrWGtSaHZWRHh2TlR4aGM4elFHMWVjSEkwQk5odU1BWUE4UFRIZjlZR0Z6RFh6ZElHRFkzazR3TXZSQ0dDN3c5TUh4ekF5QmN5MWtiaE9GNjVVNVNHb2JyZHBJV0k4Tm9oT0g3OWc4TTRUcisrc0FnRE1QSXd2Q3piTEpUaG92Q1lHUVloVEI4WDMxZ1dHOGtYVGt3NUljTWxUQTRaTGhTR1lhd21Mb0lnNUZoTE1Md2RjTU1ESTB3TE42djJwVktHTEsxZEcwWWpBeURFSWF2RzJaZ3lNT3dlTDlxZjE0TXcxZXYvdFhJc0I0K2pRemRFSVp2RzJkZ2FJZWhjY2pnQXY2eVIvbDVaU1dWenhnWGhNSElNQVpoK0xMOVhiaDhZSGk2UG8rRndSWDhaVU9Fd2Nnd0VtSDRzbllZbmkvb3l3ZUdHSWJzaEVFWStsRHVKS1ZodVBhSVlYbGhaRml0SSt2cWE0VGh1NFlhR0lSaEVGa1lmcFpUZHNwd1NSaU1EQU1SaHU5NllXQW9Cdit2aDZGOHZLdUV3U0hEZGNvd2hPZU0xV3E2TEF4eFBSa1plaVlNWHpYV3dOQUl3K0w5cWgycGhDRTVaZWdsREVhR3pnbkRWKzBjR05MTHVKY3dMTjZ2MnBzWHcvRDlpOS9JTUFwaCtLYkJCb1oyR0JxSERDN2ZyM3FVbnhlTEtYN3NJd3h4NEV6MkpvME1seEtHYjNwallIaFUvZzZmOVhQSFB4WUdsKzlYalJNR0k4TW9oT0dMUmhzWVloaXlFd1poNkVHNWs1U0dvWU1qaHNYSU1BeGgrS0xoQmdaaEdFSVdodFZxNmlNTVJvWkJDTVAzdkRnd1BPSXYvYXIwa0tFU0JvY01WeW5ERUZaVTlWbmo2akFZR1hvbUROK1RoK0cvSDNvY0dCcGhXTHhmdFJ1Vk1DU25ETmVIWWVmSTBDaUR0ZlVOd3ZBMUF3NE1lUmdXNzFmdHk0dGh1T2JhTnpJTVFSaStacy9Ba0VUaHlvR2hIWWJHSVlOcjk0c2U1ZWRGR09MSHE4TmdaQmlDTUh6TGlBUEQweDMvbnovMmhzSEYrMFhEaHFHMlIybGt1SjR3Zk12bXdKQkg0ZEtCWVJXR1NodUU0VXJsVGxJYWhsNk9HQllqd3hDRTRVdkdIQmlFWVFCWkdIN1dWSGJLMEUwWWpBemRFb1l2R1hOZ3lBOFpLbUZ3eUhDTk1nemhZV05WaGV2RFlHUVlnREI4eDZHQjRmbUpiN24yTXE2SFlmRisxVTVVd3BDY01uUVZocXdNb1FwR2hnc0p3M2NNT2pEa1lWaThYN1VuTDRiaHdrdmZ5TkE5WWZpS1VRZUdkaGdhaHd5dTNLOTVsSjhYSzJxOXJEb0pnNUdoWThMd0ZXOFBETmVPL2I5WDhONHd1SEsvWnNBd0dCbTZKd3pmTU96QXNBcERwUTNDY0oxeUp5a05RMDlIREV0clpGaktveXNqd3lXRTRSdkdIUmlTTUN6VnR5VUp3eFd5TVB5MElUdGx1SHhOTFVhRzdnbkRGd3c4TU9TSERKVXdPR1M0UWhtR3NLeFdWZWdxREVhR2JnbkRGNVRmNUtjTHMvZUJvUkdHMVJVc0RKZW9oQ0U1WmVnb0RFYUd6Z25ENTQwOE1PUmhpRzFJOTVKY3Q5L3lZaGd1dnZLTkRIMFRoczhiZVdEWURFUHRrTUZsK3lXUDh2TWlET3Nuamk3Q1lHVG8yOVhMWXdMN0I0WVFoVDRHaHFjNy9qOS83QTJENi9aTHhnNkRrYUZUVnkrUENRdzlNS3pDVUdtRE1GeWwzRWxLdzlEZEVjTVNidmUxZWNISWNKbkxsOGZ0RFQ0d0pHRll2RisxSTFrWWZ0WlFkc3JReGFwYWpBeDl1M3g1M043Z0EwTit5RkFKZzBPRzd5dkRFSjQ0VmxYb1psa3RSb2F1WGI4OGJtNzBnYUVSaHRXRG5UQmNvQktHYkdGMUdRWWpRNWV1WHg0M04vckFrSWRoOFg3Vlhyd1locXVYMVY5R2huNzFzRDd1YlBpQllUTU10VU1HRisxWFBNclBLOHVxZk9DNGVsbjlaV1RvVncvcjQ4NkdIeGllN3ZqLy9MRTNEQzdhcnhnNURFYUdmbld4UHU1ci9JRmhGWVpLRzRUaEd1Vk9VcnF1dWp4aVdJd01IZXRpZmR6WERRYUdKQXlMOTZ0Mkl3dkRUeHV5VTRaK0Z0WmlaT2hYSCt2anJsNFlHSXBadjRQWEp6MWtXQTBONnd2WE5mc05aUmpDMmxvdHJUN0RZR1RvVHgvcjQ2N3VNRERzQ1VNNk1yaGt2NkVTaHNvelIxOHJhekV5ZEt1VDlYRlB0eGdZOGpBczNxL2FoeGZEME1QQytzdkkwS2xlRnNndDFRZUc5ZVhiN2NDd0dZYmFJWU1yOWdzZTVlZVZKNDV5YVhXeHN2NHlNdlNwbXdWeVEyOE1ESS9LMytFU1AzZjhmLzdZR3dhWDdCZmNKQXhHaHQ1MHMwQnU2QjREd3lvTWxUWUl3eFhLbmFRMERQMGVNU3hHaGs3MXMwQnU1eTREUXhLR3hmOFp2VTVrWWZoWlhkWDExYzNTV293TW5lcG5nZHpPWFFhRy9KQmhOVFFJd3hYS01JVGx0YXBDZjJ0ck1UTDBxYU1GY2pPM0dSajJoQ0hkUzNMQmZsNGxESlhWMVhFWWpBeDk2V2lCM014dEJvWThESXYzcS9iZ3hUQjBzN2IrTWpKMHFLc1ZjaWYzR1JnMnd4Q2U1NFRobXg3bDU1VzFWYTZ1YnRiV1gwYUdEblcxUXU3a1BnUEQweDMvbnovMmhzSDErbkczQ0lPUm9VTjlyWkQ3dU5IQXNBcERwUTNDOEgzbFRsSzZ1UG8rWXZncnpLUkdoaDUwdGtKdTQwNERReEtHeGZ0VnU1Q0Y0V2VCVlI4OStscGRpNUdoUTUydGtMdTQxY0NRSHpLc2hnWmgrTDR5REdHQnJkWlh0MkV3TW5TbnR4VnlFN2NhR1BhRUlkMUxjclYrV2lVTWxRZVBUcGZYWW1Ub1QyOHI1Qjd1TlREa1lWaThYL1Y2TDRhaHE5WDFmMGFHenZTM1JPN2dYZ1BEWmhqQ05Tc00zL01vUDY4OGRwVHJxNi9sOVplUm9UUDlMWkVidU5uQThIVEgvK2VQdldGd3RYN1lmY0pnWk9oTWgwdGtmRGNiR0ZaaHFMUkJHTDZ0M0VsS3d6REFFY05pWk9oTmgwdGtlTGNiR0pJd0xONnYyb0VzREQ5THJMckkrbHRmZnhrWnV0TGpFaG5kN1FhRy9KQmhOVFFJdzdlVllRaHJiRldGamhmWVltVG9USTlMWkhEM0d4ajJoQ0hkUzNLdGZsWWxESlVsMW5jWWpBeGQ2WEtKak8xK0EwTWVoc1g3VlMvMktEL2ZHWWIrRnRoZlJvYWU5TGxHUm5iRGdXRXpET0ZSVGhpK1pTc004V1B2WVRBeTlLVFROVEt3R3c0TVQzZjhmLzdZR3dhWDZrZmROZ3hHaHN0MXVrYkdkY2VCWVJXR1NodUU0YnZLSTRaMGhZMXl4TEFZR1hyUzZ4b1oxaTBIaGlRTWkvZXJYaTRMdzg4cXF6NS9kTHJFRmlORFQzcGRJNk82NThDUUh6S3NoZ1poK0s0eURHR1ZyUlpaLzJFd012U2oyelV5cUhzT0RIdkNrTzRsdVZBL3FSS0d5dE5INzJ0c01USjBwTnMxTXFhYkRneDVHQmJ2VjczVW8veDhaeGo2WEdML1oyVG9SY2VMWkVRM0hSZzJ3eEF1VjJINGpxMHd4SStEaGNISWNLMk9GOG1BN2pvd1BOM3gvL2xqYnhoY3FCOTB3ekRzR0JuYVliRGdUdEx6SWhsUGZXQ29UZ3REREF5ck1GVGFJQXpmVkI0eHBHRVk2WWhoTVRKMG8rZEZNcHo3RGd4SkdCYnZWNzFZRm9hZmRWWmRhUjB2c3VWbnZSZ1pydGJ6SWhuT2ZRZUcvSkFodjJDRjRVdktNSVFIa0ZVVlJsaGxpNUdoRjEwdmtzSGNlR0RZRTRaMEw4bGwram1WTUZUVzJWQmh5RWFHbldHdzVFN1I5U0laekkwSGhqd01pL2VyWHVoUmZyNHpEQjJ2c3IvQ1NtdE9EVWFHRCtwOGxReWxIb2JoQjRiTk1JUzlKR0g0aHEwd3hJK0RoZUdOa2NHU08wUG5xMlFrZHg0WW51NzRQMWZycmpDNFREL21wbUV3TW5TaDkxVXlrRHNQRE5Vd1pBOXl3dkFWNVJGRHVzeEdPMkpZakF4OTZIMlZqR1Axblh3OC96RDZ3SkNFSVJzYTFwZXFxL1JUc2pEOHRLSDZFTkw3T2x1T2p3eXJKV2JOdmEvN1ZUS01ldzhNK1NIRDZsRk9HTDZuREVOWWFxdVZObHdZakF5WDZuNlZqT0xtQThPZU1LUjdTUzdTVDZtRW9mSUlNc3hDVzR3TVBlaC9sUXppK01BUUw5ZmVYNGswREl2M3ExN21VWDYrTXd5ZHI3Ty9qQXpYRzJDWkRPSHVBOE5tR01KZWtqQjgzbFlZNHNlaHdtQmt1TjRJeTJRRXJ3OE1nNFRoOXdyOHVWWjNoY0UxK2lIM0Q0T1I0VUlqTEpNQjNINWdxSVlodTFpRjRRdktJNFkwREVNZU1TeEdodXNOc1V6NmQvK0JJUWxETmpTc24rQmNvcCtSaGVGblhXV25ETU9zdE1YSWNMMGhsa24zSmhnWThrT0cxZVVxRE45U2hpRThoYXlxTU5SU1c0d01seHRqbWZSdTk4QVE5bnlIR2hqMmhDSGRTM0tGZmtZbERObDBPbXdZbnBhYmtlRzd4bGdtblp0aFlNakRzSGkvNmtVZTVlYzd3ekRDVXZ2THlIQ3RVZFpKMTJZWUdEYkRFUGFTaE9IVHRzS3dYbStqaGlHTURObHFNeko4d0NqcnBHZFREQXhQZC94NGxXNkZ3Ulg2RVhjUGc1SGhXc09zazQ1Tk1UQlV3NUJ0K3dyRHg1VkhER2tZaGoxaVdJd01GeHRtbmZRckh4aVNLSXc5TUNSaHlJYUc5VlhxQXYyRUxBdy9TeTQ3WlJocnNTMUhSb1k4REJiZU84WlpKOTJhWkdESUR4bFdRNE13ZkVjWmhyRGVWbFVZT3d4R2h1OGJaNTMwYW5OZ1dGK2pRdzRNZThLUTdpVzVQaitoRW9ia2xHSFVNR3lOREw5Zk5ES2NiNkIxMHFsWkJvWThESXYzcTE3aVVYNitNd3lqTExhL2pBd1hHbW1oZEdtYWdXRXpET0h4VFJnK2F5c002MGVSOGNMdzlzaGc1YjF1cUlYU28ya0docWM3Zm54NDJ3cUQ2L01ESmd2RDc5cGE1VUVaUG1Lb2hkS2hQUU5EWmF3ZnJRdTFNQ3plci9wOTVSRkRHb2F4anhpVzlzand2THNrREtjYmE2SDA1OGpBOE0rbE91ekFrSVFoR3hyVzE2akw4M3haR0ZhUElUY0tnNUhoeThaYUtOMlphV0RJRHhsV1E0TXdmRU1aaHZBb1VsMXpZNjIzeGNod25jRVdTbThPRGd4UDErbUFGK3FPTUtSN1NhN084MVhDa0p3eTNDUU15YVJnWlBpZ3dSWktiNXBodU5uQWtJZGg4WDdWQ3p6S3ozZUdZYWoxOXRmMnlDQU1IekhjU3VuS1ZBUERaaGpDVkM4TW43UVZodmp4Rm1Gb2pReC9ubjlSOWpmZ3FPRldTbGVtR2hpZUxyMmZPT3dLZzR2emROT0V3Y2h3a2ZGV1NrZm1HaGlxWVZpOFgvWGJ5aU9HTkF6akh6RXNSb2FyakxkU09ySXZETGNaR0pJd1pFUEQrdEhOdFhtMkxBeXJDZlVXWWFpUERLczFaMlE0MFlBcnBSdXI3OTNqK1lmN0RRejVJVU0rMXd2RFI1VmhDQThqMWNlUjhWYmNZbVM0eUlBcnBSdTdkNUp1TWpEc0NVTzZsK1RTUEZzbERKVTFOL0NTVzR3TTF4aHhwWFJpdW9FaEQ4UGkvYXBmOXlnLzN4bUc0VmJjWDlVd0dCaythTWlsMG9mcEJvYk5NSVM5SkdING5LMHd4SStEaDhISWNJVXhsMG9QNWhzWW51NzRQMWZvcmpDNE5FOG1ERWFHRHh0enFmUmd2b0doR29iczRVMFlQcWc4WWtpWDNFMk9HSDVXajVIaG04WmNLaDE0YldBWS9DSmRoeUViR3RhWHB5dnpYRmtZZnRwUWZTQVpjODB0NzQ4TWx0OXhneTZWNjcwN01BejVuVThQR1ZhUGI4THdhV1VZd3JKYnJicWJoT0ZwM2RWM01JME1KeGwwcVZ4dXlvRmhUeGpTdlNRWDVya3FZYWc4amd5KzZKWWpJNE13bkdUVXBYSzFLUWVHUEF5TDk2dCsyYVA4dkI2R3NPcUdYSE4vR1JtK2J0aTFjcTE4WUVndTBGc05ESnRoQ005dHd2QXBXMkdJSDI4UWhxMlJJUlpqRVliM2pidFdMclY3WUFpWDUrZ0R3OU1kUHo2MWJZWEJoWG1xbWNOZ1pQaU9jZGZLcFpwaHVPM0FVQTNENHYycTMxUWVNYVJodU5FUnc5SWVHWjVUSVF3bkdYaXRYT2oxZ1dId1MzUWRobXhvV0YrY3Jzc3paV0g0V1dQVnc2MXhWOTJTand5ckhTVmxPTS9BYStWQ1d3UERzbnBieUQwR2h2eVFZVFUwQ01ObmxXSDRYVnhaRlc2dzdCWWp3N2VOdkZZdU0rM0FzQ2NNNlY2U3kvSk1sVEFrcHd4M0RFTXlLU1FqdzJyRldZS0hqTHhXTHJOallLaGNuS05mb0drWUZ1OVgvYXBIK1hrOURHSGRqYnZzL3RvZUdld2xuV2pzeFhLTkl3UEQ3OFY1aDRGaE13eGhuQmVHejlnS3czcFl2VmNZV2lQRG4rZGZsUDBOMkdmc3hYS05lUWVHcDJ2dUp3Njd3dUNxUE5HdU1DUUxiK1IxdHpSR2hud3Z5Y2p3bHNFWHl4VlczN0xpQUxENnZ4dUhJYnM4aGVGRHlpT0dkaGp1OFVDeUdCbSthL0RGY29WOU8wbjNIQmlTTUdSRHcvcVp6VVY1bml3TXEwSDFmbUV3TW56VDZJdmwrK29EUTJ0YXVNbkFrQjh5NUdlQXd2QWhaUmgrbnp0YVR5V0RMN3psL1pIQkdqeGc5TVh5ZmZzR2h1eVo3UTZYNTQ0d3BIdEpMc3J6Vk1KUVdYcDNXWG1Ma2VHYmhsOHMzemIzd0pDSFlmRisxUzk2bEovWHd4QWVTY1plZUg5Vnc3QWFHWVRoWGVPdmxpK2JlMkRZREVPNE1vWGhFN2JDRUQvZUtReEdodSs1d1dyNXFza0hocWM3L3MrbHVTc01yc25UN0FwRDhrd3krc3BiakF4ZmRJUFY4bFdURHd6Vk1HUlBiY0x3RWVVUlF6c01OMXA2UDR2b3R3cjFweEpsZU04TlZzdFhwV0hZR2hqdWRIWCtlZjRoTktIOXhPYVNQRXNXaHA4MlZKOUxickQwbHMyUklSWmpFWWJYM1dHMWZOSDBBME4reUxBYUdvVGhjOG93L0s2d2JQSGRhZTJGWldWaytLZzdySll2YW9aaGhvRmhUeGpTdlNSWDVGa3FZYWc4bGR4cDdTM3RrZUU1RmNMd3BsdXNscS9aUFRBczZmSGZIYjdkYVJnVzcxZjlta2Y1ZVgzcGhjVTMvdEw3S3hzWlZqdEtsV091SmYwQ3FYc3NsMjh4TUd5R0lUeXdDY1A1dHNJUVA5NHRERHRHQm50Slo3akpjdm1PNHdOREhPWnY4ZDMrdWVPdmRuaWJZWEJGbm1SWEdKS25ranVzdlNVWkdXci9Neks4NVNiTDVUdTJCb2IxOXU3dEJnWmh1RnA1eE5BT3c4MFczOUlZR2ZLOUpDUERhKzZ5WEw3aDlZSGhUdGRtZUJnTEYrVTZEUGFTenBlRjRXZXByUTY0N2h5RzEwWUc2M0NYdXl5WGI5Z3hNS3huaHR0ZG11a2hRNzdMS3d3ZlVJYmhkNDFsVmJqYjZsdU1ETjl4bStYeWVhdHZWWEZkcm1lR093NE1lOEtRN2lXNUhzOVJDY05xV3AwZ0RGc2pnekM4N2piTDVmUDI3U1RkZldESXc3QjR2K3FYUE1yUDYyRUl5KzhtcSs4dkk4TVgzR2k5ZkZoOVlGaFBDN0VOYzRVaFBLNEp3OW0yd3JBKzVKb25ERWFHODl4b3ZYell2b0ZodWZIL05ZeC8vZHp4Znk3TDZoTmJ1QVpkajJmWUZZWmsvZDFtK1MyMU1tUlZVSVpYM1dtOWZGWWFodmtHQm1HNFZubkUwQTdERFo5TGxzMlI0ZmVMd3ZDeU82Mlhqekl3L09mUDh3K2hDZTB4M3VWNGhpd01QeXV3dWdidnRQNStWbElNZ0pIaFZIZGFMeDlsWVBoUGVzaXdHaHFFNFRQS01QdytmbVJWdUdjWW1pUERjeXFFNFdXM1dpOGZaR0Q0c1NNTTZWNlNxL0VNbFRCVVZ1QXRGMkM0M2U4YUdWWkx6MXJjY3F2MThrSE5NRlNuaFZ0ZWwya1lGdTlYL1lwSCtYazlER0VCM21qOS9iVTlNdGhMZXMvTkZzeW43QjRZbHZRdEliZjZObStGSVV6eHduQ3VyVERFanhPRW9WeDI1U3JNUndacmNjdk5Gc3luYkEwTTZ3bit2bUg0dmRSV00zd3pESzdHRSt3S1E3SUNiN1VBbDhiSWtPOGxLY05SZDFzd24zRjhZSWdidlBmNk5ndkRkY29qaHJBQXErZGNOMXVBaTVIaDQrNjJZRDVqeDhDd25obHVlMW1HeXkwMFlSMEdlMG5uS3NNUUhrNG1Db09SNGNOdXQyQStZZlZOV2wrVGxZSGhscGRsZXNnUVAvNDhyZ25EdWVwaHlLb3dSUmkyUmdaaGVNWHRGc3duN050Sm1tVmcyQnVHMVF6dldueGZKUXlySjVQYmg4SEk4Rm4zV3pBZmtJYmh2eDhhLzd2cFZabUdZZkcycEM5NGxKL1h3eENlVFc2MkF2K3Foc0hJY0lZYnJwalRHUmdpWWJqTVZoaldHNXEzRFVPbEROa2lWSWJqN3JoaXptWmdLUHpjOFgrdXlPb1lIeTQvbCtLN2RvVWhlVGk1M1JKY05rZUdwNU11WVRqdWppdm1aUHNHaG1XRy8yc1kveEtHcTVSSERPbk1Pc1VSdzg5cWlnRTQ4SDhYdzJwc3VlT0tPWm1Cb2ZUbitZZlFoUGJlcmt2eFhXVVl3dVBKWkdGb2pnejJrdDUweXhWektnUERTbnJJRUQvKzkwRVlUbFVQUSt1bzY1YUxNS3l2bjBXMzJsR0tUekhKWDAvcWxpdm1WTTB3VERrdzdBM0Q2bkowSmI2ckVvYks0OG5OdzJCaytLQjdycGdUN1I0WWx2VFU3NWJmNERRTWxlMWRZVGpSby95OHZnYkRLcnpqSWx5U2thSDJQeVBEWVRkZE11ZlpHaGpXRDJuM0Q4UHZaU1lNWDdVVmh2ang5bUdvand5clpXaGtPT2l1UytZMGFSaGFBME9jNGUvNURYNE9RN2FSVkFtREMvRk51OEtRUEo3Y2NoRXVSMFlHWVRqb3Jrdm1MRHNHaHNyRzdvMEhCbUc0U0huRUVNS1FuVExjZWhVdVJvYlB1ZTJTT1VsMVlGaHZJTTB6TU9TSERKVXcyRXM2VHhtR01Mbk9IUVlqdzdsdXUyVE8wUndZMGt0eGhvR2hFWWJGKzFVL3FCNkcxbEs4N1RKY2FpTkRWb1cwREJaa3pYMlh6Q2tPREF6eGdyejNGWm1HSVE0TjZWNlM2L0E5bFRDc3h0Ylp3L0M4SUkwTUw3bnZram5Edm9FaEc5L3ZmVUUydzlBNFpIQVp2dVZSZmw0UFExaUhkMTJHeTgrS2lnSHdmeGZqZlRkZU15ZG9obUhlZ2VIcEloT0dMOW9LUS93NFJSaWFJOE9PdlNSTHN1TE9hK1p0Qm9hYTV6QmtKd3lWTUxnTTMxTHVKS1hMTUZtSTkxMkg0WGIvcytoV08wcFBDMUVZOXJuem1ubWJnYUZHR0s3UURFUDFJZVhPNjNBeE1ueklyZGZNbXd3TVZla2hReVVNOXBMT1VvWWhMRVZoeUNlRnhtcE1mODcvM1hyTnZHbHJZRmhtL0wrRzhZOTZHQmJ2Vi8yWWVoaXlLa3l4RUpmR3lMQ3FnakxzZCs4MTg1NDBETW5Bc09TL3VlM08zOW8wREl2M3EzNVdKUXlWMlhXT2xXaGsrSXg3cjVtMzdCZ1lLcGZpL1MvSFpoZ2Fod3d1d2pjOHlzL3JZUWdyOGM0TDhhODNSd1pyTW5QM1JmT0c2c0N3M2tES0JvWjdmMnQvN3ZqQzhEVmJZVml2eHRuQ2tFNEtUOXVhUm9iZDdyNW9YdGNjR0pxeisvMEhoaGlHN0lTaEVnWVg0UnZLbmFRMERNbFN2UGRLWEdvalEvYVFzbHFQMmM5WkpsZzBMenN3TU1RMkNJTXdmRVF6RE5tVHloUXJjV25zSlMzbE95R01ESHZkZnRHOGF0L0FrRjJKVTF5TjZTRkRKUXoya3M1UmhpRXN4cG5Ec0ZxTjZjancrNUFpRE52dXYyaGUxQXpEOUFOREl3eXJwelJoT0VrOURLMk56ZHN2eFdYUHlCRDJrcFJoMi8wWHpZc2UyVThORFA5Snc3QjR2K29uVmNKUVdZenpyTVZ3dTErUENlMFJOdjA1RXl5YTF4Z1kycHBoYUJ3eXVBUmY5aWcvcjRjaFBLVGNmU24rVlIwWlZvdFJHZmFaWWRXOElnMURNakFzNmZ0QUp2aTIvdHp4aGVGTHRzSVFQODRhQmlQRE9XWllOUy9ZR2hqcWsvdU1ZY2hPR0NwaGNBbStyTnhKU3NPUUxNYjdyOFhsN1pIQnFpeE5zV3FPcXc0TTY5Mmo1MUxNMHdWaCtMcG1HS3BIWGxNc3hzMlI0YmNXUm9aOXBsZzFoelVIaHZRaW5HMWd5QThaS21Hd2wzU0dNZ3hoT2M0ZWhzcklrRzBrclo1VnNwOVBiNDVWYzlTQmdXRjUvRjZkeTBUWFlqME1pL2VyZmtROURLMG5sU2tXNDlMWVMxcThZL1VWYzZ5YWcvWU5ETm56MlR5WFlocUd4ZnRWUDZjU2hzcHluR3MxTHVzRm1ZNE12NnRSR05vbVdUWEhOTVBRK045TWwySXpESTFEQmhmZ2l4N2w1L1V3aE1lVUdSYmpYMitPRE5abE5NdXlPZVNSL2RUQUVQM2M4WVhoSzdiQ0VEL09ISVprVEdpZmU2VS9uOXdzeStZSUE4TWV6MkhJVGhncVlYQUJ2cWpjU1VyRGtEeW56TEVhbDhiSXNGcVBSb1p0MHl5YkE5SXdKQU5EZmlITzhpMFZodTlxaHFFNncwNnpISTBNNTVwbTJleTNOVEFzcTFPK2VjT1FQcHkxTDBMWDMydktNSVFuRldGWURvOE13dEF5ejdMWnJUb3dySHZ3ZUxvMlo3c1E2MkZZdkYvMUErcGh5S293MzNyY0hCbWVGcVNSWWRNOHkyYXY1c0RRdkFqbnVoRFRNQ3plci9vcGxUQmsrNXFUaHFFeU1pUjdTVWFHVFJNdG01ME9EQXpMcEwrNTdmK2FZV2djTXJqOFh2SW9QNitFb1h4UW1XVTUvbFhkUzFxOFkvV29tZGJOUG8vc3ArWEFrRzNuenRXRnB6dStNSHpCVmhqV3U1dnpoV0gxc0pMT0MwYUdQYVphTjNzMGQ1SWEvNXM3RE5rSlF5VU1McitYbER0SmFSaVNKNVY1MXVQU0dCbFdLOUxJc0dHcWRiTkhkU2ZKd0ZBUWhtOXFocUc2S0tkYWtPRjJuMDRLeGFvME10Uk50VzUyMkJvWWx1eTlxbE1PRFBraFF5VU05cExlVllZaFBLc0l3NytNREdlWmE5MXMyenN3NUhQN1ZOL09laGdXNzFjOVhUME1XUlhtWEpHYkkwTTRmZmo5OWVWZnoyenJabE56WUdoZWd2TmRobWtZRnU5WC9ZeEtHQ3FibTNPdXlLVTJNbVFiU2FzdHp1em44NXBzM1d5cERnenIzYVBIODhVNTQxWFlERVBqa01IRjk0SkgrWGtsRE9XanlsUXJjbW5zSlMzZXNYckliQXRud3lQN3FZRWg5M1BIUHhZR1Y5OEx0c0t3Zmx5Wk13eXJ4NVYwVGY0dVNTTkR4WFFMcDZtNWs5VDRuekJrSnd6Q2NKNXlKeWtOUS9Lc010ZUtYSXdNWjVsdTRUVHRHaGdXNzFYOWh6QjhUek1NMVdVNTNaSmNpbW1nOGI4OERCYm52K1piT0EwR2hrUFNRNFpLR0J3eXZLY01RM2hhRVlZbjFaRmh0U2p0SlRYTXQzQWEwakFZR0dycVlWaThYL1ZrOVRDMFRyN21XNU5odVJrWlhqZmZ3bWxvN1NURnE5REFzRlRDc0hpLzZpZFV3bEI1V3BrNURFYUdVMHk0Y0txcUE4TTZCZ2FHWlNNTWpVTUdsOTVoai9MelNoaktSVG5kbWx6YUkwTVNobkk1V3AzL04rUEtxV2tORE0wSHMwbkQ4SHZIUHhZRzE5NWhXMkdJSCtjT1EyVmtTUGFTakF4MVU2NmNYRG93Skk5bVA1ZWdvZjIvSDM0dXdPclVMZ3h2S1hlUzBqQWtUeXNUTHNyR1hwS1JZYjhwVjA1dTE4Q3dPSHIrSlF6ZjBneERkV0ZPdVNpWDlSNW5PaTlVdzJCNS9qWG55c2tjR3hpZUxzRjVyOEgwa0tFU0JvY003eWpERUo1WGhLRlFIUmxXeTlKZVVzMmNLeWVUaHNIQTBGSVB3K0w5cXFlcWg2RjE5alhucWd3TExwMFVOa1lHeTNPWmRlVmtXanRKOFJvME1Qd3JEY1BpL2FybnE0U2g4cnd5ZXhpTURPK2JkT1dzVlFlR2RRd01EUDlxaHFGeHlPRENPK2hSZmw0SlE3a3NwMXlWUzN0a1NNSmdaRmliZGVtc3RBYUc1bVBaeEdINHZlTWZDNE1yNzZDdE1NU1B3bEFaR1pLOUpDTkR4YlJMcDVBT0RNbUQyYzhGYUdSZlloaXlFd1poT0VlNWs1U0dJWGxlbVhSWk52YVNqQXc3VGJ0MENyc0doc1hSY3lRTTM5RU1RM1ZwVHJzc2wvVXVaem92Vk1OZ2dVNjhkS0pXR0JyL20vd0tUQThaS21Gd3lQQzZNZ3poaVVVWUV0V1JZYlV3N1NXbDVsMDZRYnFUWkdEWVVnL0Q0djJxSjZxSG9YWDZOZSs2REVzdW14VENLUEg3NjR1L2ZHYnpMcDFnWTJCWVgza0doci9TTUN6ZXIzcTJTaGdxVHl6Q3NOUkdobXdqeWNpUW1YanBQS2tPRE9zWUdCaWVOTVBRT0dTWS9ySTc1bEYrWGdsRHVUQ25YWmRMZTJSSXdtQmtLTXk4ZG42MUJvYm1ROW5rWWZpOTR4OExnK3Z1a0swd3hJL0M4SC9sUTB1Nk1xdGhtSDZGVHIxMi9wTU9ETWxqMmMvbFoyRC8xM01Zc2hNR1lUaER1Wk9VaGlGNVlwbDRZZGIya293TU8wMjlkdjVUM1VtcVBKa1pHUDRqRE4vUURFTjFjVTY5TUpmNlB1ZStrV0gyRlRyMzJ2bFhheWVwOFQvWFgzN3hWY0xna09GVlpSakNNNHN3VkZSSGh0WFNYRDIzWkQrZnpOeHI1eDhHaHBmVnc3QjR2K3BwNm1Gb25YL052VExEb3NzbWhYajZzS3pXNU9STGRPNjE4NC9Xd0ZDNzlBd00vMWNiMTRzd3JKN0pKci9xRHFxRW9mTE1JZ3oveWtlR1pDL0p5TEEyK2RyNXF6b3dyR05nWUNnMHc5QTRaSmo3b2p2b1VYNWVDVU81TktkZW1VdGpMMmx4L0x4cDlzV3p2RFl3Q01PL2Z1NzR4OEl3K1ZWM3pGWVk0a2RoK0ZFK3RxVHpnakNrcGw4ODdUQmtNNE54L2NsekdMSVRCbUY0WDdtVGxJWWhlV2FaZkdrMlJvYlYyclNYVkpwKzhkUjNraXJQWlFhR1o4THdlYzB3VkpmbjlFdHpLUTRRR3Y4ek1xeFlQQnNEdzNvYjZSRWV5Q2IvQnFhSERKVXdPR1I0VFJtRzhOUWlEQTI3Um9aUWorUXZuOVAwaTZjNk1LVGJTQWFHUWowTWkvZXJucVFlaHRZSm1MVVpsdDFxVEVqMmtvd012NlpmUEsyQm9YYmhHUmgrcEdGWXZGLzFUSlV3VkxZNWhlRkpQakxZUzlvMi9lTFoyRWxhWFgydXZhQVpoc1lodzh6WDNFR1A4dk5LR01wcGR2cTF1VFQya3ZLUndWN1NqOWxYVDNVbnFiajZWZzlrd3ZDUG53dnFuei8yaG1IbWErNmdyVENzSDF5RTRVZjU0SkxPQzBhR3RkbFh6LzZCd2JDZUtzSlFhWU13dks3Y1NVckRrRHkxV0p4TFkyUllyVTRqUXpENTZqRXd2RXNZUHEwWmh1b0N0VGovNzJrUXlDYUZNRXI4L3ZyaUw1L1I1S3VuTlRDc3I3amZTOCsxOTUvMGtLRVNCb2NNcnlqRGtDNVBZYWpJUjRaa0x5a2RHZVpkcFpPdm5pd00vLzJRbk84WkdGYnFZVmk4WC9VVTlUQmtWYkE2bzliSWtPd2xLY08vNWw0OTJ3TkQ1Ykp6NmYwbkRVTnNRN3FYTk8wVmQxZ2xESldOVHF1elVDN1FkRjRRaHRMY3E2Y1ZobXhtY09XdGJJV2hkc2d3N1JWMzFLUDh2QktHOHJIRjZ2eEh2cGVVYlhWbWUwblRydE9wbDAvNUg3L2V3cTFzNEFyRHI1L0xLVDZOYllWaDJpdnVxSzB3eEkvQ3NCSU9FTEx0SkNORFl1cmxzekV3cklmMFIzRU13U29NbFRZSXc2dktuYVEwRE1semkrWDVyM3hrU1BhUzBwRmgxbVU2OC9LcERnenBOcEtCSWJjT3cxSjlXNUl3SE5jTVEzV210VHgvUEEwQzJieFE3aVVwdy8vTnZIeGFBME42eVlXQlllcHYzWlAwa0tFU0JvY014NVZoQ0F0VUdIWW9WMmgxWkJDR1h6TXZuNDJkcE5YTTRNTEwxTU93ZUwvcUNlcGhxRHk3V0orRmZDOHBlM0xKOXBJbVhhZ1RMNS9xVGxMbGRNOU9VaW9OdytMOXFtZXBoS0d5UUszUFJHMkpoZ1ZxWkFnbVhqNGJBME82alJTT0lmaHJLd3kxUTRZNXI3ZkRIdVhubFRDVUR5N1c1NjlkSThQditoU0daZXIxazRYaHZ4OE1EUHY5WEV6Ly9MRTNESk5lY0VkdGhTRitGSWJNMHlDUXpRdmxYcEl5TERPdm45YkFVSnZTSC9GWDhsY1Joa29iaE9FMTVVNVNHZ1lUYlZzK01xejNsWVRoeDd6cloyTW5LWnNaREF5WmRSZ1c3MWM5VFRNTTFhbldBZzEyN1NYbHF6VDcrUXltWFQvbGYvanptRzRuNllqMGtLRVNCb2NNUjVWaENFdFVHSGFxSFlRWkdXcW1YVC83QndhWFhWczlETXMzM3EvYTZVdHgxczJrSG9iS2RxY1ZtdGcxTXZ4T0M4SXc3L3JKd3ZEZkR3YUdJMnBQWTBVWVZwZmNuc3Z0MXQvblhmZWJTaGdxUzlRS3pUMDlsYXpHaEdRdlNSbW1YVCt0Z2FGMnlUM2lyK1FmelREc09XVHd6VnhKdnpWWkdPTEgzekQ0bmtiNXlHQXZxV3JXQmJSL0o4bkFzT1huanYvUEg3dkR3Q0hwR2hXR2ZYYnRKZFdYNlh6TGR0WUZWTnRKcWx4M3d0QlFoS0hTaHZ4WmpOM1NOYnBlcGNLUXFzMjFSb2JjcEF0by84QmcvM2JUT2d5ck5oZ1ozcGJzZGxZZlh5elJsVjBqdys4S0ZZYXIvd1d1VVJzWWF0dElCb2FHOUdGczc3TVlPOVVlWGp5NzdQSzArRlpMTTlsTG1yNE1jeTZnMXNCUXUrSWU4VmZ5b3phbDU4OWk4MTFqcDlpOVJpM1JYRDR5MkV1cW1ITUI3ZDlKTWpCc2EyemZaczlpODExa0ozajhmc2pDVUs1UlMzUmwxMTVTZGN0enVqVTc1d3FxN1NRVmJiQ1R0RXR5eWNYcnJoZ1o1cnZLM3ZiVWhWMFBMNWJvV3VQNUpTNVRJOE15NlFyYVB6Q1kwdmY0dWVrM2h2VG5rZUZUVjlubHI4eW43aDVGRnh3eHZHTFh5UEQ3L0NJTTg2a05ETFVuTVFORFc3aWFXa1A2NytWMThEcTcxL2Y4MWYvNHB6WHFpT0d3cDBGZ3o1Wm4rU0pOVm9ZWlYxQnJZS2c5aVlWNEVHMGVNbVNYMitwQzg0MWRzdHZQSTM2V0RyYS9YeFNHdW54a1dPOHIyVXRhNWx4QiszZVNEQXk3bEdFNGNMbXgyM01YTE5JWDdOcExxbzRNa3kzY0dWZFFiU2Vwc1h2cm1tdlp2dUtVNFczbDgwdmxmTUZVVzllWWJCZkh6OUdFUzJoallFaTNrWFNoNmVjSnEzYlJoV2V3NzF4aFgzcWh2blM3ZVB4K1NHZGIyNTA3MkV2YWI4SWxWQnNZYXR0SUJvWk43VWV4OVhUKzhqVTI5bmYvN2Yvc3AyVmFyRk5QTHpzODNlOHJoMkgya3Y0ejRSTGFzNVBrV2V5UTZsNVNyUXoxcTJ6YWIvQ083OGp6VXEyTXRNTFFrcXpUeG1LZHVnenpMYUdOblNTbmVpL1lDb01qaGhPRWxTb01yOWcrRERNeS9HdStKYlJuWUxDVGRFeDlSbDhmTVh6KzhycmdOZnJDUGFQWkJXUHRQdTA5ejYybm1KbktNTjBhYWcwTXRXMGtYZGp5NS9tSDVMbzc0NGpoRnQvN0YrOHR6NGNNalRaWXBSdnlrY0ZlMHRwMGE4aE8waWZVOTVJcVYxcmxHcHY2KzF1Nzd6ekNKLy85c0pvV3JOSnQ5ZEhXOFhNMDNScmFzNU9VREF4bTlLWlZHTG82WWpqOVpidnd2K0twQzdXZEpNdTBydHhMU3VjRkk4TjhhMmovd0xENHZ6U3dYM3dTcTh3TGY1NS83UnNHZkJYZXY2TThuajZrVVhnVXY0aE1kYlF0d3pEN3lERGJHcW9ORExWdEpEUDZMay8zL05WRmwwem1HeGZZZE4vbXJSdk9JM3lNTlNpT0haWUp2MzFIbEtkaDdiMms0cFVSaHR0NkpEOExPMG5aNU9DSzI3VGF2QzNuaFV0MmtqNzhnbjM3UGhIM05OZHRzRXkzNVNPRHZhVFNaSXRvLzA2U2dlR1E5VjVTYlY1NDg5b2E5elU0NXo4OE9SU3prM1JBOWZnNVB4UVRoam5VZHBLZTI1QU1ETUt3cGRoTEtpK3c0dkdyZVgxTitWMXUzM0VlOFpOS0Y2elNQZHJIeitXNTJMUjdTWE90b28yQklWYWhuTk1uKzE0ZGxJOE01YVBYaHkrc3ExK2hyL3pubFU4enduREk3dVBudWZlUzVscEZPM2VTVnNjTHJyaE55Y2lRRCtVdlhWcTMrdGEvZG5ONVBIOXNkT0ZlMzZzUE9IYjhMQXd6ZUdzbmFhNXYxVkhQSndocEhaNHZxdnp5dXVJYjNQaG5YbklQU1AraGorTFRWUnNNREFlOGRmd3NESGZrNlBtRC9oUS94bWV1YzA2ZW93RmVrSFB2STluNXM0SGhxTjE3U1ZPUERGTXRvejBEZzUya0Y1VWpRKzE0WWYrVk5jTTMvUGgzSTU0L3I5Zm5ETisxOTVUSHo5bDIwdlFqdzFUTDZKSDhMSVJodlkya0MzdUZHMzhzUTNhRi9memtJOS9Ycjc1WUg3bFgvUDVOdzM5TGNmNjgzdW0wVERlOXRaYzBTeGxtV2tkMmtqNHE3QmI5U1g1WTNyMnFobjhKM3J5cGhIdC81V3hoK08vUkZ6aCszamJUT25MMC9GSHJrU0hiU1ZyYWw5YkUzK2JtSGVkUmZxWUxyeXYza2hhL2xXRmxwb1hVMkVuS1pnWTdTUWV0UjRaNFpYM3FrdXJ3cGZuWTNhTXlOQlFuRURUdFBuNmVlQzlwb29XMGN5ZkowZk9yNG41UmZycHcrS3E2N2ZmOStQM2xVWHlTSEMzYzlydDFyc2J4czcya2YweTBrbDdjU2RLRjNiSXlwT1BDNnRyNjZyZjNsWC9ZTis4RzYzOVdjdjZjN3lCWnBydThkZndzRERlemV5Zkp3UENpUDhVbmY5S3ZubU9ZRitUYyswaFJBRjE0eWU2OXBIbEhobm1XMHA2QndVN1NlL0l5N0QxNGptYjVqci8wSGFsc0lNM3lQWHVidmFRdDh5eWx4c0JRMjBiU2hhTXFaVWd1cHYrKzBQMG0wck5MTnBSVy85TGxmS0FMaDlsTDJqTE5XdHA1OUd3bjZUMnJFcnh4N3R3dzFPdnhvUzAwWFhoRDJDY3lNcXhOczVoZVBIcCsrb0Vka2c3OFNmLzBob20rNDYvdHJxMXpNTkczN0gzbFh0TGl0ekpFMDZ5bTNVZlBpOS9FOEk1c1FzZ3VwSCsvNWp0YjFkcHN5MnJnVzNuQTd1Tm5ZYmkzblR0SmpwN2ZscDgwZi9SYTZ1L2wrZFovcmk2OHlsNVMyeXpMNmNXZEpGMDRycnAxOU5ybGROZHYvZ25malhScmlWMGNQN2ROc3A0Y1BYL1JSZzNTcThxMytOZk9iNUFzdkdQM1h0S2tJOE1jSzZyOHIwd0hodlhNSUF5dm1lN3g2Z0xWMFlGOXl1UG5RM3RKOTEvVUV5eXAyck9XbytmUCtmSURWbWV2ME1mdkd1a0F6Q0Z2N1NYZHZ3ejNYbFA1ZjEzb2dxUG5qOWk1ZzdUSFBiLzk1MzA3N3ZuOStieGp4ODlucnVnUjNIWlZOZjdEeW9FaFBYZiszVW02N2Jmb3N5cVhUZVhMdnNrL2F2ZWJ5cmZJZCs1RjVWNVNPaSswd3RENjh2RHV1S3cyL3B1cUE0T2o1M1BkOVpycGljWDVzbDNIejl0bDJQaFRvN3Jad3RyeG4vTjB0Mzg4dFNGN282b3d2T21HRjB4WExNMTNOUGFTc2pjbWJhM21leTMyR3kydGZmOHBqOThQdGJlck9ubytVUytYeTNrdjQvMytpeWExNi9qNWFXVFk4OHIzc2pqZWRvL1Z0ZisvNHFrTEJvWXZPZjlpR2UwMU9mMDdNTm8zb0V2VnZhUVhSNGJpYnp5MjRWZllzZitBb2d2NW9YTTRlaDcvTzlTSFl4ZkxWTjkwMzVxTEpNZlBsWkhod013US90N2pHbm1aSGY5M3o3dGdZUGl5MzR2R2Q3Zmg2ZDdpKy9RSiswYUdGOHR3L0ZkM1pkUVY5OHEvOStQNVkvV1FRUmhnQ2s4YlJNMHFQQjB6dkhDdkg3TU9BOTczWHZ4WGZzUlBtbEhRQmJpL0YwYUcxMjcwNDhWaHJCdmZ5Lysyai9KVEF3UE1ia2NZc3QvSThPSnRmcWc2akhQamUvM2Y5TEgrU2IwTGpwNWhGaStXNGZXYi9EQnhHT0xHZDFJVGZuOGV1MkJnZ0NsdGhhRmVobmZ1OFNQVW9mczczeG03UjhXWFdvZlBCZ2FZeHVyNE9TdEQ2MTFKTDkvamU0OUQxM2UrVi8vbDhyK3UvYWFrZEdEbys5c0R2S2N5TWpRT241TTcraDNyME91ZDc4eEJJWDY5N0lLQkFXWVZSNGJhdkJBM2t2TGIrYzFPSFhxODlaMDdLTVEvc1RwN3p0K25hbUNBQ1R6dEVNVVFaUFBDNXR1U2JoU0gzbTU5Ny80bWhmYWZlWm9EMHZObkF3Tk1wVFl5NUR0SmU5NlhkSTgzczNaMDcvdmtvUEQ4MC9wZTB1K3dJQXd3Zy9YSVVObEp5azZmNnpmejRldlF5YjN2N0VGaC9TZENGcEl1UExkQkYyQVM2Y2lRdmlmcDZCdVRobzVEQnplL2s2TlFmNXZxRXU3NDZ5NElBOHltT2pJazcxYXRIeitmWElmcjQzRHh6ZSsxZi95QkpvU3ZQUjhwNXpQRGN4ZXUvdDRBbjdjZUdZb3k1SWNNQjk2Mk9tSWNMcno1ZlR3S2ovUm5qL0JEdG9ta0N6Q041eDJpU2hVT0hES2NPenBjRjRlTDduNHYvV05mYnNMdlR4c3pnNEVCSnBTRW9WS0ZmQ2ZwMDZQRE5YRzQ0TzczNFNpVVgzbXNQazFuQmwyQUtlMHZRLzIzTXV5dnd5QngrUEx0Nzh3b0hHcENiU3RwM1FWaGdKbVVZV2pQQzQzZnlyQi9ZK21WRy8xMzQvREYyOThyLzZpWEI0WDhmQ0hkU2lwbUJWMkFxZXdzUTc2VjlISWQrbzdEbCs1L0owYmg0S0N3ZXE5cWRXWUlYUkFHbUVTNDRhL0tzR2NyYVhOamFiZzRmT1ArOThJL1kyOFU5amFodk9FLy9aai81Z1ZkZ0ZtRXUzNG9RL1BvdVgwSXZicUJueGVITDdUaDB6ZkEwNkx3NnVaUi9FbWFCVjJBcWUwcVE3NlhkTXJvMEY4Y1Bua0gvRndVOWplaHRwT1V4OEZHRWt3bzN2R3pVV0YxOU53NGFOaXF3d2h4K05RZHNJY29aRHRKNnl6b0FzeHV1d3pwdkZDdnc3Zmk4S2syZk9RV2VQeHYrbElVZGpaaFBUU1U3MDNTQlpoYWNkTXZvOUE2ZW41OWRPZzVEcWZmQTArS3dxRkJZZGRQMHJlc3BsMFFCcGhNdFF4RkZQYnNKYjAvT2x3ZmgxUHZnZCtKd3ZZN2p4cC9JanRvMEFXWVhWYUc3WG1oMm9EVzZQQ2hPSnphaHZOdWdvZi9UbTlIWVVjSDRrL0tyYUw4alVpNkFQTnBsR0hqcmFyN05wYkdpc001ZDhGcm83RHJUOVNHQmwwQWx2WGQvMC9qcStXbnI1Umk1NkhEMFh2OU9XMDQ0VFo0OUcreEt3cnZEZ3JIaGdaZGdObXR4b0h6eG9VRG8wTW5jWGp6UG5obEZJNDJvVDQwNkFLd3Z2T2ZPUzY4R1ljdnQrR2RHK0VaVmZoZ0ZQYStQU2tyQmpDZFpDYllQeTdVL3NSTDU5T1h4K0hsTytIQnYvQzlLTHcxS0d4TURib0EvRjkyUDMvNXpVaUh4NGhQeE9IVk5yeDBLK3d0Q3Z1YXNCa0lYWUM1cFRmL2c5UENudEZoZHh5dWFzTkp2L1hnMkM5L3RINTZNQVQ3aG9idGZhWDF2eFl3blkwMHZCQ0VvNkhvSWc0bjNPYVAvZXBXRkE3ZXZlczM5YjAvYTVRRW1OSFJvNEszeG9XOXYrM2hoRGdjKzlVSDdvYnZOMlJ2RkQ0MEtCejVsY0NjWGpvdFBqbzZuRFE1Zkt3TmUrK0hiNDhLNTBYaHRTYnMzNzhDcHJiem5yLy9WeDRxd2tjSGg3Mi9lTmNkOGRCdDg0MzlvOWVqMEx6ckgvODVNTEgyN2JqOTVxRlR4b1dEY1RoL2NOaStKYjViaFU5RTRmVkJJZnRYbEFVZzJIcm42UDQ0YkJmaGdqaHMvdUtObStLNVZkZ1JoZk9PblBkVXF2SWxZSGJyZStmcUt4OGFIVjQ0OHE1K3FhNzlpMXUzeFNPM3pNOUY0WVVqNTEzN1dkV3ZBZXk5OVRicmNDZ09oMy9QdzU1NHRUUitjZlhPK0Y0Vkd2dEgrZWN2OStIVlFhSDZWWUIvcExmTzdUcnNHaDNPaWNPYmcwUHQxNzUveTl5cXdxRzNITDMxUHFSRE8wV3FBR3pMYjUwbmpRNEg0bkJvVitudE5yeTM2ZjdxcVBDQktCemFLRklGWUsvYWJmYmc2SEJ1SEQ3YmhqZmV1UG5pcVBCYUZKcTdSNGZxSmdyQVFkWGI3QnVqdzhmamNLQU41Uzl0YjlmWEhhakN1VkY0cHdtaUFMeXFmcDk5ZlhUWUg0ZFBEdzd4RnphMzdHczJmbS9BZ1pPRXJWSWNqSUltQUIvVXVNOXUzcFIzN0N1ZEVJZlgyL0Q4NjZxN05WWDdxL0RCS0JnVWdJdWNOVHBzeFdGM01FN2FWSHI2VmZrdHVhcGRoUVB2Uk4wb1JlUGRxUVlGNEdwbmpRNnZ4R0hIMjViYUJ4MDF2Ny9vc2Zxa29YbFMvY3FvY0RRS1RwbUJicnhSaDlmZW9yU1JpZmFtMG80Mi9QeVNSL0d4cmxXRnJWSGhNMUhRQk9CcVJ6YVdUb2pERzcvZllVY2EvdnNWai9DaDdvemZuM0RnalVpaUFJemp3TnRaRDhiaHZmMmx3MjM0OTgvdkM4TUo3enJhZmZ5OEdRVk5BUHB6WUhRNE13NXYvM2FIN0YvdDhmUmp6WTRENXZaOS93dFIwQVRnZXZ0SGgvZmpjTmJCZFBJbkh6OC8xR3lmTU8vODdGZ1VEdXdlaVFMUWoxZjNsZmJINGMyemgrMHliSVhodlcyanM2S2dDY0JRWGh3ZFhuajc2Z3VWMkh3LzFVWVlUbTdCOWp1UlJBRzRpVS9INFkxS2JKeUlOTU93ODAxR3IrZmgxU2hvQWpDRzJoMTRkeHl5VDF2My8zMlJhRmZyc1J6cndxUDJoWjE1cUcwbGlRSndWeWZHNFZnU2R0VWkrWGRvaEdGOXB6K1Nod1B2UkJJRjRPNzJ4cUg2RHFKakcwZlZMMnlXb1IyR2FnV09WR0U3Q3F0LyttYW1BTWJVdUJkWGYvN3k0TEQxc2ZhdjgrZi85OXRqWGFqODlKeFJRUlNBbXpzL0RwdHRxUHkwOHUvU0NFTjVuMDgvSER0eEVBV0F2ODZLdy9aZVV2b2hHUjdpUDZnU2h1SUd2NnNPKzkrS0pBckE3RjZJdzhIQklkU2dYWWppbjVpSElkMHZ5bjdTcUVOdFZCQUZnUC9iRjRmOWcwUDVTWktHN1RMOFB3ekh1cEJORUsrUENxSUFUTzU0SFBZTkRra0hra0RrWldpRjRmbEROUTdObmFUV3FDQUtBUDlYZlh0UTllZDczcUMwanNLK011UmhDTGY4Ui9wcGRXYW9qQXI3OW85RUFaalZyamhzRFE1NUcvN0VIL0pOcGVlL1d4S0daaGYyelF3dmpBcWlBTXp1alRpc1BudiswT3JEK2gvYUNrT1JoSzJaWWQrb0lBb0FMWHZpc0hOd1NIdFE1aUhic2xxSFlkV0ZZbHpJWm9ZM3FpQUtBRkh0OXhmVWZyb2VIUEkwNUdYWUVZYjFSdEpqU1FPeG5obXFlMG5ybnphK0NNQ2VPT3hwUTh4QS9LUlNobm9ZTnJ1d3FrSjlWQkFGZ09NT0RnNlZZNFlRZzJSNDJCK0d2QXYxTEJnVkFEN2cxY0doTmkvc0tNTTZET1hBa1AxUmY2K3FVUUhnYkZrY3RnZUh5cnlRbkRYc0RNT2VMaFRIejh1ZUtvZ0N3QXVPRFE2cnQ2cG1aV2lNREkvTmdTRnR3eW9MUmdXQWo5b2VIUEpUaGxvVjZpTkRHb1p5WUdqT0RJdFJBZUE3TnVQUU9tUjRLc0liWVdpMUlUdGhXUDJzOWlVQVhyTjdjRmdmTWhSVldMMXY5YisvdmhxR0dJU3Q4K2YxVHhwZkErQWRTUnl5dVNHYkYzYU1ERVVZMG9FaGFjUG15WFB0U3dDY1lXTndlRXJEdWd3YkkwTTFES3NvclBlU3FrZlB0UzhCY0tMbTRKRHVKSzNqRU42ZDlPOWZ1UjJHeXN4UU9XT29mdzJBczdYYVVObEppdnRKeWNnUXc3RGFTY3J5RU00WWtnU0lBc0FYMWR0UWxpR0x3NEV3bEVVb1pvYjA3RG45QWdBZlY4YWg4dnNZL3B3ZGhuVVhpZ3FJQXNCbC9tUS96ZCtzR3VLd1BtUkl3aEIza3JLWklldUNLZ0JjTEhuTDZ2cndlWHRrT0JTRy9QQjVVUVdBWHBSdldZMUhETytFb2RoSlNnNFpmbU9nQ2dBOVdiOHRxVG95YkljaE9XS29EZ3l0TjZzQ2NLVS96eDliVlRnWWh1Wm1raTRBZEt6MXJxUjhMK21GTUtTbno3SUEwS2VrREgrU051d01RM24yWEQ5OTFnV0FYajJWSWQxTE9oeUcyaEdEZ1FGZ0VKVzNxOVlPR1k2SElYdGJraTRBZE95M0RNWEk4RTRZc3Myay9QY3hBTkNiT0RKc2hlR3BETlV3TkU0WmhBRmdBR0ZrcUxmaGxERG9Bc0FBOHIya0U4SlErNDBNd2dEUXVUL1BQK1JoK08vRFMyRnd4QUF3bUhRdmFmdjlxdnZDRUtZRlhRQVl3Z2xoK0wzalY4TmdZQUFZUnUzMCthMHdWTit3S2d3QS9Wdjk5cmJWMENBTUFGTTVNUXcvYlJBR2dJRnRoQ0c4WDFVWUFDYndzVEQ0YlF3QVkzb09RK1czdHdrRHdFeUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQUNJUUJnRUFZQUFpRUFZQkFHQUFJaEFHQVFCZ0FDSVFCZ0VBWUFBaUVBWUJBR0FBSWhBR0FRQmdBQ0lRQmdFQVlBQWlFQVlCQUdBQUloQUdBUUJnQS90ZmV2V2paYlNOWEFPMzUvNDlXb2pISHQrdVNCQWtTQlBIWWUwMXNPcEs3VjZ6TE9pa2N5RU1nR0FBSUJBTUFnV0FBSUJBTUFBU0NBWUJBTUFBUUNBWUFBc0VBUUNBWUFBZ0VBd0NCWUFBZ0VBd0FCSUlCZ0VBd0FCQUlCZ0FDd1FCQUlCZ0FDQVFEQUlGZ0FDQVFEQUFFZ2dHQVFEQUFFQWdHQUFMQkFFQWdHQUFJQkFNQWdXQUFJQkFNQUFTQ0FZQkFNQUFRQ0FZQUFzRUFRQ0FZQUFnRUF3Q0JZQUFnRUF3QUJJSUJnRUF3QUJBSUJnQUN3UUJBSUJnQUNBUURBSUZnQUNBUURBQUVnZ0dBUURBQUVBZ0dBQUxCQUVBZ0dBQUlCQU1BZ1dBQUlCQU1BQVNDQVlCQU1BQVFDQVlBQXNFQVFDQVlBQWdFQXdDQllBQWdFQXdBQklJQmdFQXdBQkFJQmdBQ3dRQkFJQmdBQ0FRREFJRmdBQ0FRREFBRWdnR0FRREFBRUFnR0FBTEJBRUFnR0FBSUJBTUFnV0FBSUJBTUFBU0NBWUJBTUFBUUNBWUFBc0VBUUNBWUFBZ0VBd0NCWUFBZ0VBd0FCSUlCZ0VBd0FCQUlCZ0FDd1FCQUlCZ0FDQVFEQUlGZ0FDQVFEQUFFZ2dHQVFEQUFFQWdHQUFMQkFFQWdHQUFJQkFNQWdXQUFJQkFNQUFTQ0FZQkFNQUFRQ0FZQUFzRUFRQ0FZQUFnRUF3Q0JZQUFnRUF3QUJJSUJnRUF3QUJBSUJnQUN3UUJBSUJnQUNBUURBSUZnQUNBUURBQUVnZ0dBUURBQUVBZ0dBQUxCQUVBZ0dBQUlCQU1BZ1dBQUlCQU1BQVNDQVlCQU1BQVFDQVlBQXNFQVFDQVlBQWdFQXdDQllBQWdFQXdBQklJQmdFQXdBQkFJQmdBQ3dRQkFJQmdBQ0FRREFJRmdBQ0FRREFBRWdnR0FRREFBRUFnR0FBTEJBRUFnR0FBSUJBTUFnV0FBSUJBTUFBU0NBWUJBTUFBUUNBWUFBc0VBUUNBWUFBZ0VBd0NCWUFBZ0VBd0FCSUlCZ0VBd0FCQUlCZ0FDd1FCQUlCZ0FDQVFEQUlGZ0FDQVFEQUFFZ2dHQVFEQUFFQWdHQUFMQkFFQWdHQUFJQkFNQWdXQUFJQkFNQUFTQ0FZQkFNQUFRQ0FZQUFzRUFRQ0FZQUFnRUF3Q0JZQUFnRUF3QUJJSUJnRUF3QUJBSUJnQUN3UUJBSUJnQUNBUURBSUZnQUNBUURBQUVnZ0dBUURBQUVBZ0dBQUxCQUVBZ0dBQUlCQU1BZ1dBQUlCQU1BQVNDQVlCQU1BQVFDQVlBQXNFQVFDQVlBQWdFQXdDQllBQWdFQXdBQklJQmdFQXdBQkFJQmdBQ3dRQkFJQmdBQ0FRREFJRmdBQ0FRREFBRWdnR0FRREFBRUFnR0FBTEJBRUFnR0FBSUJBTUFnV0FBSUJBTUFBU0NBWUJBTUFBUUNBWUFBc0VBUUNBWUFBZ0VBd0NCWUFBZ0VBd0FCSUlCZ0VBd0FCQUlCZ0FDd1FCQUlCZ0FDQVFEQUlGZ0FDQVFEQUFFZ2dHQVFEQUFFQWdHQUFMQkFFQWdHQUFJQkFNQWdXQUFJQkFNQUFTQ0FZQkFNQUFRQ0FZQUFzRUFRQ0FZQUFnRUF3Q0JZQUFnRUF3QUJJSUJnRUF3QUJBSUJnQUN3UUJBSUJnQUNBUURBSUZnQUNBUURBQUVnZ0dBUURBQUVBZ0dBQUxCQUVBZ0dBQUlmZ2ZEci8vY0Q0YXZiQkFNQUowUURBQUVCWU5oRlFpQ0FhQkRCOEh3cTMwUURBQlRFQXdBQlBlRDRaOWgvenNZdGk0bUNRYUFUcVNDNFZlL0lCZ0FKdkhuM3o5dXJ3dGxndUdURElJQm9IR1BCc08vZnhZTUFOMDRHUXgvZnYzay96NmREWVovSHAwbEFYVGp6KzgvYkJRTXYzOGJRMDR3L1BoM1lnRDA2WGYzTEJnQUNDZEpXK2RJMjcveGVUOFlkdTRrL1NmOFBBQ2F0Vmt4L0J6K0d6Rk9CY1AydFNUSkFOQzB6WXJoZmpERWJIQ1dCTkNOalpPa1U3ZFZONEloY1MwcEJvTmtBR2hZb21LNEd3dy9HNy94MmNvQTBMaGZkNDMrZlA4bkhpTmRDb2Fka2tFeUFEUnIreVJwcjJMWURZWkUrN3gxTDBrd0FMUXFMZ3g3cVhBcEdIWitHNE9WQWFCbGZ6NS9XdDlYM2FnWVRnVEQzbG5TMThvZ0dRQ2F0TE13YlAzZXR1K0tZU3NZdGt1RzcwdEpEcE1BbW5XME1QektocXhnU0Y5S3NqSUF0T3BYTGh3R3crb2s2U3NZdGt1RzFNb2dHUUJhczUwTHFaT2t3MkE0VGdYSkFOQ3NqVnhJYkF0NXdTQVpBUHJ6NS9lZlF5ajhmUDNYODJ4WERMbkJFQTZUL28wRTBRRFFpcTFjeUZvWXZvTmhkV0UxdVRKSUJvQzIvQWtQcTF6NFoyZTRFZ3liSzBNeUdVUURRQU4yYzJIM1B0TDZKT24vZ3lITzlGL3pmbnRsa0F3QWpmb1RuLzczaCs5Y09GZ1lkb0xoYTJXUURBRHRpK3ZDZHZtOHVUQjhuU1Q5ZkFWRGFtVTRTQWJSQVBDZXIzVmgrM2N4ZkM4TG13dkRUakRzcmd5U0FhQkY1M0xoeE1Ld0VReGZLOFB1MnZEN3R6S0lCb0IzZlIwajdWOUsybGdZcmdSRDZpUkpNZ0M4N250ZGlDdkIxczZ3dnpEc0IwTm1NdWlnQVY2emU0eTBud3Y3QzhOV01IeTNESWxVMkV3RzBRQlEwK2E2OEgxWGRmTVFhWE5oT0FxRzd4aEl0cytXQm9ENjluTmg0MzgyY3VGVU1PUWtnNlVCNEZXYnJmTlJMaVFPa25hQ0lUOFpkTkFBYjBnZkl5VnpJUmtNeHl2RFhqb2tqcE5FQThEak5sdm4yN213R1F5SHllQTRDZUIxMit2QytyeG84d3hwTHhkMmcrRktNdWlnQVdyS08wYjY3aFl1QjhPSlpMQTBBTHhodjNXK2xRdjd3UkNIL0c0eTZLQUJYbkd3TGx6UGhTVVlMaVREMmVNazBRRHdnQk90ODM0MmZQNzI3WVZoTnhnU3llQTRDZUJOR2ExemJpNmNDb2J2WkRoNW5LU0RCbmhJN2pGU1RpNzhHd3pYa3NIU0FGQmZZbDNZUDBZNm5Rc0h3ZkNWREVlcG9JTUdlRjdPdW5BeEYxTEI4SDBjdEgyY3BJTUdxT2JFSmRYMFRhUjBMdndLaHN2SjREZ0pvSjZ6NjhMdU1kSlJMcHdJaHMxa3lEbE8wa0VERkhOd1NmWDhNVkk2RjliL3YzMzBQZGdQanBNc0RRQVB5VzZkZDQrUmRuUGhYRERzVjlBNmFJQ0ticmZPcDNQaGUrNXZPSGVjdFBGZ2FRQW81VkxybkZVdmZIN2tSQWx3Zkp5a2d3WjRVbmJyZk9FWWFTTVlMaWREVmdjdEdnQ3kzVzZkczNMaDk2Qk96T3pkNHlSTEE4RER6clRPZTVGd0pSZkNuRDZmREhlV0Jza0FrT0ZHNjV4eGpQVDd4OEtZUHBNTU9SMjBwUUhncG5LdDg3bDE0ZWQ3U0tkRzl2VU8yc1ZWZ0d1eVcrZmI2OExQZWtiWE9VNFNEUUFuSExUT2lZZWNkZUg3eDFZVE9tTnAwRUVEUENqUk9oOUd3dFZqcEwvV0EvcjZjWklPR3FDYytxM3pZbXMrNjZBQlh2ZEM2N3pZbk00NmFJQjN2ZEk2TDNhRzgvME9laU1lTEEwQTU5UlpGM1orYkc4MDY2QUIzcEs5TG53ZTdoNGovYlUvbWV0Y1hKVU1BRjhPTHFrKzF6b3ZUaFhOaVIvYlhScDAwQUJYSkM2cFB0MDZMMDVOLzlTUEhYZlEyMHVEWkFEWThOb2wxWS8wVkM3WVFYOGVMQTBBZTE1dG5SY0hNMWtIRFZEUC9kWjU5UlhTMzJiVDRValdRUU5VY3FOMUxyWXUvSnlaeURwb2dCcmViNTBYSitieDlRN2EwZ0J3VmdPdDgrTFVPTTQ5VGpxOG1XUnBBSWhhYUowWDU0YnhNeDIwaTZzQS8yaWpkVjZjbmNWMU9talJBRXpwb0hWT1BCUmZGMzR5SnJHTHF3RFBPTk02NzBWQzBkWjVjWDRRNjZBQm50Qk82N3pJbWNObmpwTldTNE1PR2lDbFR1dDhQaFl5cC9EMXBVRUhEYkFsdTNWK2VsMzR5UjdDT21pQWd0cHFuUmU1STFnSERWQktvblUrZVVtMStESFNYOWtUV0FjTlVFWnpyZlBpd2dEV1FRUGNkK2FTYXVYV2VYRmwvQmJxb0xlWEJza0FUS0hWZGVIbjZ2UzkzMEZ2dEEyV0JtQWVkUzZwWHNxRnE3TlhCdzF3WGZZbDFWWHJ2UG9LNlcrVDVmTG9yWE54VlRJQUF6cTRwSm82Um5wOFhmaTVNM252TFEwNmFHQlc3YmJPaXh0elZ3Y05rSy9oMW5seGErem1IaWNkcFlJT0doaGV5NjN6NHQ3UTFVRUQ1R2k3ZFY3Y25ibDFPbWpSQUF5aDhkWjVjWHZpV2hvQXpqblRPdTlGUXBYV2VYRi80Rjd2b0YxY0JXYlNmdXU4S0RGdnp4d25yWmFHMU0wa1N3TXduanF0OC8xWUtEUnRDMTFjL1E0RkYxZUJZV1Mzem0rdEN6L0ZocTBPR2lEaG9IVk9QTlJzblJlbFJxME9HbUJQb25VK2pJVEt4MGgvRlp1ME9taUFiZDIwem91Q2cxWUhEYkNobjlaNVVYTE02cUFCdnZYVU9pL0tUdG43SGZSR1BGZ2FnSDdWV1JlSzVrTHBHYXVEQnZqSVhoYytEeThkSS8xVmZNVFd1YmdxR1lBT0hGeFNiYTUxWHBTZnNQZVdCaDAwTUlyRUpkVkdXK2ZGQS9PMVVBZTl2VFJJQnFBVHZWMVMvWGhrdkJic29EOFBsZ2FnSnoyMnpvdG5ocXNPR3BqYi9kWjU5UlhTMzZha3AyYXJEaHFZMkkzVytlMTE0ZWZCMGFxREJtYlZiZXU4ZUc2d1h1K2dMUTFBei9wdG5SZFB6dFhjNDZURG0wbVdCcUI5SGJmT2kwZW5xZzRhbUUzWHJmUGk0YUZhcDRNV0RVQWpEbHJueEVNcjY4TFA4eVBWMGdETTQwenJ2QmNKTGJUT2k4Y25xZzRhbUVYM3JmT2l3a0E5YzV5MFdocDAwRUJ2NnJUT2o4ZENuWEY2ZldsSUhTZkYxZUhnMndBOExMdDFiblJkK0trMVRYWFF3T0NHYUowWGxXYXBEaG9ZV2FKMVBubEp0WlZqcEw5cWpWSWROREN1VVZyblJiMUpxb01HeG5UbWttb2ZyZk9pNGh3dDFFRnZMdzJTQVhqSllPdkNUK1V4ZXIrRDNtZ2JMQTNBbStwY1VxMlpDNVdIcUE0YUdFdjJKZFZWNjd6NkN1bHZVMFB0R1ZybjRxcGtBS280dUtTYU9rWnFkVjM0ZVdHRTNsc2FkTkJBTzRacm5SZjFCNmdPR2hqRGVLM3o0bzM1V2JDRC9qeFlHb0M2Qm15ZEY2OU1UeDAwMExzaFcrZkZTOE96VGdjdEdvQ0hqTms2TDk0YW5aWUdvRjluV3VlOVNHaTVkVjY4TmptdmQ5QXVyZ0x2R3JaMVhydzRPSE9Qa3c1dkpsa2FnQnJxdE02dnhjSzdZN1BReGRYdlVIQnhGWGhRZHV2YzJicnc4L2JVMUVFRG5UbG9uUk1QSGJUT2k1ZG5wZzRhNkVtaWRUNk1oRDZPa2Y1NmUyVHFvSUYrak40Nkw5NmZtR2VPazFaTGd3NGFxRy80MW5uUndMelVRUU05bUtCMVhqUXhMdTkzMEJ2eFlHa0FTcXF6THJTUUM0ME1TeDAwMExic2RlSHowTmN4MGwrTnpFb2ROTkN5ZzB1cW83VE9pMlpHNWIybFFRY05QQ2R4U1hXczFublJ6cUFzMUVGdkx3MlNBYmhza2t1cUh5M055WUlkOU9mQjBnRGNNMUhydkdocVN1cWdnZGJjYjUxWFh5SDliUnJRMkpDOHZ6VG9vSUdDYnJUT25hNExQKzNOU0IwMDBJN1pXdWRGY3hQU3hWV2dGZE8xem9zR0IyVHVjZExoelNSTEEzREZmSzN6b3NYeHFJTUczamRqNjd4b2N6clc2YUFiL1Q4ZWFNRkI2NXg0Nkh4ZCtHbDJObG9hZ0RlZGFaMzNJcUhqMW5uUjZtalVRUVB2bWJWMVhyUTdHYzhjSjYyV0JoMDBjRitkMXJuVldHaDZMbDVmR2xMSFNYRjFPUGcyd0lTeVcrZXgxb1dmeHNlaURocW9idWJXZWRIMlVOUkJBM1VsV3VlVGwxUTdQMGI2cS9HWnFJTUdhcHE4ZFY0MFB4SjEwRUF0Wnk2cER0MDZMOW9maUlVNjZPMmxRVElBLzdJdUxIcVloL2M3NkkyMndkSUFSSFV1cVhhUUMzMU1ReDAwOExUc1M2cXIxbm4xRmRMZnBtR2RETU02RjFjNytZY0JsSGR3U1RWMWpEVFl1dkRUenl5OHR6VG9vSUVVclhQUXpTUjg5T0txWklDcGFaMmpqZ1pod1E3NjgyQnBBTFRPWDNvYWd6cG9vRHl0ODBwZlU3Qk9COTNaUHhUZ0RxM3pXbWN6ME5JQWxIU21kZDZMaEFGYjUwVnZJL0RSRHRyRlZaaU0xbmxUZnhQd3pISFNhbWxJZE5DV0JwaFduZGE1dDFqb2N2NWRYeHBTeDBrdXJzSnNzbHZuT2RhRm4wN0hudzRhdU8yZ2RVNDhqTnM2TC9vY2ZqcG80SjVFNjN3WUNVTWZJLzNWNmV6VFFRTjNhSjFUdWgxOU9tamdNcTF6VXIrRHIxQUh2YjAwU0FZWW1OYjVRTTl6NzM0SHZkRTJXQnBnZEhYV2hZNXpvZStwcDRNR2NtV3ZDNStIS1k2Ui91cDc2T21nZ1R3SGwxUW5iNTBYdmMrOFN4MTBLaFVzRFRDd3hDVlZyZk5IOXhOUEJ3MmM1WkxxT1FNTXZJSWQ5T2ZCMGdEajBUcWZOTUs0MDBFRHgrNjN6cXV2a1A0Mi9ScGoydDFmR25UUU1MZ2JyZk5jNjhMUE1NUHUzdEtnZzRiUmFaMXpqRExxWEZ3RjltbWRzNHd6NlhLUGt3NXZKbGthWUJSYTV6d0R6VGtkTkxCRjY1eHJxREZYcDRNZTY1OFpETytnZFU0OHpMa3UvSXcyNUN3TlFKUm9uUThqWWI3V2VUSFlqTk5CQTc5cG5hOFlic1NkT1U1YUxRMDZhQmhUbmRaNXNGZ1ljY0JkWHhwU3gwbHhkVGo0TmtBVHNsdG42OEkvUnB4dk9tamdKNjkxZGtuMXR5R25tdzRhMERwZk4rWncwMEhEN0xUT040dzYyM1RRTUxQRXVxQjFQamJzWkN2VVFXOHZEWklCbW1aZHVHZmd3WGEvZzk1b0d5d04wTDQ2bDFUSHpZV2h4NW9PR21hVWZVbjE4L0M5THN4NGpQVFgyRk90enNYVnNmOFpRbWNPTHFtbWpwR3NDNHZCaDlxOXBVRUhEYjNST3BjdytralRRY05NdE01RmpEL1JDbmJRbndkTEE3Ukk2MXpHQlBOTUJ3MXowRHFYTXNVNHE5TkJ6L0hQRXBwMTBEb25IcXdMWCtZWVpqcG9HTjJaMW5rdkVyVE9YeWFaWmRjN2FCZFhvUWRhNTVLbUdXVm5qcE5XUzBQcVpwS2xBZHBScDNXZUpCWm1HbVNGTHE1K2g0S0xxL0M2N05iWnVwQTIweHpUUWNPUXRNNmxUVFhGWEZ5RjhTUmE1OE5JY0l5MGJhNGhwb09HMFdpZEh6RGJETk5CdzFDMHprK1lib0lWNnFDM2x3YkpBRlZwblo4eDRRQzczMEZ2dEEyV0JxaXZ6cm93WHk1TU9iNTAwRENDN0hYaDgrQVlLVzNLNmFXRGh2NXBuWjh6NmZDNjFFR25Vc0hTQUZVbExxbHFuVytiZFhUcG9LRm4xb1ZIelR1NUNuYlFud2RMQTlTZ2RYN1d4SE5MQncxOXV0ODZyNzVDK3R0TVorcXhkWDlwMEVGRGRkOVQvV3RkU0IwaldSZk9tWHRxM1ZzYWROQlFuOWE1Z3NsbmxvdXIwQmV0Y3czVGo2emM0NlREbTBtV0JuaU8xcmtLQTBzSERiM1FPbGRpWHRYcW9QMmpocHNPV3VmRWczVWhqMm4xWTJtQUhpUmE1OE5JMERybk1heiswa0ZENjdUT0ZabFYvemh6bkxSYUduVFFVRXVkMWxrcy9NT2tXbHhmR2xMSFNYRjFPUGcyd0k3czF0bTZjSXRCOVM4ZE5EUXFwM1YyU2JVQVkrcERCdzB0MGpwWFowcjlvb09HOW1pZDZ6T2tBaDAwdENXeExtaWRIMk5FUllVNjZPMmxRVEpBSnV2Q0sweW9iL2M3NkkyMndkSUFWOVM1cENvWHZwbFBLenBvYUVQMkpkWFB3L2U2NEJncGkvRzBvYzdGVmYvb0llbmdrbXJxR01tNmNJL3B0T1hlMHFDRGh2dTB6aTh5bXpicG9PRmRXdWMzR1UwN0NuYlFud2RMQTV5amRYNlZ3YlJIQncxdjBUcS96RnphVjZlRDlrc0FYdzVhNThTRGRhRU1VeWxCQnczMW5XbWQ5eUpCNjF5R29aUnl2WU4yY1JXdTBUbzN3RXhLTzNPY3RGb2FVamVUTEEyUW9uVnVnWWwwb05ERjFlOVFjSEVWTm1TM3p0YUZSeGhJaDNUUVVJbld1UkhHMFRFWFY2R0dST3Q4R0FsYTU2Sk1veE4wMFBBOHJYTTdES05UZE5Ed3NEcXRzMWc0eFNnNnAxQUh2YjAwU0FhbXAzVnVpa2wwMXYwT2VxTnRzRFRBWHk2cHRzVWNPazBIRGMvSVhoYytENDZSSG1FTW5hZURoaWZjYUoydEM4OHdoWExjV3hwMDBMQ1d1S1NxZFg2TEdaUkZCdzFsdWFUYUlpTW9VOEVPK3ZOZ2FXQldXdWNtR1VDNWROQlF5djNXZWZVVjB0K0djOHlmZlBlWEJoMDAvS3luK3RlNm9IVitqZkZ6Z1E0YTd0TTZ0OHZ3dWNMRlZiaEw2OXd3cytlYTNPT2t3NXRKbGdibW9uVnVtY2x6a1E0YXJ0TTZ0ODNndWF4T0IrMVhpQUVkdE02SkIrdENGY2JPZFpZR3VDTFJPaDlHZ3RhNUNsUG5CaDAwNU5NNnQ4L1F1ZVhNY2RKcWFkQkJNN002cmJOWXVNWEl1ZWY2MHBBNlRvcXJ3OEczZ1k1a3Q4N1doVGVZT0hmcG9PRTByWE1mekp2YmROQndqdGE1RjhiTmZUcG9PRVByM0EzVHBnUWROQnhKckF0YTU5YVlOVVVVNnFDM2x3Ykp3QUNzQ3oweGFncTUzMEZ2dEEyV0JrWlI1NUtxWENqRW9DbEZCdzE3c2krcGZoNisxd1hIU0RXWU0rWFV1YmpxVjR6dUhGeFNUUjBqV1JkZVljd1VkRzlwMEVFekpxMXpmd3laa25UUThFM3IzQ0V6cHF5Q0hmVG53ZEpBdjdUT1BUSmhDdE5CdzRmV3VVOEdUSEU2YUZnY3RNNkpCK3ZDcTh5WDhuVFE4TmVaMW5rdkVyVE9yekpkSG5DOWc3WTBNQTZ0Yzc4TWwwZmtIaWNkM2t5eU5OQ2JPcTJ6V0hpRTBmS01RaGRYdjBQQnhWVTZrZDA2V3hkYVlySThwVTRIN1JlUUptbWQrMmF1UE1iRlZXYVZhSjBQSThFeFVndU1sZWZvb0ptVDFybDdwc3FUemh3bnJaWUdIVFI5MHpyM3oweDVsQTZhMldpZFIyQ2tQT3grQjcwUkQ1WUdXbFZuWFpBTER6TlFucWFEWmg3WjY4TG53VEZTUzh5VDU5VzV1T3BYa3RmZGFKMnRDMDB4VGlxNHR6VG9vT2xENHBLcTFya3poa2tOaFRybzdhVkJNdEFFbDFRSFlwYlVVYkNEL2p4WUdtaUgxbmtrSmtrbE9taEdkcjkxWG4yRjlMZmhVUVpKTlRwb2h2VTkxYi9XQmExemI4eVJlblRRak9sTTY3d1hDVnJuSnBraUZWM3ZvQzBOdEV2clBCNURwS3JjNDZURG0wbVdCdDVXcDNVV0MxVVpJWFVWdXJncUdXaUUxbmxJSmtodGRUcG92N0JVY2RBNkp4NjB6aTB6UDZwemNaVlJKRnJudzBod2pOUXk0Nk0rSFRSajBEb1B5L1I0dzVuanBOWFNvSU9tTFZybmNaa2RyM2ltZzQ2cnc4RzNnVnV5VzJmclFrZU1qcGZvb09sYVR1dDhmVjJRQ3k4eE9ONmlnNlpmV3VmQm1SdXYwVUhUSzYzejZJeU5GK21nNlZGaVhkQTZEOExRZUZPaERucDdhWkFNUEVMclBBRXo0MTMzTytpTnRzSFN3SFBxWEZLVkMrOHlNVjZtZzZZbjJldkM1K0Y3WFhDTTFEQUQ0M1YxTHE3NmhhYUFnMHVxcWRiWnV0QVQ4K0o5OTVZR0hUUzFhSjJuWVZvMFFBZE5EMXhTbllkaDBZU0NIZlRud2RKQVNWcm5pUmdWYmRCQjB6YXQ4MVJNaWxiVTZhRDlnblBKUWV1Y2VMQXU5TWljYUlZT21sYWRhWjMzSWtIcjNDTmpvaDNYTzJnWFYzbVMxbms2cGtSTHpod25yWmFHMU0wa1N3UDMxV21keFVKTHpJaW1GTHE0K2gwS0xxNXlXWGJyYkYwWWdCSFJHQjAwVGRFNlQ4bUFhSTJMcTdRajBUb2ZSb0pqcEk2WkQ4M1JRZE1LcmZPc2pJY0c2YUJwZ3RaNVdvWkRpM1RRdkUvclBER3pvVTMzTytpTmVMQTBjRjZkZFVFdXRNbGthSlFPbWpkbHJ3dWZCOGRJQXpBWW1sWG40cW9QQUJzT0xxbW1XbWZyd2dqTWhYYmRXeHAwMEZ5VnVLU3FkWjZEcWRDd1FoMzA5dElnR2RqaGtpcUdRdE1LZHRDZkIwc0RLVnBuaklURzZhQ3A2MzdydlBvSzZXOURpMHlFMXVtZ3FVanJ6RjhHUXZOMDBOUnlwblhlaXdTdDgwaU1nL1pkNzZBdERlVFFPck13RFhxUWU1eDBlRFBKMHNCYW5kWlpMUFRBTE9oQ29ZdXJrb0ZkV21jK2pJSk8xT21nZlI2bWRkQTZKeDYwemdNeUNIcmg0aXJQU2JUT2g1SGdHR2xBNWtBM2ROQThSZXRNWkF4MDVNeHgwbXBwMEVGelJPdk1GME9nSjg5MDBIRjFPUGcyRENlN2RiWXVqTThNNk12OURub2pIaXdOTTh0cG5hK3ZDM0toTHlaQVozVFFsS1IxWm9zQjBCc2ROT1ZvbmRuay9lK1BEcG95RXV1QzFubHUzdjRPRmVxZ3Q1Y0d5VEFONndKN3ZQeGRLdGhCZng0c0RYT3BjMGxWTG5USnE5OG5IVFQzWkY5Uy9UeDhyd3VPa2NianplL1YvYVZCQnoyeGcwdXFxV01rNjhJRXZQamR1cmMwNktCbnBuVW16V3ZmcjBjdnJrcUdnV21kT2VDdDc1a09tZ3Uwemh6eHpuZE5CMDB1clRQSHZQS2QwMEdUUmV2TUNkNzQzdW1nT2U5TTY3d1hDVnJuaVhqZnUvZG9CMjFwR0lyV21YTzg3Z000YzV5MFdob1NIYlNsWVZCMVdtZXhNQUF2K3dpdUx3MnBEdHJGMWJGa3Q4N1doWGw1MThkUXA0UDJjZW5ZUWV1Y2VOQTZ6OGViUGdnWFYwbEp0TTZIa2VBWWFUNWU5Rkhvb05tbmRTYUw5M3djT21oMmFKM0o0eTBmaUE2YUxWcG5jbm5KaDNLL2c5NklCMHREMytxc0MzSmhLRjd4c2VpZ2liTFhoYytEWTZSNWVjTkhVK2ZpcXM5Tkp3NHVxYVphWit2Q3hMemd3N20zTk9pZ1I1SzRwS3AxSnNIclBaNUNIZlQyMGlBWk91S1NLaGQ1dTBkVXNJUCtQRmdhZXFOMTVpcnY5cEIwME54dm5WZGZJZjF0R0loWGUxQTY2TWxwbmJuQm16MHFIZlRNenJUT2U1R2dkY1o3UGE3ckhiU2xvWGRhWis3eFdnOHM5empwOEdhU3BhRVBXbWR1OGxLUHJOREYxZTlRY0hHMWFWcG5idk5PajYxT0IrMWoxSkNEMWpueFlGM2dmN3pSZzNOeGRTNkoxdmt3RXJUTy9JOFhlblE2Nkpsb25TbkMrenkrTThkSnE2VkJCOTJqT3EyeldCaWZ0M2tDT3VnNVpMZk8xZ1YyZUptbmNMK0Qzb2dIUzBOYmNscG5sMVJKOGlyUFFRYzlPcTB6QlhtVEo2R0RIcHZXbVpLOHlOUFFRWThyc1M1b25ibkFhenlQUWgzMDl0SWdHVjVrWGFBd2IvRk1DbmJRbndkTHc5dnFYRktWQ3pQeERrOUZCejJlN0V1cW40ZnZkY0V4RWd1djhHVHVMdzA2NktZY1hGSk5IU05aRjlqakRaN052YVZCQjkwV3JUT1A4UDVPNTlHTHE1S2hLcTB6ei9ENlRrZ0hQUWl0TXcveDhzNUlCejBDclRPUDhlN09xVTRIN2VQMUlLMHp6L0htVHNyUzBMY3pyZk5lSkdpZE9lTEZuZFdqSGJTTHF3L1RPdk1vNysyOHpod25yWmFHUkFkdGFhaW1UdXNzRnVibHJaM1k5YVVoZFp6azR1clRzbHRuNndLWnZMUlQwMEYzNktCMVRqeG9uVG5KS3pzM0hYUnZFcTN6WVNRNFJ1SWtiK3prZE5COTBUcFRneGQyZWpyb2ptaWRxY0xyaWc2NkYxcG5LdkcyVXFLRDNvZ0hTME5wZGRZRnVZQjNsZi9TUWJjdmUxMzRQRGhHSXBOWGxmK3FjM0hWeCsyeWcwdXFxZGJadWtBdWJ5ci91TlJCcDFMQjBsQlE0cEtxMXBueXZLY3NDblhRMjB1RFpMakZKVlhxOHByeXI0SWQ5T2ZCMG5DZjFwbkt2S1I4NktCYmRMOTFYbjJGOUxjQjd5aS82YUNibzNXbVBxOG93YjJsUVFkZDJwbldlUzhTdE01YzVRVWx1dDVCbjFnYUpFTW1yVE92OEg3eUxmYzQ2ZkJta3FYaEtxMHo3L0Iyc2xMbzR1cDNLRmdhTW1tZGVZdVhrdzExT21pZnZxU0Qxam54WUYzZ0pxOG1XMXhjZlZ1aWRUNk1CSzB6TjNrejJmUm9CKzNpNmlHdE0yL3lZckxqekhIU2FtblFRWmRScDNVV0MrendXckpIQi8yVzdOYlp1a0JaM2tyMjNlK2dOK0xCMG5Ba3AzVjJTWlVuZUNkSjBFSFhkNjExL3JQK08zNlNzMThza09DVkpFVUhYWnZXbVFaNEkwblRRZGVVV0JlMHp0VGpmZVJBb1E1NmUybVFESUYxZ1RaNEhUbFVzSVArUEZnYTF1cGNVcFVMSFBJeWNrd0hYVVAySmRWVjY3ejZDdWx2QTNzbWZ4YzU2ZjdTb0lNK2NIQkpOWFdNWkYyZ3NLbGZSYzY3dHpUb29JOW9uV25KdEM4aW1SNjl1RHA5TW1pZGFjcWs3eUVYNktBZm8zV21MVE8raFZ5a2czNkcxcG5XVFBjU2NrZWREbnF5VDZYV21lYk05UXB5bDZXaHRET3Q4MTRrYUoxNXlFUnZJQ1U4MmtGUGVIRlY2MHlMcG5rQktlWE1jZEpxYVVoMDBGTXZEWFZhWjdGQXBqbGVQMHE2dmpTa2pwTm12TGlhM1RwYkY2aGpncmVQNG5UUVJSeTB6b2tIclRQUEd2M2Q0eEU2NlBzU3JmTmhKRGhHNGxsRHYzbzhSZ2Q5bDlhWmhnMzg1dkVvSGZRdFdtZGFOdXA3eCtOMDBOZHBuV25ia0s4ZGRkenZvRGZpWVlhbG9jNjZJQmU0Ykx5WGpucDAwRmRrcnd1ZkI4ZEkxREhZTzBkbGRTNnVEdlVwUGJpa21tcWRyUXRVTXRRclIzMlhPdWhVS2d5K05DUXVxV3FkYWNZd0x4d3ZLZFJCYnk4Tnd5V0RTNnAwWVpEM2pSY1Y3S0EvRDJNdURWcG4rakRDMjhiTGRORG4zRytkVjE4aC9XM2dvdTVmTmxxZ2d6NUI2MHczT24vWGFNUzlwV0dHRHZwTTY3d1hDVnBuS3V2NFRhTWwxenZvRTB2REFNbWdkYVluM2I1b3RDYjNPT253WnRKSVM0UFdtYTcwK1pyUm9rSVhWNzlEWVlDbFFldE1aenA4eTJoV25RNjZ1dy90UWV1Y2VMQXU4STdlM2pHYTV1THFXcUoxUG93RXJUUHY2T29WbzNtUGR0QmRYbHpWT3RPaGp0NHd1bkRtT0dtMU5JemJRZGRwbmNVQ1pmWHlmdEVOSGZSSGR1dHNYYUFKWGJ4ZTlPVitCNzBSRHowdURUbXRzMHVxTktUOWw0dis2S0QvdXRZNi8xbi9IVC9KMlM4V0tLL3hkNHMrNmFDMXp2U3M2VmVMZnMzZVFTZldCYTB6eld2MnhhSnpoVHJvN2FXaCtXU3dMdEMxUnQ4ckJsQ3dnLzQ4OUxFMDFMbWtLaGQ0U290dkZZT1l0WVBPdnFTNmFwMVhYeUg5YmFDdzVsNHFSbkovYWVpd2d6NjRwSm82UnJJdTBJYkczaWtHYzI5cDZMR0Qxam96Z0liZUtFYjA2TVhWQnBOQjY4d0ltbm1oR05WVUhiVFdtU0cwOFRveHNuazZhSzB6ZzJqZ2JXSjRkVHJvMXovTUI2MXo0c0c2UUZ2ZWZwZVl3Z3hMdzVuV2VTOFN0TTYwUlRCUXc2TWRkQk1YVjdYT0RFUXdVTWVaNDZUVjBwRG9vQnRiR3VxMHptS0JPZ1FEbFZ4ZkdsTEhTVzFjWE0xdW5hMExORTB3VU0yd0hiVFdtY0VJQnVvWnM0Tk90TTZIa2VBWWlTWUpCaW9hc1lQV09qTWV3VUJWdzNYUVdtY0dKQmlvcTFBSHZiMDBWRThHclROREVnelVkcitEM21nYjNsa2FjbHJuNit1Q1hLQTJ3VUIxbzNUUTJldkM1OEV4RWswVERMeWd6c1hWaHovY0IrdENxblcyTHRBMndjQWI3aTBOTFhUUWlVdXFXbWQ2SnhoNFJlOGR0RXVxakV3dzhKS0NIZlRub2RiU1VPZVNxbHpnSllLQnQvVGJRZDl2blZkZklmMXRvQzdCd0hzNjdhQzF6b3hPTVBDaUhqdm9NNjN6WGlSb25lbURZT0JOMXp2b0UwdkRJOG1nZFdZQ2dvRjM1UjRuSGQ1TWVuWnAwRG96QThIQXl3cGRYUDBPaFVlV0JxMHpjeEFNdks1T0IxM2dzMzdRT2ljZXJBdDBSVER3dmo0dXJpWmE1OE5JMERyVEZjRkFBeDd0b0F0ZFhOVTZNdy9CUUJQT0hDZXRsb2FhSFhTZDFsa3MwQVRCUUJ2YTdxQ3pXMmZyQWowVERMVGlmZ2U5RVE5bGxvYWMxdGtsVmZvbkdHaEdxeDMwL1V1cWpwSG9pMkNnSFcxMjBGcG5waU1ZYUVsN0hYVGlrcXJXbVZFSkJwcFNxSVBlWGhvdUpJTjFnUmtKQmhyVFZBZGQ1NUtxWEtBeGdvSFd0Tk5CMzIrZFYxOGgvVzJnRFlLQjl0eGZHczUwMEljZi9vTkxxcWxqSk9zQ1hSTU1OT2plMGxDbWc5WTZNeS9CUUlzZXZiajY2NHZ2ZngrdE14TVRETFNwWUFmOWVUaTlORlJhRitRQ2JSSU1OS3BTQjczMWZmNnNIclhPVEVVdzBLeEtIZlQzTjlxSmhjTklzQzR3RE1GQXUyb3REWisvaXJONlB4ZjJJa0hyekJBRUF3MTd0SU0rK3ZELytmMW5yVE16RVF3MDdjeHgwbXBwU0hUUVlXbElmdnhkVW1WZWdvRzJYVjhhVXNkSmg5R3dIUXVwYkxBdU1BN0JRT3NlN2FDM3YzdzRSWEpKbGVrSUJwcjNUQWU5R3cxZnMvM29rcXBqSk1ZakdHamZReDMwMXU5bVdOMVYxVG96SWNGQUQ1N3BvRk5mOW52Z2E1MlppR0NnQzRVNjZNOUQrczdxNzFHdmRXWTZnb0ZPM08rZ041ZUdqUys4cnA2MXpzeEZNTkNMNGgzMFp2MjhWejN2UERoR1lrU0NnWDRVdkxoNlZETGszRWl5TGpBYXdVQkg3aTBObXlYRDVwZjhyaGhjVW1VdWdvR2VsT3lnOTBxR1VER2tza0hyektnRUEzMHAxRUhIYVBqMzZUTy9OeW9HclRPekVBeDBwbEFIZmVhNmFtcG4rRjRYSENNeEVNRkFkNG91RGZ2WFZUY1dCT3NDY3hBTTlLZkEwdkIxbFBUdncrRnRWYTB6RXhBTWRPaDZCNzM3V3htaTVGR1MxcG5SQ1FhNmxIdWNsTmdYTW82U3JBdk1RVERRcDV0THc4NnRwQk5IU1ZwbnhpY1k2Tlc5RGpyL1ZwTFdtV2tJQnJwMXZZTys4QnZjSENNeEVjRkF2MjRjSjYyNzU3K1B2MmI1NXM2Z2RXWU9nb0dlblRsT1NpME5PMTloVlQ5YkY1aUtZS0JyMTVhR3IzMGhmcEZ3bEdSZFlFYUNnYzVkdXJpYXJwNS92cFlEclRPVEVRejA3bG9IdlZjOS85YzZGaHdqTVJQQlFQZXlqNU5XKzhMdnI3RDFPeG1zQzh4Rk1EQ0E3QTQ2N3lqSnVzQmtCQU1qeUY4YVVrZEptMHVEZFlGNUNBYkdrTkZCcjllRlgzL3orbDkxSVJlWWptQmdFQmVXaHRUZnN4Y0xqcEdZZ0dCZ0dCZVdodlJ2Y0Z2RmczV0JPUWdHeHBHek5JU2Z2SGtyYVNNV3JBdk1RVEF3a0ZQSmNMQXQvTTlHR2xnWG1JUmdZQ2luTHE1dTE4N0IxcElnRjVpRllHQXM1NWFHbmNkLy9ObDhGZ3ZNUXpBd21uTkx3Nm1QL2tiZmNQRFRZQVNDZ2VHY1hCcU9QdnpiaTBQNjU4RVFCQVBqU1g2cS83UDdGOEdmM2I5SS9VUVlnbUJnUkdlWGh1MmYraWY1bDZkL0RIb2xHQmpTK2FYaDkvOXVhOHduUjc5Y1lFaUNnVUZsUjhPbTlPU1hDNHhKTURDcTlHZjcxQ2RmTERBbndjQ3dqajdjR2JlU3J2dzRkRXN3TUxERGovZlJmMUhQUHJIQXdBUURJenYxK2Y3NlNhZEd2bHhnWklLQnNUM3pDWmNMREUwd01MZ0hQdUppZ2NFSkJvWlgra011RnhpZFlHQjhSVC9sWW9IeENRWW1VUEJqTGhlWWdHQmdDcVUrNkhLQkdRZ0c1bERra3k0V21JTmdZQmIzUCt0eWdVa0lCcVp4ODhNdUZwaUdZR0FpZHo3dWNvRjVDQWFtY3ZFREx4V1lpbUJnTnRtZmVhbkFiQVFEVXpyN3dSY0t6RWd3TUxQci85cHRHSmhnQUNBUURBQUVnZ0dBUURBQUVQd2ZVOTRoWWoxUU1OSUFBQUFBU1VWT1JLNUNZSUk9Ii8+PC9zeW1ib2w+PGcgbWFzaz0idXJsKCNtYTApIj48ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwuOTk5OTk5OTcsMCwtNCkiPjxzeW1ib2wgaWQ9ImltMiIgdmlld0JveD0iMCAwIDE1NjAgMjQ1NiI+PGltYWdlIHdpZHRoPSIxNTYwIiBoZWlnaHQ9IjI0NTYiIHhsaW5rOmhyZWY9ImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFCaGdBQUFtWUNBSUFBQUFNaURIbkFBQUFDWEJJV1hNQUFBN0VBQUFPeEFHVkt3NGJBQUEveTBsRVFWUjRuT3pZZ1JRQUlCQkFzZTZGa1ZQK09DSDBBVGFNelQ1M0FRQUFBTURQaUNRQUFBQUFDcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUFJQkZKQUFBQUFDUWlDUUFBQUlCRUpBRUFBQUNRaUNRQUFBQUFFcEVFQUFBQVFDS1NBQUFBQUVoRUVnQUFBQUNKU0FJQUFBQWdFVWtBQUFBQUpDSUpBQUFBZ0VRa0FRQUFBSkNJSkFBQUFBQVNrUVFBQUFCQUlwSUFBQUFBU0VRU0FBQUFBSWxJQWdBQUFDQVJTUUFBQUFBa0lna0FBQUNBUkNRQkFBQUFrSWdrQUFBQUFCS1JCQUFBQUVBaWtnQUFBQUJJUkJJQUFBQUFpVWdDQUFBQUlCRkpBQUFBQUNRaUNRQUFBSUJFSkFFQUFBQ1FpQ1FBQUFBQUVwRUVBQUFBUUNLU0FBQUFBRWhFRWdBQUFBQ0pTQUlBQUFBZ0VVa0FBQUFBSkNJSkFBQUFnRVFrQVFBQUFKQ0lKQUFBQUFBU2tRUUFBQUJBSXBJQUFBQUFTRVFTQUFBQUFJbElBZ0FBQUNBUlNRQUFBQUFrSWdrQUFBQ0FSQ1FCQUFBQWtJZ2tBQUFBQUJLUkJBQUFBRUFpa2dBQUFBQklSQklBQUFBQWlVZ0NBQUFBSUJGSkFBQUFBQ1FpQ1FBQUFJQkVKQUVBQUFDUWlDUUFBQUFBRXBFRUFBQUFRQ0tTQUFBQUFFaEVFZ0FBQUFDSlNBSUFBQUFnRVVrQUFBQUFKQ0lKQUFBQWdFUWtBUUFBQUpDSUpBQUFBQUFTa1FRQUFBQkFJcElBQUFBQVNFUVNBQUFBQUlsSUFnQUFBQ0FSU1FBQUFBQWtJZ2tBQUFDQVJDUUJBQUFBa0lna0FBQUFBQktSQkFBQUFFQWlrZ0FBQUFCSVJCSUFBQUFBaVVnQ0FBQUE0TEZqQndJQUFBQUFndnl0VnhpZ01GcEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRTFJNGRDQUFBQUFBSThyZGVZWURDQ0FBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQ0xTQUlBQUFCZ0VVa0FBQUFBTENJSkFBQUFnRVVrQVFBQUFMQ0lKQUFBQUFBV2tRUUFBQURBSXBJQUFBQUFXRVFTQUFBQUFJdElBZ0FBQUdBUlNRQUFBQUFzSWdrQUFBQ0FSU1FCQUFBQXNJZ2tBQUFBQUJhUkJBQUFBTUFpa2dBQUFBQllSQklBQUFBQWkwZ0NBQUFBWUJGSkFBQUFBQ3dpQ1FBQUFJQkZKQUVBQUFDd2lDUUFBQUFBRnBFRUFBQUF3Q0tTQUFBQUFGaEVFZ0FBQUFDTFNBSUFBQUJnRVVrQUFBQUFMQ0lKQUFBQWdFVWtBUUFBQUxDSUpBQUFBQUFXa1FRQUFBREFJcElBQUFBQVdFUVNBQUFBQUl0SUFnQUFBR0FSU1FBQUFBQXNJZ2tBQUFDQVJTUUJBQUFBc0lna0FBQUFBQmFSQkFBQUFNQWlrZ0FBQUFCWVJCSUFBQUFBaTBnQ0FBQUFZQkZKQUFBQUFDd2lDUUFBQUlCRkpBRUFBQUN3aUNRQUFBQUFGcEVFQUFBQXdDS1NBQUFBQUZoRUVnQUFBQUNMU0FJQUFBQmdFVWtBQUFBQUxDSUpBQUFBZ0VVa0FRQUFBTENJSkFBQUFBQVdrUVFBQUFEQUlwSUFBQUFBV0VRU0FBQUFBSXRJQWdBQUFHQVJTUUFBQUFBc0lna0FBQUNBUlNRQkFBQUFzSWdrQUFBQUFCYVJCQUFBQU1BaWtnQUFBQUJZUkJJQUFBQUFpMGdDQUFBQVlCRkpBQUFBQUN3aUNRQUFBSUJGSkFFQUFBQ3dpQ1FBQUFBQUZwRUVBQUFBd0NLU0FBQUFBRmhFRWdBQUFBQkxadkVWOVFyOHhSQUFBQUFBU1VWT1JLNUNZSUk9Ii8+PC9zeW1ib2w+PHVzZSB4bGluazpocmVmPSIjaW0yIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTU2MCIgaGVpZ2h0PSIyNDU2Ii8+PC9nPjwvZz48L2c+PGc+PGNsaXBQYXRoIGlkPSJjcDMiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gMzIgMjggTCAxNTI4IDI4IEwgMTUyOCAyNDIwIEwgMzIgMjQyMCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMykiPjxjbGlwUGF0aCBpZD0iY3A0Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDExMTIuMSA2ODAuNzU4NyBMIDEwOTguOTM2IDY3MS4xNzY4IEwgMTA5Ny4xNiA2ODcuNjMxMyBDIDEwOTIuMjc4IDY2NS41NTc2IDEwODYuMjA3IDY0My41NzE5IDEwNzguNjM0IDYyMi45Mzc3IEMgMTA2MS4yNTkgNTc1LjU0OCAxMDMwLjU1NiA1MzkuNjM2MyA5OTEuMjg0NCA1MTguMzY1MSBDIDk4OC45ODM2IDQwNC43NTggODgzLjYzNDkgMzQzLjQ2NjcgNzg0LjM3NTEgMzQzLjQ2NjcgQyA2ODQuMjkyMyAzNDMuNDY2NyA1NzguMDYwOSA0MDQuNzA4NyA1NzUuNzIwNSA1MTguMjc2NCBDIDUzNi4zNjk2IDUzOS41ODcgNTA1LjYyNjggNTc1LjQ5ODcgNDg4LjIzMjMgNjIyLjkzNzcgQyA0NzkuMjQzNSA2NDcuNDY3NCA0NzIuMzQ0NSA2NzMuODY4MiA0NjcuMDM2NCA3MDAuMDc1OSBMIDQ2My42MzQyIDY2OC40OTM2IEwgNDU1LjE4NTggNjc0LjQzMTkgTCA0MjEuMjcyNCAzNjAuNDkxNSBMIDM0NS40MjY4IDQxMy42NTQ2IEwgNDAwLjUxNiA5MjMuNzU4NyBDIDM1OS42MTgxIDk3Ny4wNTk4IDMxMS4yNjI2IDEwNDMuNTYzIDI5OC42OTc3IDEwNzUuNzcgQyAyNzguNTM2MyAxMTI3LjI3OCAzMDQuMjAxNiAxMzkwLjgyOCAzMTcuNjQ5MSAxNTEyLjE1OSBMIDIzMy41NjI1IDE3MzQuNjg0IEwgMjMzLjU2MjUgMTc0MS45MzUgQyAyMzMuNTYyNSAxODUwLjgyMyAzNzYuMjY5NCAyMTI5LjQwMSA0MjQuMzU4IDIyMjAuMzAxIEMgNDUwLjYzMDYgMjI3My4yNSA0NzIuMjgzNSAyMzEzLjYzIDQ3OC4zMjU2IDIzMjQuODQzIEwgNTMwLjQyNzYgMjQyMCBDIDUzMC40Mjc2IDI0MjAgNTc4LjAxMTggMjA4OS4yOTggNTc3Ljk3NzEgMjA4OS4wMDQgTCA2MDMuNjMyOCAxOTEwLjM0OSBMIDYyNy40NzUxIDE3MTMuNjkyIEMgNjU2LjQwNTkgMTcyMi45ODMgNjk3LjcwNzEgMTczMy45ODMgNzQyLjE4OTkgMTczOC41ODYgQyA3NTMuOTI5MyAxNzY3LjA0OSA3NjYuNjU1NiAxNzg1LjkyNCA3ODAuNjI1IDE3ODUuOTI0IEMgODA3LjA0OTkgMTc4NS45MjQgODMzLjM4OTIgMTc2MS4xODMgODU3LjI1NzIgMTczMy45NzIgQyA4ODUuMjgyNCAxNzI5LjEyOCA5MTAuOTMyOSAxNzIyLjM5IDkzMS41MDE3IDE3MTYuMTA0IEwgOTU4LjE3MzIgMTkxMC4zNDEgTCAxMDMxLjI2NSAyNDIwIEwgMTA2OC42MzggMjM1MC4zMDMgTCAxMDY5LjIwMyAyMzU0LjIyNyBMIDExMjcuNDQ1IDIyNDUuOTExIEMgMTE0OC4yNjEgMjIwNy4zMjkgMTMzMC40MzcgMTg2NS40NTQgMTMzMC40MzcgMTc0MS45MzUgTCAxMzMwLjQyOCAxNzQxLjkzNSBMIDEzMzAuNDI4IDE3MzQuNjk0IEwgMTI0Ny44MzggMTUxMi4xMzkgQyAxMjYxLjI2NiAxMzkwLjgyOCAxMjg3Ljk3MyAxMTI3LjIzOSAxMjY3LjgxMSAxMDc1Ljc0MSBDIDEyNTUuMzY1IDEwNDMuODg4IDEyMDcuOTIyIDk3OC4zNjAzIDExNjcuMzQyIDkyNS4yOTU3IEwgMTIyMi4yOTIgNDE4LjYwMDUgTCAxMTQ2LjQ0NyAzNjMuNTQ1NyBMIDExMTIuMSA2ODAuNzU4NyBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A0KSI+PGNsaXBQYXRoIGlkPSJjcDUiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDUpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDIxMy41NjI1IDI0NDAgTCAxMzUwLjQzNyAyNDQwIEwgMTM1MC40MzcgMzIzLjQ2NjcgTCAyMTMuNTYyNSAzMjMuNDY2NyBaICIgZmlsbD0iI2ZmZmZmZiIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDYiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gMTUyNy4zMTIgNTU4LjkyNDkgTCA3NzkuNjUxIDI4LjY5ODA0IEwgMzIgNTU4LjkyNDkgTCAzMiAxNzk1LjM1OCBDIDMyIDE3OTUuMzU4IDMwOC40NTE0IDE4OTguNTE4IDc4MC42NjcxIDE4OTguNTE4IEMgMTI1Mi44ODMgMTg5OC41MTggMTUyNy4zMTIgMTc5NS4zNTggMTUyNy4zMTIgMTc5NS4zNTggTCAxNTI3LjMxMiA1NTguOTI0OSBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A2KSI+PGNsaXBQYXRoIGlkPSJjcDciPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDcpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDEyIDE5MTguNTE4IEwgMTU0Ny4zMTIgMTkxOC41MTggTCAxNTQ3LjMxMiA4LjY5ODAzOSBMIDEyIDguNjk4MDM5IFogIiBmaWxsPSIjZmZmZmZmIi8+PC9nPjwvZz48Y2xpcFBhdGggaWQ9ImNwOCI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAxMTAyLjY3NiA4ODguMDQxNyBMIDc4MC4yODkxIDg4OC4wNDE3IEwgNzgwLjI4OTEgMTQyOC43MTQgTCA0NTMuMTcxNCA5MDMuODQ4NSBMIDQwMi4zMTI1IDM2NC44ODc0IEwgNzc1LjI1MiA5OC4wODI0OCBMIDc4MC4yODkxIDk0LjQ3MDU5IEwgMTE2MS42ODggMzY2LjgwNzQgTCAxMTAyLjY3NiA4ODguMDQxNyBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A4KSI+PGNsaXBQYXRoIGlkPSJjcDkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDkpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDM4Mi4zMTI1IDE0NDguNzE0IEwgMTE4MS42ODggMTQ0OC43MTQgTCAxMTgxLjY4OCA3NC40NzA1OSBMIDM4Mi4zMTI1IDc0LjQ3MDU5IFogIiBmaWxsPSIjM2IzYjYzIi8+PC9nPjwvZz48Y2xpcFBhdGggaWQ9ImNwMTAiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gNzcyLjYyMDEgMTAzLjg2NjcgTCA3OC44NzUgNTk2Ljc5MTIgTCA3OC44NzUgMTc0Ni4yMzkgQyA3OC44NzUgMTc0Ni4yMzkgMzM1LjM5NDIgMTg0Mi4xNDEgNzczLjU2MyAxODQyLjE0MSBDIDEyMTEuNzMyIDE4NDIuMTQxIDE0NjYuMzc1IDE3NDYuMjM5IDE0NjYuMzc1IDE3NDYuMjM5IEwgMTQ2Ni4zNzUgNTk2Ljc5MTIgTCA3NzIuNjIwMSAxMDMuODY2NyBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AxMCkiPjxjbGlwUGF0aCBpZD0iY3AxMSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMTEpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDU4Ljg3NSAxODYyLjE0MSBMIDE0ODYuMzc1IDE4NjIuMTQxIEwgMTQ4Ni4zNzUgODMuODY2NjcgTCA1OC44NzUgODMuODY2NjcgWiAiIGZpbGw9IiNkYmRiZGIiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3AxMiI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA3ODIuOTUyNyAxODQyLjE0MSBDIDc4Mi42Mjg2IDE4NDIuMTQxIDc4Mi4zMjQxIDE4NDIuMTMxIDc4MiAxODQyLjEzMSBMIDc4MiAxMDMuODY2NyBMIDc4Mi4wMDk4IDEwMy44NjY3IEwgMTQ3NS43NSA1OTYuNzk5NCBMIDE0NzUuNzUgMTc0Ni4yMzcgQyAxNDc1Ljc1IDE3NDYuMjM3IDEyMjEuMTEyIDE4NDIuMTQxIDc4Mi45NTI3IDE4NDIuMTQxIFogIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDEyKSI+PGNsaXBQYXRoIGlkPSJjcDEzIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AxMykiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gNzYyIDE4NjIuMTQxIEwgMTQ5NS43NSAxODYyLjE0MSBMIDE0OTUuNzUgODMuODY2NjcgTCA3NjIgODMuODY2NjcgWiAiIGZpbGw9IiNjNmM2YzYiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3AxNCI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAxMTU3IDM2Ny4yNjM3IEwgMTA5OC4zNTIgODg4LjQzOTIgTCA3NzcuMzEyNSA4ODguNDM5MiBMIDc3Ny4zMTI1IDk0LjQ3MDU5IEwgMTE1NyAzNjcuMjYzNyBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AxNCkiPjxjbGlwUGF0aCBpZD0iY3AxNSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMTUpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDc1Ny4zMTI1IDkwOC40MzkyIEwgMTE3NyA5MDguNDM5MiBMIDExNzcgNzQuNDcwNTkgTCA3NTcuMzEyNSA3NC40NzA1OSBaICIgZmlsbD0iIzNiM2I2MyIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDE2Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDQwMi4zMTI1IDM2NC44ODc0IEwgNzgyIDk0LjQ3MDU5IEwgNzgyIDE0MjguNzE0IEwgNDUzLjQwMTYgOTAzLjg0ODUgTCA0MDIuMzEyNSAzNjQuODg3NCBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AxNikiPjxjbGlwUGF0aCBpZD0iY3AxNyI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMTcpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDM4Mi4zMTI1IDE0NDguNzE0IEwgODAyIDE0NDguNzE0IEwgODAyIDc0LjQ3MDU5IEwgMzgyLjMxMjUgNzQuNDcwNTkgWiAiIGZpbGw9IiM1MzUzN2EiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3AxOCI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA5NDEuMzc1IDUyMS45OTIyIEMgOTQxLjM3NSA0MzQuMDQ1NSA4NTcuNDc0IDM5MC40NDcxIDc4MC41MDQ4IDM5MC40NDcxIEMgNzAzLjUzNTUgMzkwLjQ0NzEgNjE3LjkzNzUgNDM0LjA0NTUgNjE3LjkzNzUgNTIxLjk5MjIgIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDE4KSI+PGNsaXBQYXRoIGlkPSJjcDE5Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AxOSkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gNTk3LjkzNzUgNTQxLjk5MjIgTCA5NjEuMzc1IDU0MS45OTIyIEwgOTYxLjM3NSAzNzAuNDQ3MSBMIDU5Ny45Mzc1IDM3MC40NDcxIFogIiBmaWxsPSIjYmM5Mzc1Ii8+PC9nPjwvZz48Y2xpcFBhdGggaWQ9ImNwMjAiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gODk0LjUgNTY4Ljk3MjUgQyA4OTQuNSA0NjUuMjM5MyA4MzcuNjM4IDQzNy40Mjc1IDc3OS42NjExIDQzNy40Mjc1IEMgNzIxLjY5MzcgNDM3LjQyNzUgNjY0LjgxMjUgNDY1LjIzOTMgNjY0LjgxMjUgNTY4Ljk3MjUgIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDIwKSI+PGNsaXBQYXRoIGlkPSJjcDIxIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AyMSkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gNjQ0LjgxMjUgNTg4Ljk3MjUgTCA5MTQuNSA1ODguOTcyNSBMIDkxNC41IDQxNy40Mjc1IEwgNjQ0LjgxMjUgNDE3LjQyNzUgWiAiIGZpbGw9IiMwODMyNTEiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3AyMiI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA3NzkuNjYxIDQ3NS4wMTE4IEMgNzE4LjE1NzMgNDc1LjAxMTggNjg4LjI1IDUxOS41OTc1IDY4OC4yNSA2MTEuMjU0OSBMIDcxNy41NzUyIDYxMS4yNTQ5IEMgNzE3LjU3NTIgNTAzLjk0NzggNzU5LjQ5NyA1MDMuOTQ3OCA3NzkuNjYxIDUwMy45NDc4IEMgNzk5LjgxNTUgNTAzLjk0NzggODQxLjc0NjggNTAzLjk0NzggODQxLjc0NjggNjExLjI1NDkgTCA4NzEuMDYyNSA2MTEuMjU0OSBDIDg3MS4wNjI1IDUxOS41OTc1IDg0MS4xNTUyIDQ3NS4wMTE4IDc3OS42NjEgNDc1LjAxMTggWiAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMjIpIj48Y2xpcFBhdGggaWQ9ImNwMjMiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDIzKSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA2NjguMjUgNjMxLjI1NDkgTCA4OTEuMDYyNSA2MzEuMjU0OSBMIDg5MS4wNjI1IDQ1NS4wMTE4IEwgNjY4LjI1IDQ1NS4wMTE4IFogIiBmaWxsPSIjZmZmZmZmIi8+PC9nPjwvZz48Y2xpcFBhdGggaWQ9ImNwMjQiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gMTI2OS41IDE2NzUuMTU1IEMgMTI2OS41IDE3ODcuOTQxIDEwNzcuNjg0IDIxNDIuODE2IDEwNzcuNjg0IDIxNDIuODE2IEwgMTAxMi43OTQgMTY5Mi43NjEgTCA5NTQuNTU4NCAxNTk3Ljc0MyBMIDc4MC4wMTUzIDE1OTAuNjkzIEwgNzc5LjMyNTkgMTU4OS4yOTYgTCA3NzkuMzI1OSAxNTkwLjY5MyBMIDYwNC43NTQxIDE1OTcuNzQzIEwgNTQ2LjUzOCAxNjkyLjc2MSBMIDQ4MS42NDgxIDIxNDIuODE2IEMgNDgxLjY0ODEgMjE0Mi44MTYgMjg5LjgxMjUgMTc4Ny45NDEgMjg5LjgxMjUgMTY3NS4xNTUgTCAzNzAuODU1NSAxNDU4LjQzNyBDIDM3MC44NTU1IDE0NTguNDM3IDMyOS45NjA2IDEwOTQuNDEyIDM0OC42MzE5IDEwNDYuNzUxIEMgMzY3LjI0NTcgOTk5LjA4MDMgNDk2LjU0NjggODM5LjY2ODEgNDk2LjU0NjggODM5LjY2ODEgQyA0OTYuNTQ2OCA4MzkuNjY4MSA0OTYuMTYzOCA3MDUuNjU0MyA1MzEuNTYyNiA2MDkuMzA1NyBDIDU1Ni44MjE2IDU0MC41MDMgNjEyLjQ3MTYgNTEyLjU5NjEgNjY1Ljc1NjYgNTEyLjU5NjEgQyA3NDcuMzc0MSA1MTIuNTk2MSA3NzkuMzA2OCA1ODcuMDA0OSA3NzkuMzA2OCA1ODcuMDA0OSBDIDc3OS4zMDY4IDU4Ny4wMDQ5IDgxMi4wMDU1IDUxMi41OTYxIDg5My42MjI5IDUxMi41OTYxIEMgOTQ2Ljg5ODQgNTEyLjU5NjEgMTAwMi40OTEgNTQwLjQ1NTQgMTAyNy44MDcgNjA5LjMwNTcgQyAxMDYzLjE2OCA3MDUuNjE2MyAxMDYyLjgxNCA4MzkuNjY4MSAxMDYyLjgxNCA4MzkuNjY4MSBDIDEwNjIuODE0IDgzOS42NjgxIDExOTIuMDg2IDk5OS4wODAzIDEyMTAuNzM4IDEwNDYuNzUxIEMgMTIyOS40IDEwOTQuNDIyIDExODguNDk1IDE0NTguNDM3IDExODguNDk1IDE0NTguNDM3IEwgMTI2OS41IDE2NzUuMTU1IFogIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDI0KSI+PGNsaXBQYXRoIGlkPSJjcDI1Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AyNSkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gMjY5LjgxMjUgMjE2Mi44MTYgTCAxMjg5LjUgMjE2Mi44MTYgTCAxMjg5LjUgNDkyLjU5NjEgTCAyNjkuODEyNSA0OTIuNTk2MSBaICIgZmlsbD0iI2M0OWE3ZSIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDI2Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDc3Ny4zMDMgMTU4OS45OCBMIDc3Ni45Njk1IDE1ODkuMzA2IEwgNzc2Ljk2OTUgMTU5MC42OTMgTCA2MDMuMjM4IDE1OTcuNzQzIEwgNTQ1LjMwMjEgMTY5Mi43NjEgTCA0ODAuNzA1NSAyMTQyLjgxNiBDIDQ4MC43MDU1IDIxNDIuODE2IDI4OS44MTI1IDE3ODcuOTQxIDI4OS44MTI1IDE2NzUuMTU1IEwgMzcwLjQ0NjMgMTQ1OC40MzcgQyAzNzAuNDQ2MyAxNDU4LjQzNyAzMjkuNzU3OCAxMDk0LjQxMiAzNDguMzEwNiAxMDQ2Ljc1MSBDIDM2Ni44NzI5IDk5OS4wODAzIDQ5NS41MDQgODM5LjY2ODEgNDk1LjUwNCA4MzkuNjY4MSBDIDQ5NS41MDQgODM5LjY2ODEgNDk1LjE3MDQgNzA1LjY1NDMgNTMwLjM2MDggNjA5LjMwNTcgQyA1NTUuNTM2MiA1NDAuNTAzIDYxMC45MTgzIDUxMi41OTYxIDY2My44OTkyIDUxMi41OTYxIEMgNzQ1LjE3MTQgNTEyLjU5NjEgNzc2Ljk1MDQgNTg3LjAwNDkgNzc2Ljk1MDQgNTg3LjAwNDkgQyA3NzYuOTUwNCA1ODcuMDA0OSA3NzcuMDkzMyA1ODYuNzM4OSA3NzcuMzEyNSA1ODYuMjU0MyBMIDc3Ny4zMTI1IDE1ODkuOTggTCA3NzcuMzAzIDE1ODkuOTggWiAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMjYpIj48Y2xpcFBhdGggaWQ9ImNwMjciPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDI3KSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAyNjkuODEyNSAyMTYyLjgxNiBMIDc5Ny4zMTI1IDIxNjIuODE2IEwgNzk3LjMxMjUgNDkyLjU5NjEgTCAyNjkuODEyNSA0OTIuNTk2MSBaICIgZmlsbD0iI2Q4YjdhMCIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDI4Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDExODkuOTg3IDE0NDIuMTc4IEMgMTE3NS4xNTEgMTQ3My4wODQgMTE5Ni4yNDQgMTU0Ni4yMDcgMTE5Ni4yNDQgMTU0Ni4yMDcgQyAxMDc1LjM5MSAxNjY5LjUzNSAxMDQ1LjE2NSAxOTI2LjcwNiAxMDQ1LjE2NSAxOTI2LjcwNiBDIDEwMjIuNjAxIDE4NDUuNjcxIDk3My41NTY4IDE2MDYuNzQ2IDk3My41NTY4IDE2MDYuNzQ2IEMgOTczLjU1NjggMTYwNi43NDYgODgzLjM1ODUgMTY0MC4xODcgNzgwLjc1MDkgMTY0MC4zNDkgTCA3ODAuMzg3OSAxNjQwLjM0OSBMIDc3OS45ODY3IDE2NDAuMzQ5IEMgNzc0LjM1MDUgMTY0MC4zMiA3NjguODAwMiAxNjQwLjE3OCA3NjMuMjUgMTYzOS45OTcgTCA3NjMuMjUgNjMxLjgyMDMgTCA3NzAuOTExNCA2MjAuNjUxIEwgNzcwLjkxMTQgNjI2LjE2OTIgTCA3NzUuNjQ5NiA2MjYuMTY5MiBMIDc3NS42NDk2IDYyMC42NTEgTCA3NzUuNjk3NCA2MjYuMTY5MiBMIDc4NS4wNDk3IDYyNi4xNjkyIEwgNzg1LjA0OTcgNjIwLjY1MSBMIDc4NS4wNDk3IDYyNi4xNjkyIEwgNzg5LjgzNTcgNjI2LjE2OTIgTCA3ODkuODM1NyA2MjAuNjUxIEwgODczLjM3NTcgNzQyLjA5ODcgTCA4OTEuNTM1NyAxMDgzLjEyNSBMIDk5NS41NDc2IDk2NS4wMTEgTCAxMTI5LjUzNiA5MjYuMDQxNyBDIDExMjkuNTM2IDkyNi4wNDE3IDExNzkuNjcgOTYxLjYyMDMgMTE3OS42NyA5NjEuNDg3MyBDIDEyMDAuOTU0IDk5MS4xNTgzIDEyMDguMDEzIDEwMTYuNDMyIDEyMTMuMTYyIDEwMjkuNTQ4IEMgMTIzMS43NzEgMTA3Ny4yNjUgMTE4OS45ODcgMTQ0Mi4xNzggMTE4OS45ODcgMTQ0Mi4xNzggWiAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMjgpIj48Y2xpcFBhdGggaWQ9ImNwMjkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDI5KSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA3NDMuMjUgMTk0Ni43MDYgTCAxMjM3LjkzOCAxOTQ2LjcwNiBMIDEyMzcuOTM4IDYwMC42NTEgTCA3NDMuMjUgNjAwLjY1MSBaICIgZmlsbD0iIzNiM2I2MyIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDMwIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDU4OS41MjE1IDE2MDYuNzM2IEMgNTg5LjUyMTUgMTYwNi43MzYgNTQwLjY0MjkgMTg0NS42NTkgNTE4LjE4MzEgMTkyNi43MDYgQyA1MTguMTgzMSAxOTI2LjcwNiA0ODguMDkwOCAxNjY5LjUyOCAzNjcuNjc0IDE1NDYuMTk2IEMgMzY3LjY3NCAxNTQ2LjE5NiAzODguNjg3MiAxNDczLjA2MSAzNzMuOTA3NSAxNDQyLjE2NCBDIDM3My45MDc1IDE0NDIuMTY0IDMzMi4yODA4IDEwNzcuMjIxIDM1MC44MTk2IDEwMjkuNTc5IEMgMzU1LjkzOTcgMTAxNi40NTMgMzYzLjAyOTcgOTkxLjE4ODEgMzg0LjIwNDcgOTYxLjUxNjIgQyAzODQuMjA0NyA5NjEuNjQ5MiA0MzQuMTc3OCA5MjYuMDYwMSA0MzQuMTc3OCA5MjYuMDYwMSBMIDU2Ny42MzI3IDk2NS4wNCBMIDY3MS4yMzMzIDEwODMuMTM4IEwgNjg5LjM3MjQgNzQyLjEwMjMgTCA3NzIuNTQ5OCA2MjAuNjUxIEwgNzcyLjU0OTggNjI2LjE2OTMgTCA3NzcuMzE3NyA2MjYuMTY5MyBMIDc3Ny4zMTc3IDYyMC42NTEgTCA3NzcuMzE3NyA2MjYuMTY5MyBMIDc4MS45OTA1IDYyNi4xNjkzIEwgNzgxLjk5MDUgMTY0MC4zMzEgQyA2NzkuMzg5MiAxNjQwLjE2IDU4OS41MjE1IDE2MDYuNzM2IDU4OS41MjE1IDE2MDYuNzM2IFogIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDMwKSI+PGNsaXBQYXRoIGlkPSJjcDMxIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AzMSkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gMzI2LjA2MjUgMTk0Ni43MDYgTCA4MDEuOTkwNSAxOTQ2LjcwNiBMIDgwMS45OTA1IDYwMC42NTEgTCAzMjYuMDYyNSA2MDAuNjUxIFogIiBmaWxsPSIjNTM1MzdhIi8+PC9nPjwvZz48Y2xpcFBhdGggaWQ9ImNwMzIiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gMTAyMy41MjIgMTIxMi42MDQgTCAxMDIzLjUyMiAxMjEyLjYwNCBMIDkwNS42NTcxIDEyMTIuNjA0IEwgODY2LjM3NSAxMjEyLjYwNCBMIDg2Ni4zNzUgMTIxMC45ODQgQyA4NjYuMzc1IDExNTcuMzc0IDkxMy44MjggMTExMy45NDUgOTY5LjQ5MDQgMTExMy45NDUgQyAxMDI1LjE3MiAxMTEzLjk0NSAxMDcyLjYyNSAxMTU3LjM4MyAxMDcyLjYyNSAxMjEwLjk4NCBMIDEwNzIuNjI1IDEyMTIuNjA0IEwgMTAyMy41MjIgMTIxMi42MDQgWiAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMzIpIj48Y2xpcFBhdGggaWQ9ImNwMzMiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDMzKSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA4NDYuMzc1IDEyMzIuNjA0IEwgMTA5Mi42MjUgMTIzMi42MDQgTCAxMDkyLjYyNSAxMDkzLjk0NSBMIDg0Ni4zNzUgMTA5My45NDUgWiAiIGZpbGw9IiMzMzMxNTIiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3AzNCI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA5MDMuODc1IDEyMTIuNjA0IEwgOTAzLjg3NSAxMjEwLjkzNyBDIDkwMy44NzUgMTE3OC4xMiA5MjkuOTk5MyAxMTUxLjUyOSA5NjIuNDczNSAxMTUxLjUyOSBDIDk5NC45NDc3IDExNTEuNTI5IDEwMjEuMDYyIDExNzguMTIgMTAyMS4wNjIgMTIxMC45MzcgTCAxMDIxLjA2MiAxMjEyLjYwNCBMIDkwMy44NzUgMTIxMi42MDQgWiAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMzQpIj48Y2xpcFBhdGggaWQ9ImNwMzUiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDM1KSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA4ODMuODc1IDEyMzIuNjA0IEwgMTA0MS4wNjIgMTIzMi42MDQgTCAxMDQxLjA2MiAxMTMxLjUyOSBMIDg4My44NzUgMTEzMS41MjkgWiAiIGZpbGw9IiNmZmZmZmYiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3AzNiI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA5ODAuNjU1MyAxMjEyLjYwNCBMIDk1My4wNjMzIDEyMTIuNjA0IEMgOTUyLjc5NSAxMjEyLjYwNCA5NTIuNTY1MSAxMjEyLjQ3MiA5NTIuMzI1NiAxMjEyLjQyNSBDIDk1NS43NDU4IDEyMTEuNzE4IDk1Ny42NDI4IDEyMDQuMDg5IDk1Ni45MDUxIDExOTkuMDEyIEMgOTU1LjgwMzMgMTE5MS4yNSA5NDkuMDc3OCAxMTg1Ljg2MiA5NDEuMzc1IDExODUuNzMgQyA5NDMuNjE2OCAxMTc1LjU4NSA5NTIuMDI4NiAxMTY3LjQyOCA5NjMuMTk5NSAxMTY1Ljg4MyBDIDk3Ny40NzQ1IDExNjMuODk2IDk5MC42NjcgMTE3My41MjMgOTkyLjY4ODUgMTE4Ny41NDggQyA5OTQuMTQ0NyAxMTk3Ljg3MiA5ODkuMDk1NyAxMjEyLjYwNCA5ODAuNjU1MyAxMjEyLjYwNCBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AzNikiPjxjbGlwUGF0aCBpZD0iY3AzNyI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMzcpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDkyMS4zNzUgMTIzMi42MDQgTCAxMDEyLjkzOCAxMjMyLjYwNCBMIDEwMTIuOTM4IDExNDUuNjI0IEwgOTIxLjM3NSAxMTQ1LjYyNCBaICIgZmlsbD0iIzMzMzE1MiIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDM4Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDY0OC41MDU1IDEyMTIuNjA0IEwgNjQ4LjUwNTUgMTIxMi42MDQgTCA1MzAuNjY0OCAxMjEyLjYwNCBMIDQ5MS4zNzUgMTIxMi42MDQgTCA0OTEuMzc1IDEyMTAuOTg0IEMgNDkxLjM3NSAxMTU3LjM3NCA1MzguODM1NCAxMTEzLjk0NSA1OTQuNDg1NiAxMTEzLjk0NSBDIDY1MC4xNjQ2IDExMTMuOTQ1IDY5Ny42MjUgMTE1Ny4zODMgNjk3LjYyNSAxMjEwLjk4NCBMIDY5Ny42MjUgMTIxMi42MDQgTCA2NDguNTA1NSAxMjEyLjYwNCBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3AzOCkiPjxjbGlwUGF0aCBpZD0iY3AzOSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwMzkpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDQ3MS4zNzUgMTIzMi42MDQgTCA3MTcuNjI1IDEyMzIuNjA0IEwgNzE3LjYyNSAxMDkzLjk0NSBMIDQ3MS4zNzUgMTA5My45NDUgWiAiIGZpbGw9IiMzMzMxNTIiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3A0MCI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA1MjguODc1IDEyMTIuNjA0IEwgNTI4Ljg3NSAxMjEwLjkzNyBDIDUyOC44NzUgMTE3OC4xMiA1NTUuMDIyNiAxMTUxLjUyOSA1ODcuNDU0NCAxMTUxLjUyOSBDIDYxOS45NDM1IDExNTEuNTI5IDY0Ni4wNjI1IDExNzguMTIgNjQ2LjA2MjUgMTIxMC45MzcgTCA2NDYuMDYyNSAxMjEyLjYwNCBMIDUyOC44NzUgMTIxMi42MDQgWiAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwNDApIj48Y2xpcFBhdGggaWQ9ImNwNDEiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDQxKSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA1MDguODc1IDEyMzIuNjA0IEwgNjY2LjA2MjUgMTIzMi42MDQgTCA2NjYuMDYyNSAxMTMxLjUyOSBMIDUwOC44NzUgMTEzMS41MjkgWiAiIGZpbGw9IiNmZmZmZmYiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3A0MiI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA2MDUuNjc5MiAxMjEyLjYwNCBMIDU3OC4wNjE5IDEyMTIuNjA0IEMgNTc3LjgyMjQgMTIxMi42MDQgNTc3LjU2MzcgMTIxMi40NzIgNTc3LjM0MzQgMTIxMi40MjUgQyA1ODAuNzUzNyAxMjExLjcxOCA1ODIuNjQwOCAxMjA0LjA4OSA1ODEuOTIyNCAxMTk5LjAxMiBDIDU4MC44MTExIDExOTEuMjUgNTc0LjEyNDcgMTE4NS44NjIgNTY2LjM3NSAxMTg1LjczIEMgNTY4LjY0NTMgMTE3NS41ODUgNTc3LjA1NiAxMTY3LjQyOCA1ODguMjA2NCAxMTY1Ljg4MyBDIDYwMi40NzAxIDExNjMuODk2IDYxNS42ODk3IDExNzMuNTIzIDYxNy42ODIyIDExODcuNTQ4IEMgNjE5LjE1NzQgMTE5Ny44NzIgNjE0LjExODcgMTIxMi42MDQgNjA1LjY3OTIgMTIxMi42MDQgWiAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwNDIpIj48Y2xpcFBhdGggaWQ9ImNwNDMiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gLTE2IC0yNCBMIDE1ODAgLTI0IEwgMTU4MCAyNDY4IEwgLTE2IDI0NjggWiAiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDQzKSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA1NDYuMzc1IDEyMzIuNjA0IEwgNjM3LjkzNzUgMTIzMi42MDQgTCA2MzcuOTM3NSAxMTQ1LjYyNCBMIDU0Ni4zNzUgMTE0NS42MjQgWiAiIGZpbGw9IiMzMzMxNTIiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3A0NCI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAxMDEzLjM3OSAxMjU5LjU4NCBDIDEwMjAuMDEgMTI2Ni43ODIgMTA3Ni4zMDIgMTMzMC4wNTUgMTAwMS4wMTQgMTMzMC4wNTUgQyA5MzIuOTgzMiAxMzMwLjA1NSA4ODQuMDM0NSAxMjc1LjY3OSA4NzEuMDYyNSAxMjU5LjU4NCBMIDEwMTMuMzc5IDEyNTkuNTg0IFogIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDQ0KSI+PGNsaXBQYXRoIGlkPSJjcDQ1Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A0NSkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gODUxLjA2MjUgMTM1MC4wNTUgTCAxMDU5LjgxMiAxMzUwLjA1NSBMIDEwNTkuODEyIDEyMzkuNTg0IEwgODUxLjA2MjUgMTIzOS41ODQgWiAiIGZpbGw9IiNjNDlhN2UiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3A0NiI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA2OTIuOTM3NSAxMjU5LjU4NCBDIDY3OS45NzM3IDEyNzUuNjc5IDYzMS4wMTk5IDEzMzAuMDU1IDU2Mi45NjI1IDEzMzAuMDU1IEMgNDg3LjcwNTIgMTMzMC4wNTUgNTQ0LjAwMzYgMTI2Ni43ODIgNTUwLjU5NjMgMTI1OS41ODQgTCA2OTIuOTM3NSAxMjU5LjU4NCBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A0NikiPjxjbGlwUGF0aCBpZD0iY3A0NyI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwNDcpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDUwNC4xODc1IDEzNTAuMDU1IEwgNzEyLjkzNzUgMTM1MC4wNTUgTCA3MTIuOTM3NSAxMjM5LjU4NCBMIDUwNC4xODc1IDEyMzkuNTg0IFogIiBmaWxsPSIjZDhiN2EwIi8+PC9nPjwvZz48Y2xpcFBhdGggaWQ9ImNwNDgiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gNDUzLjg3NSAxMjQwLjc5MiBMIDczOS44MTI1IDEyNDAuNzkyIEwgNzM5LjgxMjUgMTIxMi42MDQgTCA0NTMuODc1IDEyMTIuNjA0IEwgNDUzLjg3NSAxMjQwLjc5MiBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A0OCkiPjxjbGlwUGF0aCBpZD0iY3A0OSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwNDkpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDQzMy44NzUgMTI2MC43OTIgTCA3NTkuODEyNSAxMjYwLjc5MiBMIDc1OS44MTI1IDExOTIuNjA0IEwgNDMzLjg3NSAxMTkyLjYwNCBaICIgZmlsbD0iIzUzNTM3YSIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDUwIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDEzMDcgMTY3OC44MjkgQyAxMzA3IDE3OTguMDE5IDExMzEuODMxIDIxMjcuOTEzIDExMTEuODE1IDIxNjUuMTQyIEwgMTA1NS44MTMgMjI2OS42NjMgTCA5NzUuNTg5NCAxNzA5Ljg1MSBMIDkzOC41NjI2IDE2NDkuMDQ0IEMgOTAyLjgxMzYgMTY2MS4wMTMgODQxLjk3NjMgMTY3Ny43MTcgNzgwLjcxOTUgMTY3Ny43MTcgQyA3MTkuNTI5NCAxNjc3LjcxNyA2NTkuMTAyMSAxNjYxLjA3IDYyMy41MDU3IDE2NDkuMDgyIEwgNTg2LjQ1OTggMTcwOS44NiBMIDU1OC4zMDExIDE5MDYuMDk1IEMgNTU4LjMzOTIgMTkwNi40MTggNTU4LjM4NjkgMTkwNi44NTUgNTU4LjM4NjkgMTkwNy4wNTUgTCA1NTguMTY3NiAxOTA3LjA4NCBMIDUwNi4xMTI2IDIyNjkuNjYzIEwgNDQ4LjkyNzUgMjE2NS4xNDIgQyA0MjguODgzNiAyMTI3LjkxMyAyNTIuMzEyNSAxNzk4LjAxOSAyNTIuMzEyNSAxNjc4LjgyOSBMIDI1Mi4zMTI1IDE2NzEuODMyIEwgMzMzLjE2NSAxNDU3LjEwNiBDIDMyMC4yMzQ3IDEzNDAuMDI3IDI5NS41NTY1IDEwODUuNzE0IDMxNC45NDI1IDEwMzYuMDExIEMgMzI3LjAyNDEgMTAwNC45MzMgMzczLjUxOTggOTQwLjc2MDMgNDEyLjg0NDcgODg5LjMyNzIgTCAzNTkuODc0MyAzOTcuMTAwNiBMIDQzMi44MDI4IDM0NS44MDA3IEwgNDcxLjM0NTcgNzAzLjg2NDEgQyA0NzYuODg1OSA2NjkuMDM5OCA0ODUuMDU4IDYzMi4yNjY2IDQ5Ny4xODczIDU5OS4wNDkgQyA1MTMuOTEyOCA1NTMuMjcyNyA1NDMuNDczMiA1MTguNjE5NSA1ODEuMzEwNSA0OTguMDU1OCBDIDU4My41NjA5IDM4OC40NjgzIDY4NS43MDY1IDMyOS4zNzI1IDc4MS45NCAzMjkuMzcyNSBDIDg3Ny4zODIxIDMyOS4zNzI1IDk3OC42NzkgMzg4LjUxNTggOTgwLjg5MTMgNDk4LjE0MTQgQyAxMDE4LjY1MiA1MTguNjY3MSAxMDQ4LjE3NSA1NTMuMzIwMiAxMDY0Ljg4MSA1OTkuMDQ5IEMgMTA3Ny41MTYgNjMzLjU5NzYgMTA4NS44MDIgNjcyLjA3MjUgMTA5MS4zMTQgNzA4LjEwNDIgTCAxMTMwLjA4NiAzNDguNzQ3OSBMIDEyMDMuMDE0IDQwMS44NzMyIEwgMTE1MC4xNzcgODkwLjgxMDMgQyAxMTg5LjE5NyA5NDIuMDE1MiAxMjM0LjgxNSAxMDA1LjI0NiAxMjQ2Ljc4MyAxMDM1Ljk4MyBDIDEyNjYuMTY4IDEwODUuNjc2IDEyNDAuNDg5IDEzNDAuMDI3IDEyMjcuNTc4IDE0NTcuMDg3IEwgMTMwNi45OSAxNjcxLjg0MiBMIDEzMDYuOTkgMTY3OC44MjkgTCAxMzA3IDE2NzguODI5IFogTSAzMzIgMTY4Ny41NjYgQyAzMzYuMzc3NyAxNzQ5LjA3OCA0MDAuMjAzMSAxODk2LjQ2IDQ2MS4wODQ5IDIwMjAuNjY3IEwgNDc3LjMxMjUgMTkwNy4xMDEgQyA0NzEuMTIzNCAxODY0LjYzOSA0NDIuODM4MyAxNjk4LjExMiAzNjYuOTY0OCAxNTkzLjE0NSBMIDMzMiAxNjg3LjU2NiBaIE0gNzgyLjc5NCA0MDkuMjM5MiBDIDc0MC4yODc4IDQwOS4yMzkyIDY3OS44NTA4IDQyOC4wOTYgNjY0LjgxMjUgNDc4LjA4MjggQyA2NjYuMzUzMiA0NzguMDM1NyA2NjcuODY1NSA0NzcuOTA0MSA2NjkuNDM0NiA0NzcuOTA0MSBDIDY3Ny42NDg1IDQ3Ny45MDQxIDY4NS4zNTIgNDc4LjY1NjUgNjkyLjc5MDggNDc5LjcwOTggQyA3MTQuMzUxMSA0NDkuODQgNzQ3LjkzNDUgNDQwLjY3OTcgNzgxLjk2MjIgNDQwLjY3OTcgQyA4MTYuMDQ2NiA0NDAuNjc5NyA4NDkuNjk2MiA0NDkuNzU1MyA4NzEuMjk0MyA0NzkuNjcyMiBDIDg3OC42ODU4IDQ3OC42NjU5IDg4Ni4zMDQyIDQ3Ny45MDQxIDg5NC40NTIgNDc3LjkwNDEgQyA4OTYuMDQ5NCA0NzcuOTA0MSA4OTcuNTkwMSA0NzguMDM1NyA4OTkuMTg3NSA0NzguMDgyOCBDIDg4NC4zMDA0IDQyOC4wOTYgODI0LjY2NjkgNDA5LjIzOTIgNzgyLjc5NCA0MDkuMjM5MiBaIE0gNzMwLjQzNzUgNDkwLjk0NzkgQyA3NDEuMDExIDQ5NS43ODk0IDc1MC41NTk5IDUwMS41NTU0IDc1OC45NzgxIDUwNy44OTggQyA3NjYuNjcxNCA1MDUuNTcxNyA3NzQuMDU1NCA1MDUuNTcxNyA3NzkuNzE5MSA1MDUuNTcxNyBDIDc4NS4zNTM3IDUwNS41NzE3IDc5Mi42NjA0IDUwNS41MjIgODAwLjI5NTcgNTA3Ljg0ODMgQyA4MDguNzMzMiA1MDEuNTU1NCA4MTguMzAxNSA0OTUuNzg5NCA4MjguODc1IDQ5MC45NDc5IEMgODE1LjYxNDcgNDgwLjc0OCA3OTkuMjgwOSA0NzUuMDExOCA3NzkuNzU3NyA0NzUuMDExOCBDIDc2MC4xMjgyIDQ3NS4wMTE4IDc0My43MTcxIDQ4MC43MDgyIDczMC40Mzc1IDQ5MC45NDc5IFogTSAxMTczLjI0MyAxMDY0LjgwNyBDIDExNjEuOTAyIDEwMzUuODAxIDEwODMuNjEzIDkzMi4xNjE4IDEwMzEuNjA5IDg2Ny44MTMgTCAxMDIyLjkzMyA4NTcuMDI0OCBMIDEwMjIuOTcyIDg0My4yNTg4IEMgMTAyMi45NzIgODQyLjAxMjYgMTAyMi45MzMgNzE0Ljk3OTggOTkwLjQwMDkgNjI2LjA3NjkgQyA5NjYuODc4MSA1NjEuODIzMiA5MTQuNjM0OCA1NTQuODc4NCA4OTMuMjkwNCA1NTQuODc4NCBDIDgzOS4yNTA5IDU1NC44Nzg0IDgxNS45Mjg3IDYwNC4yMDU1IDgxNS4xMDcgNjA1Ljk4NDUgTCA4MTIuMDIxIDY1Mi4xOTEyIEwgNzQ2LjMyNTIgNjUyLjE5MTIgTCA3NDMuMzYzMyA2MDYuMjUwOSBDIDc0Mi40MjcgNjA0LjE1OCA3MTkuNjc4MSA1NTUuMDAyMSA2NjUuOTA2MSA1NTUuMDAyMSBDIDY0NC41MTM5IDU1NS4wMDIxIDU5Mi4yODk4IDU2MS44NzA4IDU2OC43NDc4IDYyNi4xMjQ1IEMgNTM2LjMyMDMgNzE0LjcxMzUgNTM2LjE2NzQgODQyLjAxMjYgNTM2LjE2NzQgODQzLjMwNjQgTCA1MzYuMjE1MiA4NTcuMDcyMyBMIDUyNy41Mzk5IDg2Ny44MTMgQyA0NzUuNTY0MSA5MzIuMTE0MiAzOTcuMjY2MSAxMDM1Ljc1MyAzODYuMjExNyAxMDY0LjA1NiBDIDM3Ny4zNzQgMTA5NC42NyAzOTEuOTYzNSAxMjkyLjY0NCA0MTAuNTM3MSAxNDU4LjU0IEwgNDExLjU1OTUgMTQ2Ny43NDkgTCAzOTYuOTAzMSAxNTA3LjAyOSBDIDQ0Ny4yNTQ2IDE1NTkuNTkxIDQ4Mi41ODY2IDE2MzEuOTMxIDUwNi45NTk4IDE3MDAuNzg5IEwgNTA5LjMyOTIgMTY4NC4wMjcgTCA1ODkuMjk5MiAxNTUzLjE3OSBMIDYyMC41NDIgMTU2Ni41MzYgQyA2MjEuMzI1NSAxNTY2Ljg2OSA3MDEuNDQ4MyAxNjAwLjgxMyA3NzkuMjQ5NSAxNjAwLjgxMyBDIDg1Ni41NTM4IDE2MDAuODEzIDkzNy45OTUyIDE1NjYuODQgOTM4Ljc1OTYgMTU2Ni41MDcgTCA5NjkuOTU0NiAxNTUzLjI2NSBMIDEwNDkuODI5IDE2ODQuMDU1IEwgMTA1Mi45NjMgMTcwNS44OTggQyAxMDc3LjA3OCAxNjM2LjM2NCAxMTEyLjM3MiAxNTYyLjczMSAxMTYyLjk2MiAxNTA4Ljk5OSBMIDExNDcuNjE4IDE0NjcuNzc3IEwgMTE0OC42NCAxNDU4LjU3OCBDIDExNjcuMjA0IDEyOTIuNjQ0IDExODEuNzk0IDEwOTQuNjcgMTE3My4yNDMgMTA2NC44MDcgWiBNIDExOTIuODczIDE1OTMuMTQ1IEMgMTExMC4xODcgMTcwOS4zMDYgMTA4NC4yNDYgMTg5OC4xNDQgMTA4MiAxOTE1LjQwMyBMIDEwOTcuMDgzIDIwMjAuNjY3IEMgMTE1OC40ODIgMTg5NS44MTQgMTIyMi44OTcgMTc0Ny42NDYgMTIyNy4zMTMgMTY4NS44MSBMIDExOTIuODczIDE1OTMuMTQ1IFogIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDUwKSI+PGNsaXBQYXRoIGlkPSJjcDUxIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A1MSkiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gMjMyLjMxMjUgMjI4OS42NjMgTCAxMzI3IDIyODkuNjYzIEwgMTMyNyAzMDkuMzcyNSBMIDIzMi4zMTI1IDMwOS4zNzI1IFogIiBmaWxsPSIjMzMzMTUyIi8+PC9nPjwvZz48Y2xpcFBhdGggaWQ9ImNwNTIiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gODcwLjIxMjggNzg1LjA4MjQgTCA2ODUuMDI4OCA3ODUuMDgyNCBDIDY4NS4wMjg4IDc4NS4wODI0IDY2MC4xMjUgNzQyLjA2MjcgNjYwLjEyNSA3MjguMTA0NyBDIDY2MC4xMjUgNjg2LjY1MDggNzc0LjEwNDQgNjIwLjY1MSA3NzQuMTA0NCA2MjAuNjUxIEMgNzc0LjEwNDQgNjIwLjY1MSA4OTQuNSA2ODguNjE3NSA4OTQuNSA3MjguMTA0NyBDIDg5NC41IDc0Ni45NDEzIDg3MC4yMTI4IDc4NS4wODI0IDg3MC4yMTI4IDc4NS4wODI0IFogIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L2NsaXBQYXRoPjxnIGNsaXAtcGF0aD0idXJsKCNjcDUyKSI+PGNsaXBQYXRoIGlkPSJjcDUzIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIC0xNiAtMjQgTCAxNTgwIC0yNCBMIDE1ODAgMjQ2OCBMIC0xNiAyNDY4IFogIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A1MykiPjxwYXRoIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLC0xLDAsMjQ0OCkiIGQ9Ik0gNjQwLjEyNSA4MDUuMDgyNCBMIDkxNC41IDgwNS4wODI0IEwgOTE0LjUgNjAwLjY1MSBMIDY0MC4xMjUgNjAwLjY1MSBaICIgZmlsbD0iIzMzMzE1MiIvPjwvZz48L2c+PGNsaXBQYXRoIGlkPSJjcDU0Ij48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDgzMi41NDE2IDY1Ni44MDc5IEMgODIyLjUyNjQgNjc0LjI3OCA4MDkuNTk2NCA2NzcuNDY2OSA4MDMuNjYzOCA2NjMuOTk0NSBDIDc5Ny43NSA2NTAuNTEyOCA4MDEuMTMyIDYyNS40MjQzIDgxMS4xNDcyIDYwNy45OTA5IEMgODIxLjE2MjQgNTkwLjUxMTcgODM0LjEwMTggNTg3LjMyMjggODQwLjAwNjMgNjAwLjgwNDQgQyA4NDUuOTM4OCA2MTQuMjc2OSA4NDIuNTc1NSA2MzkuMzc0NiA4MzIuNTQxNiA2NTYuODA3OSBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A1NCkiPjxjbGlwUGF0aCBpZD0iY3A1NSI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwNTUpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDc4MC43NSA2OTIuMzI5NCBMIDg2Mi45Mzc1IDY5Mi4zMjk0IEwgODYyLjkzNzUgNTcyLjQ2MjcgTCA3ODAuNzUgNTcyLjQ2MjcgWiAiIGZpbGw9IiNjNDlhN2UiLz48L2c+PC9nPjxjbGlwUGF0aCBpZD0iY3A1NiI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSA3MjIuMDczNSA2NTYuODA3OSBDIDcxMi4wMzcxIDYzOS4zNzQ2IDcwOC43MDEgNjE0LjI3NjkgNzE0LjYwNyA2MDAuODA0NCBDIDcyMC41MjIzIDU4Ny4zMjI4IDczMy40MzY5IDU5MC41MTE3IDc0My41MDE0IDYwNy45OTA5IEMgNzUzLjUxOTEgNjI1LjQxNTEgNzU2Ljg3MzkgNjUwLjUxMjggNzUwLjkzOTkgNjYzLjk5NDUgQyA3NDUuMDMzOSA2NzcuNDY2OSA3MzIuMTEgNjc0LjI3OCA3MjIuMDczNSA2NTYuODA3OSBaICIgZmlsbC1ydWxlPSJldmVub2RkIi8+PC9jbGlwUGF0aD48ZyBjbGlwLXBhdGg9InVybCgjY3A1NikiPjxjbGlwUGF0aCBpZD0iY3A1NyI+PHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsLTEsMCwyNDQ4KSIgZD0iTSAtMTYgLTI0IEwgMTU4MCAtMjQgTCAxNTgwIDI0NjggTCAtMTYgMjQ2OCBaICIvPjwvY2xpcFBhdGg+PGcgY2xpcC1wYXRoPSJ1cmwoI2NwNTcpIj48cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwwLDI0NDgpIiBkPSJNIDY5MS42ODc1IDY5Mi4zMjk0IEwgNzczLjg3NSA2OTIuMzI5NCBMIDc3My44NzUgNTcyLjQ2MjcgTCA2OTEuNjg3NSA1NzIuNDYyNyBaICIgZmlsbD0iI2Q4YjdhMCIvPjwvZz48L2c+PC9nPjwvZz48L2c+PC9nPjwvZz48L3N2Zz4K`;\n","export default ``;\n","import * as fs from 'fs';\nimport {\n DescribeOptions,\n DriftAnalysis,\n DriftctlExecutionResult,\n DriftCTLOptions,\n GenDriftIgnoreOptions,\n} from './types';\nimport { Policy } from '../policy/find-and-load-policy';\nimport { DescribeExclusiveArgumentError } from '../errors/describe-exclusive-argument-error';\nimport { DescribeRequiredArgumentError } from '../errors/describe-required-argument-error';\nimport snykLogoSVG from './assets/snyk-logo';\nimport snykFaviconBase64 from './assets/snyk-favicon';\nimport { getHumanReadableAnalysis } from './drift/output';\nimport { runDriftCTL } from './drift/driftctl';\n\nexport const DescribeExclusiveArgs = [\n 'all',\n 'only-managed',\n 'drift',\n 'only-unmanaged',\n];\n\nexport const DescribeRequiredArgs = [\n 'all',\n 'only-managed',\n 'drift',\n 'only-unmanaged',\n];\n\nexport const validateArgs = (options: DriftCTLOptions): void => {\n if (options.kind === 'describe') {\n return validateDescribeArgs(options as DescribeOptions);\n }\n};\n\nconst validateDescribeArgs = (options: DescribeOptions): void => {\n // Check that there is no more than one of the exclusive arguments\n let count = 0;\n for (const describeExclusiveArg of DescribeExclusiveArgs) {\n if (options[describeExclusiveArg]) {\n count++;\n }\n }\n if (count > 1) {\n throw new DescribeExclusiveArgumentError();\n }\n\n // Check we have one of the required arguments\n count = 0;\n for (const describeRequiredArgs of DescribeRequiredArgs) {\n if (options[describeRequiredArgs]) {\n count++;\n }\n }\n if (count === 0) {\n throw new DescribeRequiredArgumentError();\n }\n};\n\nexport const parseDriftAnalysisResults = (input: string): DriftAnalysis => {\n return JSON.parse(input) as DriftAnalysis;\n};\n\nexport function driftignoreFromPolicy(policy: Policy | undefined): string[] {\n const excludeSection = 'iac-drift';\n if (!policy || !policy.exclude || !(excludeSection in policy.exclude)) {\n return [];\n }\n return policy.exclude[excludeSection];\n}\n\nexport const updateExcludeInPolicy = (\n policy: Policy,\n analysis: DriftAnalysis,\n options: GenDriftIgnoreOptions,\n): void => {\n const excludedResources = driftignoreFromPolicy(policy);\n const addResource = (res) => excludedResources.push(`${res.type}.${res.id}`);\n\n if (!options['exclude-changed'] && analysis.summary.total_changed > 0) {\n analysis.differences?.forEach((change) => addResource(change.res));\n }\n\n if (!options['exclude-missing'] && analysis.summary.total_missing > 0) {\n analysis.missing?.forEach((res) => addResource(res));\n }\n\n if (!options['exclude-unmanaged'] && analysis.summary.total_unmanaged > 0) {\n analysis.unmanaged?.forEach((res) => addResource(res));\n }\n\n if (!policy.exclude) {\n policy.exclude = {};\n }\n\n policy.exclude['iac-drift'] = excludedResources;\n};\n\nexport async function processAnalysis(\n options: DescribeOptions,\n describe: DriftctlExecutionResult,\n): Promise {\n if (options.html || options['html-file-output']) {\n // we use fmt for html output\n const fmtResult = await runDriftCTL({\n options: { ...options, kind: 'fmt' },\n input: describe.stdout,\n });\n const output = processHTMLOutput(options, fmtResult.stdout);\n\n if (options.html) {\n // html on stdout\n return output;\n }\n // should return an empty string if we use the html-file-output flag\n return '';\n }\n\n if (options.json) {\n // json on stdout\n return describe.stdout;\n }\n\n const analysis = parseDriftAnalysisResults(describe.stdout);\n return getHumanReadableAnalysis(options, analysis);\n}\n\nexport function processHTMLOutput(\n options: DescribeOptions,\n stdout: string,\n): string {\n if (options.html) {\n stdout = rebrandHTMLOutput(stdout);\n }\n\n if (options['html-file-output']) {\n const data = fs.readFileSync(options['html-file-output'], {\n encoding: 'utf8',\n });\n fs.writeFileSync(options['html-file-output'], rebrandHTMLOutput(data));\n }\n\n return stdout;\n}\n\nfunction rebrandHTMLOutput(data: string): string {\n // Replace favicon\n const faviconReplaceRegex = new RegExp(\n '()',\n 'g',\n );\n data = data.replace(\n faviconReplaceRegex,\n ``,\n );\n\n // Replace HTML title\n const titleReplaceRegex = new RegExp('()(.*)(<\\\\/title>)', 'g');\n data = data.replace(\n titleReplaceRegex,\n `<title>Snyk IaC drift report`,\n );\n\n // Replace header brand logo\n const logoReplaceRegex = new RegExp(\n '(
)((.|\\\\r|\\\\n)*?)(<\\\\/div>)',\n 'g',\n );\n data = data.replace(\n logoReplaceRegex,\n `
${snykLogoSVG}
`,\n );\n\n return data;\n}\n","import config from '../../config';\nimport { EXIT_CODES } from '../../../cli/exit-codes';\nimport envPaths from 'env-paths';\nimport {\n DescribeOptions,\n DriftctlExecutionResult,\n DriftCTLOptions,\n FmtOptions,\n} from '../types';\nimport { TimerMetricInstance } from '../../metrics';\nimport * as analytics from '../../analytics';\nimport { spinner } from '../../spinner';\nimport {\n createIgnorePattern,\n verifyServiceMappingExists,\n} from '../service-mappings';\nimport { validateArgs } from '../drift';\nimport * as debugLib from 'debug';\nimport { makeRequest } from '../../request';\nimport { StdioOptions } from 'child_process';\nimport * as path from 'path';\nimport * as child_process from 'child_process';\nimport * as fs from 'fs';\nimport * as os from 'os';\nimport * as crypto from 'crypto';\nimport { createDirIfNotExists, isExe } from '../file-utils';\n\nconst debug = debugLib('driftctl');\n\nconst cachePath = config.CACHE_PATH ?? envPaths('snyk').cache;\n\nexport const DCTL_EXIT_CODES = {\n EXIT_IN_SYNC: 0,\n EXIT_NOT_IN_SYNC: 1,\n EXIT_ERROR: 2,\n};\n\nexport const driftctlVersion = 'v0.35.2';\n\nconst driftctlChecksums = {\n driftctl_darwin_amd64:\n '1e21863bb99d104da8a1e33999563cc172ca51bb5b6ac7d3a4bd9678e0285067',\n 'driftctl_windows_386.exe':\n '20dc49a4faebfdbdf9f9198499ba2426ea6cda0666e82d81cd4e08a41516d5e0',\n driftctl_darwin_arm64:\n '37b7a4c72f4db62b056f1b534eb93fbb8dd32c303719ed4af87d9bd4d903fcf6',\n driftctl_linux_arm64:\n '3e6dabf013e097be1aac0e6e0f4ebcc3ada85a1906c6841d57fbe96c9ee9857e',\n 'driftctl_windows_arm.exe':\n '480c330fefdc6e1d58de943817556a1cd183d32d58b6cb20c8127cd3b8753dc4',\n driftctl_linux_amd64:\n '80b7b99c343e1502f54321987c9f00fa3c381fbea819b1e440a0377b18706fb1',\n 'driftctl_windows_amd64.exe':\n 'bbc71047bd75e1bcd80752b7c03c27c0d8d7d93bec72a70eb8bc8220687805de',\n 'driftctl_windows_arm64.exe':\n 'be1a5564ec3351503caa16121d192ad8d8e8f287a5324939214b20177c7363e4',\n driftctl_linux_arm:\n 'd04c911bdb86092743077bfbb025bfb8391978236bb381122594aeaa77f9a68f',\n driftctl_linux_386:\n 'e720c2f3c25594c7b83ffb2123c461283589b6ee73b9a59c1c4f48bb2bac2775',\n};\n\nconst dctlBaseUrl = 'https://static.snyk.io/cli/driftctl/';\n\nconst driftctlPath: string = path.join(\n cachePath,\n 'driftctl_' + driftctlVersion,\n);\n\nconst driftctlDefaultOptions = ['--no-version-check'];\n\nlet isBinaryDownloaded = false;\n\nexport const generateArgs = async (\n options: DriftCTLOptions,\n driftIgnore?: string[],\n): Promise => {\n if (options.kind === 'describe') {\n return await generateScanFlags(options as DescribeOptions, driftIgnore);\n }\n\n if (options.kind === 'fmt') {\n return generateFmtFlags(options as FmtOptions);\n }\n\n throw 'Unsupported command';\n};\n\nconst generateFmtFlags = (options: FmtOptions): string[] => {\n const args: string[] = ['fmt', ...driftctlDefaultOptions];\n\n if (options.json) {\n args.push('--output');\n args.push('json://stdout');\n }\n\n if (options.html) {\n args.push('--output');\n args.push('html://stdout');\n }\n\n if (options['html-file-output']) {\n args.push('--output');\n args.push('html://' + options['html-file-output']);\n }\n\n return args;\n};\n\nconst generateScanFlags = async (\n options: DescribeOptions,\n driftIgnore?: string[],\n): Promise => {\n const args: string[] = ['scan', ...driftctlDefaultOptions];\n\n if (options.quiet) {\n args.push('--quiet');\n }\n\n if (options.filter) {\n args.push('--filter');\n args.push(options.filter);\n }\n\n args.push('--output');\n args.push('json://stdout');\n\n if (options['fetch-tfstate-headers']) {\n args.push('--headers');\n args.push(options['fetch-tfstate-headers']);\n }\n\n if (options['tfc-token']) {\n args.push('--tfc-token');\n args.push(options['tfc-token']);\n }\n\n if (options['tfc-endpoint']) {\n args.push('--tfc-endpoint');\n args.push(options['tfc-endpoint']);\n }\n\n if (options['tf-provider-version']) {\n args.push('--tf-provider-version');\n args.push(options['tf-provider-version']);\n }\n\n if (options.strict) {\n args.push('--strict');\n }\n\n if (options.deep || options.all) {\n args.push('--deep');\n }\n\n if (options['only-managed'] || options.drift) {\n args.push('--only-managed');\n }\n\n if (options['only-unmanaged']) {\n args.push('--only-unmanaged');\n }\n\n if (options.driftignore) {\n args.push('--driftignore');\n args.push(options.driftignore);\n }\n\n if (options['tf-lockfile']) {\n args.push('--tf-lockfile');\n args.push(options['tf-lockfile']);\n }\n\n if (driftIgnore && driftIgnore.length > 0) {\n args.push('--ignore');\n args.push(driftIgnore.join(','));\n }\n\n let configDir = cachePath;\n await createDirIfNotExists(cachePath);\n if (options['config-dir']) {\n configDir = options['config-dir'];\n }\n args.push('--config-dir');\n args.push(configDir);\n\n if (options.from) {\n const froms = options.from.split(',');\n for (const f of froms) {\n args.push('--from');\n args.push(f);\n }\n }\n\n let to = 'aws+tf';\n if (options.to) {\n to = options.to;\n }\n args.push('--to');\n args.push(to);\n\n if (options.service) {\n const services = options.service.split(',');\n verifyServiceMappingExists(services);\n args.push('--ignore');\n args.push(createIgnorePattern(services));\n }\n\n debug(args);\n\n return args;\n};\n\nexport function translateExitCode(exitCode: number | null): number {\n switch (exitCode) {\n case DCTL_EXIT_CODES.EXIT_IN_SYNC:\n return 0;\n case DCTL_EXIT_CODES.EXIT_NOT_IN_SYNC:\n return EXIT_CODES.VULNS_FOUND;\n case DCTL_EXIT_CODES.EXIT_ERROR:\n return EXIT_CODES.ERROR;\n default:\n debug('driftctl returned %d', exitCode);\n return EXIT_CODES.ERROR;\n }\n}\n\nexport const runDriftCTL = async ({\n options,\n driftIgnore,\n input,\n stdio,\n}: {\n options: DriftCTLOptions;\n driftIgnore?: string[];\n input?: string;\n stdio?: StdioOptions;\n}): Promise => {\n const path = await findOrDownload();\n await validateArgs(options);\n const args = await generateArgs(options, driftIgnore);\n\n if (!stdio) {\n stdio = ['pipe', 'pipe', 'inherit'];\n }\n\n debug('running driftctl %s ', args.join(' '));\n\n const p = child_process.spawn(path, args, {\n stdio,\n env: { ...process.env, DCTL_IS_SNYK: 'true' },\n });\n\n let stdout = '';\n return new Promise((resolve, reject) => {\n if (input) {\n p.stdin?.write(input);\n p.stdin?.end();\n }\n p.on('error', (error) => {\n reject(error);\n });\n\n p.stdout?.on('data', (data) => {\n stdout += data;\n });\n\n p.on('exit', (code) => {\n resolve({ code: translateExitCode(code), stdout });\n });\n });\n};\n\nasync function findOrDownload(): Promise {\n let dctl = await findDriftCtl();\n if (isBinaryDownloaded) {\n return dctl;\n }\n let downloadDuration = 0;\n let binaryExist = true;\n if (dctl === '') {\n binaryExist = false;\n try {\n await createDirIfNotExists(cachePath);\n dctl = driftctlPath;\n\n const duration = new TimerMetricInstance('driftctl_download');\n duration.start();\n await download(driftctlUrl(), dctl);\n duration.stop();\n\n downloadDuration = Math.round((duration.getValue() as number) / 1000);\n } catch (err) {\n return Promise.reject(err);\n }\n }\n analytics.add('iac-drift-binary-already-exist', binaryExist);\n analytics.add('iac-drift-binary-download-duration-seconds', downloadDuration);\n isBinaryDownloaded = true;\n return dctl;\n}\n\nasync function findDriftCtl(): Promise {\n // lookup in custom path contained in env var DRIFTCTL_PATH\n let dctlPath = config.DRIFTCTL_PATH;\n if (dctlPath != null) {\n const exists = await isExe(dctlPath);\n if (exists) {\n debug('Found driftctl in $DRIFTCTL_PATH: %s', dctlPath);\n return dctlPath;\n }\n }\n\n // lookup in app cache\n dctlPath = driftctlPath;\n const exists = await isExe(dctlPath);\n if (exists) {\n debug('Found driftctl in cache: %s', dctlPath);\n return dctlPath;\n }\n debug('driftctl not found');\n return '';\n}\n\nasync function download(url, destination: string): Promise {\n debug('downloading driftctl into %s', destination);\n\n const payload = {\n method: 'GET',\n url: url,\n output: destination,\n follow: 3,\n };\n\n await spinner('Downloading...');\n return new Promise((resolve, reject) => {\n makeRequest(payload, function(err, res, body) {\n try {\n if (err) {\n reject(\n new Error('Could not download driftctl from ' + url + ': ' + err),\n );\n return;\n }\n if (res.statusCode !== 200) {\n reject(\n new Error(\n 'Could not download driftctl from ' + url + ': ' + res.statusCode,\n ),\n );\n return;\n }\n\n validateChecksum(body);\n\n fs.writeFileSync(destination, body);\n debug('File saved: ' + destination);\n\n fs.chmodSync(destination, 0o744);\n resolve(true);\n } finally {\n spinner.clearAll();\n }\n });\n });\n}\n\nfunction validateChecksum(body: string) {\n // only validate if we downloaded the official driftctl binary\n if (config.DRIFTCTL_URL || config.DRIFTCTL_PATH) {\n return;\n }\n\n const computedHash = crypto\n .createHash('sha256')\n .update(body)\n .digest('hex');\n const givenHash = driftctlChecksums[driftctlFileName()];\n\n if (computedHash != givenHash) {\n throw new Error('Downloaded file has inconsistent checksum...');\n }\n}\n\nfunction driftctlFileName(): string {\n let platform = 'linux';\n switch (os.platform()) {\n case 'darwin':\n platform = 'darwin';\n break;\n case 'win32':\n platform = 'windows';\n break;\n }\n\n let arch = 'amd64';\n switch (os.arch()) {\n case 'ia32':\n case 'x32':\n arch = '386';\n break;\n case 'arm':\n arch = 'arm';\n break;\n case 'arm64':\n arch = 'arm64';\n break;\n }\n\n let ext = '';\n switch (os.platform()) {\n case 'win32':\n ext = '.exe';\n break;\n }\n\n return `driftctl_${platform}_${arch}${ext}`;\n}\n\nfunction driftctlUrl(): string {\n if (config.DRIFTCTL_URL) {\n return config.DRIFTCTL_URL;\n }\n\n return `${dctlBaseUrl}/${driftctlVersion}/${driftctlFileName()}`;\n}\n","import {\n DescribeOptions,\n DiffByType,\n DriftAnalysis,\n DriftAnalysisDifference,\n DriftChange,\n DriftResource,\n MissingByType,\n UnmanagedByType,\n} from '../types';\nimport { findServiceMappingForType } from '../service-mappings';\nimport chalk from 'chalk';\nimport { leftPad } from 'snyk-cpp-plugin/dist/display/common';\nimport {\n create as createDiffPatch,\n console as consoleFormatter,\n} from 'jsondiffpatch';\n\nexport function getHumanReadableAnalysis(\n option: DescribeOptions,\n analysis: DriftAnalysis,\n): string {\n let output = getHumanReadableHeader();\n\n if (!option['only-unmanaged']) {\n output += getHumanReadableManaged(analysis);\n }\n if (!option['only-managed'] && !option.drift) {\n output += getHumanReadableUnmanaged(analysis);\n }\n output += getHumanReadableSummary(analysis);\n\n return output;\n}\n\nfunction changeAsString(obj: unknown): string {\n if (typeof obj === 'string') {\n return obj;\n }\n return JSON.stringify(obj);\n}\n\nfunction isJsonDiff(driftChange: DriftChange): boolean {\n if (!(typeof driftChange.from === 'string')) {\n return false;\n }\n\n try {\n JSON.parse(driftChange.from);\n } catch (e) {\n return false;\n }\n\n return true;\n}\n\nfunction getNonJsonDiff(driftChange: DriftChange): string {\n let output = '';\n switch (driftChange.type) {\n case 'create':\n output += chalk.green('+') + ' ' + driftChange.path.join('.') + ': ';\n output +=\n chalk.bold(changeAsString(driftChange.from)) +\n ' => ' +\n chalk.green(changeAsString(driftChange.to));\n break;\n case 'update':\n output += chalk.yellow('~') + ' ' + driftChange.path.join('.') + ': ';\n output +=\n chalk.bold(changeAsString(driftChange.from)) +\n ' => ' +\n chalk.yellow(changeAsString(driftChange.to));\n break;\n case 'delete':\n output += chalk.red('-') + ' ' + driftChange.path.join('.') + ': ';\n output += chalk.red(changeAsString(driftChange.from));\n break;\n default:\n output += driftChange.path.join('.') + ': ';\n output +=\n chalk.bold(changeAsString(driftChange.from)) +\n ' => ' +\n chalk.bold(changeAsString(driftChange.to));\n break;\n }\n output += '\\n';\n return output;\n}\n\nfunction getJsonDiff(driftChange: DriftChange): string {\n let output = '';\n\n let from = null;\n if (driftChange.from) {\n from = JSON.parse(driftChange.from as string);\n }\n\n let to = null;\n if (driftChange.to) {\n to = JSON.parse(driftChange.to as string);\n }\n\n let diffStr = '';\n const diffPatch = createDiffPatch().diff(from, to);\n if (diffPatch) {\n diffStr = consoleFormatter.format(diffPatch, from);\n }\n\n switch (driftChange.type) {\n case 'create':\n output += chalk.green('+') + ' ' + driftChange.path.join('.') + ':\\n';\n break;\n case 'update':\n output += chalk.yellow('~') + ' ' + driftChange.path.join('.') + ':\\n';\n break;\n case 'delete':\n output += chalk.red('-') + ' ' + driftChange.path.join('.') + ':\\n';\n break;\n default:\n output += driftChange.path.join('.') + ':\\n';\n break;\n }\n\n for (const elem of diffStr.split('\\n')) {\n output += addLine(leftPad(elem, 4));\n }\n\n return output;\n}\n\nfunction getHumanReadableDrift(analysis: DriftAnalysis): string {\n let output = '';\n if (!analysis.differences || analysis.differences.length <= 0) {\n return '';\n }\n const diffByStates = new Map();\n\n for (const difference of analysis.differences) {\n let statefile = 'Generated';\n if (difference.res.source) {\n statefile = difference.res.source.source;\n }\n\n if (!diffByStates.has(statefile)) {\n diffByStates.set(statefile, {\n diffByType: new Map(),\n count: 0,\n });\n }\n const hrDiffs = mustGet(diffByStates, statefile);\n const type = difference.res.type;\n if (!hrDiffs.diffByType.has(type)) {\n hrDiffs.diffByType.set(type, []);\n }\n hrDiffs.diffByType.get(type)?.push(difference);\n hrDiffs.count++;\n }\n\n output += addLine(\n chalk.bold('Changed resources: ' + analysis.differences.length),\n );\n output += '\\n';\n for (const state of [...diffByStates.keys()].sort()) {\n const hrDiffs = mustGet(diffByStates, state);\n output += addLine(\n chalk.blue(\n 'State: ' +\n chalk.bold(state) +\n ' [ Changed Resources: ' +\n chalk.bold(hrDiffs.count.toString()) +\n ' ]',\n ),\n );\n output += '\\n';\n for (const type of [...hrDiffs.diffByType.keys()].sort()) {\n output += addLine(leftPad('Resource Type: ' + type, 2));\n const diffs = mustGet(hrDiffs.diffByType, type);\n\n for (const diff of diffs) {\n output += leftPad('ID: ' + chalk.bold(diff.res.id), 4);\n if (\n diff.res.human_readable_attributes &&\n diff.res.human_readable_attributes.size > 0\n ) {\n for (const humanReadableAttribute of [\n ...diff.res.human_readable_attributes.keys(),\n ].sort()) {\n output +=\n ' ' +\n humanReadableAttribute +\n ': ' +\n diff.res.human_readable_attributes.get(humanReadableAttribute);\n }\n }\n output += '\\n';\n\n for (const driftChange of diff.changelog) {\n output += leftPad('');\n if (isJsonDiff(driftChange)) {\n output += getJsonDiff(driftChange);\n } else {\n output += getNonJsonDiff(driftChange);\n }\n }\n output += '\\n';\n }\n }\n }\n return output;\n}\n\nfunction getHumanReadableMissing(analysis: DriftAnalysis): string {\n let output = '';\n if (!analysis.missing || analysis.missing.length <= 0) {\n return '';\n }\n const missingByStates = new Map();\n\n for (const missing of analysis.missing) {\n let statefile = 'Generated';\n if (missing.source) {\n statefile = missing.source.source;\n }\n\n if (!missingByStates.has(statefile)) {\n missingByStates.set(statefile, {\n missingByType: new Map(),\n count: 0,\n });\n }\n const hrMissing = mustGet(missingByStates, statefile);\n const type = missing.type;\n if (!hrMissing.missingByType.has(type)) {\n hrMissing.missingByType.set(type, []);\n }\n hrMissing.missingByType.get(type)?.push(missing);\n hrMissing.count++;\n }\n\n output += addLine(\n chalk.bold('Missing resources: ' + analysis.missing.length),\n );\n output += '\\n';\n for (const state of [...missingByStates.keys()].sort()) {\n const hrMissing = mustGet(missingByStates, state);\n output += addLine(\n chalk.blue(\n 'State: ' +\n chalk.bold(state) +\n ' [ Missing Resources: ' +\n chalk.bold(hrMissing.count.toString()) +\n ' ]',\n ),\n );\n output += '\\n';\n for (const type of [...hrMissing.missingByType.keys()].sort()) {\n output += addLine(leftPad('Resource Type: ' + type, 2));\n const driftResources = mustGet(hrMissing.missingByType, type);\n output += getHumanReadableResourceList(driftResources) + '\\n';\n }\n }\n return output;\n}\n\nfunction getHumanReadableManaged(analysis: DriftAnalysis): string {\n let output = '';\n if (analysis.differences && analysis.differences.length > 0) {\n output += getHumanReadableDrift(analysis);\n }\n if (analysis.missing && analysis.missing.length > 0) {\n output += getHumanReadableMissing(analysis);\n }\n return output;\n}\n\nfunction getHumanReadableResourceList(driftResources: DriftResource[]): string {\n let output = '';\n for (const res of driftResources) {\n output += leftPad('ID: ' + chalk.bold(res.id), 4);\n if (\n res.human_readable_attributes &&\n res.human_readable_attributes.size > 0\n ) {\n for (const humanReadableAttribute of [\n ...res.human_readable_attributes.keys(),\n ].sort()) {\n output +=\n ' ' +\n humanReadableAttribute +\n ': ' +\n res.human_readable_attributes.get(humanReadableAttribute);\n }\n }\n output += '\\n';\n }\n return output;\n}\n\nfunction getHumanReadableUnmanaged(analysis: DriftAnalysis): string {\n let output = '';\n if (!analysis.unmanaged || analysis.unmanaged.length <= 0) {\n return '';\n }\n const unmanagedByServices = new Map();\n\n for (const unmanaged of analysis.unmanaged) {\n const service = findServiceMappingForType(unmanaged.type);\n\n if (!unmanagedByServices.has(service)) {\n unmanagedByServices.set(service, {\n unmanagedByType: new Map(),\n count: 0,\n });\n }\n const hrUnmanaged = mustGet(unmanagedByServices, service);\n const type = unmanaged.type;\n if (!hrUnmanaged.unmanagedByType.has(type)) {\n hrUnmanaged.unmanagedByType.set(type, []);\n }\n hrUnmanaged.unmanagedByType.get(type)?.push(unmanaged);\n hrUnmanaged.count++;\n }\n\n output += addLine(\n chalk.bold('Unmanaged resources: ' + analysis.unmanaged.length),\n );\n output += '\\n';\n for (let service of [...unmanagedByServices.keys()].sort()) {\n const hrUnmanaged = mustGet(unmanagedByServices, service);\n\n if (service === '') {\n service = 'Unidentified';\n }\n output += addLine(\n chalk.blue(\n 'Service: ' +\n chalk.bold(service) +\n ' [ Unmanaged Resources: ' +\n chalk.bold(hrUnmanaged.count.toString()) +\n ' ]',\n ),\n );\n output += '\\n';\n\n for (const type of [...hrUnmanaged.unmanagedByType.keys()].sort()) {\n output += addLine(leftPad('Resource Type: ' + type, 2));\n const driftResources = mustGet(hrUnmanaged.unmanagedByType, type);\n output += getHumanReadableResourceList(driftResources) + '\\n';\n }\n }\n return output;\n}\n\nfunction getHumanReadableHeader(): string {\n // TODO: driftctl to return number of states and supported resources?\n let output = addLine(\n chalk.bold('Snyk Scanning Infrastructure As Code Discrepancies...'),\n );\n output += '\\n';\n output += addLine(\n leftPad(\n 'Info: Resources under IaC, but different to terraform states.',\n 2,\n ),\n );\n output += addLine(\n leftPad('Resolve: Reapply IaC resources or update into terraform.', 2),\n );\n output += '\\n';\n\n return output;\n}\n\nfunction getHumanReadableSummary(analysis: DriftAnalysis): string {\n let output = addLine(chalk.bold('Test Summary'));\n output += '\\n';\n\n // TODO: driftctl to return number of states\n if (analysis.managed) {\n output += addLine(\n leftPad(\n 'Managed Resources: ' + chalk.bold(analysis.managed.length.toString()),\n 2,\n ),\n );\n }\n if (analysis.differences) {\n output += addLine(\n leftPad(\n 'Changed Resources: ' +\n chalk.bold(analysis.differences.length.toString()),\n 2,\n ),\n );\n }\n if (analysis.missing) {\n output += addLine(\n leftPad(\n 'Missing Resources: ' + chalk.bold(analysis.missing.length.toString()),\n 2,\n ),\n );\n }\n\n if (analysis.unmanaged) {\n output += addLine(\n leftPad(\n 'Unmanaged Resources: ' +\n chalk.bold(analysis.unmanaged.length.toString()),\n 2,\n ),\n );\n }\n output += '\\n';\n\n output += addLine(\n leftPad(\n 'IaC Coverage: ' + chalk.bold(analysis.coverage.toString() + '%'),\n 2,\n ),\n );\n output += addLine(\n leftPad(\n 'Info: To reach full coverage, remove resources or move it to Terraform.',\n 2,\n ),\n );\n output += '\\n';\n\n output += addLine(\n leftPad('Tip: Run --help to find out about commands and flags.', 2),\n );\n output += addLine(\n leftPad(\n 'Scanned with ' +\n analysis.provider_name +\n ' provider version ' +\n analysis.provider_version +\n '. Use --tf-provider-version to update.',\n 6,\n ),\n );\n return output;\n}\n\nfunction addLine(line: string): string {\n return line + '\\n';\n}\n\n// Used when we are sure the key exists because we just set it but typescript linter does not see that...\nfunction mustGet(map: Map, key: string): T {\n const value = map.get(key);\n if (!value) {\n throw new Error('Key does not exists');\n }\n return value;\n}\n","import * as tar from 'tar';\nimport { promises as fsPromises, constants as fsConstants } from 'fs';\nimport { promisify } from 'util';\n\nexport async function isExe(path: string): Promise {\n try {\n await fsPromises.access(path, fsConstants.X_OK);\n return true;\n } catch (err) {\n return false;\n }\n}\n\nexport async function isExists(path: string): Promise {\n try {\n await fsPromises.stat(path);\n return true;\n } catch (err) {\n return false;\n }\n}\n\nexport async function createDirIfNotExists(path: string): Promise {\n const isDirExists = await isExists(path);\n if (!isDirExists) {\n fsPromises.mkdir(path, { recursive: true });\n }\n}\n\nexport async function isFile(path: string): Promise {\n try {\n return (await fsPromises.stat(path)).isFile();\n } catch (err) {\n return false;\n }\n}\n\nexport async function isArchive(path: string): Promise {\n try {\n const tarList = promisify(tar.list);\n await tarList({ file: path, strict: true });\n return true;\n } catch (e) {\n return false;\n }\n}\n\nexport async function saveFile(\n dataBuffer: Buffer,\n savePath: string,\n): Promise {\n await fsPromises.writeFile(savePath, dataBuffer);\n await fsPromises.chmod(savePath, 0o744);\n}\n","import { CustomError } from '../errors';\nimport { IaCErrorCodes } from '../../cli/commands/test/iac/local-execution/types';\nimport { getErrorStringCode } from '../../cli/commands/test/iac/local-execution/error-utils';\n\nexport const services2resources = new Map>([\n // Amazon\n [\n 'aws_s3',\n [\n 'aws_s3_bucket',\n 'aws_s3_bucket_analytics_configuration',\n 'aws_s3_bucket_inventory',\n 'aws_s3_bucket_metric',\n 'aws_s3_bucket_notification',\n 'aws_s3_bucket_policy',\n ],\n ],\n [\n 'aws_ec2',\n [\n 'aws_instance',\n 'aws_key_pair',\n 'aws_ami',\n 'aws_ebs_snapshot',\n 'aws_ebs_volume',\n 'aws_eip',\n 'aws_eip_association',\n 'aws_volume_attachment',\n 'aws_launch_configuration',\n 'aws_launch_template',\n ],\n ],\n ['aws_lambda', ['aws_lambda_function', 'aws_lambda_event_source_mapping']],\n [\n 'aws_rds',\n [\n 'aws_db_instance',\n 'aws_db_subnet_group',\n 'aws_rds_cluster',\n 'aws_rds_cluster_endpoint',\n 'aws_rds_cluster_instance',\n ],\n ],\n ['aws_route53', ['aws_route53_record', 'aws_route53_zone']],\n [\n 'aws_iam',\n [\n 'aws_iam_access_key',\n 'aws_iam_policy',\n 'aws_iam_policy_attachment',\n 'aws_iam_role',\n 'aws_iam_role_policy',\n 'aws_iam_role_policy_attachment',\n 'aws_iam_user',\n 'aws_iam_user_policy',\n 'aws_iam_user_policy_attachment',\n ],\n ],\n [\n 'aws_vpc',\n [\n 'aws_security_group',\n 'aws_security_group_rule',\n 'aws_subnet',\n 'aws_default_vpc',\n 'aws_vpc',\n 'aws_default_security_group',\n 'aws_route_table',\n 'aws_default_route_table',\n 'aws_route',\n 'aws_route_table_association',\n 'aws_nat_gateway',\n 'aws_internet_gateway',\n ],\n ],\n [\n 'aws_api_gateway',\n [\n 'aws_api_gateway_resource',\n 'aws_api_gateway_rest_api',\n 'aws_api_gateway_account',\n 'aws_api_gateway_api_key',\n 'aws_api_gateway_authorizer',\n 'aws_api_gateway_base_path_mapping',\n 'aws_api_gateway_domain_name',\n 'aws_api_gateway_gateway_response',\n 'aws_api_gateway_integration',\n 'aws_api_gateway_integration_response',\n 'aws_api_gateway_method',\n 'aws_api_gateway_method_response',\n 'aws_api_gateway_method_settings',\n 'aws_api_gateway_model',\n 'aws_api_gateway_request_validator',\n 'aws_api_gateway_rest_api_policy',\n 'aws_api_gateway_stage',\n 'aws_api_gateway_vpc_link',\n ],\n ],\n [\n 'aws_apigatewayv2',\n [\n 'aws_apigatewayv2_api',\n 'aws_apigatewayv2_api_mapping',\n 'aws_apigatewayv2_authorizer',\n 'aws_apigatewayv2_deployment',\n 'aws_apigatewayv2_domain_name',\n 'aws_apigatewayv2_integration',\n 'aws_apigatewayv2_integration_response',\n 'aws_apigatewayv2_model',\n 'aws_apigatewayv2_route',\n 'aws_apigatewayv2_route_response',\n 'aws_apigatewayv2_stage',\n 'aws_apigatewayv2_vpc_link',\n ],\n ],\n ['aws_sqs', ['aws_sqs_queue', 'aws_sqs_queue_policy']],\n [\n 'aws_sns',\n ['aws_sns_topic', 'aws_sns_topic_policy', 'aws_sns_topic_subscription'],\n ],\n ['aws_ecr', ['aws_ecr_repository']],\n ['aws_cloudfront', ['aws_cloudfront_distribution']],\n ['aws_kms', ['aws_kms_key', 'aws_kms_alias']],\n ['aws_dynamodb', ['aws_dynamodb_table']],\n // Azure\n ['azure_base', ['azurerm_resource_group']],\n ['azure_compute', ['azurerm_image', 'azurerm_ssh_public_key']],\n ['azure_storage', ['azurerm_storage_account', 'azurerm_storage_container']],\n [\n 'azure_network',\n [\n 'azurerm_resource_group',\n 'azurerm_subnet',\n 'azurerm_public_ip',\n 'azurerm_firewall',\n 'azurerm_route',\n 'azurerm_route_table',\n 'azurerm_network_security_group',\n ],\n ],\n ['azure_container', ['azurerm_container_registry']],\n [\n 'azure_database',\n ['azurerm_postgresql_server', 'azurerm_postgresql_database'],\n ],\n ['azure_loadbalancer', ['azurerm_lb', 'azurerm_lb_rule']],\n [\n 'azure_private_dns',\n [\n 'azurerm_private_dns_a_record',\n 'azurerm_private_dns_aaaa_record',\n 'azurerm_private_dns_cname_record',\n 'azurerm_private_dns_mx_record',\n 'azurerm_private_dns_ptr_record',\n 'azurerm_private_dns_srv_record',\n 'azurerm_private_dns_txt_record',\n 'azurerm_private_dns_zone',\n ],\n ],\n\n // Google\n [\n 'google_cloud_platform',\n [\n 'google_project_iam_binding',\n 'google_project_iam_member',\n 'google_project_iam_policy',\n ],\n ],\n [\n 'google_cloud_storage',\n [\n 'google_storage_bucket',\n 'google_storage_bucket_iam_binding',\n 'google_storage_bucket_iam_member',\n 'google_storage_bucket_iam_policy',\n ],\n ],\n [\n 'google_compute_engine',\n [\n 'google_compute_address',\n 'google_compute_disk',\n 'google_compute_global_address',\n 'google_compute_firewall',\n 'google_compute_health_check',\n 'google_compute_image',\n 'google_compute_instance',\n 'google_compute_instance_group',\n 'google_compute_network',\n 'google_compute_node_group',\n 'google_compute_router',\n 'google_compute_subnetwork',\n ],\n ],\n ['google_cloud_dns', ['google_dns_managed_zone']],\n [\n 'google_cloud_bigtable',\n ['google_bigtable_instance', 'google_bigtable_table'],\n ],\n [\n 'google_cloud_bigquery',\n ['google_bigquery_table', 'google_bigquery_dataset'],\n ],\n ['google_cloud_functions', ['google_cloudfunctions_function']],\n ['google_cloud_sql', ['google_sql_database_instance']],\n ['google_cloud_run', ['google_cloud_run_service']],\n]);\n\nexport function verifyServiceMappingExists(services: string[]): void {\n if (services.length == 0) {\n throw new InvalidServiceError('');\n }\n for (const s of services) {\n if (!services2resources.has(s)) {\n throw new InvalidServiceError(\n `We were unable to match service \"${s}\". Please provide a valid service name: ${existingServiceNames()}`,\n );\n }\n }\n}\n\nexport function findServiceMappingForType(type: string): string {\n for (const service of services2resources.keys()) {\n if (services2resources.get(service)?.includes(type)) {\n return service;\n }\n }\n return '';\n}\n\nfunction existingServiceNames(): string {\n let res = '';\n for (const s of services2resources.keys()) {\n res += `${s},`;\n }\n return res.substring(0, res.length - 1);\n}\n\nexport function createIgnorePattern(services: string[]): string {\n return createIgnorePatternWithMap(services, services2resources);\n}\n\nexport function createIgnorePatternWithMap(\n services: string[],\n serviceMap: Map>,\n): string {\n let res = '*';\n const seenResources = new Set();\n for (const s of services) {\n const resourcePatterns = serviceMap.get(s);\n for (const rp of resourcePatterns || []) {\n // A resource might belong to multiple services, skip it if already processed\n if (seenResources.has(rp)) {\n continue;\n }\n res += `,!${rp}`;\n seenResources.add(rp);\n }\n }\n return res;\n}\n\nexport class InvalidServiceError extends CustomError {\n constructor(msg: string) {\n super(msg);\n this.code = IaCErrorCodes.InvalidServiceError;\n this.strCode = getErrorStringCode(this.code);\n this.userMessage = msg;\n }\n}\n"],"names":[],"sourceRoot":""}