blob: 3305d23befdffc15bcbfc364768645b654e6085a [file] [log] [blame]
# Copyright 2017-present Open Networking Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
pull_docker_registry:
images:
xos_core:
repository: xosproject/xos
tag: 'master'
pullPolicy: 'IfNotPresent'
xos_gui:
repository: xosproject/xos-gui
tag: 'master'
pullPolicy: 'IfNotPresent'
xos_db:
repository: xosproject/xos-postgres
tag: 'master'
pullPolicy: 'IfNotPresent'
xos_tosca:
repository: xosproject/xos-tosca
tag: 'master'
pullPolicy: 'IfNotPresent'
xos_chameleon:
repository: xosproject/chameleon
tag: 'master'
pullPolicy: 'IfNotPresent'
node:
repository: node
tag: '7.9.0'
pullPolicy: 'IfNotPresent'
redis:
repository: redis
tag: '3.2'
pullPolicy: 'IfNotPresent'
xos_ws:
repository: xosproject/xos-ws
tag: 'master'
pullPolicy: 'IfNotPresent'
node_ports:
ws_service_port: 30008
gui_service_port: 30001
db_service_port: 30002
core_secure_service_port: 30003
core_insecure_service_port: 30004
redis_service_port: 30005
chameleon_service_port: 30006
tosca_service_port: 30007
configs:
core_config:
name: xos-core
database:
name: xos
username: postgres
password: password
logging:
version: 1
handlers:
console:
class: logging.StreamHandler
file:
class: logging.handlers.RotatingFileHandler
filename: /var/log/xos.log
maxBytes: 10485760
backupCount: 5
loggers:
'':
handlers:
- console
- file
level: DEBUG
xos_dir: /opt/xos
db_config: 'xos-db'
gateway_config:
default:
xos:
host: xost
port: 9000
redis:
host: redis
port: 6379
gateway:
port: 3000
gui_app: |
angular.module('app')
.constant('AppConfig', {
apiEndpoint: '/xosapi/v1',
websocketClient: '/'
});
gui_style: |
angular.module('app')
.constant('StyleConfig', {
projectName: 'R-CORD',
favicon: 'cord-favicon.png',
background: 'cord-bg.jpg',
payoff: 'Your VNF orchestrator',
logo: 'cord-logo.png',
routes: [
{
label: 'Slices',
state: 'xos.core.slice',
},
{
label: 'Nodes',
state: 'xos.core.node',
},
{
label: 'Instances',
state: 'xos.core.instance',
},
]
});
initial_data_config:
- model: core.Site
fields:
name: "my_site"
abbreviated_name: "my_site"
login_base: "my_site"
site_url: "http://opencord.org/"
hosts_nodes: true
- model: core.User
fields:
email: "admin@opencord.org"
password: "letmein"
firstname: "XOS"
lastname: "User"
is_admin: True
relations:
site:
fields:
name: "my_site"
model: core.Site
tosca_config:
name: xos-tosca
gprc_endpoint: "xos-core"
local_cert: /usr/local/share/ca-certificates/local_certs.crt
logging:
version: 1
handlers:
console:
class: logging.StreamHandler
file:
class: logging.handlers.RotatingFileHandler
filename: /var/log/xos.log
maxBytes: 10485760
backupCount: 5
loggers:
'':
handlers:
- console
- file
level: DEBUG
secrets:
im_cert_chain: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYyakNDQThLZ0F3SUJBZ0lDRUFBd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z1lreEN6QUpCZ05WQkFZVEFsVlQKTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saE1STXdFUVlEVlFRSERBcE5aVzVzYnlCUVlYSnJNUTh3RFFZRApWUVFLREFaUFRpNU1ZV0l4R0RBV0JnTlZCQXNNRDFSbGMzUWdSR1Z3Ykc5NWJXVnVkREVsTUNNR0ExVUVBd3djClEwOVNSQ0JVWlhOMElFUmxjR3h2ZVcxbGJuUWdVbTl2ZENCRFFUQWVGdzB4TnpFeU1UUXdNRFE1TUROYUZ3MHgKT1RFeU1UUXdNRFE1TUROYU1HNHhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUTh3RFFZRFZRUUtEQVpQVGk1TVlXSXhHREFXQmdOVkJBc01EMVJsYzNRZ1JHVndiRzk1YldWdWRERWZNQjBHCkExVUVBd3dXVFhsVGFYUmxJRWx1ZEdWeWJXVmthV0YwWlNCRFFUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFPTDVRT0l5YmpJRXRjVkY3Y2hRV3c0Q3Z1QkhCVGpCSmMxcEh3SjRDSzlsYm04RgpJMXNFbW1pd20yTWtJRG9WQ2lBQk5ld1JtVTRTcU4wUG5QOWlGNjV2NlpTbHlXT25hVHF1SitTck9tM1F6MHZmCkZuSHZmWkZycC9BU3FhUlBxQVUrVlR3dTVsb2VHcEZIS3F1MXhxZUpQNWlSaVdTS3hWdk1XeS9TUnhsU0FudVkKTG84WkRrWllpdWZYY1dJaEMzWGdXb081ckVuZVcxS1FXdWdnU1l1dUFPMDJkV2hPQklJTlJPQTZSdUdWdWw0Uwo1S1oxTE5tclAyS2c1a0JoaG1xclhLZWJudzdkZTg2emthV0RlcG1LajZiUWtiRGNWYTJXdU1mTS9Yd0dqd0d3CkwwT2RRRzB3dzFhMFdYTi9NMU5WVnBManNFTDZ2U0Q0UlR0RlZYZWFPRkZ3VGphUXpVSGgxUHdsRkI1S25nM0oKcXBnNzdRdXUvVFdvcHI5ZXBPNk1oZ25KSmliSzB3MzZvaUt1YUJiMGt4TjlKOHVQbERiWlpuRm1NYk9jYjVNOQpzU1A0cTJ3ODJuYkdmRm0rZFR6OU9Ddi9aUWc3Nm5XTk8vVWFEMFR6c25zZjBMZ3dXL1dqR3pEd0w3Rk0vTXRoCnI2eUQ5dVRiRnR1TzdGbGp4NUZMZ2thc200bzRQbzBsR3RFMCtWUXg5bTRiN014R1RITThBcm1ES1lzTTJTeXUKdG5ZeXBHQjE4T0c2NENrTEhzejJkU2dhb1BVVDY1MW9UbnRTZDZMU2hGazR1VVpxVjdrYnBzSGRhK2s0UlgwNApSejI3RUcwQ0V3R0RDYnhVTnJCcVlTZzdZNENJSklodnB1Mm8vSGNsREsxV09tZGYrL3h2M0M0RHBYb1RBZ01CCkFBR2paakJrTUIwR0ExVWREZ1FXQkJSWis4akR3eVRORzdzMVAzdElEY2Q0RXFCbnZEQWZCZ05WSFNNRUdEQVcKZ0JUVFVvazdCSzZnVHZ2cjFnUkJxUyswdDBjanNUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUJoakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBemU1NlZGTjRJRkdQaVk4ZHZkL1pscCtxCjMvSENUdDFJemE5cFlhTi9KY2U3b1hlOVRNZDJWWXJ5VmdWZVc1aWJ5eDdQVGhINFBDMHRrMUZFeUNoZFZHV0IKclRrSGE4T25vQ0lqdVFDS3FPV1hPRkNMMkQyaEwxTjRFNHYyeW02UmpNeWVMRDgvQW8wUGUvYkFyUGVkZHV6WgplY21MdTFLN2Q2Y3RPbmV6cXJwRm1YemN2WDVVUFFyVlppWHFGcHVxRzl1TWQrTkVMTWFTMC85K3NwUlF6VE5WClg4RStET1RsbVU5eTVxMHNiR0ZscFV0a0JuVnJ4cllQV2tLMnRWK2phOGpLSitiZFJuNktSZzIyZjkyTndleFMKK1BlUWI0bzltOG9jSnVFanpnczZDbjM3L3FIWXc1YXVjdkJBUU4yYk85NXArN2k0WGh2OVo3UjRGcFE3amY2QgpSV3NSc3dvclpTZWo3N1Fva0JqQ1VZVzVnK2xObHh1UjRacks5VjMxVC9USkkrSHB5YjJYSVFWYUJxbkF3bGRxCnlsNGZMN3dibTg1blQ4Q29tZ1prRWZzMEd3T2FHOFhWdEFROTJGQ3p5bFdKcXpYaEVNbElzdlNqVCs5ZU5FZzIKM0Vnc24xendRdU14aWRpQk5DaThyT3c3UlNBN0UzM1l6TTBMQk5pRWJSS012YWVKbm1sUU5tZGh5YmJXYUpwQwp6R1hYd1lMRkhjK3FsUGsvMFdodVJvNVVKRUx5REJ0ai9HK0U2OFhLdm1iSUZMdjdJNmN0S2Z3RHhZNVFXajJvCmF0NDlsS3dWMS9jUSt0d3B1Ym1NcmtYUzlwaExhVHBvTFNiOVRFUDZTWmVqNVgzQVB2aUVzZkltUjlLQ0MwSHMKRzBnL0pVTkgyVWJWbU5pZld2bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQotLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS0KTUlJRitqQ0NBK0tnQXdJQkFnSUpBSnhvbU5IbkovTXRNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1JR0pNUXN3Q1FZRApWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tRMkZzYVdadmNtNXBZVEVUTUJFR0ExVUVCd3dLVFdWdWJHOGdVR0Z5CmF6RVBNQTBHQTFVRUNnd0dUMDR1VEdGaU1SZ3dGZ1lEVlFRTERBOVVaWE4wSUVSbGNHeHZlVzFsYm5ReEpUQWoKQmdOVkJBTU1IRU5QVWtRZ1ZHVnpkQ0JFWlhCc2IzbHRaVzUwSUZKdmIzUWdRMEV3SGhjTk1UY3hNakUwTURBMApPRFUzV2hjTk1qY3hNakV5TURBME9EVTNXakNCaVRFTE1Ba0dBMVVFQmhNQ1ZWTXhFekFSQmdOVkJBZ01Da05oCmJHbG1iM0p1YVdFeEV6QVJCZ05WQkFjTUNrMWxibXh2SUZCaGNtc3hEekFOQmdOVkJBb01CazlPTGt4aFlqRVkKTUJZR0ExVUVDd3dQVkdWemRDQkVaWEJzYjNsdFpXNTBNU1V3SXdZRFZRUUREQnhEVDFKRUlGUmxjM1FnUkdWdwpiRzk1YldWdWRDQlNiMjkwSUVOQk1JSUNJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBZzhBTUlJQ0NnS0NBZ0VBCjBQMWNhZTluQThEYUdBMEM3L0pnbk0zWCtJdk1rMlVaem1hdHJuL1FhVTZhWWZZbWNRTW5LOGZYbDBoTmg0cVQKZVc1QlVFeUE5Q1I3Q0lXSDh1ZVkvWnBFaDJ2SHB1U0hBWk1YcFdjOWtNYmRCUHVYQlpNTFZXRjFpYXhYdm9TcgpocGNLNmxzRFd3a3JrT2IvbjVHTUpPR1VDYk5aalBUdjJLMkt3UW1kTE1FQmg3S29CT1k1SVNoL1lFL3AyNExGCmhCVVAxTEJ5dXBSUExEdkJhazkrc3h0NVpyM3BtRDh1clpuekNGMnVQZ09rWFJNRStRM081Rmg5eU91TzNDYXkKazNhQnlWRmhJMnRjdUdFTXFodmNoeU9QaDhPNEFXb2xJbnVyWFRCNWpqcHNVSlFlWlBZLzFuaHAxU1VOckNnKwpFbnlvclBtVW5JL1BqWW9SV1E3U1htcWRKanFKVm5XZUZ5eThXeU8xeGl2QTVsTzFrZVRlbFVvWnhxSUlieUtiCjVKcEdNMnFUaTR3dlo1cXdHL1Z2emUzN0cwOUk5bjBlZ1FsdDBrRmI3N2Z4TVRyYzZIKzV0ZkNOZVBWZ0FYajIKalJ1bnBFTDhsS1ZOdHJqVEQ5aEQ4Mm10a3FPcVFZZ29jWDRldXVNQWFNSE5QMzdmWWpvNjBEQXRUNzNPRnNMNApnRGc0ZnlOaG4rQmdKK2pkU2IxNGRpT2lxRG0zcnYrZDhZeWpCd0p6dXJyOXhnMU5zQnI1ZjVZNTgzbDN5UElyCnVSOEV5UzBuNjNIMG4wWkUvT1VuV253dzZGTWVCNXZBc2ZUVDlxZlJhQ1QvUXZTcmFzSVJwd2pCRzFBZ3FlWUUKT3R6QzE3WXQzckx0K3NhU1VyVTI4dnZJelREL2UrS3QxV0RBdHllRWRuVUNBd0VBQWFOak1HRXdIUVlEVlIwTwpCQllFRk5OU2lUc0VycUJPKyt2V0JFR3BMN1MzUnlPeE1COEdBMVVkSXdRWU1CYUFGTk5TaVRzRXJxQk8rK3ZXCkJFR3BMN1MzUnlPeE1BOEdBMVVkRXdFQi93UUZNQU1CQWY4d0RnWURWUjBQQVFIL0JBUURBZ0dHTUEwR0NTcUcKU0liM0RRRUJDd1VBQTRJQ0FRQTNMWkFoSGVHTnZtMVZaSG1xMUkySU5JVGxnZXg0bldZMy90Y3VCUXpDN1RpbgpJNk1rdWVTVUdoN3JSMWJ6Q1UyUlpvd2E1aGkyQzRVSEJYcWR2cDRoRnNoL2MvV0VEVmtNbWttWS9lTERJVjZDClVXUGpYaXRmeDlrWkh4eWZJbEVNc3JuS3lmTFRDK0E3ZkxOQWhocE1OZHFFZlB3UG9GbTFzbGVuSG54NU9PMWkKY2NZUVc4d2tIS1pCQzdhUElZbXdiSEFIWGpPeGFmYkpKUmFRQ2hhTURHdmt0b0NwaVdzWWxydWx0SHRYRU1tQgpuVWliM0k3VFhFekNBdFVONDN4a1MwY21ZWXZkK3I4M24vSEZLWk5VeHl5NXRXZUJZWE0xWVFiQTBGTU1qQnhYClg5ZGppYkxVTC9oenJ3ZkFLa1dPMFRQMWxrV1cwTkh5d3BySVdtWmVUVWJJb3dVWFRpSFdYMzk3a241QTRMMngKZHFhQS94TFEvMjd4VUJnUmJZZ1J0eVY4eWJWQWdUNEdKbyswY1NvR1EycTdMVzVidWxUMjM1ZjZqSEM5b0xHTwo2UDVwenYrZWozS1BSdWZDVlJMMHk4WjlHYlAzZmVxejQ0bHNXRWg3N056UWdSaVdaYUMxdFFaYjFKWitmam5ECnVHZlJNM085WW9Lb0tKMHo1VW5WVk13TDl0K0JFbVp5TGNvYzRoVVgzTDJjT1VpM0VaaC9jeTEvREpGODg0UDcKQlgyY0lWcWM4ZU1rL1ZYbE5CY1d3RlpzVGM4Vk56SUprbExKYlJuOERQWmhxWHNlYjBCZXNlU1B6M0EvKzh4TApCZTJzbFBPK01KWVdLSGZPKzNvZmNibUFpUnMvNTkxOVpiMy9rVyt4c3ROQ1V3b0pBeTk1bXF2Ukg4TFo0Zz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0=
core_api_cert: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZvVENDQTRtZ0F3SUJBZ0lCQWpBTkJna3Foa2lHOXcwQkFRc0ZBREJ1TVFzd0NRWURWUVFHRXdKVlV6RVQKTUJFR0ExVUVDQXdLUTJGc2FXWnZjbTVwWVRFUE1BMEdBMVVFQ2d3R1QwNHVUR0ZpTVJnd0ZnWURWUVFMREE5VQpaWE4wSUVSbGNHeHZlVzFsYm5ReEh6QWRCZ05WQkFNTUZrMTVVMmwwWlNCSmJuUmxjbTFsWkdsaGRHVWdRMEV3CkhoY05NVGN4TWpFME1EQTBPVEEyV2hjTk1UZ3hNakUwTURBME9UQTJXakNCZ0RFTE1Ba0dBMVVFQmhNQ1ZWTXgKRXpBUkJnTlZCQWdNQ2tOaGJHbG1iM0p1YVdFeEV6QVJCZ05WQkFjTUNrMWxibXh2SUZCaGNtc3hEekFOQmdOVgpCQW9NQms5T0xreGhZakVhTUJnR0ExVUVDd3dSVFhsVGFYUmxJRVJsY0d4dmVXMWxiblF4R2pBWUJnTlZCQU1NCkVYaHZjeTFqYjNKbExtTnZjbVF1YkdGaU1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0MKQVFFQTQwc3ZtbzBnK1dtZVdxQ083djR4ZFBUK1h5OHdVSTYxcGFacWdmZXhZT3lYSkpxMW1lSUlVZnNtSVl6VAp3cFBodEh4c2YzbE8rUGZwRzk4a3NHNXgvVUV5djhlN2RLaHpDalFrcER1b0loRUMwdUcrbjZDTVJsMDF0elRyCnFGaCtNVURoUmV4SFhRcjV5Z3c5TFBNU0RkL3dhYWduN21RelZTdzJ0bnpha3Y3ODY3YzFPRFFHekxyRGx4RVUKQ3FaY1F2cUV5UnJHWmF6WlZ0SFJmamV0eldKdzZYbDRVUGl6eldqVWFaMEhPMG9JWFMwa0tmbjhrZ1c4dDZEUgpuNDFTTTRRQlZTY21XWm9WUUFOc1lCL0ROZEdGMDF2ODUvVktMV2J5YkVUbGJCVXZhSEVPZWJCMlo1Tm1tcXZ6CkpEN1JRbVdJaWZrUjVLOWZWTjdtNERRc01RSURBUUFCbzRJQk5UQ0NBVEV3SFFZRFZSME9CQllFRkIzeEFHNzIKZ3VhZ29rOEJzT3orZnQxd0htMC9NSUczQmdOVkhTTUVnYTh3Z2F5QUZGbjd5TVBESk0wYnV6VS9lMGdOeDNnUwpvR2U4b1lHUHBJR01NSUdKTVFzd0NRWURWUVFHRXdKVlV6RVRNQkVHQTFVRUNBd0tRMkZzYVdadmNtNXBZVEVUCk1CRUdBMVVFQnd3S1RXVnViRzhnVUdGeWF6RVBNQTBHQTFVRUNnd0dUMDR1VEdGaU1SZ3dGZ1lEVlFRTERBOVUKWlhOMElFUmxjR3h2ZVcxbGJuUXhKVEFqQmdOVkJBTU1IRU5QVWtRZ1ZHVnpkQ0JFWlhCc2IzbHRaVzUwSUZKdgpiM1FnUTBHQ0FoQUFNQWtHQTFVZEV3UUNNQUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HCkNDc0dBUVVGQndNQk1DWUdBMVVkRVFRZk1CMkNFWGh2Y3kxamIzSmxMbU52Y21RdWJHRmlnZ2g0YjNNdFkyOXkKWlRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVRPYmFpWHNBS3hlUTRLN2QwVXV0d0RWeXFka29lTkhwbm1QWApIS1JOY2w4eEUwZjZxczdxcTl3VlJ3NDhiMVlkTEhzcHAyclRsUGY3d09WSUw4UEhVWElUWlkyL0p0b0tQTlRnClp6Wlpxd2tsVEdSekJoYStESE8ydzdlYzZPWDZXcVM5U091aXRsZnhFWjVPNm45WUJha3VUc1hOZHZYbW9rTDAKK3ZwMkVHSHpSYlgxaDc1R3JPbmhjem03Q1FjaU5HVUlqZDNrN0RsK0RsMGs2Tm5aK2VXbUltd0RuU2lzdzhuVwpZUUVGRHgxYlNKYVpNS0NwM0hyN2s5b1ByL0JsYkJPaXI4Yis4em91Vm5BYkVRWVdiV3hwVWVlNXNQT2tEamd3ClV6d0lHVnRSYjBZTlpaS3BEdTIwOUxLYjQ5dFR5TXBmaVdUNTU4VzZJTU9lV3lia1Izd0RvUXFNVHpvNHBUaHEKdFh5T2JJZ2Z2MHJLbU1rM2NPMWNLM1R2ODdNMFJ2a2YrajFnTEVYWTdlK1BiSXYvNExaUTVnUUpua1lLVXY3WApVWmlFRDdRdlVEbnk5M1hKNzc5S0cxTkRNZkx1QTFKU2p4USsrcDFHL3VzLzNwcmg2SmViVUJrUjRZaklIeHRlCmNDYTFpdE5wN0crWWkxdHU0TUN3dEZ5Y1QxbzRaS2o2MThPUXJRRjc1RG9RWGNiU2ZyM1NSVTF5aU1FQzdrM08KTkE4TXdOZjB1WWljRlZ4aG93U1FLME16dWh0QnR6ZDhMTjd0YVBrL1FGOTRyNU85aWF0b205Q2lzaW1GWXAvNwp4R1g3eEJvTWI1U2JNZVI1bXYrbmlUUWExb1hZQXBSU2ZHSW8yeWxTaDdaZFhjUy9ySlNETWxzYVg1L3lUcXRMCkhWRW0xNDQ9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYyakNDQThLZ0F3SUJBZ0lDRUFBd0RRWUpLb1pJaHZjTkFRRUxCUUF3Z1lreEN6QUpCZ05WQkFZVEFsVlQKTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saE1STXdFUVlEVlFRSERBcE5aVzVzYnlCUVlYSnJNUTh3RFFZRApWUVFLREFaUFRpNU1ZV0l4R0RBV0JnTlZCQXNNRDFSbGMzUWdSR1Z3Ykc5NWJXVnVkREVsTUNNR0ExVUVBd3djClEwOVNSQ0JVWlhOMElFUmxjR3h2ZVcxbGJuUWdVbTl2ZENCRFFUQWVGdzB4TnpFeU1UUXdNRFE1TUROYUZ3MHgKT1RFeU1UUXdNRFE1TUROYU1HNHhDekFKQmdOVkJBWVRBbFZUTVJNd0VRWURWUVFJREFwRFlXeHBabTl5Ym1saApNUTh3RFFZRFZRUUtEQVpQVGk1TVlXSXhHREFXQmdOVkJBc01EMVJsYzNRZ1JHVndiRzk1YldWdWRERWZNQjBHCkExVUVBd3dXVFhsVGFYUmxJRWx1ZEdWeWJXVmthV0YwWlNCRFFUQ0NBaUl3RFFZSktvWklodmNOQVFFQkJRQUQKZ2dJUEFEQ0NBZ29DZ2dJQkFPTDVRT0l5YmpJRXRjVkY3Y2hRV3c0Q3Z1QkhCVGpCSmMxcEh3SjRDSzlsYm04RgpJMXNFbW1pd20yTWtJRG9WQ2lBQk5ld1JtVTRTcU4wUG5QOWlGNjV2NlpTbHlXT25hVHF1SitTck9tM1F6MHZmCkZuSHZmWkZycC9BU3FhUlBxQVUrVlR3dTVsb2VHcEZIS3F1MXhxZUpQNWlSaVdTS3hWdk1XeS9TUnhsU0FudVkKTG84WkRrWllpdWZYY1dJaEMzWGdXb081ckVuZVcxS1FXdWdnU1l1dUFPMDJkV2hPQklJTlJPQTZSdUdWdWw0Uwo1S1oxTE5tclAyS2c1a0JoaG1xclhLZWJudzdkZTg2emthV0RlcG1LajZiUWtiRGNWYTJXdU1mTS9Yd0dqd0d3CkwwT2RRRzB3dzFhMFdYTi9NMU5WVnBManNFTDZ2U0Q0UlR0RlZYZWFPRkZ3VGphUXpVSGgxUHdsRkI1S25nM0oKcXBnNzdRdXUvVFdvcHI5ZXBPNk1oZ25KSmliSzB3MzZvaUt1YUJiMGt4TjlKOHVQbERiWlpuRm1NYk9jYjVNOQpzU1A0cTJ3ODJuYkdmRm0rZFR6OU9Ddi9aUWc3Nm5XTk8vVWFEMFR6c25zZjBMZ3dXL1dqR3pEd0w3Rk0vTXRoCnI2eUQ5dVRiRnR1TzdGbGp4NUZMZ2thc200bzRQbzBsR3RFMCtWUXg5bTRiN014R1RITThBcm1ES1lzTTJTeXUKdG5ZeXBHQjE4T0c2NENrTEhzejJkU2dhb1BVVDY1MW9UbnRTZDZMU2hGazR1VVpxVjdrYnBzSGRhK2s0UlgwNApSejI3RUcwQ0V3R0RDYnhVTnJCcVlTZzdZNENJSklodnB1Mm8vSGNsREsxV09tZGYrL3h2M0M0RHBYb1RBZ01CCkFBR2paakJrTUIwR0ExVWREZ1FXQkJSWis4akR3eVRORzdzMVAzdElEY2Q0RXFCbnZEQWZCZ05WSFNNRUdEQVcKZ0JUVFVvazdCSzZnVHZ2cjFnUkJxUyswdDBjanNUQVNCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUFNQTRHQTFVZApEd0VCL3dRRUF3SUJoakFOQmdrcWhraUc5dzBCQVFzRkFBT0NBZ0VBemU1NlZGTjRJRkdQaVk4ZHZkL1pscCtxCjMvSENUdDFJemE5cFlhTi9KY2U3b1hlOVRNZDJWWXJ5VmdWZVc1aWJ5eDdQVGhINFBDMHRrMUZFeUNoZFZHV0IKclRrSGE4T25vQ0lqdVFDS3FPV1hPRkNMMkQyaEwxTjRFNHYyeW02UmpNeWVMRDgvQW8wUGUvYkFyUGVkZHV6WgplY21MdTFLN2Q2Y3RPbmV6cXJwRm1YemN2WDVVUFFyVlppWHFGcHVxRzl1TWQrTkVMTWFTMC85K3NwUlF6VE5WClg4RStET1RsbVU5eTVxMHNiR0ZscFV0a0JuVnJ4cllQV2tLMnRWK2phOGpLSitiZFJuNktSZzIyZjkyTndleFMKK1BlUWI0bzltOG9jSnVFanpnczZDbjM3L3FIWXc1YXVjdkJBUU4yYk85NXArN2k0WGh2OVo3UjRGcFE3amY2QgpSV3NSc3dvclpTZWo3N1Fva0JqQ1VZVzVnK2xObHh1UjRacks5VjMxVC9USkkrSHB5YjJYSVFWYUJxbkF3bGRxCnlsNGZMN3dibTg1blQ4Q29tZ1prRWZzMEd3T2FHOFhWdEFROTJGQ3p5bFdKcXpYaEVNbElzdlNqVCs5ZU5FZzIKM0Vnc24xendRdU14aWRpQk5DaThyT3c3UlNBN0UzM1l6TTBMQk5pRWJSS012YWVKbm1sUU5tZGh5YmJXYUpwQwp6R1hYd1lMRkhjK3FsUGsvMFdodVJvNVVKRUx5REJ0ai9HK0U2OFhLdm1iSUZMdjdJNmN0S2Z3RHhZNVFXajJvCmF0NDlsS3dWMS9jUSt0d3B1Ym1NcmtYUzlwaExhVHBvTFNiOVRFUDZTWmVqNVgzQVB2aUVzZkltUjlLQ0MwSHMKRzBnL0pVTkgyVWJWbU5pZld2bz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==
core_api_key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBNDBzdm1vMGcrV21lV3FDTzd2NHhkUFQrWHk4d1VJNjFwYVpxZ2ZleFlPeVhKSnExCm1lSUlVZnNtSVl6VHdwUGh0SHhzZjNsTytQZnBHOThrc0c1eC9VRXl2OGU3ZEtoekNqUWtwRHVvSWhFQzB1RysKbjZDTVJsMDF0elRycUZoK01VRGhSZXhIWFFyNXlndzlMUE1TRGQvd2FhZ243bVF6VlN3MnRuemFrdjc4NjdjMQpPRFFHekxyRGx4RVVDcVpjUXZxRXlSckdaYXpaVnRIUmZqZXR6V0p3NlhsNFVQaXp6V2pVYVowSE8wb0lYUzBrCktmbjhrZ1c4dDZEUm40MVNNNFFCVlNjbVdab1ZRQU5zWUIvRE5kR0YwMXY4NS9WS0xXYnliRVRsYkJVdmFIRU8KZWJCMlo1Tm1tcXZ6SkQ3UlFtV0lpZmtSNUs5ZlZON200RFFzTVFJREFRQUJBb0lCQVFDc2ZWZHYrMkFseHhDRQppRXBRZHBtRHY1VDNHVEdhUU9MN0JoTFg5T2dvdlFOcXBQbmlBUlg5V1JJejdkS2FYRzJ4OGFiSkNuOXpFM2hWClRYOWpZVDJpU3dNL1pVME9GL1BOcjRxTEZEYmhPM1dnSWU3dTV3RHRPVGxWZ3BUQVdmL1NVd0ZpZGhBbVBQa1oKYXpaVjBWVkhNRVliZUtCdEdwK1dLSXFRN0tsWFdUcHZxNDgvd3lGeGtZc0g4MU1UaE9hTDNFZGZHa1BKU2FzawpjRlhxUHZhZ2dCQkJYUW9aNUFTZUZvWGZrZDdmRVVCQlNSVWRFWVZFOE8xdkw2VzBOUTBDV0EyNjUvQnl1aE9OCkZoME53SHNNbHhPTEsyeFpKc2thN1FvZi94SXE1Rkh4UVBTdkVRTUhaRXM4S3kzUk1CLzdvMWt5dmtXSlZURCsKRjRCTWFDK3RBb0dCQVAzaEtZSGQ3Y2Fxc3VxZ0R5UVBRSll6VzJaczlkL0ZQU29nbGxtZ2NLOGpTMGZTUzFMUworOEpTQWxJdUdvVGxkSHlZYUUvcnlvN0lvZmVwRk8yZ0dZa2ttcHl6aWErL0tRcjRzcXFkdmlpdmxGbEZYNXZTCld1eXNVT05ndGFteUVUZDlycFd3Y2FuT2FhU2IwTHZYYS8vUk5leWFNNTJxd3hxamZUUTJ5dTZyQW9HQkFPVXgKTGNGMXJUU1MzVUFzOUZLZXd4YWdvd1Rmc0o2R29XK1NBQzRXWEt4WGNUS3dJcVVoTHBZUTF6Z0xVb0RaR1hmRApkd0ZhVjhBN3d1TzZtQWliSjFUckNqdDc4Wi9wZEd1a3lXSDJ4YzZHNkU5bE12QVFCY3hIeFR4a2U2QmdjZlltCkIvY3dFYWJrYzJMc1FjNTVUU3hheUlaL2FmN2xZcWpGSDhKY2gyQ1RBb0dBT2xrRFJ4dVFTRFozQkVGZytYS2YKNzJWQ1Bsb1FjQ3RPa1Y0SDcvVlZzSXEyQkgycVhoQ3JWOCt0Uk9IZnFtZHB6RERpMkd0aWxFbzhIMFUyMEI0WgpnRkZ2VDFCYjlvNUNpb2o1MXdpRjZhZmd1bHVkUzV5ZTFRSU5YUlNlNjY5SEVhL0s3aEF0TDArSExCTzdkMUJkCk8rQURPcXQ5N1dDUGtwRzhkc0daQmgwQ2dZRUF0aTB5SG8yb1FKcmdqUXR1cFdHVzFweVhGOStxWjBmQ2VJbkgKNU5wWGpaSHY0NGVIOGxQKzBML1FJcmMxUEQvVTg1S0dQS2dRQ2pnMmdJZW9JMmNZaTNKTWJ0M2xRT1B6YTBEUAo1ak9lSmJ5c1diZXFGcEhWMmZ2T2RtTzB0TlVVb01DNElpNnVTVWRieEd6aEhmcmpjZmN6WDExVjVvdDBzWXdHCjQ1cGk3VXNDZ1lBSzByNnZWajJZRHlBVS8vMk10eGxpSjNJMEs0Rm5SU2JHOFJyOFMvTXJzOHlseW02Z3E2eW0KOS9KWWp6cU93YzZYZ2xDTk45ZVNsRzlzdW13ak85bjV4SlZjZ3JkT3hJa1gvakpDODBiV2xRN2wxU0VZa1ZHcQpDcThOaUZyaWs1VW1ycVhrdUU1NmxaNjQrOGkzZ1BXN0wxZm5OMURoK01FSWZQbUtUOUx6Qmc9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=