diff --git a/deploy/cluster-development-predeploy.json b/deploy/cluster-development-predeploy.json new file mode 100644 index 00000000000..2341bcf0e67 --- /dev/null +++ b/deploy/cluster-development-predeploy.json @@ -0,0 +1,203 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "ci": { + "type": "bool", + "defaultValue": false + }, + "clusterName": { + "type": "string" + }, + "clusterServicePrincipalId": { + "type": "string" + }, + "diskEncryptionSetName": { + "type": "string" + }, + "fpServicePrincipalId": { + "type": "string" + }, + "kvName": { + "type": "string" + }, + "masterAddressPrefix": { + "type": "string" + }, + "routes": { + "type": "array", + "defaultValue": [] + }, + "rpServicePrincipalId": { + "type": "string" + }, + "shouldCreateKey": { + "type": "string" + }, + "shouldCreateKeyVault": { + "type": "string" + }, + "vnetAddressPrefix": { + "type": "string" + }, + "workerAddressPrefix": { + "type": "string" + } + }, + "resources": [ + { + "properties": { + "addressSpace": { + "addressPrefixes": [ + "[parameters('vnetAddressPrefix')]" + ] + } + }, + "name": "dev-vnet", + "type": "Microsoft.Network/virtualNetworks", + "location": "[resourceGroup().location]", + "condition": "[parameters('ci')]", + "apiVersion": "2020-08-01" + }, + { + "properties": { + "routes": "[parameters('routes')]" + }, + "name": "[concat(parameters('clusterName'), '-rt')]", + "type": "Microsoft.Network/routeTables", + "location": "[resourceGroup().location]", + "apiVersion": "2020-08-01" + }, + { + "properties": { + "addressPrefix": "[parameters('masterAddressPrefix')]", + "routeTable": { + "id": "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]", + "tags": null + } + }, + "name": "[concat('dev-vnet/', parameters('clusterName'), '-master')]", + "type": "Microsoft.Network/virtualNetworks/subnets", + "apiVersion": "2020-08-01", + "dependsOn": [ + "[resourceid('Microsoft.Network/virtualNetworks', 'dev-vnet')]", + "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]" + ], + "location": "[resourceGroup().location]" + }, + { + "properties": { + "addressPrefix": "[parameters('workerAddressPrefix')]", + "routeTable": { + "id": "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]", + "tags": null + } + }, + "name": "[concat('dev-vnet/', parameters('clusterName'), '-worker')]", + "type": "Microsoft.Network/virtualNetworks/subnets", + "apiVersion": "2020-08-01", + "dependsOn": [ + "[resourceid('Microsoft.Network/virtualNetworks/subnets', 'dev-vnet', concat(parameters('clusterName'), '-master'))]", + "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]" + ], + "location": "[resourceGroup().location]" + }, + { + "name": "[parameters('kvName')]", + "type": "Microsoft.KeyVault/vaults", + "location": "[resourceGroup().location]", + "properties": { + "tenantId": "[subscription().tenantId]", + "sku": { + "family": "A", + "name": "standard" + }, + "accessPolicies": [ + { + "tenantId": "[subscription().tenantId]", + "objectId": "[parameters('clusterServicePrincipalId')]", + "permissions": { + "keys": [ + "create", + "get", + "delete" + ] + } + } + ], + "enabledForDiskEncryption": true, + "enablePurgeProtection": true + }, + "condition": "[equals(parameters('shouldCreateKeyVault'), 'true')]", + "apiVersion": "2019-09-01" + }, + { + "properties": { + "kty": "RSA", + "keySize": 4096 + }, + "name": "[concat(parameters('kvName'), '/', parameters('clusterName'), '-', 'disk-encryption-key')]", + "type": "Microsoft.KeyVault/vaults/keys", + "location": "[resourceGroup().location]", + "condition": "[equals(parameters('shouldCreateKey'), 'true')]", + "apiVersion": "2019-09-01", + "dependsOn": [ + "[resourceId('Microsoft.KeyVault/vaults', parameters('kvName'))]" + ] + }, + { + "identity": { + "type": "SystemAssigned" + }, + "properties": { + "activeKey": { + "sourceVault": { + "id": "[resourceId('Microsoft.KeyVault/vaults', parameters('kvName'))]" + }, + "keyUrl": "[reference(resourceId('Microsoft.KeyVault/vaults/keys', parameters('kvName'), concat(parameters('clusterName'), '-', 'disk-encryption-key')), '2019-09-01', 'Full').properties.keyUriWithVersion]" + } + }, + "name": "[parameters('diskEncryptionSetName')]", + "type": "Microsoft.Compute/diskEncryptionSets", + "location": "[resourceGroup().location]", + "apiVersion": "2020-12-01", + "dependsOn": [ + "[resourceId('Microsoft.KeyVault/vaults/keys', parameters('kvName'), concat(parameters('clusterName'), '-', 'disk-encryption-key'))]" + ] + }, + { + "name": "[concat(parameters('kvName'), '/add')]", + "type": "Microsoft.KeyVault/vaults/accessPolicies", + "location": "[resourceGroup().location]", + "properties": { + "accessPolicies": [ + { + "tenantId": "[subscription().tenantId]", + "objectId": "[reference(resourceId('Microsoft.Compute/diskEncryptionSets', parameters('diskEncryptionSetName')), '2019-07-01', 'Full').identity.PrincipalId]", + "permissions": { + "keys": [ + "get", + "wrapKey", + "unwrapKey" + ] + } + }, + { + "tenantId": "[subscription().tenantId]", + "objectId": "[parameters('rpServicePrincipalId')]", + "permissions": { + "keys": [ + "create", + "delete" + ] + } + } + ] + }, + "apiVersion": "2019-09-01", + "dependsOn": [ + "[resourceId('Microsoft.Compute/diskEncryptionSets', parameters('diskEncryptionSetName'))]" + ] + } + ] +} diff --git a/deploy/cluster-predeploy.json b/deploy/cluster-predeploy.json deleted file mode 100644 index 1e2ffbd4e8a..00000000000 --- a/deploy/cluster-predeploy.json +++ /dev/null @@ -1,91 +0,0 @@ -{ - "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", - "contentVersion": "1.0.0.0", - "parameters": { - "ci": { - "type": "bool", - "defaultValue": false - }, - "clusterName": { - "type": "string" - }, - "clusterServicePrincipalId": { - "type": "string" - }, - "fpServicePrincipalId": { - "type": "string" - }, - "masterAddressPrefix": { - "type": "string" - }, - "routes": { - "type": "array", - "defaultValue": [] - }, - "vnetAddressPrefix": { - "type": "string" - }, - "workerAddressPrefix": { - "type": "string" - } - }, - "resources": [ - { - "properties": { - "addressSpace": { - "addressPrefixes": [ - "[parameters('vnetAddressPrefix')]" - ] - } - }, - "name": "dev-vnet", - "type": "Microsoft.Network/virtualNetworks", - "location": "[resourceGroup().location]", - "condition": "[parameters('ci')]", - "apiVersion": "2020-08-01" - }, - { - "properties": { - "routes": "[parameters('routes')]" - }, - "name": "[concat(parameters('clusterName'), '-rt')]", - "type": "Microsoft.Network/routeTables", - "location": "[resourceGroup().location]", - "apiVersion": "2020-08-01" - }, - { - "properties": { - "addressPrefix": "[parameters('masterAddressPrefix')]", - "routeTable": { - "id": "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]", - "tags": null - } - }, - "name": "[concat('dev-vnet/', parameters('clusterName'), '-master')]", - "type": "Microsoft.Network/virtualNetworks/subnets", - "apiVersion": "2020-08-01", - "dependsOn": [ - "[resourceid('Microsoft.Network/virtualNetworks', 'dev-vnet')]", - "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]" - ], - "location": "[resourceGroup().location]" - }, - { - "properties": { - "addressPrefix": "[parameters('workerAddressPrefix')]", - "routeTable": { - "id": "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]", - "tags": null - } - }, - "name": "[concat('dev-vnet/', parameters('clusterName'), '-worker')]", - "type": "Microsoft.Network/virtualNetworks/subnets", - "apiVersion": "2020-08-01", - "dependsOn": [ - "[resourceid('Microsoft.Network/virtualNetworks/subnets', 'dev-vnet', concat(parameters('clusterName'), '-master'))]", - "[resourceid('Microsoft.Network/routeTables', concat(parameters('clusterName'), '-rt'))]" - ], - "location": "[resourceGroup().location]" - } - ] -} diff --git a/deploy/env-development.json b/deploy/env-development.json index 41604f78774..18d7bc11d53 100644 --- a/deploy/env-development.json +++ b/deploy/env-development.json @@ -2,6 +2,9 @@ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { + "azureServicePrincipalId": { + "type": "string" + }, "ciAzpToken": { "type": "string", "defaultValue": "" @@ -235,11 +238,40 @@ "type": "Microsoft.Compute/virtualMachineScaleSets", "location": "[resourceGroup().location]", "condition": "[greater(parameters('ciCapacity'), 0)]", - "apiVersion": "2020-06-01", + "apiVersion": "2020-12-01", "dependsOn": [ "[resourceId('Microsoft.Network/virtualNetworks', 'dev-vnet')]" ] }, + { + "name": "[concat(resourceGroup().name, '-diskEncKV')]", + "type": "Microsoft.KeyVault/vaults", + "location": "[resourceGroup().location]", + "properties": { + "tenantId": "[subscription().tenantId]", + "sku": { + "family": "A", + "name": "standard" + }, + "accessPolicies": [ + { + "tenantId": "[subscription().tenantId]", + "objectId": "[parameters('azureServicePrincipalId')]", + "permissions": { + "keys": [ + "create", + "get", + "delete", + "recover" + ] + } + } + ], + "enabledForDiskEncryption": true, + "enablePurgeProtection": true + }, + "apiVersion": "2019-09-01" + }, { "sku": { "name": "Standard_D2s_v3", @@ -332,7 +364,7 @@ "name": "dev-proxy-vmss", "type": "Microsoft.Compute/virtualMachineScaleSets", "location": "[resourceGroup().location]", - "apiVersion": "2020-06-01" + "apiVersion": "2020-12-01" } ] } diff --git a/deploy/gateway-production.json b/deploy/gateway-production.json index bcd5ab2ed9f..eba7ed5be63 100644 --- a/deploy/gateway-production.json +++ b/deploy/gateway-production.json @@ -311,7 +311,7 @@ "name": "[concat('gateway-vmss-', parameters('vmssName'))]", "type": "Microsoft.Compute/virtualMachineScaleSets", "location": "[resourceGroup().location]", - "apiVersion": "2020-06-01", + "apiVersion": "2020-12-01", "dependsOn": [ "[resourceId('Microsoft.Network/loadBalancers', 'gateway-lb-internal')]", "[resourceId('Microsoft.Storage/storageAccounts', substring(parameters('gatewayStorageAccountDomain'), 0, indexOf(parameters('gatewayStorageAccountDomain'), '.')))]" diff --git a/deploy/rp-production.json b/deploy/rp-production.json index d91dcb3cda6..3cc45753574 100644 --- a/deploy/rp-production.json +++ b/deploy/rp-production.json @@ -485,7 +485,7 @@ "name": "[concat('rp-vmss-', parameters('vmssName'))]", "type": "Microsoft.Compute/virtualMachineScaleSets", "location": "[resourceGroup().location]", - "apiVersion": "2020-06-01", + "apiVersion": "2020-12-01", "dependsOn": [ "[resourceId('Microsoft.Authorization/roleAssignments', guid(resourceGroup().id, parameters('rpServicePrincipalId'), 'RP / Reader'))]", "[resourceId('Microsoft.Network/loadBalancers', 'rp-lb')]", diff --git a/hack/devtools/deploy-shared-env.sh b/hack/devtools/deploy-shared-env.sh index 5cf292da5fa..57c447e0b1d 100644 --- a/hack/devtools/deploy-shared-env.sh +++ b/hack/devtools/deploy-shared-env.sh @@ -48,6 +48,7 @@ deploy_env_dev_ci() { "proxyImage=arointsvc.azurecr.io/proxy:latest" \ "proxyImageAuth=$(jq -r '.auths["arointsvc.azurecr.io"].auth' <<<$PULL_SECRET)" \ "proxyKey=$(base64 -w0 /dev/null } @@ -65,6 +66,7 @@ deploy_env_dev() { "proxyImageAuth=$(jq -r '.auths["arointsvc.azurecr.io"].auth' <<<$PULL_SECRET)" \ "proxyKey=$(base64 -w0 /dev/null } @@ -84,6 +86,7 @@ deploy_env_dev_override() { "sshPublicKey=$(/dev/null } diff --git a/hack/validate-imports/validate-imports.go b/hack/validate-imports/validate-imports.go index 22e1159a342..af9c0a46f7d 100644 --- a/hack/validate-imports/validate-imports.go +++ b/hack/validate-imports/validate-imports.go @@ -124,6 +124,8 @@ func acceptableNames(path string) []string { return []string{"", "utilnamespace"} case "github.com/Azure/ARO-RP/pkg/util/recover": return []string{"", "utilrecover"} + case "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/keyvault": + return []string{"", "keyvaultclient"} case "github.com/Azure/ARO-RP/test/database": return []string{"testdatabase"} case "github.com/Azure/ARO-RP/test/util/dynamichelper": diff --git a/pkg/deploy/bindata.go b/pkg/deploy/bindata.go index f22fd3123f9..a7949784ad3 100644 --- a/pkg/deploy/bindata.go +++ b/pkg/deploy/bindata.go @@ -1,6 +1,6 @@ // Code generated for package deploy by go-bindata DO NOT EDIT. (@generated) // sources: -// cluster-predeploy.json +// cluster-development-predeploy.json // databases-development.json // env-development.json // gateway-production-managed-identity.json @@ -96,22 +96,22 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _clusterPredeployJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x55\x4d\x8f\xda\x30\x10\xbd\xf3\x2b\xa2\xb4\x52\x40\xca\x17\x48\x95\x2a\x6e\x3d\x55\x3d\x74\xbb\xd2\xae\xf6\x82\x72\x18\x9c\x81\x75\xeb\xd8\x96\xed\xd0\xd2\x8a\xff\x5e\x25\x21\x81\x38\x09\xec\x22\x38\xb4\x5a\xed\x65\x63\xcf\x8c\xdf\xbc\x37\x6f\xf8\x33\x72\x1c\xc7\x71\xdf\x6b\xf2\x8c\x19\xb8\x73\xc7\x7d\x36\x46\xea\x79\x14\x55\x27\x61\x06\x1c\xd6\x98\x21\x37\x21\xfc\xce\x15\x86\x44\x64\xfb\x3b\x1d\xcd\xe2\xe9\x87\x20\x9e\x06\xf1\x34\x4a\x51\x32\xb1\x2d\xe2\x1e\x31\x93\x0c\x0c\x86\xdf\xb5\xe0\xef\x5c\xbf\x7a\x81\x08\x6e\x90\x9b\x27\x54\x9a\x0a\x5e\x3c\x34\x0d\xe3\xe2\xaf\x0e\x90\xa0\x20\x43\x83\x4a\xbb\x73\xa7\x82\x55\x25\xd2\xd6\x77\x79\x66\xb6\x12\x8b\x12\x4b\x21\xd8\x3e\xbf\xb9\x4b\x71\x05\x39\x33\x4f\xc0\xf2\x22\x66\x05\x4c\x63\x13\xb1\xf3\x8f\x0a\xb3\x5c\x1b\x54\x77\x90\xe1\xf0\x0b\xda\x28\xca\xd7\xee\xa9\x02\x0f\xa8\x36\x94\xe0\xbd\xa2\x9c\x50\x09\xec\x4b\x7a\x59\xb9\x95\xbc\x56\xa5\x0c\x0a\x5c\x9f\xd2\x54\xa1\xd6\xf7\x0a\x57\xf4\xd7\x65\x85\x94\xc8\x0d\xea\xe1\x5c\x50\x0a\xb6\x67\x04\x58\x24\xbd\xa5\x37\x1c\xcd\x15\x10\xfe\x14\xea\xc7\xe5\xad\x8e\x8e\xca\xb9\x0a\xb5\xc8\x15\x29\xfb\x5d\x34\x31\x56\x29\xa9\x84\x44\x65\x68\x0f\x2b\xe5\x3d\x54\x48\x1e\x24\x90\xee\x54\xd9\x51\x15\x5e\xeb\xc1\x4e\xf0\xe2\xe0\x8c\xb1\xd7\xa1\xcd\x9b\x24\x6e\x6f\x6e\xd2\x39\xdd\xb5\x4e\x76\x96\x6c\xbc\xf2\x81\x9b\xe2\x26\x28\x5e\xb1\x65\xad\x49\xfc\x4a\x89\x12\x5a\xac\x4c\x78\x87\xa6\xa0\x3f\xda\x50\x65\x72\x60\xfb\x4f\x6d\x27\x32\x41\xc0\xec\x3d\xbf\xa8\x49\xfe\xac\x44\x2e\xc7\x93\xb0\xbe\x4c\xec\x2c\x22\x78\x4a\x9b\xb4\x63\x0a\x08\x2d\x7a\xb6\xc2\x41\xd2\xa3\xd5\x32\x8b\x67\x71\x10\x7f\x0c\xe2\x69\xef\xd4\xbc\x52\xd3\xc6\x05\x6d\x1c\xd5\x71\x87\xff\x21\x5e\x17\x44\x70\x02\x66\xdc\x6a\xe5\xb0\x82\xbc\x89\xef\x78\x81\x32\x3d\xbd\x0d\x33\x5f\x42\x78\x84\x25\xc3\x2b\xb1\x7e\x4b\x1a\xc1\x32\x69\x9b\xcd\x9e\x9d\xd5\xa5\xe2\x20\x47\xd9\xf4\xb0\xc1\x68\xda\xea\x9b\xa6\x63\xef\x24\x7b\x9e\xef\xbc\x54\x9e\x5e\x50\x95\x4e\xb0\x2e\x5a\xe7\x39\x63\x17\x7a\xaf\x9e\x11\xaf\x36\x61\xe4\xf9\xce\x49\x44\x15\x6d\xaf\x1a\x1a\xcb\xae\x91\xce\x97\x1c\x4d\x67\x80\x06\x47\xa1\xb3\xee\x25\xf2\x54\x7f\xe3\xbd\x5b\xec\x9c\x06\x16\x18\xcf\x77\x9a\xde\x07\xe4\xbf\x95\xa8\xad\x97\x92\xcb\xdc\x74\x73\x97\xf4\xfc\xdc\xbd\xb9\xe4\xbc\x4b\x2a\xda\xfe\x1b\x97\xd4\x60\x5a\x6e\x79\x99\x36\xf5\xbe\xf8\x97\xbd\x55\xfe\x97\x8c\x76\xa3\xbf\x01\x00\x00\xff\xff\x9c\xba\xe7\x92\xbd\x0c\x00\x00") +var _clusterDevelopmentPredeployJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x59\xdf\x6f\xdb\x36\x10\x7e\xcf\x5f\x21\x68\x03\xe4\x00\xb6\x24\x07\xfb\x95\xbc\x05\xdd\x3a\x04\xc3\xba\x60\xee\xb2\x07\xc3\x0f\x34\x79\x76\x58\x53\xa4\xc6\x1f\xee\xdc\xc1\xff\xfb\x40\xc9\x92\x2d\x89\xb2\x55\xd5\x6e\x8b\xa2\x2e\x50\x40\xe2\xf1\x78\xbc\xef\xbe\xe3\x47\xe5\xbf\x2b\xcf\xf3\x3c\xff\x5b\x85\x9f\x21\x41\xfe\x9d\xe7\x3f\x6b\x9d\xaa\xbb\x28\xca\xdf\x84\x09\xe2\x68\x09\x09\x70\x1d\xa2\x77\x46\x42\x88\x45\xb2\x1b\x53\xd1\x4d\x3c\xfe\x7e\x14\x8f\x47\xf1\x38\x22\x90\x32\xb1\xb1\x76\xaf\x21\x49\x19\xd2\x10\xbe\x51\x82\x7f\xe3\x0f\xf3\x15\xb0\xe0\x1a\xb8\x7e\x02\xa9\xa8\xe0\x76\xa1\x71\x18\xdb\x7f\x85\x41\x8a\x24\x4a\x40\x83\x54\xfe\x9d\x97\x87\x95\x4f\xa4\x95\xe7\xec\x9d\xde\xa4\x60\x5d\xcc\x85\x60\xbb\xf9\xe5\x18\x81\x05\x32\x4c\x3f\x21\x66\xac\xcd\x02\x31\x05\xa5\xc5\x76\x78\xe0\x98\x19\xa5\x41\xbe\x42\x09\xb4\xaf\xa0\xb4\xa4\x7c\xe9\x1f\x73\x30\x01\xb9\xa6\x18\x1e\x25\xe5\x98\xa6\x88\x3d\x90\x7e\xee\x08\x55\xab\x5f\x38\x96\x9b\x54\x53\xc1\x27\xa0\xfb\x47\xb6\x48\xcf\x15\xd4\x6a\xdd\x3f\x8a\x04\xd9\xf4\xdc\x13\x22\x41\xa9\x47\x09\x0b\xfa\x6f\x3f\x47\x52\x18\x0d\xaa\x7d\x2e\x92\x12\x6d\x4e\xd4\xc1\x74\xe6\x76\x7d\xb6\x4c\xa9\x67\x61\x18\x79\x21\x01\x69\xf8\x0d\x36\x67\x71\xf2\x64\x77\xd0\xcf\xd3\x9a\x83\x3e\x43\xea\xdf\x0a\xb9\xea\x8f\xe1\xd5\x81\x3b\x5f\x82\x12\x46\xe2\x0c\xc8\x69\x69\x53\x73\x95\x4a\x91\x82\xd4\xd4\x01\x77\x36\x8e\xf2\x48\x26\x29\xc2\xcd\xaa\xac\x5b\xe5\xf1\xd6\x16\x6c\x18\x4f\xf7\x9d\x67\x10\x34\xd2\x16\x5c\xcf\x7c\xe7\xdc\x59\xe3\xed\xb6\xf2\x66\x5b\xab\x47\x9e\xf3\xc8\x27\xb0\x1e\xd9\x55\xea\xf5\x5a\x24\xf1\x77\x8a\xa5\x50\x62\xa1\xc3\x57\xa0\x6d\xfa\xa3\x35\x95\xda\x20\xb6\x7b\x54\xf5\x89\x4c\x60\xa4\x77\x3d\x75\x5a\x24\xf9\x57\x29\x4c\x3a\xb8\x0e\x8b\xc1\x59\x7d\x16\x16\x9c\xd0\x72\xda\x61\x0a\x30\xb5\x7b\xae\x99\xa3\x94\x1e\xb4\xee\x9b\xf8\x26\x1e\xc5\x3f\x8d\xe2\xb1\xb3\x6a\xde\x13\xd3\x92\xde\xd5\x38\xf2\xd7\x8d\xfc\xb7\xe5\x75\x8a\x05\xc7\x48\x0f\x2a\x5b\xd9\xb7\xf8\xe0\x7a\xe8\x05\x23\xa9\x1d\x7b\x6b\xcf\x7c\x16\xc2\x6b\x34\x67\x70\xa6\xac\x5f\x32\x8d\xa8\x46\xd2\x6a\x36\x1d\xcd\xb8\x99\x8a\x3d\x1c\xd9\xa6\xdb\x09\x46\x49\x65\xdf\x94\x0c\x82\xa3\xd9\x0b\x86\x5e\x57\x78\x9c\x41\xe5\x38\xa1\xa5\xdd\x3a\x37\x8c\xf5\xe4\x5e\x51\x23\x41\x41\xc2\x28\x18\x7a\x47\x23\xca\xd3\xf6\x5e\x45\x53\xa3\x6b\xa4\xcc\x9c\x83\x6e\x14\x50\x6b\x29\x34\xce\xb1\x14\x38\x51\x7f\x70\x67\x17\x3b\x85\x41\x2d\x98\x60\xe8\x95\x7b\x6f\x81\xff\x52\xa0\x56\x56\x9a\xf5\x63\xd3\xc5\x59\xe2\x38\xee\xbe\xb2\xe4\x34\x4b\xf2\xb4\x7d\x31\x2c\x29\x82\xa9\xb0\xa5\x1b\x36\x45\xbf\xf8\x22\xb9\x55\x16\xc8\x61\x4c\xf9\x0d\xa1\x13\xf6\x85\xa2\x8d\xd6\xf6\xff\x33\x1d\xa9\xa7\x08\xaf\x81\x23\xae\x1f\x72\x2a\x2a\x33\x57\x58\xd2\xec\x86\x35\xb8\x0e\x8b\x31\x27\x58\x6a\x65\xda\xa9\xbd\x40\x09\x65\x56\xe4\xfb\xf7\x6d\x44\x2c\xb2\xa5\x34\xe2\x04\x49\xd2\x94\x91\x5b\xc7\xaa\x08\x63\xdb\x7a\x04\xa3\x98\x1e\x51\xae\xee\xb0\x3e\x68\xc3\xa5\x03\x31\x7f\x03\xb8\x70\xe0\x28\xbf\xe6\x8d\xc9\xdd\x23\x4b\x87\x29\xc8\x84\x2a\x4b\x62\x37\x46\x15\xe3\x15\x6c\x8e\x0b\xf6\xd2\x12\x67\xd7\xa4\x23\x0b\x97\x96\xcb\x86\xdc\x76\x9a\x11\x60\xa0\xc1\x2d\xf7\x8b\x5f\x53\xf6\x17\xbf\xad\x73\xa4\xf9\x76\xe6\x40\x1d\xb8\x65\x3d\x79\x29\xe4\xcf\x95\xaf\x00\xfe\x9d\xa7\xa5\x81\xd6\x19\x8f\x46\x2e\xe1\x51\x0a\x0d\xf8\xc0\xfc\x68\x97\xaf\x0a\x7f\xf8\xc7\x20\xa6\x2a\x4d\xc6\x75\x07\xcd\xba\x8d\x75\xdd\xe1\x6a\x30\xbe\x1d\xc5\xb7\x67\xd2\xb4\x2b\x9d\x71\xec\xcf\x89\x8b\x65\xb6\x54\x26\xf4\x9d\x25\xd9\x77\xf1\xed\x0f\xbd\x6f\x09\x45\x07\x1b\x7a\xc1\xc9\x93\x2e\x3b\x12\xa8\x5a\x8d\xa0\xc4\x68\xb4\x82\x4d\x9f\xf6\x17\x65\x95\x7e\x81\xcb\xdc\x69\x4c\x7b\xc1\xd9\xf3\xc4\x7d\xa8\x1c\x75\xb5\x1c\xd4\xd2\x5d\x20\xd1\x38\xd2\x3a\x94\x12\x25\xc0\x35\xd5\xcd\x0f\x2f\x15\x34\x26\x1b\xa5\x21\xb9\x57\x8a\x2e\x39\x90\xe3\x37\xcb\x93\x52\x12\x6b\xba\x76\x7e\xeb\x29\x4d\xf2\x14\xb8\x3f\xe3\xd4\xa2\xaf\x20\x7e\x8e\xa4\xb5\x6c\xab\x5c\x72\x05\x9b\xbf\x24\xdb\x2d\xbb\x00\x09\x1c\xc3\xa0\x53\x00\x59\xe5\xb6\x44\xd1\x4d\xb7\xb4\xd2\xc8\x8e\xee\x6b\xce\x9a\xbd\x34\x8c\x05\xd7\xe1\x1e\x8c\x30\x0b\x9c\xfe\x4d\xf5\xf3\xae\x50\x1d\x1b\xef\xa8\x74\x0f\x83\x74\x7e\x7f\xed\x44\xec\x17\x22\x49\x8d\x86\xa8\xe1\xe1\x72\x5f\x0d\xc6\x37\x97\xa2\xe4\x25\xc1\xed\x41\xeb\xae\x8d\x1b\x11\x87\x0a\xe9\xd0\x84\x6b\x7a\xeb\xa3\x48\xd2\xcf\x4d\xe3\x9d\xa2\x7f\x7b\x7d\xd7\xea\xa4\x85\x42\x7b\x52\xff\x58\x25\x75\xd1\xb3\xc3\x03\x2d\xf9\x29\x94\x64\x47\x7d\xf8\x56\xa2\xd4\xb6\xfb\x0e\xa6\x86\x17\xc6\xe7\x55\x93\xee\xa5\x3f\xc9\x6d\xc0\xf5\xa7\x93\xcf\xfd\x22\xf0\x91\x14\xfe\xd1\xc3\xe7\xb2\x02\xeb\x83\xb9\xda\xde\xa3\xaf\xf2\xe7\xed\xd5\xff\x01\x00\x00\xff\xff\x2a\x31\x27\xbd\x35\x1e\x00\x00") -func clusterPredeployJsonBytes() ([]byte, error) { +func clusterDevelopmentPredeployJsonBytes() ([]byte, error) { return bindataRead( - _clusterPredeployJson, - "cluster-predeploy.json", + _clusterDevelopmentPredeployJson, + "cluster-development-predeploy.json", ) } -func clusterPredeployJson() (*asset, error) { - bytes, err := clusterPredeployJsonBytes() +func clusterDevelopmentPredeployJson() (*asset, error) { + bytes, err := clusterDevelopmentPredeployJsonBytes() if err != nil { return nil, err } - info := bindataFileInfo{name: "cluster-predeploy.json", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} + info := bindataFileInfo{name: "cluster-development-predeploy.json", size: 0, mode: os.FileMode(0), modTime: time.Unix(0, 0)} a := &asset{bytes: bytes, info: info} return a, nil } @@ -136,7 +136,7 @@ func databasesDevelopmentJson() (*asset, error) { return a, nil } -var _envDevelopmentJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7b\x69\x6f\xa3\x4a\xf6\xf7\xfb\xfb\x29\xa2\x3c\x23\xa5\x5b\x4f\xa7\x03\x38\xee\x09\x23\xdd\x17\x18\x07\x8c\x8d\x89\x01\xb3\xce\xb4\xae\xa0\xaa\x82\xb1\x8b\x65\xa0\xc0\xc1\xa3\xfb\xdd\xff\x02\x2f\xf1\x16\xdb\xe9\x45\x1a\xcd\x6d\x5a\xe9\xc4\x70\xce\xa9\xaa\x53\x67\xad\x1f\xfe\xcf\x6f\x57\x57\x57\x57\xd7\x7f\xcb\xc1\x04\x45\xde\xf5\x3f\xae\xae\x27\x84\xa4\xf9\x3f\xee\xee\x96\x77\x3e\x47\x5e\xec\x05\x28\x42\x31\xf9\xec\x2d\x8a\x0c\x7d\x06\x49\xb4\x7a\x96\xdf\x31\x14\xdd\xbe\xa5\xe8\x5b\x8a\xbe\x83\x28\xc5\x49\x55\xd3\x8d\x51\x94\x62\x8f\xa0\xcf\xd3\x3c\x89\xff\xdf\xf5\xa7\xe5\x08\x20\x89\x09\x8a\x89\x89\xb2\x3c\x4c\xe2\x7a\x20\xfa\x33\x55\xff\x5b\x13\xa4\x5e\xe6\x45\x88\xa0\x2c\xbf\xfe\xc7\xd5\x72\x5a\x4b\xc6\x90\x5b\xa4\xe3\x64\x86\xe2\x9d\xfb\xcd\x33\x52\xa5\xa8\x16\x95\x93\x2c\x8c\x83\x95\xa4\xcd\x53\x88\x9e\xbd\x02\x13\xd3\xc3\x45\x43\x75\xbd\x79\xfc\xe7\xa7\x6d\xf9\xbc\x97\x7a\x20\x24\xd5\xdb\xf2\xc3\x98\x9c\x11\x4e\xbd\x21\x7b\x94\x24\x58\xf1\x22\xf4\x73\xe6\x9e\x66\xc9\x4b\xc5\xa3\x8c\x9c\x15\x7f\x82\x1d\x87\x28\x26\xdf\x29\xa4\x9b\x44\x5e\x18\xd7\x0b\x95\x3d\x1f\xe1\xef\x90\x24\x45\x5e\x70\x5e\x5b\x67\xf8\xb9\x82\x4c\x4e\xc8\x40\xa0\xc8\xd0\x59\x49\x03\x74\xc2\x22\x2e\x90\x51\xf8\x38\x04\xd2\x88\x83\x30\x43\x79\xce\x61\x9c\x00\x8f\x84\x49\x3c\x44\x64\x92\xc0\xef\x35\x08\x9d\x78\x24\x04\x17\x0d\xad\xcf\x8a\x1f\x61\x82\x3a\xf1\x62\xe8\x65\xf0\xf8\x98\x79\x3e\x19\x35\xc3\x9e\x56\xdb\x09\x85\x95\x69\xcc\x73\xb5\x1d\x86\xcf\x21\xf0\xc8\x8f\x74\x99\xdf\xb6\xc6\xba\xce\x50\x9e\x14\x19\x40\x75\x9c\xf9\xe7\x86\x66\x6f\xa8\x7c\x56\x1c\x8c\xdf\x3c\x88\x97\x9a\xbc\xfe\xe7\x6b\xbc\xfa\x70\x73\x5c\xe1\x37\x1f\xbf\x5e\xef\x08\xf8\x73\x6f\xc6\x69\x96\xa4\xf5\x7a\x51\x7e\x7c\xac\x8d\xd8\x43\xdb\x39\x39\xfe\x3e\xfd\xd9\x89\xac\x17\x05\x51\x79\x5b\xa6\xf1\x6d\x1a\xa6\xfb\xda\x5d\xeb\x7e\x18\x82\x2c\xc9\x93\x67\xf2\x59\x41\x64\x9e\x64\xb3\xbb\xbd\xc1\x51\xbe\xcf\xba\x9e\x4c\x33\xed\xb5\xf6\xc5\x2c\x29\xd2\x0f\x1f\x3f\xaf\x1f\x7e\xdd\xe7\x02\x49\x0c\xc3\x0d\x1b\xfa\x77\xe1\xe1\xfc\xc3\xf6\xa2\x5f\x03\xf7\xcd\xc7\x4f\x57\xd4\xc7\x03\x09\x5e\x1a\x6e\xa5\x1b\x86\x62\xa8\x5b\xea\xe1\x96\xa2\x8f\x9a\xdf\x7f\xde\xb7\x35\xde\x6a\xa7\x53\x0f\x1c\x1a\xea\x3e\xd5\x28\x43\xcf\xe1\xcb\x9e\xc1\x1d\x10\xd3\xd4\x32\x21\xde\xb1\xd7\x47\x89\xbe\x1e\xdc\xdd\xdb\xc6\x46\x4a\x5e\xf8\x31\x22\x6f\x0f\x75\x7c\xa6\x57\x17\xac\xf9\xed\x95\x35\xd9\x7c\x3d\x7b\xe6\xfe\xf8\xf4\xdf\x98\xf0\x46\xe2\xda\x06\x45\x8f\xa0\xb9\x57\xe9\xcd\x3a\x8e\x8b\x7a\x43\xcc\x4f\x5d\x1a\xbd\x5c\xda\xdb\x0b\x58\x2e\x62\xe9\x13\x7a\x9d\x1d\x42\x52\x35\x46\x7e\x76\xc4\x86\x33\x84\x3b\xee\x21\xc1\x0f\x37\x87\xae\x76\x4c\x7c\x7e\xf3\xe9\xea\x26\x4b\x6f\xe3\x3c\xb8\x39\xf0\x81\xa3\x43\x11\x2f\xa8\xd5\x10\x17\x18\x9f\x24\xfe\xf3\xbb\xf6\x71\x9c\x24\x38\x8c\x83\x93\xfb\x78\x70\xf7\xeb\xe5\x61\xaa\x96\x7a\x71\x8c\x2a\xc3\x8c\x14\x1e\x5e\x7d\xfc\x41\x11\xea\x67\xc6\x97\x30\xe5\x93\xf8\x39\x0c\x8a\xac\x19\xfb\xa7\xfb\xf3\x32\x6c\xfc\x40\x53\xdd\xd3\xf8\xdd\x2a\x2e\xd5\xc6\xba\xde\xbe\xfa\xef\x1d\x6f\x3f\xc8\x53\xfb\xd7\x09\xbb\xbb\x3a\x52\xf8\xfc\xc0\xe5\x1c\x24\xb9\xcd\x42\x96\xe9\xf2\xfc\xd4\xbf\xcb\x99\x56\xb5\xcd\xc5\x6e\x74\x24\x31\x94\x69\x3c\x5e\xf9\x87\x96\x14\x04\x75\xbc\x1c\xc1\x23\xe1\xe2\xcd\xd2\x67\x67\x42\x66\x1a\x8b\x73\xfa\x8d\x68\x73\x4d\x42\x94\x6d\x51\x5d\x94\xb8\xea\xf2\x6f\xd9\x8a\x6c\x1b\xfe\xdb\x33\xd9\xd0\xaf\xb6\xa4\xee\xb4\x4e\x6e\xf8\xbb\xb2\x71\xc3\x40\xb3\xcc\x67\xfa\xcb\xc3\x67\xa6\xdd\x3e\x93\xd8\x0e\x73\xf3\x1b\xcb\xdc\x9d\xba\x96\x24\x64\xab\xe2\x3d\x3d\xa5\x33\x1e\xfc\x0e\x6f\xbf\x7a\xf5\x95\x7a\xf4\xae\x47\xbc\x83\x92\x72\xbf\x1a\xff\x6e\xdf\xdc\xaf\x31\x81\x77\xa2\x4e\x38\x5e\x00\x9d\x53\xe7\x28\x4b\x48\x02\x12\x7c\xa6\xd0\x7a\x4a\x51\x6c\x8e\x94\x8b\xab\xac\xf7\x94\xce\xdf\x9a\x92\x56\x71\xf0\xbf\xbf\x76\x3e\x68\xba\x52\x14\xc3\xfc\x29\x3e\xaa\xf2\x1f\x11\x55\x8f\x84\x8a\xf7\xa5\x9e\x9d\x94\xb3\x6f\xc5\x5f\x2f\xc8\xd5\x67\x7b\xc1\x75\x67\xfc\x47\x97\xc9\xff\x28\x5b\xc7\xa6\xbc\x8e\x88\x9b\x26\xfa\x08\x0d\x78\x3d\x87\xda\xf5\xc5\xed\xdd\xfa\xce\x96\xb2\x48\x83\xcc\x83\x68\x94\xe0\x10\x1c\xf6\xe9\x1b\xb2\x28\x81\x4b\xb3\xf5\xe2\xc2\xc3\x17\x06\xf0\xa5\xda\x87\x1e\x98\x84\x31\x1a\x65\xc9\x73\x88\x4f\xf4\x46\x49\x7e\x8e\x64\xa9\x94\x24\x4a\x0b\x82\xb2\xba\xa1\x7e\x2d\xc9\x41\x78\x7b\xa2\xd2\xbd\xf6\x60\x14\xc6\x46\x8e\xb2\xf5\x0e\x01\x9c\x14\xf0\xb6\xc8\x51\x76\x8a\x0d\x87\x71\xf1\x72\x59\xfa\xd9\xf0\xc0\x30\xf7\x7c\x8c\x46\x5e\x9e\xcf\x93\x0c\x72\x05\x99\xa0\x98\x84\x1b\xaf\x25\x59\x81\xce\x44\xc6\x3c\x3f\x3c\xac\x3a\x4a\x98\xae\x0f\x58\xce\xe7\xae\xf5\x75\x5e\xea\xab\x74\xaf\x39\x34\xbb\xbe\x9b\x24\x11\xba\x7b\xd5\xd8\xdd\xe7\x3c\x9f\xdc\x79\x05\x99\x24\x59\xb8\x40\xf0\x8f\x19\x3a\x88\x53\x27\x05\xcf\x50\x75\x34\xc5\x6c\x1f\x19\x9d\x4d\x2f\xeb\xeb\xed\x3a\x6a\x7d\x1d\xcf\xc5\xe7\xf9\x8f\x3f\x79\x2b\x87\xe7\x24\xc9\xbc\xe0\xac\x99\x37\xb4\x61\xe4\x05\x48\x43\xcf\x28\x43\xf1\x89\xe3\x82\x0d\x7d\xb3\xcf\xf9\x64\x19\x31\x34\x04\x7b\xde\x7e\xab\x73\xc0\x92\x3c\x3f\xaf\xc8\x7b\x8f\xf2\x39\xe2\x65\x40\xbb\xfe\xfb\xad\x6c\x0e\xcf\xd1\x96\xaf\x59\x00\xd7\x25\xca\x1b\x35\xe8\xd5\x99\x42\x36\xc9\xbb\x61\x3e\x3b\xbf\x74\x90\x21\x8f\xa0\xa7\x74\x9d\xbc\x84\x2c\x89\x96\x47\xc2\x67\xe6\xb9\xc4\x29\xe0\x45\xa3\x5c\x6d\x6d\x20\x07\x40\x52\xc4\x64\x5d\x1a\x8f\x32\x14\x85\x45\xf4\x87\xac\xe9\xdf\x5c\xcf\xbf\xcb\x8e\x56\x2d\xfd\x45\x76\xb4\xa2\x95\x62\x82\xb2\x67\x0f\xa0\x0b\x5b\xc4\xf5\x75\x81\x52\x36\xf1\x32\xbc\x2d\xa3\x3c\xbf\x8d\x43\x70\xc9\x89\xc2\x3b\x6b\xcf\x15\x4f\x18\x79\x59\x75\x51\x88\xdc\x30\x5d\xdc\x16\x1f\xbb\x2e\x8f\x85\x57\xc7\x74\x11\xa6\xa0\x19\xfb\x1d\xa1\xef\xea\x1b\x95\xb3\xc3\xff\x8e\xd6\xfc\x28\xff\x8f\x6c\xd7\x77\x0e\x75\x2e\x8e\xd9\xdb\xd7\x99\x36\xe1\xe8\x0a\xbe\xc5\x54\x76\x05\xec\xd6\x99\xef\x4b\xf1\x6f\x4a\xdd\x37\x90\xc3\x53\xf3\xcb\x27\xf8\x7d\x36\xb2\x91\x03\xe3\x5c\x47\x84\x84\x71\xf0\x7d\x82\x96\xc2\x0e\x40\xbd\x6b\x2f\x4b\x6e\x41\xf8\xfe\x5d\x5f\x5f\xe7\xb3\xf7\x8f\xe1\x7a\x1f\xc7\xe5\xd4\x97\x51\x9e\xae\x40\xce\xcb\x79\xfb\xe9\xfb\xce\x19\xd0\x0b\x41\x71\x9d\xbd\x2f\xca\x2e\x1b\xea\x9f\x92\x49\x40\x7e\x2e\x85\x5f\x7d\x73\x26\xd9\x2e\x97\x5e\x43\x1b\xd7\xbc\xae\xf0\xf8\xba\xaa\x0b\x73\xcc\xba\x65\xe7\x8b\x9c\x24\x91\x0e\xb2\x30\x3d\x57\x7e\xed\xf0\xf6\xbc\x18\x62\x94\x6d\xb7\xcf\x9b\xb7\x1c\xce\x0a\xf0\x0a\x92\x18\xcb\x1e\x6d\x18\xc6\xc9\x96\x94\x77\x64\xc9\x7c\x2b\x04\x5c\x18\x6f\x6b\xc5\x13\x04\x08\x82\xdf\x14\x3f\xae\xf3\xa5\x9a\xea\x44\xe3\x7b\x39\xfa\x72\xff\x01\x24\x31\xf0\xc8\x87\xe5\xa7\x71\xa2\x37\x98\xed\x87\x1b\xc0\x98\x94\xc4\xd3\x98\x0f\x92\xdf\x6f\x3e\x7e\xba\xe1\x25\xce\x1d\x8d\x9f\x06\x8f\xca\xef\x37\x37\x37\x9f\x76\xdb\xde\xf5\x9b\x1f\x35\xe1\xcd\xcd\xbf\xe2\x9b\x9a\x7e\xf4\xf4\x24\x2b\xdc\xf0\xf1\x08\xfd\xfa\x6d\x8b\x2d\xfa\xfa\xbf\xfd\x39\xf0\x31\xa6\x7d\x9d\x23\x48\xef\xd0\x40\xd4\x26\x50\x34\x02\xd9\x0e\x02\x93\x12\x86\x9e\xd5\xa6\xd1\xa3\x10\xbb\x56\x9b\xe2\x83\x34\x87\x91\x79\x0f\x45\xb3\x70\x79\x8e\xf8\x3c\x97\x29\x63\x0e\x6b\xb8\x2f\x68\x3a\x57\xba\xa2\xc9\xc8\xad\x7e\xe9\xb7\x34\xc6\xad\x58\xc6\xb1\xfb\x39\x0c\xd2\x7b\x37\x56\x9e\xdd\x56\xbf\x84\x8c\xbb\x90\xf8\xfa\xbe\x34\xe0\xa3\x17\xc6\xb5\x27\x94\x6b\xb5\x67\x12\x4f\xe7\x12\x9f\xbf\x0c\xbb\x6f\xca\x4a\x7c\x86\xc6\x7e\xcf\x19\x20\xd1\x5d\xd8\x0c\xac\xfc\x16\x8c\x40\xc5\x95\x9e\xc8\x12\x57\x4d\x06\x20\xee\x10\x89\xa7\x88\x67\xd1\x73\xbf\xd5\xa7\x24\x71\x42\xc1\x5e\x67\xf1\x14\x3e\x94\xae\x38\x2f\xdc\xc8\x9c\xf9\xad\xfe\x04\xf4\xfa\xa5\x17\x99\x53\xc8\xb7\x4b\x10\x81\x12\xf4\xcc\x50\x66\xcc\xb9\x6b\xcd\x4b\x03\x77\x14\xd9\x80\xaa\x56\xd1\xb2\x66\xce\x88\x66\x76\x84\x31\x4f\xb5\xf8\xb8\x3f\xaf\xf5\x23\x5b\x98\x00\x91\xad\x20\xdf\x49\x60\x4f\x9b\x83\x45\x52\xca\xad\xce\xc4\x61\xc8\xc4\x65\xcc\x85\x1c\xd1\xa9\xd3\xea\x97\x80\x61\x23\xc8\xb7\xa7\x3e\x43\x95\x1e\x63\xb6\x41\xc5\x12\xcf\x52\x2a\xbf\xa5\x94\x6e\xac\x16\x8e\xad\x4c\xf9\x20\x6d\x43\x8b\x0a\x64\x7b\x16\x78\x56\x7b\x01\x45\x21\xf7\xb7\xe5\x32\x5a\x2e\x47\x2e\x76\x45\xb6\x72\xec\x4e\xe5\x33\x29\x76\x5a\x6a\xe1\xb7\xfa\xb1\xdc\xea\xd0\x4e\xc8\x62\x20\x9a\xf9\x6a\xee\x04\x44\x66\xee\x5a\xc2\xc2\xd5\xe9\xdc\xb1\x35\x0c\x5a\x2a\x51\xaa\x76\xe1\x33\x42\xe5\x30\x41\x51\xeb\x87\x0f\xd2\xa9\x63\xab\xc1\x28\x64\x31\x14\x87\x25\xb2\x4d\x22\xc7\x7d\x0c\x44\x76\x21\x47\x6a\xe9\xd8\x29\x0d\x22\xa3\x00\x91\x39\xf7\x2b\xee\x61\xc4\x43\x61\x4c\x39\x31\x8f\xeb\x26\xde\xac\x5c\x9d\x9e\xfa\x22\x86\x7c\xd4\x9e\xf8\x96\xc1\xae\xe8\x89\xc3\xbc\xa4\x7c\xd4\x9f\x00\xc6\xa4\x41\x34\x67\xbd\x9e\x46\x81\xde\xf0\x8b\x5c\xb1\x73\xc7\x52\x32\xc7\x82\x18\x54\xed\x5d\x1d\x30\x2c\x91\x5b\x98\xf6\xed\xd5\xf8\x8c\xf0\x05\xda\x7d\x2c\x5b\x4a\xee\xa9\x29\xf6\x23\x21\xf4\x45\x73\x36\xb2\x31\x06\xf3\x34\x06\x22\x9c\x7a\xa2\x39\xf5\x16\x74\xdb\xb5\x87\x03\xcd\x60\xc5\x8d\x0e\x75\x7a\x4d\x5f\xb9\x76\xa7\x1c\xd9\xfd\x04\x5a\x33\x02\xa2\x09\xf6\x79\xaa\x25\xdb\x0a\x06\xb1\x8b\x41\x48\x57\x5e\xcf\x4c\x65\x8b\x9d\x43\x11\x97\x7e\x24\xe4\xb2\xdd\x9f\xfb\xf6\x70\x7f\x1f\xb6\xd6\x3b\x0b\x5c\x91\x9d\x7a\x8c\x59\x49\x62\xfa\x22\x89\x70\xea\x54\x9d\xca\xe3\xe9\xd8\xb3\xd5\xea\x49\x6f\xfe\x9e\x23\x5b\x4b\x7c\xe6\x7e\xa1\x84\x1d\xca\xb7\x3b\x2d\xc7\xd6\xa6\x1e\x97\x0c\x34\x8a\x7d\x36\x67\xa6\x6e\x50\x78\x34\x9e\x52\x2f\xf2\xf4\x91\x92\xa7\xb3\x81\xd3\x32\xab\xc3\xfd\x86\xa5\xcf\xc0\xdc\xd5\x97\xb6\xe3\x32\x0f\xf5\xcf\x0c\x51\x70\x64\xd3\xae\x60\x60\xa5\x3f\xa6\xda\xac\x1c\xbd\xa4\x7e\x6c\xde\xcb\x96\x40\xdc\xae\x43\xc9\xb1\x36\x01\x61\x3b\x46\x61\xe7\x41\xea\xd5\x7f\x73\x44\xad\xb8\x12\xda\x4a\x25\x33\x2f\xa5\xc3\x08\xb9\xc4\xd3\xf7\x28\x48\x73\x3f\xe4\x08\xd8\x7b\x26\x33\xb0\x94\x99\x7e\xea\x87\x0f\xff\x96\x78\x96\x06\x2d\xa9\xf4\x45\x76\xea\x58\xf3\xd2\x89\x70\xc1\x07\xa9\x65\xd0\xda\xd8\xa6\x84\x9e\x66\xb4\x8d\xd7\xb9\xdc\xb3\xc3\xf0\xfe\xe5\xa9\x1b\x14\xc3\x79\x4a\x3c\x46\x4b\x41\xb8\xf2\x49\x9d\x9d\xfa\x22\x4b\xbb\x3c\x4d\x03\xc6\xac\x64\x66\x15\x43\xe2\x0e\x0d\x98\xc9\x4c\xe2\x97\x3e\x2d\x33\x4a\xee\xb7\xcc\x99\x6c\x9b\x0b\xd7\x96\xca\xda\x56\xfc\x58\x3d\xd4\x4f\xcb\x5d\xc0\x9e\x52\xfb\x59\x01\x7b\x6b\x9f\x33\x8a\xa5\x0d\x9a\xd8\x15\x21\x96\xa3\x36\x86\x3c\xbb\xa4\xe1\x1f\x66\x88\x76\xc7\xa6\xa0\x3c\xab\x06\x14\xc6\x58\x7b\xdd\x87\x98\x2a\x61\xac\x50\xa0\xa2\x57\xb4\x74\xde\xc4\x39\x9e\xbe\x57\xa6\x2a\xe9\xf7\xc8\x1b\xeb\x6d\xb3\xc7\x74\x8d\x7a\xc9\xc0\x61\x26\x25\x64\xee\x03\xd9\x94\x02\x87\x79\x29\xa1\xa5\x12\x58\xdb\xdd\x34\xdd\xd1\x83\xc4\xdf\x0f\xf8\xf0\xbe\xd1\xab\xcc\xe0\x02\xb4\xb4\x89\x2f\xbe\xcc\x5c\xbb\x83\xfd\x48\xc3\x7e\xa4\xa4\xae\x3d\x2c\x00\x13\x0c\x40\xcb\x9c\xf9\x15\x47\xa0\xde\xd9\x97\x51\x3a\x0c\x5b\xb8\x11\x8e\xe5\x58\x49\xea\xb8\x07\xad\xf6\x04\xf6\xb4\x46\x46\x1d\x9b\x65\xfb\xc0\xbe\x30\x0c\xdb\x2b\xbb\x5e\xda\x97\x6f\x2b\xab\xcf\x75\x6c\x13\x68\x28\x06\x01\x10\x05\xaa\x91\x27\xb2\x99\x6b\xdd\x07\x52\xa8\x75\x75\x43\xf0\x0c\x41\x1b\xe9\x94\xf9\x24\x85\xb5\xec\x4e\xe9\x33\xf3\xe5\x33\xb3\x33\x1a\x53\x2f\x4f\xaa\x41\x0b\xcd\x33\x6b\xb9\xcf\x12\xdf\xef\x18\xb3\x07\x62\xcc\x26\x75\x0c\x9d\xe9\x8f\xec\xd8\x7c\x6c\x77\xc6\x86\x11\xd6\xf2\x9b\x18\x23\x0a\x53\x57\x4d\x0a\xb9\xa5\x30\x4e\xd5\x5e\x78\x7c\x27\xf5\x63\x85\x72\xac\x97\x5c\x12\x77\xec\x62\x00\x44\x76\xee\x72\xc9\x40\xaa\x3a\xc4\xb5\xfb\xb1\xab\x77\x52\x3f\xe4\x4a\xbf\xd5\xa1\xe4\x56\x3f\x69\x7e\xf4\xa4\x74\xad\xf6\xc4\x89\x5e\x30\x1f\x29\x13\xc8\x73\xff\x5f\x66\x26\xa5\x6f\x19\xe5\xce\x9e\x84\x1b\x1b\x29\xea\xf5\x7a\xfc\x56\xac\x0b\xd9\x12\xf4\xd4\x12\x44\x41\xfd\x43\x40\x0f\x53\x9e\xc8\x16\xc3\x85\x53\x82\x88\x2d\xe1\xca\x3f\xea\xfd\x7b\xda\xa3\x75\x19\x4c\x0d\xa7\xb3\x63\x74\x07\x3e\xb5\xbe\x77\xec\x39\xa8\x7d\x71\x9a\x2c\x7d\xb4\xa5\x84\x9e\x75\xff\xe5\xf8\x3a\x1e\x8a\x3d\x99\xc7\x7d\xaa\xf6\xe1\x99\x39\xd2\x82\xda\x4e\x05\x4a\xea\xde\x9f\xf4\x51\xb9\x6a\x63\x3f\x76\x82\x51\x77\x1e\xd7\x71\xb6\x3f\x4f\x87\x9a\xc0\x0e\x75\xa3\xaf\xab\x66\xdf\xb5\xe9\x4e\xc7\x7c\x0c\x58\x99\x61\xe7\x90\x67\x2b\xaf\xf9\xd9\x8e\x81\x6c\xe5\x33\x2c\x25\xb7\xcc\x05\x08\xd9\xdc\xb3\x24\x46\xe9\x26\xaf\x7b\xc5\x34\xb9\x79\x36\x9c\xaa\x3b\xba\xf2\x45\x1c\x2a\x53\x75\x30\x36\x84\x27\xe3\x51\x30\xf4\x2e\xb5\xbb\xbf\x76\xa7\x0d\xc5\x49\xe9\x4f\x87\xab\xda\x40\x5d\xeb\x28\x71\xea\xdc\xc1\xd0\x93\x5a\x6f\x3b\x3c\x16\x4c\x61\x57\x6a\xbf\x49\x1f\xa4\xaa\x66\xf6\x87\x8a\xf1\xd2\x57\xa7\xd4\xe5\xbc\xad\x0e\x06\xd1\x9c\x96\x5b\x6e\xed\x73\x25\xc0\xec\xdc\xb5\xfb\x39\x8f\x3b\xb2\x46\xb3\xdd\x31\xd5\x16\x75\x03\x3e\xbf\x6b\x1d\xcc\x4b\xea\x4c\x1d\x4a\x6e\x75\x32\x97\x51\x4a\x3f\x72\x53\x77\x9e\x3a\xda\x23\x7c\xd6\x1e\x05\x43\x35\xd9\x47\xdd\xec\x8f\x47\xfa\x65\x36\x0a\x98\xc9\x04\x44\xc6\x97\xf5\x3e\xf8\x8c\x32\xf1\x79\x76\xe1\x89\x42\xe5\x8e\x93\x9d\xf5\xac\xed\x03\x30\x66\x5d\x8f\xa5\x75\x4d\x2a\xf1\x70\x21\xd3\xed\x91\x21\x68\x75\xec\x1b\x8f\x74\x08\xfa\x15\x28\xc7\x74\xc7\xd0\x0d\xf6\xc9\x58\x50\xb1\xcd\x83\x58\x36\xc0\x6e\xcc\x0b\xb9\xb2\x5f\x71\xa5\x6b\x6b\x53\xb9\xa5\xb4\xc1\x7a\x2d\x15\x3b\xf3\x19\x25\xab\xfd\x99\x8f\x95\x36\x68\x69\xd8\xb7\x14\xca\xe7\x3b\xab\xfc\x6d\x6c\x72\xed\x7e\xad\x52\xd7\x55\x7e\xd8\x4e\xfc\x3a\x2f\xf4\x66\x25\x14\xe9\x39\x64\x04\xca\x61\x82\x2d\x3b\x4d\xa6\x92\xce\xd6\xfe\x52\x3a\x91\xb0\xa8\xf3\xaf\x6b\x4f\xb0\x53\x71\x4b\x9f\x0a\xd9\xd7\xdc\xcc\x73\x95\x22\x06\x81\xdc\xd2\x08\xe0\xd2\xda\xf7\xeb\x18\x4e\x7c\x46\x0d\x06\xad\x20\x90\x19\x93\x72\x2a\x76\x0a\x22\xb6\x90\xa3\x49\x09\xed\x7e\x8e\x74\x76\x27\xb7\x0f\x7a\x4a\xee\x5a\xe6\x5c\xea\x0e\xe7\x4f\x55\xa7\x72\xad\x66\x2f\x53\x89\x77\x06\x37\x1f\x3f\xfe\xb8\x23\xfc\x1f\xdc\x1e\x5f\x04\x5f\x25\x25\xca\xd2\x2c\x29\xc3\x55\xbf\xf5\xec\xe1\x1c\x5d\x04\xfd\xae\x5a\xdc\xf3\xd0\x2f\xbf\xc4\xb2\xee\x76\x91\x32\x1d\x78\x18\xe9\x88\xfc\x14\xec\x37\x68\xce\xd3\xb3\xef\x07\x7f\xbf\xfc\x70\xf0\xf7\x7f\x00\xa6\xa5\x7f\x61\xb1\xcb\x37\x1f\x9a\x17\xe6\x7f\x41\xb2\xbf\x20\xd9\xe3\xd7\x2f\x48\xf6\x17\x24\xfb\x0b\x92\x3d\x72\xbd\xe3\x20\xfd\x35\xcc\xfe\x42\x66\x8f\xab\xe4\xaf\x0a\xd0\x66\xe9\x06\x9f\xcd\xd2\xdb\xfc\x17\x36\xfb\xb6\x89\xfc\x05\x20\xda\xdd\x2f\x86\x1d\xf9\x72\xe6\x37\x99\xc6\xfa\xfa\x05\xe0\x5e\x22\xe7\x7f\x09\xc0\xdd\xf3\xa0\x5f\x38\xee\x45\x02\xfe\x32\x38\x2e\xe2\x92\xc1\xcd\xc7\x4f\x37\x23\xed\xc9\x76\xa4\x21\x27\x3e\xfe\xfe\xb7\x15\xf1\xd5\x2d\xbc\xfa\x57\x41\x51\x2d\xb0\xfd\xff\xcd\xcd\x1a\x90\xfd\x70\x10\xa9\x9a\xb2\xf2\xe6\x63\x83\xde\x7e\x6c\xe0\xdb\x57\xb1\x9c\x31\xee\x7d\xaf\xe8\xba\x15\x3c\x14\xcf\x3f\x6a\xe3\x03\x30\x79\xf3\xd5\xfa\x2d\x2c\x79\x49\x2d\x4b\x8f\xca\xf8\x04\xcf\xe6\xfb\xf4\xfb\x9c\x83\x47\xe7\x38\x4b\xd3\x6c\x9d\x44\xac\x91\x6d\x12\x89\xa7\xdb\x52\xcf\x9c\xbb\xa2\x40\xb9\x3a\x47\x10\xdf\xb1\x55\x63\x89\x8c\xa9\x2b\x14\x69\x43\x27\xae\x91\x96\xf9\xf6\x09\x63\xe4\xd9\x7d\x0c\x19\x21\xf7\x79\x7a\xea\x5b\x6a\x20\xeb\xf4\xc4\x15\xd5\x25\xca\xdb\xa5\x28\xa5\x3b\x2c\xa1\xa8\xcc\x1b\xc4\x42\x34\x2b\xdf\x12\x8a\x15\x12\xbe\x41\xbb\x96\x27\xae\x0f\xc5\x46\xee\x1a\x79\x58\x9d\xec\xca\x91\x56\x3a\x0c\xc1\x20\x64\xa7\x3e\xd3\x8e\x3c\x0b\x14\x5e\xac\x94\x7e\xc8\x3d\x8c\x1e\xcd\x91\x16\xa4\x7f\xe7\x83\x59\xe8\xd8\x26\xe5\xf5\x86\xe1\x53\xd8\xa9\x3f\xf7\xa5\x50\xfb\xbb\x21\xf4\x47\x96\x80\xfb\x63\x43\xe8\x69\xba\x81\xe5\x2a\x65\xa5\x69\x12\xa0\x79\xd2\xe7\xd5\x15\x0f\x2f\x7d\x91\x78\x69\xb6\x43\x6b\x08\xa6\xf9\x18\x84\xb5\x9c\x67\x35\xe9\x3f\xab\x29\xbb\x3c\xe1\x4d\x17\xc8\x56\x28\xd7\xa2\xa7\x50\x9c\x07\xb5\x4e\x40\xac\x6e\x74\x22\xc7\x0d\x52\x9a\x3a\x8c\x31\xd8\xa0\x9e\xbd\x0e\x5d\xeb\x4d\x0a\x35\xd5\x98\xb1\x8e\x65\x60\x45\x35\xa0\x20\x05\xc9\xc0\xb7\xc8\xcc\xb3\xa5\xf5\x69\xe9\x1c\x44\xec\x3d\x52\xd3\xd0\xb1\x15\xac\x4c\xd5\x40\xb6\xd4\x60\xd4\x9d\x3f\xbc\xf2\x2a\x82\x81\xd5\x50\xea\xde\xaf\x4e\x87\x3b\x95\xdf\x9a\xb4\x37\xbf\x23\xa5\x82\xdc\x29\x7e\x22\x58\xba\xb4\x39\x15\x06\xbd\x7e\x89\x7a\xb3\xf5\xef\xc2\x63\xcc\xf6\x12\x89\x36\x18\x85\xe7\x88\xcb\x73\x0f\xa3\xee\x3c\xec\x0b\x1d\x7d\x4c\x4f\x5c\x95\x7a\xe9\x6b\x46\xdb\x50\x29\x53\x37\xf9\x37\xe5\x34\x88\x76\x83\x84\x2c\xe7\x33\xf5\x44\xb6\xe5\x87\x1c\x31\x42\xee\x65\xd8\xe5\xe6\x4f\xd3\xc7\xf9\xb0\xcb\xed\xaf\x7b\xea\x89\x74\xe9\xf2\xdc\x5c\x99\x72\x73\x89\x3f\x31\xc7\xbd\xd3\x6d\xd0\xc2\x8b\x0d\xa2\xb7\xd2\x85\xd4\x9d\x3f\x34\x28\x37\x5e\xce\xdd\xa6\x96\x7a\x1f\xe9\x60\x77\xaf\x75\xb0\x46\xc3\x0f\x64\x42\xd1\x24\x2e\xcf\xae\xf6\x9c\xda\xcc\x01\x30\x66\x05\x23\x3c\x75\xf5\x1d\x94\xdf\xf4\x23\x4c\xd9\x6a\xda\x71\x63\x0d\x83\x29\xbd\x3e\xad\x7f\xa5\x57\x53\xdd\xb5\x05\xba\xf6\x1b\xb0\x38\xf6\x3c\x19\x58\xf4\xda\x86\x4c\xc8\xcf\xcc\x02\x46\xb8\xf2\x99\x36\xa9\xf5\xa9\x45\x38\x77\xc7\xd4\x31\x64\x60\xad\x43\x01\x89\xe6\xd4\x68\xec\x52\x53\x41\x64\xb0\xb2\xfe\x8a\x94\xc9\xcc\xda\x97\x3a\x95\xaf\x73\xc4\x0d\x39\xec\x07\xdb\x3c\x2a\xbb\x42\x3b\x1a\x14\xe0\xd5\x86\xfb\xb4\xdf\x20\x97\xfd\xe6\x2d\x11\x3f\x12\x88\xab\x73\xb8\x41\xc3\x79\xae\xf6\xf3\x2f\x4f\x5d\x95\x1a\x56\x1c\x81\x21\xb7\x63\x9b\x4f\x21\xbb\x70\x2d\xa5\x72\x6d\x6d\x21\xf1\x2b\x3b\x34\xd9\xa5\xee\x5f\xe7\x5b\x82\x2e\xb5\x42\x71\x1a\xa4\x61\xad\x9b\xda\xc7\x4a\xc0\x37\xf3\xd4\x5d\x5b\xa1\x1c\xbb\x4f\x8d\x2c\x21\x87\x8c\xd0\x06\xf3\xd7\x7b\x06\x63\x4e\x47\xe3\xc7\xc1\x6a\xed\x43\xcf\xa2\x53\xf8\x88\x0b\x28\xd6\xba\x15\xf2\xd1\x98\x1b\xf0\x98\xf4\xd7\x08\xa9\xad\xa6\xb6\x63\xb5\x29\xd7\xd2\x78\x34\xa6\x09\xb4\x5e\x28\x4f\x5f\x21\x79\xb1\x36\x01\x11\xc4\x70\x85\x6c\xbc\x85\xb6\x1c\xd8\x83\xfa\x0b\xd5\x38\xf1\x85\xb6\xd7\xba\xef\xbf\x04\xdc\x78\x13\x99\xf8\x6d\x57\x2d\x5f\x7f\xfb\xf3\xb7\xff\x0b\x00\x00\xff\xff\x31\xf7\x91\xb7\xdb\x48\x00\x00") +var _envDevelopmentJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7c\x6b\x6f\xa3\x4a\xd2\xf0\xf7\xf3\x2b\xa2\xbc\x2b\x65\x46\xef\x64\x02\x38\x9e\x0d\x2b\xed\x07\x8c\x03\xc6\xc6\xc4\x06\x83\x31\xbb\x47\x47\xd0\xdd\xc1\x6d\x37\x97\x85\x06\x07\xaf\xce\x7f\x7f\x04\xbe\xdf\x9d\x99\x8c\x9e\xd5\xb3\xc3\x28\x99\x84\xae\xaa\xee\xae\xae\x6b\x57\x39\xff\xfe\xed\xe6\xe6\xe6\xe6\xf6\x2f\x29\x18\xa3\xc0\xbd\xfd\xdb\xcd\xed\x98\xd2\x38\xfd\xdb\xc3\xc3\xe2\xcd\xd7\xc0\x0d\x5d\x1f\x05\x28\xa4\x5f\xdd\x79\x96\xa0\xaf\x20\x0a\x96\x63\xe9\x03\xc7\xb0\xf5\x7b\x86\xbd\x67\xd8\x07\x88\x62\x12\x15\x25\xdc\x00\x05\x31\x71\x29\xfa\x3a\x49\xa3\xf0\xff\xdd\x7e\x59\xcc\x00\xa2\x90\xa2\x90\x5a\x28\x49\x71\x14\x96\x13\xb1\x5f\x99\xf2\xdf\x0a\x20\x76\x13\x37\x40\x14\x25\xe9\xed\xdf\x6e\x16\xcb\xaa\xde\x57\xb3\x1a\x28\xc9\x31\x40\xbd\x04\x87\x00\xc7\x2e\x51\xe0\x0e\x50\x05\x48\x8b\x18\x95\x74\x53\x9a\xe0\xd0\xbf\x5d\x0f\xfe\xf9\x65\x43\x0c\x60\x61\x1e\x0f\xa2\x29\x0a\x2f\xe2\x7f\xd9\x1d\x85\xe8\xd5\xcd\x08\xb5\x5c\x92\x55\x50\xa7\xe8\x8b\x6e\xec\x02\x4c\x8b\xd3\xf4\x71\x48\x2f\x10\x67\x4e\xd0\xee\x45\x11\xd1\xdc\x00\xfd\x9c\xb5\xc7\x49\xf4\x56\x88\x28\xa1\xdf\xc7\xda\x05\x3a\xc1\x28\xa4\x3f\x48\xa4\x19\x05\x2e\x0e\xcb\x8d\xaa\xae\x87\xc8\x0f\x50\x52\x02\xd7\xbf\xcc\xad\x0b\xf8\x42\x46\xc7\x67\x68\x20\x90\x25\xe8\x22\xa5\x0e\x3a\x23\x11\x57\xd0\xc8\x3c\x82\x81\xd2\x13\x20\x4c\x50\x9a\x0a\x84\x44\xc0\xa5\x38\x0a\xbb\x88\x8e\xa3\xcb\xca\x70\x41\x20\x0c\xea\x52\x0c\xae\x9a\xda\x98\x66\x1f\x21\x82\x06\x75\x43\xe8\x26\xf0\xf8\x9c\x69\x3a\xee\x55\xd3\x9e\x67\xdb\x19\x86\xe5\x71\x28\x0a\xa5\x1c\xe2\x57\x0c\x5c\xfa\x91\x2a\xf3\xdb\xd6\x5c\xb7\x09\x4a\xa3\x2c\x01\xa8\x34\x5a\xff\x58\xc3\xec\x4d\x95\x4e\xb3\x83\xf9\xab\x81\x70\xc1\xc9\xdb\x7f\x6c\x8c\xdf\xa7\xbb\xe3\x0c\xbf\xfb\xfc\xfb\xed\x0e\x81\x3f\xf7\x56\x1c\x27\x51\x5c\xee\x17\xa5\xc7\xe7\x5a\x93\x3d\x94\x9d\xb3\xf3\xef\xc3\x5f\x5c\xc8\x6a\x53\x10\xe5\xf7\x79\x1c\xde\xc7\x38\xde\xe7\xee\x8a\xf7\x5d\x0c\x92\x28\x8d\x5e\xe9\x57\x0d\xd1\x59\x94\x4c\x1f\xf6\x26\x47\xe9\x3e\xea\x6a\x31\xd5\xb2\x57\xdc\x97\x93\x28\x8b\x3f\x7d\xfe\xba\x1a\xfc\x7d\x1f\x0b\x44\x21\xc4\x6b\x34\xf4\xaf\xcc\x25\xe9\xa7\xed\x4d\x6f\x0c\xf7\xdd\xe7\x2f\x37\xcc\xe7\x03\x0a\x6e\x8c\xb7\x7c\x17\xc7\x70\xcc\x3d\xf3\x74\xcf\xb0\x47\xc5\xef\xdf\xef\x3b\x1a\x77\x79\xd2\xb1\x0b\x0e\x05\x75\x1f\xaa\x97\xa0\x57\xfc\xb6\x27\x70\x07\xc0\x2c\xb3\xf0\xae\x0f\xfc\xed\x51\xa0\xdf\x0f\xde\xee\x1d\x63\x45\x25\xcd\xbc\x10\xd1\xd3\x53\x1d\x5f\xe9\xcd\x15\x7b\x3e\xbd\xb3\x2a\x34\x58\xad\x9e\x7b\x3c\xbe\xfc\x13\x0b\x5e\x53\x5c\xc9\xa0\xec\x52\x34\x73\x0b\xa3\xda\xc7\x71\x52\x27\xc8\xfc\xd4\xad\xb1\x8b\xad\x9d\xde\xc0\x62\x13\x0b\x9d\x30\x4a\xef\x80\x69\x51\x09\xf9\xc5\x19\x2b\x4c\x0c\x77\xd4\x43\x81\x9f\xee\x0e\x55\xed\x18\xf9\xf4\xee\xcb\xcd\x5d\x12\xdf\x87\xa9\x7f\x77\xa0\x03\x47\xa7\xa2\xae\x5f\xb2\x21\xcc\x08\x39\x0b\xfc\xe7\x0f\x9d\xe3\x20\x8a\x08\x0e\xfd\xb3\xe7\x78\xf0\xf6\xf7\xeb\xcd\x54\x49\xf5\x6a\x1b\x95\xe3\x84\x66\x2e\x59\xfe\xfa\x41\x16\xea\x67\xda\x17\x1c\x8b\x51\xf8\x8a\xfd\x2c\xa9\xe6\xfe\xe9\xfa\xbc\x30\x1b\x1f\x28\xaa\x7b\x1c\x7f\x58\xda\xa5\x52\x58\x57\xc7\x57\xfe\xbc\xa3\xed\x07\x7e\x6a\xff\x39\x23\x77\x37\x47\x02\x9f\x0f\xdc\xce\x81\x93\x5b\x6f\x64\xe1\x2e\x2f\x2f\xfd\x87\x94\x69\x19\xdb\x5c\xad\x46\x47\x1c\x43\x1e\x87\x83\xa5\x7e\xe8\x51\x46\x51\xc3\x4d\x11\x3c\x62\x2e\x4e\x86\x3e\x3b\x0b\xb2\xe2\x50\x9e\xb1\x27\xac\xcd\x2d\xc5\x28\xd9\x82\xba\xca\x71\x95\xe1\xdf\x22\x15\xd9\x16\xfc\xd3\x2b\x59\xc3\x2f\x8f\xa4\xcc\xb4\xce\x1e\xf8\xbb\xbc\x71\x85\xc0\xf2\xdc\x57\xf6\xdb\xd3\x57\xae\x5e\xbf\xe0\xd8\x0e\x7d\xf3\x89\x6d\xee\x2e\x5d\x8f\x22\xba\x15\xf1\x9e\x5f\xd2\x05\x0d\x7e\x87\xb6\xdf\x6c\x74\xa5\x9c\xbd\xe9\x52\xf7\x20\xa4\xdc\x8f\xc6\x7f\x58\x37\xf7\x63\x4c\xe0\x9e\x89\x13\x8e\x07\x40\x97\xd8\xd9\x4b\x22\x1a\x81\x88\x5c\x08\xb4\x5e\x62\x14\x5a\x3d\xed\xea\x28\xeb\x3d\xa1\xf3\xf7\xba\xa4\xa5\x1d\xfc\xcf\x8f\x9d\x0f\x92\xae\x18\x85\x30\x7d\x09\x8f\xb2\xfc\x23\xac\xea\x11\x53\xf1\x3e\xd7\xb3\xe3\x72\xf6\xa5\xf8\xf7\x2b\x7c\xf5\xc5\x5c\x70\x95\x19\xff\xd1\xe4\xd2\x3f\xf2\xda\xb1\x25\xaf\x2c\xe2\x3a\x89\x3e\x02\x03\x36\xf7\x50\xbb\xba\xb8\x7d\x5a\x3f\x98\x52\x66\xb1\x9f\xb8\x10\xf5\x22\x82\xc1\x61\x9e\xbe\x06\x0b\x22\xb8\x10\x5b\x37\xcc\x5c\x72\xa5\x01\x5f\xb0\xbd\xeb\x82\x31\x0e\x51\x2f\x89\x5e\x31\x39\x93\x1b\x45\xe9\x25\x90\x05\x53\xa2\x20\xce\x28\x4a\xca\x84\x7a\x13\x92\x03\x7c\x7f\x26\xd2\xbd\x75\x61\x80\x43\x33\x45\xc9\xea\x84\x00\x89\x32\x78\x9f\xa5\x28\x39\x87\x46\x70\x98\xbd\x5d\xe7\x7e\xd6\x38\x10\xa7\xae\x47\x50\xcf\x4d\xd3\x59\x94\x40\x21\xa3\x63\x14\x52\xbc\xd6\x5a\x9a\x64\xe8\x82\x65\x4c\xd3\xc3\xcb\xaa\xa3\x80\xf1\xea\x82\xe5\xb2\xef\x5a\x3d\x97\xa9\x6e\xa8\xbb\xd5\xa5\xd9\xed\xc3\x38\x0a\xd0\xc3\x86\x63\x0f\x5f\xd3\x74\xfc\xe0\x66\x74\x1c\x25\x78\x8e\xe0\x1f\x53\x74\x60\xa7\xce\x12\x9e\xa2\xe2\xa8\x8b\xd9\xbe\x32\xba\xe8\x5e\x56\xcf\xe9\x38\x6a\xf5\x1c\xf7\xc5\x97\xf1\x8f\x8f\x9c\xf2\xe1\x29\x8d\x12\xd7\xbf\x28\xe6\x15\x2c\x0e\x5c\x1f\xe9\xe8\x15\x25\x28\x3c\x73\x5d\xb0\x86\xaf\xce\x39\x1d\x2f\x2c\x86\x8e\x60\xcb\xdd\x4f\x75\x0e\x50\xa2\xd7\xd7\x25\x78\xeb\x59\xbd\x04\xbc\x30\x68\xb7\x7f\xbd\x57\xad\xee\x25\xd8\x7c\xe3\x05\x48\x19\xa2\x9c\x88\x41\x6f\x2e\x04\xb2\x51\xda\xc4\xe9\xf4\xf2\xd6\x41\x82\x5c\x8a\x5e\xe2\x95\xf3\x92\x92\x28\x58\x5c\x09\x5f\x58\xe7\xa2\xe8\x01\xaf\x9a\xe5\x66\xeb\x00\x05\x00\xa2\x2c\xa4\xab\xd0\xb8\x97\xa0\x00\x67\xc1\x1f\xaa\x6e\x7c\x77\x3c\xff\x2e\x39\x5a\xa6\xf4\x57\xc9\xd1\x12\x56\x09\x29\x4a\x5e\x5d\x80\xae\x4c\x11\x57\xcf\x15\x4c\x59\xdb\x4b\x7c\x9f\x07\x69\x7a\x1f\x62\x70\xcd\x8d\xc2\x3b\x63\xcf\x25\x0e\x0e\xdc\xa4\xb8\xca\x44\xae\x91\xae\x4e\x8b\x8f\x3d\xd7\xdb\xc2\x9b\x63\xbc\xc0\x31\xa8\xe6\x7e\x87\xe9\xbb\xf9\x4e\xe6\xec\xe0\xbf\x23\x35\x3f\x8a\xff\x91\xe9\xfa\xce\xa5\xce\xd5\x36\x7b\xfb\xb9\x90\x26\x1c\xdd\xc1\xf7\x88\xca\x2e\x81\xdd\x38\xf3\x7d\x2e\xfe\x24\xd5\x7d\x01\x39\xbc\x35\xbf\x7e\x81\x3f\x26\x23\x6b\x3a\x30\x4c\x0d\x44\x29\x0e\xfd\x1f\x23\xb4\x20\x76\x50\xd4\xbb\x75\x93\xe8\x1e\xe0\xf7\x9f\xfa\xea\xb9\xec\xbd\x3f\x06\xeb\x7d\x18\xd7\x43\x5f\x07\x79\x3e\x02\xb9\x4c\xe7\xf4\xe8\xfb\xee\x19\xd0\x1b\x45\x61\xe9\xbd\xaf\xf2\x2e\x6b\xe8\x9f\xe2\x49\x40\x7a\xc9\x85\xdf\x7c\xb7\x27\xd9\x0e\x97\x36\xa6\x4d\xa8\x7a\x1f\x9e\x37\xbb\xba\xd2\xc7\xac\x52\x76\x31\x4b\x69\x14\x18\x20\xc1\xf1\xa5\xf0\x6b\x07\xb7\xe5\x86\x90\xa0\x64\x3b\x7d\x5e\xb7\x4c\x5c\x24\xe0\x66\x34\x32\x17\x39\x5a\x17\x87\xd1\x16\x95\x77\x78\xc9\x74\xcb\x04\x5c\x69\x6f\x4b\xc6\x53\x04\x28\x82\xdf\x65\x3f\x6e\xd3\x05\x9b\x4a\x47\xe3\xb9\x29\xfa\xf6\xf8\x09\x44\x21\x70\xe9\xa7\xc5\x6f\x83\xc8\xa8\x6a\xb6\x9f\xee\x00\x67\x31\x8a\xc8\x12\xd1\x8f\xfe\x7e\xf7\xf9\xcb\x9d\xa8\x08\x4e\x6f\xf0\xd2\x79\xd6\xfe\x7e\x77\x77\xf7\x65\x37\xed\x5d\x75\x7e\x94\x80\x77\x77\xff\x0c\xef\x4a\xf8\xde\xcb\x8b\xaa\x09\xdd\xe7\x23\xf0\xab\x6e\x8b\x2d\xf8\xf2\xdb\xfe\x1a\xc4\x90\xb0\x9e\x21\x50\x64\x34\x58\x20\xeb\x63\x28\x9b\xbe\x6a\xfb\xbe\xc5\x48\x5d\x77\x58\x67\xd1\xb3\x14\x3a\xc3\x3a\x23\xfa\x71\x0a\x03\xeb\x11\xca\x56\xe6\x88\x02\xf5\x44\x21\xd1\x06\x02\xd1\x49\x5b\xd2\x0d\x21\x77\x64\x8b\x53\x6b\xed\xdc\xab\xe9\x9c\x53\xf0\xdc\xc8\x6e\xa7\xd0\x8f\x1f\x9d\x50\x7b\x75\x6a\xed\x1c\x72\xce\x5c\x11\xcb\xf7\x4a\x47\x0c\xde\x38\xc7\x1e\x33\xce\xb0\x3e\x55\x44\x36\x55\xc4\xf4\xad\xdb\x3c\x49\x2b\xf2\x38\x96\x78\xad\x51\x07\xc9\xce\xdc\xe6\x60\xe1\xd5\x60\x00\x0a\x21\x77\x65\x9e\x3a\xfd\xa8\x03\xc2\x06\x55\x44\x86\xba\x43\x76\xe6\xd5\xda\x8c\x22\x8f\x19\xd8\x6a\xcc\x5f\xf0\x53\xee\xc8\xb3\xcc\x09\xac\xa9\x57\x6b\x8f\x41\xab\x9d\xbb\x81\x35\x81\x62\x3d\x07\x01\xc8\x41\xcb\xc2\x2a\x67\xcd\x9c\xe1\x2c\x37\x49\x43\x53\x4d\xd8\xd7\x0b\x56\xd5\xad\x29\xd5\xad\x86\x34\x10\x99\x9a\x18\xb6\x67\x25\x7f\xd4\x21\xa1\x40\xe6\x0b\x28\x36\x22\xd8\xd2\x67\x60\x1e\xe5\x6a\xad\x31\x1e\x71\x74\xec\x70\xd6\x5c\x0d\xd8\x78\x54\x6b\xe7\x80\xe3\x03\x28\xd6\x27\x1e\xc7\xe4\x2e\x67\xd5\x41\xc1\x53\x77\xa8\x15\x5e\x4d\xcb\x9d\xb0\x9f\x8d\x6c\x6d\x22\xfa\x71\x1d\x0e\x19\x5f\xb5\xa7\xbe\x3b\xac\xcf\xa1\x2c\xa5\xde\x36\x5d\x4e\x4f\xd5\xc0\x21\x8e\xcc\x17\x23\xbb\x51\x78\x5c\x4c\x46\xb5\x7e\xe6\xd5\xda\xa1\x5a\x6b\xb0\x23\xcc\x13\x20\x5b\xe9\x72\xed\x14\x04\x56\xea\x0c\xa5\xb9\x63\xb0\xe9\xc8\xd6\x09\xa8\xf5\xa9\x56\xd4\x33\x8f\x93\x8a\x11\xe7\x67\x25\x7f\x44\x3f\x9e\x8c\xec\xbe\xdf\xc3\x3c\x81\x72\x37\x47\xb6\x45\xd5\xb0\x4d\x80\xcc\xcf\xd5\xa0\x9f\x8f\xec\x98\x05\x81\x99\x81\xc0\x9a\x79\x85\xf0\xd4\x13\xa1\x34\x60\x46\xa1\x48\xca\x24\xde\x2a\x1c\x83\x9d\x78\x32\x81\x62\x50\x1f\x7b\x43\x93\x5f\xc2\xd3\x11\xf7\x16\x8b\x41\x7b\x0c\x38\x8b\x05\xc1\x8c\x77\x5b\x3a\x03\x5a\xdd\x6f\x6a\xc1\xcf\x46\x43\x2d\x19\x0d\x21\x01\x45\x7d\x97\x07\x1c\x4f\xd5\x1a\x61\x3d\x7b\x39\x3f\x27\x7d\x83\x76\x9b\xa8\x43\x2d\x75\xfb\x31\xf1\x02\x09\x7b\xb2\x35\xed\xd9\x84\x80\x59\x1c\x02\x19\x4e\x5c\xd9\x9a\xb8\x73\xb6\xee\xd8\xdd\x8e\x6e\xf2\xf2\x9a\x87\x06\xbb\x82\x2f\x1c\xbb\x91\xf7\xec\x76\x04\x87\x53\x0a\x82\x31\xf1\x44\xa6\xa6\xda\x1a\x01\xa1\x43\x00\x66\x0b\xb7\x65\xc5\xea\x90\x9f\x41\x99\xe4\x5e\x20\xa5\xaa\xdd\x9e\x79\x76\x77\xff\x1c\xb6\xf6\x3b\xf5\x1d\x99\x9f\xb8\x9c\x55\x28\x72\xfc\xa6\xc8\x70\x32\x2a\x1a\x85\x2b\xb2\xa1\x6b\xf7\x8b\x17\xa3\xfa\x79\x86\x6c\x3d\xf2\xb8\xc7\xb9\x86\x1b\x8c\x67\x37\x6a\x23\x5b\x9f\xb8\x42\xd4\xd1\x19\xfe\xd5\x9a\x5a\x86\xc9\x90\xde\x60\xc2\xbc\xa9\x93\x67\x46\x9d\x4c\x3b\xa3\x9a\x55\x1c\x9e\x37\xcc\x3d\x0e\xa6\x8e\xb1\x90\x1d\x87\x7b\x2a\xbf\xa6\x88\x81\x3d\x9b\x75\x24\x93\x68\xed\x01\x53\xe7\xd5\xe0\x2d\xf6\x42\xeb\x51\x1d\x4a\xd4\x69\x8e\x18\x35\xd4\xc7\x00\xd7\x43\x84\x1b\x4f\x4a\xab\xfc\x59\xa0\xfd\x42\xc8\xa1\xad\x15\x2a\xf7\x96\x8f\x38\x29\x55\x44\xf6\x11\xf9\x71\xea\x61\x81\x82\xbd\x31\x95\x83\xb9\xca\xb5\x63\x0f\x3f\xfd\x4b\x11\x79\x16\xd4\x94\xdc\x93\xf9\xc9\x68\x38\xcb\x47\x01\xc9\x44\x3f\x1e\x9a\xac\x3e\xb0\x19\xa9\xa5\x9b\x75\x73\xb3\x96\x47\xbe\x8b\x1f\xdf\x5e\x9a\x7e\xd6\x9d\xc5\xd4\xe5\xf4\x18\xe0\xa5\x4e\x1a\xfc\xc4\x93\x79\xd6\x11\x59\x16\x70\x56\xa1\x72\x4b\x1b\x12\x36\x58\xc0\x8d\xa7\x8a\xb8\xd0\x69\x95\xd3\x52\xaf\x66\x4d\x55\xdb\x9a\x3b\xb6\x92\x97\xb2\xe2\x85\xfd\x43\xfe\xd4\x9c\x39\x6c\x69\xa5\x9e\x65\xb0\xb5\xd2\x39\x33\x5b\xc8\xa0\x45\x1c\x19\x12\x35\xa8\x13\x28\xf2\x0b\x18\xf1\x69\x8a\x58\x67\x60\x49\xda\x6b\xdf\x84\xd2\x80\xe8\x9b\x73\x08\x99\x1c\x86\x1a\x03\x0a\x76\x09\xcb\xa6\x95\x9d\x13\xd9\x47\x6d\xd2\xa7\xed\x16\x3d\xb1\xdf\x3a\x7f\x8c\xd7\xa8\x15\x75\x46\xdc\x38\x87\xdc\xa3\xaf\x5a\x8a\x3f\xe2\xde\x72\x38\xec\x53\x58\xca\xdd\x24\xde\xe1\x83\x22\x3e\x76\x44\xfc\x58\xf1\x55\xe5\x48\x06\x6a\xfa\xd8\x93\xdf\xa6\x8e\xdd\x20\x5e\xa0\x13\x2f\xd0\x62\xc7\xee\x66\x80\xf3\x3b\xa0\x66\x4d\xbd\x42\xa0\xd0\x68\xec\xd3\xc8\x47\x1c\x9f\x39\x01\x09\xd5\x50\x8b\x4a\xbb\x07\x87\xf5\x31\x6c\xe9\x15\x8d\xd2\x36\xab\xf6\x81\x7c\x11\x88\xeb\x4b\xb9\x5e\xc8\x97\x67\x6b\xcb\xdf\x4b\xdb\x26\xb1\x50\xf6\x7d\x20\x4b\x4c\x45\x4f\xe6\x13\x67\xf8\xe8\x2b\x58\x6f\x1a\xa6\xe4\x9a\x92\xde\x33\x18\xeb\x45\xc1\x25\xed\x46\xee\x71\xb3\xc5\x98\xd5\xe8\x0d\x98\xb7\x97\xbe\xc9\x4a\xd5\xd8\x70\x71\xce\x8a\xd8\x6e\x98\xd3\x27\x6a\x4e\xc7\xa5\x0d\x9d\x1a\xcf\xfc\xc0\x7a\xae\x37\x06\xa6\x89\x4b\xfa\x95\x8d\x91\xa5\x89\xd3\x8f\x32\xb5\xa6\x71\xa3\xa2\x3e\x77\xc5\x46\xec\x85\x1a\x33\x1a\xbe\xa5\x8a\xbc\x23\x17\x1d\x20\xf3\x33\x47\x88\x3a\x4a\xd1\xa0\x8e\xdd\x0e\x1d\xa3\x11\x7b\x58\xc8\xbd\x5a\x83\x51\x6b\xed\xa8\xfa\x32\xa2\xdc\x19\xd6\xc7\xa3\xe0\x8d\x88\x81\x36\x86\xa2\xf0\xff\x55\x6e\x9c\x7b\x43\x33\xdf\x39\x13\xbc\x96\x91\xac\xdc\xaf\x2b\x6e\xd9\x3a\xcc\xe7\xa0\xd5\xcf\x41\xe0\x97\x5f\x14\xb4\x08\xe3\xca\x7c\xd6\x9d\x8f\x72\x10\xf0\x39\x5c\xea\x47\x79\x7e\x2f\x7b\xb0\x0e\x47\x98\xee\x64\x7a\x0c\xee\x40\xa7\x56\xef\x8e\x8d\x83\x52\x17\x27\xd1\x42\x47\x6b\x1a\x76\x87\x8f\xdf\x8e\xef\xe3\x29\xdb\xa3\x79\x5c\xa7\x4a\x1d\x9e\x5a\x3d\xdd\x2f\xe5\x54\x62\x94\xe6\xe3\x59\x1d\x55\x8b\x3a\xf1\xc2\x91\xdf\x6b\xce\xc2\xd2\xce\xb6\x67\x71\x57\x97\xf8\xae\x61\xb6\x8d\xbe\xd5\x76\x6c\xb6\xd1\xb0\x9e\x7d\x5e\xe5\xf8\x19\x14\xf9\xc2\xad\xbe\xb6\x6d\x20\x5f\x78\x1c\xcf\xa8\x35\x6b\x0e\x30\x9f\xba\x43\x85\xd3\x9a\xd1\xe6\xac\xb8\xca\x37\x4f\xbb\x93\xfe\x0e\xaf\x3c\x99\x60\x6d\xd2\xef\x0c\x4c\xe9\xc5\x7c\x96\x4c\xa3\xc9\xec\x9e\xaf\xdd\xa8\x43\x79\x9c\x7b\x93\xee\x32\x36\xe8\xaf\x78\x14\x8d\x4a\xdf\xc1\xb1\xe3\x92\x6f\x3b\x38\x43\x18\xc3\xa6\x52\x3f\x09\xef\xc7\x7d\xdd\x6a\x77\x35\xf3\xad\xdd\x9f\x30\xd7\xe3\xd6\x1a\x04\x04\x33\x56\xad\x39\xa5\xce\xe5\x80\xf0\x33\xc7\x6e\xa7\x22\x69\xa8\x3a\xcb\x37\x07\x4c\x5d\x36\x4c\xf8\xfa\xae\x7d\x70\x6f\xf1\x68\x32\x62\xd4\x5a\x23\x71\x38\x2d\xf7\x02\x27\x76\x66\xf1\x48\x7f\x86\xaf\xfa\xb3\x64\xf6\x2d\xfe\xd9\xb0\xda\x83\x9e\x71\x9d\x8c\x02\x6e\x3c\x06\x81\xf9\x6d\x75\x0e\x1e\xa7\x8d\x3d\x91\x9f\xbb\xb2\x54\x38\x83\x68\x67\x3f\x2b\xf9\x00\x9c\x55\xc6\x63\x71\x19\x93\x2a\x22\x9c\xab\x6c\xbd\x67\x4a\x7a\x69\xfb\x06\x3d\x03\x82\x76\x01\xf2\x01\xdb\x30\x0d\x93\x7f\x31\xe7\x4c\x68\x8b\x20\x54\x4d\xb0\x6b\xf3\xb0\x90\xb7\x0b\x21\x77\x6c\x7d\xa2\xd6\xb4\x3a\x58\xed\xa5\xe0\xa7\x1e\xa7\x25\xa5\x3e\x8b\xa1\x56\x07\x35\x9d\x78\x43\x8d\xf1\xc4\xc6\xd2\x7f\x9b\x6b\x5f\xbb\x1f\xab\x94\x71\x95\x87\xeb\x91\x57\xfa\x85\xd6\x34\x87\x32\x3b\x83\x9c\xc4\x8c\x38\x7f\x4b\x4e\xa3\x89\x62\xf0\xa5\xbe\xe4\xa3\x40\x9a\x97\xfe\xd7\xb1\xc7\x64\x54\x08\x0b\x9d\xc2\xfc\xc6\x37\x8b\x42\xa1\xc9\xbe\xaf\xd6\x74\x0a\x84\xb8\xd4\xfd\xd2\x86\x53\x8f\xeb\xfb\x9d\x9a\xef\xab\x9c\xc5\x8c\x0a\x7e\x02\x02\x3e\x53\x83\x71\x0e\xed\x76\x8a\x0c\x7e\xc7\xb7\x77\x5a\x5a\xea\x0c\xad\x99\xd2\xec\xce\x5e\x8a\x46\xe1\x0c\xab\xb3\x8c\x15\x71\xd4\xb9\xfb\xfc\xf9\xe3\xae\xf0\x3f\x38\x3d\xbe\xaa\x7c\x15\xe5\x28\x89\x93\x28\xc7\xcb\x7c\xeb\xd5\x25\x29\xba\xaa\xf4\xbb\x4c\x71\x2f\x97\x7e\xc5\x45\x2d\xeb\x61\xb7\x52\x66\x00\x97\x20\x03\xd1\x9f\x52\xfb\xf5\xab\xfb\xf4\xe4\x87\x8b\xbf\x2c\xf7\xe1\xc5\xdf\x8f\x2e\xd3\xae\x3b\x73\x97\x99\xe7\x3e\xc7\xca\xf1\x2f\x37\x77\xf7\x10\xa7\xd3\xe7\x10\x74\xac\xc3\xea\xf2\x91\x33\xeb\xa0\xc2\x72\x33\x42\x1f\xf2\xf2\xfb\x07\x9d\xd1\xa5\x2a\x2d\x45\xa1\x1b\x52\x65\x71\x71\x9b\x66\xde\x22\xbb\xc6\x51\xf8\xe9\xf3\xd7\xd5\xd8\xd1\xca\xf8\xd9\xde\x9d\x57\x37\xc0\xa4\xaa\x2e\x0b\xa7\x1a\x77\x56\x3c\x4c\x0f\x7a\xbd\x8f\xf0\x7f\x8d\xe5\x02\x50\x35\xe0\x10\x0c\xf0\x99\x26\x96\x33\x77\x4f\xdf\xbb\xe1\x35\x81\xc8\x9b\x20\xb0\x22\xb0\x2d\xec\x27\x3e\x8b\x72\xbe\x55\xf2\x36\x46\x49\x80\xd3\xd5\x65\xd8\x85\x9a\xd5\xf4\xda\x82\xec\xb2\xba\x75\xcd\x3d\x98\x7f\xd0\xdd\x78\x14\x0c\x22\x82\xae\x23\x98\x20\x50\x5a\xb8\xf3\x16\xfa\xf4\xc5\xe5\x89\xa2\xd6\xc1\xdb\x63\x9d\x67\x28\x74\x3d\x82\xa0\x14\x25\xcd\x85\xea\x25\x45\x7c\xb6\x3a\xbe\xc4\xe8\x65\x49\x55\x60\xa5\x08\x6c\x81\x9f\x35\xc9\xfb\x96\x8b\xe5\xef\x19\xfe\xca\x96\xcc\xff\x85\x36\x0f\xf6\x57\x2f\xc7\xa2\x73\xaa\xfa\xc0\xcd\xaf\x96\x8e\x5f\x2d\x1d\xc7\x9f\x5f\x2d\x1d\xbf\x5a\x3a\x7e\xb5\x74\x1c\x79\xde\x51\x88\xdb\x98\xd9\x5f\x9d\x1d\xc7\x59\xf2\xdf\xda\xe0\x91\xc4\xeb\xfe\x8e\x24\xbe\x4f\x7f\xf5\x76\x9c\x16\x91\xff\x82\x16\x8f\xdd\x0f\x96\x1e\xf9\x70\xf7\x77\x89\xc6\xea\xf9\xd5\x00\x72\x0d\x9d\xff\x4b\x0d\x20\x7b\x1a\xf4\xab\x0f\xe4\x2a\x02\xff\x35\x7d\x20\x48\x88\x3a\x77\x9f\xbf\xdc\xf5\xf4\x17\x7b\xa4\x74\x05\xf9\xf9\xef\x7f\x59\x02\xdf\xdc\xc3\x9b\x7f\x66\x0c\x53\x03\xdb\xdf\xef\xee\x56\x0d\x1d\x9f\x0e\x2c\x55\x15\x56\xde\x7d\xae\xba\x3f\x3e\x57\xed\x1f\x1b\xb2\x82\x39\x68\xfd\x28\xe9\x32\x15\x3c\x24\x2f\x3e\xeb\x83\x83\x66\x94\xf5\x9f\xe6\xd8\xea\x45\x59\x40\xab\xca\xb3\x36\x38\x83\xb3\xfe\x7b\x1c\xfb\x98\x9d\xe7\xd1\x71\x94\x2a\xd9\x3a\xdb\xf1\x82\x6c\x8b\x2a\x22\x5b\x57\x5a\xd6\xcc\x91\x25\xc6\x31\x04\x8a\xc4\x86\xdd\x37\x17\x95\xf5\xfe\xb2\x0a\xbd\x86\x93\x57\x95\xda\xd9\x76\x85\x22\x70\xed\x36\x81\x9c\x94\x7a\x22\x3b\xf1\x86\x7d\x5f\x35\xd8\xb1\x23\xf7\x17\x5d\x22\x4d\x86\xd1\x9a\xdd\x1c\xca\xda\xac\xaa\x78\xca\x56\xe1\x0d\xa5\x6c\xd9\x49\xb3\xae\x96\x2f\x2a\x36\x4f\xd9\x9a\xee\xaa\x72\xb9\xac\x0c\xa9\x81\x9e\x8f\x38\x4a\x00\xe6\x27\x1e\x57\x0f\xdc\x21\xc8\xdc\x50\xcb\x3d\x2c\x3c\xf5\x9e\xad\x9e\xee\xc7\x7f\x15\xfd\x29\x1e\xd9\x16\xe3\xb6\xba\xf8\x05\x37\xca\xdf\xdb\x0a\xd6\xff\x6a\x4a\xed\xde\x50\x22\xed\x81\x29\xb5\x74\xc3\x24\x6a\x11\xf3\xca\x24\xf2\xd1\x2c\x6a\x8b\xfd\x25\x8e\xa8\x7c\x53\x44\x65\xba\x03\x6b\x4a\x96\xf5\xec\xe3\x92\xce\x6b\x3f\x6a\xbf\xf6\x63\x7e\x51\x21\x8a\xe7\xc8\xd6\x18\x67\xc8\x4e\xa0\x3c\xf3\x4b\x9e\x80\xb0\xbf\xe6\x89\x1a\x56\x9d\x16\xf1\x88\x33\x3b\xeb\xae\x89\x56\x83\x2d\xf9\xa6\x60\xbd\x6f\x4e\xf9\xd1\xd0\x24\x5a\xdf\x84\x92\xe2\x47\x1d\x6f\x48\xa7\xae\xad\xac\xaa\x2d\x33\x10\xf0\x8f\xa8\x1f\xe3\x91\xad\x11\x6d\xd2\xf7\xd5\x61\xdf\xef\x35\x67\x4f\x1b\x5c\x4d\x32\x49\x1f\x2b\xcd\xc7\x65\x75\xa9\x51\x78\xb5\x71\x7d\xfd\x7f\xa0\x15\x50\x38\x87\x4f\xa5\xa1\xa1\xac\xab\x4a\xa0\xd5\xce\x51\x6b\xba\xfa\x3f\x73\x39\xab\xbe\xe8\x64\x31\x39\x4d\x14\xa8\x23\x0a\x4f\xbd\xe6\x0c\xb7\xa5\x86\x31\x60\xc7\x4e\x9f\x79\x6b\xeb\x66\xdd\xec\x33\x96\x61\x89\x27\xe9\x54\x1d\x31\x55\x25\x75\xb1\x9e\x89\x2b\xf3\x35\x0f\x0b\xd4\xc4\xc2\x5b\xb7\x29\xcc\x5e\x26\xcf\xb3\x6e\x53\xd8\xdf\xf7\xc4\x95\xd9\xdc\x11\x85\x99\x36\x11\x66\x8a\x78\x66\x8d\x7b\xd5\x31\x50\x23\xf3\x75\x47\xc0\x92\x17\x4a\x73\xf6\x54\x75\xc9\x90\xc5\xda\x6d\x66\xc1\xf7\x9e\x01\x76\xcf\xda\x00\xab\x6e\x9a\x03\x9a\x50\xb6\xa8\x23\xf2\xcb\x33\x67\xd6\x6b\x00\x9c\x55\xc0\x80\x4c\x1c\x63\xa7\x4b\xc8\xf2\x02\xc2\xd8\xfd\xb8\xe1\x84\x3a\x01\x13\x76\x55\xed\xdb\xc0\xf7\x63\xc3\xb1\x25\xb6\xd4\x1b\x30\x3f\x36\x1e\x75\x86\xec\x4a\x86\x2c\x28\x4e\xad\x0c\x06\xa4\xf0\xb8\x3a\x2d\xf9\xa9\x07\x24\x75\x06\xcc\xb1\xca\xe2\x8a\x87\x12\x92\xad\x89\x59\xc9\xa5\xde\x07\x81\xc9\xab\xc6\xa6\xd2\xae\x72\x2b\x5d\x6a\x14\x9e\x21\x50\x07\x0b\xc4\xf3\xb7\x71\xfa\xfc\xb2\x5a\x5a\x55\x11\x37\x32\xdc\x66\xbd\xaa\xf3\xa1\x5d\x75\x99\x79\x81\x44\x1d\x43\x20\x55\x37\x8d\x28\x94\x7a\xfe\xed\xa5\xd9\x67\xba\x85\x40\x21\x16\x76\x64\xf3\x05\xf3\x73\x67\xa8\x15\x8e\xad\xcf\x15\x71\x29\x87\x16\xbf\xe0\xfd\x66\xbd\x39\x68\x32\xcb\x2a\x70\x55\xa9\x5c\xf1\xa6\xd4\xb1\x1c\x88\xd5\x3a\x0d\xc7\xd6\x98\x91\xdd\x66\x7a\x43\x29\x85\x9c\x54\x07\xb3\xcd\x3b\x93\xb3\x26\xbd\xc1\x73\x67\xb9\xf7\xae\x3b\x64\x63\xf8\x4c\x32\x28\x97\xbc\x95\xd2\xde\x40\xe8\x88\x84\xb6\x57\x1d\x16\x76\x3f\xb6\x47\xc3\x3a\xe3\x0c\x75\x11\x0d\x58\x0a\x87\x6f\x8c\x6b\x2c\x3b\x01\x42\x7d\x0c\x02\x48\xe0\xb2\x32\x7a\xaa\x5a\x7b\x20\x0f\xfd\x5f\x55\xd1\x33\x1f\x88\xdd\xc4\x7d\xff\x21\xc5\xd1\x93\x95\xcd\xdf\x76\xd9\xf2\xfb\x6f\x7f\xfe\xf6\x3f\x01\x00\x00\xff\xff\xd3\x45\xad\x3b\x68\x4d\x00\x00") func envDevelopmentJsonBytes() ([]byte, error) { return bindataRead( @@ -236,7 +236,7 @@ func gatewayProductionPredeployJson() (*asset, error) { return a, nil } -var _gatewayProductionJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x73\xa3\xb8\xb6\xe8\xf7\xfd\x2b\x52\x7d\x4f\x55\xa6\xeb\x74\x26\x80\xe3\xee\xb0\xab\xce\x07\xc0\x80\xc1\x18\x9b\x97\x78\xcc\x99\xda\x05\x88\x60\x82\x78\x6c\x03\xb6\xf1\xad\xfd\xdf\x6f\x09\x6c\xc7\x4e\xec\xbc\xba\xe7\x9e\xf3\x61\x7b\xaa\x7a\x62\x24\xad\xb5\xb4\xb4\xde\x12\xf2\xff\xfd\xdb\xd5\xd5\xd5\xd5\x97\xff\xa8\xc2\x45\x94\xf9\x5f\xfe\x7e\xf5\x65\x51\xd7\x65\xf5\xf7\xdb\xdb\xfe\xc9\xef\x99\x9f\xfb\x71\x94\x45\x79\xfd\xbb\xbf\x6d\x96\xd1\xef\x61\x91\xed\xda\xaa\x5b\x8a\x20\x87\x37\x04\x79\x43\x90\xb7\x30\x2a\x51\xd1\xe2\x7e\x66\x94\x95\xc8\xaf\xa3\xdf\x1f\xab\x22\xff\x3f\x5f\xbe\xf5\x18\xc2\x22\xaf\xa3\xbc\x06\xd1\xb2\x4a\x8a\x1c\x23\x22\x7f\x27\xf0\x7f\xfb\x0e\xa5\xbf\xf4\xb3\xa8\x8e\x96\xd5\x97\xbf\x5f\xf5\x64\x75\xcf\xfd\x70\xa9\x47\x55\xd1\x2c\xc3\x48\x82\x27\x4d\x5d\x73\xdd\x96\x11\x86\x56\xd5\xcb\x24\x8f\xbf\x1c\x1a\xff\xf5\xed\x08\x04\x26\x9c\x43\x45\x03\x55\x3f\x8b\x7e\x02\x86\x11\x85\x73\x3f\x4c\x81\xc1\x98\x51\xee\xe7\xf5\x67\x09\x82\x7e\xed\x07\x7e\x15\x31\x61\x58\x34\x79\xfd\x79\xaa\x60\x50\x17\x69\x94\x73\x28\x89\x7e\x82\x9a\x1e\x88\xb5\x44\x9f\x1b\x1f\xfb\x75\xb4\xf6\xdb\x51\x91\xf9\x49\x5e\xbd\x09\xe3\xdb\x69\x2b\x8c\x1e\xfc\x06\xd5\xc0\x47\x4d\xd7\xeb\x55\x1c\x42\xe4\xd7\xcd\x32\xfa\x6b\x91\x4c\x61\x05\xb9\x22\x7f\x48\xe2\x27\x69\xfd\x3c\x5b\x8c\x68\xb9\x4a\xc2\x68\xbe\x4c\xf2\x30\x29\x7d\xf4\xd9\x55\xda\x83\xab\x8b\xa5\x1f\xef\x25\xa7\xe7\xf9\x4f\x01\x04\x59\x55\x71\x7e\xe9\x87\x49\xdd\x5e\x06\x94\xe4\xf5\x1b\x3c\x1d\x9c\x45\x92\x46\xed\x0a\xf7\x1a\xa9\x86\xd1\x3c\x3c\x24\x9b\xcf\xd1\xba\x07\x33\x5f\x46\x9f\x86\x91\xc1\x4c\x58\x76\x56\x08\x7e\x5a\xd4\x33\x58\x41\x3e\x5f\x25\xcb\x22\xc7\xa6\xee\x73\x40\xf2\x22\xf7\x8a\xdc\x47\x7a\x14\x27\xc5\x6b\x0a\xe3\x2f\x97\x7e\xfb\x06\xdb\xff\x38\x69\xed\x7a\x44\x7e\x55\xfb\x55\xe2\x3f\x1b\xd9\xb5\x85\x51\x5e\x2f\x7d\x94\xe4\xf0\x7c\x7b\x5a\x2c\x23\x7f\xd7\xe9\x5c\x7b\xb5\x4e\xea\x6d\xb4\x44\x7e\x0e\xf3\x62\x59\x2f\xbe\x9c\x74\xf9\xf3\xec\x7c\x97\xa5\x94\xf9\xf1\x27\x2d\xdc\xb2\x9c\xc2\x6c\x27\xed\x9f\x87\x50\xc1\x5f\x00\x02\x9b\xe9\xaa\xf4\xc3\x4f\xcf\x64\xef\xc7\xc4\x65\xd1\x94\x9f\x37\xfa\xcb\xf2\x57\xd9\x94\xaa\x5a\xcc\x9b\x00\x25\xe1\x24\x7a\x45\xf7\x5f\x83\xb0\xca\x8c\x64\xfb\xf6\x3c\xde\x30\xc7\x46\xed\xe7\xd0\x5f\xc2\x7f\x8c\xa8\xea\x1f\xab\xc1\x25\x54\x55\xf5\x41\xa6\xfd\xed\x08\xc6\x97\xe5\x8e\xfb\xd5\x89\xd6\x3c\x03\x55\xa5\xcd\x0b\xf8\x5d\x43\xde\x63\x7e\x22\x55\xd1\x8d\x53\xe1\xff\xd7\xb3\x49\xa2\x22\xf4\xeb\x5d\xac\xf3\xc7\xf2\x78\xe9\x7f\xfb\xfa\xfb\xbe\xf1\xcf\xe7\xac\xd9\xe3\xf9\xa3\x6a\x82\x7e\x3e\xbf\x3d\x45\x46\xbf\x5d\xbf\xe2\x05\xae\xbf\x7e\xbb\x22\xbe\x5d\x25\x39\x8c\x36\xb3\x87\x8f\x8c\xba\xfe\xfd\xfa\xeb\xd7\x17\x94\xec\xb9\x3a\x4d\xc2\x65\x51\x15\x0f\xf5\xef\xbb\xf1\xb7\xd5\x09\x9c\xea\xf9\x40\xbf\x4c\x8e\xc2\x3c\x8a\x20\xe9\x1b\xe2\xee\x86\x20\xcf\x2e\xeb\x67\xf9\xff\x3a\xef\xcb\x65\x51\x46\xcb\x3a\x39\x13\x29\x74\xed\x0f\x3b\x47\x20\xcd\x7b\x47\xdf\x2c\xbb\xd5\xa8\xce\x1a\xd4\x97\x64\x7e\x04\xd7\xe9\xf4\x9a\x20\x8f\x5e\x1a\xa1\xb3\x7d\x13\x78\x22\x39\x12\xfc\xed\xfa\x69\x29\xd4\xa8\x5e\x17\xcb\xf4\x76\x95\x2c\xeb\xc6\x47\xbb\xaf\xd5\x6d\x8f\xa0\xba\xfe\x76\xb5\x5f\xf4\x9b\x55\x1e\xd5\xc7\xdf\xfb\x2e\xd7\x5f\xff\xfc\xf2\x2a\x0d\xff\xba\xd8\xfa\xaf\x97\x7e\xe1\x40\xf4\x7e\x99\xf6\xc8\xf6\x8c\x3e\xe3\x4b\x0e\x63\xb6\x45\xde\xf1\xee\xcb\x1f\xc9\xc3\x6f\x38\x4f\xc0\x61\xe4\x89\xfc\x3e\xf3\x98\xd7\x5f\xbf\xd5\x85\x52\xac\xa3\xe5\x6f\xcb\xa8\x44\x7e\x18\xfd\x76\x49\xbf\xbe\x5d\x5d\x5f\xe1\xc9\x5f\x7f\xfd\xfa\xf5\xdb\xf5\xf5\xb7\x32\x09\x53\x0f\xe3\x3b\xc3\x4c\xdc\xaf\xec\xcc\xa1\x34\x67\x20\x5c\x46\x55\x15\x61\x4e\x5e\x86\x3d\xf8\x7a\x89\x8b\x2f\xb9\xf7\xe7\x19\x6f\x1a\xf8\x61\x1a\xe5\x70\x87\x6c\x5e\x14\xe8\x53\x12\xf8\x9c\xe9\x3b\xb0\x3f\x43\x19\x2a\x7c\xc8\xfa\xc8\xcf\xc3\x24\x8f\xf5\x06\x45\x7f\xb9\x6a\x5c\x50\xc9\x5f\xa8\x2b\x4f\x73\x8a\x96\xd5\xed\x25\x13\x70\xac\x2a\x28\xb8\x49\xf2\x3a\x5a\xe6\x3e\x3a\x7e\xbc\x1f\xfa\xb6\x0e\x5d\x96\xfa\xab\xf3\xeb\xff\x97\x4d\xf7\x8c\xa8\xbd\x63\xa6\xbb\x51\x3f\x3d\xd1\x72\x59\x04\x2f\x1d\xf7\xaf\x9a\x5b\x07\xfd\x3d\xd3\xe9\x3a\xfe\x8a\xc9\xd4\x45\xd8\xad\xd5\x17\x33\x2c\x5f\x31\x6d\x57\x7b\x55\x1a\x25\xd8\x97\x07\xcd\x3e\x1e\x18\xf5\x01\xd0\x5b\x43\xf7\x82\x36\x2f\x96\xd8\x69\xdc\xdd\x0d\xde\x27\x50\x4f\xfd\x7f\x89\x11\x47\xc1\xb2\x41\xd1\x4d\x57\x19\xba\x60\x54\xce\x43\xfb\xb7\x69\xb8\xf8\xf9\xb7\x69\xd8\x11\xfc\x6f\xd3\xf0\x2b\x4c\xc3\x3d\xf1\x21\xcb\x70\x4f\xfc\x6a\xc3\xf0\x33\xc1\x46\xbf\x48\x7f\x75\x80\x71\xbc\x36\x63\x4c\xf1\x5b\x6b\xf9\x4e\xce\xe6\x4d\x16\x44\xcb\xd9\xc3\x7c\x3f\x0b\xea\x8d\x01\xcb\xe8\x9f\x4d\x54\xd5\x73\xbf\x5e\x60\x5a\x6e\x17\x91\x8f\xea\xc5\xf6\x76\x19\xf9\xb0\xbd\x2c\x7f\x1f\x59\x98\x5e\xa9\xde\xbb\x24\xaf\xa6\x52\x2f\xd7\xfc\xa0\x3f\x6f\x67\x8c\x67\x95\xf2\xf9\xb0\xcf\x25\xca\xcf\xb3\x4c\x8a\xb8\x21\xee\xdf\x99\x65\xbe\x95\x1e\x1e\x93\xbb\xaf\x19\x4a\xe5\xcf\xa7\x8a\xff\xcb\x7c\xd1\xfb\xb4\x33\xf9\x05\x13\xff\x77\x8e\x7c\x44\xf4\x0b\x65\x45\xd5\x0d\x41\x90\x37\x79\x12\xfe\xcc\x3a\x45\xb9\x1f\xa0\x68\xbe\x2c\x36\xed\xfc\xc9\xd4\xd5\xcb\x26\xfa\x90\x7e\xef\xa8\x79\xbf\x6e\x97\xcb\x64\xe5\xd7\x91\x92\xe4\xe9\xae\x2e\xf9\x57\x6b\xf8\x8b\x6a\x62\x19\xe5\xb0\x9a\xe5\xe7\xcb\xe1\x6f\x69\xd8\x39\xc3\x76\x02\xe5\x6c\x55\xfb\xa3\x75\xab\x3f\x8e\xeb\x19\x7d\xd5\xf4\xfa\x45\xcd\xad\xe7\x74\x12\x2d\x4f\x2a\x5d\xe7\xca\xf8\x4f\x1b\x36\xa7\x90\xcf\x6c\xea\xbc\x90\xe2\x8f\x16\xcb\x9a\x32\x5e\xfa\x30\x9a\x17\x28\x09\x5f\x96\x89\x0f\xdd\xb2\x02\xf6\x12\xe2\xe7\xcd\x73\x16\x9e\x41\xdb\x8d\xd9\xa9\xe6\xd4\x0f\x17\x49\x8e\x65\xf7\x21\x41\x97\x83\xc1\x2f\x45\xf5\x56\x97\x9e\x3b\x45\x56\x36\x75\xb4\x54\xfd\x2c\x3a\xec\x18\x7d\xf9\x23\x2c\xf2\xd0\xaf\x0f\x3c\xba\xb9\xfe\x76\x75\xba\x28\x7d\x7d\xb9\xab\x88\xde\x9c\x5f\x9c\x03\x0a\x1f\x66\x49\x6e\x55\x58\x5a\xfa\xf5\x0d\x51\xd1\xc0\x9b\xa6\x8a\x96\xaf\x0d\x43\x49\xde\x6c\x3e\x96\xc4\x7c\x81\x49\xd5\x29\xb6\x5f\x55\xeb\x62\x09\x99\xa6\x5e\x44\x79\x9d\x1c\x34\x0a\x6b\xf8\x1b\x11\x47\x55\x2d\xde\x67\x4f\xcb\xfd\x6e\xc0\x65\x2b\xff\xfc\xf3\x36\xd4\x27\xe8\x87\x88\xa7\xc8\xa2\xdb\x27\x8e\xdd\xfe\x5e\x55\x8b\x5b\xbf\xa9\x17\xc5\x32\xd9\x46\xf0\x1f\x29\x26\xe0\xf5\x39\x9d\x00\x4e\xa3\x76\xe4\xd7\xfe\x0b\x6d\x38\xde\xdf\x78\xd3\x98\xef\x3f\x97\x8d\xfa\xfe\xf3\xe7\x67\x9d\xc2\x47\x72\xe7\x2f\xbb\x2a\xfb\xbb\x24\x3e\xc9\xfc\x38\xd2\xa3\x87\x68\x19\xe5\x67\xf6\xa7\x5e\xf4\xef\xd6\xb9\x5a\xf4\x86\x46\x8f\xe0\xd8\x7f\x33\xe1\x28\x1e\x1e\x76\xdd\xc7\xbc\xf2\x56\xe7\xde\x1c\x7e\xf9\x71\xa3\x80\xe9\x5b\x7d\x57\x4f\x36\x1e\xf9\x75\x54\xd5\x9f\x0b\x81\x8b\x6a\x94\x54\xe9\xdb\x53\x0f\x97\x91\x5f\x47\xb3\x72\xef\x8f\x84\x65\x91\xf5\xfb\x93\x6f\xd0\xd9\x9f\x84\x81\xef\xc2\x72\x75\xb4\x80\xbb\x6d\x12\x73\xe7\x40\xe7\xcb\x28\x4b\x9a\xec\xe5\xfe\xd1\x8b\xc9\xfe\x22\x39\xca\x7b\xaf\xf7\x2e\x39\xea\x53\x91\xf9\xbb\x52\xf2\xff\xe1\x74\xfc\xd5\x08\xab\x47\x2e\x61\xc0\x0f\x7e\x18\xbd\x33\x80\xdd\x7f\xde\xb1\xb6\xcf\xa3\x26\xec\x3c\xba\x00\xee\x6d\xab\xf5\x91\x60\xf8\x68\x4c\x92\xf9\xcb\xf6\x5d\xe6\xfe\x30\xe8\xdd\x91\xfb\xb9\xcf\xfb\xed\xfa\xd5\x45\x86\x24\x65\xd8\x11\xf0\x01\x5b\x7e\xf5\x49\x0e\x9d\x8c\xff\x40\x0a\x71\x76\xfc\xff\x70\x5a\x71\xee\xf3\x46\xe5\xe9\xec\x34\x3e\x23\x34\xa7\x00\x4e\x77\xc3\x3e\x5e\x7d\x3d\x0b\xf5\xac\xa8\x94\xc9\x85\x12\xd2\x6b\x9f\xcf\x30\xe5\xd8\x20\xb1\x1f\xd8\x7f\x7b\xeb\xf3\x39\x66\x5c\xfd\xaf\xac\xd9\x5e\xfa\xbc\x1d\x1a\x3d\xff\xbc\x1e\x2a\x7d\x1e\xfe\xfb\x7a\xbe\x8d\xfd\x75\x38\x97\x5b\xcf\x43\xbe\xe4\x82\x61\xe2\xc7\x79\x51\xd5\x49\xf8\xbe\x04\x26\x28\x8a\x7a\xf4\x34\xe6\x6d\x57\xdc\xe7\xfe\xf0\x9d\xd9\x40\x1f\x97\x58\xcb\xe4\x24\x2d\xda\x1f\xfc\x7d\x96\x16\xbd\x75\x76\xe4\xf6\x75\x2f\xfd\x21\x3e\x45\x9b\x3a\xca\x71\x30\xf8\x2e\x2e\x1d\x7a\xff\x75\x1e\x3d\xac\xde\x0a\x0b\xaf\x3e\xed\xd1\x8f\x43\xf0\x27\x75\x67\xba\x43\xd6\xfc\xd3\xd4\xde\xe9\xeb\xf7\xf5\x19\xae\xa9\xea\x22\x33\xc2\x65\x52\xbe\x15\xd2\x9f\x8c\x1d\xfb\x39\x44\xd1\xf2\xb8\xe0\x72\x38\x9b\xfd\x26\x00\xbf\xa9\x0b\xab\xaf\x12\x4c\x93\xbc\x38\x82\xf2\x81\x68\xa5\x8a\xea\x3a\xc9\xe3\x8e\x85\xef\x34\xec\x5d\x4d\x3f\x0a\xeb\x08\x1a\x47\x83\xdf\x9f\x37\x56\x3d\x9b\xb0\x16\x04\x7e\x15\x7d\xbf\xfb\x6d\xa7\x0c\xfd\x37\xb3\x30\xfa\x13\x58\xd7\x21\x05\x08\x89\x23\x51\xc4\x14\x93\xeb\xaf\xdf\xae\x19\x4e\xd7\x79\x63\x66\xe9\x1c\x2f\x8d\xfe\xeb\x3f\x76\xfd\xaf\x6e\xe0\xd5\x7f\x37\x04\x31\x08\x8f\xff\xbd\xbe\xbe\xfe\xb6\x83\x7e\xac\x57\x27\xe7\xda\xaf\xbb\xd3\x29\xd7\x5f\xff\x3b\xbf\xfe\x76\xcd\x78\x96\xce\x73\xca\xcc\x1a\xa9\xcc\x94\xff\x24\xf4\x93\x23\xef\x2f\xc1\x1b\x3c\x37\x67\xb8\x09\x30\x18\x93\x57\x19\xd5\xfc\xf4\x2c\xce\x1f\x8b\x3f\x41\x38\x62\x4c\x86\x65\x0c\x9e\xe1\xb8\x99\xa5\x9a\x9f\x9f\xd4\x99\x63\xf3\xa7\x88\x58\x73\x36\xe1\x55\x4e\x91\xf8\xcf\xcf\xe8\xd9\x91\xfa\x73\x08\x2c\x5d\xf9\x29\xd8\xd6\x12\x9d\x80\x9d\x8e\xa6\x82\x3e\x53\x4d\x5e\x1d\x7d\x1a\xf4\xe9\xe9\xe6\x67\xe0\x8d\x11\xaf\x02\x49\x9f\xa9\x53\x5e\x35\x3f\x0b\xff\xe4\xe4\xf3\x09\x02\x91\x31\x79\x9b\x71\x31\x1e\x6e\xa6\x0a\x92\x08\x78\xdd\x90\x66\xea\xe7\x30\x5d\x3a\x85\x7f\x0e\xe5\x68\x36\x65\x24\xd5\xf8\x29\x44\xbb\xf7\x16\xce\x81\x17\x78\xc6\xc4\xca\xf2\x53\xf0\xf7\xef\x2c\x9c\x20\x98\xf0\x2e\x60\x2c\xc5\x1c\xa9\x86\x61\x09\x82\xe4\x7c\x0e\xc5\x8b\xe3\xf5\x67\x91\xcc\x75\xfe\xa7\x31\xf4\x75\xd4\x13\xf0\xfa\x5c\x9a\x32\xe2\x27\x75\x79\x77\x28\xfc\x19\xc0\xe9\x68\xba\xb3\x12\x9f\x85\xfa\x74\x5a\xfc\x05\x68\x63\xf4\xd3\xb0\x0f\xe7\xc8\xcf\x00\xc7\x76\xcd\x98\x33\xdc\xa7\x19\x72\x72\xc6\xfc\xb9\x81\xe8\x59\x7d\x7d\x7d\x1b\x47\x79\xb4\xf2\x33\x98\xfd\x3d\xf3\xab\x3a\x5a\xfe\x83\x22\x28\x92\xa0\x89\xe1\xef\xe4\xf5\x75\xd7\x5b\x99\x71\x8c\xf9\x21\xf5\xbb\xb4\x25\x73\x44\x82\x61\xb1\x06\xa7\x4b\x73\x0c\xf8\x23\xa6\xb5\x6a\x82\xde\xcb\x26\x45\xfe\xdb\xd7\xdf\x8f\xbf\x4a\xf0\x98\x87\x3b\x77\x2a\xea\x33\x6b\xfe\x31\x17\xf1\x9c\x7a\x1c\xc9\x1d\x41\xc6\xff\x3c\xf7\xe7\x5c\x8e\xc8\xc0\x60\xea\xc8\x60\xc9\x50\xd4\x17\x50\xb4\x62\xc5\x89\x63\x40\x08\x53\xdf\x1e\x92\x11\x2f\xe4\x9e\x3d\x24\xb8\xb8\xac\x60\x06\xee\xa0\x08\x1a\x8f\x63\xea\x80\x63\x96\xaa\xc9\x20\x1d\xc9\x82\x6e\x30\x2b\x4f\x04\x94\x32\x90\x57\xc1\x40\xa7\xbc\x96\x6e\x03\x8a\x26\x82\xb1\x3b\x89\x44\x6f\xeb\x50\xb0\x0d\x06\x30\x0b\x5b\x66\x75\x0e\xce\xd4\x64\xd6\xb2\xe5\x19\xba\x65\xc5\x0a\xa5\x23\x98\xf4\xe3\x61\x16\xae\x60\x26\xb4\xe7\xe0\xe0\xe7\x5c\x5c\x3c\x4a\xa2\x40\x05\x14\x4a\x25\x4e\x46\x61\x2e\xaf\xc2\xc7\x22\xf6\x44\x89\x94\x44\xd0\x86\x19\xdd\x4e\x38\x62\x3b\x1d\xa5\xd4\xcc\x48\x63\x2f\x97\x57\x81\xc1\xa6\x6e\x06\x1a\x98\x10\xff\x19\x0c\x58\x14\x3c\x16\xb1\x96\xea\xdc\x74\xc4\x0c\xa7\x06\xcb\x6b\x88\xb6\x75\x20\x9b\x86\x45\xcf\x1c\x82\x94\x2d\x82\x64\x01\xaf\x4a\xb3\x84\xe5\x5d\x47\x5f\xb8\x99\xb0\xf5\x0c\x16\x05\xb9\x57\x86\x19\xdd\x04\x36\x68\x20\xc7\x52\x9e\x23\x6f\x7d\x9b\x6e\x24\x91\x2c\x43\x8a\x5c\x40\x51\x2d\xa4\xb8\x6c\x31\x6f\xbd\xa4\xa7\x57\xa1\x36\xa5\x9b\xd0\x6d\x28\x12\x2b\x87\xa4\x53\x37\x29\x26\x5c\x2e\xaf\x71\x1f\xc5\x46\x75\x28\xd2\x2d\xe4\xd8\x02\x8e\xf5\x75\xb8\x2d\x56\x0a\xa5\x57\x4a\xe6\x21\x4f\xa4\x5b\xd7\x61\xdb\x80\x2a\x91\x3b\xd0\x9a\x60\x20\xe7\xca\x80\x25\xdd\x84\x46\xa1\x08\x2a\x85\x94\x35\xd3\x20\xc7\x16\x1f\xd6\x06\x01\x3c\xc5\x02\x9a\x6e\xad\x6b\x75\x5d\x62\x5c\xb1\x62\x90\x65\xe0\xb0\xab\x30\xd7\x62\x7f\xac\x13\xe1\x78\xfa\x5d\x69\xe9\xb5\x6b\xab\x4b\xd7\x86\x28\x6c\x87\xb5\x6f\xab\x6d\x30\x50\x57\x5e\xae\x35\x2e\x45\xd7\x0a\x55\xa3\xc8\x99\xae\x02\x1b\x3d\x86\x19\xbd\x0d\x28\x8f\x50\x32\x61\xeb\xbe\x1f\x66\x16\x8c\x01\x0a\x72\x3d\xf1\x1d\xad\xf1\xed\xfb\x95\x97\x6d\x48\x2c\x4b\x6e\x86\x08\x25\xab\x51\xa4\x15\x13\x2f\xa3\x5b\x49\x14\x08\x28\x82\x3a\x1c\x6b\xb1\x6f\xdf\xc5\xd1\x96\x6f\x94\x47\x40\xcf\x5a\x36\x0d\xd6\x45\x2c\x8d\x0f\x32\x5a\x06\xb9\x4a\xb8\xf6\xa6\x92\xc4\x05\x01\xc7\xec\x76\x96\xdc\xaf\x3c\x71\xdd\x78\x19\x48\x83\x81\xbc\x08\xc7\xf2\xca\xcf\xc0\x23\xe4\x86\xab\x30\x0b\x57\xe1\x18\x24\x0a\x05\xd6\x9e\xbd\x5e\x79\x0e\x8b\x02\x8e\x6c\x3d\x7b\x83\x5c\x47\x45\x8a\xbd\x59\x40\x11\x6c\x21\x47\x0c\x94\x6c\xb8\x72\x1d\xf9\xd1\xe7\x86\xdd\xfc\xe4\xc4\x8d\xdd\x5c\x46\xae\x5d\x4d\x24\x8e\x2d\xbd\x84\x0d\xec\x96\x49\x23\x6a\x4f\xab\x4e\x4b\x1c\x59\x41\x8e\x21\x25\x81\x84\xb3\x96\x25\x7c\x11\x34\xd2\x58\xad\x3c\x1b\xac\xa5\x11\xbf\x9e\xb5\x2c\x0a\xc6\x2a\x92\x44\x70\xe7\x3b\x5a\x3c\x35\xab\xd8\xcb\xd2\x89\x27\xd2\x8d\xa7\x15\x13\x97\x12\x08\x69\x74\xb7\xf2\x1c\xfd\x51\x19\xe0\x39\x0e\x5b\x0f\xf3\xb4\x1d\xa6\x0a\x25\x7c\x87\x8e\x8c\x94\x5c\x46\xa1\x78\x1f\xcf\x47\xeb\x5c\xb7\x68\x51\x5e\x97\x81\xeb\x94\x64\x98\x59\xb5\x4b\x6d\x4a\x47\x2b\x1b\xd7\x26\xd1\xdc\xde\xf5\xb7\xd5\xca\xd7\xca\x04\xcf\x0f\x3a\x72\x35\xb7\x9f\xf8\x14\x8a\xc2\xa3\x4f\x09\xb9\xe7\x4c\x9b\xd3\x75\x55\x57\x81\x41\x0f\xa1\x4d\xee\xf0\xd3\x8b\x28\x07\xad\x67\x90\x8f\x81\x98\x4e\x3c\x7b\xb8\x70\xb3\x0d\xf2\x46\xe4\xd0\x73\xa6\x13\x6f\xc0\xe6\x2e\xb5\x40\x2e\x55\xd1\x91\x0d\xb6\x5c\xbc\xa7\x09\x3c\x06\x03\x19\x3d\xa7\xc9\xa5\xe8\xd6\xfb\x55\x34\xd9\xea\x2a\xcc\xac\x57\x69\x0a\xb2\xfb\x09\xe6\x15\x17\x97\x8f\xae\xa3\xc5\xf3\x84\x46\x50\x9c\xae\x22\x07\xd4\x3d\x3f\xe9\xad\x92\x69\x2b\x28\x6a\x35\x96\xd5\x20\xd7\xea\x4e\x26\xcf\xf0\xfa\x79\x9f\xc3\xdc\x1c\x3d\x55\xec\xde\x36\x2a\xb6\x5c\x42\xe6\xed\xf9\x9d\xca\x3f\x5a\x29\x94\x8a\xf5\x63\x15\xb6\xf7\x03\xa5\xd5\xbb\xf1\x9d\x0c\x32\x25\x0a\x32\x21\x09\x44\x90\xce\x1d\x84\xc2\x75\x99\x87\x22\x7c\xf4\x45\xf0\xe8\x6f\xfb\xf9\xee\xe6\x97\x05\x03\x29\x76\x1d\x9d\xf0\x6c\x72\x0d\x39\xb6\x0c\x12\xf6\xc7\xd4\xb8\x6b\x54\x87\xf8\x21\x89\xfa\x6a\x6f\xdf\x15\x1b\x34\xae\x2d\x57\x9e\xd3\xcd\x91\x0e\xb3\x05\xe9\x1b\x64\xeb\x63\xfb\x61\x86\x75\x48\x81\x16\x66\xa0\x55\x1c\xb9\x80\x76\x5a\x07\x03\x96\xc0\xf6\xcc\xb5\xd7\x75\x98\xb3\x75\xd8\x3e\xd7\x3f\xe1\x7b\x48\x81\x47\x2c\x6f\xae\x4d\x2e\x60\xc2\x2e\xa2\x5c\x45\x6e\x4b\xd6\x01\x35\x2c\xa1\xd8\xe9\xf5\x93\x4c\x1a\xec\x5e\xa6\x6a\x6f\xac\xa6\x87\x36\x3c\xe7\x01\x68\x7d\x47\x1f\x62\x7a\x5d\xaa\x46\x61\xc2\xae\x42\x11\x34\xe1\x40\xad\x14\x87\x45\x61\xb6\x8e\x9f\xaf\x83\xc4\xb9\x99\x24\xca\xad\x67\x0b\x4b\x2e\x61\x62\xdf\x76\x63\x9b\xac\x62\x79\x5c\x2f\xe0\x58\x47\x81\xc3\x12\x0f\x06\x53\x07\x63\x2d\x56\x0d\x16\x3a\x66\x15\x43\x71\x81\x82\x84\xdd\x06\x22\x40\x21\xc7\x6c\xa6\xa3\x2a\xf6\xec\x4d\x67\xcf\x23\x11\x11\xd2\x88\xff\x21\x89\x5e\xc9\x65\xfa\x2a\xc8\xac\x83\x6d\xf6\x0c\x26\x9d\x8c\xfb\xbf\x43\x9b\x8f\x1f\x38\x36\x0f\x33\xb0\x96\x84\xe1\xc2\xcd\x65\x42\x31\xd2\x67\xba\xac\x0e\x43\x4a\x25\x02\x6e\x98\x2a\x5b\x66\xa3\xd8\x7a\x19\x52\x78\x3d\xb1\xce\xd2\xad\x67\x0c\x1f\x03\x6a\x98\x49\xa3\xf5\xbd\x4c\x80\xb9\x9e\x84\x13\x9f\x02\x6d\x90\x81\x0a\xcb\x7d\x98\x81\x87\xb0\xb7\x89\x6d\x90\x30\xb4\x34\x5e\xaf\xdc\x0c\x35\xca\x40\x6f\xa1\x6d\xf5\x6b\x9f\xef\x71\x30\xb5\xe2\xa8\xc3\x70\xa0\xa3\xa0\xb3\xa7\xa8\xf5\x1c\xb8\x08\xc4\x75\xed\x52\x64\x2a\x71\x44\xed\xda\x7a\xaa\xf4\xb6\x9a\x9e\x8d\x98\x15\x14\xd5\x35\x7e\x1e\x62\xf8\xb6\xd0\x74\xfe\x3d\xc3\xfe\x0c\x0c\xf0\xda\x2a\xb6\x5a\x63\xdf\xac\xd8\x42\xea\x71\xe4\x3a\x18\xc8\xc4\xdc\xd4\x88\x69\x4b\x13\xee\x80\xc1\xb6\x7f\xed\x39\x72\xed\xda\x43\xbc\x1e\x13\x2e\x53\x17\x90\x63\xfe\x53\xa1\x00\xe1\xb6\x34\xe1\x71\xe4\xc2\xa3\xb0\x5f\x24\xb1\xed\x7f\xa9\x67\x58\xb7\x33\xf7\x44\xcf\x0c\x6b\xa8\x01\xa0\x43\x2e\x46\x33\xac\x5f\xd2\x78\x37\x27\x5b\x9b\x70\x40\x5f\x78\x2d\xfb\xcf\x60\x80\x79\x24\x54\x1e\x53\xc8\xd6\x00\x6d\xb1\x1d\xf6\x04\x5a\xf4\xed\x0d\xe1\x39\x52\xec\x10\xea\xdc\xb4\x08\xda\x75\x64\x1c\x67\x04\x7a\x8a\xa6\x80\x07\x86\xa3\x15\xb2\x99\x09\xb5\x67\xb0\x75\x40\xe9\xa5\x97\xa7\x13\xce\xda\xf9\x68\xb1\x5c\x41\x47\x6e\x5c\x7b\x93\x72\x31\x32\x3c\x9b\x5c\xc1\x0c\x3c\x40\x0a\x55\x9e\xa8\x2e\xc2\x4c\x8b\x9d\x75\x21\x5b\x19\xa8\x83\x81\x87\x24\x41\x97\x4d\x0b\x98\x80\x17\x54\x8b\x29\x26\x36\x41\x03\x20\xb0\x00\x08\xc4\x84\xb3\x86\x8b\xc0\xb6\x62\xec\xd3\x20\x25\xb4\x98\x4e\xd3\x16\x08\x97\x8a\xe3\x49\x5c\xc8\x56\xe7\xdf\x99\x76\x66\x4a\xdb\x29\x53\x0a\x26\xe1\x4e\xb8\x0c\xdc\xed\xfc\x3e\x6b\x23\x60\xe8\x80\x1e\x99\x3c\x0d\x74\x81\x9e\x69\x16\x29\xcc\x0d\xbd\x7f\x6e\xa9\x53\x93\x04\xbc\x99\x0a\xaa\xae\x95\x8b\x28\x61\xab\x80\x82\x65\x90\x30\xb5\xdf\xe9\xb7\x50\x05\x22\x3d\x50\xec\xe1\x4a\x71\x54\xd2\xcd\xd5\xc7\x30\x43\x6b\x28\xa2\x55\x90\x4f\x27\x5c\x32\x8d\x81\xb8\x40\x92\x48\x2e\x82\x0c\xdb\x2d\xec\x6b\x75\x6c\x7f\x4a\x38\x4e\xb1\x6e\x2c\x20\x87\x7d\x98\x15\x83\x94\x88\xc3\x1c\x34\x61\xcb\x2e\xc2\x96\x5d\x05\xd9\x66\x28\x89\x0b\xfc\xf7\x42\x1a\xab\x65\x90\xc1\xca\x33\x70\x3c\xd2\xf9\xd1\xad\x6f\xc3\x5d\x1c\x74\x37\x91\x5a\xd6\xf2\x45\xb4\x95\xc6\xf2\x2a\x10\xad\xf8\xb4\x9d\x2d\xc3\x96\x65\x35\x52\xd6\x20\xb6\x21\x63\x58\xf8\x36\x5e\x03\xb4\x95\xc4\xe1\x0a\x72\x6c\xe3\xd9\x2a\x0a\x07\x98\xef\xa8\x8a\x0c\x76\x1d\x66\x60\x8b\xe5\x53\x12\x51\x23\x8d\xf5\xc2\xd3\x8a\x47\x69\xfc\x6c\x7e\x09\x3b\xf0\x0c\xd8\x7a\x06\x9b\x7a\x0e\x5b\x05\x03\x54\x06\x59\x18\xfb\xf6\x90\x08\xda\xbb\x58\xe2\x51\xd6\x8d\x35\xd8\xd2\x13\x41\x03\x45\x44\x44\x06\x9b\x06\x14\xd8\xe3\x2d\x5c\xc7\x43\x92\x28\x34\x51\x07\xff\x0c\xed\xe3\x69\x1c\x52\x2a\xb6\x4b\xa9\x24\xd2\xcd\x0e\xde\x16\xda\xf2\xd6\x1d\xc8\x65\x38\xd6\xcb\x80\xba\x8b\x21\x65\xe5\x61\x66\xc5\x9e\x08\xd6\x81\x48\x0f\x7d\x7b\x98\x63\xda\xa1\x78\x5f\x49\xd8\xc6\x8c\x61\x19\x88\x6b\xcc\xa7\x26\x18\x68\x71\x48\x2d\x56\x10\xf3\x18\xdb\xcf\x93\x35\x5d\xc7\x90\x5a\x94\x58\x76\x7c\x67\x8a\xff\x1e\xee\x70\x26\x9e\xbd\xc1\x63\x2a\xdf\x1e\xa2\x9e\x77\xea\x2a\xb0\x49\xbc\x96\xc8\xeb\xd7\x00\xc3\x5a\xb8\x94\xba\x82\x98\x77\x63\x15\x41\x8e\xc1\x36\x3c\x91\x05\x15\x68\x48\x1d\x59\x29\xd2\x00\x8f\xe6\x66\x8a\x78\x29\x2e\x26\xe1\x4e\x9f\xdc\x81\x5e\x49\x63\x95\x70\x1d\x99\x78\xb2\xc7\xc3\xad\xe7\xc8\x94\x6f\xab\x88\xcb\x84\xef\x92\x28\x3c\x86\x47\xb4\x2a\x76\x2f\xf7\x52\xa2\x15\x21\x05\x52\x89\x23\x91\xc4\xc1\xed\x03\x77\xf7\x4f\x65\xb0\xb9\x97\x5b\xe6\x7e\x3e\x5a\x27\x32\x2f\x8c\x2c\x24\x0b\x16\x41\x03\x2b\x55\x05\xc3\xd2\x92\x89\x21\x4d\xb8\x94\xe4\x4d\x0b\xa9\x9a\x05\x85\xb9\x21\xa5\x11\x29\x6b\x86\x45\xb2\x3a\x61\x21\xd9\xb8\xff\xe7\x83\x71\x9f\x46\xc4\x53\x1f\xa9\x9d\xfe\x53\x19\x10\x09\xb6\xd3\x3b\x7f\xb1\xee\xe4\x89\x93\x52\xd3\xd2\xd5\xdd\xd8\xb3\xed\x16\x62\x65\xd3\x12\xc6\x3a\xc6\xdb\xcd\x65\xb3\xf2\x28\x9a\x84\xcc\xf3\x78\xac\xb3\xaf\xab\x20\xf3\x4a\xaf\xa5\x6b\x4f\x24\xe2\xf9\x68\xd3\xe9\x2c\xc6\xa1\x23\x79\x6e\x22\x5d\x30\x53\x1d\x58\xe9\x9a\x96\x5b\x5d\xd5\x79\x52\xb4\x52\x7a\x06\x78\x30\xd3\x05\x60\x98\x5c\x38\x39\xa2\x67\xdf\x67\x87\xbf\x6f\xdb\xf3\x42\xb7\x86\xb6\x01\xe4\xb9\x99\x92\x82\x89\x34\xdc\x77\x6a\x12\x2a\xdb\xad\x51\x72\xda\xd7\x4a\xe9\xa9\x6e\x92\xb9\xeb\xe8\x08\x52\xc2\xb0\xe3\x1f\x50\xe7\x00\xc8\x23\x1d\xc3\xe0\x81\x6c\x22\xd5\xd2\xac\xe1\x48\x37\x89\x5c\xe6\x16\x45\x30\x50\x89\xa0\xb3\x81\x69\xce\xa5\x60\xae\xc7\xc5\x24\xb0\xeb\xd4\x77\xa4\x58\x19\x78\x8b\x10\xc7\x48\xe3\xf0\x25\x0f\x7a\x1b\xbc\xda\xcb\x87\x42\x91\x69\x60\x3c\xc9\xc3\xb1\x0f\xb3\x49\xd0\xf8\x8e\x0e\xb9\x54\xc8\xb0\xef\x9a\xdb\x67\xe4\x07\xc9\x28\x74\x00\xf6\x35\xdb\xb3\xed\x71\x19\x58\x5d\x2c\x82\x1e\x3d\x40\x4c\x74\x7b\x48\xf9\x8e\xbc\x0a\xb2\x4e\xbe\xb1\xad\x47\x73\xa3\x8f\xe7\x30\x4d\x2e\x45\x37\x5e\x86\xf2\x8e\x2e\xad\x14\x22\x11\x3c\x5a\x03\x7d\x11\xe6\xba\x16\x66\x16\xad\x18\x34\x19\x0e\xa4\xde\x7f\x52\x07\x79\xd8\xe7\x65\xc8\x8c\x8f\xc7\x68\xb4\x32\x00\xdb\x30\xa1\x13\xdf\xbe\x5b\x79\x22\xfd\x88\xfd\xb2\x34\x96\xc9\x20\x61\x43\x1c\x67\x28\x46\x47\x47\x1b\x39\xec\x0a\xdb\x17\x89\xeb\xe1\x87\x94\x5c\x06\x09\xad\x7a\x8e\xde\xfa\xb6\xba\xd5\x9d\x05\xe1\xd9\xc3\x3e\x27\x14\xd6\x13\xa9\xf3\xa7\x8b\x55\x38\xd0\xbb\xf8\x51\xe2\x80\xf4\xf4\xbc\xd7\x1f\xd9\xba\x8b\x1d\xa6\x88\x3b\xdf\x9c\x11\xbb\xbf\xc9\x5a\x1a\xc9\xf9\xbe\x2f\x4c\x98\x7e\x6d\xfa\x75\x58\x7b\x36\xf1\x7d\xe7\x77\xb1\x8c\x36\xa1\x08\xea\xe3\xbe\x7d\xde\x09\x08\xb8\x2d\x8e\xfe\x2e\xbf\xef\xfa\x1c\xeb\xcb\x1e\xdf\xc8\x73\x64\x42\xcf\x50\xe5\x19\x2f\x70\xed\xfb\x88\x38\xf7\x85\x3c\x68\x3c\x01\xb4\xc1\x0e\xce\x33\x9d\xd8\xf7\x9d\x06\x14\xcc\xb1\x7f\xd6\x28\xba\x09\x29\x1a\xfb\x8e\x9e\x97\xd6\x66\xe5\x11\x1b\x04\x33\x50\x49\x02\x5c\x84\xd9\xb0\xb3\xdb\xbb\x71\x5a\x98\x21\x0a\xcb\xb8\x41\x81\xe1\x1b\xf4\x98\x38\x36\x70\x29\x20\x9c\xe6\xe5\x3d\x5d\x17\x74\xec\xf9\x58\x03\xfb\x33\x89\xeb\x74\xd4\x34\x49\x60\x68\x04\x30\x4c\x62\x23\xec\xf9\x69\x51\x34\x19\x66\x2a\xb2\x32\xba\xf2\x2c\xd4\x84\x03\x7d\x11\x64\xea\xd9\x31\x86\x35\xc4\x31\xc2\x4c\x23\xac\x89\xee\x2c\x90\x4b\xaa\x44\x30\x60\x2e\xc8\x57\xd7\x86\xd7\x7f\x62\x65\x60\x0b\x45\xa1\x85\x23\x72\x11\x8c\xe1\x22\x72\xa6\x4f\xcf\x04\x15\xb9\x5b\x62\xc3\xa1\xde\x3e\x9b\x22\xaa\x7d\x47\x97\xb1\xdd\x0f\x73\x6f\x11\x8c\x88\x35\xd6\x1f\xc3\x1e\xe2\xfe\x55\x20\x10\x13\x40\x09\x0d\x14\x41\xaa\xe5\x29\x1d\x38\xa0\x82\x62\x5a\x43\x47\xc5\x3a\x87\x61\xe4\x9e\xa3\x9d\xcd\x95\x4e\x75\x4b\x68\x83\xf6\xc9\xde\x60\x9d\xef\xc6\xa4\xd8\x9e\xd3\x86\x7e\xb0\x3d\xb4\xac\x8f\x88\xfc\x8c\x9d\xcf\xb9\x54\x67\x01\x2f\x70\x1a\x50\x05\x87\x10\x46\x1a\x41\x03\x13\xe9\x0f\x5d\x3c\x83\x6d\x14\xff\xd4\xae\x59\xea\xc8\x24\xc1\x0c\xf0\x43\xd6\xb4\xac\x9c\x4b\x05\x1f\x00\x59\x70\x08\x9d\x03\x3c\xad\xe8\xd6\xf0\x41\x23\x36\xb2\x6e\x0d\x2d\x87\x40\xfc\xdc\x08\x53\x9d\x97\x2d\x93\xa8\x05\x33\x55\xa7\x86\x85\xc7\x22\x5e\x5e\x97\xbc\x86\xf4\xb9\x41\x80\x99\x43\x02\xc3\xec\x68\x3b\xc0\xc0\x32\x9a\xf7\xb6\x93\x66\x35\x42\x9d\x03\x6b\x68\x61\xff\x63\x21\x16\xaf\xe7\xe1\x99\x14\x97\xf8\x7b\x4f\x2b\x50\x35\xcd\x52\x85\xb9\x05\x17\x50\x04\x03\xd7\x49\x27\x3a\x21\x58\x3a\x80\xac\x0d\x68\xde\x24\x48\x16\xaf\x7d\x47\xd3\xfe\xb9\xa5\xcf\x4d\x4b\x90\x4d\x34\xcd\xb9\x14\xb2\x80\x07\x8e\x06\xd0\x83\x9e\x02\x16\x08\x38\xe6\x9b\x62\x7b\x3f\xd6\x80\x2e\x00\x42\xf0\x8e\x9e\xe7\x1c\x3a\xf8\x42\xdc\xc7\xb0\xf8\xde\x07\xca\xeb\x7d\xfc\x78\x12\x7b\x6f\x23\x47\xc5\xb9\x60\x7a\xb0\xdd\x06\xbd\x08\xb3\xfb\xda\xa3\x04\x02\xe7\x05\xd1\xff\x4a\xdb\x7d\x2a\x5f\x5c\x0a\xee\x3c\x5b\x35\x7b\x99\x67\x5b\xcf\x24\xea\x0b\x76\xb9\x96\x38\x32\x93\x38\x30\x3b\x19\x33\x22\x56\xd0\x51\x5b\xa5\xb7\xc9\x69\x40\xa9\x4b\x6c\x7f\x70\x4c\xfb\x93\xb6\x18\x49\xfc\x19\x99\xe7\x76\xf6\xcc\xb6\x62\x9d\x17\x2c\xcd\x92\x59\x8b\x00\x0f\x07\x39\xde\xc5\xf2\x7b\x1c\x9e\x71\x88\xf5\x9f\xe4\x93\xd8\xc9\xad\xf0\x1c\xde\x4e\xae\x11\x7d\x6c\x53\x91\xc4\x1f\xc9\x11\x4f\xab\x9a\x85\x66\x56\x7b\x34\xee\x49\x26\x45\xdd\x12\x2c\xac\x3f\xc7\xed\xd8\x2e\x3e\xe9\xa1\x76\x04\xb7\xd3\x87\x8e\x5e\x8b\x64\x59\xed\xc9\x2f\x9c\xf8\xa1\x90\x63\xee\xa6\xa3\xe2\x6e\x3a\x8a\xd7\x47\xcf\x08\x75\x34\xfd\x3e\x1b\xe1\x5c\x71\x87\xcb\x71\x63\x65\x80\xfd\xe7\x91\x6c\x52\xfb\x9c\x6b\xfd\xfd\x95\xb6\x3d\x5e\x4a\xe2\x68\xca\x75\x24\x6c\xfb\x07\xb3\xe4\xe8\xef\xbc\xd8\xf5\x79\xd2\x8b\x9e\x16\xf6\x8c\x2c\xd1\xeb\xf9\xf9\x58\x60\x8b\xdb\x24\x8e\x24\xa4\xd1\x94\x9a\x8e\x7a\x3b\x0c\x44\x54\x7b\x36\x4d\x42\x01\xdb\x66\xd6\xf4\xec\x29\x3d\xdd\xba\xeb\x29\x53\x1a\x9e\xd3\xdb\xdf\xb9\x2d\x54\x18\x47\xb8\x7e\x7a\x66\x51\xe0\x71\x6e\xf2\x93\x5d\x0c\x32\xf5\x6d\xb2\x84\x3c\x8e\xff\xb1\x5e\x08\xd5\xdc\x64\x26\x1c\xaa\xe5\x7d\x1d\xc5\xd1\x4a\xc7\xb5\x87\x84\x67\xeb\x5c\x64\x92\x35\xb4\x37\x84\x6f\x90\x64\x48\x81\x56\xc9\xf5\x45\x98\x41\x04\x0f\xb9\xa2\x5a\x60\x9d\x91\x38\xd2\x38\xe4\xc7\x80\x26\x67\x19\x9d\x74\x35\x4f\x81\x6e\x67\xb9\xb7\x08\x11\x8d\x63\xf3\x07\x38\x2a\xb7\x53\x6e\x1f\x03\xd0\x6b\xc8\xd1\xc7\x75\xde\x55\x80\xf3\x12\x67\x51\x07\xd4\xb0\xcf\xd7\x99\xa3\x98\xd0\x61\xf6\x71\x61\xe5\xdb\xd2\x0a\x52\xc2\x2e\xa7\xa7\xd5\xe3\x5a\xb1\xd6\xd7\x22\x1b\xec\xa3\x41\x26\x90\xc1\x58\x6b\xac\x81\xde\xd5\xe8\xb8\xcc\x5b\x85\x09\x8b\xd7\xab\xab\xeb\x4a\x19\x99\x86\x94\x96\x48\x9c\x8c\x63\x95\xa4\xaf\xef\xbe\xf4\x3b\x5d\x5e\xcf\xed\x65\x82\xc0\xfa\x3e\x08\xb2\xcd\xca\xb5\xb5\x5a\x1e\x63\x9a\xc8\xc7\x30\x03\x29\xce\x0b\x7d\x5b\xa8\xc2\xf6\xd4\xa6\x75\xbe\x09\xd5\x20\xe8\xeb\x75\xbc\xe7\x1c\xe5\x8a\x8f\xa4\xe6\x39\x72\x19\x50\x7a\xe9\xb6\x4c\x8a\x79\x23\x89\x6a\xeb\xed\x72\x61\xd7\xde\xe0\xdc\x15\x79\xb9\x8c\x42\x2a\xc6\x6b\x65\xee\x61\x3b\x5a\x69\x45\x0e\x8b\xe6\x36\xdd\x78\x8e\x5a\x04\x03\xed\xe0\xdb\x3b\x79\xd8\xc9\x57\x20\xd2\x8f\xae\xbd\x3e\xc8\x19\xa4\x86\x55\x40\x09\xa9\x62\x9f\xe2\x51\x72\xb5\x90\x38\x1d\xf3\xe7\xa2\x0f\xfe\x04\x2f\x08\xdf\x26\x51\x98\x30\xf7\x73\x1e\xc7\xf9\x65\x00\xec\x61\x09\x05\x62\xa2\x8b\xe0\x38\x57\xa5\x2d\x11\xb4\xbe\x4d\xa7\xbe\x3d\x8d\x7b\x58\xec\x33\x58\x6c\xeb\xd9\x5e\x8b\xe7\x8a\x6d\x7b\xa7\x13\x8e\x0c\xb9\x94\x6e\xb4\x8c\x5e\xed\xe2\x91\x75\x60\xa3\xa6\x7b\x46\x09\x95\x67\x0f\x53\xd7\x91\xe8\x29\x77\xbf\x99\x3e\x16\xeb\xe9\xa8\xc0\x3a\xc3\xba\x94\x4a\x86\x99\xf0\x18\x81\x6e\x0c\x19\xae\x8b\x89\x4d\xec\x62\x28\x71\x03\x39\x04\x17\x5d\xfe\xca\xcb\xc3\xb9\xa3\x97\x81\x0d\x5a\x3c\x97\x93\x18\x65\x5f\x97\xdb\xfb\xbc\xde\x27\x54\x01\xa5\x2e\x02\xee\xe0\x1b\x0e\xfc\x71\x07\x32\xda\xe5\xfb\x8b\x60\x3c\x6d\x42\x2a\x3e\xe4\x70\x52\xcb\xef\xd6\x47\x5e\xe0\x75\xde\x9f\x6b\x81\x5a\x31\xd1\x08\x5a\xb5\x78\x7a\xa6\x77\xf1\x80\x1c\xca\x23\x3e\xe1\x32\xf0\xe8\x8b\xf7\xb1\x94\x3e\xad\xa7\x24\xac\xd3\xe3\xbe\x2f\xe4\x28\x2e\x26\x80\x07\xaa\x25\xd0\xbc\x01\x24\xda\xe1\xb4\x22\xb0\xeb\xae\x56\x2b\x71\x64\x3a\xd1\x4a\x14\x8d\xfb\x3d\x14\x0d\x94\xc0\x4a\xc1\x83\x46\xd0\x33\x3d\x45\x63\x87\xd0\x65\xeb\x91\x0c\x65\x6e\x51\xfb\x58\xcf\xb1\x3e\xda\x5a\xf9\x94\xb3\x22\x6c\x07\xca\xbe\xbe\xb7\xa9\x82\x41\x58\x07\xd9\x7d\x1d\x0e\x40\x12\x52\x6a\xeb\x3b\x7d\xfd\x16\xf3\x19\x8e\xe5\x45\xc8\x31\x89\x4b\x6d\x90\x6b\x0f\xc9\x90\x93\x62\x1d\x2c\x64\xd0\xe5\xbc\xfb\x67\x71\x29\x8d\xbb\xbd\x8e\x7d\x1d\x62\x05\x1d\x0d\x7f\x0f\xec\x96\x49\x1c\x4e\xb7\x74\x8b\xd4\x3a\xba\x12\x29\x9e\x3b\x77\xb1\x32\xd0\xeb\x90\xbb\x6f\x26\x2d\x0b\x1d\x83\xc9\xe4\x5d\x5e\x15\x66\x6e\x7c\xd2\x3f\x2e\x62\x49\xa8\x03\x89\x93\x43\x99\xdf\xc7\x72\xea\xdc\x4c\x3d\x59\x27\x3b\xde\x24\xd2\x88\xfc\x4f\x89\xa3\x89\xc0\x61\x56\x4a\x52\xc5\x0e\xe8\xf7\x60\xb0\xef\x55\x1c\x39\xeb\x78\x7d\x8e\x47\x71\x49\x73\x71\xd9\xed\xcf\xf4\xf0\xd5\xb9\x09\xd8\xb9\x99\x82\x19\xe0\xa4\x78\x6e\x30\x49\x60\xeb\xb5\x94\xb0\x87\x3d\x1a\xec\x97\x34\x12\x18\x56\xda\xf9\x5b\x9c\x33\x5b\x0e\xe1\xc9\x26\x6f\xd1\xd2\x4e\xf7\xf0\x18\x25\x67\x51\x60\x48\x13\xcf\xde\xbc\x05\x7f\xeb\x71\x52\x7c\xa8\x31\xe3\xf9\xf2\x2a\xc0\x31\x30\x8e\x71\x71\x4e\x00\x04\x5a\x34\xac\x8d\x30\x37\xa4\xe3\xbd\xc0\x81\xbb\xdf\x43\x20\xc8\xd2\x1d\xc8\xab\x90\xa2\x33\xc8\x0d\xd9\xbe\x56\x3e\x54\x3c\x07\xd9\x2e\x8e\xdb\xb9\x21\xf6\x61\xad\x67\xd0\x5d\xfd\xfc\x88\xb6\xad\xa7\x15\xb1\x24\xf6\xf2\x69\xd8\x43\xca\xc5\xf4\x72\x2c\x19\x52\x42\xee\xf5\xeb\xb2\xaf\x6f\x4f\xbc\x2c\x9d\x70\x48\x15\x34\x52\x16\xc0\xa1\xc6\x28\xe7\x70\x90\xd6\x0e\xa7\xff\x38\x96\xe7\x07\x43\x9a\x98\x29\x70\x1c\x42\x15\x2c\xa4\x3f\xe8\x29\x9a\xea\x26\xf1\x4c\x16\xe8\x67\x3c\xe9\xf2\xb2\x64\x67\xfb\x0f\xb5\xf8\xbe\x7e\x57\x6d\x94\xe4\x8e\x7c\x30\xab\xd8\x13\xef\xf7\xb2\xb6\xf4\x1c\x9c\xe7\xe1\x39\xb2\x5b\x0f\xdb\x48\x47\x8b\x8f\xf4\x18\xe7\xdc\x19\x8e\x1d\xb1\x0c\xbc\xa0\xa7\xdf\x3b\x4d\x25\x4e\x7e\xda\x37\x6d\x75\x45\x07\xc8\xd6\x00\x98\x02\x81\x35\x74\xcb\x93\x6d\x8e\xc4\x73\x6c\x64\xbe\x16\x6c\xe0\xb1\xc0\xda\x58\x3a\x3f\x34\x2d\x12\x88\x7a\x8a\x5c\x65\xa0\x22\x6c\x2f\xe0\x78\xba\x72\x38\xdd\xd4\x2d\xd5\xd0\xc1\x2e\x3f\x31\xa4\x0b\xfb\x81\x6c\x28\x1f\xed\x5d\x2a\xf6\x86\x90\x46\x16\x96\xdd\x1f\x5d\xad\xce\xbe\x8b\x43\x6a\x83\x3c\x87\x89\xa7\x26\xf3\x43\x12\x41\x15\x52\x56\xec\x39\x8b\x12\x72\xcc\x66\xd6\xb2\x99\xaf\x95\x69\x40\x0d\xd1\x93\x0c\x93\xd9\xf9\x79\x9e\xca\x6f\xb7\xdf\xd1\xeb\xe5\xc8\x24\x48\xcd\x24\x86\x38\xa7\x4d\xa4\x11\xf1\xe4\x67\x85\x03\x1d\x38\x3e\x8b\x25\x11\xfb\x2c\xd8\x74\xb1\x03\xb5\x59\x79\xdb\x12\xfb\x95\x2a\xa0\x42\xac\xaf\x33\x1d\xc0\x13\x59\xc5\x78\x0e\xf2\xc5\x31\xf1\xae\xb6\x57\x4a\x1c\xd9\x78\x06\x93\x4f\x8d\xf5\x4a\xb7\x86\xbc\xc4\x77\x74\xca\x7a\x8a\x46\x38\x87\x51\x5a\x76\x2d\x63\xde\xf0\x43\x01\x90\x27\xfa\x85\x79\x97\xf9\x9d\xbc\xaa\x45\x60\xd3\xa9\x34\x62\xba\x98\xeb\x12\xfe\xc0\x71\xcf\xb6\x75\xf6\xe0\xbc\x0e\xbf\xd0\x09\x3d\x13\xca\x40\x04\xa9\x34\xd6\x57\x47\xbe\x3d\x76\x71\xae\x22\xa2\xcc\xb7\xd5\xee\xdc\x43\xb7\x17\xfd\xdc\xa6\x77\xfb\x4c\xbb\xfd\x5b\xad\xc4\xeb\x75\x88\xc5\x3a\xfa\xc7\xd6\x32\xc2\x31\x56\x97\x6f\x6c\x56\x2e\x25\x54\x87\xbc\x63\x00\x9b\x40\xa4\x17\x1e\xf7\x32\x5e\xf1\x99\x67\x35\x57\x71\xb7\x3f\x67\xb0\xc7\xe3\x7a\x5d\x7f\x11\x37\xf4\xfe\xb1\xdb\x03\xea\xea\x73\x2a\x11\x70\xec\x6e\xcf\xd0\x3a\xd6\x9d\xba\xb3\x63\x97\xc6\xc7\xc5\xc7\xe9\xe6\xd8\x8e\x26\x2e\xf9\x44\xac\x23\x76\x35\x3a\x55\x17\x54\xbe\x5b\x4b\x1e\x89\x86\xa5\xe2\x3c\xc6\xd4\xac\x3b\x5a\xe6\x16\x87\x7d\x3f\x69\x1c\x93\xd3\x51\x1a\x2b\x36\xf6\x73\x7d\xcc\x1f\x88\x28\x51\x06\x70\xb1\xdb\x4b\x5a\x99\xc7\xfb\xc5\xe9\x6e\x3f\x31\xad\x51\x04\xbc\x05\x8e\xa3\x15\x84\x63\x77\x19\x29\x54\xa7\x0f\x7d\x6d\x8c\x23\x9b\x80\xa2\xc9\xae\x1e\x3e\x00\x7d\xdc\xcc\xb1\xf7\xd2\x58\x45\x5e\x97\x9b\x31\x79\xd8\xde\x37\x93\x54\x9d\xcd\x8d\xfb\x95\xdc\xa6\x13\x2e\x23\x97\x9e\x88\x5a\x89\xbb\x1c\x97\xf5\x3e\xe0\x29\x0e\x55\x32\xed\x5d\xb5\xd4\x8e\xae\x7d\xce\x6c\x0c\x53\x85\xa2\x29\xcf\x91\x5b\xdf\xd6\xd1\xb9\x7d\xb2\x7d\x2c\xa7\xd9\x1e\xe1\x39\x12\x1d\x64\x80\x80\x14\xdd\xfa\x2d\xb9\x0a\xb2\x4d\x19\x64\x56\x83\x73\x60\x8f\x02\xc4\xbe\xce\x7b\x42\x07\xa5\x23\xaf\x8f\xd3\x77\x34\x1f\xe2\xc4\x6e\x5d\x1c\xb2\xab\x1f\x3f\x58\x82\x2c\x60\xbb\x38\x37\x7a\xde\xe3\xdc\x79\x47\xef\xca\x13\x41\xd6\xd9\x6b\x66\x37\x86\xa0\xfb\xbd\x04\x34\xa5\xa5\x84\x64\x71\x6c\x23\x71\x64\xa7\x4b\xa6\xa5\x9b\xba\x40\x77\x35\x31\x87\xdc\xdb\x62\xe9\x78\xdf\x4b\x35\x89\xa1\x0c\x78\xda\x30\xac\xe1\xd8\x21\xe0\xc8\x22\x69\xc1\x44\x9e\x6c\xa5\xf4\xcc\xc4\x39\x71\x57\xb7\x21\x79\x8b\xd0\x4f\x9f\x73\xe1\xc4\x73\x16\xdd\xfe\xa4\xc4\x93\x73\x33\x45\x96\x49\xca\xb2\x99\xc2\x07\x9d\x50\xcd\xa3\xfc\x76\x57\x3b\xe9\x60\x1c\xea\x3a\xf2\xfa\x29\xfe\x32\x2d\x7a\x66\x00\x7d\x6e\xa5\x68\xa6\x93\xf4\x58\x23\xd5\x07\x2b\x05\x63\xc3\xa2\x67\x73\x23\x4c\x4d\x9e\xc6\xb6\x4d\x36\x89\xbb\xfc\x0d\xda\x59\x00\x74\xc9\x21\x10\xef\x90\xba\x67\xf1\x16\xad\x39\x80\xf0\xf9\x27\xb9\x7c\xef\xf8\x0e\x2f\xe6\xdf\x33\xfb\x6a\x11\xc2\xec\x2d\xda\x4f\x6a\x55\x46\xd8\xd7\xb4\x04\x95\x3f\x7e\xfe\x0a\x8c\x91\x49\x0c\x45\xc3\x82\x0f\x20\x05\x86\x45\xa0\xb9\xf9\x88\xd7\xe0\x50\x73\xd8\xe9\x70\x1f\x87\x1d\xfa\x24\x97\xd7\x03\x74\x75\x3f\x28\x98\x29\xb0\x35\xf0\x04\xdf\xc2\x76\x20\x45\x23\xdd\x24\x89\x30\x07\xd8\x0f\x5e\xa2\xc9\xd2\xad\x21\x7b\x6e\x6f\xe4\x12\xce\x17\xfb\x24\x97\xf8\xbe\x93\xf9\xa3\x9a\x2d\x2d\xb7\x5a\xe1\x8b\xf4\x16\x8a\x5d\x3d\xa8\x3c\xd4\xdb\x92\x29\xf6\x83\x04\x14\x51\xe3\xb5\x9f\x5b\xff\xce\xd6\xd8\xe4\xb6\xf3\x47\xe2\x62\x01\x33\x2b\x76\x29\x81\xec\xfc\xab\xd8\xe9\x58\x1c\x64\x34\x81\x71\x41\xf1\x3e\xf6\x45\xba\x09\x06\xa0\x95\x04\xd5\x34\x4f\x7d\x5d\xec\xda\xc3\xa1\x24\x92\x38\xdf\xae\x24\x71\x81\x5c\xc7\x43\x41\xb2\xdf\xb3\xad\x9b\x60\x00\xb7\xd2\x18\x16\x91\x71\xf7\x2c\xb7\xef\x73\x27\x9c\xdb\x77\xe7\x2c\x28\x15\x85\xb9\xbe\xe5\x32\x75\x1b\x8a\x1b\x1c\x9f\xf4\xe7\xd6\x7a\xff\x80\x63\xd5\x6d\x48\xad\x57\x9d\xcf\x1c\x4f\xfb\xff\x73\x44\xac\xd8\x52\x2c\x9b\x0c\xb6\x7d\x5d\x3d\x7e\x57\x87\x5c\xfb\x54\xba\x82\xe2\x66\xbb\x87\xab\x50\xea\x42\xb1\x65\x32\xc8\xf4\xca\x33\x86\x8f\x78\x7d\x15\xf2\x2e\x55\xb6\x7c\x1c\xb5\x25\xdd\xd9\x27\x11\x50\x0a\x35\x24\x03\x71\x3d\x71\x49\xba\xf5\xec\x05\xce\xcd\x2e\xd3\x1a\x17\x8f\xd2\x18\x22\x49\xdc\xa0\x7e\xff\x56\xad\x7c\x1b\x34\x90\x47\xa9\x24\xca\x95\x6b\x0f\x97\x92\x28\x6c\x71\xbe\x14\x64\x61\xec\x3a\xd3\x38\xa0\x86\x55\x64\x30\x9b\x4b\xfb\xe0\xfb\x3d\x5f\xfc\x1c\xf3\x1e\x66\xe4\x36\x5c\x17\x8f\x92\x88\xb2\x1e\x57\xbf\x5e\x81\x8d\x63\x71\x1c\x8f\x09\x8d\x34\xe2\xab\xae\xad\xdf\xdb\x8d\x83\x0c\x20\x8f\x63\x89\xa0\x65\xd7\xc1\x80\x25\x03\x51\x20\x3c\x83\x1d\xf8\x8e\x5e\x9c\xd0\x38\x06\x5b\x8c\xa7\x3f\x03\x47\x67\x5e\x82\x7d\x93\x8e\xa4\xb1\xfa\xe8\xda\xc3\xc6\xb7\x87\xf9\xb3\xfa\x6e\xea\xd9\x3b\xdf\x36\xf0\xb6\xae\xd1\xf7\x0f\x71\xfe\x9b\xec\xcf\x5c\xf4\x67\x4b\x7c\x3b\x3c\xe4\xba\xd1\xba\x8f\xdf\xa4\x74\x58\xba\x94\x95\xcc\x12\x66\x33\x33\xd6\x7d\x4c\xc8\xc9\x96\x6f\x93\x28\x18\x00\x42\x7a\x2c\x70\x9c\x7a\x37\x1d\x31\x15\x8e\xbd\x24\x8e\x49\x34\x6a\x53\x62\xff\x6f\xd8\x1a\x1e\x97\x48\xc9\xd3\x38\xcf\x1e\xe2\x9c\x5d\xf6\x38\xe9\xbb\xc4\x49\xfb\xfc\x0c\xc7\xce\xd8\xbe\x28\x00\x75\xbe\x7d\xa6\x59\x43\xcb\xb0\xb4\x44\x61\x76\x74\x20\xb6\x0d\xa8\x6e\x9f\xff\x14\xf7\x96\x59\x1f\xfa\xa4\xdd\x9e\xf6\x22\xc8\x74\xde\xb3\x37\x8b\xc8\x90\xbe\x4b\x23\x06\xc7\x8f\xf4\xde\xaf\x75\x7c\x1b\x63\x59\xf0\xf0\xbc\xba\x1a\x93\xeb\xc8\x2b\xc5\x3e\xd4\xe6\x63\xd7\x01\xab\xc0\x99\xc6\xae\x53\xe2\xdc\x22\xdd\x9f\x5b\x0a\x6c\xba\xf1\x76\xb1\x4c\x17\x97\x18\xec\xa3\x3f\x96\x57\x41\x8e\xd7\xe5\xd9\xd9\xae\xd1\x21\x5f\xd9\xd7\x29\x1f\xa1\xb8\x8e\xf7\x67\xd0\x24\x4e\x7f\xf2\xfb\xf9\x81\x9e\xc3\x39\xbf\x1d\x9d\x8f\xae\x7d\xd7\xd3\x98\x09\x5b\x9c\x53\x06\x9d\xde\x6f\x16\x81\x2d\x50\xd2\x58\x5d\x79\xb9\x3e\x70\x1d\x19\x1d\xce\x3d\x72\xe7\x62\xac\x9e\x7e\x8f\x63\x0f\xeb\xac\x38\xd3\x58\xde\xc1\x57\x6c\x2d\xb6\x46\x02\x7f\xa8\x95\x24\x8b\xfd\x79\xa7\xed\x74\x54\xc5\x61\x06\x92\x80\xa2\x89\x89\xc1\x64\x5c\xfc\x5f\xff\x75\xfd\xf5\xe2\xcd\xad\xcf\x3f\x6f\xbf\x69\xf8\x8b\xdf\x21\x7c\xd7\xc5\x29\xc5\x2a\x5a\x96\xcb\x62\x95\xec\xde\xb3\x7a\xf0\x51\xf5\xfa\x3d\x3f\x09\x8c\xf2\xfa\xdc\x1d\xff\x57\xc7\xaf\x8f\x59\x55\xb4\x64\xaa\x2a\x89\xf3\xe8\xec\xc5\x33\xcd\x51\xbb\xd4\x43\x7c\xed\xad\xb7\x4b\x2f\xb5\x4e\xfb\xbb\x14\x76\x10\xda\xdb\xf3\x60\xaf\xbf\x5d\xed\x5f\x4e\xf4\x97\xc5\xcd\xd1\xbd\x2d\x17\x0f\xac\x7f\xfd\xb3\x7b\x7d\xec\x25\x0f\xdf\x75\x07\xd2\x8b\x2b\x62\xba\x97\x00\x2f\xde\x13\xf3\x9e\x3b\xb3\xb9\xfe\x2e\x9a\xdb\xd3\x9b\x6e\x8c\xd0\x47\x91\x11\xbd\xbc\x3b\xfb\xd7\xdd\x94\xf4\xfd\xe3\x37\x25\x7d\xe4\x0d\xe4\x4b\x6f\x1b\x9f\xbf\xd3\xe8\x02\xe4\x0b\x17\x8a\x5f\x7f\xbb\xfa\xff\x7d\xfb\xf9\x73\x6b\xf0\x9e\x3b\x9f\xde\xba\x37\xc9\x47\xa8\x58\x83\x93\x5b\x02\x98\x30\x8c\xaa\xea\xe2\x7b\x91\xfd\x10\xa1\x58\xae\xfd\x25\x8c\xa0\xb9\xf4\x1f\x1e\x92\xf0\x8d\xee\x62\x3f\x3d\x73\xe9\xe7\x55\x52\xef\x6d\xc1\x79\xdd\xd5\xa3\xac\xa8\xa3\xdd\x88\xea\x95\xbe\xcb\xae\xe3\x29\xf1\x97\xb5\xfc\xe5\x0b\xec\xa7\x6f\xb6\xbc\xf8\xe1\x83\x8e\xef\x6f\x5e\xa9\x80\x65\x6c\x59\xf6\xb7\x28\x9c\x33\xd7\xef\x53\xea\xe3\xcb\x18\x6e\xcb\x28\xc2\x52\x75\xb3\x03\xfb\xfe\x5b\xce\x9e\xdf\xf6\x70\xfa\x7d\xde\x83\x7d\xf3\x2a\xfc\x4b\x57\x98\xbd\x53\xed\xdf\x21\x94\x17\x4d\xd9\xee\x5e\x37\xcc\xd3\xdb\xa3\xd7\x8d\x77\x97\x2e\x75\x08\x6e\xaf\xbf\x5d\xc5\x4d\x02\x7f\x7b\xdd\x0e\x9c\xb9\xf0\xed\xe4\xea\x96\x1d\xa2\xaf\xa7\x66\xf3\xdc\xaf\x56\x74\x62\x70\x07\xe9\x1f\x01\x7d\x1f\xdc\x90\xf0\xee\xe1\xe6\xee\xc7\xfd\x8f\x1b\x9f\xa2\xc9\x9b\xf0\xfb\x8f\xfb\xc1\x1d\xa4\x48\x2a\xfa\xf1\x3e\x5b\xfb\x0a\x81\xb7\x9d\xb3\x84\xd1\xb2\xba\x5d\x16\x28\xea\x7d\x4d\x16\x9d\xf9\xf5\x82\xb7\xb4\xba\x0a\x8b\x1e\xef\x1b\xd6\xf2\xbd\x5c\x3a\x6b\x2f\x31\x8d\xa3\xe8\x21\xc9\x93\xfe\x45\xa9\xc3\x2f\x42\xec\xdf\x9d\xd2\xcf\xe2\x3e\x5d\xcd\x53\x20\x1d\xf6\xf7\xf1\xfa\x2c\x49\xe5\xc9\x8f\x8d\x9c\xde\xb3\x75\x7e\x6d\x5f\x07\xb3\xbf\x0f\xe9\xf9\xc8\xd7\xef\xaa\x7b\xf1\xdb\x12\xf7\x37\x04\x7d\x43\x90\x37\xe5\x32\x5a\x25\xd1\xfa\xd7\x7a\xbc\xf7\xaf\xe1\x25\xe7\xf1\xb7\xfe\xfb\xbf\xfe\xf6\xff\x02\x00\x00\xff\xff\x6f\x60\xe8\x14\x69\x6d\x00\x00") +var _gatewayProductionJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x6b\x73\xa3\xb8\xb6\xe8\xf7\xfd\x2b\x52\x7d\x4f\x55\xa6\xeb\x74\x26\x80\xe3\xee\xb0\xab\xce\x07\xc0\x80\xc1\x18\x9b\x97\x78\xcc\x99\xda\x05\x88\x60\x82\x78\x6c\x03\xb6\xf1\xad\xfd\xdf\x6f\x09\x6c\xc7\x4e\xec\xbc\xba\xe7\x9e\xf3\x61\x7b\xaa\x7a\x62\x24\xad\xb5\xb4\xb4\xde\x12\xf2\xff\xfd\xdb\xd5\xd5\xd5\xd5\x97\xff\xa8\xc2\x45\x94\xf9\x5f\xfe\x7e\xf5\x65\x51\xd7\x65\xf5\xf7\xdb\xdb\xfe\xc9\xef\x99\x9f\xfb\x71\x94\x45\x79\xfd\xbb\xbf\x6d\x96\xd1\xef\x61\x91\xed\xda\xaa\x5b\x8a\x20\x87\x37\x04\x79\x43\x90\xb7\x30\x2a\x51\xd1\xe2\x7e\x66\x94\x95\xc8\xaf\xa3\xdf\x1f\xab\x22\xff\x3f\x5f\xbe\xf5\x18\xc2\x22\xaf\xa3\xbc\x06\xd1\xb2\x4a\x8a\x1c\x23\x22\x7f\x27\xf0\x7f\xfb\x0e\xa5\xbf\xf4\xb3\xa8\x8e\x96\xd5\x97\xbf\x5f\xf5\x64\x75\xcf\xfd\x70\xa9\x47\x55\xd1\x2c\xc3\x48\x82\x27\x4d\x5d\x73\xdd\x96\x11\x86\x56\xd5\xcb\x24\x8f\xbf\x1c\x1a\xff\xf5\xed\x08\x04\x26\x9c\x43\x45\x03\x55\x3f\x8b\x7e\x02\x86\x11\x85\x73\x3f\x4c\x81\xc1\x98\x51\xee\xe7\xf5\x67\x09\x82\x7e\xed\x07\x7e\x15\x31\x61\x58\x34\x79\xfd\x79\xaa\x60\x50\x17\x69\x94\x73\x28\x89\x7e\x82\x9a\x1e\x88\xb5\x44\x9f\x1b\x1f\xfb\x75\xb4\xf6\xdb\x51\x91\xf9\x49\x5e\xbd\x09\xe3\xdb\x69\x2b\x8c\x1e\xfc\x06\xd5\xc0\x47\x4d\xd7\xeb\x55\x1c\x42\xe4\xd7\xcd\x32\xfa\x6b\x91\x4c\x61\x05\xb9\x22\x7f\x48\xe2\x27\x69\xfd\x3c\x5b\x8c\x68\xb9\x4a\xc2\x68\xbe\x4c\xf2\x30\x29\x7d\xf4\xd9\x55\xda\x83\xab\x8b\xa5\x1f\xef\x25\xa7\xe7\xf9\x4f\x01\x04\x59\x55\x71\x7e\xe9\x87\x49\xdd\x5e\x06\x94\xe4\xf5\x1b\x3c\x1d\x9c\x45\x92\x46\xed\x0a\xf7\x1a\xa9\x86\xd1\x3c\x3c\x24\x9b\xcf\xd1\xba\x07\x33\x5f\x46\x9f\x86\x91\xc1\x4c\x58\x76\x56\x08\x7e\x5a\xd4\x33\x58\x41\x3e\x5f\x25\xcb\x22\xc7\xa6\xee\x73\x40\xf2\x22\xf7\x8a\xdc\x47\x7a\x14\x27\xc5\x6b\x0a\xe3\x2f\x97\x7e\xfb\x06\xdb\xff\x38\x69\xed\x7a\x44\x7e\x55\xfb\x55\xe2\x3f\x1b\xd9\xb5\x85\x51\x5e\x2f\x7d\x94\xe4\xf0\x7c\x7b\x5a\x2c\x23\x7f\xd7\xe9\x5c\x7b\xb5\x4e\xea\x6d\xb4\x44\x7e\x0e\xf3\x62\x59\x2f\xbe\x9c\x74\xf9\xf3\xec\x7c\x97\xa5\x94\xf9\xf1\x27\x2d\xdc\xb2\x9c\xc2\x6c\x27\xed\x9f\x87\x50\xc1\x5f\x00\x02\x9b\xe9\xaa\xf4\xc3\x4f\xcf\x64\xef\xc7\xc4\x65\xd1\x94\x9f\x37\xfa\xcb\xf2\x57\xd9\x94\xaa\x5a\xcc\x9b\x00\x25\xe1\x24\x7a\x45\xf7\x5f\x83\xb0\xca\x8c\x64\xfb\xf6\x3c\xde\x30\xc7\x46\xed\xe7\xd0\x5f\xc2\x7f\x8c\xa8\xea\x1f\xab\xc1\x25\x54\x55\xf5\x41\xa6\xfd\xed\x08\xc6\x97\xe5\x8e\xfb\xd5\x89\xd6\x3c\x03\x55\xa5\xcd\x0b\xf8\x5d\x43\xde\x63\x7e\x22\x55\xd1\x8d\x53\xe1\xff\xd7\xb3\x49\xa2\x22\xf4\xeb\x5d\xac\xf3\xc7\xf2\x78\xe9\x7f\xfb\xfa\xfb\xbe\xf1\xcf\xe7\xac\xd9\xe3\xf9\xa3\x6a\x82\x7e\x3e\xbf\x3d\x45\x46\xbf\x5d\xbf\xe2\x05\xae\xbf\x7e\xbb\x22\xbe\x5d\x25\x39\x8c\x36\xb3\x87\x8f\x8c\xba\xfe\xfd\xfa\xeb\xd7\x17\x94\xec\xb9\x3a\x4d\xc2\x65\x51\x15\x0f\xf5\xef\xbb\xf1\xb7\xd5\x09\x9c\xea\xf9\x40\xbf\x4c\x8e\xc2\x3c\x8a\x20\xe9\x1b\xe2\xee\x86\x20\xcf\x2e\xeb\x67\xf9\xff\x3a\xef\xcb\x65\x51\x46\xcb\x3a\x39\x13\x29\x74\xed\x0f\x3b\x47\x20\xcd\x7b\x47\xdf\x2c\xbb\xd5\xa8\xce\x1a\xd4\x97\x64\x7e\x04\xd7\xe9\xf4\x9a\x20\x8f\x5e\x1a\xa1\xb3\x7d\x13\x78\x22\x39\x12\xfc\xed\xfa\x69\x29\xd4\xa8\x5e\x17\xcb\xf4\x76\x95\x2c\xeb\xc6\x47\xbb\xaf\xd5\x6d\x8f\xa0\xba\xfe\x76\xb5\x5f\xf4\x9b\x55\x1e\xd5\xc7\xdf\xfb\x2e\xd7\x5f\xff\xfc\xf2\x2a\x0d\xff\xba\xd8\xfa\xaf\x97\x7e\xe1\x40\xf4\x7e\x99\xf6\xc8\xf6\x8c\x3e\xe3\x4b\x0e\x63\xb6\x45\xde\xf1\xee\xcb\x1f\xc9\xc3\x6f\x38\x4f\xc0\x61\xe4\x89\xfc\x3e\xf3\x98\xd7\x5f\xbf\xd5\x85\x52\xac\xa3\xe5\x6f\xcb\xa8\x44\x7e\x18\xfd\x76\x49\xbf\xbe\x5d\x5d\x5f\xe1\xc9\x5f\x7f\xfd\xfa\xf5\xdb\xf5\xf5\xb7\x32\x09\x53\x0f\xe3\x3b\xc3\x4c\xdc\xaf\xec\xcc\xa1\x34\x67\x20\x5c\x46\x55\x15\x61\x4e\x5e\x86\x3d\xf8\x7a\x89\x8b\x2f\xb9\xf7\xe7\x19\x6f\x1a\xf8\x61\x1a\xe5\x70\x87\x6c\x5e\x14\xe8\x53\x12\xf8\x9c\xe9\x3b\xb0\x3f\x43\x19\x2a\x7c\xc8\xfa\xc8\xcf\xc3\x24\x8f\xf5\x06\x45\x7f\xb9\x6a\x5c\x50\xc9\x5f\xa8\x2b\x4f\x73\x8a\x96\xd5\xed\x25\x13\x70\xac\x2a\x28\xb8\x49\xf2\x3a\x5a\xe6\x3e\x3a\x7e\xbc\x1f\xfa\xb6\x0e\x5d\x96\xfa\xab\xf3\xeb\xff\x97\x4d\xf7\x8c\xa8\xbd\x63\xa6\xbb\x51\x3f\x3d\xd1\x72\x59\x04\x2f\x1d\xf7\xaf\x9a\x5b\x07\xfd\x3d\xd3\xe9\x3a\xfe\x8a\xc9\xd4\x45\xd8\xad\xd5\x17\x33\x2c\x5f\x31\x6d\x57\x7b\x55\x1a\x25\xd8\x97\x07\xcd\x3e\x1e\x18\xf5\x01\xd0\x5b\x43\xf7\x82\x36\x2f\x96\xd8\x69\xdc\xdd\x0d\xde\x27\x50\x4f\xfd\x7f\x89\x11\x47\xc1\xb2\x41\xd1\x4d\x57\x19\xba\x60\x54\xce\x43\xfb\xb7\x69\xb8\xf8\xf9\xb7\x69\xd8\x11\xfc\x6f\xd3\xf0\x2b\x4c\xc3\x3d\xf1\x21\xcb\x70\x4f\xfc\x6a\xc3\xf0\x33\xc1\x46\xbf\x48\x7f\x75\x80\x71\xbc\x36\x63\x4c\xf1\x5b\x6b\xf9\x4e\xce\xe6\x4d\x16\x44\xcb\xd9\xc3\x7c\x3f\x0b\xea\x8d\x01\xcb\xe8\x9f\x4d\x54\xd5\x73\xbf\x5e\x60\x5a\x6e\x17\x91\x8f\xea\xc5\xf6\x76\x19\xf9\xb0\xbd\x2c\x7f\x1f\x59\x98\x5e\xa9\xde\xbb\x24\xaf\xa6\x52\x2f\xd7\xfc\xa0\x3f\x6f\x67\x8c\x67\x95\xf2\xf9\xb0\xcf\x25\xca\xcf\xb3\x4c\x8a\xb8\x21\xee\xdf\x99\x65\xbe\x95\x1e\x1e\x93\xbb\xaf\x19\x4a\xe5\xcf\xa7\x8a\xff\xcb\x7c\xd1\xfb\xb4\x33\xf9\x05\x13\xff\x77\x8e\x7c\x44\xf4\x0b\x65\x45\xd5\x0d\x41\x90\x37\x79\x12\xfe\xcc\x3a\x45\xb9\x1f\xa0\x68\xbe\x2c\x36\xed\xfc\xc9\xd4\xd5\xcb\x26\xfa\x90\x7e\xef\xa8\x79\xbf\x6e\x97\xcb\x64\xe5\xd7\x91\x92\xe4\xe9\xae\x2e\xf9\x57\x6b\xf8\x8b\x6a\x62\x19\xe5\xb0\x9a\xe5\xe7\xcb\xe1\x6f\x69\xd8\x39\xc3\x76\x02\xe5\x6c\x55\xfb\xa3\x75\xab\x3f\x8e\xeb\x19\x7d\xd5\xf4\xfa\x45\xcd\xad\xe7\x74\x12\x2d\x4f\x2a\x5d\xe7\xca\xf8\x4f\x1b\x36\xa7\x90\xcf\x6c\xea\xbc\x90\xe2\x8f\x16\xcb\x9a\x32\x5e\xfa\x30\x9a\x17\x28\x09\x5f\x96\x89\x0f\xdd\xb2\x02\xf6\x12\xe2\xe7\xcd\x73\x16\x9e\x41\xdb\x8d\xd9\xa9\xe6\xd4\x0f\x17\x49\x8e\x65\xf7\x21\x41\x97\x83\xc1\x2f\x45\xf5\x56\x97\x9e\x3b\x45\x56\x36\x75\xb4\x54\xfd\x2c\x3a\xec\x18\x7d\xf9\x23\x2c\xf2\xd0\xaf\x0f\x3c\xba\xb9\xfe\x76\x75\xba\x28\x7d\x7d\xb9\xab\x88\xde\x9c\x5f\x9c\x03\x0a\x1f\x66\x49\x6e\x55\x58\x5a\xfa\xf5\x0d\x51\xd1\xc0\x9b\xa6\x8a\x96\xaf\x0d\x43\x49\xde\x6c\x3e\x96\xc4\x7c\x81\x49\xd5\x29\xb6\x5f\x55\xeb\x62\x09\x99\xa6\x5e\x44\x79\x9d\x1c\x34\x0a\x6b\xf8\x1b\x11\x47\x55\x2d\xde\x67\x4f\xcb\xfd\x6e\xc0\x65\x2b\xff\xfc\xf3\x36\xd4\x27\xe8\x87\x88\xa7\xc8\xa2\xdb\x27\x8e\xdd\xfe\x5e\x55\x8b\x5b\xbf\xa9\x17\xc5\x32\xd9\x46\xf0\x1f\x29\x26\xe0\xf5\x39\x9d\x00\x4e\xa3\x76\xe4\xd7\xfe\x0b\x6d\x38\xde\xdf\x78\xd3\x98\xef\x3f\x97\x8d\xfa\xfe\xf3\xe7\x67\x9d\xc2\x47\x72\xe7\x2f\xbb\x2a\xfb\xbb\x24\x3e\xc9\xfc\x38\xd2\xa3\x87\x68\x19\xe5\x67\xf6\xa7\x5e\xf4\xef\xd6\xb9\x5a\xf4\x86\x46\x8f\xe0\xd8\x7f\x33\xe1\x28\x1e\x1e\x76\xdd\xc7\xbc\xf2\x56\xe7\xde\x1c\x7e\xf9\x71\xa3\x80\xe9\x5b\x7d\x57\x4f\x36\x1e\xf9\x75\x54\xd5\x9f\x0b\x81\x8b\x6a\x94\x54\xe9\xdb\x53\x0f\x97\x91\x5f\x47\xb3\x72\xef\x8f\x84\x65\x91\xf5\xfb\x93\x6f\xd0\xd9\x9f\x84\x81\xef\xc2\x72\x75\xb4\x80\xbb\x6d\x12\x73\xe7\x40\xe7\xcb\x28\x4b\x9a\xec\xe5\xfe\xd1\x8b\xc9\xfe\x22\x39\xca\x7b\xaf\xf7\x2e\x39\xea\x53\x91\xf9\xbb\x52\xf2\xff\xe1\x74\xfc\xd5\x08\xab\x47\x2e\x61\xc0\x0f\x7e\x18\xbd\x33\x80\xdd\x7f\xde\xb1\xb6\xcf\xa3\x26\xec\x3c\xba\x00\xee\x6d\xab\xf5\x91\x60\xf8\x68\x4c\x92\xf9\xcb\xf6\x5d\xe6\xfe\x30\xe8\xdd\x91\xfb\xb9\xcf\xfb\xed\xfa\xd5\x45\x86\x24\x65\xd8\x11\xf0\x01\x5b\x7e\xf5\x49\x0e\x9d\x8c\xff\x40\x0a\x71\x76\xfc\xff\x70\x5a\x71\xee\xf3\x46\xe5\xe9\xec\x34\x3e\x23\x34\xa7\x00\x4e\x77\xc3\x3e\x5e\x7d\x3d\x0b\xf5\xac\xa8\x94\xc9\x85\x12\xd2\x6b\x9f\xcf\x30\xe5\xd8\x20\xb1\x1f\xd8\x7f\x7b\xeb\xf3\x39\x66\x5c\xfd\xaf\xac\xd9\x5e\xfa\xbc\x1d\x1a\x3d\xff\xbc\x1e\x2a\x7d\x1e\xfe\xfb\x7a\xbe\x8d\xfd\x75\x38\x97\x5b\xcf\x43\xbe\xe4\x82\x61\xe2\xc7\x79\x51\xd5\x49\xf8\xbe\x04\x26\x28\x8a\x7a\xf4\x34\xe6\x6d\x57\xdc\xe7\xfe\xf0\x9d\xd9\x40\x1f\x97\x58\xcb\xe4\x24\x2d\xda\x1f\xfc\x7d\x96\x16\xbd\x75\x76\xe4\xf6\x75\x2f\xfd\x21\x3e\x45\x9b\x3a\xca\x71\x30\xf8\x2e\x2e\x1d\x7a\xff\x75\x1e\x3d\xac\xde\x0a\x0b\xaf\x3e\xed\xd1\x8f\x43\xf0\x27\x75\x67\xba\x43\xd6\xfc\xd3\xd4\xde\xe9\xeb\xf7\xf5\x19\xae\xa9\xea\x22\x33\xc2\x65\x52\xbe\x15\xd2\x9f\x8c\x1d\xfb\x39\x44\xd1\xf2\xb8\xe0\x72\x38\x9b\xfd\x26\x00\xbf\xa9\x0b\xab\xaf\x12\x4c\x93\xbc\x38\x82\xf2\x81\x68\xa5\x8a\xea\x3a\xc9\xe3\x8e\x85\xef\x34\xec\x5d\x4d\x3f\x0a\xeb\x08\x1a\x47\x83\xdf\x9f\x37\x56\x3d\x9b\xb0\x16\x04\x7e\x15\x7d\xbf\xfb\x6d\xa7\x0c\xfd\x37\xb3\x30\xfa\x13\x58\xd7\x21\x05\x08\x89\x23\x51\xc4\x14\x93\xeb\xaf\xdf\xae\x19\x4e\xd7\x79\x63\x66\xe9\x1c\x2f\x8d\xfe\xeb\x3f\x76\xfd\xaf\x6e\xe0\xd5\x7f\x37\x04\x31\x08\x8f\xff\xbd\xbe\xbe\xfe\xb6\x83\x7e\xac\x57\x27\xe7\xda\xaf\xbb\xd3\x29\xd7\x5f\xff\x3b\xbf\xfe\x76\xcd\x78\x96\xce\x73\xca\xcc\x1a\xa9\xcc\x94\xff\x24\xf4\x93\x23\xef\x2f\xc1\x1b\x3c\x37\x67\xb8\x09\x30\x18\x93\x57\x19\xd5\xfc\xf4\x2c\xce\x1f\x8b\x3f\x41\x38\x62\x4c\x86\x65\x0c\x9e\xe1\xb8\x99\xa5\x9a\x9f\x9f\xd4\x99\x63\xf3\xa7\x88\x58\x73\x36\xe1\x55\x4e\x91\xf8\xcf\xcf\xe8\xd9\x91\xfa\x73\x08\x2c\x5d\xf9\x29\xd8\xd6\x12\x9d\x80\x9d\x8e\xa6\x82\x3e\x53\x4d\x5e\x1d\x7d\x1a\xf4\xe9\xe9\xe6\x67\xe0\x8d\x11\xaf\x02\x49\x9f\xa9\x53\x5e\x35\x3f\x0b\xff\xe4\xe4\xf3\x09\x02\x91\x31\x79\x9b\x71\x31\x1e\x6e\xa6\x0a\x92\x08\x78\xdd\x90\x66\xea\xe7\x30\x5d\x3a\x85\x7f\x0e\xe5\x68\x36\x65\x24\xd5\xf8\x29\x44\xbb\xf7\x16\xce\x81\x17\x78\xc6\xc4\xca\xf2\x53\xf0\xf7\xef\x2c\x9c\x20\x98\xf0\x2e\x60\x2c\xc5\x1c\xa9\x86\x61\x09\x82\xe4\x7c\x0e\xc5\x8b\xe3\xf5\x67\x91\xcc\x75\xfe\xa7\x31\xf4\x75\xd4\x13\xf0\xfa\x5c\x9a\x32\xe2\x27\x75\x79\x77\x28\xfc\x19\xc0\xe9\x68\xba\xb3\x12\x9f\x85\xfa\x74\x5a\xfc\x05\x68\x63\xf4\xd3\xb0\x0f\xe7\xc8\xcf\x00\xc7\x76\xcd\x98\x33\xdc\xa7\x19\x72\x72\xc6\xfc\xb9\x81\xe8\x59\x7d\x7d\x7d\x1b\x47\x79\xb4\xf2\x33\x98\xfd\x3d\xf3\xab\x3a\x5a\xfe\x83\x22\x28\x92\xa0\x89\xe1\xef\xe4\xf5\x75\xd7\x5b\x99\x71\x8c\xf9\x21\xf5\xbb\xb4\x25\x73\x44\x82\x61\xb1\x06\xa7\x4b\x73\x0c\xf8\x23\xa6\xb5\x6a\x82\xde\xcb\x26\x45\xfe\xdb\xd7\xdf\x8f\xbf\x4a\xf0\x98\x87\x3b\x77\x2a\xea\x33\x6b\xfe\x31\x17\xf1\x9c\x7a\x1c\xc9\x1d\x41\xc6\xff\x3c\xf7\xe7\x5c\x8e\xc8\xc0\x60\xea\xc8\x60\xc9\x50\xd4\x17\x50\xb4\x62\xc5\x89\x63\x40\x08\x53\xdf\x1e\x92\x11\x2f\xe4\x9e\x3d\x24\xb8\xb8\xac\x60\x06\xee\xa0\x08\x1a\x8f\x63\xea\x80\x63\x96\xaa\xc9\x20\x1d\xc9\x82\x6e\x30\x2b\x4f\x04\x94\x32\x90\x57\xc1\x40\xa7\xbc\x96\x6e\x03\x8a\x26\x82\xb1\x3b\x89\x44\x6f\xeb\x50\xb0\x0d\x06\x30\x0b\x5b\x66\x75\x0e\xce\xd4\x64\xd6\xb2\xe5\x19\xba\x65\xc5\x0a\xa5\x23\x98\xf4\xe3\x61\x16\xae\x60\x26\xb4\xe7\xe0\xe0\xe7\x5c\x5c\x3c\x4a\xa2\x40\x05\x14\x4a\x25\x4e\x46\x61\x2e\xaf\xc2\xc7\x22\xf6\x44\x89\x94\x44\xd0\x86\x19\xdd\x4e\x38\x62\x3b\x1d\xa5\xd4\xcc\x48\x63\x2f\x97\x57\x81\xc1\xa6\x6e\x06\x1a\x98\x10\xff\x19\x0c\x58\x14\x3c\x16\xb1\x96\xea\xdc\x74\xc4\x0c\xa7\x06\xcb\x6b\x88\xb6\x75\x20\x9b\x86\x45\xcf\x1c\x82\x94\x2d\x82\x64\x01\xaf\x4a\xb3\x84\xe5\x5d\x47\x5f\xb8\x99\xb0\xf5\x0c\x16\x05\xb9\x57\x86\x19\xdd\x04\x36\x68\x20\xc7\x52\x9e\x23\x6f\x7d\x9b\x6e\x24\x91\x2c\x43\x8a\x5c\x40\x51\x2d\xa4\xb8\x6c\x31\x6f\xbd\xa4\xa7\x57\xa1\x36\xa5\x9b\xd0\x6d\x28\x12\x2b\x87\xa4\x53\x37\x29\x26\x5c\x2e\xaf\x71\x1f\xc5\x46\x75\x28\xd2\x2d\xe4\xd8\x02\x8e\xf5\x75\xb8\x2d\x56\x0a\xa5\x57\x4a\xe6\x21\x4f\xa4\x5b\xd7\x61\xdb\x80\x2a\x91\x3b\xd0\x9a\x60\x20\xe7\xca\x80\x25\xdd\x84\x46\xa1\x08\x2a\x85\x94\x35\xd3\x20\xc7\x16\x1f\xd6\x06\x01\x3c\xc5\x02\x9a\x6e\xad\x6b\x75\x5d\x62\x5c\xb1\x62\x90\x65\xe0\xb0\xab\x30\xd7\x62\x7f\xac\x13\xe1\x78\xfa\x5d\x69\xe9\xb5\x6b\xab\x4b\xd7\x86\x28\x6c\x87\xb5\x6f\xab\x6d\x30\x50\x57\x5e\xae\x35\x2e\x45\xd7\x0a\x55\xa3\xc8\x99\xae\x02\x1b\x3d\x86\x19\xbd\x0d\x28\x8f\x50\x32\x61\xeb\xbe\x1f\x66\x16\x8c\x01\x0a\x72\x3d\xf1\x1d\xad\xf1\xed\xfb\x95\x97\x6d\x48\x2c\x4b\x6e\x86\x08\x25\xab\x51\xa4\x15\x13\x2f\xa3\x5b\x49\x14\x08\x28\x82\x3a\x1c\x6b\xb1\x6f\xdf\xc5\xd1\x96\x6f\x94\x47\x40\xcf\x5a\x36\x0d\xd6\x45\x2c\x8d\x0f\x32\x5a\x06\xb9\x4a\xb8\xf6\xa6\x92\xc4\x05\x01\xc7\xec\x76\x96\xdc\xaf\x3c\x71\xdd\x78\x19\x48\x83\x81\xbc\x08\xc7\xf2\xca\xcf\xc0\x23\xe4\x86\xab\x30\x0b\x57\xe1\x18\x24\x0a\x05\xd6\x9e\xbd\x5e\x79\x0e\x8b\x02\x8e\x6c\x3d\x7b\x83\x5c\x47\x45\x8a\xbd\x59\x40\x11\x6c\x21\x47\x0c\x94\x6c\xb8\x72\x1d\xf9\xd1\xe7\x86\xdd\xfc\xe4\xc4\x8d\xdd\x5c\x46\xae\x5d\x4d\x24\x8e\x2d\xbd\x84\x0d\xec\x96\x49\x23\x6a\x4f\xab\x4e\x4b\x1c\x59\x41\x8e\x21\x25\x81\x84\xb3\x96\x25\x7c\x11\x34\xd2\x58\xad\x3c\x1b\xac\xa5\x11\xbf\x9e\xb5\x2c\x0a\xc6\x2a\x92\x44\x70\xe7\x3b\x5a\x3c\x35\xab\xd8\xcb\xd2\x89\x27\xd2\x8d\xa7\x15\x13\x97\x12\x08\x69\x74\xb7\xf2\x1c\xfd\x51\x19\xe0\x39\x0e\x5b\x0f\xf3\xb4\x1d\xa6\x0a\x25\x7c\x87\x8e\x8c\x94\x5c\x46\xa1\x78\x1f\xcf\x47\xeb\x5c\xb7\x68\x51\x5e\x97\x81\xeb\x94\x64\x98\x59\xb5\x4b\x6d\x4a\x47\x2b\x1b\xd7\x26\xd1\xdc\xde\xf5\xb7\xd5\xca\xd7\xca\x04\xcf\x0f\x3a\x72\x35\xb7\x9f\xf8\x14\x8a\xc2\xa3\x4f\x09\xb9\xe7\x4c\x9b\xd3\x75\x55\x57\x81\x41\x0f\xa1\x4d\xee\xf0\xd3\x8b\x28\x07\xad\x67\x90\x8f\x81\x98\x4e\x3c\x7b\xb8\x70\xb3\x0d\xf2\x46\xe4\xd0\x73\xa6\x13\x6f\xc0\xe6\x2e\xb5\x40\x2e\x55\xd1\x91\x0d\xb6\x5c\xbc\xa7\x09\x3c\x06\x03\x19\x3d\xa7\xc9\xa5\xe8\xd6\xfb\x55\x34\xd9\xea\x2a\xcc\xac\x57\x69\x0a\xb2\xfb\x09\xe6\x15\x17\x97\x8f\xae\xa3\xc5\xf3\x84\x46\x50\x9c\xae\x22\x07\xd4\x3d\x3f\xe9\xad\x92\x69\x2b\x28\x6a\x35\x96\xd5\x20\xd7\xea\x4e\x26\xcf\xf0\xfa\x79\x9f\xc3\xdc\x1c\x3d\x55\xec\xde\x36\x2a\xb6\x5c\x42\xe6\xed\xf9\x9d\xca\x3f\x5a\x29\x94\x8a\xf5\x63\x15\xb6\xf7\x03\xa5\xd5\xbb\xf1\x9d\x0c\x32\x25\x0a\x32\x21\x09\x44\x90\xce\x1d\x84\xc2\x75\x99\x87\x22\x7c\xf4\x45\xf0\xe8\x6f\xfb\xf9\xee\xe6\x97\x05\x03\x29\x76\x1d\x9d\xf0\x6c\x72\x0d\x39\xb6\x0c\x12\xf6\xc7\xd4\xb8\x6b\x54\x87\xf8\x21\x89\xfa\x6a\x6f\xdf\x15\x1b\x34\xae\x2d\x57\x9e\xd3\xcd\x91\x0e\xb3\x05\xe9\x1b\x64\xeb\x63\xfb\x61\x86\x75\x48\x81\x16\x66\xa0\x55\x1c\xb9\x80\x76\x5a\x07\x03\x96\xc0\xf6\xcc\xb5\xd7\x75\x98\xb3\x75\xd8\x3e\xd7\x3f\xe1\x7b\x48\x81\x47\x2c\x6f\xae\x4d\x2e\x60\xc2\x2e\xa2\x5c\x45\x6e\x4b\xd6\x01\x35\x2c\xa1\xd8\xe9\xf5\x93\x4c\x1a\xec\x5e\xa6\x6a\x6f\xac\xa6\x87\x36\x3c\xe7\x01\x68\x7d\x47\x1f\x62\x7a\x5d\xaa\x46\x61\xc2\xae\x42\x11\x34\xe1\x40\xad\x14\x87\x45\x61\xb6\x8e\x9f\xaf\x83\xc4\xb9\x99\x24\xca\xad\x67\x0b\x4b\x2e\x61\x62\xdf\x76\x63\x9b\xac\x62\x79\x5c\x2f\xe0\x58\x47\x81\xc3\x12\x0f\x06\x53\x07\x63\x2d\x56\x0d\x16\x3a\x66\x15\x43\x71\x81\x82\x84\xdd\x06\x22\x40\x21\xc7\x6c\xa6\xa3\x2a\xf6\xec\x4d\x67\xcf\x23\x11\x11\xd2\x88\xff\x21\x89\x5e\xc9\x65\xfa\x2a\xc8\xac\x83\x6d\xf6\x0c\x26\x9d\x8c\xfb\xbf\x43\x9b\x8f\x1f\x38\x36\x0f\x33\xb0\x96\x84\xe1\xc2\xcd\x65\x42\x31\xd2\x67\xba\xac\x0e\x43\x4a\x25\x02\x6e\x98\x2a\x5b\x66\xa3\xd8\x7a\x19\x52\x78\x3d\xb1\xce\xd2\xad\x67\x0c\x1f\x03\x6a\x98\x49\xa3\xf5\xbd\x4c\x80\xb9\x9e\x84\x13\x9f\x02\x6d\x90\x81\x0a\xcb\x7d\x98\x81\x87\xb0\xb7\x89\x6d\x90\x30\xb4\x34\x5e\xaf\xdc\x0c\x35\xca\x40\x6f\xa1\x6d\xf5\x6b\x9f\xef\x71\x30\xb5\xe2\xa8\xc3\x70\xa0\xa3\xa0\xb3\xa7\xa8\xf5\x1c\xb8\x08\xc4\x75\xed\x52\x64\x2a\x71\x44\xed\xda\x7a\xaa\xf4\xb6\x9a\x9e\x8d\x98\x15\x14\xd5\x35\x7e\x1e\x62\xf8\xb6\xd0\x74\xfe\x3d\xc3\xfe\x0c\x0c\xf0\xda\x2a\xb6\x5a\x63\xdf\xac\xd8\x42\xea\x71\xe4\x3a\x18\xc8\xc4\xdc\xd4\x88\x69\x4b\x13\xee\x80\xc1\xb6\x7f\xed\x39\x72\xed\xda\x43\xbc\x1e\x13\x2e\x53\x17\x90\x63\xfe\x53\xa1\x00\xe1\xb6\x34\xe1\x71\xe4\xc2\xa3\xb0\x5f\x24\xb1\xed\x7f\xa9\x67\x58\xb7\x33\xf7\x44\xcf\x0c\x6b\xa8\x01\xa0\x43\x2e\x46\x33\xac\x5f\xd2\x78\x37\x27\x5b\x9b\x70\x40\x5f\x78\x2d\xfb\xcf\x60\x80\x79\x24\x54\x1e\x53\xc8\xd6\x00\x6d\xb1\x1d\xf6\x04\x5a\xf4\xed\x0d\xe1\x39\x52\xec\x10\xea\xdc\xb4\x08\xda\x75\x64\x1c\x67\x04\x7a\x8a\xa6\x80\x07\x86\xa3\x15\xb2\x99\x09\xb5\x67\xb0\x75\x40\xe9\xa5\x97\xa7\x13\xce\xda\xf9\x68\xb1\x5c\x41\x47\x6e\x5c\x7b\x93\x72\x31\x32\x3c\x9b\x5c\xc1\x0c\x3c\x40\x0a\x55\x9e\xa8\x2e\xc2\x4c\x8b\x9d\x75\x21\x5b\x19\xa8\x83\x81\x87\x24\x41\x97\x4d\x0b\x98\x80\x17\x54\x8b\x29\x26\x36\x41\x03\x20\xb0\x00\x08\xc4\x84\xb3\x86\x8b\xc0\xb6\x62\xec\xd3\x20\x25\xb4\x98\x4e\xd3\x16\x08\x97\x8a\xe3\x49\x5c\xc8\x56\xe7\xdf\x99\x76\x66\x4a\xdb\x29\x53\x0a\x26\xe1\x4e\xb8\x0c\xdc\xed\xfc\x3e\x6b\x23\x60\xe8\x80\x1e\x99\x3c\x0d\x74\x81\x9e\x69\x16\x29\xcc\x0d\xbd\x7f\x6e\xa9\x53\x93\x04\xbc\x99\x0a\xaa\xae\x95\x8b\x28\x61\xab\x80\x82\x65\x90\x30\xb5\xdf\xe9\xb7\x50\x05\x22\x3d\x50\xec\xe1\x4a\x71\x54\xd2\xcd\xd5\xc7\x30\x43\x6b\x28\xa2\x55\x90\x4f\x27\x5c\x32\x8d\x81\xb8\x40\x92\x48\x2e\x82\x0c\xdb\x2d\xec\x6b\x75\x6c\x7f\x4a\x38\x4e\xb1\x6e\x2c\x20\x87\x7d\x98\x15\x83\x94\x88\xc3\x1c\x34\x61\xcb\x2e\xc2\x96\x5d\x05\xd9\x66\x28\x89\x0b\xfc\xf7\x42\x1a\xab\x65\x90\xc1\xca\x33\x70\x3c\xd2\xf9\xd1\xad\x6f\xc3\x5d\x1c\x74\x37\x91\x5a\xd6\xf2\x45\xb4\x95\xc6\xf2\x2a\x10\xad\xf8\xb4\x9d\x2d\xc3\x96\x65\x35\x52\xd6\x20\xb6\x21\x63\x58\xf8\x36\x5e\x03\xb4\x95\xc4\xe1\x0a\x72\x6c\xe3\xd9\x2a\x0a\x07\x98\xef\xa8\x8a\x0c\x76\x1d\x66\x60\x8b\xe5\x53\x12\x51\x23\x8d\xf5\xc2\xd3\x8a\x47\x69\xfc\x6c\x7e\x09\x3b\xf0\x0c\xd8\x7a\x06\x9b\x7a\x0e\x5b\x05\x03\x54\x06\x59\x18\xfb\xf6\x90\x08\xda\xbb\x58\xe2\x51\xd6\x8d\x35\xd8\xd2\x13\x41\x03\x45\x44\x44\x06\x9b\x06\x14\xd8\xe3\x2d\x5c\xc7\x43\x92\x28\x34\x51\x07\xff\x0c\xed\xe3\x69\x1c\x52\x2a\xb6\x4b\xa9\x24\xd2\xcd\x0e\xde\x16\xda\xf2\xd6\x1d\xc8\x65\x38\xd6\xcb\x80\xba\x8b\x21\x65\xe5\x61\x66\xc5\x9e\x08\xd6\x81\x48\x0f\x7d\x7b\x98\x63\xda\xa1\x78\x5f\x49\xd8\xc6\x8c\x61\x19\x88\x6b\xcc\xa7\x26\x18\x68\x71\x48\x2d\x56\x10\xf3\x18\xdb\xcf\x93\x35\x5d\xc7\x90\x5a\x94\x58\x76\x7c\x67\x8a\xff\x1e\xee\x70\x26\x9e\xbd\xc1\x63\x2a\xdf\x1e\xa2\x9e\x77\xea\x2a\xb0\x49\xbc\x96\xc8\xeb\xd7\x00\xc3\x5a\xb8\x94\xba\x82\x98\x77\x63\x15\x41\x8e\xc1\x36\x3c\x91\x05\x15\x68\x48\x1d\x59\x29\xd2\x00\x8f\xe6\x66\x8a\x78\x29\x2e\x26\xe1\x4e\x9f\xdc\x81\x5e\x49\x63\x95\x70\x1d\x99\x78\xb2\xc7\xc3\xad\xe7\xc8\x94\x6f\xab\x88\xcb\x84\xef\x92\x28\x3c\x86\x47\xb4\x2a\x76\x2f\xf7\x52\xa2\x15\x21\x05\x52\x89\x23\x91\xc4\xc1\xed\x03\x77\xf7\x4f\x65\xb0\xb9\x97\x5b\xe6\x7e\x3e\x5a\x27\x32\x2f\x8c\x2c\x24\x0b\x16\x41\x03\x2b\x55\x05\xc3\xd2\x92\x89\x21\x4d\xb8\x94\xe4\x4d\x0b\xa9\x9a\x05\x85\xb9\x21\xa5\x11\x29\x6b\x86\x45\xb2\x3a\x61\x21\xd9\xb8\xff\xe7\x83\x71\x9f\x46\xc4\x53\x1f\xa9\x9d\xfe\x53\x19\x10\x09\xb6\xd3\x3b\x7f\xb1\xee\xe4\x89\x93\x52\xd3\xd2\xd5\xdd\xd8\xb3\xed\x16\x62\x65\xd3\x12\xc6\x3a\xc6\xdb\xcd\x65\xb3\xf2\x28\x9a\x84\xcc\xf3\x78\xac\xb3\xaf\xab\x20\xf3\x4a\xaf\xa5\x6b\x4f\x24\xe2\xf9\x68\xd3\xe9\x2c\xc6\xa1\x23\x79\x6e\x22\x5d\x30\x53\x1d\x58\xe9\x9a\x96\x5b\x5d\xd5\x79\x52\xb4\x52\x7a\x06\x78\x30\xd3\x05\x60\x98\x5c\x38\x39\xa2\x67\xdf\x67\x87\xbf\x6f\xdb\xf3\x42\xb7\x86\xb6\x01\xe4\xb9\x99\x92\x82\x89\x34\xdc\x77\x6a\x12\x2a\xdb\xad\x51\x72\xda\xd7\x4a\xe9\xa9\x6e\x92\xb9\xeb\xe8\x08\x52\xc2\xb0\xe3\x1f\x50\xe7\x00\xc8\x23\x1d\xc3\xe0\x81\x6c\x22\xd5\xd2\xac\xe1\x48\x37\x89\x5c\xe6\x16\x45\x30\x50\x89\xa0\xb3\x81\x69\xce\xa5\x60\xae\xc7\xc5\x24\xb0\xeb\xd4\x77\xa4\x58\x19\x78\x8b\x10\xc7\x48\xe3\xf0\x25\x0f\x7a\x1b\xbc\xda\xcb\x87\x42\x91\x69\x60\x3c\xc9\xc3\xb1\x0f\xb3\x49\xd0\xf8\x8e\x0e\xb9\x54\xc8\xb0\xef\x9a\xdb\x67\xe4\x07\xc9\x28\x74\x00\xf6\x35\xdb\xb3\xed\x71\x19\x58\x5d\x2c\x82\x1e\x3d\x40\x4c\x74\x7b\x48\xf9\x8e\xbc\x0a\xb2\x4e\xbe\xb1\xad\x47\x73\xa3\x8f\xe7\x30\x4d\x2e\x45\x37\x5e\x86\xf2\x8e\x2e\xad\x14\x22\x11\x3c\x5a\x03\x7d\x11\xe6\xba\x16\x66\x16\xad\x18\x34\x19\x0e\xa4\xde\x7f\x52\x07\x79\xd8\xe7\x65\xc8\x8c\x8f\xc7\x68\xb4\x32\x00\xdb\x30\xa1\x13\xdf\xbe\x5b\x79\x22\xfd\x88\xfd\xb2\x34\x96\xc9\x20\x61\x43\x1c\x67\x28\x46\x47\x47\x1b\x39\xec\x0a\xdb\x17\x89\xeb\xe1\x87\x94\x5c\x06\x09\xad\x7a\x8e\xde\xfa\xb6\xba\xd5\x9d\x05\xe1\xd9\xc3\x3e\x27\x14\xd6\x13\xa9\xf3\xa7\x8b\x55\x38\xd0\xbb\xf8\x51\xe2\x80\xf4\xf4\xbc\xd7\x1f\xd9\xba\x8b\x1d\xa6\x88\x3b\xdf\x9c\x11\xbb\xbf\xc9\x5a\x1a\xc9\xf9\xbe\x2f\x4c\x98\x7e\x6d\xfa\x75\x58\x7b\x36\xf1\x7d\xe7\x77\xb1\x8c\x36\xa1\x08\xea\xe3\xbe\x7d\xde\x09\x08\xb8\x2d\x8e\xfe\x2e\xbf\xef\xfa\x1c\xeb\xcb\x1e\xdf\xc8\x73\x64\x42\xcf\x50\xe5\x19\x2f\x70\xed\xfb\x88\x38\xf7\x85\x3c\x68\x3c\x01\xb4\xc1\x0e\xce\x33\x9d\xd8\xf7\x9d\x06\x14\xcc\xb1\x7f\xd6\x28\xba\x09\x29\x1a\xfb\x8e\x9e\x97\xd6\x66\xe5\x11\x1b\x04\x33\x50\x49\x02\x5c\x84\xd9\xb0\xb3\xdb\xbb\x71\x5a\x98\x21\x0a\xcb\xb8\x41\x81\xe1\x1b\xf4\x98\x38\x36\x70\x29\x20\x9c\xe6\xe5\x3d\x5d\x17\x74\xec\xf9\x58\x03\xfb\x33\x89\xeb\x74\xd4\x34\x49\x60\x68\x04\x30\x4c\x62\x23\xec\xf9\x69\x51\x34\x19\x66\x2a\xb2\x32\xba\xf2\x2c\xd4\x84\x03\x7d\x11\x64\xea\xd9\x31\x86\x35\xc4\x31\xc2\x4c\x23\xac\x89\xee\x2c\x90\x4b\xaa\x44\x30\x60\x2e\xc8\x57\xd7\x86\xd7\x7f\x62\x65\x60\x0b\x45\xa1\x85\x23\x72\x11\x8c\xe1\x22\x72\xa6\x4f\xcf\x04\x15\xb9\x5b\x62\xc3\xa1\xde\x3e\x9b\x22\xaa\x7d\x47\x97\xb1\xdd\x0f\x73\x6f\x11\x8c\x88\x35\xd6\x1f\xc3\x1e\xe2\xfe\x55\x20\x10\x13\x40\x09\x0d\x14\x41\xaa\xe5\x29\x1d\x38\xa0\x82\x62\x5a\x43\x47\xc5\x3a\x87\x61\xe4\x9e\xa3\x9d\xcd\x95\x4e\x75\x4b\x68\x83\xf6\xc9\xde\x60\x9d\xef\xc6\xa4\xd8\x9e\xd3\x86\x7e\xb0\x3d\xb4\xac\x8f\x88\xfc\x8c\x9d\xcf\xb9\x54\x67\x01\x2f\x70\x1a\x50\x05\x87\x10\x46\x1a\x41\x03\x13\xe9\x0f\x5d\x3c\x83\x6d\x14\xff\xd4\xae\x59\xea\xc8\x24\xc1\x0c\xf0\x43\xd6\xb4\xac\x9c\x4b\x05\x1f\x00\x59\x70\x08\x9d\x03\x3c\xad\xe8\xd6\xf0\x41\x23\x36\xb2\x6e\x0d\x2d\x87\x40\xfc\xdc\x08\x53\x9d\x97\x2d\x93\xa8\x05\x33\x55\xa7\x86\x85\xc7\x22\x5e\x5e\x97\xbc\x86\xf4\xb9\x41\x80\x99\x43\x02\xc3\xec\x68\x3b\xc0\xc0\x32\x9a\xf7\xb6\x93\x66\x35\x42\x9d\x03\x6b\x68\x61\xff\x63\x21\x16\xaf\xe7\xe1\x99\x14\x97\xf8\x7b\x4f\x2b\x50\x35\xcd\x52\x85\xb9\x05\x17\x50\x04\x03\xd7\x49\x27\x3a\x21\x58\x3a\x80\xac\x0d\x68\xde\x24\x48\x16\xaf\x7d\x47\xd3\xfe\xb9\xa5\xcf\x4d\x4b\x90\x4d\x34\xcd\xb9\x14\xb2\x80\x07\x8e\x06\xd0\x83\x9e\x02\x16\x08\x38\xe6\x9b\x62\x7b\x3f\xd6\x80\x2e\x00\x42\xf0\x8e\x9e\xe7\x1c\x3a\xf8\x42\xdc\xc7\xb0\xf8\xde\x07\xca\xeb\x7d\xfc\x78\x12\x7b\x6f\x23\x47\xc5\xb9\x60\x7a\xb0\xdd\x06\xbd\x08\xb3\xfb\xda\xa3\x04\x02\xe7\x05\xd1\xff\x4a\xdb\x7d\x2a\x5f\x5c\x0a\xee\x3c\x5b\x35\x7b\x99\x67\x5b\xcf\x24\xea\x0b\x76\xb9\x96\x38\x32\x93\x38\x30\x3b\x19\x33\x22\x56\xd0\x51\x5b\xa5\xb7\xc9\x69\x40\xa9\x4b\x6c\x7f\x70\x4c\xfb\x93\xb6\x18\x49\xfc\x19\x99\xe7\x76\xf6\xcc\xb6\x62\x9d\x17\x2c\xcd\x92\x59\x8b\x00\x0f\x07\x39\xde\xc5\xf2\x7b\x1c\x9e\x71\x88\xf5\x9f\xe4\x93\xd8\xc9\xad\xf0\x1c\xde\x4e\xae\x11\x7d\x6c\x53\x91\xc4\x1f\xc9\x11\x4f\xab\x9a\x85\x66\x56\x7b\x34\xee\x49\x26\x45\xdd\x12\x2c\xac\x3f\xc7\xed\xd8\x2e\x3e\xe9\xa1\x76\x04\xb7\xd3\x87\x8e\x5e\x8b\x64\x59\xed\xc9\x2f\x9c\xf8\xa1\x90\x63\xee\xa6\xa3\xe2\x6e\x3a\x8a\xd7\x47\xcf\x08\x75\x34\xfd\x3e\x1b\xe1\x5c\x71\x87\xcb\x71\x63\x65\x80\xfd\xe7\x91\x6c\x52\xfb\x9c\x6b\xfd\xfd\x95\xb6\x3d\x5e\x4a\xe2\x68\xca\x75\x24\x6c\xfb\x07\xb3\xe4\xe8\xef\xbc\xd8\xf5\x79\xd2\x8b\x9e\x16\xf6\x8c\x2c\xd1\xeb\xf9\xf9\x58\x60\x8b\xdb\x24\x8e\x24\xa4\xd1\x94\x9a\x8e\x7a\x3b\x0c\x44\x54\x7b\x36\x4d\x42\x01\xdb\x66\xd6\xf4\xec\x29\x3d\xdd\xba\xeb\x29\x53\x1a\x9e\xd3\xdb\xdf\xb9\x2d\x54\x18\x47\xb8\x7e\x7a\x66\x51\xe0\x71\x6e\xf2\x93\x5d\x0c\x32\xf5\x6d\xb2\x84\x3c\x8e\xff\xb1\x5e\x08\xd5\xdc\x64\x26\x1c\xaa\xe5\x7d\x1d\xc5\xd1\x4a\xc7\xb5\x87\x84\x67\xeb\x5c\x64\x92\x35\xb4\x37\x84\x6f\x90\x64\x48\x81\x56\xc9\xf5\x45\x98\x41\x04\x0f\xb9\xa2\x5a\x60\x9d\x91\x38\xd2\x38\xe4\xc7\x80\x26\x67\x19\x9d\x74\x35\x4f\x81\x6e\x67\xb9\xb7\x08\x11\x8d\x63\xf3\x07\x38\x2a\xb7\x53\x6e\x1f\x03\xd0\x6b\xc8\xd1\xc7\x75\xde\x55\x80\xf3\x12\x67\x51\x07\xd4\xb0\xcf\xd7\x99\xa3\x98\xd0\x61\xf6\x71\x61\xe5\xdb\xd2\x0a\x52\xc2\x2e\xa7\xa7\xd5\xe3\x5a\xb1\xd6\xd7\x22\x1b\xec\xa3\x41\x26\x90\xc1\x58\x6b\xac\x81\xde\xd5\xe8\xb8\xcc\x5b\x85\x09\x8b\xd7\xab\xab\xeb\x4a\x19\x99\x86\x94\x96\x48\x9c\x8c\x63\x95\xa4\xaf\xef\xbe\xf4\x3b\x5d\x5e\xcf\xed\x65\x82\xc0\xfa\x3e\x08\xb2\xcd\xca\xb5\xb5\x5a\x1e\x63\x9a\xc8\xc7\x30\x03\x29\xce\x0b\x7d\x5b\xa8\xc2\xf6\xd4\xa6\x75\xbe\x09\xd5\x20\xe8\xeb\x75\xbc\xe7\x1c\xe5\x8a\x8f\xa4\xe6\x39\x72\x19\x50\x7a\xe9\xb6\x4c\x8a\x79\x23\x89\x6a\xeb\xed\x72\x61\xd7\xde\xe0\xdc\x15\x79\xb9\x8c\x42\x2a\xc6\x6b\x65\xee\x61\x3b\x5a\x69\x45\x0e\x8b\xe6\x36\xdd\x78\x8e\x5a\x04\x03\xed\xe0\xdb\x3b\x79\xd8\xc9\x57\x20\xd2\x8f\xae\xbd\x3e\xc8\x19\xa4\x86\x55\x40\x09\xa9\x62\x9f\xe2\x51\x72\xb5\x90\x38\x1d\xf3\xe7\xa2\x0f\xfe\x04\x2f\x08\xdf\x26\x51\x98\x30\xf7\x73\x1e\xc7\xf9\x65\x00\xec\x61\x09\x05\x62\xa2\x8b\xe0\x38\x57\xa5\x2d\x11\xb4\xbe\x4d\xa7\xbe\x3d\x8d\x7b\x58\xec\x33\x58\x6c\xeb\xd9\x5e\x8b\xe7\x8a\x6d\x7b\xa7\x13\x8e\x0c\xb9\x94\x6e\xb4\x8c\x5e\xed\xe2\x91\x75\x60\xa3\xa6\x7b\x46\x09\x95\x67\x0f\x53\xd7\x91\xe8\x29\x77\xbf\x99\x3e\x16\xeb\xe9\xa8\xc0\x3a\xc3\xba\x94\x4a\x86\x99\xf0\x18\x81\x6e\x0c\x19\xae\x8b\x89\x4d\xec\x62\x28\x71\x03\x39\x04\x17\x5d\xfe\xca\xcb\xc3\xb9\xa3\x97\x81\x0d\x5a\x3c\x97\x93\x18\x65\x5f\x97\xdb\xfb\xbc\xde\x27\x54\x01\xa5\x2e\x02\xee\xe0\x1b\x0e\xfc\x71\x07\x32\xda\xe5\xfb\x8b\x60\x3c\x6d\x42\x2a\x3e\xe4\x70\x52\xcb\xef\xd6\x47\x5e\xe0\x75\xde\x9f\x6b\x81\x5a\x31\xd1\x08\x5a\xb5\x78\x7a\xa6\x77\xf1\x80\x1c\xca\x23\x3e\xe1\x32\xf0\xe8\x8b\xf7\xb1\x94\x3e\xad\xa7\x24\xac\xd3\xe3\xbe\x2f\xe4\x28\x2e\x26\x80\x07\xaa\x25\xd0\xbc\x01\x24\xda\xe1\xb4\x22\xb0\xeb\xae\x56\x2b\x71\x64\x3a\xd1\x4a\x14\x8d\xfb\x3d\x14\x0d\x94\xc0\x4a\xc1\x83\x46\xd0\x33\x3d\x45\x63\x87\xd0\x65\xeb\x91\x0c\x65\x6e\x51\xfb\x58\xcf\xb1\x3e\xda\x5a\xf9\x94\xb3\x22\x6c\x07\xca\xbe\xbe\xb7\xa9\x82\x41\x58\x07\xd9\x7d\x1d\x0e\x40\x12\x52\x6a\xeb\x3b\x7d\xfd\x16\xf3\x19\x8e\xe5\x45\xc8\x31\x89\x4b\x6d\x90\x6b\x0f\xc9\x90\x93\x62\x1d\x2c\x64\xd0\xe5\xbc\xfb\x67\x71\x29\x8d\xbb\xbd\x8e\x7d\x1d\x62\x05\x1d\x0d\x7f\x0f\xec\x96\x49\x1c\x4e\xb7\x74\x8b\xd4\x3a\xba\x12\x29\x9e\x3b\x77\xb1\x32\xd0\xeb\x90\xbb\x6f\x26\x2d\x0b\x1d\x83\xc9\xe4\x5d\x5e\x15\x66\x6e\x7c\xd2\x3f\x2e\x62\x49\xa8\x03\x89\x93\x43\x99\xdf\xc7\x72\xea\xdc\x4c\x3d\x59\x27\x3b\xde\x24\xd2\x88\xfc\x4f\x89\xa3\x89\xc0\x61\x56\x4a\x52\xc5\x0e\xe8\xf7\x60\xb0\xef\x55\x1c\x39\xeb\x78\x7d\x8e\x47\x71\x49\x73\x71\xd9\xed\xcf\xf4\xf0\xd5\xb9\x09\xd8\xb9\x99\x82\x19\xe0\xa4\x78\x6e\x30\x49\x60\xeb\xb5\x94\xb0\x87\x3d\x1a\xec\x97\x34\x12\x18\x56\xda\xf9\x5b\x9c\x33\x5b\x0e\xe1\xc9\x26\x6f\xd1\xd2\x4e\xf7\xf0\x18\x25\x67\x51\x60\x48\x13\xcf\xde\xbc\x05\x7f\xeb\x71\x52\x7c\xa8\x31\xe3\xf9\xf2\x2a\xc0\x31\x30\x8e\x71\x71\x4e\x00\x04\x5a\x34\xac\x8d\x30\x37\xa4\xe3\xbd\xc0\x81\xbb\xdf\x43\x20\xc8\xd2\x1d\xc8\xab\x90\xa2\x33\xc8\x0d\xd9\xbe\x56\x3e\x54\x3c\x07\xd9\x2e\x8e\xdb\xb9\x21\xf6\x61\xad\x67\xd0\x5d\xfd\xfc\x88\xb6\xad\xa7\x15\xb1\x24\xf6\xf2\x69\xd8\x43\xca\xc5\xf4\x72\x2c\x19\x52\x42\xee\xf5\xeb\xb2\xaf\x6f\x4f\xbc\x2c\x9d\x70\x48\x15\x34\x52\x16\xc0\xa1\xc6\x28\xe7\x70\x90\xd6\x0e\xa7\xff\x38\x96\xe7\x07\x43\x9a\x98\x29\x70\x1c\x42\x15\x2c\xa4\x3f\xe8\x29\x9a\xea\x26\xf1\x4c\x16\xe8\x67\x3c\xe9\xf2\xb2\x64\x67\xfb\x0f\xb5\xf8\xbe\x7e\x57\x6d\x94\xe4\x8e\x7c\x30\xab\xd8\x13\xef\xf7\xb2\xb6\xf4\x1c\x9c\xe7\xe1\x39\xb2\x5b\x0f\xdb\x48\x47\x8b\x8f\xf4\x18\xe7\xdc\x19\x8e\x1d\xb1\x0c\xbc\xa0\xa7\xdf\x3b\x4d\x25\x4e\x7e\xda\x37\x6d\x75\x45\x07\xc8\xd6\x00\x98\x02\x81\x35\x74\xcb\x93\x6d\x8e\xc4\x73\x6c\x64\xbe\x16\x6c\xe0\xb1\xc0\xda\x58\x3a\x3f\x34\x2d\x12\x88\x7a\x8a\x5c\x65\xa0\x22\x6c\x2f\xe0\x78\xba\x72\x38\xdd\xd4\x2d\xd5\xd0\xc1\x2e\x3f\x31\xa4\x0b\xfb\x81\x6c\x28\x1f\xed\x5d\x2a\xf6\x86\x90\x46\x16\x96\xdd\x1f\x5d\xad\xce\xbe\x8b\x43\x6a\x83\x3c\x87\x89\xa7\x26\xf3\x43\x12\x41\x15\x52\x56\xec\x39\x8b\x12\x72\xcc\x66\xd6\xb2\x99\xaf\x95\x69\x40\x0d\xd1\x93\x0c\x93\xd9\xf9\x79\x9e\xca\x6f\xb7\xdf\xd1\xeb\xe5\xc8\x24\x48\xcd\x24\x86\x38\xa7\x4d\xa4\x11\xf1\xe4\x67\x85\x03\x1d\x38\x3e\x8b\x25\x11\xfb\x2c\xd8\x74\xb1\x03\xb5\x59\x79\xdb\x12\xfb\x95\x2a\xa0\x42\xac\xaf\x33\x1d\xc0\x13\x59\xc5\x78\x0e\xf2\xc5\x31\xf1\xae\xb6\x57\x4a\x1c\xd9\x78\x06\x93\x4f\x8d\xf5\x4a\xb7\x86\xbc\xc4\x77\x74\xca\x7a\x8a\x46\x38\x87\x51\x5a\x76\x2d\x63\xde\xf0\x43\x01\x90\x27\xfa\x85\x79\x97\xf9\x9d\xbc\xaa\x45\x60\xd3\xa9\x34\x62\xba\x98\xeb\x12\xfe\xc0\x71\xcf\xb6\x75\xf6\xe0\xbc\x0e\xbf\xd0\x09\x3d\x13\xca\x40\x04\xa9\x34\xd6\x57\x47\xbe\x3d\x76\x71\xae\x22\xa2\xcc\xb7\xd5\xee\xdc\x43\xb7\x17\xfd\xdc\xa6\x77\xfb\x4c\xbb\xfd\x5b\xad\xc4\xeb\x75\x88\xc5\x3a\xfa\xc7\xd6\x32\xc2\x31\x56\x97\x6f\x6c\x56\x2e\x25\x54\x87\xbc\x63\x00\x9b\x40\xa4\x17\x1e\xf7\x32\x5e\xf1\x99\x67\x35\x57\x71\xb7\x3f\x67\xb0\xc7\xe3\x7a\x5d\x7f\x11\x37\xf4\xfe\xb1\xdb\x03\xea\xea\x73\x2a\x11\x70\xec\x6e\xcf\xd0\x3a\xd6\x9d\xba\xb3\x63\x97\xc6\xc7\xc5\xc7\xe9\xe6\xd8\x8e\x26\x2e\xf9\x44\xac\x23\x76\x35\x3a\x55\x17\x54\xbe\x5b\x4b\x1e\x89\x86\xa5\xe2\x3c\xc6\xd4\xac\x3b\x5a\xe6\x16\x87\x7d\x3f\x69\x1c\x93\xd3\x51\x1a\x2b\x36\xf6\x73\x7d\xcc\x1f\x88\x28\x51\x06\x70\xb1\xdb\x4b\x5a\x99\xc7\xfb\xc5\xe9\x6e\x3f\x31\xad\x51\x04\xbc\x05\x8e\xa3\x15\x84\x63\x77\x19\x29\x54\xa7\x0f\x7d\x6d\x8c\x23\x9b\x80\xa2\xc9\xae\x1e\x3e\x00\x7d\xdc\xcc\xb1\xf7\xd2\x58\x45\x5e\x97\x9b\x31\x79\xd8\xde\x37\x93\x54\x9d\xcd\x8d\xfb\x95\xdc\xa6\x13\x2e\x23\x97\x9e\x88\x5a\x89\xbb\x1c\x97\xf5\x3e\xe0\x29\x0e\x55\x32\xed\x5d\xb5\xd4\x8e\xae\x7d\xce\x6c\x0c\x53\x85\xa2\x29\xcf\x91\x5b\xdf\xd6\xd1\xb9\x7d\xb2\x7d\x2c\xa7\xd9\x1e\xe1\x39\x12\x1d\x64\x80\x80\x14\xdd\xfa\x2d\xb9\x0a\xb2\x4d\x19\x64\x56\x83\x73\x60\x8f\x02\xc4\xbe\xce\x7b\x42\x07\xa5\x23\xaf\x8f\xd3\x77\x34\x1f\xe2\xc4\x6e\x5d\x1c\xb2\xab\x1f\x3f\x58\x82\x2c\x60\xbb\x38\x37\x7a\xde\xe3\xdc\x79\x47\xef\xca\x13\x41\xd6\xd9\x6b\x66\x37\x86\xa0\xfb\xbd\x04\x34\xa5\xa5\x84\x64\x71\x6c\x23\x71\x64\xa7\x4b\xa6\xa5\x9b\xba\x40\x77\x35\x31\x87\xdc\xdb\x62\xe9\x78\xdf\x4b\x35\x89\xa1\x0c\x78\xda\x30\xac\xe1\xd8\x21\xe0\xc8\x22\x69\xc1\x44\x9e\x6c\xa5\xf4\xcc\xc4\x39\x71\x57\xb7\x21\x79\x8b\xd0\x4f\x9f\x73\xe1\xc4\x73\x16\xdd\xfe\xa4\xc4\x93\x73\x33\x45\x96\x49\xca\xb2\x99\xc2\x07\x9d\x50\xcd\xa3\xfc\x76\x57\x3b\xe9\x60\x1c\xea\x3a\xf2\xfa\x29\xfe\x32\x2d\x7a\x66\x00\x7d\x6e\xa5\x68\xa6\x93\xf4\x58\x23\xd5\x07\x2b\x05\x63\xc3\xa2\x67\x73\x23\x4c\x4d\x9e\xc6\xb6\x4d\x36\x89\xbb\xfc\x0d\xda\x59\x00\x74\xc9\x21\x10\xef\x90\xba\x67\xf1\x16\xad\x39\x80\xf0\xf9\x27\xb9\x7c\xef\xf8\x0e\x2f\xe6\xdf\x33\xfb\x6a\x11\xc2\xec\x2d\xda\x4f\x6a\x55\x46\xd8\xd7\xb4\x04\x95\x3f\x7e\xfe\x0a\x8c\x91\x49\x0c\x45\xc3\x82\x0f\x20\x05\x86\x45\xa0\xb9\xf9\x88\xd7\xe0\x50\x73\xd8\xe9\x70\x1f\x87\x1d\xfa\x24\x97\xd7\x03\x74\x75\x3f\x28\x98\x29\xb0\x35\xf0\x04\xdf\xc2\x76\x20\x45\x23\xdd\x24\x89\x30\x07\xd8\x0f\x5e\xa2\xc9\xd2\xad\x21\x7b\x6e\x6f\xe4\x12\xce\x17\xfb\x24\x97\xf8\xbe\x93\xf9\xa3\x9a\x2d\x2d\xb7\x5a\xe1\x8b\xf4\x16\x8a\x5d\x3d\xa8\x3c\xd4\xdb\x92\x29\xf6\x83\x04\x14\x51\xe3\xb5\x9f\x5b\xff\xce\xd6\xd8\xe4\xb6\xf3\x47\xe2\x62\x01\x33\x2b\x76\x29\x81\xec\xfc\xab\xd8\xe9\x58\x1c\x64\x34\x81\x71\x41\xf1\x3e\xf6\x45\xba\x09\x06\xa0\x95\x04\xd5\x34\x4f\x7d\x5d\xec\xda\xc3\xa1\x24\x92\x38\xdf\xae\x24\x71\x81\x5c\xc7\x43\x41\xb2\xdf\xb3\xad\x9b\x60\x00\xb7\xd2\x18\x16\x91\x71\xf7\x2c\xb7\xef\x73\x27\x9c\xdb\x77\xe7\x2c\x28\x15\x85\xb9\xbe\xe5\x32\x75\x1b\x8a\x1b\x1c\x9f\xf4\xe7\xd6\x7a\xff\x80\x63\xd5\x6d\x48\xad\x57\x9d\xcf\x1c\x4f\xfb\xff\x73\x44\xac\xd8\x52\x2c\x9b\x0c\xb6\x7d\x5d\x3d\x7e\x57\x87\x5c\xfb\x54\xba\x82\xe2\x66\xbb\x87\xab\x50\xea\x42\xb1\x65\x32\xc8\xf4\xca\x33\x86\x8f\x78\x7d\x15\xf2\x2e\x55\xb6\x7c\x1c\xb5\x25\xdd\xd9\x27\x11\x50\x0a\x35\x24\x03\x71\x3d\x71\x49\xba\xf5\xec\x05\xce\xcd\x2e\xd3\x1a\x17\x8f\xd2\x18\x22\x49\xdc\xa0\x7e\xff\x56\xad\x7c\x1b\x34\x90\x47\xa9\x24\xca\x95\x6b\x0f\x97\x92\x28\x6c\x71\xbe\x14\x64\x61\xec\x3a\xd3\x38\xa0\x86\x55\x64\x30\x9b\x4b\xfb\xe0\xfb\x3d\x5f\xfc\x1c\xf3\x1e\x66\xe4\x36\x5c\x17\x8f\x92\x88\xb2\x1e\x57\xbf\x5e\x81\x8d\x63\x71\x1c\x8f\x09\x8d\x34\xe2\xab\xae\xad\xdf\xdb\x8d\x83\x0c\x20\x8f\x63\x89\xa0\x65\xd7\xc1\x80\x25\x03\x51\x20\x3c\x83\x1d\xf8\x8e\x5e\x9c\xd0\x38\x06\x5b\x8c\xa7\x3f\x03\x47\x67\x5e\x82\x7d\x93\x8e\xa4\xb1\xfa\xe8\xda\xc3\xc6\xb7\x87\xf9\xb3\xfa\x6e\xea\xd9\x3b\xdf\x36\xf0\xb6\xae\xd1\xf7\x0f\x71\xfe\x9b\xec\xcf\x5c\xf4\x67\x4b\x7c\x3b\x3c\xe4\xba\xd1\xba\x8f\xdf\xa4\x74\x58\xba\x94\x95\xcc\x12\x66\x33\x33\xd6\x7d\x4c\xc8\xc9\x96\x6f\x93\x28\x18\x00\x42\x7a\x2c\x70\x9c\x7a\x37\x1d\x31\x15\x8e\xbd\x24\x8e\x49\x34\x6a\x53\x62\xff\x6f\xd8\x1a\x1e\x97\x48\xc9\xd3\x38\xcf\x1e\xe2\x9c\x5d\xf6\x38\xe9\xbb\xc4\x49\xfb\xfc\x0c\xc7\xce\xd8\xbe\x28\x00\x75\xbe\x7d\xa6\x59\x43\xcb\xb0\xb4\x44\x61\x76\x74\x20\xb6\x0d\xa8\x6e\x9f\xff\x14\xf7\x96\x59\x1f\xfa\xa4\xdd\x9e\xf6\x22\xc8\x74\xde\xb3\x37\x8b\xc8\x90\xbe\x4b\x23\x06\xc7\x8f\xf4\xde\xaf\x75\x7c\x1b\x63\x59\xf0\xf0\xbc\xba\x1a\x93\xeb\xc8\x2b\xc5\x3e\xd4\xe6\x63\xd7\x01\xab\xc0\x99\xc6\xae\x53\xe2\xdc\x22\xdd\x9f\x5b\x0a\x6c\xba\xf1\x76\xb1\x4c\x17\x97\x18\xec\xa3\x3f\x96\x57\x41\x8e\xd7\xe5\xd9\xd9\xae\xd1\x21\x5f\xd9\xd7\x29\x1f\xa1\xb8\x8e\xf7\x67\xd0\x24\x4e\x7f\xf2\xfb\xf9\x81\x9e\xc3\x39\xbf\x1d\x9d\x8f\xae\x7d\xd7\xd3\x98\x09\x5b\x9c\x53\x06\x9d\xde\x6f\x16\x81\x2d\x50\xd2\x58\x5d\x79\xb9\x3e\x70\x1d\x19\x1d\xce\x3d\x72\xe7\x62\xac\x9e\x7e\x8f\x63\x0f\xeb\xac\x38\xd3\x58\xde\xc1\x57\x6c\x2d\xb6\x46\x02\x7f\xa8\x95\x24\x8b\xfd\x79\xa7\xed\x74\x54\xc5\x61\x06\x92\x80\xa2\x89\x89\xc1\x64\x5c\xfc\x5f\xff\x75\xfd\xf5\xe2\xcd\xad\xcf\x3f\x6f\xbf\x69\xf8\x8b\xdf\x21\x7c\xd7\xc5\x29\xc5\x2a\x5a\x96\xcb\x62\x95\xec\xde\xb3\x7a\xf0\x51\xf5\xfa\x3d\x3f\x09\x8c\xf2\xfa\xdc\x1d\xff\x57\xc7\xaf\x8f\x59\x55\xb4\x64\xaa\x2a\x89\xf3\xe8\xec\xc5\x33\xcd\x51\xbb\xd4\x43\x7c\xed\xad\xb7\x4b\x2f\xb5\x4e\xfb\xbb\x14\x76\x10\xda\xdb\xf3\x60\xaf\xbf\x5d\xed\x5f\x4e\xf4\x97\xc5\xcd\xd1\xbd\x2d\x17\x0f\xac\x7f\xfd\xb3\x7b\x7d\xec\x25\x0f\xdf\x75\x07\xd2\x8b\x2b\x62\xba\x97\x00\x2f\xde\x13\xf3\x9e\x3b\xb3\xb9\xfe\x2e\x9a\xdb\xd3\x9b\x6e\x8c\xd0\x47\x91\x11\xbd\xbc\x3b\xfb\x97\xdd\x94\x44\x52\x1f\xbf\x29\xe9\x23\x6f\x20\x5f\x7a\xdb\xf8\xfc\x9d\x46\x17\x20\x5f\xb8\x50\xfc\xfa\xdb\xd5\xff\xef\xdb\xcf\x9f\x5b\x83\xf7\xdc\xf9\xf4\xd6\xbd\x49\x3e\x42\xc5\x1a\x9c\xdc\x12\xc0\x84\x61\x54\x55\x17\xdf\x8b\xec\x87\x08\xc5\x72\xed\x2f\x61\x04\xcd\xa5\xff\xf0\x90\x84\x6f\x74\x17\xfb\xe9\x99\x4b\x3f\xaf\x92\x7a\x6f\x0b\xce\xeb\xae\x1e\x65\x45\x1d\xed\x46\x54\xaf\xf4\x5d\x76\x1d\x4f\x89\xbf\xac\xe5\x2f\x5f\x60\x3f\x7d\xb3\xe5\xc5\x0f\x1f\x74\x7c\x7f\xf3\x4a\x05\x2c\x63\xcb\xb2\xbf\x45\xe1\x9c\xb9\x7e\x9f\x52\x1f\x5f\xc6\x70\x5b\x46\x11\x96\xaa\x9b\x1d\xd8\xf7\xdf\x72\xf6\xfc\xb6\x87\xd3\xef\xf3\x1e\xec\x9b\x57\xe1\x5f\xba\xc2\xec\x9d\x6a\xff\x0e\xa1\xbc\x68\xca\x76\xf7\xba\x61\x9e\xde\x1e\xbd\x6e\xbc\xbb\x74\xa9\x43\x70\x7b\xfd\xed\x2a\x6e\x12\xf8\xdb\xeb\x76\xe0\xcc\x85\x6f\x27\x57\xb7\xec\x10\x7d\x3d\x35\x9b\xe7\x7e\xb5\xa2\x13\x83\x3b\x48\xff\x08\xe8\xfb\xe0\x86\x84\x77\x0f\x37\x77\x3f\xee\x7f\xdc\xf8\x14\x4d\xde\x84\xdf\x7f\xdc\x0f\xee\x20\x45\x52\xd1\x8f\xf7\xd9\xda\x57\x08\xbc\xed\x9c\x25\x8c\x96\xd5\xed\xb2\x40\x51\xef\x6b\xb2\xe8\xcc\xaf\x17\xbc\xa5\xd5\x55\x58\xf4\x78\xdf\xb0\x96\xef\xe5\xd2\x59\x7b\x89\x69\x1c\x45\x0f\x49\x9e\xf4\x2f\x4a\x1d\x7e\x11\x62\xff\xee\x94\x7e\x16\xf7\xe9\x6a\x9e\x02\xe9\xb0\xbf\x8f\xd7\x67\x49\x2a\x4f\x7e\x6c\xe4\xf4\x9e\xad\xf3\x6b\xfb\x3a\x98\xfd\x7d\x48\xcf\x47\xbe\x7e\x57\xdd\x8b\xdf\x96\xb8\xbf\x21\xe8\x1b\x82\xbc\x29\x97\xd1\x2a\x89\xd6\xbf\xd6\xe3\xbd\x7f\x0d\x2f\x39\x8f\xbf\xf5\xdf\xff\xf5\xb7\xff\x17\x00\x00\xff\xff\xfb\x0e\xa8\x0f\x69\x6d\x00\x00") func gatewayProductionJsonBytes() ([]byte, error) { return bindataRead( @@ -476,7 +476,7 @@ func rpProductionSubscriptionJson() (*asset, error) { return a, nil } -var _rpProductionJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x7b\x93\xa2\xc8\x96\xf8\xff\xf7\x53\x54\xf4\x6f\x23\x6a\x3a\xb6\xab\x1b\xb0\xec\x2e\x6e\xc4\xfe\x21\x28\x08\x2a\xca\x2b\x41\x66\x6f\xdc\xe0\x25\x52\x24\x8f\x01\xd4\xd2\x8d\xfb\xdd\x7f\x91\x20\x8a\x8a\x96\xf5\xe8\x99\x9e\x99\x76\x63\xe7\x56\x93\x99\x27\x4f\x66\x9e\x77\x9e\xcc\xfc\xbf\x7f\xdc\xdc\xdc\xdc\x7c\xf8\xaf\xcc\x9e\xbb\xa1\xf9\xe1\x9f\x37\x1f\xe6\x79\x9e\x64\xff\xfc\xf2\xa5\xfc\xf2\x39\x34\x23\xd3\x73\x43\x37\xca\x3f\x9b\x9b\x45\xea\x7e\xb6\xe3\x70\x5b\x96\x7d\x21\x30\xbc\x7d\x87\xe1\x77\x18\xfe\xc5\x71\x13\x18\xaf\x51\x3d\xc5\x0d\x13\x68\xe6\xee\xe7\xc7\x2c\x8e\xfe\xdf\x87\x4f\x65\x0f\x76\x1c\xe5\x6e\x94\x03\x37\xcd\xfc\x38\x42\x1d\xe1\x9f\x31\xf4\x7f\x55\x85\xc4\x4c\xcd\xd0\xcd\xdd\x34\xfb\xf0\xcf\x9b\x12\xad\xe2\xbb\x69\xa7\x92\x9b\xc5\x8b\xd4\x76\x39\xe7\xa0\xa8\x28\xce\xd7\x89\x8b\xa0\x65\x79\xea\x47\xde\x87\x5d\xe1\x7f\x3e\xd5\x40\x38\xa1\x1f\x75\x12\x9f\x36\xa9\x45\xe4\x40\xf7\x8d\x50\xa0\xef\x46\x39\xed\xa6\x39\x1d\x87\x61\x1c\x09\x66\xf8\x5a\x88\x69\xf8\x12\xac\x3e\x1d\x96\x3a\xee\xcc\x5c\xc0\x1c\x98\x70\x51\xd4\xba\xd8\xc7\x6b\x70\x7e\x6d\x7f\x65\x67\x57\x2c\xd6\xeb\x3a\x40\x54\x48\xc3\x78\xe1\xbc\x61\xe2\x11\x0c\xd9\xb5\x27\xa6\x1d\x00\xb9\xa3\xb8\x91\x79\x15\xc2\x8d\xc0\x2c\x1f\x42\x3f\xf2\x7a\x44\x4f\xce\xe3\xd4\xf4\xdc\x8e\x6d\xc7\x8b\xef\x37\x01\xdb\xfe\x64\x37\x5d\xfa\xb6\x3b\x49\xfd\xc8\xf6\x13\x13\x7e\xaf\xee\x6c\xb8\xc8\x72\x37\x1d\x39\xe1\x76\x5c\xaf\x9b\xa5\x1d\x98\xcc\x79\x2f\x38\x74\x1c\xcd\x7c\x6f\x2f\x51\xde\x06\x0d\x51\x53\x96\x98\xf6\x2b\x49\x6a\x0b\x69\x62\xa6\x6e\x94\x77\xe3\xd0\xf4\xdf\x20\x18\x1c\x33\x37\x2d\x33\xab\x28\xe9\x0d\x80\xac\x3c\x0e\xdc\xe8\x6a\x8e\x6c\x06\xe2\x67\xa6\x05\x5d\x3a\xce\xc2\x38\xeb\x52\x8c\x9f\xba\x2b\x13\xc2\xf3\xc0\xac\x38\x86\xcf\x10\xdb\xcc\x84\x99\xdb\xd8\xdb\x0c\x2e\xdc\x28\xb7\xfc\x9c\x0b\x4d\xef\x95\xc3\x9e\x25\x6f\x1b\xf1\x2c\x79\x05\x77\x35\x42\xf2\xcc\xdc\x5d\x99\xeb\x92\x20\xb2\xef\xc3\xa1\xdb\x3e\x2a\x2d\xc9\xa6\xf1\x22\x79\x3d\xc9\x6c\xa1\xbd\xd7\x04\xf8\x89\xb4\x80\xee\x85\x91\x9b\x69\x6a\xae\x9b\xdb\x06\xee\x7a\x89\xc6\xdf\x15\x64\x79\x31\x9b\xf9\x4f\xaf\x43\xa1\x02\x33\x49\xdd\x57\xc3\x08\x9d\x90\x49\x0b\x13\xc6\x51\xd3\x0b\xa4\x7f\x19\x46\xe6\xf4\xa2\xa5\x9f\xc6\x11\xb2\x93\x5e\x07\x24\x8a\x23\x23\x8e\x4c\x28\xb9\x9e\x1f\x5f\xa2\xa8\x72\x5e\x2f\x13\xd4\xaf\x07\xa5\x45\x0d\xd7\xcc\x72\x33\xf3\xcd\xa3\x96\x45\x99\xed\x46\x79\x6a\x42\x3f\x72\x9a\xcb\x83\x38\x75\xcd\x6d\xa5\xa6\xf2\x2c\x5e\xe4\xf3\x6d\xf9\x22\x6b\xec\xc1\x8c\x4c\xe7\x12\x08\xcf\x4d\x43\x33\x5a\xaf\xdc\x2c\xbf\x50\x2b\x8a\xd3\x95\xb9\x46\x43\x69\x44\x63\xe5\xe7\x1b\x37\x85\x66\xe4\x44\x71\x9a\xcf\x9b\xea\x58\xa9\xb9\xf1\x61\x81\xf0\xd9\x91\x98\xb3\xd4\xb7\xcd\x12\xc4\x41\x95\x7f\x35\xae\x5c\x12\xa7\xb9\x09\x3b\xb6\xed\x66\x59\xc1\xa3\x9c\xf3\xbc\x40\xb8\x00\xe9\x6d\x22\xae\x84\xd1\x83\xee\xd2\xcc\x5d\xe7\x6d\xf8\xa4\x09\xe3\x9a\xf9\x22\xbd\xc4\xe6\x6f\x11\x70\x69\xf2\x06\x5d\x90\x26\x6f\x35\x5d\x10\x84\x37\x5a\x2d\x25\x88\x77\x30\x58\x4a\x40\x6f\xb4\x55\xd2\xe4\x7d\xcc\x94\xf4\xdd\xd4\x64\x9a\x80\x30\xcb\x68\x33\x31\x6d\x3f\x5f\x9f\x87\xe1\x47\xc7\x1c\x7d\x4c\x42\xad\x46\xf8\x59\x36\x9f\x2c\x2c\xe8\xdb\x03\xf7\x02\xf4\x4b\x18\x66\x07\xb6\x7d\x39\x73\xaf\x84\xb4\xb0\x32\x3b\xf5\x93\xdc\x8f\xa3\x77\xd2\xd9\xcb\x50\xf6\x37\x6f\x76\xe8\xe4\xdc\x8c\x1c\x33\x75\xfe\xdd\x25\xb2\x7f\x2f\x5b\xe7\xba\xca\xb2\x17\x22\xfa\x8f\x1a\x8c\x0f\xe9\x76\xc4\xd9\x81\xfa\x39\x02\x95\x05\x8b\x13\xf8\x45\x41\x54\xf6\xbc\x43\xf5\x50\xee\xfe\xe7\x68\x80\x49\x1a\x27\x6e\x9a\xfb\x0d\x72\xa9\x2c\x2f\x48\x82\x9b\x74\x20\x8c\x6d\x13\xad\xc7\xc8\xcd\xe7\xb1\xb3\xed\x21\xf7\xed\xcb\xf0\x37\x71\x54\x80\xfe\xf0\xab\x3f\xfb\xc5\x8e\xa3\x1c\xd9\x78\xbf\xec\x03\x19\xbf\xdc\x1e\x69\xeb\xdb\x8f\x9f\xf2\x78\x18\xaf\xdc\xf4\x97\xd4\x4d\xa0\x69\xbb\xbf\xa4\x75\x0a\xf8\xe5\xe3\xe7\x0a\x93\x4f\x37\xb7\x37\xb7\x9f\x6e\x6e\x6f\x3f\x7e\xfc\xf8\xe9\xf6\xf6\x53\xe2\xdb\x81\x81\xfa\xfb\xe5\x76\xe4\xdb\x69\x9c\xc5\xb3\xfc\xb3\xe0\xe6\xab\x38\x0d\x50\xbd\xdd\x58\x1c\x27\x75\xb3\xcc\xcd\x6e\x3f\xdd\x9c\x87\xdd\xfa\xf8\xf1\x5f\xc7\xe4\x50\xcd\x6d\x9a\xdc\x25\x7e\x72\x5c\x5a\xad\xee\x49\xe7\x5f\x4e\x7a\x3e\x6e\x5a\x75\x5b\xcc\xd4\x39\x9c\x4e\xd0\x31\x13\xbf\x16\x2c\x22\x30\x02\xbb\xc3\x1e\xee\x30\xbc\x91\x2c\x7f\xd2\xcf\x8f\x43\x3f\xa5\x65\xf1\x93\x86\xae\xa3\xa1\xd9\xd6\xab\xe0\x26\xa5\x75\xb0\x48\x8b\xa1\x64\x8d\xd6\xf9\x29\x9a\x2f\xe9\xeb\xb0\xee\xe1\x8c\x3f\xdb\xa0\x68\xe4\x3b\x07\xf3\xcf\x39\x0d\xc4\x74\xba\x96\x88\xbc\x4a\xa1\x72\x7b\x42\x35\x8d\xdd\xe4\xa6\x87\x10\x8a\x16\x10\x5e\xac\xfc\x9f\xb3\xa5\xff\x39\xdf\x4b\x5d\xce\x55\x93\xff\xa1\xb1\xf6\x19\x20\x7f\xce\x05\xd8\x73\xe5\x0f\xb5\x08\x5b\xb4\x9e\x59\x88\x93\xaf\xff\x6a\x72\xd9\x4c\x3b\x70\x23\x67\x3b\xea\x49\x1c\xc3\x57\x31\x51\x8d\x3c\xb6\x10\xdf\x82\x14\x8c\x4d\x87\x32\xa1\x19\xd9\x7e\xe4\x55\x91\x90\xef\xca\xd8\x67\x04\xca\x3b\xd2\xd7\x7e\x4c\x6e\x9a\x7d\x39\x27\xc0\xb6\x5c\x0f\xad\xed\x1f\x55\x3d\x44\x7e\x97\x09\xea\x32\x71\x36\xac\xf3\x77\x1b\x5b\x03\x49\x1d\x0f\x6b\x5b\xe5\xcd\xa3\x4a\xd2\xd8\x3a\x35\xaa\xdf\x6b\x20\x05\xf4\x13\xdc\x8b\xaf\xef\x81\x79\x1e\xdb\xc5\x2a\x7c\x50\xec\x63\xa5\x7f\x52\x1d\x21\xd6\xf5\x91\x93\x60\x2d\x2a\x8d\xde\x2d\x3d\x91\xe7\x9a\x56\x24\x34\x89\x53\xe4\x87\xdf\xdf\xb7\xae\x23\x95\x7d\xfd\xb7\x2a\x0c\x68\xa5\x0b\xe8\xfe\x11\xea\xe2\x87\x64\xeb\x23\xe9\xfd\x93\xb5\x1b\xb1\xfb\xdd\x59\xbb\xd2\xf5\xa8\xe4\xae\xd8\xcf\xff\x3b\x31\xf9\xfd\x7b\x18\x24\x3f\x19\xfd\x27\xa3\xbf\x78\x54\x7f\x2c\xa3\x67\xd9\xfc\xcf\xcb\xe6\x04\xf1\x22\x2e\x27\x08\x82\x78\x3f\x36\x47\x53\xf7\x16\x23\xbf\x5c\x99\xef\xee\xb1\xd7\xd6\xa6\x8f\x84\xfa\x73\x53\x9c\x5c\x2b\x41\xa3\x45\x68\xb9\xe9\x78\x36\xa9\xc6\xf1\xdc\x62\xa4\xee\x6f\x0b\x37\xcb\x27\x66\x3e\x47\xd8\x7c\x99\xbb\x26\xcc\xe7\x9b\x2f\xa9\x6b\x3a\xeb\xf3\x14\x78\xa5\x91\x55\xb2\xd1\x1f\xe1\x92\xbf\x7a\x86\xef\xff\x44\x33\x7c\x6a\x1d\xfc\xd1\x73\x7d\x85\xa4\x49\xf6\x7c\xff\xe2\xa9\x7e\xbf\xd9\x7a\x89\x9c\xb8\x18\x15\x3c\x70\x29\xae\x0f\x93\x1e\x28\x84\xef\x1c\x22\x3d\xd9\x2c\x4a\xdc\xc8\xc9\xc6\x51\x73\xda\xc0\xf7\x08\x49\xbd\x31\xd0\xf8\x8f\xe6\xe5\xf8\xdb\x46\x7c\xb3\x85\x15\xb9\xa7\xfb\xd7\x8d\x75\xaf\x32\x4f\x96\x7e\x9a\x2f\x4c\xb8\xfd\x67\xf6\xa5\xec\xa0\x5a\x85\x65\xe4\xe6\xdb\x3f\xcb\x82\xe7\x8d\x93\x37\x31\xea\x36\xd5\x6d\x1f\x4a\xbc\xd0\xe6\x4f\xbe\xf1\xf2\x33\x48\xda\x84\xd3\x9f\xda\xc9\xba\xf3\xa3\xdc\x4d\x23\x13\xa2\x2f\xc7\xa4\xfc\x57\x71\xb7\x0e\x06\xf9\x67\xf5\xbb\x1a\x57\xea\x4f\x1e\x49\x7d\xb8\xbf\x6f\xbf\x30\xca\xd2\x7e\x17\x61\x7d\x31\xcc\xf2\x97\xf0\xbd\x9e\x9b\xd7\x1f\xc9\x33\x38\xa0\xe6\xef\x60\xe8\xee\x58\xe7\xc7\xb4\x78\xdf\xc3\x44\xfc\xb5\x6e\x44\x94\x69\x59\x67\x8c\xdb\xdc\x77\xd3\x03\xa3\xb2\x31\x1d\x76\x97\x10\x77\x08\xf9\x30\x5f\xee\x44\xf0\xbc\xd4\x24\x5d\x24\x5e\x6a\x3a\xee\x24\x86\xbe\x7d\x9a\x1f\xb7\xab\x16\xc6\x4e\xb9\x4c\x66\xb4\x30\xe1\x29\x81\x34\xd0\xd8\x87\xad\x91\x38\x32\xed\xb9\x1f\xb9\x93\x34\x9e\xf9\x0d\x47\x9d\x76\xd5\xe3\xec\xb9\x2a\xe5\xc4\xc4\x61\xb2\xc8\xdd\x54\x30\x43\x77\x97\xd6\xfd\xe1\x57\x3b\x8e\x6c\x33\x47\xd3\x73\x77\xfb\xe9\xe6\x70\x29\xca\xb4\xb5\xdb\x8f\x9f\x6e\x6e\xef\x2e\x6f\x81\x97\x27\xbd\xd4\x0c\x91\x6a\xb9\xaa\x36\x8c\x17\xce\xdd\x22\x73\xd3\x4b\xcd\xa0\x1f\x2d\x9e\x5e\x66\x4f\x54\x67\x2b\x26\x66\x96\xad\xe2\xd4\xe9\x2c\xf2\xb9\x1b\xe5\xfe\x8e\xae\xf3\x74\xe1\x3e\x23\x10\x90\x53\x7a\x95\xee\x4b\xaa\x0c\xc8\xf3\xe2\xf2\xf8\xf7\x3c\xd4\x3d\xf4\x9d\x40\x8a\x43\xf7\xcb\x7e\xc6\xbe\x7c\xce\xb2\xf9\x17\x73\x91\xcf\xe3\xd4\xdf\xb8\xce\xbf\x03\x84\xc0\xf3\x09\x08\x3b\xc0\x81\xbb\xee\x9a\xb9\x79\xc2\x03\xf5\x9c\xce\x67\x55\x6f\xf5\x3b\xef\x63\x54\xbf\x7f\xbd\xd6\x47\x79\x49\x10\xa5\x4a\x27\xbd\x8a\xd8\xfd\xd0\xf4\x5c\xc9\x9d\xb9\xa9\x1b\x35\xa4\xfc\x9e\xd4\x2f\xd6\x39\x9b\x97\xe2\x45\x72\x9d\xbe\xf9\xac\x3d\x10\xcf\x66\xdb\xea\xfd\xde\xf0\xb9\xca\xa5\x10\xfc\xf0\xed\x6e\x08\x46\xcf\xd5\x5d\xee\x25\x2d\x34\x73\x37\xcb\x5f\xa7\xa1\xe2\xac\xeb\x67\xc1\xf3\x43\xb7\x53\xd7\xcc\xdd\x71\x52\x69\x05\x26\x8d\xc3\x32\x77\xfc\x19\x3c\xcb\x63\xae\xce\x55\xbd\xdc\xdc\x9c\xe4\x03\x2b\x5b\x05\x36\x49\xdd\xd0\x5f\x84\xff\x1e\x4a\xf2\xab\x7d\xdd\x17\xd1\x51\x54\xea\xc9\xab\xe8\xa8\xb4\x14\x26\x57\x19\xcb\xbf\x67\x92\xc1\x45\xd3\xa4\xec\x89\x43\x86\xc3\xcc\xb4\xdd\x2b\x43\x26\xd5\xef\x8a\x85\xac\x59\x28\x48\x49\xdc\x45\xbe\x7d\x4d\x7a\xd4\x0b\xac\xc7\x5a\x1b\x3f\x34\xd3\xf5\x55\x62\x7d\xd7\xc8\x4f\x5e\x38\xe6\xfa\xef\x7a\xf9\x7d\xd3\x34\x17\x7e\x62\x17\x7d\xbf\x40\x5c\xdf\xbc\x72\x72\x0e\xda\xbf\x20\x54\xd5\xd8\xfe\x0f\x09\x5f\x35\xfd\x9e\xf1\xf8\x1a\x91\x7f\x0d\x95\x1c\x02\x38\x8c\x28\xbd\x3c\xc2\xd1\x08\xf5\x98\x36\x12\x3f\xf9\x7d\xe6\xa3\x2e\x64\xa8\x17\x84\xaf\x9e\xfb\xbd\x6e\x1e\x6e\xfe\xf8\x6d\xe8\x73\xbf\x57\x4c\xee\xcd\x0f\x35\x0f\xaf\x8d\x0f\x9d\xfb\x3d\x6f\xec\x1d\xff\x2e\x1b\x7f\xaf\x87\x7f\x5d\xcd\xe7\x7b\xbf\x0c\xe7\x7c\x69\x33\xe4\x73\x46\x85\xe3\x9b\x5e\x14\x67\xb9\x6f\x5f\xe7\x8d\x59\x71\x9c\x77\xf7\x6d\x9e\x37\x2e\xdc\x08\x39\x3d\xce\x95\xfe\x4d\x69\x69\xa9\xa9\x7f\xe0\xe3\x55\xf7\x94\x1c\x39\x7a\x4d\xe7\xb4\x0a\xa7\xef\xcb\x65\x1b\xe4\x45\x13\xe4\x3e\xe5\x6e\x84\xec\xda\xab\xa6\x67\x57\xfb\xbb\xd8\x2b\x76\xf6\x9c\x71\x7b\xf3\x6a\x7b\xa5\xee\x48\xec\x19\xbb\x53\xdc\x03\xd3\xdb\x8f\xea\x4a\x4b\xa6\x8a\xf2\xd0\x8b\x2c\x8f\x43\xb9\x38\x03\xf7\x92\xb6\x7d\x33\x72\xa0\x9b\xd6\x83\x37\xbb\xeb\x63\x9e\x05\x60\x2e\xf2\x58\x2d\xc3\x1c\x23\x3f\x8a\x6b\x50\x5e\x60\x8b\x65\x6e\x9e\xfb\x51\x91\x17\xff\x7f\x57\x4a\xdb\x22\x74\xe8\xda\xb9\xeb\xc8\xb5\xc6\xd7\x7b\xbf\xe5\x51\xc1\x82\xf2\x2d\x33\x73\xbf\xde\xff\xb2\x65\x80\xf2\x5f\x4a\x2c\x17\xc7\xed\x7e\xb9\xb5\x09\x80\x71\x34\x0e\xdd\x4e\x3c\xb8\xfd\xf8\xe9\xb6\x43\x4b\x52\x4f\x1e\xab\x12\xdd\xe3\xba\xff\xf3\x5f\xdb\xfa\x37\x77\xce\xcd\xff\x2e\x30\xac\x65\xd7\xff\x7b\x7b\x7b\xfb\x69\x0b\xbd\xce\x4b\x07\x57\xef\xdc\x16\xdb\x59\xb7\x1f\xff\x37\xba\xfd\x74\xdb\xe9\x8e\x38\xa1\x33\xe1\xe8\x21\xd7\x13\x14\xba\x27\x29\xf4\x78\x34\x1a\x0b\x42\x67\xd4\x7b\x65\x5f\x17\x6e\xd7\x39\xec\x5a\x1a\xbd\x6f\xc7\x67\x2f\xc8\x39\xee\xb6\xec\xf3\xd5\x93\xb9\xbf\x18\xe7\x10\xb0\xa1\x4a\x3d\x7a\x38\x56\xbb\x6f\x18\xc3\xc1\x9d\x38\xa7\xe0\xe5\x1e\x3d\xe9\xd0\x03\x20\x77\x94\x9e\xd0\x79\xc3\x18\x9a\xef\xcd\x39\xe8\x90\xe2\x86\x43\x4e\x60\x7b\x44\x4f\x56\xc6\x52\x87\xed\x75\x68\x7a\xac\xbe\xbe\xcf\xf3\xd7\xeb\x1c\x74\x4b\x0f\x55\x59\xe9\x49\xa3\xee\x68\xdb\xdf\xeb\x7a\x3b\xb9\xed\xa6\xb9\x13\xb9\xfb\x3e\xbd\xec\x8e\x95\x9f\xeb\x86\x1e\x0b\x0c\xc7\x82\x9e\x24\x73\x63\xe1\xcd\x9d\x1d\x1c\x40\x3f\xd7\x25\x22\x43\x79\xd2\xa1\x5f\x49\x8b\x4d\x57\xea\x34\x75\x35\xe9\x48\x3d\x41\xe9\x8e\x47\x1d\xee\x0d\xdc\x7b\xe6\xda\x9d\x83\x0e\xbb\x1d\xa5\x43\x75\xe4\x8a\x10\x5f\xdf\x59\xc3\xb5\x3c\x87\x1d\x51\xca\x78\xd0\x13\xde\x26\x27\x8e\xae\xec\x39\xe8\x80\x19\xaa\x3d\x41\xa1\x38\x85\x1b\x75\xd8\x57\x0e\xe2\xf0\x7e\x9d\x43\xf0\x93\xb7\xa1\xbe\xbf\x76\xe7\x08\xac\xdc\x93\x00\x47\xf7\x26\x12\x27\xd0\xdc\xa4\x33\x7c\x7d\x07\xa7\x17\x0e\x1c\x74\xc5\x76\x94\x9e\xd6\x99\x96\x54\x25\xbf\xae\x93\xc3\x2b\x7b\x9a\xc0\x57\x7a\x95\x95\xc6\xea\xe4\xf5\xe4\x74\xee\xde\x9e\xa6\x2e\xdf\x6b\x06\xcf\xde\xee\x73\xd0\xe9\xa0\x37\x05\x1d\x75\xa8\x74\x05\x59\x56\x19\x86\xd3\x5f\xd7\xd9\xc9\xfd\x3d\x8d\x9d\x4c\xa4\xde\x9b\x7b\x28\xf7\x80\x0e\xc0\x8f\xba\x23\x46\x1a\x0b\x4a\x4f\xe8\xaa\xd2\xf0\x75\xe0\x0f\x6f\xfd\x39\x02\x2f\x77\x7b\x02\xe0\xa4\xb1\x30\xea\xbd\x56\x0f\x1c\xdd\x08\x74\xd0\xc1\x64\x2c\x29\x9d\x61\x87\xa6\x7b\xb2\x5c\x10\x1a\xd7\x7d\x25\x41\x37\x5d\x3c\xd3\xd0\xd5\xdb\x78\xff\xf0\x4e\x9a\x06\xf0\xbd\x61\x0f\x74\x94\x5e\xf7\x3d\xc6\x72\x7c\x6d\xcd\x41\x77\xd2\x84\xe9\x75\x14\x64\xf5\xbc\xae\x8b\xfd\x6d\x36\x47\x60\xdf\x20\x74\xb7\x37\xd8\x1c\x01\x7c\xab\xb1\x52\xbf\xda\xe6\x04\xf4\x1b\x4d\x94\x83\x4b\x6f\x1a\x80\xbf\x83\x61\xd2\x70\x29\x4e\x43\x47\x6f\x34\x47\x8e\x2e\xcc\x39\xea\xe0\x7d\x8c\x90\xd3\xfb\x74\x9a\x9d\xa5\x0e\xa5\x0a\xdd\x61\xef\x7f\x10\x98\x46\xdf\x67\x7b\x13\xe8\x6d\xd1\xb8\xee\xed\x9c\x6d\x79\x70\x83\x68\xad\xdd\xa8\x3b\x2a\xc9\xf5\xf6\xf6\x8b\xe7\x46\xee\xd2\x0c\x9d\xf0\x9f\xa1\x89\x8c\xa5\x7f\x13\x18\x81\x63\x24\xd6\xfe\x8c\x6f\x6b\x0f\xc7\x74\x47\x79\xd1\x3a\x9e\xcb\xb6\xa8\x0d\x5b\x56\x29\x99\x96\xb8\x09\x02\xfc\x12\xa9\x52\xbf\x1f\xe7\x97\x8f\x9f\xeb\xff\xe4\x9c\xfa\xea\xbd\x5e\x0b\x1f\x63\x1f\x99\xa1\x5b\x83\x8c\xfe\x73\xec\x5e\xd3\x11\xc4\x2d\xb9\x93\xbb\x32\x85\xdb\xac\x34\x77\x58\xd5\x1b\xea\x9e\x07\x30\x66\x64\x6a\x6d\xdc\xed\x31\x91\xa1\xb5\x31\xda\x4b\x32\x27\x04\xf7\x0e\x0b\x16\x06\xdd\xc9\x2d\xba\x93\x0a\x4a\x07\x4a\x90\x67\x24\xb9\xb3\x34\x58\x40\x0c\x5b\xfc\xd2\x6a\x49\x84\xb1\x26\xd7\x16\x41\x62\x56\x7f\x3a\x70\x59\x63\xa3\x13\xce\xda\x6a\x39\xa1\xbd\xee\x2c\x9b\xe0\x8c\x94\xce\x8a\x57\x0d\x59\x52\x55\x6f\x48\x48\xd0\xf1\xcb\xf6\x4e\x68\x2f\x9d\x90\x59\x37\xc1\x41\xdf\x69\x2f\x7e\xe4\x58\x86\xb0\x08\x18\x70\x34\x0f\xed\x88\x5f\xda\x8f\xb1\x67\xb0\x1c\xce\xb1\x60\x6d\x87\xe4\x7a\x40\x63\x9b\x51\x37\x20\xc6\x72\xe0\x19\x11\xbf\xb4\x64\x2a\x98\x86\x60\xe1\xf8\xd8\x7f\x5b\x2d\x0a\x5a\x8f\xb1\x27\x06\x12\x3d\xea\x76\xda\x23\x99\xea\x89\x90\xd4\x24\xc0\x2b\xb2\x4a\x8e\x75\x0c\xe7\x55\x0c\xa7\x40\x4f\xe0\xc6\x3e\xd5\x9b\xea\xd2\x7c\x1a\x32\x1b\x43\xa6\xa0\x15\x19\x89\x1d\x92\x0b\x4b\x03\x0b\x87\xa6\x08\x43\xe7\x37\xa6\x46\x2e\x38\x16\x4f\x6c\x02\x9f\x3b\xac\x10\x73\x5e\xb2\x46\x73\x6b\xf8\x25\xbe\x43\xe2\x29\x99\xfa\xe4\xda\x66\xb1\xa5\x8e\x93\xc1\xd4\x8f\x07\x74\xc4\xaf\x50\x9d\xa1\x06\x73\x9b\x25\xd7\x0e\x4d\xc5\x4e\x5f\x5a\xd9\x9b\x78\x39\x24\xa4\x6c\x18\x1a\xd0\x60\xc9\xf5\x54\xa7\xd6\x16\x91\xc0\x69\x4b\x5c\x58\x2d\x3e\x1a\xb6\x28\x7c\xea\x93\xd0\x66\x41\x36\xc4\x79\x51\x91\xf1\xbe\xda\xb3\x73\x19\x03\xc6\x50\x05\xa2\xa4\xae\x72\x61\x95\xa0\xbe\xbc\xa1\x8c\x27\x96\x4e\x2d\xed\x48\xf4\xcc\xbe\x84\xd9\xfd\xd1\xd7\xe1\x9a\x5c\x4d\x35\x21\x9d\x6a\x0e\xb4\xd7\xed\xdc\xd4\x84\xb5\xd5\x12\x96\x46\x24\x2e\xa6\x04\x99\x0f\x89\x1c\xba\xfa\x68\x69\x69\xf0\xd1\x0e\xc9\x8d\x45\x18\xd8\x30\x64\x36\xd3\x55\x3c\x30\x42\x72\xcd\xb1\x0c\xe6\xb0\x20\xb7\xfb\xa2\x67\x6a\xf7\x9e\xbb\xe9\x2d\x86\x8f\x80\x1c\xaf\xa9\xc0\x5a\xc5\x1e\xd7\xdf\xd1\x55\x62\x45\x02\x36\xd5\x9e\x32\x8e\x9d\x63\x4e\x9f\xda\x8c\xfd\x87\xa5\xc1\xae\x16\x46\x08\x02\xab\xc5\xcf\xed\x3e\xbf\x34\x43\xf0\xe8\xd0\xed\xa5\x1d\xda\x4b\xbb\x0f\xfc\x21\x01\x56\x86\xb6\x5a\x1a\x3a\x05\x2d\x1a\x5f\x1b\xda\x13\x9c\xea\x02\x1c\x6a\x4f\x73\x87\x05\x1b\x87\xc6\x5a\xc3\xb0\xbd\x9c\xea\xfc\xa3\x49\xb7\x8b\x71\xf2\xfe\xd4\x9b\x46\x3c\x9c\x6a\xd9\x80\xa3\xa9\xc4\xf0\x29\x4b\x5b\x77\x02\x97\xa8\x70\x95\x48\x8e\xc6\x33\x87\xee\xe0\x1c\x83\x3b\xe3\x35\x85\x99\x2c\x58\x70\x7d\x21\x33\x34\xb0\xe2\xba\xbd\xd5\x78\x4d\x41\xab\x2f\x40\x8e\x05\xf7\xa6\x2e\x7a\x23\x25\xf3\x8c\x30\x18\x18\x2c\xb9\x30\xc4\x78\x30\x25\x18\x8c\xeb\xde\x2f\x0d\x5d\x7a\x1c\xb6\xd0\x18\xdb\x6b\x03\xcd\xed\xba\x1d\x0c\x09\xe6\xab\xa3\xf3\x70\x18\xf1\xd0\x66\x1f\xbc\x49\x77\x15\x49\x2a\xc9\xf2\xab\xc4\x9a\xea\x09\x6e\x87\x6a\x3e\x25\x9e\x12\x5d\x4c\x16\x53\x0d\x87\x13\x6d\x5b\x5f\x13\x32\x53\x4c\x7c\x34\x3e\x47\xe7\xb3\x89\xb6\x9f\x27\x9b\x65\x1e\x4d\x82\x89\x0c\x7d\xb4\x38\x5c\x0b\x61\x69\xc9\x64\xdb\xd1\xf0\x6d\xff\xe4\xdc\x8d\xc0\xda\x90\xf1\x47\x8b\x0d\x06\x86\xd6\x9e\x4f\xc3\x27\x68\x74\xf1\xb6\xa1\x8f\x06\x46\x8b\x8a\xa6\xc4\x1c\x4e\x89\x8c\x74\x35\xb0\xa1\xbd\x0a\x27\xf0\x68\xb5\x78\x78\x8c\xd3\x94\x20\xd7\xc6\x7b\xe1\xa4\x09\x4b\x3b\x54\x2f\xe2\x64\x85\x0f\x03\x34\x57\xb4\x97\x6c\x0c\x0d\x9f\x5b\x21\x13\x19\x32\x15\x4e\x09\x72\xe1\xb0\xe0\xde\xa1\x3b\xf9\x54\xee\xe4\x88\xd7\xa6\x3a\x3f\xb3\x58\x32\xd2\x5b\xa2\xc7\xf9\x24\x31\xd5\xb9\x25\xfa\xf7\x90\x48\x96\x8e\xce\x2f\xa6\xda\x2a\x1e\xae\xef\x7f\x1b\x28\x0f\x3e\x1d\xe2\xa9\xc1\xc2\x35\x47\xe3\x2b\x8e\x6e\xac\x3b\xa0\x43\x63\x69\xfb\xd4\xdc\xe9\x4b\xd0\xd2\x29\x8c\x63\xe1\x82\xeb\x67\x4f\x43\xff\x1e\x9f\xa1\xf5\x67\x1f\x06\xae\x0e\x72\x8e\xc6\xf2\x6a\x0c\x76\x08\x56\xd6\x06\x5f\x9b\x7d\x90\x0c\x75\x3e\x36\xb4\x55\x2e\xac\xf1\x8d\xa1\xf3\x84\xa1\x73\xb9\x1d\xce\x71\x53\xc6\x97\x76\x5f\x4a\x2c\xa2\x3d\x47\x34\x6c\xb3\xf8\x86\xa3\xf1\x36\x82\x6f\xb7\xa4\xb9\xc5\xae\xbc\xa9\x8e\xc6\x3b\x42\x74\x31\xb7\x34\x86\xe0\x58\xe6\xab\x4d\x80\xc7\xa1\x86\x2f\xad\x10\x62\x56\x8b\xf3\xea\xb4\x83\xca\x4b\x9a\xc1\x03\x9b\x10\x77\x65\xa8\x8d\xa3\xf3\x89\xd3\x0f\x3c\x83\x25\x1f\x4d\x02\xac\x39\x96\x5c\x19\x5a\x7b\x63\x13\xab\xdc\x66\xc1\xda\xa2\x3b\x21\xef\x53\xbe\x1d\x82\xb9\x89\x78\x94\x85\x21\xc7\xe4\x16\x47\x4b\xdf\xa6\xba\x84\x19\x1a\xbe\x72\xfa\x98\x37\xd4\x9e\x30\xae\xab\x7a\x3a\xc0\xbe\x71\x7d\x29\x36\xb4\x7b\xcf\x26\x9e\xa0\xa1\x77\xbc\x91\xd2\xf9\xc6\xb1\x20\xb3\x09\xd5\x33\xf4\x79\xe2\xd0\x9d\xa7\xf1\x9a\x0a\x4d\x31\x09\x2c\xa2\x0d\x69\x6f\x2b\x73\x34\xd5\xe3\xe9\x79\xf9\xb7\xce\xcc\xb9\xfe\xca\x33\x5a\x3c\xb4\x69\xca\x9d\x6a\xfc\xda\xa1\xb1\x84\x0e\x85\xb9\x43\x77\xfe\x7b\x48\x00\x6c\xba\x26\x37\xae\x2e\x3c\x3a\x48\x2e\xd0\x0f\xab\x91\x8c\x07\xa6\x2e\x14\x73\x3d\x2c\xe9\x07\xc9\xa5\x85\xe1\x77\x1e\x26\xb4\xc3\x28\xd8\x34\xa2\xc3\x1c\xda\x61\x1b\x5a\x74\xbb\xa4\xe1\x56\xb9\x86\x76\x78\xef\x4d\x64\xea\x61\x48\xf0\x89\xe5\x93\x98\x1d\x01\x48\x07\x60\x22\x79\x49\xd5\x07\x92\x89\xe8\x6f\xcc\xd0\x30\xb4\xfe\x89\x1d\x82\x16\x92\x51\x43\x4d\xc8\x91\x5e\x1a\x6a\x4c\x60\xd0\xf8\xca\x6a\xf1\xd8\x44\x11\xb1\xd1\x9a\xc4\xa6\xad\x0e\x6a\xb7\x32\x74\x3e\x9f\x6a\x6d\x68\x45\xe2\xc0\x08\xe1\xda\xd0\x1d\xb4\x96\xf9\x94\xc0\x03\x44\x23\x53\x4d\x0a\x86\xa5\xbc\x25\x85\xae\x88\x0d\x5b\xd2\xa3\x8d\x60\xea\x14\xb4\x43\x44\xdb\x60\xe1\x74\x92\xd0\xd4\x79\xe8\x10\x4c\x66\xd1\xf8\xa3\xa5\x89\x08\xf6\xdc\x60\xc5\x52\x0f\x74\x31\x4c\xe8\xaa\x4b\x87\x15\x56\x08\x66\xb1\x7e\x1a\xb3\x28\x74\xf1\xb3\xf8\x72\xeb\xd1\x23\xd7\xdc\xd6\x4b\xa0\xdb\x2f\x75\x81\x08\x12\xa0\x06\x60\x26\x62\x4f\x13\xa0\x4a\x33\x25\x60\x04\x49\xc1\x82\xed\xf7\xae\xd2\x23\x81\xd4\x6b\x53\x8a\xaa\x0e\xe8\x90\xf9\xca\xb1\x4f\x4b\x83\x80\x0b\x8e\xc6\x93\x72\x9c\x4f\x99\xd5\xb2\x73\x2b\x7c\xc8\xed\x16\xf0\x6d\x42\x58\x9b\x3a\x85\x21\x3d\x68\xaf\xe2\x81\xdd\x82\x1b\x24\x77\xa7\x2d\x29\xe3\xfa\x02\x36\xd5\x79\x8c\x63\xa5\xe5\x94\xc8\xa1\xed\xb7\x0b\x5e\x31\x35\x01\x96\xb0\x99\x47\xdb\xa7\x32\x8b\x70\x12\xcb\x47\xe3\x69\xcf\x2d\x4d\xf5\x38\x5f\x8c\x6d\x02\x04\x1c\x8d\x43\x8e\x76\x36\x33\xfa\xfe\xb7\x61\xeb\xe9\x81\x5f\x77\x1e\x26\xdd\x95\xcf\xf7\x98\xae\x0a\x79\x46\xc5\x48\xa0\x06\x02\x23\xab\xa2\x3f\x90\xb9\x01\x1d\xe0\x3d\x45\x85\x82\xa8\x3a\xcc\x44\xe6\x02\x17\xe7\x45\x59\xc5\x29\x09\x53\x21\x2f\x3f\xfc\x36\x93\x1f\x02\x17\xdb\xd7\xe1\xd6\xa3\xdf\x86\x2d\xcc\xa7\xc3\x0a\x3f\x6a\xe5\x20\x9d\x45\x73\x81\xa2\x4a\xc2\xb6\x6d\x63\xb9\x0a\x29\x5e\x51\x99\xbe\x24\x73\x83\x1d\xef\xf5\x29\x1c\xf1\x37\xe7\x4b\xac\xc2\x00\x46\x81\x12\x2d\x03\x69\x57\x6f\x3f\x9f\x24\xee\x74\xe2\x81\xa5\xe5\x81\xa9\x73\xde\x50\xef\x78\x5b\x7e\x08\xad\x3e\x80\x56\x24\xf9\xa6\x2e\x2e\x9b\xe5\x18\xf4\x87\x84\x91\x39\xc8\x06\xe9\x1c\xe9\xa6\xea\x3b\xcb\x27\x0e\x7d\x00\xeb\x94\x8f\x60\xce\x2b\x90\x02\x80\xc1\x06\xb4\x5a\xce\x7b\xb5\x76\x46\x27\xe6\x01\xcb\x44\x1c\x5b\xc9\xcb\xa7\x80\xf6\xa0\x52\xf2\x0e\x1e\xe8\x98\x91\x58\x88\xe7\x7c\x6a\x26\x62\xa4\xa0\x28\xf8\xdc\x0e\x1f\x06\x34\xcc\x59\x59\x7d\x52\x25\xc0\x3b\xb4\x07\xc7\x48\xb7\x70\x2c\xbe\x34\x58\x18\xba\x62\xcc\x2b\x1a\x83\x4d\x09\xcf\x33\x43\x12\xb7\xc3\xf6\xdc\x62\xc5\x01\x0d\x78\x68\x69\x24\x61\x00\xb2\x65\x6a\x4f\xc1\x94\x60\xd6\x06\x4d\xcd\x68\x0f\xca\x86\x86\x2f\x9d\x50\xf5\x40\x0f\x0a\x12\x10\x54\x51\xc5\x45\xa4\xc3\xa4\x00\x8e\x40\x0f\xc8\x3a\x82\x19\x32\xb9\x21\x53\x88\x1f\xd7\xa6\x2e\x41\xbd\x25\xcd\x8d\xd5\xd9\xbe\x70\x8b\x55\x3d\xbe\xf7\x34\x91\xb0\x9c\x57\x02\x64\xc7\x18\xf7\x53\x1d\x04\x48\xef\xd7\xff\x36\x42\x06\xc9\x3b\x34\xa6\x09\x00\x92\x08\x80\x54\x1b\x93\xb1\xb4\x23\x67\x6e\x87\xe2\x80\x56\xb7\x76\x1f\x1d\x0f\x68\x50\xf2\xd8\xe8\x31\x58\x8f\x36\x9d\x4a\xb7\xc1\x29\x31\x5f\x72\x34\x7f\x4a\x13\x0a\x16\x48\xc1\x13\x90\xd4\xb6\x2a\x06\x50\xad\xe8\x6d\x6f\x6b\x08\x6d\x9b\x10\x96\x56\x68\x24\xc6\x21\x6d\x0c\x1a\xe4\x68\xb1\x36\x45\x9b\x96\x04\x2d\xf9\x70\xfd\x6d\x02\xac\x9d\x10\x3e\x1a\xf2\x01\x0d\x00\xa4\x6f\x74\x31\xa1\x8c\x48\x82\xf6\x23\x1e\x58\x84\x90\x1a\x3a\xb7\xaf\x2f\x26\xb2\xa1\x33\x38\x92\x5b\xf6\xa6\xb1\x5c\x71\x58\x66\xed\xf4\x9e\x12\x4b\x83\x98\xac\xb5\x31\xc4\xe3\x53\xed\x49\x31\xb4\x11\x39\xea\xc4\x03\x0d\x17\xa0\x1d\x19\xc9\x94\x00\x0e\x0d\x79\x88\xf4\xa0\x1d\x49\x65\xb9\x3e\x1a\x48\x5a\x9b\x30\x75\x7e\x69\x85\x38\xc2\x97\x35\xb5\x27\x38\x91\x49\xe8\xb0\xa3\x25\xa2\xc9\x82\x76\x43\x18\x1d\xd0\x77\x27\x61\x5c\x16\x3c\xaa\x25\x2c\xd1\x0e\x55\x72\x28\x93\xb8\xdd\xe2\x96\xd3\x10\x2e\x86\xc4\x8e\x67\x2b\x7b\x1c\x2a\x5e\xbd\x8d\x48\x0e\x5b\x60\x63\xfb\xa4\x6f\x6a\xf7\xcb\x3d\x0f\xf3\xb8\xe5\x53\x36\xed\x17\x72\x7f\x63\x68\x02\x6e\x87\x10\x73\x0b\xbd\x2e\x7a\x16\xcb\xf8\x86\xb6\x22\x0d\x16\x6e\xa6\x1a\x9f\x19\xf2\xae\x2e\xc2\x7d\xed\xea\xd4\xd2\xd4\xda\x18\x47\x93\xa8\xfe\xd2\x61\xc5\x1c\xd9\xdb\x56\x24\xe6\xd3\x10\x62\x95\x7e\x32\x68\x7c\x6e\x10\xc8\x8f\xc0\xd1\xfa\x78\x7a\x27\xf6\x90\x7c\xb5\x42\x80\x4d\xb4\xf9\xd2\x6e\xed\xbf\x99\x2c\xb9\x71\xd8\x92\x47\x79\xd5\xab\xd5\x45\xb4\xdf\x81\xca\x1e\xdf\xb5\x55\xe1\xa3\x4f\x1b\x65\x8a\x11\x3e\xe1\x48\x27\x14\xb8\x20\xdb\x2d\x9c\x7e\xbd\xb2\xde\xb6\x5f\x9c\x68\x94\x45\xdd\xb8\xee\xef\x6c\x61\x89\x5f\x5d\xbf\x86\x4f\xcb\x98\xdb\x3e\x99\x59\x84\xbd\xdc\xf1\xe5\xbe\xdd\xd2\x58\x93\xbf\x59\x2d\xb0\xb6\x42\x26\x1b\x47\xfc\x92\x63\x56\x03\x8e\xee\xe4\x8e\xdf\x59\xda\x11\x58\x9c\xd4\xf1\xc9\xb5\xa3\xdd\x1f\xdb\x76\x5f\xed\xf0\xa1\x8e\x6b\x41\x47\x96\xc6\x3c\x9a\x2c\x5c\x18\x32\x9e\x18\xdd\x78\x2b\x2f\xf1\xf9\x94\x98\x27\x56\xa8\xe6\xa6\x26\xd6\xda\x35\xc9\xef\xed\x38\xb4\xd1\xb5\xf3\x3a\xa0\x03\x70\x6f\x68\x82\xe2\xb0\xe4\x6a\xd2\x4c\x9b\x1b\x54\xc6\xd1\x60\xbc\xe7\x0b\x91\x9c\x6a\x4f\xad\xa9\x0e\x37\xc7\xbc\x22\x9c\xe5\xb5\x55\xc9\x67\x58\x65\x63\x3e\x39\x34\x74\xe6\x56\x24\x41\xa3\xc7\xb7\x27\x1a\x8e\x5b\x7d\x29\x19\xea\x60\x83\x78\x17\xc1\x30\x08\x80\x95\xf6\x51\x4d\x0f\x95\xe3\x42\xb2\x3c\xb7\xa3\xce\xa0\xf0\x7b\x95\x29\xc6\xd1\x78\xc0\x75\x57\x0f\x13\x9a\x0b\xc4\x42\x2f\xb6\x29\xb5\x07\xbb\xa2\xca\x03\x25\x90\x46\x92\xcc\x79\x13\xbf\x9c\xe7\xa9\xce\x2f\x87\x3a\xbf\x1a\x12\x4c\x60\x69\x70\x31\xd4\x84\xf9\x50\xe3\x71\x2b\x94\x32\x43\x6e\xaf\x90\xed\x65\x6a\x53\x4f\xc3\x33\x6f\xa8\xdd\x23\x5d\x49\xa9\x01\x7e\x02\xaf\x66\x87\x22\xbf\xae\xf0\x49\x84\x47\xd1\x1b\x6a\x22\xf2\xb1\x1e\xce\xb5\x6b\xc0\x63\x6d\xc9\xf8\xe3\x54\xc6\x7d\x47\x6b\x07\x16\xab\x2e\x6c\x16\xe4\xc8\x9e\xa2\x43\x21\xb6\x5a\x0e\xb2\x6d\x64\xe4\x07\x8e\xba\x9d\xaf\x23\xa5\xb3\x1a\xd1\x9d\x2d\x7d\x30\x6b\x6b\x8d\xaf\xed\x63\x3d\x7b\x28\x97\x73\x83\xc5\xbc\x49\xf7\x09\xc9\xd4\x01\xb2\x1b\x24\xc8\x4f\x14\x28\x31\x4a\x20\x01\x35\x58\x91\xfc\x5a\x12\xa4\x1e\xce\xaa\x01\x39\x06\x3d\x30\x96\x18\x20\x2b\xb4\x3d\xa8\xd9\x18\x55\x9d\x2d\xad\x95\x65\x95\x7d\x23\xa9\x6d\x4d\x06\xfc\x44\x09\x70\x46\x81\x22\xaa\x3b\x52\x30\x81\x02\x3d\x38\x51\xfc\xc3\xba\x6a\x40\x8e\x24\x05\xe1\x9c\x20\x78\x8a\x82\x03\x59\xc4\x80\xac\x60\x4f\x8c\xac\xb6\x15\xd0\x63\xc6\x62\xd1\x9f\x18\xd7\xe4\x4a\xc2\xaf\x92\x02\xff\xbd\xcd\x51\xf2\xb8\xa1\x4b\xad\x2b\x74\x0d\x9a\x83\xef\xa8\x63\x8e\x74\x48\x00\x16\x4e\x08\xd7\x16\xd1\x46\xbe\x19\x26\x85\x30\x33\x14\xec\xdc\xda\x0c\x24\x7d\x0e\xa7\x78\x69\x8b\xaa\x7d\x1e\x4e\x64\x6c\xe9\xe8\xc2\x7a\x2b\x8b\xab\xfe\x3c\x3b\x44\x3e\xcc\xd4\xe3\xd5\xfb\x83\x36\x67\x78\x17\xc9\x9e\x9d\x2c\x46\x78\xd8\x11\x5c\x59\x04\x5c\x38\x74\xa7\x84\xdf\x12\x0a\xdd\xa2\x68\x00\xb3\x43\xf8\x68\x63\x65\x0c\xcc\x26\xe0\xb2\xa6\x63\x62\xab\x25\x60\x95\x2c\x97\xe9\xdd\xf7\xc2\x37\x47\xb2\xa1\x92\x83\x43\x9d\xcf\xab\xbf\x2d\xb9\xb3\x36\xd6\x27\xb2\xbe\x5c\x07\x16\xe4\x63\xbf\x92\x7b\x52\x3e\x8c\x28\x78\xa0\x17\x4a\x39\x0c\x9d\xbe\xfd\xb5\xfe\x77\x25\xab\xf9\x5e\xcd\x46\xde\xf6\x27\xa2\xb5\xe8\x19\x09\xb2\x9f\x8e\xfb\xaa\xea\x48\x11\xbf\xb4\x22\x89\xb1\x42\x09\xd8\xe1\x6a\x0b\xc7\x90\x15\xac\xad\x4a\x6a\xbb\x07\x00\x3f\xaa\xea\x2a\x2c\x19\x19\x48\xdf\xf6\x84\xa5\x15\x09\x4b\x04\x77\x2b\xb3\x47\x16\xe1\x8c\x0c\xdd\x80\x16\x4d\xe9\x53\x9d\x5f\x98\x5a\x3b\xaa\xda\xa9\x7d\x3e\x71\x42\x06\x33\xd4\x1c\xba\xea\x65\x7c\x54\x02\xe9\x18\x01\x1e\xda\x17\x62\x89\x17\x10\x26\x00\xf0\x5d\x49\x05\x63\x10\x40\x84\xa3\x80\xec\xb0\xe3\xb6\x6a\x48\x66\x86\xdc\x09\x4e\x78\xac\x9a\x4f\x20\x20\xbd\xf3\x68\x00\x7e\x69\xb1\x80\x2f\xe3\x5e\xed\xc7\xc6\x36\x2a\x1c\xab\xb8\x44\x29\x81\xc0\xbc\xb7\x6e\x18\x7d\x27\xdd\x70\x41\xee\x55\x7a\x62\x27\xfb\x44\x55\x90\x75\x7c\xef\x97\xe9\x18\xec\x4d\x64\x3b\x40\xdf\xd5\x00\x54\xb2\x88\x97\x68\x7b\xb0\xd5\x23\x33\x11\x50\xbc\x8e\x09\x23\x19\xad\x03\x43\x76\x25\xc0\xab\x3a\x26\x4c\x14\x15\x9f\x28\x90\x1c\x8b\x2a\xce\x94\x30\xf6\x7a\x47\xe9\x41\xa4\x9b\x8b\xba\x85\xff\xa1\x92\xe3\xc2\x8f\x95\xed\x81\x08\x78\x41\xc7\x18\x51\x06\x64\x55\x6f\x86\xe4\x1f\x82\xad\x60\xb8\xa0\x60\xed\xca\xe7\x8d\xf8\x1e\x23\x2b\x2a\x23\xca\xea\xb6\xff\x9e\xc0\xa8\x50\xaa\xea\x15\x7d\xf3\xab\x84\xd2\x20\x90\x25\x40\x22\x7d\x83\xfc\x66\x1e\xd1\xc9\x6e\x6c\x80\x17\xaa\x6f\xb2\x2a\x46\x74\xc0\x98\x00\xf0\x8c\x8e\x19\x62\x6d\x5c\xbc\xd4\x45\xfd\x19\xe2\xd9\xba\x38\xea\xdb\xe0\x45\x0c\xcc\x54\x86\xe7\x95\x40\xe0\xd5\x1e\x33\xaa\xfa\x91\x20\xa5\x48\x80\xd7\x64\x55\x60\xea\xe5\x25\x1c\x9e\x57\x7a\x4f\xbc\x12\x38\x33\x49\xe1\x19\x1d\x17\x54\x05\xe7\x29\x09\x03\x33\x51\x15\xba\x0a\x5e\xc7\x61\x57\x97\x19\x05\x40\x01\x3d\x52\x46\x7c\xbe\xab\xd7\x83\x3d\x7e\x95\x74\x15\x06\x95\x01\x59\xc7\xf0\x9e\x8a\x49\x7b\x38\x05\x0c\x61\x04\x80\x80\xfc\x3c\x41\x62\x84\xde\xae\x0c\xad\x2b\xf6\x04\x54\x5c\x62\x54\x48\x16\x65\xc5\x5a\x06\x06\x2f\xe1\xfb\x18\x7b\x31\x6f\x55\xbd\xa0\x80\xdf\x55\xb0\x36\x2b\xab\xce\xae\x4e\x13\x0e\xc5\xba\x01\x41\x14\x55\x81\x69\x80\x51\xac\x97\x8a\x53\x94\x88\xa9\x11\x1d\x48\x14\xe8\x31\xb4\x08\x10\x1d\x32\x5d\x11\x23\x01\xa2\x85\xfd\xda\xef\xcb\xf7\x63\x2f\xe2\x1e\xa8\xed\x44\x51\x19\xbe\x4e\x7f\x4a\x8f\xec\x8a\xc8\x16\xc4\xee\x17\xb5\xf1\x8b\x22\xe0\x11\x8d\xf5\x14\x0c\xa7\x64\x75\x47\x33\x7d\x11\x48\x0c\xc0\x18\x43\xc7\x2a\x58\x23\xa4\xb7\x77\xdf\xa5\x1e\x29\x88\x48\x1e\xac\xed\x81\x84\x31\xaa\x04\x1c\x4a\x03\xa4\x2c\xed\xe4\x92\x23\x2b\x38\x10\x8b\xb5\xdf\x95\xef\x79\x4b\xc2\xf9\x09\x00\x54\xd5\xdf\x50\x02\x50\x13\x01\x18\x01\x86\x14\xd5\x00\xb0\x32\xf0\x50\x7f\xb5\xef\x94\x2c\xa9\x06\xaf\x6d\xed\x8e\xfd\x9c\x14\xf6\x84\xac\x16\xb2\x7a\xf7\x2d\x2a\x62\x29\x80\xac\xcf\x29\xa9\xc2\x0e\x6a\xab\x48\x0c\xc9\x28\xd0\xe0\x91\x3d\xa3\xa8\x15\x4d\x14\x6b\x70\xf8\x9d\xb6\x07\x2a\xa4\x66\x52\x00\x28\xc0\x20\x1e\x1a\x6d\xfb\x32\x18\x11\x20\xdb\x08\x28\xfc\x2a\x91\xd5\x5e\x15\xb3\xb1\x6b\x71\x15\xbb\xf2\x9f\x1f\xa7\xba\xb8\xb3\xeb\x76\x31\x0a\xba\xb2\x43\xb0\xbd\xad\x17\x55\x36\x82\x7a\x10\x87\x07\x5a\x3b\x71\x18\x6c\x20\x6a\x06\x66\xe8\x1c\x59\xf9\x7a\xb5\xfa\x03\x35\x04\x4f\x8e\x06\xd7\x86\x3e\x6a\x2c\xa7\x61\xae\x54\xb1\x2b\x5d\x4c\x98\x83\xbd\xa0\x52\x2f\x92\xf5\x98\xa6\x45\xb4\x43\x53\xb3\x77\xb8\xed\xe5\x3d\xb3\x76\x18\x6a\x6d\x28\x58\x7e\xc6\xff\xcc\x39\x1a\x0f\x0b\xb9\x5f\x6f\xd3\x3d\x63\xb3\x44\x60\xb1\xb3\x0f\x0a\xbf\x51\xaa\xec\x06\x6e\xff\xbd\xf2\x1d\xf7\xf6\x0a\xb2\x75\xb6\xfa\x16\x72\x45\x3c\xad\x46\x7b\x80\xe4\xa5\xca\x0e\xd1\x54\xef\x25\xb2\xba\xea\xd3\x90\xa9\x52\x5e\xbe\xb0\xcd\x39\x59\xdb\x50\x87\x55\x99\xbd\x8c\x97\x55\xb1\x36\x9e\x2b\xe5\x61\x7d\x8c\x27\x72\x6b\xc7\x0b\x35\xb8\x3b\xbe\x9f\x6d\xf9\xa0\x92\x5b\x33\x10\x00\x59\xc5\x90\x3d\x7e\x09\x26\x92\x2f\x40\x51\x7b\x4c\x77\xef\x4f\xaa\x9e\xd4\x63\x54\x51\xe5\x29\xf5\x10\xbf\xe3\xb9\xa9\x64\x4c\x29\xc3\xea\xed\xf7\xf2\xa3\xaa\xa3\xd4\xda\xed\x65\x11\x7e\x2c\x3f\x3a\xb5\xb1\xe5\x8c\x06\x0c\x0a\xa8\x4f\xaa\x8e\x57\xb2\x62\xdf\xc7\x91\xcc\xa8\xb5\x3b\x91\x13\x07\x65\x48\x6e\x1f\xf9\x2f\xfb\x72\x86\x17\x75\x6c\x2f\x0b\x9a\x6d\xdb\x8e\x27\x74\xc5\xcd\xf8\xd1\xc3\x84\xee\xe8\xc4\xaf\xaf\xf8\x6b\x7c\xe4\xf7\x9d\xc4\x0e\x2a\x5f\x45\x13\x0f\x62\x0f\x67\xcb\xe8\x17\xd8\xcb\xcc\x2e\xce\x5c\xe2\xd7\xaf\xf3\xfb\x73\xf6\x1d\x8e\x71\xdd\x11\x31\xea\x76\x0a\xbf\x03\xb0\x30\x37\x34\x12\x77\x18\x01\xb3\x5a\x54\x69\xdb\x6d\xa6\xab\x51\x07\xf9\x48\x5b\x7f\x44\x63\x32\x87\x60\xda\xf6\x6a\xff\x4d\x25\xc0\xe3\x44\xe9\x0d\xb6\xf1\xb0\x91\xa9\xe1\x89\xd3\x83\x0b\x87\x45\x3e\x14\x93\x4d\x94\x0e\x92\x61\x7c\xb5\x2f\xab\x8b\x89\x3e\x45\x36\xa2\x26\xd1\xae\x82\xe7\x8e\xf6\x84\x99\x32\x8e\xdb\x85\xdc\x93\xe6\x76\xe8\x40\xa7\x53\xf9\x84\xa7\x7b\x36\x07\xf2\x4d\x93\x7c\x87\x25\x53\x43\xbb\xdf\xd9\x82\x97\x68\xba\xd0\x69\xfb\x72\x4a\xc4\x84\x09\x50\xdb\xea\xde\x86\x2b\xf7\x28\xa4\x1e\xaf\x2a\x58\xce\x28\xf0\x80\xcf\x91\x0e\xe9\x89\x50\x9a\xc8\x18\x18\x37\xdb\x53\x0e\x05\x7a\x40\x17\x01\x9c\xa9\xc8\xf6\x0b\x20\x92\x69\xa2\x1a\xc0\xb1\x88\x41\x51\x54\x9f\x2a\x38\x3b\xde\xd8\xd7\xa3\x64\x59\x6d\x77\x65\x40\x51\x4a\x69\x0b\xfd\x2e\xba\x15\x8d\xd5\x22\x72\x68\x79\xef\xa4\x0f\xf7\x6b\xf2\x23\xfa\xe5\x85\xef\x60\xb0\x3c\xb6\x1d\xf3\xef\x11\xcb\x7d\x95\x9f\x5d\xd3\x37\x35\x39\x7a\xde\x56\xaf\xcb\x6b\x11\x48\x94\x18\x30\x0a\xd2\x67\x15\x8d\x97\x3a\xa0\x2e\x23\x2b\x9a\x95\x68\xd0\x23\x87\x12\xd2\xb3\xcd\x7a\xaf\x89\x0e\x8f\xe5\xf0\xae\x9f\x5a\x3b\x41\xea\xe1\x07\xb6\xf3\x05\x39\x8b\x97\x72\x56\xad\xcb\xd9\x22\xc6\x5a\xa3\xb3\x93\xf8\x6b\x53\x59\x5d\xfe\x96\xf1\x5d\x80\x39\x9b\xb8\xf6\x77\xf2\x75\x5b\xa7\x46\xe3\x25\x2e\x0d\x74\xb1\xb4\xcf\xd9\x3f\xa8\x0c\xf5\x43\x77\x36\xc2\x63\x67\xeb\x2f\x4b\x89\xa5\x81\xa5\xa3\x4b\x85\xfc\x2d\x65\x63\x21\x63\x91\x9d\xb7\x29\xed\x29\x7c\x6e\xf5\x9d\xb9\xab\x8f\xf6\xdf\x18\x01\x4e\x37\xd8\x13\x0d\x4b\x99\xaa\xb0\x30\x37\x75\x89\x47\xbe\xb2\x1d\x19\x73\xab\x8b\xad\x68\x2f\xb1\x64\xad\x8d\xea\x67\x16\x83\x0d\x00\xc1\x20\x19\x1b\x88\x51\x40\x5a\x3a\xc8\x1c\x36\xc8\x1d\x5d\x80\xb6\xdf\x46\x30\x22\x43\x17\xcf\xf2\xed\x7e\x5f\xa3\x88\x33\xe6\x16\xd1\x4e\x1c\x96\x5c\x73\xdd\xd5\x43\xd1\x26\x38\xb0\x37\x8e\xe5\xca\xce\x3f\x42\x65\x67\x7d\xb0\xa3\xb5\x9f\xa8\x3c\xad\x88\xc9\x25\xda\x2c\xe5\x6b\x55\xbe\x93\x5b\xd2\xef\xea\x6b\x88\x01\x2f\xd0\x70\xa7\x57\xb7\xed\x4a\xb9\xb8\x8f\x55\x3e\x1b\x97\x2c\xe4\x8c\xa5\x91\x0b\x53\x97\x96\xf5\xfd\x67\x34\xc7\x3c\x06\x26\x92\x6f\x0f\x34\x1c\xa0\x72\x87\x0e\x98\x10\xe9\xcb\x89\xd6\xb0\x5f\x0d\x79\x68\xeb\x20\xb1\x43\xb0\x69\x2c\xf7\x12\x4b\xad\xe4\x22\xc0\x5e\xb0\xa7\x75\xb8\xf6\x3f\xb6\x9f\x70\x96\x1e\x2f\xd4\x79\x93\xcd\xfb\x9d\x65\x1e\xb2\xed\x90\x8e\xa8\xd1\x4e\x6d\x1f\xe9\x42\xd9\xc9\x5e\x98\xa1\x4b\xad\xb1\x5f\xfb\x3b\x8a\xab\xbd\xa4\x1d\xdd\x96\x38\x50\xfb\xb5\xfe\x91\xe3\x7a\x2c\xb9\x46\x32\x6e\x2f\x8b\xb6\x7a\x0a\xa7\x26\x2a\x94\x28\x85\x29\xe6\x9d\x51\x71\x61\xb6\x8d\x45\xcc\x64\x55\x52\x0a\x9b\xa5\x47\xca\xa0\xc7\x8c\xd0\xba\x4a\x40\x50\xb6\xe5\xbc\xc4\x8c\xa2\x06\x38\xc7\xb6\x9d\xa8\xe0\xbc\x2a\xaa\x4f\xd5\xf7\x32\x5e\xb8\xb5\x09\x2b\xd8\x3a\x06\x46\x12\xf2\x57\x7a\xa0\xa7\x63\x65\xac\x04\xe9\x4b\x75\x83\x45\x3c\xb3\x85\xdd\xdb\xd7\x39\xc4\xe1\x2d\xb1\xa1\x06\x3f\xa9\x88\x7f\xec\xbf\xab\x0c\xcf\x48\x01\x9c\xf2\xab\x62\x0f\xe6\x30\x76\xc6\xf0\xe2\xb1\xbc\x3e\xe1\x13\x05\x17\xad\x16\x8f\x4d\xb5\xd5\x60\x3f\xde\xf9\x44\xc5\xa5\xc6\x78\xd4\x54\x93\x72\x53\xbb\x5f\x20\xd8\x6a\x8f\x91\x91\xed\x50\xc5\x97\x2a\x9b\x7a\xa7\x63\x95\x12\x87\xad\x5c\x8d\xce\xd2\xc3\xd6\x1f\xaa\x74\xfb\x56\x4e\xad\xb6\x78\xfd\x01\xf9\x04\xab\xd3\x5c\x82\x17\xda\x9b\x15\x4d\xff\xd8\x32\xf6\x3a\x3e\x6b\xb0\x4f\x2b\xbe\x79\x2e\x6e\xb2\xab\x27\xa9\x4f\x0c\x08\x18\x55\x52\xa5\x73\xb0\xaf\xb4\x61\xbf\x43\xec\x80\xd9\x8d\x9f\x53\x70\x41\x3d\x8c\x79\x60\xde\x28\xb4\xab\xba\x2b\xae\x2b\x62\x42\x37\xbe\x17\xba\x22\x56\xe1\x6e\xd3\x9d\xf5\xe8\x91\x5b\x8f\x1f\x8b\xbc\xb8\x3f\xd4\x9e\xdd\xd1\xdd\x55\xf2\xfe\x2d\x32\x7d\xfe\x68\x11\xf7\xde\x10\x70\xbb\x5c\x2e\xbd\xa5\x7e\xb5\x08\xfe\x37\x43\x13\x30\xbd\xc5\x7d\x45\xf8\xea\xc4\xd3\xd2\xc0\x49\x6c\x1c\x8d\xf6\x79\x65\x2d\x0a\x1b\x12\x78\x32\x6d\xf1\x4b\x9b\x20\x43\x87\x26\xb3\xe2\x2c\x00\x8b\x2f\x8b\xbc\xdc\x32\x8f\x30\x37\x09\x29\xb1\xfd\x62\x7e\xeb\xf9\x1e\xad\xa9\x56\xd6\x19\x62\x75\x18\x6d\xaa\xcc\x4f\x6e\x0f\x0d\x1d\x6a\x53\x64\x1f\xd3\x6d\x64\x93\xaf\x91\xef\x58\xe4\x94\xf7\x8d\xb9\xed\x53\x89\xe5\x77\x7c\x4b\x93\x36\x06\xcd\x79\x5c\x88\x07\x96\xcc\x7d\xe3\x58\x69\x79\x85\x8d\x17\x58\x2d\x67\x61\xb1\xe4\xdc\xa0\xb1\xa0\xc0\x49\x13\xd6\x86\x26\x21\xbb\x2b\x99\x6a\x4f\x9b\xc3\xb8\x70\x19\x9f\xd8\xdb\x7c\x12\xac\xe7\x30\x4e\x00\x05\xed\x10\x2e\x0d\x16\x3e\x72\xb4\x84\xe6\xc6\x9b\xb6\x78\x68\xb0\x60\xe1\xb0\x70\x6e\xf5\x47\x9e\x1d\x82\x10\xd9\x81\xe6\x49\x6e\x93\xd4\xb6\x59\x95\xb4\x88\x36\xb4\x89\xf9\xf2\x30\x47\x69\xe7\xa3\x66\x16\x21\xcc\x2d\x7a\x27\x6b\x5a\x56\xf8\xb4\x9c\x6a\x62\x7e\xd4\xcf\xc2\x26\x3c\x8f\x47\xf3\xe3\x5d\x6d\xef\x5e\x31\x17\x85\x6f\xb4\xf7\x31\xf6\x32\xbb\x67\xe8\xc2\xa3\x1d\xc2\x95\xc3\xc2\xa5\xf5\x88\x8b\x86\xce\x27\x16\x21\x25\xd3\x75\xa7\x80\xc5\xb1\x87\xb0\xb8\x3e\x0f\x8d\x88\x87\x36\xe1\x0d\x68\x98\xab\xa6\x86\x43\x1b\x62\x03\x85\x68\xd3\x16\x41\x6e\x63\x52\x14\xd2\x4d\xe8\x5b\x77\xaa\x3d\x41\x2b\x94\xe6\xf6\x23\xb6\x1a\x6e\x7a\xeb\xf1\x63\x67\x85\xfe\x9f\x0e\x98\xc7\x69\x0b\xac\xa7\x9a\xd0\x2e\xdb\x94\xb9\xea\xe7\xfc\x2c\x87\x85\xb9\xa1\xf3\x9b\xe3\x38\xd5\x71\xbe\x7e\x29\xa3\x9f\x96\x53\x82\xc9\x76\xb2\x7a\x37\x3f\xf8\xa3\x1d\x82\x00\xd1\xac\xa9\x31\x99\xbd\x6e\x6f\x4c\xba\xf3\x30\xe9\x15\xbc\xf4\xc8\xc9\xe5\xfa\x4c\x43\x66\x63\x76\x92\x8d\xa1\x8b\xde\x50\x03\x38\xed\x25\x5d\x05\xc3\x45\x05\x6b\x17\xb9\x18\x1c\x5c\x05\x23\x99\x1b\x18\x9a\x10\x5b\xeb\x8e\x2f\xed\xd7\xd3\xd3\x69\xa9\x5e\xf7\x98\x8e\x7c\xda\x4b\x54\x49\xc5\x45\x1d\x93\x78\xf5\x11\xb7\x79\x7a\x9e\x9b\x68\x1d\x75\x24\xe3\xc4\x84\x0e\xc1\xfd\xf6\x7c\x48\x25\xbb\x77\xf1\x66\xa9\x07\xe5\x09\x58\x05\x03\x16\x4f\x8b\x73\x0e\x48\x5e\xd3\xc1\x60\xaa\xc7\x9e\xc5\x92\x91\xa9\xdd\x7b\x43\x2d\x28\xf2\x8b\x2d\xf6\x69\xe9\xac\xf1\x85\xb5\xc6\x37\x8e\xc6\x6f\xa6\x2d\x3e\xd9\xe6\xa8\xa3\x79\xc6\xec\x90\x59\x71\x34\xff\x68\xb1\x60\x6e\x45\x60\xc5\xf9\x14\xa3\xf5\xa0\x8a\x7c\xd6\xea\xdb\x80\x0e\x3c\xb7\xc8\x1f\x3f\xc8\x61\xf5\xca\x5c\x72\xde\xe6\x19\x89\x51\x00\x55\xe0\xc5\xf9\x1d\x72\x86\xe4\x24\x8b\xaf\x86\xeb\xfb\x94\x63\x70\x87\xa3\xa7\xe1\x56\x9f\xae\x0d\x9f\x3a\xa8\x8f\x64\xa4\x86\x67\x1e\x9a\xcb\x7d\x7e\x32\x39\x96\x02\xd8\x2f\xe6\xc6\xe7\xbc\x89\x7e\xef\x0d\x5b\x52\x6e\xd3\x0f\x8b\xc1\x9a\x72\x74\xb9\xc8\x6b\x2f\xe2\x41\x76\x38\x45\x73\xdd\x38\x47\x74\x84\x0d\xe8\x10\x86\x1c\xb3\x85\x8f\x91\x82\xda\x23\xc7\xc5\x5e\xbf\xdf\x21\x39\x9a\xcf\x0d\x16\xf3\x39\xe6\x20\xdf\xa8\x0b\x00\x2f\x97\x3a\xb4\xd8\x13\x9e\x49\x01\x1c\x49\x0a\xe6\x9f\xe4\x1a\x78\x09\xb4\xd8\x67\xe0\xf7\x85\x80\xf3\xa9\xdd\xd9\x13\x34\x5e\x11\x07\xb2\x1a\xd4\xf7\x44\x0c\x5e\xe9\xa9\xe4\xfe\x6c\x03\xf4\x87\x2d\x67\xbe\xcd\x1d\x5c\x2a\xf5\x33\x17\xc1\xf6\x3c\x40\x90\x43\x17\x18\x73\x47\x7b\xc2\x86\x50\xc0\xac\x16\x0f\x87\x44\x71\x46\x60\x8f\x5b\x5f\x80\x45\x4c\xa5\xa0\x4f\x8a\xb7\x22\x63\x6e\xb1\x30\xe0\xfa\x60\x83\x60\x17\xeb\x52\x9d\x7b\x11\x93\xd0\x14\xe3\x81\x8a\x81\xae\x1a\x80\x5d\x3c\x80\x8b\xf8\xd5\x10\xac\x02\x17\x13\x26\x0a\xa0\x26\x0a\xc2\xbb\x8f\xf9\x74\xd0\x66\x00\x7e\x84\x3f\x5c\x05\xa0\x07\x04\x95\x21\x7b\x32\xe0\x96\x47\x3c\x50\xe1\x15\x96\x67\x1c\xb6\xe7\x0f\x68\x24\xff\xa9\x6f\x23\xf9\x7e\x21\xe8\x58\x29\xf7\xfd\x8e\x87\x68\xd9\x24\x40\xdb\x09\x19\xdc\xea\x8b\x9e\x4d\x00\xc4\xb3\x45\x3e\xb9\x43\xb4\x33\x8b\x60\x8a\xdc\x7b\x03\xd9\x7d\x32\x65\xf3\xbd\x13\x7c\x8a\x73\x50\x06\xdd\xf1\xf7\x67\xa0\x1e\x02\x19\x03\x06\x08\x18\xa0\x30\x52\xe5\x53\xe6\x76\xcb\x78\x1c\xfa\xb5\x18\x46\x4f\x1a\xab\xb8\x00\xa4\x00\xd9\x32\xe4\xc6\x40\x72\x54\x97\x36\x43\x7c\x15\x1c\xcd\x8f\x5f\xce\x21\xbf\x36\x34\x26\x45\x78\x57\xf9\x6d\x3a\x2d\xed\xcf\x97\xbc\xf1\x0c\x52\x01\x73\xdd\xc9\x0b\xde\x69\x18\xa7\xae\x64\x9e\xc3\xce\xa1\xe5\x55\x67\x3c\x5e\x46\x8f\x1c\x4d\x3d\x9a\x48\x76\xf9\x14\xd2\x2b\x99\x45\xd8\x5f\x91\x0d\x81\x64\x09\xc7\xac\x02\x25\x00\xfa\x01\x2f\x88\xa8\x9f\xe2\x4c\x08\xb2\x79\x3c\xae\x2f\x40\x83\xee\xe4\xa6\xdc\xc9\xad\x50\xf5\xf8\x4d\x2f\x1b\x62\x60\x2c\xd1\x54\x81\xa7\xac\x1a\xbc\x88\x31\xaa\x24\x3f\x78\x36\x6d\xa3\xb9\x19\x4b\xc0\xa9\x72\x33\x58\x59\x7d\x62\x0a\x3a\x0d\x83\x41\x89\x0b\xbe\x34\xe8\xce\xaa\x88\xe9\x9d\xed\x1f\x27\x1a\xcb\x0a\x5a\x10\x80\x0a\xf9\x7a\xfe\x47\xd9\x47\x58\xe1\x4c\x95\x79\xd9\x3d\x63\x6e\x6a\x4f\xd0\xa0\x29\xcc\x5a\x53\x6b\x43\x33\xd6\x86\x2e\xc4\x1c\x8b\xf4\xba\x94\x18\x21\x7c\x9c\xea\x52\x99\xf3\x5d\xcc\x7d\x8d\x07\xca\xb3\x35\xd0\x65\x21\xc6\x75\x7b\x03\x84\x7b\x15\xeb\x2b\xf1\xa7\xf0\x41\xcb\xf3\x5e\xa1\xf7\x07\x74\x54\xf9\x60\x02\x66\xd1\x14\xb4\x42\xc6\xb7\x58\xd5\xab\xb7\x2b\xed\xa5\x13\x3d\x86\x15\x7a\xb8\x3c\xf7\x82\xf8\xab\x38\xfb\x52\x9d\x61\xaa\xf3\xce\x50\x43\x76\xd6\xb9\xf6\xf1\xe0\x35\xf6\x4a\x81\x53\x27\x7e\x85\xee\xa5\x8a\x5c\xbd\x62\x5f\xb5\xcc\xc3\xe1\xa5\x00\x22\x1f\x97\x51\x31\x66\x3c\x91\xc5\xb8\x38\xbb\x19\x09\x1b\x8b\xa6\xee\x05\xa5\xd3\xe6\x68\x1c\xd9\x8d\x6f\xb3\x43\x65\xb2\xe0\x87\x32\x47\x0e\xd1\x2e\xb9\x74\x90\xae\xd7\x05\x7c\x1a\x16\x67\x2f\xbd\x19\x4d\x6d\x0c\x4d\x2c\xcf\x37\xb5\x46\xcb\xa1\x9f\x74\x95\x47\x6c\x39\x5c\xdb\x49\xcd\x26\xbe\xe0\x3b\x6f\x65\xf2\xce\x67\x6e\x07\x57\xe5\x54\x16\x78\xed\x6c\xd7\x85\x41\x93\x4b\x27\x04\x6b\x3b\x84\x81\x21\xb7\x8b\x3d\xb8\xcb\x71\xcc\x36\x74\xfa\xce\xd2\x0e\xb3\xdc\x22\xda\xc8\x9e\x87\xcf\xec\xed\x05\x86\xb6\xd5\x27\x25\xce\xf5\xbc\x56\x45\x62\xc8\x22\x8f\xb4\x16\xf7\x28\xe7\xbe\x8c\x93\x95\xf8\x12\x12\x34\x4a\x79\x5d\xb5\x99\xa8\x8c\xc4\x2b\x58\x5b\x99\xc8\x5c\x2e\xca\x9d\xe2\xec\x52\xc9\x4b\xe5\xfe\x70\x91\x1b\x07\x76\xf1\x3d\xbf\x7e\x5e\x49\x51\xc9\xb1\x0c\xa4\x89\x1a\xc0\xb1\x84\x93\x7d\x11\xf9\xc1\xa7\xf9\xb0\xc5\xfe\xfa\xd1\xf7\xa8\x66\x3f\x09\x0a\xd6\xe6\x41\x8f\x94\x65\xb5\xdd\xd7\x31\xa7\xab\xe2\x7b\x7f\x76\xbb\xcf\x76\x92\xcb\x64\xe8\xf3\x22\xde\xc1\xf5\xf0\x89\x12\x40\x55\xc1\xf9\x32\xa7\x00\x13\x14\x1d\xe7\x19\x09\x83\x13\xe5\x11\x8b\xf8\xde\xd3\x04\xc9\xb6\x6d\xde\xd2\x45\xdc\x45\x00\x54\x99\x21\x79\x89\x21\x55\x0d\x50\xcc\x44\x65\x70\x87\x9d\xef\xe9\xb2\x73\x65\xfb\x7d\xce\xcd\xa1\x7c\x05\x02\xa5\xf8\xcf\xe0\x7e\x10\x6b\xda\xc5\xa4\x94\xf2\xdc\x57\x15\xab\x3d\x0f\x63\x67\x9b\xe1\x06\xa3\x42\x81\x57\xb0\xfb\x5d\x5c\xff\x4c\x2e\xd7\xb9\x31\x01\x15\x03\x33\x09\xe9\x09\x60\x50\xb5\x5c\xb1\x5d\xae\xdb\x44\x97\xd6\x8e\xa6\x0e\xce\xae\x25\x2e\x31\x4a\xc0\x6c\x73\x90\xae\x5a\x87\x82\x86\x27\x3a\xbf\x3a\x0f\x93\x9f\x28\x3d\x30\xbb\x2a\x5f\xda\x1f\x21\xbb\x04\x73\x58\xb8\x30\xd6\xcd\x74\x06\x80\xc4\xe9\x18\xec\xe9\xb8\x64\xa8\x3d\x95\x14\x75\x80\x99\xbd\xbd\xed\x56\xe8\x4e\x0d\xdf\x70\x7d\x69\xc9\xb1\xf3\xb9\x13\xaa\xde\x94\x60\xf0\xe2\x0c\x1c\x5b\xf2\xa1\x15\x92\x18\xea\xcb\x61\x1f\x3c\x93\x25\x17\x56\x0b\xac\x39\x46\x50\x94\x43\xfb\xd1\x9b\x6a\xed\x36\xc7\xe2\x4b\x3b\x54\x33\x8e\x9d\xc3\xa9\x6e\x40\xcb\xa7\x96\x56\xf8\xd4\xe6\xd8\x7c\x61\xb5\x9c\x0d\xd7\x77\x62\x57\xbe\x3f\x3c\x7f\xb6\x95\xf5\xa6\xc6\x2d\xed\x96\x90\x0d\x89\x42\xff\x6d\xe8\x50\xd8\xd8\xec\x53\xe2\xd0\xdb\x33\xed\xa5\x5c\x47\xb2\x76\x63\x13\xab\xe5\x14\xc9\xb4\xfe\xa8\xfc\x5f\x1a\xf3\x86\x1a\xe7\xf1\x4a\x67\x63\xd0\x45\xae\x7f\x95\x9b\xbb\x32\x89\x60\xe9\xb0\x4f\x9b\x0a\xee\x90\x38\x38\x17\xf0\x88\xd6\x69\x88\xdf\x07\xc3\x4d\xcf\x73\xd7\x09\x59\xc4\x22\x59\x40\x0c\x89\x36\x6e\xb1\xab\xc1\x14\x27\xd7\x86\x36\x9f\x23\x1d\x73\x16\x57\xe4\xb7\xf5\x1d\xc8\xb1\x4f\xc5\xb8\x39\x56\xc8\xcc\x22\x3f\x0b\x06\x1c\xcb\x67\x53\xad\x9d\x72\x2c\xb3\x41\xfe\x8b\x15\xda\xde\x54\x1f\x79\x48\x2e\xba\x72\xe7\x89\x63\xb7\xe7\x8f\x35\xd1\x33\xb7\x3e\xae\xd3\x0f\xbc\xa9\x2e\x6c\x4c\xcd\x59\xa0\xef\x68\xee\x9d\x10\xdf\xd8\xab\xf8\xb1\xb0\xb1\x8a\xbe\xca\xf5\xb2\x34\xa4\x4b\x90\x3d\xc5\x2c\xb8\x6e\x2f\x2b\xca\xfa\x4e\x62\xb1\x2b\xcf\x0a\x41\x65\x5f\xac\xac\x16\x85\x5b\x2c\x83\x19\x32\xd5\x32\x75\x29\x3e\xc0\xb1\x0f\x0a\x3d\x53\x9e\xb5\x27\x43\xc3\xc7\x17\x16\x21\x41\xae\x2f\x3c\x4e\xb5\x76\x91\x07\x7d\x56\x5e\xb7\x8c\xcd\x54\x2e\xeb\xdb\x48\x5f\xfb\xd5\xf9\xa2\x76\x95\xab\xb1\x93\xe5\x85\x1f\x87\x6c\xb6\xa0\x8d\xf4\x8a\x3f\xf6\x3b\x4f\x63\x79\x55\xda\x71\x34\x5f\xf8\xf1\x56\x0b\x60\xdc\x63\xec\x8d\x94\xce\xfd\xa8\xdb\xc9\x4a\x1b\xb1\xe3\x8b\xc4\x53\x82\xf4\xab\xac\x89\xa8\x9d\xcf\xf9\xfb\x76\xc8\xc6\xb0\x22\x89\x37\x68\xee\x2b\x47\x73\x95\x2f\xa7\x48\x6a\xb1\x07\x33\x04\x50\xa0\x40\x0f\x8c\xc5\x32\x5f\xc3\x1f\x76\xb6\x78\x40\x6a\x6d\xa1\x35\x6c\x09\x87\x7d\x6f\x3a\xab\x5d\x9d\x40\x58\x5a\xc5\x19\x71\xa9\x67\x68\x4f\x73\x57\xe6\xbe\x72\xdd\x0e\xb2\xe3\xc8\x2a\xfe\x55\xc6\x93\xf6\xb1\x1e\xe4\x03\x1f\xe7\xa7\x94\xff\xae\x9f\xb3\xe6\x97\xe5\xb9\x5d\x69\x6e\xd1\xd4\x2e\xa7\x79\xaa\x83\xa5\xa5\x8f\xb6\x67\xb5\x85\xa0\x3a\xa3\x6d\x69\xe4\xc2\x40\xb6\x0a\xb2\xa1\x59\x64\x3f\x51\x8f\x66\x9f\x5f\x5a\x11\xa2\xb1\xda\xf9\xb4\x6e\x79\x86\x9c\xa3\xa9\x66\x3b\x8c\x96\x76\x7b\x87\xf5\x3c\xc3\xca\xde\xdf\x8e\xe5\x71\xaa\xdd\x97\xe3\x08\x99\x8d\xa1\x3d\x25\x56\x21\x1b\xb6\xe7\xc6\xfb\xc2\xd2\x88\xa4\xd6\x54\xe7\xe1\xee\x0e\x06\xba\xcc\x9b\xb0\x58\xf2\x71\xaa\xad\xb6\xf9\x13\x25\xee\x06\x4d\xed\x68\x61\xa8\x8f\x3c\x7e\x0b\x7f\xa8\x89\x9e\xda\x65\x7a\x74\x28\x2d\xad\x50\x1d\xd0\x51\x11\x93\x5c\x16\xf7\x04\x14\xf1\x44\x9e\x3d\x38\x47\xbf\x8e\x07\x83\x9d\xef\x32\x42\xbe\xcb\xda\xd0\xf8\xa5\xd5\x12\x13\x8e\x9e\x0e\x6e\x3f\x9e\x7d\xd9\xed\xf8\xf7\xfc\x65\xc2\xef\x7c\x4d\xf0\x55\x0f\xbd\xc4\x4b\x37\x4d\xd2\x78\xe9\x6f\xaf\x55\x9d\x99\x30\x73\x2f\xbe\x4a\xe3\x3b\x6e\x94\x97\xaf\xdb\x34\xbc\x49\x53\xdd\x16\xab\x66\x6e\xda\xc9\x32\xdf\x8b\xdc\xc6\x37\x72\x16\xb5\x72\xae\x84\x78\xe9\x92\xdb\x73\xb7\x55\x8f\xca\x07\x20\xb6\x10\xd6\x5f\x9a\xc1\xde\x7e\xba\xa9\xee\x1f\x36\xd3\xf8\xae\x7c\x67\xe6\xec\x5d\x38\x1f\xff\x55\x5c\x14\x7b\x3a\x7d\x57\x3d\x99\x54\x7f\xcd\xa6\xb8\xe9\xf7\xec\x93\x36\x27\xaf\xd9\x34\x3c\xa8\x44\x97\x2f\xe6\x7c\x39\x7c\x8f\x47\xb6\x4d\xe8\xca\x6e\xfe\x1d\x9f\x56\xfa\xfa\x6e\x8f\x89\x76\xb6\x6f\xc8\x14\x7d\x7f\x49\x63\xe8\x96\x0b\x14\xba\x51\x71\x6d\xbf\xb7\xf0\x9d\x93\xab\x7d\x7c\xe7\x70\xd6\xd2\xc6\x2b\x04\x3f\xdd\xdc\x4a\x93\x9b\x2f\x37\x92\x6b\x3a\x6e\xda\x30\xa3\x97\xf0\x6a\xbc\xe8\x7c\x7f\xb9\xfb\x3b\xc2\xda\x5f\x90\xfe\x22\xa0\xdb\x8b\x53\xbf\x1c\xde\x8d\x8d\xc0\x66\x0b\x2b\x2b\x2f\x38\xba\xe6\x0e\x6d\xec\xd3\x8d\x1f\x39\xee\xd3\x78\x76\x55\xf5\xdb\xcf\x0d\x42\xed\x5d\x1f\x62\x3d\x7d\x67\xe5\x98\x99\x5e\x47\xc7\x3b\x16\xfc\xfe\xf3\x73\x05\xeb\x9e\x59\xbe\xe7\x98\x0f\x27\xef\xb0\xfb\x2b\xdf\x35\x7b\xee\x81\xb0\xcc\x5d\xba\x69\x29\xaa\x1b\xde\xa7\x7b\xf6\x3e\xf7\x0f\x99\x1d\x27\x17\x5e\xe9\x7b\x3d\x67\x9d\x80\x6b\x7a\x23\xd0\x5d\x9a\x70\x51\xac\x34\x53\xbc\x9e\x17\x15\x8f\x9c\x7d\x98\x28\xed\xa6\xf7\x8b\x3e\xac\xfc\xc8\x89\x57\xb2\xbf\x29\x9f\xf4\x51\xf0\xe6\x6a\xb9\x99\x7a\x6e\x5e\xdd\xde\xa9\xbc\xea\x09\xbb\x9b\xf2\xd1\x22\x3f\x77\x53\xdf\x3c\xaf\xb3\x4c\x08\xc7\xb3\x8b\x97\xc7\x3f\x73\xe1\x3e\x5a\x5d\x33\x8f\x8b\x8b\xdc\x87\x6e\x96\x29\x73\x33\x7a\xee\x49\xa4\x7c\x9e\xba\xd9\x3c\x86\x68\x59\x5b\xd8\x33\x95\x3b\x8e\xe3\xa3\x09\x36\xe1\xa4\x4e\x4a\xd1\x02\xc2\xe7\x1e\x40\xdc\xf2\x5a\x7f\xff\x3a\x11\x3d\x77\xed\xe0\xd9\x17\x9b\xdc\x3c\xf5\x6d\x61\xdb\xba\xeb\x27\x9d\xa5\xe9\x43\xd3\xf2\x21\xa2\xd3\xab\x1b\x17\xb7\x02\x22\x08\xe1\x6e\xe1\xa2\x2b\x17\xee\x70\xb6\xfc\xd0\xed\x78\x5e\xea\x7a\x3b\x79\xd3\x59\xba\xe9\x15\x4f\x4f\x6d\x97\x3f\x8e\x2a\x12\x92\x73\x33\xf7\x6d\xa5\x9a\x7e\xba\x2a\x7f\xe9\xeb\x05\x0d\xac\x70\xf3\xaa\xb5\xfa\x10\x3b\x66\x6e\x7e\x3e\x95\x4c\xe5\x4b\x00\xa3\x38\xf2\xf3\x38\xfd\x2c\xfb\x91\x07\xdd\x8a\x21\x46\x0b\x98\xfb\x09\x74\x47\xc5\x54\xd3\x15\x8d\x5f\x65\x4b\x9a\x8b\x3c\x1e\xf9\xb9\xef\x99\xb9\x7b\x5e\xa8\x98\xf6\xab\xdf\xcd\x2e\x9b\x6e\xaf\x0f\x3d\x7e\xc3\xe4\x40\x76\xd7\x6e\x1f\x6c\xb8\xa8\xf7\xd3\x4d\x4d\x5a\x71\x51\xe6\x7b\xf3\x3c\xfb\x52\x83\x5e\x49\xab\xf2\xed\xad\x3b\xd3\x7b\xe6\xe9\xc1\x95\x6b\xf5\xe3\x38\x38\x59\x98\x2b\x0d\xf3\xeb\x1e\xe3\xac\x5b\x96\x66\x8d\x6b\xee\x4c\xe8\xa6\xf9\x45\x93\xf6\x0a\x75\xb5\x9b\x86\x92\xc9\x3a\x08\xe6\x45\xfb\xd2\x83\xb1\x75\xfa\x26\xe8\x89\x3a\x7b\xb8\xc3\x5a\xef\xfe\x30\xfd\x95\x9a\xe5\x1a\xab\xe5\x05\x3a\xb4\xf5\x17\xd2\xa1\x67\xb4\xe3\xb1\x12\xfd\xda\xff\xbb\xeb\xd0\xaf\xdf\x7e\xea\xd0\x9f\x3a\xf4\xa7\x0e\xfd\xeb\xe9\x50\xc7\x2d\xde\x15\x72\x7e\xea\xcf\xdf\x49\x7f\xfe\xfd\x7c\xd0\x9f\x2e\x68\xab\xc1\x68\x3a\xa8\xfc\x47\xab\x4f\xf0\x53\x7d\x9e\xfc\x7e\xaa\xcf\x73\xf3\xf5\x53\x7d\xee\x37\x37\x22\x37\xff\xa9\x3a\xdf\xa2\x3a\x8f\x67\xf5\xd9\x47\xab\x3e\xdd\xdc\x7e\x39\xb7\xb1\x72\xbc\x93\x72\x88\x7d\x37\xb6\x17\xa1\x1b\xe5\x5d\xea\xcb\x11\xe4\xec\x68\x7f\xea\xcc\x6b\x59\x37\x0d\x8f\xbb\x35\x6d\xc9\xdc\x7c\xba\xb9\xa5\xca\xe2\x9b\x2f\x37\xfb\x6e\x6f\xb6\xf0\x6e\xe8\x38\xca\x53\xdf\x5a\xe4\x71\xd3\x86\x4d\x03\x75\x5c\x40\xfd\x4b\xb1\x73\xe9\xb8\x69\x76\xbc\xaf\x74\x0c\xf6\x59\x2b\x05\x59\x19\x17\x5e\xc5\x7d\xeb\xfc\x35\xee\xfb\x20\x9c\xbb\xee\xcc\x8f\xfc\xf2\x95\x8c\xdd\xde\xc5\xb1\xdc\x78\x6e\x43\x6d\x0f\xa4\xa0\xc8\xb6\xe5\x90\xb6\xf3\xf0\x70\x37\x73\xef\xdb\x77\xf7\x04\xfe\xf5\x8e\x6c\x3d\x58\x77\x33\xf2\xdb\x7d\xeb\x9b\x8b\xb7\xef\xdb\xd8\x99\xad\xa8\x64\xbf\x96\x05\x36\x57\xae\xfa\x65\x58\x3b\xf5\x74\xd4\xf2\xf2\x1e\x90\x1d\x47\xa5\xb6\x29\x10\xf1\x52\xd7\xcc\xdd\xf4\x17\xe8\x46\x5e\x3e\x6f\x7a\x6a\xb0\xf9\x71\xac\x1b\xec\x94\xc6\x9a\x04\x05\x79\x87\xe1\x77\x49\xea\x2e\x7d\x77\xf5\x3e\x02\xe3\xed\x24\xf3\xee\xb6\xb8\x09\x61\xbc\x02\x07\x0f\xa8\x97\xef\x4b\x5d\x50\x95\xa8\x09\x13\xa7\x2b\x33\x75\x5c\x47\x49\xcd\xd9\xcc\xb7\x9f\xa9\xce\x96\xaf\x95\x29\xa9\x19\x65\x7e\x5e\x25\x15\x34\x27\x01\x48\x6e\x18\xe7\xee\xb6\x45\x76\xa1\x6e\x5a\x54\x3c\x44\xfe\xbc\xdd\x7b\xfa\xc4\xf5\x75\x4f\xb8\x1d\xa8\xe5\x33\x4f\xce\x23\x16\xdb\x42\x28\xdf\x9b\x6f\x72\x26\xae\x4b\x16\xd8\xaa\xd1\x2f\x89\xeb\xa6\x7e\xe4\xdd\xd5\xc1\x3e\x2f\x19\xcf\x3d\x89\x7f\xf8\xef\x49\x09\xfb\xd9\x8d\x47\x02\xbb\xc3\x1e\x1a\xd4\xe5\x95\x7b\xb1\x2f\x26\xcf\xe7\x6c\x8c\x73\x5d\x15\x3b\xb0\x87\x0c\x74\xfe\x39\xc9\x2b\xf4\x4b\x35\x8b\x4e\x94\x19\x71\xe4\xbe\x93\xe1\xd1\x7e\xa7\x2d\xdc\xbf\x33\xcb\x5e\xc7\x8a\x69\x72\x97\xb8\xa5\x35\x8a\x61\xf8\x3b\x32\xe3\x21\xe0\xbf\x3a\x3b\xfe\x24\xbd\x57\x91\xde\xdb\x15\x40\x8d\xc6\xea\xa4\xf7\xd7\x54\x01\x81\x1f\x15\x73\xcd\x16\x82\x74\x6f\x22\xbd\xd4\x5e\xb7\xe3\x28\xf3\xb3\xdc\x8d\xec\xf5\x24\x86\xbe\xdd\x9c\x8d\x78\x53\x5a\x6f\x33\x73\x01\x73\x7a\xdf\x62\xe8\x2e\x5d\x58\xc6\x4b\xd2\x38\xf2\xae\x8b\x2c\x54\xc3\x7c\x55\xd4\xa0\x6a\x5c\x05\x9d\xae\x99\xc4\x03\x84\xae\x0a\x56\x1e\xd9\x91\xe3\xd9\xcc\x4d\x6b\xa1\xa1\x22\xf7\xaa\xc9\x50\xf7\x13\x69\x01\x8b\x99\xfe\xf0\xab\x7f\x98\x04\xe5\xf8\x99\x69\x41\x97\x8e\xb3\x30\xce\xba\x14\xe3\xa7\xee\xca\x84\x10\x19\x4a\x76\x61\x91\x77\xd2\xd4\x5c\xff\xf2\x71\x97\x60\x59\x6f\xbc\x85\x7b\xfb\xf1\x53\xbd\x6e\xf9\xf7\xd8\x7a\x74\xed\x1c\xd5\xe9\x38\x4e\xea\x66\xd9\x38\x95\xcc\xc8\x73\x11\x5b\xe1\xd8\xfd\xe7\x7b\xe2\x33\x4e\xb6\x3f\x93\xc4\xae\xf5\xf9\x16\xb7\xf7\xd8\xe7\x6f\x5f\x3f\xb7\xef\x3f\xe3\x2d\xfc\x9a\xfa\x6d\xe2\x33\xfe\xed\xeb\xe7\xaf\x9f\x5b\xd8\xb5\xd5\xbf\x92\x9f\xdb\xd8\xe7\xfb\xf6\xb5\xf5\x1f\xbe\x7d\xc6\x1f\xee\x3f\x13\x5f\x6f\x3f\x7e\x3c\xe3\xfe\xf9\xd9\xa1\x7c\x62\x7c\x98\xbb\x69\x6f\x17\x10\xff\xf0\x6b\x14\xe7\xd7\xad\x46\x73\x07\x87\x42\xe0\x3d\xd6\xf8\xfc\x32\x3a\xb5\x18\xd0\x55\xf2\xf3\x4b\xb6\xb0\x22\x37\x3f\x90\xa3\xe5\x9f\x65\x41\xe1\xbc\x5d\xee\xe4\xfd\x4c\xfa\x3a\x32\x07\xa6\x7d\xed\xdf\x3b\xb4\xce\xcc\xf6\x76\x1a\x07\xee\x9a\x32\x33\xd7\x19\xb9\xb9\x89\x18\x52\x4b\xfd\xdc\x7d\x4e\x6f\x5a\xa6\x1d\x2c\x92\xe7\x24\x59\xe2\xa6\x7e\xec\xf8\xf6\x28\x76\xdc\xc9\x65\x01\x79\x04\x99\x8b\x72\x37\x5d\x9a\x90\x8b\x46\x7e\xb4\xc8\x8b\x46\xc4\xfd\x85\xec\xb0\x6d\x3b\xc9\xcd\xdd\xa8\x08\x4e\xec\x00\xf4\xe3\x45\x8a\x9a\x7f\x23\xb0\x66\x51\x75\x26\x12\x5c\xe9\xae\xc9\x76\x10\xaf\xd5\x98\xbf\x3e\xeb\x39\xbf\x2d\xa6\xf4\x3e\x29\xd5\xb9\xe9\x9d\xd1\x5c\x5b\x75\xd4\x7b\x42\xab\xe9\x46\xe5\x16\x02\x1d\xa7\xee\xcd\x2f\xb2\x38\xfc\x78\x39\x26\x72\xa2\xb0\xf1\x3b\x0c\xbf\xc3\xdb\xef\x61\xee\x55\x63\x7b\xd6\x4c\xba\xed\x48\xe3\xdb\x26\x8b\xa7\x81\xb0\xe3\xa4\xd2\x99\x67\x60\xe6\xf3\x34\x5e\x78\xf3\x64\x81\x2c\xbf\x36\x76\x4a\x53\x2f\xcb\xba\xbf\x2a\x84\x8a\xb8\x1a\x8d\xe1\xad\xd1\xc7\xec\x37\xd8\xdd\x7e\xfb\x5e\x99\xf8\xd5\xfa\xfe\x55\x23\x52\xd7\x12\x5d\x27\x5b\x47\xf6\xb8\xd8\x8b\x2c\xe8\xe9\x8c\x90\x49\xcc\x34\x2f\x62\x86\x03\xf7\xbc\x1c\xdd\xd6\xcc\xe7\xe7\x4d\xb9\x5d\xb5\x2f\xbe\x73\x7e\xf3\xec\xcc\x36\xd9\x4d\xdd\xd0\xed\x9b\xd9\xfc\x8c\x4d\x77\x66\x0c\x5b\x01\xa1\xe4\xc8\x44\xfd\x8a\xdd\x3f\x34\x31\xc5\x65\x56\xfb\x8e\x3c\x83\xfe\x3e\x5a\x8c\x77\xe5\xa3\x2f\x76\x1c\xe5\xa6\x1f\x9d\x6e\x9c\xfe\xd9\x58\xea\x60\x58\xd7\xf0\xd7\x39\xa9\xf4\xca\xfe\x7f\x74\x96\xde\xee\x12\xfd\x25\x58\xf9\x07\x63\xd0\xed\xd4\xfe\x64\xcc\x9f\x8c\x59\x2b\xbf\x96\x31\xb7\xe1\xb5\xbf\x04\x63\x5e\xa3\x63\xef\xf0\xef\x60\xca\xde\xff\xbe\xa6\x2c\xfa\x7b\xbb\x6e\x3f\xb9\xfe\x27\xd7\xd7\xca\xaf\xe5\xfa\x6d\x2e\xd6\xdf\xc7\xb4\x7e\x39\xdb\x7f\x67\xfe\xad\x56\xe0\x27\x03\xff\x64\xe0\x5a\xf9\xb5\x0c\x3c\x4e\xdc\x48\x9e\xfb\xb3\x9c\x2e\x77\xc3\x7f\x47\x4e\x3e\x80\xf8\x3b\xf3\xf4\x22\xf2\x7f\x5b\xb8\x03\xf7\xb9\x7d\xa0\xc3\xca\xcf\x8f\xea\x72\x5e\xf4\xcd\xf5\xd3\xb3\xab\xfe\x25\xb8\x34\x3b\xd5\xaf\xf9\x32\x8f\xea\x77\x66\x16\xaa\xdf\x77\x40\x7a\x9b\x5b\x71\x10\x58\xe7\x9c\x8b\x0b\x5d\xfd\x7e\xbc\xa1\xf8\x6e\x94\xbf\x0f\xf2\xe7\xa9\xfc\x4f\xe1\x21\x9e\x08\x8b\x9f\x4a\xe7\xa7\xd2\xa9\x95\x5f\xab\x74\x26\x71\x9a\x9f\x24\x44\xed\x7b\xf9\x69\x33\xfe\x98\xae\x62\xb9\x6c\x3f\x79\xfe\x27\xcf\xd7\xca\xaf\xe5\x79\xb9\x96\xa1\xfe\xd7\x70\x17\x7f\x30\xe5\x7c\x30\xc1\x3f\x99\xf4\x6f\xc5\xa4\x3b\xe2\x79\xc7\x6b\xd1\xae\x20\xa0\x8b\x97\xb4\xbd\xfd\x30\xcd\x1e\xff\xdf\xf5\x20\x8c\x69\x3b\xce\x37\xc2\xfc\x76\xd7\x6a\x3d\xb4\xef\xee\x1f\xdc\xd9\x9d\xe5\xdc\x13\x77\xb3\xaf\xd8\xd7\x99\x65\x3e\xe0\xa6\xfb\xed\x15\x07\x61\x9a\x67\xfd\x7b\x9c\x81\x79\xf6\xa4\xca\xbb\x50\xd4\x2d\x83\xa8\x65\x9b\x0b\x75\x78\x40\xeb\x6f\x4b\x3a\xf7\x0e\xf9\xcd\x22\x1f\xac\x3b\xdc\xb9\x9f\xdd\xdd\x7f\x7b\xf8\x76\x67\x12\x24\x7e\x67\x7f\xfd\xf6\xd0\xba\x77\x08\x9c\x78\x15\xe9\xcc\xfe\x9c\xa4\xf3\x67\x3b\xa0\x78\x59\x2e\xfe\x3c\x95\xf8\x17\x3a\x95\xf8\x03\x09\xe3\x3f\x6b\x92\xd6\xf7\x38\x79\xf5\x7a\x49\x70\x7c\x1e\x6b\x7f\x79\xef\xbb\x9c\x08\xfb\x58\xe9\xbb\xae\x20\xdf\xa0\x0e\x5e\xce\xfb\xc7\x18\xfe\x7e\x0c\xff\xbd\xe7\xe6\x77\x15\x08\x96\x3b\x73\x67\x26\x86\xdf\x11\x26\x41\xde\xdd\xe3\xe4\xb7\xbb\x87\x96\xf9\x70\x47\x7c\x23\x66\xb3\x56\xcb\x76\x5b\xf8\xfd\x9f\x5b\xc5\xbe\x8b\x40\xf8\xfe\x6b\x7e\x4e\x60\xfc\xa3\xfc\xf7\x7f\xfe\xf1\xff\x03\x00\x00\xff\xff\x29\xf6\x48\xdb\x6f\xf8\x00\x00") +var _rpProductionJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x7d\x7b\x93\xa2\xc8\x96\xf8\xff\xf7\x53\x54\xf4\x6f\x23\x6a\x3a\xb6\xab\x1b\xb0\xec\x2e\x6e\xc4\xfe\x21\x28\x08\x2a\xca\x2b\x41\x66\x6f\xdc\xe0\x25\x52\x24\x8f\x01\xd4\xd2\x8d\xfb\xdd\x7f\x91\x20\x8a\x8a\x96\xf5\xe8\x99\x9e\x99\x76\x63\xe7\x56\x93\x99\x27\x4f\x66\x9e\x77\x9e\xcc\xfc\xbf\x7f\xdc\xdc\xdc\xdc\x7c\xf8\xaf\xcc\x9e\xbb\xa1\xf9\xe1\x9f\x37\x1f\xe6\x79\x9e\x64\xff\xfc\xf2\xa5\xfc\xf2\x39\x34\x23\xd3\x73\x43\x37\xca\x3f\x9b\x9b\x45\xea\x7e\xb6\xe3\x70\x5b\x96\x7d\x21\x30\xbc\x7d\x87\xe1\x77\x18\xfe\xc5\x71\x13\x18\xaf\x51\x3d\xc5\x0d\x13\x68\xe6\xee\xe7\xc7\x2c\x8e\xfe\xdf\x87\x4f\x65\x0f\x76\x1c\xe5\x6e\x94\x03\x37\xcd\xfc\x38\x42\x1d\xe1\x9f\x31\xf4\x7f\x55\x85\xc4\x4c\xcd\xd0\xcd\xdd\x34\xfb\xf0\xcf\x9b\x12\xad\xe2\xbb\x69\xa7\x92\x9b\xc5\x8b\xd4\x76\x39\xe7\xa0\xa8\x28\xce\xd7\x89\x8b\xa0\x65\x79\xea\x47\xde\x87\x5d\xe1\x7f\x3e\xd5\x40\x38\xa1\x1f\x75\x12\x9f\x36\xa9\x45\xe4\x40\xf7\x8d\x50\xa0\xef\x46\x39\xed\xa6\x39\x1d\x87\x61\x1c\x09\x66\xf8\x5a\x88\x69\xf8\x12\xac\x3e\x1d\x96\x3a\xee\xcc\x5c\xc0\x1c\x98\x70\x51\xd4\xba\xd8\xc7\x6b\x70\x7e\x6d\x7f\x65\x67\x57\x2c\xd6\xeb\x3a\x40\x54\x48\xc3\x78\xe1\xbc\x61\xe2\x11\x0c\xd9\xb5\x27\xa6\x1d\x00\xb9\xa3\xb8\x91\x79\x15\xc2\x8d\xc0\x2c\x1f\x42\x3f\xf2\x7a\x44\x4f\xce\xe3\xd4\xf4\xdc\x8e\x6d\xc7\x8b\xef\x37\x01\xdb\xfe\x64\x37\x5d\xfa\xb6\x3b\x49\xfd\xc8\xf6\x13\x13\x7e\xaf\xee\x6c\xb8\xc8\x72\x37\x1d\x39\xe1\x76\x5c\xaf\x9b\xa5\x1d\x98\xcc\x79\x2f\x38\x74\x1c\xcd\x7c\x6f\x2f\x51\xde\x06\x0d\x51\x53\x96\x98\xf6\x2b\x49\x6a\x0b\x69\x62\xa6\x6e\x94\x77\xe3\xd0\xf4\xdf\x20\x18\x1c\x33\x37\x2d\x33\xab\x28\xe9\x0d\x80\xac\x3c\x0e\xdc\xe8\x6a\x8e\x6c\x06\xe2\x67\xa6\x05\x5d\x3a\xce\xc2\x38\xeb\x52\x8c\x9f\xba\x2b\x13\xc2\xf3\xc0\xac\x38\x86\xcf\x10\xdb\xcc\x84\x99\xdb\xd8\xdb\x0c\x2e\xdc\x28\xb7\xfc\x9c\x0b\x4d\xef\x95\xc3\x9e\x25\x6f\x1b\xf1\x2c\x79\x05\x77\x35\x42\xf2\xcc\xdc\x5d\x99\xeb\x92\x20\xb2\xef\xc3\xa1\xdb\x3e\x2a\x2d\xc9\xa6\xf1\x22\x79\x3d\xc9\x6c\xa1\xbd\xd7\x04\xf8\x89\xb4\x80\xee\x85\x91\x9b\x69\x6a\xae\x9b\xdb\x06\xee\x7a\x89\xc6\xdf\x15\x64\x79\x31\x9b\xf9\x4f\xaf\x43\xa1\x02\x33\x49\xdd\x57\xc3\x08\x9d\x90\x49\x0b\x13\xc6\x51\xd3\x0b\xa4\x7f\x19\x46\xe6\xf4\xa2\xa5\x9f\xc6\x11\xb2\x93\x5e\x07\x24\x8a\x23\x23\x8e\x4c\x28\xb9\x9e\x1f\x5f\xa2\xa8\x72\x5e\x2f\x13\xd4\xaf\x07\xa5\x45\x0d\xd7\xcc\x72\x33\xf3\xcd\xa3\x96\x45\x99\xed\x46\x79\x6a\x42\x3f\x72\x9a\xcb\x83\x38\x75\xcd\x6d\xa5\xa6\xf2\x2c\x5e\xe4\xf3\x6d\xf9\x22\x6b\xec\xc1\x8c\x4c\xe7\x12\x08\xcf\x4d\x43\x33\x5a\xaf\xdc\x2c\xbf\x50\x2b\x8a\xd3\x95\xb9\x46\x43\x69\x44\x63\xe5\xe7\x1b\x37\x85\x66\xe4\x44\x71\x9a\xcf\x9b\xea\x58\xa9\xb9\xf1\x61\x81\xf0\xd9\x91\x98\xb3\xd4\xb7\xcd\x12\xc4\x41\x95\x7f\x35\xae\x5c\x12\xa7\xb9\x09\x3b\xb6\xed\x66\x59\xc1\xa3\x9c\xf3\xbc\x40\xb8\x00\xe9\x6d\x22\xae\x84\xd1\x83\xee\xd2\xcc\x5d\xe7\x6d\xf8\xa4\x09\xe3\x9a\xf9\x22\xbd\xc4\xe6\x6f\x11\x70\x69\xf2\x06\x5d\x90\x26\x6f\x35\x5d\x10\x84\x37\x5a\x2d\x25\x88\x77\x30\x58\x4a\x40\x6f\xb4\x55\xd2\xe4\x7d\xcc\x94\xf4\xdd\xd4\x64\x9a\x80\x30\xcb\x68\x33\x31\x6d\x3f\x5f\x9f\x87\xe1\x47\xc7\x1c\x7d\x4c\x42\xad\x46\xf8\x59\x36\x9f\x2c\x2c\xe8\xdb\x03\xf7\x02\xf4\x4b\x18\x66\x07\xb6\x7d\x39\x73\xaf\x84\xb4\xb0\x32\x3b\xf5\x93\xdc\x8f\xa3\x77\xd2\xd9\xcb\x50\xf6\x37\x6f\x76\xe8\xe4\xdc\x8c\x1c\x33\x75\xfe\xdd\x25\xb2\x7f\x2f\x5b\xe7\xba\xca\xb2\x17\x22\xfa\x8f\x1a\x8c\x0f\xe9\x76\xc4\xd9\x81\xfa\x39\x02\x95\x05\x8b\x13\xf8\x45\x41\x54\xf6\xbc\x43\xf5\x50\xee\xfe\xe7\x68\x80\x49\x1a\x27\x6e\x9a\xfb\x0d\x72\xa9\x2c\x2f\x48\x82\x9b\x74\x20\x8c\x6d\x13\xad\xc7\xc8\xcd\xe7\xb1\xb3\xed\x21\xf7\xed\xcb\xf0\x37\x71\x54\x80\xfe\xf0\xab\x3f\xfb\xc5\x8e\xa3\x1c\xd9\x78\xbf\xec\x03\x19\xbf\xdc\x1e\x69\xeb\xdb\x8f\x9f\xf2\x78\x18\xaf\xdc\xf4\x97\xd4\x4d\xa0\x69\xbb\xbf\xa4\x75\x0a\xf8\xe5\xe3\xe7\x0a\x93\x4f\x37\xb7\x37\xb7\x9f\x6e\x6e\x6f\x3f\x7e\xfc\xf8\xe9\xf6\xf6\x53\xe2\xdb\x81\x81\xfa\xfb\xe5\x76\xe4\xdb\x69\x9c\xc5\xb3\xfc\xb3\xe0\xe6\xab\x38\x0d\x50\xbd\xdd\x58\x1c\x27\x75\xb3\xcc\xcd\x6e\x3f\xdd\x9c\x87\xdd\xfa\xf8\xf1\x5f\xc7\xe4\x50\xcd\x6d\x9a\xdc\x25\x7e\x72\x5c\x5a\xad\xee\x49\xe7\x5f\x4e\x7a\x3e\x6e\x5a\x75\x5b\xcc\xd4\x39\x9c\x4e\xd0\x31\x13\xbf\x16\x2c\x22\x30\x02\xbb\xc3\x1e\xee\x30\xbc\x91\x2c\x7f\xd2\xcf\x8f\x43\x3f\xa5\x65\xf1\x93\x86\xae\xa3\xa1\xd9\xd6\xab\xe0\x26\xa5\x75\xb0\x48\x8b\xa1\x64\x8d\xd6\xf9\x29\x9a\x2f\xe9\xeb\xb0\xee\xe1\x8c\x3f\xdb\xa0\x68\xe4\x3b\x07\xf3\xcf\x39\x0d\xc4\x74\xba\x96\x88\xbc\x4a\xa1\x72\x7b\x42\x35\x8d\xdd\xe4\xa6\x87\x10\x8a\x16\x10\x5e\xac\xfc\x9f\xb3\xa5\xff\x39\xdf\x4b\x5d\xce\x55\x93\xff\xa1\xb1\xf6\x19\x20\x7f\xce\x05\xd8\x73\xe5\x0f\xb5\x08\x5b\xb4\x9e\x59\x88\x93\xaf\xff\x6a\x72\xd9\x4c\x3b\x70\x23\x67\x3b\xea\x49\x1c\xc3\x57\x31\x51\x8d\x3c\xb6\x10\xdf\x82\x14\x8c\x4d\x87\x32\xa1\x19\xd9\x7e\xe4\x55\x91\x90\xef\xca\xd8\x67\x04\xca\x3b\xd2\xd7\x7e\x4c\x6e\x9a\x7d\x39\x27\xc0\xb6\x5c\x0f\xad\xed\x1f\x55\x3d\x44\x7e\x97\x09\xea\x32\x71\x36\xac\xf3\x77\x1b\x5b\x03\x49\x1d\x0f\x6b\x5b\xe5\xcd\xa3\x4a\xd2\xd8\x3a\x35\xaa\xdf\x6b\x20\x05\xf4\x13\xdc\x8b\xaf\xef\x81\x79\x1e\xdb\xc5\x2a\x7c\x50\xec\x63\xa5\x7f\x52\x1d\x21\xd6\xf5\x91\x93\x60\x2d\x2a\x8d\xde\x2d\x3d\x91\xe7\x9a\x56\x24\x34\x89\x53\xe4\x87\xdf\xdf\xb7\xae\x23\x95\x7d\xfd\xb7\x2a\x0c\x68\xa5\x0b\xe8\xfe\x11\xea\xe2\x87\x64\xeb\x23\xe9\xfd\x93\xb5\x1b\xb1\xfb\xdd\x59\xbb\xd2\xf5\xa8\xe4\xae\xd8\xcf\xff\x3b\x31\xf9\xfd\x7b\x18\x24\x3f\x19\xfd\x27\xa3\xbf\x78\x54\x7f\x2c\xa3\x67\xd9\xfc\xcf\xcb\xe6\x04\xf1\x22\x2e\x27\x08\x82\x78\x3f\x36\x47\x53\xf7\x16\x23\xbf\x5c\x99\xef\xee\xb1\xd7\xd6\xa6\x8f\x84\xfa\x73\x53\x9c\x5c\x2b\x41\xa3\x45\x68\xb9\xe9\x78\x36\xa9\xc6\xf1\xdc\x62\xa4\xee\x6f\x0b\x37\xcb\x27\x66\x3e\x47\xd8\x7c\x99\xbb\x26\xcc\xe7\x9b\x2f\xa9\x6b\x3a\xeb\xf3\x14\x78\xa5\x91\x55\xb2\xd1\x1f\xe1\x92\xbf\x7a\x86\xef\xff\x44\x33\x7c\x6a\x1d\xfc\xd1\x73\x7d\x85\xa4\x49\xf6\x7c\xff\xe2\xa9\x7e\xbf\xd9\x7a\x89\x9c\xb8\x18\x15\x3c\x70\x29\xae\x0f\x93\x1e\x28\x84\xef\x1c\x22\x3d\xd9\x2c\x4a\xdc\xc8\xc9\xc6\x51\x73\xda\xc0\xf7\x08\x49\xbd\x31\xd0\xf8\x8f\xe6\xe5\xf8\xdb\x46\x7c\xb3\x85\x15\xb9\xa7\xfb\xd7\x8d\x75\xaf\x32\x4f\x96\x7e\x9a\x2f\x4c\xb8\xfd\x67\xf6\xa5\xec\xa0\x5a\x85\x65\xe4\xe6\xdb\x3f\xcb\x82\xe7\x8d\x93\x37\x31\xea\x36\xd5\x6d\x1f\x4a\xbc\xd0\xe6\x4f\xbe\xf1\xf2\x33\x48\xda\x84\xd3\x9f\xda\xc9\xba\xf3\xa3\xdc\x4d\x23\x13\xa2\x2f\xc7\xa4\xfc\x57\x71\xb7\x0e\x06\xf9\x67\xf5\xbb\x1a\x57\xea\x4f\x1e\x49\x7d\xb8\xbf\x6f\xbf\x30\xca\xd2\x7e\x17\x61\x7d\x31\xcc\xf2\x97\xf0\xbd\x9e\x9b\xd7\x1f\xc9\x33\x38\xa0\xe6\xef\x60\xe8\xee\x58\xe7\xc7\xb4\x78\xdf\xc3\x44\xfc\xb5\x6e\x44\x94\x69\x59\x67\x8c\xdb\xdc\x77\xd3\x03\xa3\xb2\x31\x1d\x76\x97\x10\x77\x08\xf9\x30\x5f\xee\x44\xf0\xbc\xd4\x24\x5d\x24\x5e\x6a\x3a\xee\x24\x86\xbe\x7d\x9a\x1f\xb7\xab\x16\xc6\x4e\xb9\x4c\x66\xb4\x30\xe1\x29\x81\x34\xd0\xd8\x87\xad\x91\x38\x32\xed\xb9\x1f\xb9\x93\x34\x9e\xf9\x0d\x47\x9d\x76\xd5\xe3\xec\xb9\x2a\xe5\xc4\xc4\x61\xb2\xc8\xdd\x54\x30\x43\x77\x97\xd6\xfd\xe1\x57\x3b\x8e\x6c\x33\x47\xd3\x73\x77\xfb\xe9\xe6\x70\x29\xca\xb4\xb5\xdb\x8f\x9f\x6e\x6e\xef\x2e\x6f\x81\x97\x27\xbd\xd4\x0c\x91\x6a\xb9\xaa\x36\x8c\x17\xce\xdd\x22\x73\xd3\x4b\xcd\xa0\x1f\x2d\x9e\x5e\x66\x4f\x54\x67\x2b\x26\x66\x96\xad\xe2\xd4\xe9\x2c\xf2\xb9\x1b\xe5\xfe\x8e\xae\xf3\x74\xe1\x3e\x23\x10\x90\x53\x7a\x95\xee\x4b\xaa\x0c\xc8\xf3\xe2\xf2\xf8\xf7\x3c\xd4\x3d\xf4\x9d\x40\x8a\x43\xf7\xcb\x7e\xc6\xbe\x7c\xce\xb2\xf9\x17\x73\x91\xcf\xe3\xd4\xdf\xb8\xce\xbf\x03\x84\xc0\xf3\x09\x08\x3b\xc0\x81\xbb\xee\x9a\xb9\x79\xc2\x03\xf5\x9c\xce\x67\x55\x6f\xf5\x3b\xef\x63\x54\xbf\x7f\xbd\xd6\x47\x79\x49\x10\xa5\x4a\x27\xbd\x8a\xd8\xfd\xd0\xf4\x5c\xc9\x9d\xb9\xa9\x1b\x35\xa4\xfc\x9e\xd4\x2f\xd6\x39\x9b\x97\xe2\x45\x72\x9d\xbe\xf9\xac\x3d\x10\xcf\x66\xdb\xea\xfd\xde\xf0\xb9\xca\xa5\x10\xfc\xf0\xed\x6e\x08\x46\xcf\xd5\x5d\xee\x25\x2d\x34\x73\x37\xcb\x5f\xa7\xa1\xe2\xac\xeb\x67\xc1\xf3\x43\xb7\x53\xd7\xcc\xdd\x71\x52\x69\x05\x26\x8d\xc3\x32\x77\xfc\x19\x3c\xcb\x63\xae\xce\x55\xbd\xdc\xdc\x9c\xe4\x03\x2b\x5b\x05\x36\x49\xdd\xd0\x5f\x84\xff\x1e\x4a\xf2\xab\x7d\xdd\x17\xd1\x51\x54\xea\xc9\xab\xe8\xa8\xb4\x14\x26\x57\x19\xcb\xbf\x67\x92\xc1\x45\xd3\xa4\xec\x89\x43\x86\xc3\xcc\xb4\xdd\x2b\x43\x26\xd5\xef\x8a\x85\xac\x59\x28\x48\x49\xdc\x45\xbe\x7d\x4d\x7a\xd4\x0b\xac\xc7\x5a\x1b\x3f\x34\xd3\xf5\x55\x62\x7d\xd7\xc8\x4f\x5e\x38\xe6\xfa\xef\x7a\xf9\x7d\xd3\x34\x17\x7e\x62\x17\x7d\xbf\x40\x5c\xdf\xbc\x72\x72\x0e\xda\xbf\x20\x54\xd5\xd8\xfe\x0f\x09\x5f\x35\xfd\x9e\xf1\xf8\x1a\x91\x7f\x0d\x95\x1c\x02\x38\x8c\x28\xbd\x3c\xc2\xd1\x08\xf5\x98\x36\x12\x3f\xf9\x7d\xe6\xa3\x2e\x64\xa8\x17\x84\xaf\x9e\xfb\xbd\x6e\x1e\x6e\xfe\xf8\x6d\xe8\x73\xbf\x57\x4c\xee\xcd\x0f\x35\x0f\xaf\x8d\x0f\x9d\xfb\x3d\x6f\xec\x1d\xff\x2e\x1b\x7f\xaf\x87\x7f\x5d\xcd\xe7\x7b\xbf\x0c\xe7\x7c\x69\x33\xe4\x73\x46\x85\xe3\x9b\x5e\x14\x67\xb9\x6f\x5f\xe7\x8d\x59\x71\x9c\x77\xf7\x6d\x9e\x37\x2e\xdc\x08\x39\x3d\xce\x95\xfe\x4d\x69\x69\xa9\xa9\x7f\xe0\xe3\x55\xf7\x94\x1c\x39\x7a\x4d\xe7\xb4\x0a\xa7\xef\xcb\x65\x1b\xe4\x45\x13\xe4\x3e\xe5\x6e\x84\xec\xda\xab\xa6\x67\x57\xfb\xbb\xd8\x2b\x76\xf6\x9c\x71\x7b\xf3\x6a\x7b\xa5\xee\x48\xec\x19\xbb\x53\xdc\x03\xd3\xdb\x8f\xea\x4a\x4b\xa6\x8a\xf2\xd0\x8b\x2c\x8f\x43\xb9\x38\x03\xf7\x92\xb6\x7d\x33\x72\xa0\x9b\xd6\x83\x37\xbb\xeb\x63\x9e\x05\x60\x2e\xf2\x58\x2d\xc3\x1c\x23\x3f\x8a\x6b\x50\x5e\x60\x8b\x65\x6e\x9e\xfb\x51\x91\x17\xff\x7f\x57\x4a\xdb\x22\x74\xe8\xda\xb9\xeb\xc8\xb5\xc6\xd7\x7b\xbf\xe5\x51\xc1\x82\xf2\x2d\x33\x73\xbf\xde\xff\xb2\x65\x80\xf2\x5f\x4a\x2c\x17\xc7\xed\x7e\xb9\xb5\x09\x80\x71\x34\x0e\xdd\x4e\x3c\xb8\xfd\xf8\xe9\xb6\x43\x4b\x52\x4f\x1e\xab\x12\xdd\xe3\xba\xff\xf3\x5f\xdb\xfa\x37\x77\xce\xcd\xff\x2e\x30\xac\x65\xd7\xff\x7b\x7b\x7b\xfb\x69\x0b\xbd\xce\x4b\x07\x57\xef\xdc\x16\xdb\x59\xb7\x1f\xff\x37\xba\xfd\x74\xdb\xe9\x8e\x38\xa1\x33\xe1\xe8\x21\xd7\x13\x14\xba\x27\x29\xf4\x78\x34\x1a\x0b\x42\x67\xd4\x7b\x65\x5f\x17\x6e\xd7\x39\xec\x5a\x1a\xbd\x6f\xc7\x67\x2f\xc8\x39\xee\xb6\xec\xf3\xd5\x93\xb9\xbf\x18\xe7\x10\xb0\xa1\x4a\x3d\x7a\x38\x56\xbb\x6f\x18\xc3\xc1\x9d\x38\xa7\xe0\xe5\x1e\x3d\xe9\xd0\x03\x20\x77\x94\x9e\xd0\x79\xc3\x18\x9a\xef\xcd\x39\xe8\x90\xe2\x86\x43\x4e\x60\x7b\x44\x4f\x56\xc6\x52\x87\xed\x75\x68\x7a\xac\xbe\xbe\xcf\xf3\xd7\xeb\x1c\x74\x4b\x0f\x55\x59\xe9\x49\xa3\xee\x68\xdb\xdf\xeb\x7a\x3b\xb9\xed\xa6\xb9\x13\xb9\xfb\x3e\xbd\xec\x8e\x95\x9f\xeb\x86\x1e\x0b\x0c\xc7\x82\x9e\x24\x73\x63\xe1\xcd\x9d\x1d\x1c\x40\x3f\xd7\x25\x22\x43\x79\xd2\xa1\x5f\x49\x8b\x4d\x57\xea\x34\x75\x35\xe9\x48\x3d\x41\xe9\x8e\x47\x1d\xee\x0d\xdc\x7b\xe6\xda\x9d\x83\x0e\xbb\x1d\xa5\x43\x75\xe4\x8a\x10\x5f\xdf\x59\xc3\xb5\x3c\x87\x1d\x51\xca\x78\xd0\x13\xde\x26\x27\x8e\xae\xec\x39\xe8\x80\x19\xaa\x3d\x41\xa1\x38\x85\x1b\x75\xd8\x57\x0e\xe2\xf0\x7e\x9d\x43\xf0\x93\xb7\xa1\xbe\xbf\x76\xe7\x08\xac\xdc\x93\x00\x47\xf7\x26\x12\x27\xd0\xdc\xa4\x33\x7c\x7d\x07\xa7\x17\x0e\x1c\x74\xc5\x76\x94\x9e\xd6\x99\x96\x54\x25\xbf\xae\x93\xc3\x2b\x7b\x9a\xc0\x57\x7a\x95\x95\xc6\xea\xe4\xf5\xe4\x74\xee\xde\x9e\xa6\x2e\xdf\x6b\x06\xcf\xde\xee\x73\xd0\xe9\xa0\x37\x05\x1d\x75\xa8\x74\x05\x59\x56\x19\x86\xd3\x5f\xd7\xd9\xc9\xfd\x3d\x8d\x9d\x4c\xa4\xde\x9b\x7b\x28\xf7\x80\x0e\xc0\x8f\xba\x23\x46\x1a\x0b\x4a\x4f\xe8\xaa\xd2\xf0\x75\xe0\x0f\x6f\xfd\x39\x02\x2f\x77\x7b\x02\xe0\xa4\xb1\x30\xea\xbd\x56\x0f\x1c\xdd\x08\x74\xd0\xc1\x64\x2c\x29\x9d\x61\x87\xa6\x7b\xb2\x5c\x10\x1a\xd7\x7d\x25\x41\x37\x5d\x3c\xd3\xd0\xd5\xdb\x78\xff\xf0\x4e\x9a\x06\xf0\xbd\x61\x0f\x74\x94\x5e\xf7\x3d\xc6\x72\x7c\x6d\xcd\x41\x77\xd2\x84\xe9\x75\x14\x64\xf5\xbc\xae\x8b\xfd\x6d\x36\x47\x60\xdf\x20\x74\xb7\x37\xd8\x1c\x01\x7c\xab\xb1\x52\xbf\xda\xe6\x04\xf4\x1b\x4d\x94\x83\x4b\x6f\x1a\x80\xbf\x83\x61\xd2\x70\x29\x4e\x43\x47\x6f\x34\x47\x8e\x2e\xcc\x39\xea\xe0\x7d\x8c\x90\xd3\xfb\x74\x9a\x9d\xa5\x0e\xa5\x0a\xdd\x61\xef\x7f\x10\x98\x46\xdf\x67\x7b\x13\xe8\x6d\xd1\xb8\xee\xed\x9c\x6d\x79\x70\x83\x68\xad\xdd\xa8\x3b\x2a\xc9\xf5\xf6\xf6\x8b\xe7\x46\xee\xd2\x0c\x9d\xf0\x9f\xa1\x89\x8c\xa5\x7f\x13\x18\x81\x63\x24\xd6\xfe\x8c\x6f\x6b\x0f\xc7\x74\x47\x79\xd1\x3a\x9e\xcb\xb6\xa8\x0d\x5b\x56\x29\x99\x96\xb8\x09\x02\xfc\x12\xa9\x52\xbf\x1f\xe7\x97\x8f\x9f\xeb\xff\xe4\x9c\xfa\xea\xbd\x5e\x0b\x1f\x63\x1f\x99\xa1\x5b\x83\x8c\xfe\x73\xec\x5e\xd3\x11\xc4\x2d\xb9\x93\xbb\x32\x85\xdb\xac\x34\x77\x58\xd5\x1b\xea\x9e\x07\x30\x66\x64\x6a\x6d\xdc\xed\x31\x91\xa1\xb5\x31\xda\x4b\x32\x27\x04\xf7\x0e\x0b\x16\x06\xdd\xc9\x2d\xba\x93\x0a\x4a\x07\x4a\x90\x67\x24\xb9\xb3\x34\x58\x40\x0c\x5b\xfc\xd2\x6a\x49\x84\xb1\x26\xd7\x16\x41\x62\x56\x7f\x3a\x70\x59\x63\xa3\x13\xce\xda\x6a\x39\xa1\xbd\xee\x2c\x9b\xe0\x8c\x94\xce\x8a\x57\x0d\x59\x52\x55\x6f\x48\x48\xd0\xf1\xcb\xf6\x4e\x68\x2f\x9d\x90\x59\x37\xc1\x41\xdf\x69\x2f\x7e\xe4\x58\x86\xb0\x08\x18\x70\x34\x0f\xed\x88\x5f\xda\x8f\xb1\x67\xb0\x1c\xce\xb1\x60\x6d\x87\xe4\x7a\x40\x63\x9b\x51\x37\x20\xc6\x72\xe0\x19\x11\xbf\xb4\x64\x2a\x98\x86\x60\xe1\xf8\xd8\x7f\x5b\x2d\x0a\x5a\x8f\xb1\x27\x06\x12\x3d\xea\x76\xda\x23\x99\xea\x89\x90\xd4\x24\xc0\x2b\xb2\x4a\x8e\x75\x0c\xe7\x55\x0c\xa7\x40\x4f\xe0\xc6\x3e\xd5\x9b\xea\xd2\x7c\x1a\x32\x1b\x43\xa6\xa0\x15\x19\x89\x1d\x92\x0b\x4b\x03\x0b\x87\xa6\x08\x43\xe7\x37\xa6\x46\x2e\x38\x16\x4f\x6c\x02\x9f\x3b\xac\x10\x73\x5e\xb2\x46\x73\x6b\xf8\x25\xbe\x43\xe2\x29\x99\xfa\xe4\xda\x66\xb1\xa5\x8e\x93\xc1\xd4\x8f\x07\x74\xc4\xaf\x50\x9d\xa1\x06\x73\x9b\x25\xd7\x0e\x4d\xc5\x4e\x5f\x5a\xd9\x9b\x78\x39\x24\xa4\x6c\x18\x1a\xd0\x60\xc9\xf5\x54\xa7\xd6\x16\x91\xc0\x69\x4b\x5c\x58\x2d\x3e\x1a\xb6\x28\x7c\xea\x93\xd0\x66\x41\x36\xc4\x79\x51\x91\xf1\xbe\xda\xb3\x73\x19\x03\xc6\x50\x05\xa2\xa4\xae\x72\x61\x95\xa0\xbe\xbc\xa1\x8c\x27\x96\x4e\x2d\xed\x48\xf4\xcc\xbe\x84\xd9\xfd\xd1\xd7\xe1\x9a\x5c\x4d\x35\x21\x9d\x6a\x0e\xb4\xd7\xed\xdc\xd4\x84\xb5\xd5\x12\x96\x46\x24\x2e\xa6\x04\x99\x0f\x89\x1c\xba\xfa\x68\x69\x69\xf0\xd1\x0e\xc9\x8d\x45\x18\xd8\x30\x64\x36\xd3\x55\x3c\x30\x42\x72\xcd\xb1\x0c\xe6\xb0\x20\xb7\xfb\xa2\x67\x6a\xf7\x9e\xbb\xe9\x2d\x86\x8f\x80\x1c\xaf\xa9\xc0\x5a\xc5\x1e\xd7\xdf\xd1\x55\x62\x45\x02\x36\xd5\x9e\x32\x8e\x9d\x63\x4e\x9f\xda\x8c\xfd\x87\xa5\xc1\xae\x16\x46\x08\x02\xab\xc5\xcf\xed\x3e\xbf\x34\x43\xf0\xe8\xd0\xed\xa5\x1d\xda\x4b\xbb\x0f\xfc\x21\x01\x56\x86\xb6\x5a\x1a\x3a\x05\x2d\x1a\x5f\x1b\xda\x13\x9c\xea\x02\x1c\x6a\x4f\x73\x87\x05\x1b\x87\xc6\x5a\xc3\xb0\xbd\x9c\xea\xfc\xa3\x49\xb7\x8b\x71\xf2\xfe\xd4\x9b\x46\x3c\x9c\x6a\xd9\x80\xa3\xa9\xc4\xf0\x29\x4b\x5b\x77\x02\x97\xa8\x70\x95\x48\x8e\xc6\x33\x87\xee\xe0\x1c\x83\x3b\xe3\x35\x85\x99\x2c\x58\x70\x7d\x21\x33\x34\xb0\xe2\xba\xbd\xd5\x78\x4d\x41\xab\x2f\x40\x8e\x05\xf7\xa6\x2e\x7a\x23\x25\xf3\x8c\x30\x18\x18\x2c\xb9\x30\xc4\x78\x30\x25\x18\x8c\xeb\xde\x2f\x0d\x5d\x7a\x1c\xb6\xd0\x18\xdb\x6b\x03\xcd\xed\xba\x1d\x0c\x09\xe6\xab\xa3\xf3\x70\x18\xf1\xd0\x66\x1f\xbc\x49\x77\x15\x49\x2a\xc9\xf2\xab\xc4\x9a\xea\x09\x6e\x87\x6a\x3e\x25\x9e\x12\x5d\x4c\x16\x53\x0d\x87\x13\x6d\x5b\x5f\x13\x32\x53\x4c\x7c\x34\x3e\x47\xe7\xb3\x89\xb6\x9f\x27\x9b\x65\x1e\x4d\x82\x89\x0c\x7d\xb4\x38\x5c\x0b\x61\x69\xc9\x64\xdb\xd1\xf0\x6d\xff\xe4\xdc\x8d\xc0\xda\x90\xf1\x47\x8b\x0d\x06\x86\xd6\x9e\x4f\xc3\x27\x68\x74\xf1\xb6\xa1\x8f\x06\x46\x8b\x8a\xa6\xc4\x1c\x4e\x89\x8c\x74\x35\xb0\xa1\xbd\x0a\x27\xf0\x68\xb5\x78\x78\x8c\xd3\x94\x20\xd7\xc6\x7b\xe1\xa4\x09\x4b\x3b\x54\x2f\xe2\x64\x85\x0f\x03\x34\x57\xb4\x97\x6c\x0c\x0d\x9f\x5b\x21\x13\x19\x32\x15\x4e\x09\x72\xe1\xb0\xe0\xde\xa1\x3b\xf9\x54\xee\xe4\x88\xd7\xa6\x3a\x3f\xb3\x58\x32\xd2\x5b\xa2\xc7\xf9\x24\x31\xd5\xb9\x25\xfa\xf7\x90\x48\x96\x8e\xce\x2f\xa6\xda\x2a\x1e\xae\xef\x7f\x1b\x28\x0f\x3e\x1d\xe2\xa9\xc1\xc2\x35\x47\xe3\x2b\x8e\x6e\xac\x3b\xa0\x43\x63\x69\xfb\xd4\xdc\xe9\x4b\xd0\xd2\x29\x8c\x63\xe1\x82\xeb\x67\x4f\x43\xff\x1e\x9f\xa1\xf5\x67\x1f\x06\xae\x0e\x72\x8e\xc6\xf2\x6a\x0c\x76\x08\x56\xd6\x06\x5f\x9b\x7d\x90\x0c\x75\x3e\x36\xb4\x55\x2e\xac\xf1\x8d\xa1\xf3\x84\xa1\x73\xb9\x1d\xce\x71\x53\xc6\x97\x76\x5f\x4a\x2c\xa2\x3d\x47\x34\x6c\xb3\xf8\x86\xa3\xf1\x36\x82\x6f\xb7\xa4\xb9\xc5\xae\xbc\xa9\x8e\xc6\x3b\x42\x74\x31\xb7\x34\x86\xe0\x58\xe6\xab\x4d\x80\xc7\xa1\x86\x2f\xad\x10\x62\x56\x8b\xf3\xea\xb4\x83\xca\x4b\x9a\xc1\x03\x9b\x10\x77\x65\xa8\x8d\xa3\xf3\x89\xd3\x0f\x3c\x83\x25\x1f\x4d\x02\xac\x39\x96\x5c\x19\x5a\x7b\x63\x13\xab\xdc\x66\xc1\xda\xa2\x3b\x21\xef\x53\xbe\x1d\x82\xb9\x89\x78\x94\x85\x21\xc7\xe4\x16\x47\x4b\xdf\xa6\xba\x84\x19\x1a\xbe\x72\xfa\x98\x37\xd4\x9e\x30\xae\xab\x7a\x3a\xc0\xbe\x71\x7d\x29\x36\xb4\x7b\xcf\x26\x9e\xa0\xa1\x77\xbc\x91\xd2\xf9\xc6\xb1\x20\xb3\x09\xd5\x33\xf4\x79\xe2\xd0\x9d\xa7\xf1\x9a\x0a\x4d\x31\x09\x2c\xa2\x0d\x69\x6f\x2b\x73\x34\xd5\xe3\xe9\x79\xf9\xb7\xce\xcc\xb9\xfe\xca\x33\x5a\x3c\xb4\x69\xca\x9d\x6a\xfc\xda\xa1\xb1\x84\x0e\x85\xb9\x43\x77\xfe\x7b\x48\x00\x6c\xba\x26\x37\xae\x2e\x3c\x3a\x48\x2e\xd0\x0f\xab\x91\x8c\x07\xa6\x2e\x14\x73\x3d\x2c\xe9\x07\xc9\xa5\x85\xe1\x77\x1e\x26\xb4\xc3\x28\xd8\x34\xa2\xc3\x1c\xda\x61\x1b\x5a\x74\xbb\xa4\xe1\x56\xb9\x86\x76\x78\xef\x4d\x64\xea\x61\x48\xf0\x89\xe5\x93\x98\x1d\x01\x48\x07\x60\x22\x79\x49\xd5\x07\x92\x89\xe8\x6f\xcc\xd0\x30\xb4\xfe\x89\x1d\x82\x16\x92\x51\x43\x4d\xc8\x91\x5e\x1a\x6a\x4c\x60\xd0\xf8\xca\x6a\xf1\xd8\x44\x11\xb1\xd1\x9a\xc4\xa6\xad\x0e\x6a\xb7\x32\x74\x3e\x9f\x6a\x6d\x68\x45\xe2\xc0\x08\xe1\xda\xd0\x1d\xb4\x96\xf9\x94\xc0\x03\x44\x23\x53\x4d\x0a\x86\xa5\xbc\x25\x85\xae\x88\x0d\x5b\xd2\xa3\x8d\x60\xea\x14\xb4\x43\x44\xdb\x60\xe1\x74\x92\xd0\xd4\x79\xe8\x10\x4c\x66\xd1\xf8\xa3\xa5\x89\x08\xf6\xdc\x60\xc5\x52\x0f\x74\x31\x4c\xe8\xaa\x4b\x87\x15\x56\x08\x66\xb1\x7e\x1a\xb3\x28\x74\xf1\xb3\xf8\x72\xeb\xd1\x23\xd7\xdc\xd6\x4b\xa0\xdb\x2f\x75\x81\x08\x12\xa0\x06\x60\x26\x62\x4f\x13\xa0\x4a\x33\x25\x60\x04\x49\xc1\x82\xed\xf7\xae\xd2\x23\x81\xd4\x6b\x53\x8a\xaa\x0e\xe8\x90\xf9\xca\xb1\x4f\x4b\x83\x80\x0b\x8e\xc6\x93\x72\x9c\x4f\x99\xd5\xb2\x73\x2b\x7c\xc8\xed\x16\xf0\x6d\x42\x58\x9b\x3a\x85\x21\x3d\x68\xaf\xe2\x81\xdd\x82\x1b\x24\x77\xa7\x2d\x29\xe3\xfa\x02\x36\xd5\x79\x8c\x63\xa5\xe5\x94\xc8\xa1\xed\xb7\x0b\x5e\x31\x35\x01\x96\xb0\x99\x47\xdb\xa7\x32\x8b\x70\x12\xcb\x47\xe3\x69\xcf\x2d\x4d\xf5\x38\x5f\x8c\x6d\x02\x04\x1c\x8d\x43\x8e\x76\x36\x33\xfa\xfe\xb7\x61\xeb\xe9\x81\x5f\x77\x1e\x26\xdd\x95\xcf\xf7\x98\xae\x0a\x79\x46\xc5\x48\xa0\x06\x02\x23\xab\xa2\x3f\x90\xb9\x01\x1d\xe0\x3d\x45\x85\x82\xa8\x3a\xcc\x44\xe6\x02\x17\xe7\x45\x59\xc5\x29\x09\x53\x21\x2f\x3f\xfc\x36\x93\x1f\x02\x17\xdb\xd7\xe1\xd6\xa3\xdf\x86\x2d\xcc\xa7\xc3\x0a\x3f\x6a\xe5\x20\x9d\x45\x73\x81\xa2\x4a\xc2\xb6\x6d\x63\xb9\x0a\x29\x5e\x51\x99\xbe\x24\x73\x83\x1d\xef\xf5\x29\x1c\xf1\x37\xe7\x4b\xac\xc2\x00\x46\x81\x12\x2d\x03\x69\x57\x6f\x3f\x9f\x24\xee\x74\xe2\x81\xa5\xe5\x81\xa9\x73\xde\x50\xef\x78\x5b\x7e\x08\xad\x3e\x80\x56\x24\xf9\xa6\x2e\x2e\x9b\xe5\x18\xf4\x87\x84\x91\x39\xc8\x06\xe9\x1c\xe9\xa6\xea\x3b\xcb\x27\x0e\x7d\x00\xeb\x94\x8f\x60\xce\x2b\x90\x02\x80\xc1\x06\xb4\x5a\xce\x7b\xb5\x76\x46\x27\xe6\x01\xcb\x44\x1c\x5b\xc9\xcb\xa7\x80\xf6\xa0\x52\xf2\x0e\x1e\xe8\x98\x91\x58\x88\xe7\x7c\x6a\x26\x62\xa4\xa0\x28\xf8\xdc\x0e\x1f\x06\x34\xcc\x59\x59\x7d\x52\x25\xc0\x3b\xb4\x07\xc7\x48\xb7\x70\x2c\xbe\x34\x58\x18\xba\x62\xcc\x2b\x1a\x83\x4d\x09\xcf\x33\x43\x12\xb7\xc3\xf6\xdc\x62\xc5\x01\x0d\x78\x68\x69\x24\x61\x00\xb2\x65\x6a\x4f\xc1\x94\x60\xd6\x06\x4d\xcd\x68\x0f\xca\x86\x86\x2f\x9d\x50\xf5\x40\x0f\x0a\x12\x10\x54\x51\xc5\x45\xa4\xc3\xa4\x00\x8e\x40\x0f\xc8\x3a\x82\x19\x32\xb9\x21\x53\x88\x1f\xd7\xa6\x2e\x41\xbd\x25\xcd\x8d\xd5\xd9\xbe\x70\x8b\x55\x3d\xbe\xf7\x34\x91\xb0\x9c\x57\x02\x64\xc7\x18\xf7\x53\x1d\x04\x48\xef\xd7\xff\x36\x42\x06\xc9\x3b\x34\xa6\x09\x00\x92\x08\x80\x54\x1b\x93\xb1\xb4\x23\x67\x6e\x87\xe2\x80\x56\xb7\x76\x1f\x1d\x0f\x68\x50\xf2\xd8\xe8\x31\x58\x8f\x36\x9d\x4a\xb7\xc1\x29\x31\x5f\x72\x34\x7f\x4a\x13\x0a\x16\x48\xc1\x13\x90\xd4\xb6\x2a\x06\x50\xad\xe8\x6d\x6f\x6b\x08\x6d\x9b\x10\x96\x56\x68\x24\xc6\x21\x6d\x0c\x1a\xe4\x68\xb1\x36\x45\x9b\x96\x04\x2d\xf9\x70\xfd\x6d\x02\xac\x9d\x10\x3e\x1a\xf2\x01\x0d\x00\xa4\x6f\x74\x31\xa1\x8c\x48\x82\xf6\x23\x1e\x58\x84\x90\x1a\x3a\xb7\xaf\x2f\x26\xb2\xa1\x33\x38\x92\x5b\xf6\xa6\xb1\x5c\x71\x58\x66\xed\xf4\x9e\x12\x4b\x83\x98\xac\xb5\x31\xc4\xe3\x53\xed\x49\x31\xb4\x11\x39\xea\xc4\x03\x0d\x17\xa0\x1d\x19\xc9\x94\x00\x0e\x0d\x79\x88\xf4\xa0\x1d\x49\x65\xb9\x3e\x1a\x48\x5a\x9b\x30\x75\x7e\x69\x85\x38\xc2\x97\x35\xb5\x27\x38\x91\x49\xe8\xb0\xa3\x25\xa2\xc9\x82\x76\x43\x18\x1d\xd0\x77\x27\x61\x5c\x16\x3c\xaa\x25\x2c\xd1\x0e\x55\x72\x28\x93\xb8\xdd\xe2\x96\xd3\x10\x2e\x86\xc4\x8e\x67\x2b\x7b\x1c\x2a\x5e\xbd\x8d\x48\x0e\x5b\x60\x63\xfb\xa4\x6f\x6a\xf7\xcb\x3d\x0f\xf3\xb8\xe5\x53\x36\xed\x17\x72\x7f\x63\x68\x02\x6e\x87\x10\x73\x0b\xbd\x2e\x7a\x16\xcb\xf8\x86\xb6\x22\x0d\x16\x6e\xa6\x1a\x9f\x19\xf2\xae\x2e\xc2\x7d\xed\xea\xd4\xd2\xd4\xda\x18\x47\x93\xa8\xfe\xd2\x61\xc5\x1c\xd9\xdb\x56\x24\xe6\xd3\x10\x62\x95\x7e\x32\x68\x7c\x6e\x10\xc8\x8f\xc0\xd1\xfa\x78\x7a\x27\xf6\x90\x7c\xb5\x42\x80\x4d\xb4\xf9\xd2\x6e\xed\xbf\x99\x2c\xb9\x71\xd8\x92\x47\x79\xd5\xab\xd5\x45\xb4\xdf\x81\xca\x1e\xdf\xb5\x55\xe1\xa3\x4f\x1b\x65\x8a\x11\x3e\xe1\x48\x27\x14\xb8\x20\xdb\x2d\x9c\x7e\xbd\xb2\xde\xb6\x5f\x9c\x68\x94\x45\xdd\xb8\xee\xef\x6c\x61\x89\x5f\x5d\xbf\x86\x4f\xcb\x98\xdb\x3e\x99\x59\x84\xbd\xdc\xf1\xe5\xbe\xdd\xd2\x58\x93\xbf\x59\x2d\xb0\xb6\x42\x26\x1b\x47\xfc\x92\x63\x56\x03\x8e\xee\xe4\x8e\xdf\x59\xda\x11\x58\x9c\xd4\xf1\xc9\xb5\xa3\xdd\x1f\xdb\x76\x5f\xed\xf0\xa1\x8e\x6b\x41\x47\x96\xc6\x3c\x9a\x2c\x5c\x18\x32\x9e\x18\xdd\x78\x2b\x2f\xf1\xf9\x94\x98\x27\x56\xa8\xe6\xa6\x26\xd6\xda\x35\xc9\xef\xed\x38\xb4\xd1\xb5\xf3\x3a\xa0\x03\x70\x6f\x68\x82\xe2\xb0\xe4\x6a\xd2\x4c\x9b\x1b\x54\xc6\xd1\x60\xbc\xe7\x0b\x91\x9c\x6a\x4f\xad\xa9\x0e\x37\xc7\xbc\x22\x9c\xe5\xb5\x55\xc9\x67\x58\x65\x63\x3e\x39\x34\x74\xe6\x56\x24\x41\xa3\xc7\xb7\x27\x1a\x8e\x5b\x7d\x29\x19\xea\x60\x83\x78\x17\xc1\x30\x08\x80\x95\xf6\x51\x4d\x0f\x95\xe3\x42\xb2\x3c\xb7\xa3\xce\xa0\xf0\x7b\x95\x29\xc6\xd1\x78\xc0\x75\x57\x0f\x13\x9a\x0b\xc4\x42\x2f\xb6\x29\xb5\x07\xbb\xa2\xca\x03\x25\x90\x46\x92\xcc\x79\x13\xbf\x9c\xe7\xa9\xce\x2f\x87\x3a\xbf\x1a\x12\x4c\x60\x69\x70\x31\xd4\x84\xf9\x50\xe3\x71\x2b\x94\x32\x43\x6e\xaf\x90\xed\x65\x6a\x53\x4f\xc3\x33\x6f\xa8\xdd\x23\x5d\x49\xa9\x01\x7e\x02\xaf\x66\x87\x22\xbf\xae\xf0\x49\x84\x47\xd1\x1b\x6a\x22\xf2\xb1\x1e\xce\xb5\x6b\xc0\x63\x6d\xc9\xf8\xe3\x54\xc6\x7d\x47\x6b\x07\x16\xab\x2e\x6c\x16\xe4\xc8\x9e\xa2\x43\x21\xb6\x5a\x0e\xb2\x6d\x64\xe4\x07\x8e\xba\x9d\xaf\x23\xa5\xb3\x1a\xd1\x9d\x2d\x7d\x30\x6b\x6b\x8d\xaf\xed\x63\x3d\x7b\x28\x97\x73\x83\xc5\xbc\x49\xf7\x09\xc9\xd4\x01\xb2\x1b\x24\xc8\x4f\x14\x28\x31\x4a\x20\x01\x35\x58\x91\xfc\x5a\x12\xa4\x1e\xce\xaa\x01\x39\x06\x3d\x30\x96\x18\x20\x2b\xb4\x3d\xa8\xd9\x18\x55\x9d\x2d\xad\x95\x65\x95\x7d\x23\xa9\x6d\x4d\x06\xfc\x44\x09\x70\x46\x81\x22\xaa\x3b\x52\x30\x81\x02\x3d\x38\x51\xfc\xc3\xba\x6a\x40\x8e\x24\x05\xe1\x9c\x20\x78\x8a\x82\x03\x59\xc4\x80\xac\x60\x4f\x8c\xac\xb6\x15\xd0\x63\xc6\x62\xd1\x9f\x18\xd7\xe4\x4a\xc2\xaf\x92\x02\xff\xbd\xcd\x51\xf2\xb8\xa1\x4b\xad\x2b\x74\x0d\x9a\x83\xef\xa8\x63\x8e\x74\x48\x00\x16\x4e\x08\xd7\x16\xd1\x46\xbe\x19\x26\x85\x30\x33\x14\xec\xdc\xda\x0c\x24\x7d\x0e\xa7\x78\x69\x8b\xaa\x7d\x1e\x4e\x64\x6c\xe9\xe8\xc2\x7a\x2b\x8b\xab\xfe\x3c\x3b\x44\x3e\xcc\xd4\xe3\xd5\xfb\x83\x36\x67\x78\x17\xc9\x9e\x9d\x2c\x46\x78\xd8\x11\x5c\x59\x04\x5c\x38\x74\xa7\x84\xdf\x12\x0a\xdd\xa2\x68\x00\xb3\x43\xf8\x68\x63\x65\x0c\xcc\x26\xe0\xb2\xa6\x63\x62\xab\x25\x60\x95\x2c\x97\xe9\xdd\xf7\xc2\x37\x47\xb2\xa1\x92\x83\x43\x9d\xcf\xab\xbf\x2d\xb9\xb3\x36\xd6\x27\xb2\xbe\x5c\x07\x16\xe4\x63\xbf\x92\x7b\x52\x3e\x8c\x28\x78\xa0\x17\x4a\x39\x0c\x9d\xbe\xfd\xb5\xfe\x77\x25\xab\xf9\x5e\xcd\x46\xde\xf6\x27\xa2\xb5\xe8\x19\x09\xb2\x9f\x8e\xfb\xaa\xea\x48\x11\xbf\xb4\x22\x89\xb1\x42\x09\xd8\xe1\x6a\x0b\xc7\x90\x15\xac\xad\x4a\x6a\xbb\x07\x00\x3f\xaa\xea\x2a\x2c\x19\x19\x48\xdf\xf6\x84\xa5\x15\x09\x4b\x04\x77\x2b\xb3\x47\x16\xe1\x8c\x0c\xdd\x80\x16\x4d\xe9\x53\x9d\x5f\x98\x5a\x3b\xaa\xda\xa9\x7d\x3e\x71\x42\x06\x33\xd4\x1c\xba\xea\x65\x7c\x54\x02\xe9\x18\x01\x1e\xda\x17\x62\x89\x17\x10\x26\x00\xf0\x5d\x49\x05\x63\x10\x40\x84\xa3\x80\xec\xb0\xe3\xb6\x6a\x48\x66\x86\xdc\x09\x4e\x78\xac\x9a\x4f\x20\x20\xbd\xf3\x68\x00\x7e\x69\xb1\x80\x2f\xe3\x5e\xed\xc7\xc6\x36\x2a\x1c\xab\xb8\x44\x29\x81\xc0\xbc\xb7\x6e\x18\x7d\x27\xdd\x70\x41\xee\x55\x7a\x62\x27\xfb\x44\x55\x90\x75\x7c\xef\x97\xe9\x18\xec\x4d\x64\x3b\x40\xdf\xd5\x00\x54\xb2\x88\x97\x68\x7b\xb0\xd5\x23\x33\x11\x50\xbc\x8e\x09\x23\x19\xad\x03\x43\x76\x25\xc0\xab\x3a\x26\x4c\x14\x15\x9f\x28\x90\x1c\x8b\x2a\xce\x94\x30\xf6\x7a\x47\xe9\x41\xa4\x9b\x8b\xba\x85\xff\xa1\x92\xe3\xc2\x8f\x95\xed\x81\x08\x78\x41\xc7\x18\x51\x06\x64\x55\x6f\x86\xe4\x1f\x82\xad\x60\xb8\xa0\x60\xed\xca\xe7\x8d\xf8\x1e\x23\x2b\x2a\x23\xca\xea\xb6\xff\x9e\xc0\xa8\x50\xaa\xea\x15\x7d\xf3\xab\x84\xd2\x20\x90\x25\x40\x22\x7d\x83\xfc\x66\x1e\xd1\xc9\x6e\x6c\x80\x17\xaa\x6f\xb2\x2a\x46\x74\xc0\x98\x00\xf0\x8c\x8e\x19\x62\x6d\x5c\xbc\xd4\x45\xfd\x19\xe2\xd9\xba\x38\xea\xdb\xe0\x45\x0c\xcc\x54\x86\xe7\x95\x40\xe0\xd5\x1e\x33\xaa\xfa\x91\x20\xa5\x48\x80\xd7\x64\x55\x60\xea\xe5\x25\x1c\x9e\x57\x7a\x4f\xbc\x12\x38\x33\x49\xe1\x19\x1d\x17\x54\x05\xe7\x29\x09\x03\x33\x51\x15\xba\x0a\x5e\xc7\x61\x57\x97\x19\x05\x40\x01\x3d\x52\x46\x7c\xbe\xab\xd7\x83\x3d\x7e\x95\x74\x15\x06\x95\x01\x59\xc7\xf0\x9e\x8a\x49\x7b\x38\x05\x0c\x61\x04\x80\x80\xfc\x3c\x41\x62\x84\xde\xae\x0c\xad\x2b\xf6\x04\x54\x5c\x62\x54\x48\x16\x65\xc5\x5a\x06\x06\x2f\xe1\xfb\x18\x7b\x31\x6f\x55\xbd\xa0\x80\xdf\x55\xb0\x36\x2b\xab\xce\xae\x4e\x13\x0e\xc5\xba\x01\x41\x14\x55\x81\x69\x80\x51\xac\x97\x8a\x53\x94\x88\xa9\x11\x1d\x48\x14\xe8\x31\xb4\x08\x10\x1d\x32\x5d\x11\x23\x01\xa2\x85\xfd\xda\xef\xcb\xf7\x63\x2f\xe2\x1e\xa8\xed\x44\x51\x19\xbe\x4e\x7f\x4a\x8f\xec\x8a\xc8\x16\xc4\xee\x17\xb5\xf1\x8b\x22\xe0\x11\x8d\xf5\x14\x0c\xa7\x64\x75\x47\x33\x7d\x11\x48\x0c\xc0\x18\x43\xc7\x2a\x58\x23\xa4\xb7\x77\xdf\xa5\x1e\x29\x88\x48\x1e\xac\xed\x81\x84\x31\xaa\x04\x1c\x4a\x03\xa4\x2c\xed\xe4\x92\x23\x2b\x38\x10\x8b\xb5\xdf\x95\xef\x79\x4b\xc2\xf9\x09\x00\x54\xd5\xdf\x50\x02\x50\x13\x01\x18\x01\x86\x14\xd5\x00\xb0\x32\xf0\x50\x7f\xb5\xef\x94\x2c\xa9\x06\xaf\x6d\xed\x8e\xfd\x9c\x14\xf6\x84\xac\x16\xb2\x7a\xf7\x2d\x2a\x62\x29\x80\xac\xcf\x29\xa9\xc2\x0e\x6a\xab\x48\x0c\xc9\x28\xd0\xe0\x91\x3d\xa3\xa8\x15\x4d\x14\x6b\x70\xf8\x9d\xb6\x07\x2a\xa4\x66\x52\x00\x28\xc0\x20\x1e\x1a\x6d\xfb\x32\x18\x11\x20\xdb\x08\x28\xfc\x2a\x91\xd5\x5e\x15\xb3\xb1\x6b\x71\x15\xbb\xf2\x9f\x1f\xa7\xba\xb8\xb3\xeb\x76\x31\x0a\xba\xb2\x43\xb0\xbd\xad\x17\x55\x36\x82\x7a\x10\x87\x07\x5a\x3b\x71\x18\x6c\x20\x6a\x06\x66\xe8\x1c\x59\xf9\x7a\xb5\xfa\x03\x35\x04\x4f\x8e\x06\xd7\x86\x3e\x6a\x2c\xa7\x61\xae\x54\xb1\x2b\x5d\x4c\x98\x83\xbd\xa0\x52\x2f\x92\xf5\x98\xa6\x45\xb4\x43\x53\xb3\x77\xb8\xed\xe5\x3d\xb3\x76\x18\x6a\x6d\x28\x58\x7e\xc6\xff\xcc\x39\x1a\x0f\x0b\xb9\x5f\x6f\xd3\x3d\x63\xb3\x44\x60\xb1\xb3\x0f\x0a\xbf\x51\xaa\xec\x06\x6e\xff\xbd\xf2\x1d\xf7\xf6\x0a\xb2\x75\xb6\xfa\x16\x72\x45\x3c\xad\x46\x7b\x80\xe4\xa5\xca\x0e\xd1\x54\xef\x25\xb2\xba\xea\xd3\x90\xa9\x52\x5e\xbe\xb0\xcd\x39\x59\xdb\x50\x87\x55\x99\xbd\x8c\x97\x55\xb1\x36\x9e\x2b\xe5\x61\x7d\x8c\x27\x72\x6b\xc7\x0b\x35\xb8\x3b\xbe\x9f\x6d\xf9\xa0\x92\x5b\x33\x10\x00\x59\xc5\x90\x3d\x7e\x09\x26\x92\x2f\x40\x51\x7b\x4c\x77\xef\x4f\xaa\x9e\xd4\x63\x54\x51\xe5\x29\xf5\x10\xbf\xe3\xb9\xa9\x64\x4c\x29\xc3\xea\xed\xf7\xf2\xa3\xaa\xa3\xd4\xda\xed\x65\x11\x7e\x2c\x3f\x3a\xb5\xb1\xe5\x8c\x06\x0c\x0a\xa8\x4f\xaa\x8e\x57\xb2\x62\xdf\xc7\x91\xcc\xa8\xb5\x3b\x91\x13\x07\x65\x48\x6e\x1f\xf9\x2f\xfb\x72\x86\x17\x75\x6c\x2f\x0b\x9a\x6d\xdb\x8e\x27\x74\xc5\xcd\xf8\xd1\xc3\x84\xee\xe8\xc4\xaf\xaf\xf8\x6b\x7c\xe4\xf7\x9d\xc4\x0e\x2a\x5f\x45\x13\x0f\x62\x0f\x67\xcb\xe8\x17\xd8\xcb\xcc\x2e\xce\x5c\xe2\xd7\xaf\xf3\xfb\x73\xf6\x1d\x8e\x71\xdd\x11\x31\xea\x76\x0a\xbf\x03\xb0\x30\x37\x34\x12\x77\x18\x01\xb3\x5a\x54\x69\xdb\x6d\xa6\xab\x51\x07\xf9\x48\x5b\x7f\x44\x63\x32\x87\x60\xda\xf6\x6a\xff\x4d\x25\xc0\xe3\x44\xe9\x0d\xb6\xf1\xb0\x91\xa9\xe1\x89\xd3\x83\x0b\x87\x45\x3e\x14\x93\x4d\x94\x0e\x92\x61\x7c\xb5\x2f\xab\x8b\x89\x3e\x45\x36\xa2\x26\xd1\xae\x82\xe7\x8e\xf6\x84\x99\x32\x8e\xdb\x85\xdc\x93\xe6\x76\xe8\x40\xa7\x53\xf9\x84\xa7\x7b\x36\x07\xf2\x4d\x93\x7c\x87\x25\x53\x43\xbb\xdf\xd9\x82\x97\x68\xba\xd0\x69\xfb\x72\x4a\xc4\x84\x09\x50\xdb\xea\xde\x86\x2b\xf7\x28\xa4\x1e\xaf\x2a\x58\xce\x28\xf0\x80\xcf\x91\x0e\xe9\x89\x50\x9a\xc8\x18\x18\x37\xdb\x53\x0e\x05\x7a\x40\x17\x01\x9c\xa9\xc8\xf6\x0b\x20\x92\x69\xa2\x1a\xc0\xb1\x88\x41\x51\x54\x9f\x2a\x38\x3b\xde\xd8\xd7\xa3\x64\x59\x6d\x77\x65\x40\x51\x4a\x69\x0b\xfd\x2e\xba\x15\x8d\xd5\x22\x72\x68\x79\xef\xa4\x0f\xf7\x6b\xf2\x23\xfa\xe5\x85\xef\x60\xb0\x3c\xb6\x1d\xf3\xef\x11\xcb\x7d\x95\x9f\x5d\xd3\x37\x35\x39\x7a\xde\x56\xaf\xcb\x6b\x11\x48\x94\x18\x30\x0a\xd2\x67\x15\x8d\x97\x3a\xa0\x2e\x23\x2b\x9a\x95\x68\xd0\x23\x87\x12\xd2\xb3\xcd\x7a\xaf\x89\x0e\x8f\xe5\xf0\xae\x9f\x5a\x3b\x41\xea\xe1\x07\xb6\xf3\x05\x39\x8b\x97\x72\x56\xad\xcb\xd9\x22\xc6\x5a\xa3\xb3\x93\xf8\x6b\x53\x59\x5d\xfe\x96\xf1\x5d\x80\x39\x9b\xb8\xf6\x77\xf2\x75\x5b\xa7\x46\xe3\x25\x2e\x0d\x74\xb1\xb4\xcf\xd9\x3f\xa8\x0c\xf5\x43\x77\x36\xc2\x63\x67\xeb\x2f\x4b\x89\xa5\x81\xa5\xa3\x4b\x85\xfc\x2d\x65\x63\x21\x63\x91\x9d\xb7\x29\xed\x29\x7c\x6e\xf5\x9d\xb9\xab\x8f\xf6\xdf\x18\x01\x4e\x37\xd8\x13\x0d\x4b\x99\xaa\xb0\x30\x37\x75\x89\x47\xbe\xb2\x1d\x19\x73\xab\x8b\xad\x68\x2f\xb1\x64\xad\x8d\xea\x67\x16\x83\x0d\x00\xc1\x20\x19\x1b\x88\x51\x40\x5a\x3a\xc8\x1c\x36\xc8\x1d\x5d\x80\xb6\xdf\x46\x30\x22\x43\x17\xcf\xf2\xed\x7e\x5f\xa3\x88\x33\xe6\x16\xd1\x4e\x1c\x96\x5c\x73\xdd\xd5\x43\xd1\x26\x38\xb0\x37\x8e\xe5\xca\xce\x3f\x42\x65\x67\x7d\xb0\xa3\xb5\x9f\xa8\x3c\xad\x88\xc9\x25\xda\x2c\xe5\x6b\x55\xbe\x93\x5b\xd2\xef\xea\x6b\x88\x01\x2f\xd0\x70\xa7\x57\xb7\xed\x4a\xb9\xb8\x8f\x55\x3e\x1b\x97\x2c\xe4\x8c\xa5\x91\x0b\x53\x97\x96\xf5\xfd\x67\x34\xc7\x3c\x06\x26\x92\x6f\x0f\x34\x1c\xa0\x72\x87\x0e\x98\x10\xe9\xcb\x89\xd6\xb0\x5f\x0d\x79\x68\xeb\x20\xb1\x43\xb0\x69\x2c\xf7\x12\x4b\xad\xe4\x22\xc0\x5e\xb0\xa7\x75\xb8\xf6\x3f\xb6\x9f\x70\x96\x1e\x2f\xd4\x79\x93\xcd\xfb\x9d\x65\x1e\xb2\xed\x90\x8e\xa8\xd1\x4e\x6d\x1f\xe9\x42\xd9\xc9\x5e\x98\xa1\x4b\xad\xb1\x5f\xfb\x3b\x8a\xab\xbd\xa4\x1d\xdd\x96\x38\x50\xfb\xb5\xfe\x91\xe3\x7a\x2c\xb9\x46\x32\x6e\x2f\x8b\xb6\x7a\x0a\xa7\x26\x2a\x94\x28\x85\x29\xe6\x9d\x51\x71\x61\xb6\x8d\x45\xcc\x64\x55\x52\x0a\x9b\xa5\x47\xca\xa0\xc7\x8c\xd0\xba\x4a\x40\x50\xb6\xe5\xbc\xc4\x8c\xa2\x06\x38\xc7\xb6\x9d\xa8\xe0\xbc\x2a\xaa\x4f\xd5\xf7\x32\x5e\xb8\xb5\x09\x2b\xd8\x3a\x06\x46\x12\xf2\x57\x7a\xa0\xa7\x63\x65\xac\x04\xe9\x4b\x75\x83\x45\x3c\xb3\x85\xdd\xdb\xd7\x39\xc4\xe1\x2d\xb1\xa1\x06\x3f\xa9\x88\x7f\xec\xbf\xab\x0c\xcf\x48\x01\x9c\xf2\xab\x62\x0f\xe6\x30\x76\xc6\xf0\xe2\xb1\xbc\x3e\xe1\x13\x05\x17\xad\x16\x8f\x4d\xb5\xd5\x60\x3f\xde\xf9\x44\xc5\xa5\xc6\x78\xd4\x54\x93\x72\x53\xbb\x5f\x20\xd8\x6a\x8f\x91\x91\xed\x50\xc5\x97\x2a\x9b\x7a\xa7\x63\x95\x12\x87\xad\x5c\x8d\xce\xd2\xc3\xd6\x1f\xaa\x74\xfb\x56\x4e\xad\xb6\x78\xfd\x01\xf9\x04\xab\xd3\x5c\x82\x17\xda\x9b\x15\x4d\xff\xd8\x32\xf6\x3a\x3e\x6b\xb0\x4f\x2b\xbe\x79\x2e\x6e\xb2\xab\x27\xa9\x4f\x0c\x08\x18\x55\x52\xa5\x73\xb0\xaf\xb4\x61\xbf\x43\xec\x80\xd9\x8d\x9f\x53\x70\x41\x3d\x8c\x79\x60\xde\x28\xb4\xab\xba\x2b\xae\x2b\x62\x42\x37\xbe\x17\xba\x22\x56\xe1\x6e\xd3\x9d\xf5\xe8\x91\x5b\x8f\x1f\x8b\xbc\xb8\x3f\xd4\x9e\xdd\xd1\xdd\x55\xf2\xfe\x2d\x32\x7d\xfe\x68\x11\xf7\xde\x10\x70\xbb\x5c\x2e\xbd\xa5\x7e\xb5\x08\xfe\x37\x43\x13\x30\xbd\xc5\x7d\x45\xf8\xea\xc4\xd3\xd2\xc0\x49\x6c\x1c\x8d\xf6\x79\x65\x2d\x0a\x1b\x12\x78\x32\x6d\xf1\x4b\x9b\x20\x43\x87\x26\xb3\xe2\x2c\x00\x8b\x2f\x8b\xbc\xdc\x32\x8f\x30\x37\x09\x29\xb1\xfd\x62\x7e\xeb\xf9\x1e\xad\xa9\x56\xd6\x19\x62\x75\x18\x6d\xaa\xcc\x4f\x6e\x0f\x0d\x1d\x6a\x53\x64\x1f\xd3\x6d\x64\x93\xaf\x91\xef\x58\xe4\x94\xf7\x8d\xb9\xed\x53\x89\xe5\x77\x7c\x4b\x93\x36\x06\xcd\x79\x5c\x88\x07\x96\xcc\x7d\xe3\x58\x69\x79\x85\x8d\x17\x58\x2d\x67\x61\xb1\xe4\xdc\xa0\xb1\xa0\xc0\x49\x13\xd6\x86\x26\x21\xbb\x2b\x99\x6a\x4f\x9b\xc3\xb8\x70\x19\x9f\xd8\xdb\x7c\x12\xac\xe7\x30\x4e\x00\x05\xed\x10\x2e\x0d\x16\x3e\x72\xb4\x84\xe6\xc6\x9b\xb6\x78\x68\xb0\x60\xe1\xb0\x70\x6e\xf5\x47\x9e\x1d\x82\x10\xd9\x81\xe6\x49\x6e\x93\xd4\xb6\x59\x95\xb4\x88\x36\xb4\x89\xf9\xf2\x30\x47\x69\xe7\xa3\x66\x16\x21\xcc\x2d\x7a\x27\x6b\x5a\x56\xf8\xb4\x9c\x6a\x62\x7e\xd4\xcf\xc2\x26\x3c\x8f\x47\xf3\xe3\x5d\x6d\xef\x5e\x31\x17\x85\x6f\xb4\xf7\x31\xf6\x32\xbb\x67\xe8\xc2\xa3\x1d\xc2\x95\xc3\xc2\xa5\xf5\x88\x8b\x86\xce\x27\x16\x21\x25\xd3\x75\xa7\x80\xc5\xb1\x87\xb0\xb8\x3e\x0f\x8d\x88\x87\x36\xe1\x0d\x68\x98\xab\xa6\x86\x43\x1b\x62\x03\x85\x68\xd3\x16\x41\x6e\x63\x52\x14\xd2\x4d\xe8\x5b\x77\xaa\x3d\x41\x2b\x94\xe6\xf6\x23\xb6\x1a\x6e\x7a\xeb\xf1\x63\x67\x85\xfe\x9f\x0e\x98\xc7\x69\x0b\xac\xa7\x9a\xd0\x2e\xdb\x94\xb9\xea\xe7\xfc\x2c\x87\x85\xb9\xa1\xf3\x9b\xe3\x38\xd5\x71\xbe\x7e\x29\xa3\x9f\x96\x53\x82\xc9\x76\xb2\x7a\x37\x3f\xf8\xa3\x1d\x82\x00\xd1\xac\xa9\x31\x99\xbd\x6e\x6f\x4c\xba\xf3\x30\xe9\x15\xbc\xf4\xc8\xc9\xe5\xfa\x4c\x43\x66\x63\x76\x92\x8d\xa1\x8b\xde\x50\x03\x38\xed\x25\x5d\x05\xc3\x45\x05\x6b\x17\xb9\x18\x1c\x5c\x05\x23\x99\x1b\x18\x9a\x10\x5b\xeb\x8e\x2f\xed\xd7\xd3\xd3\x69\xa9\x5e\xf7\x98\x8e\x7c\xda\x4b\x54\x49\xc5\x45\x1d\x93\x78\xf5\x11\xb7\x79\x7a\x9e\x9b\x68\x1d\x75\x24\xe3\xc4\x84\x0e\xc1\xfd\xf6\x7c\x48\x25\xbb\x77\xf1\x66\xa9\x07\xe5\x09\x58\x05\x03\x16\x4f\x8b\x73\x0e\x48\x5e\xd3\xc1\x60\xaa\xc7\x9e\xc5\x92\x91\xa9\xdd\x7b\x43\x2d\x28\xf2\x8b\x2d\xf6\x69\xe9\xac\xf1\x85\xb5\xc6\x37\x8e\xc6\x6f\xa6\x2d\x3e\xd9\xe6\xa8\xa3\x79\xc6\xec\x90\x59\x71\x34\xff\x68\xb1\x60\x6e\x45\x60\xc5\xf9\x14\xa3\xf5\xa0\x8a\x7c\xd6\xea\xdb\x80\x0e\x3c\xb7\xc8\x1f\x3f\xc8\x61\xf5\xca\x5c\x72\xde\xe6\x19\x89\x51\x00\x55\xe0\xc5\xf9\x1d\x72\x86\xe4\x24\x8b\xaf\x86\xeb\xfb\x94\x63\x70\x87\xa3\xa7\xe1\x56\x9f\xae\x0d\x9f\x3a\xa8\x8f\x64\xa4\x86\x67\x1e\x9a\xcb\x7d\x7e\x32\x39\x96\x02\xd8\x2f\xe6\xc6\xe7\xbc\x89\x7e\xef\x0d\x5b\x52\x6e\xd3\x0f\x8b\xc1\x9a\x72\x74\xb9\xc8\x6b\x2f\xe2\x41\x76\x38\x45\x73\xdd\x38\x47\x74\x84\x0d\xe8\x10\x86\x1c\xb3\x85\x8f\x91\x82\xda\x23\xc7\xc5\x5e\xbf\xdf\x21\x39\x9a\xcf\x0d\x16\xf3\x39\xe6\x20\xdf\xa8\x0b\x00\x2f\x97\x3a\xb4\xd8\x13\x9e\x49\x01\x1c\x49\x0a\xe6\x9f\xe4\x1a\x78\x09\xb4\xd8\x67\xe0\xf7\x85\x80\xf3\xa9\xdd\xd9\x13\x34\x5e\x11\x07\xb2\x1a\xd4\xf7\x44\x0c\x5e\xe9\xa9\xe4\xfe\x6c\x03\xf4\x87\x2d\x67\xbe\xcd\x1d\x5c\x2a\xf5\x33\x17\xc1\xf6\x3c\x40\x90\x43\x17\x18\x73\x47\x7b\xc2\x86\x50\xc0\xac\x16\x0f\x87\x44\x71\x46\x60\x8f\x5b\x5f\x80\x45\x4c\xa5\xa0\x4f\x8a\xb7\x22\x63\x6e\xb1\x30\xe0\xfa\x60\x83\x60\x17\xeb\x52\x9d\x7b\x11\x93\xd0\x14\xe3\x81\x8a\x81\xae\x1a\x80\x5d\x3c\x80\x8b\xf8\xd5\x10\xac\x02\x17\x13\x26\x0a\xa0\x26\x0a\xc2\xbb\x8f\xf9\x74\xd0\x66\x00\x7e\x84\x3f\x5c\x05\xa0\x07\x04\x95\x21\x7b\x32\xe0\x96\x47\x3c\x50\xe1\x15\x96\x67\x1c\xb6\xe7\x0f\x68\x24\xff\xa9\x6f\x23\xf9\x7e\x21\xe8\x58\x29\xf7\xfd\x8e\x87\x68\xd9\x24\x40\xdb\x09\x19\xdc\xea\x8b\x9e\x4d\x00\xc4\xb3\x45\x3e\xb9\x43\xb4\x33\x8b\x60\x8a\xdc\x7b\x03\xd9\x7d\x32\x65\xf3\xbd\x13\x7c\x8a\x73\x50\x06\xdd\xf1\xf7\x67\xa0\x1e\x02\x19\x03\x06\x08\x18\xa0\x30\x52\xe5\x53\xe6\x76\xcb\x78\x1c\xfa\xb5\x18\x46\x4f\x1a\xab\xb8\x00\xa4\x00\xd9\x32\xe4\xc6\x40\x72\x54\x97\x36\x43\x7c\x15\x1c\xcd\x8f\x5f\xce\x21\xbf\x36\x34\x26\x45\x78\x57\xf9\x6d\x3a\x2d\xed\xcf\x97\xbc\xf1\x0c\x52\x01\x73\xdd\xc9\x0b\xde\x69\x18\xa7\xae\x64\x9e\xc3\xce\xa1\xe5\x55\x67\x3c\x5e\x46\x8f\x1c\x4d\x3d\x9a\x48\x76\xf9\x14\xd2\x2b\x99\x45\xd8\x5f\x91\x0d\x81\x64\x09\xc7\xac\x02\x25\x00\xfa\x01\x2f\x88\xa8\x9f\xe2\x4c\x08\xb2\x79\x3c\xae\x2f\x40\x83\xee\xe4\xa6\xdc\xc9\xad\x50\xf5\xf8\x4d\x2f\x1b\x62\x60\x2c\xd1\x54\x81\xa7\xac\x1a\xbc\x88\x31\xaa\x24\x3f\x78\x36\x6d\xa3\xb9\x19\x4b\xc0\xa9\x72\x33\x58\x59\x7d\x62\x0a\x3a\x0d\x83\x41\x89\x0b\xbe\x34\xe8\xce\xaa\x88\xe9\x9d\xed\x1f\x27\x1a\xcb\x0a\x5a\x10\x80\x0a\xf9\x7a\xfe\x47\xd9\x47\x58\xe1\x4c\x95\x79\xd9\x3d\x63\x6e\x6a\x4f\xd0\xa0\x29\xcc\x5a\x53\x6b\x43\x33\xd6\x86\x2e\xc4\x1c\x8b\xf4\xba\x94\x18\x21\x7c\x9c\xea\x52\x99\xf3\x5d\xcc\x7d\x8d\x07\xca\xb3\x35\xd0\x65\x21\xc6\x75\x7b\x03\x84\x7b\x15\xeb\x2b\xf1\xa7\xf0\x41\xcb\xf3\x5e\xa1\xf7\x07\x74\x54\xf9\x60\x02\x66\xd1\x14\xb4\x42\xc6\xb7\x58\xd5\xab\xb7\x2b\xed\xa5\x13\x3d\x86\x15\x7a\xb8\x3c\xf7\x82\xf8\xab\x38\xfb\x52\x9d\x61\xaa\xf3\xce\x50\x43\x76\xd6\xb9\xf6\xf1\xe0\x35\xf6\x4a\x81\x53\x27\x7e\x85\xee\xa5\x8a\x5c\xbd\x62\x5f\xb5\xcc\xc3\xe1\xa5\x00\x22\x1f\x97\x51\x31\x66\x3c\x91\xc5\xb8\x38\xbb\x19\x09\x1b\x8b\xa6\xee\x05\xa5\xd3\xe6\x68\x1c\xd9\x8d\x6f\xb3\x43\x65\xb2\xe0\x87\x32\x47\x0e\xd1\x2e\xb9\x74\x90\xae\xd7\x05\x7c\x1a\x16\x67\x2f\xbd\x19\x4d\x6d\x0c\x4d\x2c\xcf\x37\xb5\x46\xcb\xa1\x9f\x74\x95\x47\x6c\x39\x5c\xdb\x49\xcd\x26\xbe\xe0\x3b\x6f\x65\xf2\xce\x67\x6e\x07\x57\xe5\x54\x16\x78\xed\x6c\xd7\x85\x41\x93\x4b\x27\x04\x6b\x3b\x84\x81\x21\xb7\x8b\x3d\xb8\xcb\x71\xcc\x36\x74\xfa\xce\xd2\x0e\xb3\xdc\x22\xda\xc8\x9e\x87\xcf\xec\xed\x05\x86\xb6\xd5\x27\x25\xce\xf5\xbc\x56\x45\x62\xc8\x22\x8f\xb4\x16\xf7\x28\xe7\xbe\x8c\x93\x95\xf8\x12\x12\x34\x4a\x79\x5d\xb5\x99\xa8\x8c\xc4\x2b\x58\x5b\x99\xc8\x5c\x2e\xca\x9d\xe2\xec\x52\xc9\x4b\xe5\xfe\x70\x91\x1b\x07\x76\xf1\x3d\xbf\x7e\x5e\x49\x51\xc9\xb1\x0c\xa4\x89\x1a\xc0\xb1\x84\x93\x7d\x11\xf9\xc1\xa7\xf9\xb0\xc5\xfe\xfa\xd1\xf7\xa8\x66\x3f\x09\x0a\xd6\xe6\x41\x8f\x94\x65\xb5\xdd\xd7\x31\xa7\xab\xe2\x7b\x7f\x76\xbb\xcf\x76\x92\xcb\x64\xe8\xf3\x22\xde\xc1\xf5\xf0\x89\x12\x40\x55\xc1\xf9\x32\xa7\x00\x13\x14\x1d\xe7\x19\x09\x83\x13\xe5\x11\x8b\xf8\xde\xd3\x04\xc9\xb6\x6d\xde\xd2\x45\xdc\x45\x00\x54\x99\x21\x79\x89\x21\x55\x0d\x50\xcc\x44\x65\x70\x87\x9d\xef\xe9\xb2\x73\x65\xfb\x7d\xce\xcd\xa1\x7c\x05\x02\xa5\xf8\xcf\xe0\x7e\x10\x6b\xda\xc5\xa4\x94\xf2\xdc\x57\x15\xab\x3d\x0f\x63\x67\x9b\xe1\x06\xa3\x42\x81\x57\xb0\xfb\x5d\x5c\xff\x4c\x2e\xd7\xb9\x31\x01\x15\x03\x33\x09\xe9\x09\x60\x50\xb5\x5c\xb1\x5d\xae\xdb\x44\x97\xd6\x8e\xa6\x0e\xce\xae\x25\x2e\x31\x4a\xc0\x6c\x73\x90\xae\x5a\x87\x82\x86\x27\x3a\xbf\x3a\x0f\x93\x9f\x28\x3d\x30\xbb\x2a\x5f\xda\x1f\x21\xbb\x04\x73\x58\xb8\x30\xd6\xcd\x74\x06\x80\xc4\xe9\x18\xec\xe9\xb8\x64\xa8\x3d\x95\x14\x75\x80\x99\xbd\xbd\xed\x56\xe8\x4e\x0d\xdf\x70\x7d\x69\xc9\xb1\xf3\xb9\x13\xaa\xde\x94\x60\xf0\xe2\x0c\x1c\x5b\xf2\xa1\x15\x92\x18\xea\xcb\x61\x1f\x3c\x93\x25\x17\x56\x0b\xac\x39\x46\x50\x94\x43\xfb\xd1\x9b\x6a\xed\x36\xc7\xe2\x4b\x3b\x54\x33\x8e\x9d\xc3\xa9\x6e\x40\xcb\xa7\x96\x56\xf8\xd4\xe6\xd8\x7c\x61\xb5\x9c\x0d\xd7\x77\x62\x57\xbe\x3f\x3c\x7f\xb6\x95\xf5\xa6\xc6\x2d\xed\x96\x90\x0d\x89\x42\xff\x6d\xe8\x50\xd8\xd8\xec\x53\xe2\xd0\xdb\x33\xed\xa5\x5c\x47\xb2\x76\x63\x13\xab\xe5\x14\xc9\xb4\xfe\xa8\xfc\x5f\x1a\xf3\x86\x1a\xe7\xf1\x4a\x67\x63\xd0\x45\xae\x7f\x95\x9b\xbb\x32\x89\x60\xe9\xb0\x4f\x9b\x0a\xee\x90\x38\x38\x17\xf0\x88\xd6\x69\x88\xdf\x07\xc3\x4d\xcf\x73\xd7\x09\x59\xc4\x22\x59\x40\x0c\x89\x36\x6e\xb1\xab\xc1\x14\x27\xd7\x86\x36\x9f\x23\x1d\x73\x16\x57\xe4\xb7\xf5\x1d\xc8\xb1\x4f\xc5\xb8\x39\x56\xc8\xcc\x22\x3f\x0b\x06\x1c\xcb\x67\x53\xad\x9d\x72\x2c\xb3\x41\xfe\x8b\x15\xda\xde\x54\x1f\x79\x48\x2e\xba\x72\xe7\x89\x63\xb7\xe7\x8f\x35\xd1\x33\xb7\x3e\xae\xd3\x0f\xbc\xa9\x2e\x6c\x4c\xcd\x59\xa0\xef\x68\xee\x9d\x10\xdf\xd8\xab\xf8\xb1\xb0\xb1\x8a\xbe\xca\xf5\xb2\x34\xa4\x4b\x90\x3d\xc5\x2c\xb8\x6e\x2f\x2b\xca\xfa\x4e\x62\xb1\x2b\xcf\x0a\x41\x65\x5f\xac\xac\x16\x85\x5b\x2c\x83\x19\x32\xd5\x32\x75\x29\x3e\xc0\xb1\x0f\x0a\x3d\x53\x9e\xb5\x27\x43\xc3\xc7\x17\x16\x21\x41\xae\x2f\x3c\x4e\xb5\x76\x91\x07\x7d\x56\x5e\xb7\x8c\xcd\x54\x2e\xeb\xdb\x48\x5f\xfb\xd5\xf9\xa2\x76\x95\xab\xb1\x93\xe5\x85\x1f\x87\x6c\xb6\xa0\x8d\xf4\x8a\x3f\xf6\x3b\x4f\x63\x79\x55\xda\x71\x34\x5f\xf8\xf1\x56\x0b\x60\xdc\x63\xec\x8d\x94\xce\xfd\xa8\xdb\xc9\x4a\x1b\xb1\xe3\x8b\xc4\x53\x82\xf4\xab\xac\x89\xa8\x9d\xcf\xf9\xfb\x76\xc8\xc6\xb0\x22\x89\x37\x68\xee\x2b\x47\x73\x95\x2f\xa7\x48\x6a\xb1\x07\x33\x04\x50\xa0\x40\x0f\x8c\xc5\x32\x5f\xc3\x1f\x76\xb6\x78\x40\x6a\x6d\xa1\x35\x6c\x09\x87\x7d\x6f\x3a\xab\x5d\x9d\x40\x58\x5a\xc5\x19\x71\xa9\x67\x68\x4f\x73\x57\xe6\xbe\x72\xdd\x0e\xb2\xe3\xc8\x2a\xfe\x55\xc6\x93\xf6\xb1\x1e\xe4\x03\x1f\xe7\xa7\x94\xff\xae\x9f\xb3\xe6\x97\xe5\xb9\x5d\x69\x6e\xd1\xd4\x2e\xa7\x79\xaa\x83\xa5\xa5\x8f\xb6\x67\xb5\x85\xa0\x3a\xa3\x6d\x69\xe4\xc2\x40\xb6\x0a\xb2\xa1\x59\x64\x3f\x51\x8f\x66\x9f\x5f\x5a\x11\xa2\xb1\xda\xf9\xb4\x6e\x79\x86\x9c\xa3\xa9\x66\x3b\x8c\x96\x76\x7b\x87\xf5\x3c\xc3\xca\xde\xdf\x8e\xe5\x71\xaa\xdd\x97\xe3\x08\x99\x8d\xa1\x3d\x25\x56\x21\x1b\xb6\xe7\xc6\xfb\xc2\xd2\x88\xa4\xd6\x54\xe7\xe1\xee\x0e\x06\xba\xcc\x9b\xb0\x58\xf2\x71\xaa\xad\xb6\xf9\x13\x25\xee\x06\x4d\xed\x68\x61\xa8\x8f\x3c\x7e\x0b\x7f\xa8\x89\x9e\xda\x65\x7a\x74\x28\x2d\xad\x50\x1d\xd0\x51\x11\x93\x5c\x16\xf7\x04\x14\xf1\x44\x9e\x3d\x38\x47\xbf\x8e\x07\x83\x9d\xef\x32\x42\xbe\xcb\xda\xd0\xf8\xa5\xd5\x12\x13\x8e\x9e\x0e\x6e\x3f\x9e\x7d\xd9\xed\xf8\xf7\xfc\x65\xc2\xef\x7c\x4d\xf0\x55\x0f\xbd\xc4\x4b\x37\x4d\xd2\x78\xe9\x6f\xaf\x55\x9d\x99\x30\x73\x2f\xbe\x4a\xe3\x3b\x6e\x94\x97\xaf\xdb\x34\xbc\x49\x53\xdd\x16\xab\x66\x6e\xda\xc9\x32\xdf\x8b\xdc\xc6\x37\x72\x16\xb5\x72\xae\x84\x78\xe9\x92\xdb\x73\xb7\x55\x8f\xca\x07\x20\xb6\x10\xd6\x5f\x9a\xc1\xde\x7e\xba\xa9\xee\x1f\x36\xd3\xf8\xae\x7c\x67\xe6\xec\x5d\x38\x1f\xff\x55\x5c\x14\x7b\x3a\x7d\x57\x3d\x99\x54\x7f\xcd\xa6\xb8\xe9\xf7\xec\x93\x36\x27\xaf\xd9\x34\x3c\xa8\x44\x97\x2f\xe6\x7c\x39\x7c\x8f\x47\xb6\x4d\xe8\xca\x6e\xfe\xfd\x9e\x56\xc2\x89\x77\x7b\x4c\xb4\xb3\x7d\x43\xa6\xe8\xfb\x4b\x1a\x43\xb7\x5c\xa0\xd0\x8d\x8a\x6b\xfb\xbd\x85\xef\x9c\x5c\xed\xe3\x3b\x87\xb3\x96\x36\x5e\x21\xf8\xe9\xe6\x56\x9a\xdc\x7c\xb9\x91\x5c\xd3\x71\xd3\x86\x19\xbd\x84\x57\xe3\x45\xe7\xfb\xcb\xdd\xdf\x11\xd6\xfe\x82\xf4\x17\x01\xdd\x5e\x9c\xfa\xe5\xf0\x6e\x6c\x04\x36\x5b\x58\x59\x79\xc1\xd1\x35\x77\x68\x63\x9f\x6e\xfc\xc8\x71\x9f\xc6\xb3\xab\xaa\xdf\x7e\x6e\x10\x6a\xef\xfa\x10\xeb\xe9\x3b\x2b\xc7\xcc\xf4\x3a\x3a\xde\xb1\xe0\xf7\x9f\x9f\x2b\x58\xf7\xcc\xf2\x3d\xc7\x7c\x38\x79\x87\xdd\x5f\xf9\xae\xd9\x73\x0f\x84\x65\xee\xd2\x4d\x4b\x51\xdd\xf0\x3e\xdd\xb3\xf7\xb9\x7f\xc8\xec\x38\xb9\xf0\x4a\xdf\xeb\x39\xeb\x04\x5c\xd3\x1b\x81\xee\xd2\x84\x8b\x62\xa5\x99\xe2\xf5\xbc\xa8\x78\xe4\xec\xc3\x44\x69\x37\xbd\x5f\xf4\x61\xe5\x47\x4e\xbc\x92\xfd\x4d\xf9\xa4\x8f\x82\x37\x57\xcb\xcd\xd4\x73\xf3\xea\xf6\x4e\xe5\x55\x4f\xd8\xdd\x94\x8f\x16\xf9\xb9\x9b\xfa\xe6\x79\x9d\x65\x42\x38\x9e\x5d\xbc\x3c\xfe\x99\x0b\xf7\xd1\xea\x9a\x79\x5c\x5c\xe4\x3e\x74\xb3\x4c\x99\x9b\xd1\x73\x4f\x22\xe5\xf3\xd4\xcd\xe6\x31\x44\xcb\xda\xc2\x9e\xa9\xdc\x71\x1c\x1f\x4d\xb0\x09\x27\x75\x52\x8a\x16\x10\x3e\xf7\x00\xe2\x96\xd7\xfa\xfb\xd7\x89\xe8\xb9\x6b\x07\xcf\xbe\xd8\xe4\xe6\xa9\x6f\x0b\xdb\xd6\x5d\x3f\xe9\x2c\x4d\x1f\x9a\x96\x0f\x11\x9d\x5e\xdd\xb8\xb8\x15\x10\x41\x08\x77\x0b\x17\x5d\xb9\x70\x87\xb3\xe5\x87\x6e\xc7\xf3\x52\xd7\xdb\xc9\x9b\xce\xd2\x4d\xaf\x78\x7a\x6a\xbb\xfc\x71\x54\x91\x90\x9c\x9b\xb9\x6f\x2b\xd5\xf4\xd3\x55\xf9\x4b\x5f\x2f\x68\x60\x85\x9b\x57\xad\xd5\x87\xd8\x31\x73\xf3\xf3\xa9\x64\x2a\x5f\x02\x18\xc5\x91\x9f\xc7\xe9\x67\xd9\x8f\x3c\xe8\x56\x0c\x31\x5a\xc0\xdc\x4f\xa0\x3b\x2a\xa6\x9a\xae\x68\xfc\x2a\x5b\xd2\x5c\xe4\xf1\xc8\xcf\x7d\xcf\xcc\xdd\xf3\x42\xc5\xb4\x5f\xfd\x6e\x76\xd9\x74\x7b\x7d\xe8\xf1\x1b\x26\x07\xb2\xbb\x76\xfb\x60\xc3\x45\xbd\x9f\x6e\x6a\xd2\x8a\x8b\x32\xdf\x9b\xe7\xd9\x97\x1a\xf4\x4a\x5a\x95\x6f\x6f\xdd\x99\xde\x33\x4f\x0f\xae\x5c\xab\x1f\xc7\xc1\xc9\xc2\x5c\x69\x98\x5f\xf7\x18\x67\xdd\xb2\x34\x6b\x5c\x73\x67\x42\x37\xcd\x2f\x9a\xb4\x57\xa8\xab\xdd\x34\x94\x4c\xd6\x41\x30\x2f\xda\x97\x1e\x8c\xad\xd3\x37\x41\x4f\xd4\xd9\xc3\x1d\xd6\x7a\xf7\x87\xe9\xaf\xd4\x2c\xd7\x58\x2d\x2f\xd0\xa1\xad\xbf\x90\x0e\x3d\xa3\x1d\x8f\x95\xe8\xd7\xfe\xdf\x5d\x87\x7e\xfd\xf6\x53\x87\xfe\xd4\xa1\x3f\x75\xe8\x5f\x4f\x87\x3a\x6e\xf1\xae\x90\xf3\x53\x7f\xfe\x4e\xfa\xf3\xef\xe7\x83\xfe\x74\x41\x5b\x0d\x46\xd3\x41\xe5\x3f\x5a\x7d\x82\x9f\xea\xf3\xe4\xf7\x53\x7d\x9e\x9b\xaf\x9f\xea\x73\xbf\xb9\x11\xb9\xf9\x4f\xd5\xf9\x16\xd5\x79\x3c\xab\xcf\x3e\x5a\xf5\xe9\xe6\xf6\xcb\xb9\x8d\x95\xe3\x9d\x94\x43\xec\xbb\xb1\xbd\x08\xdd\x28\xef\x52\x5f\x8e\x20\x67\x47\xfb\x53\x67\x5e\xcb\xba\x69\x78\xdc\xad\x69\x4b\xe6\xe6\xd3\xcd\x2d\x55\x16\xdf\x7c\xb9\xd9\x77\x7b\xb3\x85\x77\x43\xc7\x51\x9e\xfa\xd6\x22\x8f\x9b\x36\x6c\x1a\xa8\xe3\x02\xea\x5f\x8a\x9d\x4b\xc7\x4d\xb3\xe3\x7d\xa5\x63\xb0\xcf\x5a\x29\xc8\xca\xb8\xf0\x2a\xee\x5b\xe7\xaf\x71\xdf\x07\xe1\xdc\x75\x67\x7e\xe4\x97\xaf\x64\xec\xf6\x2e\x8e\xe5\xc6\x73\x1b\x6a\x7b\x20\x05\x45\xb6\x2d\x87\xb4\x9d\x87\x87\xbb\x99\x7b\xdf\xbe\xbb\x27\xf0\xaf\x77\x64\xeb\xc1\xba\x9b\x91\xdf\xee\x5b\xdf\x5c\xbc\x7d\xdf\xc6\xce\x6c\x45\x25\xfb\xb5\x2c\xb0\xb9\x72\xd5\x2f\xc3\xda\xa9\xa7\xa3\x96\x97\xf7\x80\xec\x38\x2a\xb5\x4d\x81\x88\x97\xba\x66\xee\xa6\xbf\x40\x37\xf2\xf2\x79\xd3\x53\x83\xcd\x8f\x63\xdd\x60\xa7\x34\xd6\x24\x28\xc8\x3b\x0c\xbf\x4b\x52\x77\xe9\xbb\xab\xf7\x11\x18\x6f\x27\x99\x77\xb7\xc5\x4d\x08\xe3\x15\x38\x78\x40\xbd\x7c\x5f\xea\x82\xaa\x44\x4d\x98\x38\x5d\x99\xa9\xe3\x3a\x4a\x6a\xce\x66\xbe\xfd\x4c\x75\xb6\x7c\xad\x4c\x49\xcd\x28\xf3\xf3\x2a\xa9\xa0\x39\x09\x40\x72\xc3\x38\x77\xb7\x2d\xb2\x0b\x75\xd3\xa2\xe2\x21\xf2\xe7\xed\xde\xd3\x27\xae\xaf\x7b\xc2\xed\x40\x2d\x9f\x79\x72\x1e\xb1\xd8\x16\x42\xf9\xde\x7c\x93\x33\x71\x5d\xb2\xc0\x56\x8d\x7e\x49\x5c\x37\xf5\x23\xef\xae\x0e\xf6\x79\xc9\x78\xee\x49\xfc\xc3\x7f\x4f\x4a\xd8\xcf\x6e\x3c\x12\xd8\x1d\xf6\xd0\xa0\x2e\xaf\xdc\x8b\x7d\x31\x79\x3e\x67\x63\x9c\xeb\xaa\xd8\x81\x3d\x64\xa0\xf3\xcf\x49\x5e\xa1\x5f\xaa\x59\x74\xa2\xcc\x88\x23\xf7\x9d\x0c\x8f\xf6\x3b\x6d\xe1\xfe\x9d\x59\xf6\x3a\x56\x4c\x93\xbb\xc4\x2d\xad\x51\x0c\xc3\xdf\x91\x19\x0f\x01\xff\xd5\xd9\xf1\x27\xe9\xbd\x8a\xf4\xde\xae\x00\x6a\x34\x56\x27\xbd\xbf\xa6\x0a\x08\xfc\xa8\x98\x6b\xb6\x10\xa4\x7b\x13\xe9\xa5\xf6\xba\x1d\x47\x99\x9f\xe5\x6e\x64\xaf\x27\x31\xf4\xed\xe6\x6c\xc4\x9b\xd2\x7a\x9b\x99\x0b\x98\xd3\xfb\x16\x43\x77\xe9\xc2\x32\x5e\x92\xc6\x91\x77\x5d\x64\xa1\x1a\xe6\xab\xa2\x06\x55\xe3\x2a\xe8\x74\xcd\x24\x1e\x20\x74\x55\xb0\xf2\xc8\x8e\x1c\xcf\x66\x6e\x5a\x0b\x0d\x15\xb9\x57\x4d\x86\xba\x9f\x48\x0b\x58\xcc\xf4\x87\x5f\xfd\xc3\x24\x28\xc7\xcf\x4c\x0b\xba\x74\x9c\x85\x71\xd6\xa5\x18\x3f\x75\x57\x26\x84\xc8\x50\xb2\x0b\x8b\xbc\x93\xa6\xe6\xfa\x97\x8f\xbb\x04\xcb\x7a\xe3\x2d\xdc\xdb\x8f\x9f\xea\x75\xcb\xbf\xc7\xd6\xa3\x6b\xe7\xa8\x4e\xc7\x71\x52\x37\xcb\xc6\xa9\x64\x46\x9e\x8b\xd8\x0a\xc7\xee\x3f\xdf\x13\x9f\x71\xb2\xfd\x99\x24\x76\xad\xcf\xb7\xb8\xbd\xc7\x3e\x7f\xfb\xfa\xb9\x7d\xff\x19\x6f\xe1\xd7\xd4\x6f\x13\x9f\xf1\x6f\x5f\x3f\x7f\xfd\xdc\xc2\xae\xad\xfe\x95\xfc\xdc\xc6\x3e\xdf\xb7\xaf\xad\xff\xf0\xed\x33\xfe\x70\xff\x99\xf8\x7a\xfb\xf1\xe3\x19\xf7\xcf\xcf\x0e\xe5\x13\xe3\xc3\xdc\x4d\x7b\xbb\x80\xf8\x87\x5f\xa3\x38\xbf\x6e\x35\x9a\x3b\x38\x14\x02\xef\xb1\xc6\xe7\x97\xd1\xa9\xc5\x80\xae\x92\x9f\x5f\xb2\x85\x15\xb9\xf9\x81\x1c\x2d\xff\x2c\x0b\x0a\xe7\xed\x72\x27\xef\x67\xd2\xd7\x91\x39\x30\xed\x6b\xff\xde\xa1\x75\x66\xb6\xb7\xd3\x38\x70\xd7\x94\x99\xb9\xce\xc8\xcd\x4d\xc4\x90\x5a\xea\xe7\xee\x73\x7a\xd3\x32\xed\x60\x91\x3c\x27\xc9\x12\x37\xf5\x63\xc7\xb7\x47\xb1\xe3\x4e\x2e\x0b\xc8\x23\xc8\x5c\x94\xbb\xe9\xd2\x84\x5c\x34\xf2\xa3\x45\x5e\x34\x22\xee\x2f\x64\x87\x6d\xdb\x49\x6e\xee\x46\x45\x70\x62\x07\xa0\x1f\x2f\x52\xd4\xfc\x1b\x81\x35\x8b\xaa\x33\x91\xe0\x4a\x77\x4d\xb6\x83\x78\xad\xc6\xfc\xf5\x59\xcf\xf9\x6d\x31\xa5\xf7\x49\xa9\xce\x4d\xef\x8c\xe6\xda\xaa\xa3\xde\x13\x5a\x4d\x37\x2a\xb7\x10\xe8\x38\x75\x6f\x7e\x91\xc5\xe1\xc7\xcb\x31\x91\x13\x85\x8d\xdf\x61\xf8\x1d\xde\x7e\x0f\x73\xaf\x1a\xdb\xb3\x66\xd2\x6d\x47\x1a\xdf\x36\x59\x3c\x0d\x84\x1d\x27\x95\xce\x3c\x03\x33\x9f\xa7\xf1\xc2\x9b\x27\x0b\x64\xf9\xb5\xb1\x53\x9a\x7a\x59\xd6\xfd\x55\x21\x54\xc4\xd5\x68\x0c\x6f\x8d\x3e\x66\xbf\xc1\xee\xf6\xdb\xf7\xca\xc4\xaf\xd6\xf7\xaf\x1a\x91\xba\x96\xe8\x3a\xd9\x3a\xb2\xc7\xc5\x5e\x64\x41\x4f\x67\x84\x4c\x62\xa6\x79\x11\x33\x1c\xb8\xe7\xe5\xe8\xb6\x66\x3e\x3f\x6f\xca\xed\xaa\x7d\xf1\x9d\xf3\x9b\x67\x67\xb6\xc9\x6e\xea\x86\x6e\xdf\xcc\xe6\x67\x6c\xba\x33\x63\xd8\x0a\x08\x25\x47\x26\xea\x57\xec\xfe\xa1\x89\x29\x2e\xb3\xda\x77\xe4\x19\xf4\xf7\xd1\x62\xbc\x2b\x1f\x7d\xb1\xe3\x28\x37\xfd\xe8\x74\xe3\xf4\xcf\xc6\x52\x07\xc3\xba\x86\xbf\xce\x49\xa5\x57\xf6\xff\xa3\xb3\xf4\x76\x97\xe8\x2f\xc1\xca\x3f\x18\x83\x6e\xa7\xf6\x27\x63\xfe\x64\xcc\x5a\xf9\xb5\x8c\xb9\x0d\xaf\xfd\x25\x18\xf3\x1a\x1d\x7b\x87\x7f\x07\x53\xf6\xfe\xf7\x35\x65\xd1\xdf\xdb\x75\xfb\xc9\xf5\x3f\xb9\xbe\x56\x7e\x2d\xd7\x6f\x73\xb1\xfe\x3e\xa6\xf5\xcb\xd9\xfe\x3b\xf3\x6f\xb5\x02\x3f\x19\xf8\x27\x03\xd7\xca\xaf\x65\xe0\x71\xe2\x46\xf2\xdc\x9f\xe5\x74\xb9\x1b\xfe\x3b\x72\xf2\x01\xc4\xdf\x99\xa7\x17\x91\xff\xdb\xc2\x1d\xb8\xcf\xed\x03\x1d\x56\x7e\x7e\x54\x97\xf3\xa2\x6f\xae\x9f\x9e\x5d\xf5\x2f\xc1\xa5\xd9\xa9\x7e\xcd\x97\x79\x54\xbf\x33\xb3\x50\xfd\xbe\x03\xd2\xdb\xdc\x8a\x83\xc0\x3a\xe7\x5c\x5c\xe8\xea\xf7\xe3\x0d\xc5\x77\xa3\xfc\x7d\x90\x3f\x4f\xe5\x7f\x0a\x0f\xf1\x44\x58\xfc\x54\x3a\x3f\x95\x4e\xad\xfc\x5a\xa5\x33\x89\xd3\xfc\x24\x21\x6a\xdf\xcb\x4f\x9b\xf1\xc7\x74\x15\xcb\x65\xfb\xc9\xf3\x3f\x79\xbe\x56\x7e\x2d\xcf\xcb\xb5\x0c\xf5\xbf\x86\xbb\xf8\x83\x29\xe7\x83\x09\xfe\xc9\xa4\x7f\x2b\x26\xdd\x11\xcf\x3b\x5e\x8b\x76\x05\x01\x5d\xbc\xa4\xed\xed\x87\x69\xf6\xf8\xff\xae\x07\x61\x4c\xdb\x71\xbe\x11\xe6\xb7\xbb\x56\xeb\xa1\x7d\x77\xff\xe0\xce\xee\x2c\xe7\x9e\xb8\x9b\x7d\xc5\xbe\xce\x2c\xf3\x01\x37\xdd\x6f\xaf\x38\x08\xd3\x3c\xeb\xdf\xe3\x0c\xcc\xb3\x27\x55\xde\x85\xa2\x6e\x19\x44\x2d\xdb\x5c\xa8\xc3\x03\x5a\x7f\x5b\xd2\xb9\x77\xc8\x6f\x16\xf9\x60\xdd\xe1\xce\xfd\xec\xee\xfe\xdb\xc3\xb7\x3b\x93\x20\xf1\x3b\xfb\xeb\xb7\x87\xd6\xbd\x43\xe0\xc4\xab\x48\x67\xf6\xe7\x24\x9d\x3f\xdb\x01\xc5\xcb\x72\xf1\xe7\xa9\xc4\xbf\xd0\xa9\xc4\x1f\x48\x18\xff\x59\x93\xb4\xbe\xc7\xc9\xab\xd7\x4b\x82\xe3\xf3\x58\xfb\xcb\x7b\xdf\xe5\x44\xd8\xc7\x4a\xdf\x75\x05\xf9\x06\x75\xf0\x72\xde\x3f\xc6\xf0\xf7\x63\xf8\xef\x3d\x37\xbf\xab\x40\xb0\xdc\x99\x3b\x33\x31\xfc\x8e\x30\x09\xf2\xee\x1e\x27\xbf\xdd\x3d\xb4\xcc\x87\x3b\xe2\x1b\x31\x9b\xb5\x5a\xb6\xdb\xc2\xef\xff\xdc\x2a\xf6\x5d\x04\xc2\xf7\x5f\xf3\x73\x02\xe3\x1f\xe5\xbf\xff\xf3\x8f\xff\x1f\x00\x00\xff\xff\xe6\x82\xd9\x58\x6f\xf8\x00\x00") func rpProductionJsonBytes() ([]byte, error) { return bindataRead( @@ -548,7 +548,7 @@ func AssetNames() []string { // _bindata is a table, holding each asset generator, mapped to its name. var _bindata = map[string]func() (*asset, error){ - "cluster-predeploy.json": clusterPredeployJson, + "cluster-development-predeploy.json": clusterDevelopmentPredeployJson, "databases-development.json": databasesDevelopmentJson, "env-development.json": envDevelopmentJson, "gateway-production-managed-identity.json": gatewayProductionManagedIdentityJson, @@ -611,7 +611,7 @@ type bintree struct { } var _bintree = &bintree{nil, map[string]*bintree{ - "cluster-predeploy.json": {clusterPredeployJson, map[string]*bintree{}}, + "cluster-development-predeploy.json": {clusterDevelopmentPredeployJson, map[string]*bintree{}}, "databases-development.json": {databasesDevelopmentJson, map[string]*bintree{}}, "env-development.json": {envDevelopmentJson, map[string]*bintree{}}, "gateway-production-managed-identity.json": {gatewayProductionManagedIdentityJson, map[string]*bintree{}}, diff --git a/pkg/deploy/generator/const.go b/pkg/deploy/generator/const.go index 4127b139cef..80864cec72e 100644 --- a/pkg/deploy/generator/const.go +++ b/pkg/deploy/generator/const.go @@ -20,7 +20,7 @@ const ( FileGatewayProduction = "gateway-production.json" FileGatewayProductionParameters = "gateway-production-parameters.json" - FileClusterPredeploy = "cluster-predeploy.json" + FileClusterPredeploy = "cluster-development-predeploy.json" fileEnvDevelopment = "env-development.json" fileDatabaseDevelopment = "databases-development.json" fileRPDevelopmentPredeploy = "rp-development-predeploy.json" diff --git a/pkg/deploy/generator/resources.go b/pkg/deploy/generator/resources.go index 7c758ca8444..69c7e89daea 100644 --- a/pkg/deploy/generator/resources.go +++ b/pkg/deploy/generator/resources.go @@ -5,6 +5,7 @@ package generator import ( mgmtdns "github.com/Azure/azure-sdk-for-go/services/dns/mgmt/2018-05-01/dns" + mgmtkeyvault "github.com/Azure/azure-sdk-for-go/services/keyvault/mgmt/2019-09-01/keyvault" mgmtnetwork "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-08-01/network" mgmtinsights "github.com/Azure/azure-sdk-for-go/services/preview/monitor/mgmt/2018-03-01/insights" mgmtstorage "github.com/Azure/azure-sdk-for-go/services/storage/mgmt/2019-06-01/storage" @@ -131,3 +132,24 @@ func (g *generator) virtualNetworkPeering(name, vnetB string) *arm.Resource { Location: "[resourceGroup().location]", } } + +func (g *generator) keyVault(name string, accessPolicies *[]mgmtkeyvault.AccessPolicyEntry) *arm.Resource { + return &arm.Resource{ + Resource: &mgmtkeyvault.Vault{ + Properties: &mgmtkeyvault.VaultProperties{ + EnablePurgeProtection: to.BoolPtr(true), + EnabledForDiskEncryption: to.BoolPtr(true), + Sku: &mgmtkeyvault.Sku{ + Name: mgmtkeyvault.Standard, + Family: to.StringPtr("A"), + }, + // is later replaced by "[subscription().tenantId]" + TenantID: &tenantUUIDHack, + AccessPolicies: accessPolicies, + }, + Name: to.StringPtr(name), + Type: to.StringPtr("Microsoft.KeyVault/vaults"), + Location: to.StringPtr("[resourceGroup().location]"), + }, + } +} diff --git a/pkg/deploy/generator/resources_dev.go b/pkg/deploy/generator/resources_dev.go index 024e71f7882..33467f04297 100644 --- a/pkg/deploy/generator/resources_dev.go +++ b/pkg/deploy/generator/resources_dev.go @@ -9,6 +9,7 @@ import ( "strings" mgmtcompute "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2020-06-01/compute" + mgmtkeyvault "github.com/Azure/azure-sdk-for-go/services/keyvault/mgmt/2019-09-01/keyvault" mgmtnetwork "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-08-01/network" "github.com/Azure/go-autorest/autorest/to" @@ -467,3 +468,20 @@ chmod +x /etc/cron.hourly/tmpwatch }, } } + +// shared keyvault for keys used for disk encryption sets when creating clusters locally +func (g *generator) devDiskEncryptionKeyvault() *arm.Resource { + vaultResource := g.keyVault("[concat(resourceGroup().name, '-diskEncKV')]", &[]mgmtkeyvault.AccessPolicyEntry{ + { + ObjectID: to.StringPtr("[parameters('azureServicePrincipalId')]"), + Permissions: &mgmtkeyvault.Permissions{ + Keys: &[]mgmtkeyvault.KeyPermissions{mgmtkeyvault.KeyPermissionsCreate, mgmtkeyvault.KeyPermissionsGet, mgmtkeyvault.KeyPermissionsDelete, mgmtkeyvault.KeyPermissionsRecover}, + }, + // is later replaced by "[subscription().tenantId]" + TenantID: &tenantUUIDHack, + }, + }) + + vaultResource.APIVersion = azureclient.APIVersion("Microsoft.KeyVault") + return vaultResource +} diff --git a/pkg/deploy/generator/resources_disk_encryption.go b/pkg/deploy/generator/resources_disk_encryption.go new file mode 100644 index 00000000000..6b9dcdfd523 --- /dev/null +++ b/pkg/deploy/generator/resources_disk_encryption.go @@ -0,0 +1,116 @@ +package generator + +// Copyright (c) Microsoft Corporation. +// Licensed under the Apache License 2.0. + +import ( + mgmtcompute "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2020-06-01/compute" + mgmtkeyvault "github.com/Azure/azure-sdk-for-go/services/keyvault/mgmt/2019-09-01/keyvault" + "github.com/Azure/go-autorest/autorest/to" + + "github.com/Azure/ARO-RP/pkg/util/arm" + "github.com/Azure/ARO-RP/pkg/util/azureclient" +) + +func (g *generator) diskEncryptionKeyVault() *arm.Resource { + vaultResource := g.keyVault("[parameters('kvName')]", &[]mgmtkeyvault.AccessPolicyEntry{ + { + ObjectID: to.StringPtr("[parameters('clusterServicePrincipalId')]"), + Permissions: &mgmtkeyvault.Permissions{ + Keys: &[]mgmtkeyvault.KeyPermissions{mgmtkeyvault.KeyPermissionsCreate, mgmtkeyvault.KeyPermissionsGet, mgmtkeyvault.KeyPermissionsDelete}, + }, + // is later replaced by "[subscription().tenantId]" + TenantID: &tenantUUIDHack, + }, + }) + + vaultResource.APIVersion = azureclient.APIVersion("Microsoft.KeyVault") + vaultResource.Condition = to.StringPtr("[equals(parameters('shouldCreateKeyVault'), 'true')]") + + return vaultResource +} + +func (g *generator) diskEncryptionKey() *arm.Resource { + key := &mgmtkeyvault.Key{ + KeyProperties: &mgmtkeyvault.KeyProperties{ + Kty: mgmtkeyvault.RSA, + KeySize: to.Int32Ptr(4096), + }, + + Name: to.StringPtr("[concat(parameters('kvName'), '/', parameters('clusterName'), '-', 'disk-encryption-key')]"), + Type: to.StringPtr("Microsoft.KeyVault/vaults/keys"), + Location: to.StringPtr("[resourceGroup().location]"), + } + + return &arm.Resource{ + Resource: key, + APIVersion: azureclient.APIVersion("Microsoft.KeyVault"), + DependsOn: []string{"[resourceId('Microsoft.KeyVault/vaults', parameters('kvName'))]"}, + Condition: to.StringPtr("[equals(parameters('shouldCreateKey'), 'true')]"), + } +} + +func (g *generator) diskEncryptionSet() *arm.Resource { + diskEncryptionSet := &mgmtcompute.DiskEncryptionSet{ + EncryptionSetProperties: &mgmtcompute.EncryptionSetProperties{ + ActiveKey: &mgmtcompute.KeyVaultAndKeyReference{ + KeyURL: to.StringPtr("[reference(resourceId('Microsoft.KeyVault/vaults/keys', parameters('kvName'), concat(parameters('clusterName'), '-', 'disk-encryption-key')), '2019-09-01', 'Full').properties.keyUriWithVersion]"), + SourceVault: &mgmtcompute.SourceVault{ + ID: to.StringPtr("[resourceId('Microsoft.KeyVault/vaults', parameters('kvName'))]"), + }, + }, + }, + + Name: to.StringPtr("[parameters('diskEncryptionSetName')]"), + Type: to.StringPtr("Microsoft.Compute/diskEncryptionSets"), + Location: to.StringPtr("[resourceGroup().location]"), + Identity: &mgmtcompute.EncryptionSetIdentity{Type: mgmtcompute.SystemAssigned}, + } + + return &arm.Resource{ + Resource: diskEncryptionSet, + APIVersion: azureclient.APIVersion("Microsoft.Compute"), + DependsOn: []string{"[resourceId('Microsoft.KeyVault/vaults/keys', parameters('kvName'), concat(parameters('clusterName'), '-', 'disk-encryption-key'))]"}, + } +} + +func (g *generator) diskEncryptionKeyVaultAccessPolicy() *arm.Resource { + + accessPolicy := &mgmtkeyvault.VaultAccessPolicyParameters{ + Properties: &mgmtkeyvault.VaultAccessPolicyProperties{ + AccessPolicies: &[]mgmtkeyvault.AccessPolicyEntry{ + { + TenantID: &tenantUUIDHack, + ObjectID: to.StringPtr("[reference(resourceId('Microsoft.Compute/diskEncryptionSets', parameters('diskEncryptionSetName')), '2019-07-01', 'Full').identity.PrincipalId]"), + Permissions: &mgmtkeyvault.Permissions{ + Keys: &[]mgmtkeyvault.KeyPermissions{ + mgmtkeyvault.KeyPermissionsGet, + mgmtkeyvault.KeyPermissionsWrapKey, + mgmtkeyvault.KeyPermissionsUnwrapKey, + }, + }, + }, + { + TenantID: &tenantUUIDHack, + ObjectID: to.StringPtr("[parameters('rpServicePrincipalId')]"), + Permissions: &mgmtkeyvault.Permissions{ + Keys: &[]mgmtkeyvault.KeyPermissions{ + mgmtkeyvault.KeyPermissions(mgmtkeyvault.Create), + mgmtkeyvault.KeyPermissions(mgmtkeyvault.Delete), + }, + }, + }, + }, + }, + + Name: to.StringPtr("[concat(parameters('kvName'), '/add')]"), + Type: to.StringPtr("Microsoft.KeyVault/vaults/accessPolicies"), + Location: to.StringPtr("[resourceGroup().location]"), + } + + return &arm.Resource{ + Resource: accessPolicy, + APIVersion: azureclient.APIVersion("Microsoft.KeyVault"), + DependsOn: []string{"[resourceId('Microsoft.Compute/diskEncryptionSets', parameters('diskEncryptionSetName'))]"}, + } +} diff --git a/pkg/deploy/generator/templates_cluster.go b/pkg/deploy/generator/templates_cluster.go index b03275839f6..f110a91bd71 100644 --- a/pkg/deploy/generator/templates_cluster.go +++ b/pkg/deploy/generator/templates_cluster.go @@ -19,6 +19,11 @@ func (g *generator) clusterPredeploy() *arm.Template { "vnetAddressPrefix", "masterAddressPrefix", "workerAddressPrefix", + "diskEncryptionSetName", + "shouldCreateKeyVault", + "shouldCreateKey", + "rpServicePrincipalId", + "kvName", } for _, param := range params { @@ -39,6 +44,10 @@ func (g *generator) clusterPredeploy() *arm.Template { g.clusterRouteTable(), g.clusterMasterSubnet(), g.clusterWorkerSubnet(), + g.diskEncryptionKeyVault(), + g.diskEncryptionKey(), + g.diskEncryptionSet(), + g.diskEncryptionKeyVaultAccessPolicy(), ) return t diff --git a/pkg/deploy/generator/templates_dev.go b/pkg/deploy/generator/templates_dev.go index 7e03e29cccb..b4cc308f9fe 100644 --- a/pkg/deploy/generator/templates_dev.go +++ b/pkg/deploy/generator/templates_dev.go @@ -33,9 +33,11 @@ func (g *generator) devSharedTemplate() *arm.Template { g.devVnet(), g.devVPN(), g.devCIPool(), + g.devDiskEncryptionKeyvault(), g.devProxyVMSS()) for _, param := range []string{ + "azureServicePrincipalId", "ciAzpToken", "ciCapacity", "ciPoolName", diff --git a/pkg/util/azureclient/apiversions.go b/pkg/util/azureclient/apiversions.go index 95bda2d11f6..8ed94aeaa21 100644 --- a/pkg/util/azureclient/apiversions.go +++ b/pkg/util/azureclient/apiversions.go @@ -12,7 +12,7 @@ var apiVersions = map[string]string{ "microsoft.authorization": "2018-09-01-preview", "microsoft.authorization/denyassignments": "2018-07-01-preview", "microsoft.authorization/roledefinitions": "2018-01-01-preview", - "microsoft.compute": "2020-06-01", + "microsoft.compute": "2020-12-01", "microsoft.compute/disks": "2019-03-01", // 2020-06-01 doesn't exist for Microsoft.Compute/disks; needed in delete path "microsoft.compute/snapshots": "2020-05-01", // 2020-06-01 doesn't exist for Microsoft.Compute/snapshots; needed in list resources see https://github.com/Azure/ARO-RP/issues/1313 "microsoft.containerregistry": "2020-11-01-preview", diff --git a/pkg/util/azureclient/keyvault/base.go b/pkg/util/azureclient/keyvault/base.go index a867a959f3c..78945f056ff 100644 --- a/pkg/util/azureclient/keyvault/base.go +++ b/pkg/util/azureclient/keyvault/base.go @@ -14,9 +14,12 @@ import ( type BaseClient interface { CreateCertificate(ctx context.Context, vaultBaseURL string, certificateName string, parameters azkeyvault.CertificateCreateParameters) (result azkeyvault.CertificateOperation, err error) DeleteCertificate(ctx context.Context, vaultBaseURL string, certificateName string) (result azkeyvault.DeletedCertificateBundle, err error) + DeleteKey(ctx context.Context, vaultBaseURL string, keyName string) (result azkeyvault.DeletedKeyBundle, err error) GetCertificateOperation(ctx context.Context, vaultBaseURL string, certificateName string) (result azkeyvault.CertificateOperation, err error) + GetKey(ctx context.Context, vaultBaseURL string, keyName string, keyVersion string) (result azkeyvault.KeyBundle, err error) GetSecret(ctx context.Context, vaultBaseURL string, secretName string, secretVersion string) (result azkeyvault.SecretBundle, err error) GetCertificates(ctx context.Context, vaultBaseURL string, maxresults *int32, includePending *bool) (result azkeyvault.CertificateListResultPage, err error) + RecoverDeletedKey(ctx context.Context, vaultBaseURL string, keyName string) (result azkeyvault.KeyBundle, err error) SetSecret(ctx context.Context, vaultBaseURL string, secretName string, parameters azkeyvault.SecretSetParameters) (result azkeyvault.SecretBundle, err error) SetCertificateIssuer(ctx context.Context, vaultBaseURL string, issuerName string, parameter azkeyvault.CertificateIssuerSetParameters) (result azkeyvault.IssuerBundle, err error) BaseClientAddons diff --git a/pkg/util/azureclient/mgmt/compute/diskencryptionsets.go b/pkg/util/azureclient/mgmt/compute/diskencryptionsets.go index f356836ae07..2e5a7836440 100644 --- a/pkg/util/azureclient/mgmt/compute/diskencryptionsets.go +++ b/pkg/util/azureclient/mgmt/compute/diskencryptionsets.go @@ -15,6 +15,8 @@ import ( // DiskEncryptionSetsClient is a minimal interface for azure DiskEncryptionSetsClient type DiskEncryptionSetsClient interface { Get(ctx context.Context, resourceGroupName string, diskEncryptionSetName string) (result mgmtcompute.DiskEncryptionSet, err error) + + DiskEncryptionSetsClientAddons } type diskEncryptionSetsClient struct { diff --git a/pkg/util/azureclient/mgmt/compute/diskencryptionsets_addons.go b/pkg/util/azureclient/mgmt/compute/diskencryptionsets_addons.go new file mode 100644 index 00000000000..ac0124205d2 --- /dev/null +++ b/pkg/util/azureclient/mgmt/compute/diskencryptionsets_addons.go @@ -0,0 +1,22 @@ +package compute + +// Copyright (c) Microsoft Corporation. +// Licensed under the Apache License 2.0. + +import ( + "context" +) + +// DiskEncryptionSetsAddons contains addons for ResourceSkusClient +type DiskEncryptionSetsClientAddons interface { + DeleteAndWait(ctx context.Context, resourceGroupName string, diskEncryptionSetName string) error +} + +func (c *diskEncryptionSetsClient) DeleteAndWait(ctx context.Context, resourceGroupName string, diskEncryptionSetName string) error { + future, err := c.Delete(ctx, resourceGroupName, diskEncryptionSetName) + if err != nil { + return err + } + + return future.WaitForCompletionRef(ctx, c.Client) +} diff --git a/pkg/util/azureclient/mgmt/compute/disks.go b/pkg/util/azureclient/mgmt/compute/disks.go index 31f95cab0f4..4f550adb790 100644 --- a/pkg/util/azureclient/mgmt/compute/disks.go +++ b/pkg/util/azureclient/mgmt/compute/disks.go @@ -4,6 +4,8 @@ package compute // Licensed under the Apache License 2.0. import ( + "context" + mgmtcompute "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2020-06-01/compute" "github.com/Azure/go-autorest/autorest" @@ -12,6 +14,7 @@ import ( // DisksClient is a minimal interface for azure DisksClient type DisksClient interface { + Get(ctx context.Context, resourceGroupName string, diskName string) (result mgmtcompute.Disk, err error) DisksClientAddons } diff --git a/pkg/util/azureclient/mgmt/keyvault/vaults.go b/pkg/util/azureclient/mgmt/keyvault/vaults.go new file mode 100644 index 00000000000..068e9c195a3 --- /dev/null +++ b/pkg/util/azureclient/mgmt/keyvault/vaults.go @@ -0,0 +1,33 @@ +package keyvault + +// Copyright (c) Microsoft Corporation. +// Licensed under the Apache License 2.0. + +import ( + "context" + + mgmtkeyvault "github.com/Azure/azure-sdk-for-go/services/keyvault/mgmt/2019-09-01/keyvault" + "github.com/Azure/go-autorest/autorest" +) + +// VaultsClient is a minimal interface for azure VaultsClient +type VaultsClient interface { + CheckNameAvailability(ctx context.Context, vaultName mgmtkeyvault.VaultCheckNameAvailabilityParameters) (result mgmtkeyvault.CheckNameAvailabilityResult, err error) + Get(ctx context.Context, resourceGroupName string, vaultName string) (result mgmtkeyvault.Vault, err error) +} + +type vaultsClient struct { + mgmtkeyvault.VaultsClient +} + +var _ VaultsClient = &vaultsClient{} + +// NewDisksClient creates a new DisksClient +func NewVaultsClient(subscriptionID string, authorizer autorest.Authorizer) VaultsClient { + client := mgmtkeyvault.NewVaultsClient(subscriptionID) + client.Authorizer = authorizer + + return &vaultsClient{ + VaultsClient: client, + } +} diff --git a/pkg/util/cluster/cluster.go b/pkg/util/cluster/cluster.go index 4e1d8ed1c8b..f6bb2eec690 100644 --- a/pkg/util/cluster/cluster.go +++ b/pkg/util/cluster/cluster.go @@ -12,9 +12,11 @@ import ( "math/rand" "net/http" "os" + "strconv" "strings" "time" + mgmtkeyvault "github.com/Azure/azure-sdk-for-go/services/keyvault/mgmt/2019-09-01/keyvault" mgmtnetwork "github.com/Azure/azure-sdk-for-go/services/network/mgmt/2020-08-01/network" mgmtauthorization "github.com/Azure/azure-sdk-for-go/services/preview/authorization/mgmt/2018-09-01-preview/authorization" mgmtfeatures "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2019-07-01/features" @@ -36,13 +38,21 @@ import ( "github.com/Azure/ARO-RP/pkg/util/arm" "github.com/Azure/ARO-RP/pkg/util/azureclient/graphrbac" "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/authorization" + "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/compute" "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/features" + keyvaultclient "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/keyvault" "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/network" redhatopenshift20200430 "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/redhatopenshift/2020-04-30/redhatopenshift" redhatopenshift20210901preview "github.com/Azure/ARO-RP/pkg/util/azureclient/mgmt/redhatopenshift/2021-09-01-preview/redhatopenshift" + "github.com/Azure/ARO-RP/pkg/util/keyvault" "github.com/Azure/ARO-RP/pkg/util/rbac" ) +const ( + sharedKeyVaultNameSuffix string = "-diskEncKV" + discEncryptionKeySuffix string = "-disk-encryption-key" +) + type Cluster struct { log *logrus.Entry env env.Core @@ -59,6 +69,9 @@ type Cluster struct { routetables network.RouteTablesClient roleassignments authorization.RoleAssignmentsClient peerings network.VirtualNetworkPeeringsClient + diskEncryptionSets compute.DiskEncryptionSetsClient + vaultsClient keyvaultclient.VaultsClient + keyVaultAuthorizer autorest.Authorizer } type errors []error @@ -74,7 +87,7 @@ func (errs errors) Error() string { return sb.String() } -func New(log *logrus.Entry, env env.Core, ci bool) (*Cluster, error) { +func New(log *logrus.Entry, environment env.Core, ci bool) (*Cluster, error) { if env.IsLocalDevelopmentMode() { for _, key := range []string{ "AZURE_FP_CLIENT_ID", @@ -90,27 +103,35 @@ func New(log *logrus.Entry, env env.Core, ci bool) (*Cluster, error) { return nil, err } - graphAuthorizer, err := auth.NewAuthorizerFromEnvironmentWithResource(env.Environment().GraphEndpoint) + graphAuthorizer, err := auth.NewAuthorizerFromEnvironmentWithResource(environment.Environment().GraphEndpoint) + if err != nil { + return nil, err + } + + kvAuthorizer, err := auth.NewAuthorizerFromEnvironmentWithResource(environment.Environment().ResourceIdentifiers.KeyVault) if err != nil { return nil, err } c := &Cluster{ log: log, - env: env, + env: environment, ci: ci, - deployments: features.NewDeploymentsClient(env.Environment(), env.SubscriptionID(), authorizer), - groups: features.NewResourceGroupsClient(env.Environment(), env.SubscriptionID(), authorizer), - openshiftclustersv20200430: redhatopenshift20200430.NewOpenShiftClustersClient(env.Environment(), env.SubscriptionID(), authorizer), - openshiftclustersv20210901preview: redhatopenshift20210901preview.NewOpenShiftClustersClient(env.Environment(), env.SubscriptionID(), authorizer), - applications: graphrbac.NewApplicationsClient(env.Environment(), env.TenantID(), graphAuthorizer), - serviceprincipals: graphrbac.NewServicePrincipalClient(env.Environment(), env.TenantID(), graphAuthorizer), - securitygroups: network.NewSecurityGroupsClient(env.Environment(), env.SubscriptionID(), authorizer), - subnets: network.NewSubnetsClient(env.Environment(), env.SubscriptionID(), authorizer), - routetables: network.NewRouteTablesClient(env.Environment(), env.SubscriptionID(), authorizer), - roleassignments: authorization.NewRoleAssignmentsClient(env.Environment(), env.SubscriptionID(), authorizer), - peerings: network.NewVirtualNetworkPeeringsClient(env.Environment(), env.SubscriptionID(), authorizer), + deployments: features.NewDeploymentsClient(environment.Environment(), environment.SubscriptionID(), authorizer), + groups: features.NewResourceGroupsClient(environment.Environment(), environment.SubscriptionID(), authorizer), + openshiftclustersv20200430: redhatopenshift20200430.NewOpenShiftClustersClient(environment.Environment(), environment.SubscriptionID(), authorizer), + openshiftclustersv20210901preview: redhatopenshift20210901preview.NewOpenShiftClustersClient(environment.Environment(), environment.SubscriptionID(), authorizer), + applications: graphrbac.NewApplicationsClient(environment.Environment(), environment.TenantID(), graphAuthorizer), + serviceprincipals: graphrbac.NewServicePrincipalClient(environment.Environment(), environment.TenantID(), graphAuthorizer), + securitygroups: network.NewSecurityGroupsClient(environment.Environment(), environment.SubscriptionID(), authorizer), + subnets: network.NewSubnetsClient(environment.Environment(), environment.SubscriptionID(), authorizer), + routetables: network.NewRouteTablesClient(environment.Environment(), environment.SubscriptionID(), authorizer), + roleassignments: authorization.NewRoleAssignmentsClient(environment.Environment(), environment.SubscriptionID(), authorizer), + peerings: network.NewVirtualNetworkPeeringsClient(environment.Environment(), environment.SubscriptionID(), authorizer), + diskEncryptionSets: compute.NewDiskEncryptionSetsClient(environment.Environment(), environment.SubscriptionID(), authorizer), + vaultsClient: keyvaultclient.NewVaultsClient(environment.SubscriptionID(), authorizer), + keyVaultAuthorizer: kvAuthorizer, } return c, nil @@ -126,7 +147,13 @@ func (c *Cluster) Create(ctx context.Context, vnetResourceGroup, clusterName str fpSPID := os.Getenv("AZURE_FP_SERVICE_PRINCIPAL_ID") if fpSPID == "" { - return fmt.Errorf("service principal id is not found") + return fmt.Errorf("fp service principal id is not found") + } + + rpSPID := os.Getenv("AZURE_RP_CLIENT_ID") + + if rpSPID == "" { + return fmt.Errorf("rp client id is not found") } c.log.Infof("creating AAD application") @@ -161,6 +188,36 @@ func (c *Cluster) Create(ctx context.Context, vnetResourceGroup, clusterName str } } + kvName := os.Getenv("DISK_ENCRYPTION_KEYVAULT") + if kvName == "" { + kvName = fmt.Sprintf("%s%s", vnetResourceGroup, sharedKeyVaultNameSuffix) + } + + shouldCreateKey := true + if !c.ci { + serviceKeyvaultURI := fmt.Sprintf("https://%s.vault.azure.net", kvName) + serviceKeyvault := keyvault.NewManager(c.keyVaultAuthorizer, serviceKeyvaultURI) + + keyName := clusterName + discEncryptionKeySuffix + + c.log.Infoln("keyname " + keyName) + ctx, cancel := context.WithTimeout(ctx, 15*time.Second) + defer cancel() + res, err := serviceKeyvault.GetKey(ctx, keyName) + if err == nil && res.Key != nil { + c.log.Infoln("using existing key") + shouldCreateKey = false + } else { + err = serviceKeyvault.RecoverDeletedKey(ctx, keyName) + if err != nil { + c.log.Infoln("could not recover any existing key") + } else { + c.log.Infoln("recovered key") + shouldCreateKey = false + } + } + } + b, err := deploy.Asset(generator.FileClusterPredeploy) if err != nil { return err @@ -177,14 +234,39 @@ func (c *Cluster) Create(ctx context.Context, vnetResourceGroup, clusterName str return err } + // create keyvault only in CI + shouldCreateKeyVault := false + + if c.ci { + // name is limited to 24 characters, but must be globally unique, so we generate one, try if it is available + kvName = "kv-" + uuid.Must(uuid.NewV4()).String()[:21] + result, err := c.vaultsClient.CheckNameAvailability(ctx, mgmtkeyvault.VaultCheckNameAvailabilityParameters{Name: &kvName, Type: to.StringPtr("Microsoft.KeyVault/vaults")}) + if err != nil { + return err + } + + shouldCreateKeyVault = true + + if result.NameAvailable != nil && !*result.NameAvailable { + return fmt.Errorf("Could not generate unique key vault name: %v", result.Reason) + } + } + + diskEncryptionSetName := clusterName + "-des" + parameters := map[string]*arm.ParametersParameter{ "clusterName": {Value: clusterName}, "ci": {Value: c.ci}, "clusterServicePrincipalId": {Value: spID}, "fpServicePrincipalId": {Value: fpSPID}, + "rpServicePrincipalId": {Value: rpSPID}, "vnetAddressPrefix": {Value: addressPrefix}, "masterAddressPrefix": {Value: masterSubnet}, "workerAddressPrefix": {Value: workerSubnet}, + "kvName": {Value: kvName}, + "shouldCreateKeyVault": {Value: strconv.FormatBool(shouldCreateKeyVault)}, + "shouldCreateKey": {Value: strconv.FormatBool(shouldCreateKey)}, + "diskEncryptionSetName": {Value: diskEncryptionSetName}, } // TODO: ick @@ -217,20 +299,23 @@ func (c *Cluster) Create(ctx context.Context, vnetResourceGroup, clusterName str return err } + diskEncryptionSetID := fmt.Sprintf("/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/diskEncryptionSets/%s", c.env.SubscriptionID(), vnetResourceGroup, diskEncryptionSetName) + c.log.Info("creating role assignments") - for _, scope := range []string{ - "/subscriptions/" + c.env.SubscriptionID() + "/resourceGroups/" + vnetResourceGroup + "/providers/Microsoft.Network/virtualNetworks/dev-vnet", - "/subscriptions/" + c.env.SubscriptionID() + "/resourceGroups/" + vnetResourceGroup + "/providers/Microsoft.Network/routeTables/" + clusterName + "-rt", + for _, scope := range []struct{ resource, role string }{ + {"/subscriptions/" + c.env.SubscriptionID() + "/resourceGroups/" + vnetResourceGroup + "/providers/Microsoft.Network/virtualNetworks/dev-vnet", rbac.RoleNetworkContributor}, + {"/subscriptions/" + c.env.SubscriptionID() + "/resourceGroups/" + vnetResourceGroup + "/providers/Microsoft.Network/routeTables/" + clusterName + "-rt", rbac.RoleNetworkContributor}, + {diskEncryptionSetID, rbac.RoleReader}, } { for _, principalID := range []string{spID, fpSPID} { for i := 0; i < 5; i++ { _, err = c.roleassignments.Create( ctx, - scope, + scope.resource, uuid.Must(uuid.NewV4()).String(), mgmtauthorization.RoleAssignmentCreateParameters{ RoleAssignmentProperties: &mgmtauthorization.RoleAssignmentProperties{ - RoleDefinitionID: to.StringPtr("/subscriptions/" + c.env.SubscriptionID() + "/providers/Microsoft.Authorization/roleDefinitions/" + rbac.RoleNetworkContributor), + RoleDefinitionID: to.StringPtr("/subscriptions/" + c.env.SubscriptionID() + "/providers/Microsoft.Authorization/roleDefinitions/" + scope.role), PrincipalID: &principalID, PrincipalType: mgmtauthorization.ServicePrincipal, }, @@ -261,7 +346,7 @@ func (c *Cluster) Create(ctx context.Context, vnetResourceGroup, clusterName str } c.log.Info("creating cluster") - err = c.createCluster(ctx, vnetResourceGroup, clusterName, appID, appSecret, visibility, fipsValidatedModules) + err = c.createCluster(ctx, vnetResourceGroup, clusterName, appID, appSecret, diskEncryptionSetID, visibility, fipsValidatedModules) if err != nil { return err } @@ -348,6 +433,24 @@ func (c *Cluster) Delete(ctx context.Context, vnetResourceGroup, clusterName str if err != nil { errs = append(errs, err) } + + if !c.ci { + c.log.Info("deleting disk encryption set") + err = c.diskEncryptionSets.DeleteAndWait(ctx, vnetResourceGroup, clusterName+"-des") + if err != nil { + errs = append(errs, err) + } + + serviceKeyvaultURI := fmt.Sprintf("https://%s.vault.azure.net", vnetResourceGroup+sharedKeyVaultNameSuffix) + serviceKeyvault := keyvault.NewManager(c.keyVaultAuthorizer, serviceKeyvaultURI) + + c.log.Info("deleting disk encryption key") + err := serviceKeyvault.DeleteKey(ctx, clusterName+discEncryptionKeySuffix) + if err != nil { + errs = append(errs, err) + } + } + } c.log.Info("done") @@ -362,7 +465,7 @@ func (c *Cluster) Delete(ctx context.Context, vnetResourceGroup, clusterName str // createCluster created new clusters, based on where it is running. // development - using preview api // production - using stable GA api -func (c *Cluster) createCluster(ctx context.Context, vnetResourceGroup, clusterName, clientID, clientSecret string, visibility api.Visibility, fipsValidatedModules api.FipsValidatedModules) error { +func (c *Cluster) createCluster(ctx context.Context, vnetResourceGroup, clusterName, clientID, clientSecret, diskEncryptionSetID string, visibility api.Visibility, fipsValidatedModules api.FipsValidatedModules) error { // using internal representation for "singe source" of options oc := api.OpenShiftCluster{ Properties: api.OpenShiftClusterProperties{ @@ -381,18 +484,20 @@ func (c *Cluster) createCluster(ctx context.Context, vnetResourceGroup, clusterN SoftwareDefinedNetwork: api.SoftwareDefinedNetworkOpenShiftSDN, }, MasterProfile: api.MasterProfile{ - VMSize: api.VMSizeStandardD8sV3, - EncryptionAtHost: api.EncryptionAtHostDisabled, - SubnetID: fmt.Sprintf("/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/virtualNetworks/dev-vnet/subnets/%s-master", c.env.SubscriptionID(), vnetResourceGroup, clusterName), + VMSize: api.VMSizeStandardD8sV3, + SubnetID: fmt.Sprintf("/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/virtualNetworks/dev-vnet/subnets/%s-master", c.env.SubscriptionID(), vnetResourceGroup, clusterName), + EncryptionAtHost: api.EncryptionAtHostEnabled, + DiskEncryptionSetID: diskEncryptionSetID, }, WorkerProfiles: []api.WorkerProfile{ { - Name: "worker", - VMSize: api.VMSizeStandardD4sV3, - EncryptionAtHost: api.EncryptionAtHostDisabled, - DiskSizeGB: 128, - SubnetID: fmt.Sprintf("/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/virtualNetworks/dev-vnet/subnets/%s-worker", c.env.SubscriptionID(), vnetResourceGroup, clusterName), - Count: 3, + Name: "worker", + VMSize: api.VMSizeStandardD4sV3, + DiskSizeGB: 128, + SubnetID: fmt.Sprintf("/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Network/virtualNetworks/dev-vnet/subnets/%s-worker", c.env.SubscriptionID(), vnetResourceGroup, clusterName), + Count: 3, + EncryptionAtHost: api.EncryptionAtHostEnabled, + DiskEncryptionSetID: diskEncryptionSetID, }, }, APIServerProfile: api.APIServerProfile{ diff --git a/pkg/util/keyvault/keyvault.go b/pkg/util/keyvault/keyvault.go index f43c51bab37..99fcdfc3ae5 100644 --- a/pkg/util/keyvault/keyvault.go +++ b/pkg/util/keyvault/keyvault.go @@ -32,11 +32,14 @@ const ( type Manager interface { CreateSignedCertificate(context.Context, string, string, string, Eku) error + DeleteKey(context.Context, string) error EnsureCertificateDeleted(context.Context, string) error GetBase64Secret(context.Context, string) ([]byte, error) GetCertificateSecret(context.Context, string) (*rsa.PrivateKey, []*x509.Certificate, error) GetSecret(context.Context, string) (azkeyvault.SecretBundle, error) GetSecrets(context.Context) ([]azkeyvault.SecretItem, error) + GetKey(ctx context.Context, keyName string) (result azkeyvault.KeyBundle, err error) + RecoverDeletedKey(context.Context, string) error SetCertificateIssuer(ctx context.Context, issuerName string, parameter azkeyvault.CertificateIssuerSetParameters) (result azkeyvault.IssuerBundle, err error) SetSecret(context.Context, string, azkeyvault.SecretSetParameters) error WaitForCertificateOperation(context.Context, string) error @@ -76,6 +79,11 @@ func getShortCommonName(commonName string) string { return shortCommonName } +func (m *manager) DeleteKey(ctx context.Context, name string) error { + _, err := m.kv.DeleteKey(ctx, m.keyvaultURI, name) + return err +} + func (m *manager) CreateSignedCertificate(ctx context.Context, issuer string, certificateName, commonName string, eku Eku) error { shortCommonName := getShortCommonName(commonName) @@ -180,6 +188,15 @@ func (m *manager) GetSecrets(ctx context.Context) ([]azkeyvault.SecretItem, erro return m.kv.GetSecrets(ctx, m.keyvaultURI, nil) } +func (m *manager) RecoverDeletedKey(ctx context.Context, keyName string) error { + _, err := m.kv.RecoverDeletedKey(ctx, m.keyvaultURI, keyName) + return err +} + +func (m *manager) GetKey(ctx context.Context, keyName string) (azkeyvault.KeyBundle, error) { + return m.kv.GetKey(ctx, m.keyvaultURI, keyName, "") +} + func (m *manager) SetCertificateIssuer(ctx context.Context, issuerName string, parameter azkeyvault.CertificateIssuerSetParameters) (azkeyvault.IssuerBundle, error) { return m.kv.SetCertificateIssuer(ctx, m.keyvaultURI, issuerName, parameter) } diff --git a/pkg/util/mocks/azureclient/keyvault/keyvault.go b/pkg/util/mocks/azureclient/keyvault/keyvault.go index 941b21c0dee..7ae5665ea56 100644 --- a/pkg/util/mocks/azureclient/keyvault/keyvault.go +++ b/pkg/util/mocks/azureclient/keyvault/keyvault.go @@ -65,6 +65,21 @@ func (mr *MockBaseClientMockRecorder) DeleteCertificate(arg0, arg1, arg2 interfa return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteCertificate", reflect.TypeOf((*MockBaseClient)(nil).DeleteCertificate), arg0, arg1, arg2) } +// DeleteKey mocks base method. +func (m *MockBaseClient) DeleteKey(arg0 context.Context, arg1, arg2 string) (keyvault.DeletedKeyBundle, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteKey", arg0, arg1, arg2) + ret0, _ := ret[0].(keyvault.DeletedKeyBundle) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteKey indicates an expected call of DeleteKey. +func (mr *MockBaseClientMockRecorder) DeleteKey(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKey", reflect.TypeOf((*MockBaseClient)(nil).DeleteKey), arg0, arg1, arg2) +} + // GetCertificateOperation mocks base method. func (m *MockBaseClient) GetCertificateOperation(arg0 context.Context, arg1, arg2 string) (keyvault.CertificateOperation, error) { m.ctrl.T.Helper() @@ -95,6 +110,21 @@ func (mr *MockBaseClientMockRecorder) GetCertificates(arg0, arg1, arg2, arg3 int return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCertificates", reflect.TypeOf((*MockBaseClient)(nil).GetCertificates), arg0, arg1, arg2, arg3) } +// GetKey mocks base method. +func (m *MockBaseClient) GetKey(arg0 context.Context, arg1, arg2, arg3 string) (keyvault.KeyBundle, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetKey", arg0, arg1, arg2, arg3) + ret0, _ := ret[0].(keyvault.KeyBundle) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetKey indicates an expected call of GetKey. +func (mr *MockBaseClientMockRecorder) GetKey(arg0, arg1, arg2, arg3 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKey", reflect.TypeOf((*MockBaseClient)(nil).GetKey), arg0, arg1, arg2, arg3) +} + // GetSecret mocks base method. func (m *MockBaseClient) GetSecret(arg0 context.Context, arg1, arg2, arg3 string) (keyvault.SecretBundle, error) { m.ctrl.T.Helper() @@ -125,6 +155,21 @@ func (mr *MockBaseClientMockRecorder) GetSecrets(arg0, arg1, arg2 interface{}) * return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSecrets", reflect.TypeOf((*MockBaseClient)(nil).GetSecrets), arg0, arg1, arg2) } +// RecoverDeletedKey mocks base method. +func (m *MockBaseClient) RecoverDeletedKey(arg0 context.Context, arg1, arg2 string) (keyvault.KeyBundle, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RecoverDeletedKey", arg0, arg1, arg2) + ret0, _ := ret[0].(keyvault.KeyBundle) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RecoverDeletedKey indicates an expected call of RecoverDeletedKey. +func (mr *MockBaseClientMockRecorder) RecoverDeletedKey(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecoverDeletedKey", reflect.TypeOf((*MockBaseClient)(nil).RecoverDeletedKey), arg0, arg1, arg2) +} + // SetCertificateIssuer mocks base method. func (m *MockBaseClient) SetCertificateIssuer(arg0 context.Context, arg1, arg2 string, arg3 keyvault.CertificateIssuerSetParameters) (keyvault.IssuerBundle, error) { m.ctrl.T.Helper() diff --git a/pkg/util/mocks/azureclient/mgmt/compute/compute.go b/pkg/util/mocks/azureclient/mgmt/compute/compute.go index c7375ad252a..ebab395e248 100644 --- a/pkg/util/mocks/azureclient/mgmt/compute/compute.go +++ b/pkg/util/mocks/azureclient/mgmt/compute/compute.go @@ -49,6 +49,21 @@ func (mr *MockDisksClientMockRecorder) DeleteAndWait(arg0, arg1, arg2 interface{ return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAndWait", reflect.TypeOf((*MockDisksClient)(nil).DeleteAndWait), arg0, arg1, arg2) } +// Get mocks base method. +func (m *MockDisksClient) Get(arg0 context.Context, arg1, arg2 string) (compute.Disk, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", arg0, arg1, arg2) + ret0, _ := ret[0].(compute.Disk) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockDisksClientMockRecorder) Get(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockDisksClient)(nil).Get), arg0, arg1, arg2) +} + // MockResourceSkusClient is a mock of ResourceSkusClient interface. type MockResourceSkusClient struct { ctrl *gomock.Controller @@ -391,6 +406,20 @@ func (m *MockDiskEncryptionSetsClient) EXPECT() *MockDiskEncryptionSetsClientMoc return m.recorder } +// DeleteAndWait mocks base method. +func (m *MockDiskEncryptionSetsClient) DeleteAndWait(arg0 context.Context, arg1, arg2 string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteAndWait", arg0, arg1, arg2) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteAndWait indicates an expected call of DeleteAndWait. +func (mr *MockDiskEncryptionSetsClientMockRecorder) DeleteAndWait(arg0, arg1, arg2 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteAndWait", reflect.TypeOf((*MockDiskEncryptionSetsClient)(nil).DeleteAndWait), arg0, arg1, arg2) +} + // Get mocks base method. func (m *MockDiskEncryptionSetsClient) Get(arg0 context.Context, arg1, arg2 string) (compute.DiskEncryptionSet, error) { m.ctrl.T.Helper() diff --git a/pkg/util/mocks/keyvault/keyvault.go b/pkg/util/mocks/keyvault/keyvault.go index 8c5f8a71ac5..f6bdb763537 100644 --- a/pkg/util/mocks/keyvault/keyvault.go +++ b/pkg/util/mocks/keyvault/keyvault.go @@ -53,6 +53,20 @@ func (mr *MockManagerMockRecorder) CreateSignedCertificate(arg0, arg1, arg2, arg return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSignedCertificate", reflect.TypeOf((*MockManager)(nil).CreateSignedCertificate), arg0, arg1, arg2, arg3, arg4) } +// DeleteKey mocks base method. +func (m *MockManager) DeleteKey(arg0 context.Context, arg1 string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteKey", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// DeleteKey indicates an expected call of DeleteKey. +func (mr *MockManagerMockRecorder) DeleteKey(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteKey", reflect.TypeOf((*MockManager)(nil).DeleteKey), arg0, arg1) +} + // EnsureCertificateDeleted mocks base method. func (m *MockManager) EnsureCertificateDeleted(arg0 context.Context, arg1 string) error { m.ctrl.T.Helper() @@ -98,6 +112,21 @@ func (mr *MockManagerMockRecorder) GetCertificateSecret(arg0, arg1 interface{}) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCertificateSecret", reflect.TypeOf((*MockManager)(nil).GetCertificateSecret), arg0, arg1) } +// GetKey mocks base method. +func (m *MockManager) GetKey(arg0 context.Context, arg1 string) (keyvault0.KeyBundle, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetKey", arg0, arg1) + ret0, _ := ret[0].(keyvault0.KeyBundle) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetKey indicates an expected call of GetKey. +func (mr *MockManagerMockRecorder) GetKey(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetKey", reflect.TypeOf((*MockManager)(nil).GetKey), arg0, arg1) +} + // GetSecret mocks base method. func (m *MockManager) GetSecret(arg0 context.Context, arg1 string) (keyvault0.SecretBundle, error) { m.ctrl.T.Helper() @@ -128,6 +157,20 @@ func (mr *MockManagerMockRecorder) GetSecrets(arg0 interface{}) *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSecrets", reflect.TypeOf((*MockManager)(nil).GetSecrets), arg0) } +// RecoverDeletedKey mocks base method. +func (m *MockManager) RecoverDeletedKey(arg0 context.Context, arg1 string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RecoverDeletedKey", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// RecoverDeletedKey indicates an expected call of RecoverDeletedKey. +func (mr *MockManagerMockRecorder) RecoverDeletedKey(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecoverDeletedKey", reflect.TypeOf((*MockManager)(nil).RecoverDeletedKey), arg0, arg1) +} + // SetCertificateIssuer mocks base method. func (m *MockManager) SetCertificateIssuer(arg0 context.Context, arg1 string, arg2 keyvault0.CertificateIssuerSetParameters) (keyvault0.IssuerBundle, error) { m.ctrl.T.Helper() diff --git a/test/e2e/disk_encryption.go b/test/e2e/disk_encryption.go new file mode 100644 index 00000000000..b5bd149e5b5 --- /dev/null +++ b/test/e2e/disk_encryption.go @@ -0,0 +1,101 @@ +package e2e + +// Copyright (c) Microsoft Corporation. +// Licensed under the Apache License 2.0. + +import ( + "context" + "fmt" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" + + mgmtcompute "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2020-06-01/compute" + "github.com/Azure/go-autorest/autorest/to" + + "github.com/Azure/ARO-RP/pkg/util/stringutils" +) + +var _ = Describe("Encryption at host should be enabled", func() { + BeforeEach(skipIfNotInDevelopmentEnv) + + Specify("each VM should have encryption at host enabled", func() { + ctx := context.Background() + + By("getting the resource group where the VM instances live in") + oc, err := clients.OpenshiftClustersv20200430.Get(ctx, vnetResourceGroup, clusterName) + Expect(err).NotTo(HaveOccurred()) + clusterResourceGroup := stringutils.LastTokenByte(*oc.OpenShiftClusterProperties.ClusterProfile.ResourceGroupID, '/') + + By("listing all VMs") + vms, err := clients.VirtualMachines.List(ctx, clusterResourceGroup) + Expect(err).NotTo(HaveOccurred()) + Expect(vms).NotTo(HaveLen(0)) + + By("checking the encryption property on each VM") + for _, vm := range vms { + log.Println(vm.Name) + Expect(vm.SecurityProfile).To(Not(BeNil())) + Expect(vm.SecurityProfile.EncryptionAtHost).To(Not(BeNil())) + Expect(*vm.SecurityProfile.EncryptionAtHost).To(Equal(true)) + } + + }) +}) + +var _ = Describe("Disk encryption at rest should be enabled with customer managed key", func() { + BeforeEach(skipIfNotInDevelopmentEnv) + + // We have to get the disks by VM, because when getting all disks by resource group, we do not get recently created disks, see https://github.com/Azure/azure-cli/issues/17123 + Specify("each disk should have encryption at rest with customer managed key enabled", func() { + ctx := context.Background() + + By("getting the resource group where the VM instances live in") + oc, err := clients.OpenshiftClustersv20200430.Get(ctx, vnetResourceGroup, clusterName) + Expect(err).NotTo(HaveOccurred()) + clusterResourceGroup := stringutils.LastTokenByte(*oc.OpenShiftClusterProperties.ClusterProfile.ResourceGroupID, '/') + + By("listing all VMs") + vms, err := clients.VirtualMachines.List(ctx, clusterResourceGroup) + Expect(err).NotTo(HaveOccurred()) + Expect(vms).NotTo(HaveLen(0)) + + By("attaching arbitrary data disks to the VMs") + diskEncryptionSetId := fmt.Sprintf("/subscriptions/%s/resourceGroups/%s/providers/Microsoft.Compute/diskEncryptionSets/%s", _env.SubscriptionID(), vnetResourceGroup, clusterName+"-des") + for _, vm := range vms { + vm.StorageProfile.DataDisks = &[]mgmtcompute.DataDisk{{ + Lun: to.Int32Ptr(0), + CreateOption: mgmtcompute.DiskCreateOptionTypesEmpty, + DiskSizeGB: to.Int32Ptr(1), + ManagedDisk: &mgmtcompute.ManagedDiskParameters{ + DiskEncryptionSet: &mgmtcompute.DiskEncryptionSetParameters{ID: to.StringPtr(diskEncryptionSetId)}, + }, + }} + err = clients.VirtualMachines.CreateOrUpdateAndWait(ctx, clusterResourceGroup, *vm.Name, vm) + Expect(err).NotTo(HaveOccurred()) + } + + // get the VMs again because now the disks have been created and they received generated names + vms, err = clients.VirtualMachines.List(ctx, clusterResourceGroup) + Expect(err).NotTo(HaveOccurred()) + Expect(vms).NotTo(HaveLen(0)) + + By("checking the encryption property on each OS disk of each VM") + for _, vm := range vms { + osDisk, err := clients.Disks.Get(ctx, clusterResourceGroup, *vm.StorageProfile.OsDisk.Name) + Expect(err).NotTo(HaveOccurred()) + Expect(osDisk.Encryption.Type).To(Equal(mgmtcompute.EncryptionAtRestWithCustomerKey)) + } + + By("checking the encryption property on each data disk of each VM") + for _, vm := range vms { + Expect(vm.StorageProfile.DataDisks).NotTo(BeNil()) + Expect(*vm.StorageProfile.DataDisks).NotTo(BeEmpty()) + for _, dataDisk := range *vm.StorageProfile.DataDisks { + disk, err := clients.Disks.Get(ctx, clusterResourceGroup, *dataDisk.Name) + Expect(err).NotTo(HaveOccurred()) + Expect(disk.Encryption.Type).To(Equal(mgmtcompute.EncryptionAtRestWithCustomerKey)) + } + } + }) +}) diff --git a/test/e2e/setup.go b/test/e2e/setup.go index cd4510bbcbc..e96a9844b5d 100644 --- a/test/e2e/setup.go +++ b/test/e2e/setup.go @@ -45,6 +45,7 @@ type clientSet struct { Resources features.ResourcesClient ActivityLogs insights.ActivityLogsClient VirtualNetworks network.VirtualNetworksClient + Disks compute.DisksClient RestConfig *rest.Config Kubernetes kubernetes.Interface @@ -133,6 +134,7 @@ func newClientSet(ctx context.Context) (*clientSet, error) { Resources: features.NewResourcesClient(_env.Environment(), _env.SubscriptionID(), authorizer), ActivityLogs: insights.NewActivityLogsClient(_env.Environment(), _env.SubscriptionID(), authorizer), VirtualNetworks: network.NewVirtualNetworksClient(_env.Environment(), _env.SubscriptionID(), authorizer), + Disks: compute.NewDisksClient(_env.Environment(), _env.SubscriptionID(), authorizer), RestConfig: restconfig, Kubernetes: cli,