From ecc452ddf4dc059587326ecf88c747a037209e72 Mon Sep 17 00:00:00 2001 From: i15232 Date: Mon, 19 Sep 2022 23:56:07 +0530 Subject: [PATCH 1/9] Initial commit --- .citd/Jenkinsfilek8s | 254 +++++++++++++++++++++++ .citd/cloudprovider.yml | 30 +++ .citd/dataModelWithBoardProperties | 316 +++++++++++++++++++++++++++++ .gitignore | 54 +++++ .main-meta/main.json | 45 ++++ LICENSE.txt | 9 + README.md | 2 +- changelog.md | 9 + images/microchip.jpg | Bin 0 -> 6868 bytes 9 files changed, 718 insertions(+), 1 deletion(-) create mode 100644 .citd/Jenkinsfilek8s create mode 100644 .citd/cloudprovider.yml create mode 100644 .citd/dataModelWithBoardProperties create mode 100644 .gitignore create mode 100644 .main-meta/main.json create mode 100644 LICENSE.txt create mode 100644 changelog.md create mode 100644 images/microchip.jpg diff --git a/.citd/Jenkinsfilek8s b/.citd/Jenkinsfilek8s new file mode 100644 index 0000000..89e4f3a --- /dev/null +++ b/.citd/Jenkinsfilek8s @@ -0,0 +1,254 @@ +/* + Jenkins Shared Library: + ---------------------- + shared-library-mcu16ce - https://bitbucket.microchip.com/scm/citd/shared-library-mcu16ce.git + shared-library-common - https://bitbucket.microchip.com/scm/citd/shared-library-common.git +*/ +@Library(['shared-library-mcu16ce@master', 'shared-library-common@master']) _ + +pipeline { + agent { + kubernetes { + inheritFrom 'mclv2-mchv2-dspic33ck256mp508-an1160-github-deployment' + defaultContainer 'xc16-mplabx-sonar-fmpp-python' + yamlFile '.citd/cloudprovider.yml' + } + } + + environment { + /* + Common Information + */ + NOTIFICATION_EMAIL = '1f1319de.microchip.com@amer.teams.ms' + // GitHub production organization name + GITHUB_PRODUCTION_ORGANIZATION = "microchip-pic-avr-examples" + + /* + GitHub Deploy Stage Information + */ + //This is the BitBucket source repo URL to be deployed + BITBUCKET_SOURCE_URL = 'https://bitbucket.microchip.com/scm/mcu16ce/mclv2-mchv2-dspic33ck256mp508-an1160.git' + //Files or folders to be excluded from deployment, if multiple files or folders use comma separator + DEPLOY_EXCLUDE_FOLDER_FILE_LIST = 'mchp_private,.mchp_private,sandbox,.sandbox' + //Branch(s) to be deployed, if multiple branches use comma separator. DEPLOY_BRANCH_LIST is the target branch of the PR. + DEPLOY_BRANCH_LIST = "master" + /*When using the main.json schema version 1.3.0 or higher, the PORTAL will first reject registration attempt when an unapproved keyword is found, but can be forced to accept. + This argument is used to provide the list of unapproved keywords (also listed in main.json) which the deployment script will force the PORTAL to accept.*/ + UNAPPROVED_KEYWORDS_OVERRIDE_LIST="NONE" + + /* + GitHub Page Stage Information + List of GitHub Page Options: + ---------------------------- + 1. GITHUB_PAGES_NONE ( Branch: None, index file path: None ) + 2. GITHUB_PAGES_MASTER_ROOT ( Branch: Master, index file path: /root ) + 3. GITHUB_PAGES_MASTER_DOCS ( Branch: Master, index file path: /Docs ) + 4. GITHUB_PAGES_DEVELOP_ROOT ( Branch: Develop, index file path: /root ) + 5. GITHUB_PAGES_DEVELOP_DOCS ( Branch: Develop, index file path: /Docs ) + */ + GITHUB_PAGES = 'GITHUB_PAGES_NONE' + + /* + Project Build Stage Information + */ + MPLABX_PROJECT_SOURCE = "../" + } + + options { + timestamps() + timeout(time: 30, unit: 'MINUTES') + } + + stages { + stage('Checkout') { + steps { + checkout scm + } + } + + stage('project config update') { + steps { + script { + mplabxProjectConfigUpdate( + sourceFilePath: "${env.MPLABX_PROJECT_SOURCE}" + ) + } + } + } + + stage('Build') { + steps { + script { + mplabxProjectBuild( + sourceFilePath: "${env.MPLABX_PROJECT_SOURCE}" + ) + } + } + } + + + //MisraCheck code analysis + stage('MISRA Check') { + steps { + script { + misraCheck( + sourceProjectPath: "${env.MPLABX_PROJECT_SOURCE}" + ) + } + } + } + + // Validate main.json file + stage('Validate main.json') { + steps { + script { + validateMetaData( + unapprovedKeywordsOverrideList: "${UNAPPROVED_KEYWORDS_OVERRIDE_LIST}" + ) + } + } + } + + stage('Doxygen files generation') { + when { + anyOf { + allOf { + not { changeRequest() } + } + } + } + steps { + container('buildtools') { + script { + doxygen() + } + } + } + } + + // GitHub repo creation + stage('GitHub Repo Creation') { + when { + anyOf { + allOf { + not { changeRequest() } + anyOf {branch 'master'; branch 'test_deploy';} + } + } + } + + steps { + script { + githubRepoCreate( + githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}", + deployBranchList: "${DEPLOY_BRANCH_LIST}" + ) + } + } + } + + // Deploying the code to GitHub + stage('GitHub Deploy Source') { + when { + anyOf { + allOf { + not { changeRequest() } + anyOf {branch 'master'; branch 'test_deploy';} + } + } + } + + steps { + script { + githubDeploySource( + bitbucketUrl: "${env.BITBUCKET_SOURCE_URL}", + deployBranchList: "${env.DEPLOY_BRANCH_LIST}", + deployExcludeFileList: "${env.DEPLOY_EXCLUDE_FOLDER_FILE_LIST}", + githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}" + ) + } + } + } + + // Creating GitHub release + stage('GitHub release') { + when { + anyOf { + allOf { + not { changeRequest() } + anyOf {branch 'master'; branch 'test_deploy';} + } + } + } + + steps { + script { + githubReleaseCreate( + githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}", + deployBranchList: "${DEPLOY_BRANCH_LIST}" + ) + } + } + } + + // Creating GitHub Page + stage('GitHub Page Create') { + when { + anyOf { + allOf { + not { changeRequest() } + anyOf {branch 'master';} + } + } + } + + steps { + script { + githubPageCreate( + githubPage: "${env.GITHUB_PAGES}", + githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}" + ) + } + } + } + + //Deploying the Github content to portal + stage('Portal-Deploy') { + when { + allOf { + not { changeRequest() } + anyOf {branch 'master';} + } + } + steps { + script { + portalDeploy( + githubOrgName: "${env.GITHUB_PRODUCTION_ORGANIZATION}", + unapprovedKeywordsOverrideList: "${UNAPPROVED_KEYWORDS_OVERRIDE_LIST}" + ) + } + } + } + } + + post { + success{ + script { + sendMail( + mailId: "${env.NOTIFICATION_EMAIL}", + subject: "Successful Pipeline: ${currentBuild.fullDisplayName}", + body: "Something is right with ${env.BUILD_URL}" + ) + } + } + failure { + script { + sendMail( + mailId: "${env.NOTIFICATION_EMAIL}", + subject: "Failure Pipeline: ${currentBuild.fullDisplayName}", + body: "Something is right with ${env.BUILD_URL}" + ) + } + } + } +} diff --git a/.citd/cloudprovider.yml b/.citd/cloudprovider.yml new file mode 100644 index 0000000..fd8e44e --- /dev/null +++ b/.citd/cloudprovider.yml @@ -0,0 +1,30 @@ +apiVersion: v1 +kind: Pod +metadata: + name: xc16-mplabx-sonar-fmpp-python +spec: + containers: + - name: xc16-mplabx-sonar-fmpp-python + image: artifacts.microchip.com:7999/microchip/citd/bundles/xc16-mplabx-sonar-fmpp-python-yarn-node:latest + imagePullPolicy: Always + command: ['cat'] + tty: true + resources: + requests: + cpu: 500m + memory: 1500Mi + limits: + cpu: 1 + memory: 2Gi + - name: buildtools + image: artifacts.microchip.com:7999/microchip/buildtools/doxygen:1.8.15-r0 + imagePullPolicy: Always + command: ['cat'] + tty: true + resources: + requests: + cpu: 500m + memory: 750Mi + limits: + cpu: 1 + memory: 1Gi diff --git a/.citd/dataModelWithBoardProperties b/.citd/dataModelWithBoardProperties new file mode 100644 index 0000000..85209af --- /dev/null +++ b/.citd/dataModelWithBoardProperties @@ -0,0 +1,316 @@ +model: + autotune_result: + current: + Ki: 612.5321846792705 + Kp: 0.41442002622928326 + phase_margin: 80 + pi_phase_lag: 45 + wc: 1478.0467784160103 + velocity: + Ki: 0.6018330918512376 + Kp: 0.036271415387420625 + phase_margin: 65 + pi_phase_lag: 10 + wc: 94.10068605825529 + controller: {} + drive: + configuration: + displayName: "MCLV-2" + id: mclv2 + name: "dsPICDEM™ MCLV-2 Development Board" + partNumber: "DM330021-2" + peripherals: + adc: + channelConfig: + - channel: AN0 + customName: MCAF_ADC_PHASEB_CURRENT + sign: signed + - channel: AN1 + customName: MCAF_ADC_DCLINK_CURRENT + sign: signed + - channel: AN4 + customName: MCAF_ADC_DCLINK_VOLTAGE + sign: unsigned + - channel: AN18 + customName: MCAF_ADC_POTENTIOMETER + sign: unsigned + customName: MCAF_Motor_ADC + dataOutputFormat: Fractional + interruptDriven: false + requestedSharedSamplingTime_us: 10 + resolution: 12 + generatorMapping: + interruptOnChange: none + isAnalogPin: false + isOpenDrain: false + isWeakPullDown: false + isWeakPullUp: false + gpio: + - customName: MCAF_LED1 + direction: output + id: gpio1 + pinSelected: RE9 + - customName: MCAF_LED2 + direction: output + id: gpio2 + pinSelected: RE8 + - customName: MCAF_BUTTON1 + direction: input + id: gpio3 + pinSelected: RD5 + - customName: MCAF_BUTTON2 + direction: input + id: gpio4 + pinSelected: RE7 + oscillator: + available: + frequency: 8000000 + type: resonator + defaultValue: "max-frequency" + pwm: + customName: MCAF_Motor_PWM + frequency: + defaultValue: 20000 + maximum: 50000 + generatorMapping: + - generator: 1 + name: MOTOR1_PHASE_A + - generator: 2 + name: MOTOR1_PHASE_B + - generator: 3 + name: MOTOR1_PHASE_C + interruptDriven: false + polarity: + faultInput: "Active-low" + lower: "Active-high" + upper: "Active-high" + requestedDeadTime_us: + defaultValue: 2 + minimum: 2 + synchronousUpdate: true + qei: + - countsPerRevolution: 100 + customName: MCAF_QEI + homePulseCaptureEnable: false + homePulsePolarity: true + id: qei1 + indexPulseCaptureEnable: false + indexPulsePolarity: true + noiseFilterEnable: false + pinMapping: + - direction: input + functionName: A + pin: RD1 + - direction: input + functionName: B + pin: RD2 + - direction: input + functionName: INDEX + pin: RD3 + qeiOperationMode: "Modulo Count Mode" + timer: + - customName: MC_TMR_TICK + id: timer1 + - customName: MC_TMR_PROFILE + id: timer2 + uart: + baudRate: 4375000 + dataSize: 8 + interruptDriven: false + parity: None + pinMapping: + - name: TX + pinSelected: RD6 + - name: RX + pinSelected: RD7 + stopBits: 1 + supportedPim: + - 33ep256mc506_extopamp + - 33ck256mp508_extopamp + - 33ck64mc105_extopamp + - 33ck64mp105_extopamp + estimator: + omega1: 732 + tau: 0.00219 + type: pll + idc: + maximum: 2.9 + units: A + iout: + fullscale: 4.4 + maximum: + continuous: 2.29 + measurement: + compensation: + channels: + - a + - b + values: + a: + - 0.891 + - -0.03 + b: + - -0.004 + - 0.965 + time_constant: 0.0000015 + units: A + metadata: + id: mclv2 + name: "dsPICDEM MCLV-2 Development Board" + processor: + clock_frequency: 100000000 + device: dsPIC33CK256MP508 + familyName: dsPIC33CK256MP508 + pim: "dspic33ep256mc506-external-opamp" + pwm: + deadtime: 2e-12 + duty_cycle: + maximum: 0.9777 + minimum: 0.005 + period: 0.00005 + sampling_time: + current: 0.00005 + velocity: 0.001 + vbus: 24 + vdc: + fullscale: 52.8 + maximum: 26 + minimum: 16 + nominal: 24 + time_constant: 0.000188 + units: V + metadata: + MCC: + "architecture ": melody + peripheral_library: + name: melody + version: NA + version: "5.4.4" + data_model: + schema_version: 2 + motorBench: + commit_id: 6062ee969f17e173cb8502638f1e3c8ee7bea3fb + version: "2.45.0-dev.2" + motor: + B: 0.0000322134 + J: 0.000018079199999999998 + Ke: 0.037146886986834084 + L: 0.00035898099999999997 + Ld: 0.000368467 + Lq: 0.000349495 + R: 0.37160175 + Tfr: 0.0048125 + current: + maximum: + continuous: 4.53 + peak: 4.53 + units: A + id: Hurst300 + poleCount: 10 + rated_current: 4.53 + velocity: + maximum: 628.3185307 + nominal: 381.5987877 + units: "rad/s" + operating_range: + velocity: + minimum: 104.7198 + units: "rad/s" + units_qualifier: mechanical + scdata: + setup: + analysis: + max_motor_speed: + units: "rad/s mechanical" + value: 2094.4 + spindown_time: + units: s + value: 1 + calibration: + resistor: + units: ohms + value: 12 + vdc: + units: V + value: 24 + communications: + baudrate: 625000 +state: + config: + ui: + content: + "board_service-uiButtonDebounceTime": 7 + "board_service-uiButtonLongPressTime": 2.5 + "board_service-uiServiceTiming": 1 + "deadtimecomp-method": none + "deadtimecomp-perphase-current_sign_band": 0.02 + "deadtimecomp-perphase-feedback_gain": 0 + "deadtimecomp-perphase-forward_gain": 0 + "encoder-index_present": false + "encoder-lines": 250 + "encoder-qei_sync-align-angle_init": -30 + "encoder-qei_sync-align-angle_shift": 30 + "encoder-qei_sync-align-t_align": 0.5 + "encoder-qei_sync-align_sweep-setup_angle": 45 + "encoder-qei_sync-align_sweep-sweep_rate_pow": 1 + "encoder-qei_sync-method": align + "encoder-qei_sync-pullout-pullout_slip": 0.117 + "encoder-tracking_loop-tau": 1.5 + "estimator-active-atpll": false + "estimator-active-ideal": false + "estimator-active-pll": false + "estimator-active-qei": false + "estimator-type": pll + "fault_detect-margin_ov": 2 + "fault_detect-margin_uv": 2 + "fault_inject-get_tf-div0": false + "fault_inject-get_tf-missing_data": false + "fault_inject-get_tf-raise_custom_error": false + "fault_inject-get_tf-raise_value_error": false + "fault_inject-tf-div0": false + "fault_inject-tf-tau": 0 + "fault_inject-tf-tf_jy": false + "fault_inject-tf-tf_jyex": false + "fault_inject-tf-tf_null": false + "flux_control-eqn_based-fluxweak_enable": false + "flux_control-eqn_based-fw-vdq_limit": 0.95 + "flux_control-eqn_based-ilimit-id_limit": 0.7 + "flux_control-eqn_based-ilimit-iq_limit": 0.95 + "flux_control-eqn_based-ilimit-region_type": quadratic + "flux_control-eqn_based-mtpa_enable": false + "flux_control-method": none + "mcapi-iqTau": 1 + "mcapi-isSquaredTau": 1 + "operation-coastdown-end_velocity": 0.05 + "operation-coastdown-time": 1.2 + "operation-fullscale_base_ratio": 1.5 + "operation-max_velocity_ratio": 1.25 + "operation-min_velocity": 83.3333 + "operation-saliency-threshold": 1.25 + "operation-slewrate-accel": 0.5 + "operation-slewrate-decel": 1 + "overmodulation-vd_limit": 1 + "overmodulation-vq_limit": 1.15 + "pll-omega1": 116.5 + "pll-tau": 2.19 + "pll-velocity_filter_threshold": 1 + "startup-Istartup": 0.75 + "startup-damping-Imax": 0.1 + "startup-damping-gainmax": 40 + "startup-damping-omega_min": 0.4 + "startup-method": classic + "startup-min_total_accel_time": 250 + "startup-omega0": 0.2 + "startup-t_align": 0 + "startup-t_hold": 0 + "startup-t_rampup": 25 + "startup-theta_converge_rate": 1 + "startup-torque_scale_accel": 0.15 + "startup-torque_scale_slow_accel": 0.2 + status: + valid: true + version: + MCAF: R6 + motorBench: "???" + schema: 3 +updateCount: 1 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f0f3b78 --- /dev/null +++ b/.gitignore @@ -0,0 +1,54 @@ +# .gitignore file +# +# Set up for Microchip/MPLAB X® development +# +# Default gitignore files for code examples, only removing/ignoring usual MPLAB X® clutter + +# Excluding object files +*.o +*.ko +*.obj +*.elf + +# Excluding documentation output directories +#docs/ + +# Excluding any executables +*.exe + +#Excluding Files/Folders Auto-Generated by Test Harness +.generated_files/ + +# Excluding Netbeans specific build directories and file types +~*.* +.generated_files/ +nbproject/build/ +nbproject/dist/ +nbproject/private/ +nbproject/disassembly/ +build/ +dist/ +private/ +disassembly/ +*.zip +!code-templates.zip +*.mk +*.bash +*.dump +Makefile-genesis.properties + +# Excluding MPLAB X® Trace files +*.log +*.inx + +# KDE specific +.directory + +# Misc +.svn +*.bak +*.doc +*.docx + + + diff --git a/.main-meta/main.json b/.main-meta/main.json new file mode 100644 index 0000000..62e7b6b --- /dev/null +++ b/.main-meta/main.json @@ -0,0 +1,45 @@ +{ + "metaDataVersion":"1.0.0", + "category":"com.microchip.ide.project", + "content":{ + "metaDataVersion":"1.3.0", + "name":"com.microchip.mplabx.project.mclv2-mchv2-dspic33ck256mp508-an1160", + "version":"x.x.x", + "displayName":"xxxxxxxxxxxxxxx", + "projectName":"mclv2-mchv2-dspic33ck256mp508-an1160", + "shortDescription":"xxxxxxxxxxxxxxx", + "ide":{ + "name":"MPLABX", + "semverRange":">=5.40.0" + }, + "compiler":{ + "name":"XC16", + "semverRange":"^1.50.0" + }, + "dfp":{ + "name":"xxxxxxxxxxxxxxx", + "semverRange":">=x.x.x" + }, + "configurator": { + "name": "MCC", + "semverRange": ">=4.0.1" + }, + "device":{ + "metaDataVersion":"1.0.0", + "category":"com.microchip.portal.contentRef", + "content":{ + "metaDataVersion":"1.0.0", + "category":"com.microchip.device", + "name":"xxxxxxxxxxxxxxx", + "versionRange":"*" + } + }, + "peripherals":[ + "GPIO" + ], + "keywords":[ + "GPIO", + "UART" + ] + } +} \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..41d012a --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,9 @@ +© [2020] Microchip Technology Inc. and its subsidiaries + +Subject to your compliance with these terms, you may use this Microchip software and any derivatives exclusively with Microchip products. You are responsible +for complying with third party license terms applicable to your use of third party software (including open source software) that may accompany this Microchip +software. SOFTWARE IS “AS IS.” NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, +MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL LOSS, +DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE +FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP’S TOTAL LIABILITY ON ALL CLAIMS RELATED TO THE SOFTWARE WILL NOT EXCEED AMOUNT OF FEES, IF ANY, YOU +PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE. diff --git a/README.md b/README.md index 6b46ea3..4486a1f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![image](images/microchip.jpg) -## %repoDescritpion% +## mclv2 mchv2 dspic33ck256mp508 an1160 Board Image if any. diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..9fd2c95 --- /dev/null +++ b/changelog.md @@ -0,0 +1,9 @@ +# mclv2-mchv2-dspic33ck256mp508-an1160 v1.00 +### Release Highlights + + + +### Features Added\Updated + + + diff --git a/images/microchip.jpg b/images/microchip.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8b1829c1b335f4a9ab441bce3ccc49fd75fa37ff GIT binary patch literal 6868 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 Date: Wed, 28 Sep 2022 10:13:54 +0800 Subject: [PATCH 2/9] added the MPLABX project and edited the necessary files for deployment --- .citd/Jenkinsfilek8s | 2 + .citd/dataModelWithBoardProperties | 316 - .main-meta/main.json | 30 +- README.md | 18 +- bldc.X/AN1160_bldc.mc3 | 57354 ++++++++++++++++ bldc.X/Makefile | 113 + bldc.X/button_service.c | 149 + bldc.X/button_service.h | 120 + bldc.X/docs/AN1160_Readme.pdf | Bin 0 -> 1724367 bytes bldc.X/main.c | 525 + .../mcc_generated_files/X2Cscope/X2Cscope.c | 41 + .../mcc_generated_files/X2Cscope/X2Cscope.h | 50 + .../X2Cscope/X2CscopeComm.c | 128 + .../X2Cscope/X2CscopeComm.h | 56 + .../X2Cscope/libx2cscope-33ck-elf.a | Bin 0 -> 39998 bytes bldc.X/mcc_generated_files/adc1.c | 514 + bldc.X/mcc_generated_files/adc1.h | 2185 + .../mcc_generated_files/adc_module_features.h | 170 + bldc.X/mcc_generated_files/clock.c | 102 + bldc.X/mcc_generated_files/clock.h | 100 + .../mcc_generated_files/interrupt_manager.c | 76 + .../mcc_generated_files/interrupt_manager.h | 167 + bldc.X/mcc_generated_files/mcc.c | 47 + bldc.X/mcc_generated_files/mcc.h | 72 + bldc.X/mcc_generated_files/pin_manager.c | 121 + bldc.X/mcc_generated_files/pin_manager.h | 2284 + bldc.X/mcc_generated_files/pwm.c | 427 + bldc.X/mcc_generated_files/pwm.h | 2205 + .../mcc_generated_files/pwm_module_features.h | 172 + bldc.X/mcc_generated_files/reset.c | 176 + bldc.X/mcc_generated_files/reset.h | 84 + bldc.X/mcc_generated_files/reset_types.h | 104 + bldc.X/mcc_generated_files/sccp1_tmr.c | 254 + bldc.X/mcc_generated_files/sccp1_tmr.h | 402 + bldc.X/mcc_generated_files/sccp3_tmr.c | 251 + bldc.X/mcc_generated_files/sccp3_tmr.h | 437 + bldc.X/mcc_generated_files/system.c | 153 + bldc.X/mcc_generated_files/system.h | 138 + bldc.X/mcc_generated_files/system_types.h | 110 + bldc.X/mcc_generated_files/traps.c | 166 + bldc.X/mcc_generated_files/traps.h | 91 + bldc.X/mcc_generated_files/uart1.c | 166 + bldc.X/mcc_generated_files/uart1.h | 283 + bldc.X/mcc_generated_files/watchdog.h | 92 + .../libmotor_control_dspic-elf.a | Bin 0 -> 124678 bytes bldc.X/motor_control/motor_control.h | 101 + .../motor_control_declarations.h | 529 + bldc.X/motor_control/motor_control_dsp.h | 78 + .../motor_control_inline_declarations.h | 571 + .../motor_control_inline_dspic.h | 551 + .../motor_control_inline_internal.h | 96 + bldc.X/motor_control/motor_control_mapping.h | 131 + bldc.X/motor_control/motor_control_types.h | 248 + bldc.X/motor_control/motor_control_util.h | 176 + bldc.X/nbproject/configurations.xml | 809 + bldc.X/nbproject/project.xml | 33 + bldc.X/userparms.h | 89 + changelog.md | 6 +- images/mclv2_demo.png | Bin 0 -> 4053498 bytes 59 files changed, 73534 insertions(+), 335 deletions(-) delete mode 100644 .citd/dataModelWithBoardProperties create mode 100644 bldc.X/AN1160_bldc.mc3 create mode 100644 bldc.X/Makefile create mode 100644 bldc.X/button_service.c create mode 100644 bldc.X/button_service.h create mode 100644 bldc.X/docs/AN1160_Readme.pdf create mode 100644 bldc.X/main.c create mode 100644 bldc.X/mcc_generated_files/X2Cscope/X2Cscope.c create mode 100644 bldc.X/mcc_generated_files/X2Cscope/X2Cscope.h create mode 100644 bldc.X/mcc_generated_files/X2Cscope/X2CscopeComm.c create mode 100644 bldc.X/mcc_generated_files/X2Cscope/X2CscopeComm.h create mode 100644 bldc.X/mcc_generated_files/X2Cscope/libx2cscope-33ck-elf.a create mode 100644 bldc.X/mcc_generated_files/adc1.c create mode 100644 bldc.X/mcc_generated_files/adc1.h create mode 100644 bldc.X/mcc_generated_files/adc_module_features.h create mode 100644 bldc.X/mcc_generated_files/clock.c create mode 100644 bldc.X/mcc_generated_files/clock.h create mode 100644 bldc.X/mcc_generated_files/interrupt_manager.c create mode 100644 bldc.X/mcc_generated_files/interrupt_manager.h create mode 100644 bldc.X/mcc_generated_files/mcc.c create mode 100644 bldc.X/mcc_generated_files/mcc.h create mode 100644 bldc.X/mcc_generated_files/pin_manager.c create mode 100644 bldc.X/mcc_generated_files/pin_manager.h create mode 100644 bldc.X/mcc_generated_files/pwm.c create mode 100644 bldc.X/mcc_generated_files/pwm.h create mode 100644 bldc.X/mcc_generated_files/pwm_module_features.h create mode 100644 bldc.X/mcc_generated_files/reset.c create mode 100644 bldc.X/mcc_generated_files/reset.h create mode 100644 bldc.X/mcc_generated_files/reset_types.h create mode 100644 bldc.X/mcc_generated_files/sccp1_tmr.c create mode 100644 bldc.X/mcc_generated_files/sccp1_tmr.h create mode 100644 bldc.X/mcc_generated_files/sccp3_tmr.c create mode 100644 bldc.X/mcc_generated_files/sccp3_tmr.h create mode 100644 bldc.X/mcc_generated_files/system.c create mode 100644 bldc.X/mcc_generated_files/system.h create mode 100644 bldc.X/mcc_generated_files/system_types.h create mode 100644 bldc.X/mcc_generated_files/traps.c create mode 100644 bldc.X/mcc_generated_files/traps.h create mode 100644 bldc.X/mcc_generated_files/uart1.c create mode 100644 bldc.X/mcc_generated_files/uart1.h create mode 100644 bldc.X/mcc_generated_files/watchdog.h create mode 100644 bldc.X/motor_control/libmotor_control_dspic-elf.a create mode 100644 bldc.X/motor_control/motor_control.h create mode 100644 bldc.X/motor_control/motor_control_declarations.h create mode 100644 bldc.X/motor_control/motor_control_dsp.h create mode 100644 bldc.X/motor_control/motor_control_inline_declarations.h create mode 100644 bldc.X/motor_control/motor_control_inline_dspic.h create mode 100644 bldc.X/motor_control/motor_control_inline_internal.h create mode 100644 bldc.X/motor_control/motor_control_mapping.h create mode 100644 bldc.X/motor_control/motor_control_types.h create mode 100644 bldc.X/motor_control/motor_control_util.h create mode 100644 bldc.X/nbproject/configurations.xml create mode 100644 bldc.X/nbproject/project.xml create mode 100644 bldc.X/userparms.h create mode 100644 images/mclv2_demo.png diff --git a/.citd/Jenkinsfilek8s b/.citd/Jenkinsfilek8s index 89e4f3a..034d85e 100644 --- a/.citd/Jenkinsfilek8s +++ b/.citd/Jenkinsfilek8s @@ -80,6 +80,8 @@ pipeline { steps { script { mplabxProjectBuild( + sh("npm install -g xml2js") + sh("npm link xml2js") sourceFilePath: "${env.MPLABX_PROJECT_SOURCE}" ) } diff --git a/.citd/dataModelWithBoardProperties b/.citd/dataModelWithBoardProperties deleted file mode 100644 index 85209af..0000000 --- a/.citd/dataModelWithBoardProperties +++ /dev/null @@ -1,316 +0,0 @@ -model: - autotune_result: - current: - Ki: 612.5321846792705 - Kp: 0.41442002622928326 - phase_margin: 80 - pi_phase_lag: 45 - wc: 1478.0467784160103 - velocity: - Ki: 0.6018330918512376 - Kp: 0.036271415387420625 - phase_margin: 65 - pi_phase_lag: 10 - wc: 94.10068605825529 - controller: {} - drive: - configuration: - displayName: "MCLV-2" - id: mclv2 - name: "dsPICDEM™ MCLV-2 Development Board" - partNumber: "DM330021-2" - peripherals: - adc: - channelConfig: - - channel: AN0 - customName: MCAF_ADC_PHASEB_CURRENT - sign: signed - - channel: AN1 - customName: MCAF_ADC_DCLINK_CURRENT - sign: signed - - channel: AN4 - customName: MCAF_ADC_DCLINK_VOLTAGE - sign: unsigned - - channel: AN18 - customName: MCAF_ADC_POTENTIOMETER - sign: unsigned - customName: MCAF_Motor_ADC - dataOutputFormat: Fractional - interruptDriven: false - requestedSharedSamplingTime_us: 10 - resolution: 12 - generatorMapping: - interruptOnChange: none - isAnalogPin: false - isOpenDrain: false - isWeakPullDown: false - isWeakPullUp: false - gpio: - - customName: MCAF_LED1 - direction: output - id: gpio1 - pinSelected: RE9 - - customName: MCAF_LED2 - direction: output - id: gpio2 - pinSelected: RE8 - - customName: MCAF_BUTTON1 - direction: input - id: gpio3 - pinSelected: RD5 - - customName: MCAF_BUTTON2 - direction: input - id: gpio4 - pinSelected: RE7 - oscillator: - available: - frequency: 8000000 - type: resonator - defaultValue: "max-frequency" - pwm: - customName: MCAF_Motor_PWM - frequency: - defaultValue: 20000 - maximum: 50000 - generatorMapping: - - generator: 1 - name: MOTOR1_PHASE_A - - generator: 2 - name: MOTOR1_PHASE_B - - generator: 3 - name: MOTOR1_PHASE_C - interruptDriven: false - polarity: - faultInput: "Active-low" - lower: "Active-high" - upper: "Active-high" - requestedDeadTime_us: - defaultValue: 2 - minimum: 2 - synchronousUpdate: true - qei: - - countsPerRevolution: 100 - customName: MCAF_QEI - homePulseCaptureEnable: false - homePulsePolarity: true - id: qei1 - indexPulseCaptureEnable: false - indexPulsePolarity: true - noiseFilterEnable: false - pinMapping: - - direction: input - functionName: A - pin: RD1 - - direction: input - functionName: B - pin: RD2 - - direction: input - functionName: INDEX - pin: RD3 - qeiOperationMode: "Modulo Count Mode" - timer: - - customName: MC_TMR_TICK - id: timer1 - - customName: MC_TMR_PROFILE - id: timer2 - uart: - baudRate: 4375000 - dataSize: 8 - interruptDriven: false - parity: None - pinMapping: - - name: TX - pinSelected: RD6 - - name: RX - pinSelected: RD7 - stopBits: 1 - supportedPim: - - 33ep256mc506_extopamp - - 33ck256mp508_extopamp - - 33ck64mc105_extopamp - - 33ck64mp105_extopamp - estimator: - omega1: 732 - tau: 0.00219 - type: pll - idc: - maximum: 2.9 - units: A - iout: - fullscale: 4.4 - maximum: - continuous: 2.29 - measurement: - compensation: - channels: - - a - - b - values: - a: - - 0.891 - - -0.03 - b: - - -0.004 - - 0.965 - time_constant: 0.0000015 - units: A - metadata: - id: mclv2 - name: "dsPICDEM MCLV-2 Development Board" - processor: - clock_frequency: 100000000 - device: dsPIC33CK256MP508 - familyName: dsPIC33CK256MP508 - pim: "dspic33ep256mc506-external-opamp" - pwm: - deadtime: 2e-12 - duty_cycle: - maximum: 0.9777 - minimum: 0.005 - period: 0.00005 - sampling_time: - current: 0.00005 - velocity: 0.001 - vbus: 24 - vdc: - fullscale: 52.8 - maximum: 26 - minimum: 16 - nominal: 24 - time_constant: 0.000188 - units: V - metadata: - MCC: - "architecture ": melody - peripheral_library: - name: melody - version: NA - version: "5.4.4" - data_model: - schema_version: 2 - motorBench: - commit_id: 6062ee969f17e173cb8502638f1e3c8ee7bea3fb - version: "2.45.0-dev.2" - motor: - B: 0.0000322134 - J: 0.000018079199999999998 - Ke: 0.037146886986834084 - L: 0.00035898099999999997 - Ld: 0.000368467 - Lq: 0.000349495 - R: 0.37160175 - Tfr: 0.0048125 - current: - maximum: - continuous: 4.53 - peak: 4.53 - units: A - id: Hurst300 - poleCount: 10 - rated_current: 4.53 - velocity: - maximum: 628.3185307 - nominal: 381.5987877 - units: "rad/s" - operating_range: - velocity: - minimum: 104.7198 - units: "rad/s" - units_qualifier: mechanical - scdata: - setup: - analysis: - max_motor_speed: - units: "rad/s mechanical" - value: 2094.4 - spindown_time: - units: s - value: 1 - calibration: - resistor: - units: ohms - value: 12 - vdc: - units: V - value: 24 - communications: - baudrate: 625000 -state: - config: - ui: - content: - "board_service-uiButtonDebounceTime": 7 - "board_service-uiButtonLongPressTime": 2.5 - "board_service-uiServiceTiming": 1 - "deadtimecomp-method": none - "deadtimecomp-perphase-current_sign_band": 0.02 - "deadtimecomp-perphase-feedback_gain": 0 - "deadtimecomp-perphase-forward_gain": 0 - "encoder-index_present": false - "encoder-lines": 250 - "encoder-qei_sync-align-angle_init": -30 - "encoder-qei_sync-align-angle_shift": 30 - "encoder-qei_sync-align-t_align": 0.5 - "encoder-qei_sync-align_sweep-setup_angle": 45 - "encoder-qei_sync-align_sweep-sweep_rate_pow": 1 - "encoder-qei_sync-method": align - "encoder-qei_sync-pullout-pullout_slip": 0.117 - "encoder-tracking_loop-tau": 1.5 - "estimator-active-atpll": false - "estimator-active-ideal": false - "estimator-active-pll": false - "estimator-active-qei": false - "estimator-type": pll - "fault_detect-margin_ov": 2 - "fault_detect-margin_uv": 2 - "fault_inject-get_tf-div0": false - "fault_inject-get_tf-missing_data": false - "fault_inject-get_tf-raise_custom_error": false - "fault_inject-get_tf-raise_value_error": false - "fault_inject-tf-div0": false - "fault_inject-tf-tau": 0 - "fault_inject-tf-tf_jy": false - "fault_inject-tf-tf_jyex": false - "fault_inject-tf-tf_null": false - "flux_control-eqn_based-fluxweak_enable": false - "flux_control-eqn_based-fw-vdq_limit": 0.95 - "flux_control-eqn_based-ilimit-id_limit": 0.7 - "flux_control-eqn_based-ilimit-iq_limit": 0.95 - "flux_control-eqn_based-ilimit-region_type": quadratic - "flux_control-eqn_based-mtpa_enable": false - "flux_control-method": none - "mcapi-iqTau": 1 - "mcapi-isSquaredTau": 1 - "operation-coastdown-end_velocity": 0.05 - "operation-coastdown-time": 1.2 - "operation-fullscale_base_ratio": 1.5 - "operation-max_velocity_ratio": 1.25 - "operation-min_velocity": 83.3333 - "operation-saliency-threshold": 1.25 - "operation-slewrate-accel": 0.5 - "operation-slewrate-decel": 1 - "overmodulation-vd_limit": 1 - "overmodulation-vq_limit": 1.15 - "pll-omega1": 116.5 - "pll-tau": 2.19 - "pll-velocity_filter_threshold": 1 - "startup-Istartup": 0.75 - "startup-damping-Imax": 0.1 - "startup-damping-gainmax": 40 - "startup-damping-omega_min": 0.4 - "startup-method": classic - "startup-min_total_accel_time": 250 - "startup-omega0": 0.2 - "startup-t_align": 0 - "startup-t_hold": 0 - "startup-t_rampup": 25 - "startup-theta_converge_rate": 1 - "startup-torque_scale_accel": 0.15 - "startup-torque_scale_slow_accel": 0.2 - status: - valid: true - version: - MCAF: R6 - motorBench: "???" - schema: 3 -updateCount: 1 \ No newline at end of file diff --git a/.main-meta/main.json b/.main-meta/main.json index 62e7b6b..17baba0 100644 --- a/.main-meta/main.json +++ b/.main-meta/main.json @@ -4,21 +4,21 @@ "content":{ "metaDataVersion":"1.3.0", "name":"com.microchip.mplabx.project.mclv2-mchv2-dspic33ck256mp508-an1160", - "version":"x.x.x", - "displayName":"xxxxxxxxxxxxxxx", + "version":"1.0.0", + "displayName":"AN1160 dspic33CK256MP508 MCLV2 MCHV ", "projectName":"mclv2-mchv2-dspic33ck256mp508-an1160", - "shortDescription":"xxxxxxxxxxxxxxx", + "shortDescription":"Sensorless BLDC Control with Back-EMF Filtering Using a Majority Function", "ide":{ "name":"MPLABX", - "semverRange":">=5.40.0" + "semverRange":">=5.50.0" }, "compiler":{ "name":"XC16", - "semverRange":"^1.50.0" + "semverRange":"^1.41.0" }, "dfp":{ - "name":"xxxxxxxxxxxxxxx", - "semverRange":">=x.x.x" + "name":"dsPIC33CK-MP_DFP", + "semverRange":">=1.8.224" }, "configurator": { "name": "MCC", @@ -30,16 +30,24 @@ "content":{ "metaDataVersion":"1.0.0", "category":"com.microchip.device", - "name":"xxxxxxxxxxxxxxx", + "name":"dspic33CK256MP508", "versionRange":"*" } }, "peripherals":[ - "GPIO" + "GPIO", + "ADC", + "PWM", + "UART", + "SCCP" ], "keywords":[ - "GPIO", - "UART" + "Majority filter", + "MCLV2", + "Motor Control", + "BLDC", + "sensorless", + "MCHV" ] } } \ No newline at end of file diff --git a/README.md b/README.md index 4486a1f..b448e6c 100644 --- a/README.md +++ b/README.md @@ -1,25 +1,33 @@ ![image](images/microchip.jpg) -## mclv2 mchv2 dspic33ck256mp508 an1160 +## AN1160 Demo Guide on MCLV2 -Board Image if any. + ## Summary +This document describes the setup requirements for running the Sensorless BLDC Motor Control Algorithm, which is referenced in AN1160 “Sensorless BLDC Control with Back-EMF Filtering Using a Majority Function” using a dsPICDEM™ MCLV-2 Development Board in the External Op Amp configuration. +The demonstration is configured to run on the dsPICDEM™ MCLV-2 Development Board (DM330021-2) in External Op-amp configuration with the dsPIC33CK256MP508 External Op-Amp Motor Control Plug-In Module (PIM) (MA330041-1). ## Related Documentation - +* [AN1160: Sensorless BLDC Control with Back-EMF Filtering Using a Majority Function](https://ww1.microchip.com/downloads/aemDocuments/documents/MCU16/ApplicationNotes/ApplicationNotes/AN1160-Sensorless-BLDC-Control-with-Back-EMF-Filtering-Using-a-Majority-Function-DS00001160.pdf) ## Software Used +* MPLAB® X IDE v5.50 +* MPLAB® XC16 Compiler v1.41 +* MPLAB® X IDE Plugin: X2C-Scope v1.3.0 or later ## Hardware Used +* dsPICDEM™ MCLV-2 Development Board (DM330021-2) +* 24V Power Supply (AC002013) +* 24V 3-Phase Brushless DC Motor (AC300020) +* dsPIC33CK256MP508 External Op-Amp Motor Control Plug-in module (MA330041-1) ## Setup +Refer to AN1160_Readme document included in this project inside the docs folder. -## Operation - diff --git a/bldc.X/AN1160_bldc.mc3 b/bldc.X/AN1160_bldc.mc3 new file mode 100644 index 0000000..f5293a3 --- /dev/null +++ b/bldc.X/AN1160_bldc.mc3 @@ -0,0 +1,57354 @@ + + + + + ADC1 + class com.microchip.mcc.mcu16.modules.adc_multicore.ADC + + + DMT + class com.microchip.mcc.mcu16.systemManager.dmt.DMT + + + ICD + class com.microchip.mcc.mcu16.systemManager.icd.Icd + + + INTERNAL OSCILLATOR + class com.microchip.mcc.mcu16.systemManager.clk.Clock + + + Interrupt Module + class com.microchip.mcc.mcu16.interruptManager_dsPIC.InterruptManager_dsPIC + + + Main Manager + class com.microchip.mcc.mcu16.mainManager.MainManager + + + PWM + class com.microchip.mcc.mcu16.modules.pwm_upb.PWM + + + Pin Module + class com.microchip.mcc.mcu16.pinManager.PinManager + + + RESET + class com.microchip.mcc.mcu16.systemManager.reset.RESET + + + SCCP1 + class com.microchip.mcc.mcu16.modules.mccp.MCCP + + + SCCP3 + class com.microchip.mcc.mcu16.modules.mccp.MCCP + + + System Module + class com.microchip.mcc.mcu16.systemManager.DefaultSystemManagerMcu16 + + + UART1 + class com.microchip.mcc.mcu16.modules.uart_protocol.UART + + + WATCHDOG + class com.microchip.mcc.mcu16.systemManager.wdt.Wdt + + + X2Cscope + class com.microchip.mcc.modules.x2cscope.scope.X2C_Scope + + + com.microchip.mcc.boardsupportlibrary.BoardSuppportLibraryLibraryModule + class com.microchip.mcc.protocolServices.base.modules.librarymodule.LibraryModule + + + com.microchip.mcc.mcu16.Mcu16PeripheralLibraryLibraryModule + class com.microchip.mcc.protocolServices.base.modules.librarymodule.LibraryModule + + + + + + + + + + + ISR_ADC1_ADCAN0 + + + + ISR_ADC1_ADCAN10 + + + + ISR_ADC1_ADCAN11 + + + + ISR_ADC1_ADCAN12 + + + + ISR_ADC1_ADCAN13 + + + + ISR_ADC1_ADCAN14 + + + + ISR_ADC1_ADCAN15 + + + + ISR_ADC1_ADCAN16 + + + + ISR_ADC1_ADCAN17 + + + + ISR_ADC1_ADCAN18 + + + + ISR_ADC1_ADCAN19 + + + + ISR_ADC1_ADCAN1 + + + + ISR_ADC1_ADCAN20 + + + + ISR_ADC1_ADCAN21 + + + + ISR_ADC1_ADCAN22 + + + + ISR_ADC1_ADCAN23 + + + + ISR_ADC1_ADCAN24 + + + + ISR_ADC1_ADCAN25 + + + + ISR_ADC1_ADCAN2 + + + + ISR_ADC1_ADCAN3 + + + + ISR_ADC1_ADCAN4 + + + + ISR_ADC1_ADCAN5 + + + + ISR_ADC1_ADCAN6 + + + + ISR_ADC1_ADCAN7 + + + + ISR_ADC1_ADCAN8 + + + + ISR_ADC1_ADCAN9 + + + + ISR_ADC1_ADCI + + + + ISR_ADC1_ADCMP0 + + + + ISR_ADC1_ADCMP1 + + + + ISR_ADC1_ADCMP2 + + + + ISR_ADC1_ADCMP3 + + + + ISR_ADC1_ADFLTR0 + + + + ISR_ADC1_ADFLTR1 + + + + ISR_ADC1_ADFLTR2 + + + + ISR_ADC1_ADFLTR3 + + + + ADC + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + enabled + + + + enabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + 0.000001 + + + + 2 + + + + 2 + + + + 3.70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-7 + + + + enabled + + + + enabled + + + + 2.0000000E-8s + + + + 12-bit resolution + + + + 0.000001 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + enabled + + + + enabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 5 + + + + 2.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-8 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 5 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 59 + + + + 6 + + + + 60 + + + + 61 + + + + 62 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 68 + + + + 69 + + + + 7 + + + + 70 + + + + 71 + + + + 72 + + + + 73 + + + + 74 + + + + 75 + + + + 76 + + + + 77 + + + + 78 + + + + 79 + + + + 8 + + + + 80 + + + + 81 + + + + 82 + + + + 83 + + + + 84 + + + + 85 + + + + 86 + + + + 87 + + + + 88 + + + + 89 + + + + 9 + + + + 90 + + + + 91 + + + + 92 + + + + 93 + + + + 94 + + + + 95 + + + + 96 + + + + 97 + + + + 98 + + + + 99 + + + + 0 + + + + 10 + + + + 100 + + + + 101 + + + + 102 + + + + 103 + + + + 104 + + + + 105 + + + + 106 + + + + 107 + + + + 108 + + + + 109 + + + + 11 + + + + 110 + + + + 47 + + + + 112 + + + + 113 + + + + 114 + + + + 115 + + + + 116 + + + + 117 + + + + 118 + + + + 119 + + + + 12 + + + + 120 + + + + 121 + + + + 122 + + + + 123 + + + + 124 + + + + 125 + + + + 126 + + + + 127 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 39 + + + + 4 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 49 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 3 + + + + 39 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 4 + + + + 49 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 5 + + + + 59 + + + + 60 + + + + 61 + + + + 62 + + + + 63 + + + + 6 + + + + 7 + + + + 8 + + + + 2 + + + + 1 + + + + 0 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 7 + + + + 4 + + + + 14 + + + + 11 + + + + 8 + + + + 5 + + + + 15 + + + + 12 + + + + 9 + + + + 6 + + + + 13 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 5 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 59 + + + + 6 + + + + 60 + + + + 61 + + + + 62 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 68 + + + + 69 + + + + 7 + + + + 70 + + + + 71 + + + + 72 + + + + 73 + + + + 74 + + + + 75 + + + + 76 + + + + 77 + + + + 78 + + + + 79 + + + + 8 + + + + 80 + + + + 81 + + + + 82 + + + + 83 + + + + 84 + + + + 85 + + + + 86 + + + + 87 + + + + 88 + + + + 89 + + + + 9 + + + + 90 + + + + 91 + + + + 92 + + + + 93 + + + + 94 + + + + 95 + + + + 96 + + + + 97 + + + + 98 + + + + 99 + + + + 0 + + + + 10 + + + + 100 + + + + 101 + + + + 102 + + + + 103 + + + + 104 + + + + 105 + + + + 106 + + + + 107 + + + + 108 + + + + 109 + + + + 11 + + + + 110 + + + + 47 + + + + 112 + + + + 113 + + + + 114 + + + + 115 + + + + 116 + + + + 117 + + + + 118 + + + + 119 + + + + 12 + + + + 120 + + + + 121 + + + + 122 + + + + 123 + + + + 124 + + + + 125 + + + + 126 + + + + 127 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 39 + + + + 4 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 49 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 5 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 59 + + + + 6 + + + + 60 + + + + 61 + + + + 62 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 68 + + + + 69 + + + + 7 + + + + 70 + + + + 71 + + + + 72 + + + + 73 + + + + 74 + + + + 75 + + + + 76 + + + + 77 + + + + 78 + + + + 79 + + + + 8 + + + + 80 + + + + 81 + + + + 82 + + + + 83 + + + + 84 + + + + 85 + + + + 86 + + + + 87 + + + + 88 + + + + 89 + + + + 9 + + + + 90 + + + + 91 + + + + 92 + + + + 93 + + + + 94 + + + + 95 + + + + 96 + + + + 97 + + + + 98 + + + + 99 + + + + 0 + + + + 10 + + + + 100 + + + + 101 + + + + 102 + + + + 103 + + + + 104 + + + + 105 + + + + 106 + + + + 107 + + + + 108 + + + + 109 + + + + 11 + + + + 110 + + + + 47 + + + + 112 + + + + 113 + + + + 114 + + + + 115 + + + + 116 + + + + 117 + + + + 118 + + + + 119 + + + + 12 + + + + 120 + + + + 121 + + + + 122 + + + + 123 + + + + 124 + + + + 125 + + + + 126 + + + + 127 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 39 + + + + 4 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 49 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 6 + + + + 3 + + + + 7 + + + + 0 + + + + 4 + + + + 1 + + + + 5 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 6 + + + + 3 + + + + 7 + + + + 0 + + + + 4 + + + + 1 + + + + 5 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 6 + + + + 3 + + + + 7 + + + + 0 + + + + 4 + + + + 1 + + + + 5 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 6 + + + + 3 + + + + 7 + + + + 0 + + + + 4 + + + + 1 + + + + 5 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 31 + + + + 28 + + + + 29 + + + + 1 + + + + 2 + + + + 27 + + + + 0 + + + + 30 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 96 + + + + 32768 + + + + 15 + + + + 0 + + + + 131 + + + + 0 + + + + 4 + + + + 0 + + + + 3840 + + + + 131 + + + + 768 + + + + 0 + + + + 768 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 1024 + + + + 1024 + + + + 1024 + + + + 1024 + + + + 832 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 1028 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 1024 + + + + 0 + + + + 1024 + + + + 0 + + + + 4 + + + + 1028 + + + + 257 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + enabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + enabled + + + + disabled + + + + 1 + + + + OFF + + + + enabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + enabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + Integer + + + + 12-bit resolution + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + 15 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 2 + + + + Early interrupt is generated 1 TADCORE clock prior to data being ready + + + + enabled + + + + enabled + + + + 1 + + + + FOSC/2 + + + + enabled + + + + AN0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + AN0 + + + + ANA1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 32768 Source Clock Periods + + + + enabled + + + + disabled + + + + enabled + + + + disabled + + + + enabled + + + + disabled + + + + 2 + + + + Early interrupt is generated 1 TADCORE clock prior to data being ready + + + + 12-bit resolution + + + + 0 + + + + 2 + + + + Early interrupt is generated 1 TADCORE clock prior to data being ready + + + + 12-bit resolution + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + Oversampling Mode + + + + 4x + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + Oversampling Mode + + + + 4x + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + Oversampling Mode + + + + 4x + + + + disabled + + + + AN0 + + + + disabled + + + + disabled + + + + Oversampling Mode + + + + 4x + + + + disabled + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + enabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + None + + + + None + + + + PWM1 Trigger1 + + + + PWM1 Trigger1 + + + + None + + + + None + + + + None + + + + None + + + + None + + + + None + + + + None + + + + None + + + + None + + + + PWM1 Trigger1 + + + + None + + + + None + + + + None + + + + PWM1 Trigger1 + + + + None + + + + None + + + + PWM1 Trigger1 + + + + None + + + + PWM1 Trigger1 + + + + PWM1 Trigger1 + + + + Common Software Trigger + + + + Common Software Trigger + + + + disabled + + + + 0 + + + + 0 + + + + enabled + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + 0 + + + + Communicate on PGC3 and PGD3 + + + + enabled + + + + FVCO/4 + + + + 300000000 + + + + 1200000000 + + + + 8000000 + + + + enabled + + + + 1:150 + + + + 1200000000 + + + + enabled + + + + 8000000 + + + + 1:3 + + + + 1:1 + + + + 400000000 + + + + 400000000 + + + + 1:1 + + + + 8000000 + + + + FRC + + + + + + + + No Clock Selected + + + + + + + + disabled + + + + disabled + + + + 200000000 + + + + 100000000 + + + + 8000000 + + + + 32000 + + + + 8000000 + + + + + + + + FRC Oscillator + + + + enabled + + + + FVCO/4 + + + + 300000000 + + + + 1200000000 + + + + disabled + + + + UNSUPPORTED + + + + NOTAVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + UNSUPPORTED + + + + UNSUPPORTED + + + + UNSUPPORTED + + + + UNSUPPORTED + + + + AVAILABLE + + + + AVAILABLE + + + + UNSUPPORTED + + + + AVAILABLE + + + + AVAILABLE + + + + AVAILABLE + + + + UNSUPPORTED + + + + AVAILABLE + + + + NOTAVAILABLE + + + + NOTAVAILABLE + + + + NOTAVAILABLE + + + + NOTAVAILABLE + + + + NOTAVAILABLE + + + + AVAILABLE + + + + UNSUPPORTED + + + + UNSUPPORTED + + + + AVAILABLE + + + + disabled + + + + 1:1 + + + + 8000000 + + + + disabled + + + + disabled + + + + 400000000 + + + + 1:150 + + + + enabled + + + + 1:3 + + + + 1:1 + + + + 1:1 + + + + enabled + + + + + + + + disabled + + + + disabled + + + + + + + + disabled + + + + 0 + + + + FOSC + + + + 0 + + + + disabled + + + + disabled + + + + 20000000 + + + + disabled + + + + disabled + + + + disabled + + + + Center frequency + + + + [1:200, 1:199, 1:198, 1:197, 1:196, 1:195, 1:194, 1:193, 1:192, 1:191, 1:190, 1:189, 1:188, 1:187, 1:186, 1:185, 1:184, 1:183, 1:182, 1:181, 1:180, 1:179, 1:178, 1:177, 1:176, 1:175, 1:174, 1:173, 1:172, 1:171, 1:170, 1:169, 1:168, 1:167, 1:166, 1:165, 1:164, 1:163, 1:162, 1:161, 1:160, 1:159, 1:158, 1:157, 1:156, 1:155, 1:154, 1:153, 1:152, 1:151, 1:150, 1:149, 1:148, 1:147, 1:146, 1:145, 1:144, 1:143, 1:142, 1:141, 1:140, 1:139, 1:138, 1:137, 1:136, 1:135, 1:134, 1:133, 1:132, 1:131, 1:130, 1:129, 1:128, 1:127, 1:126, 1:125, 1:124, 1:123, 1:122, 1:121, 1:120, 1:119, 1:118, 1:117, 1:116, 1:115, 1:114, 1:113, 1:112, 1:111, 1:110, 1:109, 1:108, 1:107, 1:106, 1:105, 1:104, 1:103, 1:102, 1:101, 1:100, 1:99, 1:98, 1:97, 1:96, 1:95, 1:94, 1:93, 1:92, 1:91, 1:90, 1:89, 1:88, 1:87, 1:86, 1:85, 1:84, 1:83, 1:82, 1:81, 1:80, 1:79, 1:78, 1:77, 1:76, 1:75, 1:74, 1:73, 1:72, 1:71, 1:70, 1:69, 1:68, 1:67, 1:66, 1:65, 1:64, 1:63, 1:62, 1:61, 1:60, 1:59, 1:58, 1:57, 1:56, 1:55, 1:54, 1:53, 1:52, 1:51, 1:50] + + + + [1:3, 1:2, 1:1] + + + + [1:1] + + + + [1:50, 1:51, 1:52, 1:53, 1:54, 1:55, 1:56, 1:57, 1:58, 1:59, 1:60, 1:61, 1:62, 1:63, 1:64, 1:65, 1:66, 1:67, 1:68, 1:69, 1:70, 1:71, 1:72, 1:73, 1:74, 1:75, 1:76, 1:77, 1:78, 1:79, 1:80, 1:81, 1:82, 1:83, 1:84, 1:85, 1:86, 1:87, 1:88, 1:89, 1:90, 1:91, 1:92, 1:93, 1:94, 1:95, 1:96, 1:97, 1:98, 1:99, 1:100, 1:101, 1:102, 1:103, 1:104, 1:105, 1:106, 1:107, 1:108, 1:109, 1:110, 1:111, 1:112, 1:113, 1:114, 1:115, 1:116, 1:117, 1:118, 1:119, 1:120, 1:121, 1:122, 1:123, 1:124, 1:125, 1:126, 1:127, 1:128, 1:129, 1:130, 1:131, 1:132, 1:133, 1:134, 1:135, 1:136, 1:137, 1:138, 1:139, 1:140, 1:141, 1:142, 1:143, 1:144, 1:145, 1:146, 1:147, 1:148, 1:149, 1:150, 1:151, 1:152, 1:153, 1:154, 1:155, 1:156, 1:157, 1:158, 1:159, 1:160, 1:161, 1:162, 1:163, 1:164, 1:165, 1:166, 1:167, 1:168, 1:169, 1:170, 1:171, 1:172, 1:173, 1:174, 1:175, 1:176, 1:177, 1:178, 1:179, 1:180, 1:181, 1:182, 1:183, 1:184, 1:185, 1:186, 1:187, 1:188, 1:189, 1:190, 1:191, 1:192, 1:193, 1:194, 1:195, 1:196, 1:197, 1:198, 1:199, 1:200] + + + + 400000000 + + + + [1:3, 1:2, 1:1] + + + + 400000000 + + + + [1:7, 1:6, 1:5, 1:4, 1:3, 1:2, 1:1] + + + + 8000000 + + + + [1:1] + + + + 1200000000 + + + + OSC2 is general purpose digital I/O pin + + + + enabled + + + + 0 + + + + 1 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 3 + + + + 2 + + + + 1 + + + + 0 + + + + 100 + + + + 101 + + + + 102 + + + + 103 + + + + 104 + + + + 105 + + + + 106 + + + + 107 + + + + 108 + + + + 109 + + + + 110 + + + + 111 + + + + 112 + + + + 113 + + + + 114 + + + + 115 + + + + 116 + + + + 117 + + + + 118 + + + + 119 + + + + 120 + + + + 121 + + + + 122 + + + + 123 + + + + 124 + + + + 125 + + + + 126 + + + + 127 + + + + 128 + + + + 129 + + + + 130 + + + + 131 + + + + 132 + + + + 133 + + + + 134 + + + + 135 + + + + 136 + + + + 137 + + + + 138 + + + + 139 + + + + 140 + + + + 141 + + + + 142 + + + + 143 + + + + 144 + + + + 145 + + + + 146 + + + + 147 + + + + 148 + + + + 149 + + + + 150 + + + + 151 + + + + 152 + + + + 153 + + + + 154 + + + + 155 + + + + 156 + + + + 157 + + + + 158 + + + + 159 + + + + 16 + + + + 160 + + + + 161 + + + + 162 + + + + 163 + + + + 164 + + + + 165 + + + + 166 + + + + 167 + + + + 168 + + + + 169 + + + + 17 + + + + 170 + + + + 171 + + + + 172 + + + + 173 + + + + 174 + + + + 175 + + + + 176 + + + + 177 + + + + 178 + + + + 179 + + + + 18 + + + + 180 + + + + 181 + + + + 182 + + + + 183 + + + + 184 + + + + 185 + + + + 186 + + + + 187 + + + + 188 + + + + 189 + + + + 19 + + + + 190 + + + + 191 + + + + 192 + + + + 193 + + + + 194 + + + + 195 + + + + 196 + + + + 197 + + + + 198 + + + + 199 + + + + 20 + + + + 200 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 39 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 49 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 59 + + + + 60 + + + + 61 + + + + 62 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 68 + + + + 69 + + + + 70 + + + + 71 + + + + 72 + + + + 73 + + + + 74 + + + + 75 + + + + 76 + + + + 77 + + + + 78 + + + + 79 + + + + 80 + + + + 81 + + + + 82 + + + + 83 + + + + 84 + + + + 85 + + + + 86 + + + + 87 + + + + 88 + + + + 89 + + + + 90 + + + + 91 + + + + 92 + + + + 93 + + + + 94 + + + + 95 + + + + 96 + + + + 97 + + + + 98 + + + + 99 + + + + 0 + + + + 9 + + + + 99 + + + + 100 + + + + 101 + + + + 102 + + + + 103 + + + + 104 + + + + 105 + + + + 106 + + + + 107 + + + + 108 + + + + 10 + + + + 109 + + + + 110 + + + + 111 + + + + 112 + + + + 113 + + + + 114 + + + + 115 + + + + 116 + + + + 117 + + + + 118 + + + + 11 + + + + 119 + + + + 120 + + + + 121 + + + + 122 + + + + 123 + + + + 124 + + + + 125 + + + + 126 + + + + 127 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 3 + + + + 39 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 4 + + + + 49 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 5 + + + + 59 + + + + 60 + + + + 61 + + + + 62 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 68 + + + + 6 + + + + 69 + + + + 70 + + + + 71 + + + + 72 + + + + 73 + + + + 74 + + + + 75 + + + + 76 + + + + 77 + + + + 78 + + + + 7 + + + + 79 + + + + 80 + + + + 81 + + + + 82 + + + + 83 + + + + 84 + + + + 85 + + + + 86 + + + + 87 + + + + 88 + + + + 8 + + + + 89 + + + + 90 + + + + 91 + + + + 92 + + + + 93 + + + + 94 + + + + 95 + + + + 96 + + + + 97 + + + + 98 + + + + 0 + + + + 1 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 2 + + + + 1 + + + + 3 + + + + 4 + + + + 5 + + + + 0 + + + + 0 + + + + 7 + + + + 4 + + + + 1 + + + + 5 + + + + 2 + + + + 6 + + + + 3 + + + + 0 + + + + 1 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 4 + + + + 1 + + + + 7 + + + + 5 + + + + 2 + + + + 6 + + + + 3 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 6 + + + + 0 + + + + 7 + + + + 1 + + + + 5 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 6 + + + + 0 + + + + 7 + + + + 1 + + + + 5 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 30 + + + + 63 + + + + 62 + + + + 61 + + + + 60 + + + + 59 + + + + 58 + + + + 57 + + + + 56 + + + + 55 + + + + 54 + + + + 53 + + + + 52 + + + + 51 + + + + 50 + + + + 49 + + + + 48 + + + + 47 + + + + 46 + + + + 45 + + + + 44 + + + + 43 + + + + 42 + + + + 41 + + + + 40 + + + + 39 + + + + 38 + + + + 37 + + + + 36 + + + + 35 + + + + 34 + + + + 33 + + + + 0 + + + + 31 + + + + 32 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 3 + + + + 2 + + + + 1 + + + + 0 + + + + 100 + + + + 101 + + + + 102 + + + + 103 + + + + 104 + + + + 105 + + + + 106 + + + + 107 + + + + 108 + + + + 109 + + + + 110 + + + + 111 + + + + 112 + + + + 113 + + + + 114 + + + + 115 + + + + 116 + + + + 117 + + + + 118 + + + + 119 + + + + 120 + + + + 121 + + + + 122 + + + + 123 + + + + 124 + + + + 125 + + + + 126 + + + + 127 + + + + 128 + + + + 129 + + + + 130 + + + + 131 + + + + 132 + + + + 133 + + + + 134 + + + + 135 + + + + 136 + + + + 137 + + + + 138 + + + + 139 + + + + 140 + + + + 141 + + + + 142 + + + + 143 + + + + 144 + + + + 145 + + + + 146 + + + + 147 + + + + 148 + + + + 149 + + + + 150 + + + + 151 + + + + 152 + + + + 153 + + + + 154 + + + + 155 + + + + 156 + + + + 157 + + + + 158 + + + + 159 + + + + 16 + + + + 160 + + + + 161 + + + + 162 + + + + 163 + + + + 164 + + + + 165 + + + + 166 + + + + 167 + + + + 168 + + + + 169 + + + + 17 + + + + 170 + + + + 171 + + + + 172 + + + + 173 + + + + 174 + + + + 175 + + + + 176 + + + + 177 + + + + 178 + + + + 179 + + + + 18 + + + + 180 + + + + 181 + + + + 182 + + + + 183 + + + + 184 + + + + 185 + + + + 186 + + + + 187 + + + + 188 + + + + 189 + + + + 19 + + + + 190 + + + + 191 + + + + 192 + + + + 193 + + + + 194 + + + + 195 + + + + 196 + + + + 197 + + + + 198 + + + + 199 + + + + 20 + + + + 200 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 30 + + + + 31 + + + + 32 + + + + 33 + + + + 34 + + + + 35 + + + + 36 + + + + 37 + + + + 38 + + + + 39 + + + + 40 + + + + 41 + + + + 42 + + + + 43 + + + + 44 + + + + 45 + + + + 46 + + + + 47 + + + + 48 + + + + 49 + + + + 50 + + + + 51 + + + + 52 + + + + 53 + + + + 54 + + + + 55 + + + + 56 + + + + 57 + + + + 58 + + + + 59 + + + + 60 + + + + 61 + + + + 62 + + + + 63 + + + + 64 + + + + 65 + + + + 66 + + + + 67 + + + + 68 + + + + 69 + + + + 70 + + + + 71 + + + + 72 + + + + 73 + + + + 74 + + + + 75 + + + + 76 + + + + 77 + + + + 78 + + + + 79 + + + + 80 + + + + 81 + + + + 82 + + + + 83 + + + + 84 + + + + 85 + + + + 86 + + + + 87 + + + + 88 + + + + 89 + + + + 90 + + + + 91 + + + + 92 + + + + 93 + + + + 94 + + + + 95 + + + + 96 + + + + 97 + + + + 98 + + + + 99 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 5 + + + + 0 + + + + 1 + + + + 3 + + + + 6 + + + + 4 + + + + 2 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 33025 + + + + 49 + + + + 150 + + + + 0 + + + + 12289 + + + + 256 + + + + 0 + + + + 49 + + + + 150 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + 1:1 + + + + enabled + + + + FRC + + + + 1:1 + + + + 1:3 + + + + FVCO/4 + + + + 150 + + + + Divide by 1 + + + + disabled + + + + No Clock Selected + + + + 1:8 + + + + disabled + + + + 1 + + + + FRC/1 + + + + disabled + + + + no clock failure + + + + unlocked + + + + FRCDIV + + + + out of lock + + + + FRCPLL + + + + Switch is Complete + + + + Center frequency + + + + 1:3 + + + + 1:1 + + + + FVCO/4 + + + + 150 + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + enabled + + + + disabled + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + FOSC + + + + disabled + + + + disabled + + + + 0 + + + + disabled + + + + enabled + + + + enabled + + + + enabled + + + + PWM_GENERATOR_1 + + + + PWM_GENERATOR_2 + + + + PWM_GENERATOR_3 + + + + PWM_GENERATOR_4 + + + + PWM_GENERATOR_5 + + + + PWM_GENERATOR_6 + + + + PWM_GENERATOR_7 + + + + PWM_GENERATOR_8 + + + + Display + + + + Display + + + + Display + + + + Hide + + + + Hide + + + + Hide + + + + Hide + + + + Hide + + + + PG1PER_0.00005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, PG2PER_0.00005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, PG3PER_0.00005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, PG4PER_0.00000212500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, PG5PER_0.00000212500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, PG6PER_0.00000212500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, PG7PER_0.00000212500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, PG8PER_0.00000212500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, + + + + ISR_PWM_PEVTAI + + + + ISR_PWM_PEVTBI + + + + ISR_PWM_PEVTCI + + + + ISR_PWM_PEVTDI + + + + ISR_PWM_PEVTEI + + + + ISR_PWM_PEVTFI + + + + ISR_PWM_PWM1I + + + + ISR_PWM_PWM2I + + + + ISR_PWM_PWM3I + + + + ISR_PWM_PWM4I + + + + ISR_PWM_PWM5I + + + + ISR_PWM_PWM6I + + + + ISR_PWM_PWM7I + + + + ISR_PWM_PWM8I + + + + 100000000 + + + + 200000000 + + + + 200000000 + + + + 5882352.94117647058823529411764705882352941176470588235294117647058823529411764705882352941176470588235294117647058823529411764705882353 + + + + 3051.75781250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 20000 + + + + disabled + + + + Center-Aligned + + + + Complementary + + + + 0.00005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 0.00032768000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 1.7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-7 + + + + PWM_GENERATOR_1 + + + + PWM Generator 1 + + + + 11764705.88235294117647058823529411764705882352941176470588235294117647058823529411764705882352941176470588235294117647058823529411764706 + + + + 8.500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-8 + + + + 200000000 + + + + SOC update + + + + Duty Cycle + + + + 3.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-7 + + + + 0.0000102350 + + + + 0 + + + + 3.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-7 + + + + 0.0000102350 + + + + 0 + + + + 0 + + + + enabled + + + + 11764705.88235294117647058823529411764705882352941176470588235294117647058823529411764705882352941176470588235294117647058823529411764706 + + + + 11764705.88235294117647058823529411764705882352941176470588235294117647058823529411764705882352941176470588235294117647058823529411764706 + + + + 3051.75781250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + disabled + + + + Center-Aligned + + + + Complementary + + + + disabled + + + + disabled + + + + 8.500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-8 + + + + 0.00032768000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 8.500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E-8 + + + + 0 + + + + 0.0003276750 + + + + 0 + + + + 0 + + + + 0.00002490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 0.0003276750 + + + + 0 + + + + Self-trigger + + + + 0.00002490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 0.0003276750 + + + + 0 + + + + 0 + + + + 0.0003276750 + + + + 0 + + + + 0 + + + + 0.0003276750 + + + + 0 + + + + EOC event + + + + disabled + + + + enabled + + + + 20000.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 0.00005000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 + + + + 0 + + + + 0 + + + + FOSC - System Clock + + + + [PWM Generator 1, PWM Generator 2, PWM Generator 3] + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 2 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 15 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 2 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 29 + + + + 3 + + + + 30 + + + + 31 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 3 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 1 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 27 + + + + 28 + + + + 2 + + + + 29 + + + + 30 + + + + 31 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 3 + + + + 4 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 2 + + + + 3 + + + + 5 + + + + 4 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 3 + + + + 7 + + + + 4 + + + + 5 + + + + 6 + + + + 1 + + + + 0 + + + + 31 + + + + 27 + + + + 28 + + + + 29 + + + + 19 + + + + 20 + + + + 21 + + + + 22 + + + + 2 + + + + 3 + + + + 1 + + + + 23 + + + + 24 + + + + 25 + + + + 26 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 16 + + + + 17 + + + + 18 + + + + 8 + + + + 9 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 8 + + + + 9 + + + + 6 + + + + 15 + + + + 4 + + + + 5 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 8 + + + + 9 + + + + 6 + + + + 15 + + + + 4 + + + + 5 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 8 + + + + 9 + + + + 6 + + + + 15 + + + + 4 + + + + 5 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 8 + + + + 9 + + + + 6 + + + + 15 + + + + 4 + + + + 5 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 8 + + + + 9 + + + + 6 + + + + 15 + + + + 4 + + + + 5 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 1 + + + + 8 + + + + 9 + + + + 6 + + + + 15 + + + + 4 + + + + 5 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 4999 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16384 + + + + 32780 + + + + 0 + + + + 0 + + + + 60 + + + + 60 + + + + 0 + + + + 264 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 12 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 4980 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16384 + + + + 32780 + + + + 0 + + + + 0 + + + + 60 + + + + 60 + + + + 0 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 12 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16384 + + + + 32780 + + + + 0 + + + + 0 + + + + 60 + + + + 60 + + + + 0 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 12 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 16 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + PWMS1 or PWMS2; + + + + No Assignment + + + + PWM1H + + + + PWM1H + + + + Positive logic + + + + Positive logic + + + + PWMS1 | PWMS2 + + + + No Assignment + + + + PWM1H + + + + PWM1H + + + + Positive logic + + + + Positive logic + + + + PWMS1 | PWMS2 + + + + No Assignment + + + + PWM1H + + + + PWM1H + + + + Positive logic + + + + Positive logic + + + + PWMS1 | PWMS2 + + + + No Assignment + + + + PWM1H + + + + PWM1H + + + + Positive logic + + + + Positive logic + + + + PWMS1 | PWMS2 + + + + No Assignment + + + + PWM1H + + + + PWM1H + + + + Positive logic + + + + Positive logic + + + + PWMS1 | PWMS2 + + + + No Assignment + + + + PWM1H + + + + PWM1H + + + + Positive logic + + + + Positive logic + + + + 0 + + + + 4999 + + + + 0 + + + + 1:2 + + + + disabled + + + + disabled + + + + disabled + + + + FOSC - System Clock + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Center-Aligned + + + + enabled + + + + 1 + + + + 0 + + + + 0 + + + + 60 + + + + 60 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Duty Cycle + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + enabled + + + + enabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 4980 + + + + 0 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Center-Aligned + + + + enabled + + + + 1 + + + + 0 + + + + 0 + + + + 60 + + + + 60 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Duty Cycle + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + enabled + + + + enabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Center-Aligned + + + + enabled + + + + 1 + + + + 0 + + + + 0 + + + + 60 + + + + 60 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Duty Cycle + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + enabled + + + + enabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Independent Edge + + + + disabled + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Manual + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + disabled + + + + disabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Independent Edge + + + + disabled + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Manual + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + disabled + + + + disabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Independent Edge + + + + disabled + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Manual + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + disabled + + + + disabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Independent Edge + + + + disabled + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Manual + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + disabled + + + + disabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + Self-trigger + + + + Single trigger mode + + + + SOC update + + + + Master clock + + + + disabled + + + + Independent Edge + + + + disabled + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + None + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1:1 + + + + EOC event + + + + Manual + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + Software + + + + PCI Sync Logic + + + + disabled + + + + disabled + + + + Complementary + + + + Active-high + + + + Active-high + + + + 0 + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + User output overrides are synchronized to the local PWM time base + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 16 + + + + 0 + + + + Level-sensitive + + + + disabled + + + + PWM Generator 1 + + + + disabled + + + + Drives '0' + + + + PCI acceptance logic + + + + Not inverted + + + + None + + + + Not inverted + + + + None + + + + Not inverted + + + + Tied to 0 + + + + disabled + + + + disabled + + + + Manual Terminate + + + + PWM EOC + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + OFF + + + + enabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + PG1 + + + + Active-high + + + + PGTRGSEL bits + + + + Stretched to 8 PWM clock cycles minimum + + + + Not synchronized + + + + disabled + + + + PG1 + + + + Active-high + + + + PGTRGSEL bits + + + + Stretched to 8 PWM clock cycles minimum + + + + Not synchronized + + + + disabled + + + + PG1 + + + + Active-high + + + + PGTRGSEL bits + + + + Stretched to 8 PWM clock cycles minimum + + + + Not synchronized + + + + disabled + + + + PG1 + + + + Active-high + + + + PGTRGSEL bits + + + + Stretched to 8 PWM clock cycles minimum + + + + Not synchronized + + + + disabled + + + + PG1 + + + + Active-high + + + + PGTRGSEL bits + + + + Stretched to 8 PWM clock cycles minimum + + + + Not synchronized + + + + disabled + + + + PG1 + + + + Active-high + + + + PGTRGSEL bits + + + + Stretched to 8 PWM clock cycles minimum + + + + Not synchronized + + + + + + + + + + + + + + + + channel_AN0 + + + + channel_ANA1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + channel_AN15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + HALL_A + + + + + + + + channel_AN19 + + + + + + + + + + + + + + + + + + + + HALL_B + + + + HALL_C + + + + + + + + Button_S2_MCLV + + + + + + + + + + + + + + + + + + + + channel_AN20 + + + + channel_AN21 + + + + + + + + + + + + + + + + + + + + + + + + + + + + channel_AN22 + + + + + + + + + + + + Button_S2_MCHV + + + + + + + + Button_S3 + + + + LED1 + + + + LED2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %DESELECT% + + + + %DESELECT% + + + + ISR_Pin Module_CNAI + + + + ISR_Pin Module_CNBI + + + + ISR_Pin Module_CNCI + + + + ISR_Pin Module_CNDI + + + + ISR_Pin Module_CNEI + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + input + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + input + + + + input + + + + disabled + + + + input + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + input + + + + disabled + + + + input + + + + output + + + + output + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + enabled + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + enabled + + + + enabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + none + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + TQFP80 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 31 + + + + 927 + + + + 207 + + + + 11264 + + + + 15 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 64 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 65280 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65351 + + + + 65535 + + + + 65280 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 255 + + + + 255 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 0 + + + + 65280 + + + + 255 + + + + 65535 + + + + 255 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 255 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 65535 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 31 + + + + 1021 + + + + 65535 + + + + 65471 + + + + 64767 + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + analog + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + set + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + clear + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 71 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 0 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 0 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 255 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + output + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + output + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + input + + + + output + + + + output + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + 100000000 + + + + disabled + + + + 100000000 + + + + Timer + + + + show + + + + ISR_SCCP1_CCPI + + + + ISR_SCCP1_CCTI + + + + 0 + + + + 0 + + + + 0 + + + + 65535 + + + + + + + + 0 + + + + 1 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 1 + + + + 2 + + + + 2 + + + + 3 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 23 + + + + 24 + + + + 25 + + + + 9 + + + + 10 + + + + 11 + + + + 22 + + + + 0 + + + + 31 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 20 + + + + 21 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 0 + + + + 5 + + + + 4 + + + + 2 + + + + 3 + + + + 1 + + + + 15 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 3 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 2 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 0 + + + + 1 + + + + 3 + + + + 2 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 32960 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 65535 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + Each Time Base Period Match + + + + disabled + + + + Timer Interrupt Event + + + + disabled + + + + None + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + FOSC/2 + + + + 16-Bit/32-Bit Timer + + + + 16 Bit + + + + 1:64 + + + + disabled + + + + Disabled + + + + Level-Sensitive mode + + + + IC1 + + + + disabled + + + + disabled + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + None + + + + disabled + + + + Tri-state + + + + OFF + + + + enabled + + + + disabled + + + + 1 + + + + 0 + + + + 65535 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + OFF + + + + enabled + + + + disabled + + + + 1 + + + + disabled + + + + 100000000 + + + + disabled + + + + 100000000 + + + + Timer + + + + show + + + + ISR_SCCP3_CCPI + + + + ISR_SCCP3_CCTI + + + + 0 + + + + 0 + + + + 0 + + + + 65535 + + + + + + + + 0 + + + + 1 + + + + 9 + + + + 10 + + + + 11 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 1 + + + + 1 + + + + 2 + + + + 2 + + + + 3 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 0 + + + + 0 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 0 + + + + 1 + + + + 16 + + + + 17 + + + + 18 + + + + 19 + + + + 23 + + + + 24 + + + + 25 + + + + 9 + + + + 10 + + + + 11 + + + + 22 + + + + 0 + + + + 31 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 8 + + + + 12 + + + + 13 + + + + 14 + + + + 15 + + + + 20 + + + + 21 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 0 + + + + 1 + + + + 7 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 0 + + + + 5 + + + + 4 + + + + 2 + + + + 3 + + + + 1 + + + + 15 + + + + 0 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 3 + + + + 0 + + + + 1 + + + + 0 + + + + 3 + + + + 2 + + + + 3 + + + + 2 + + + + 3 + + + + 2 + + + + 1 + + + + 0 + + + + 2 + + + + 1 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 1 + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 0 + + + + 1 + + + + 3 + + + + 2 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 32960 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 65535 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + disabled + + + + Each Time Base Period Match + + + + disabled + + + + Timer Interrupt Event + + + + disabled + + + + None + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + FOSC/2 + + + + 16-Bit/32-Bit Timer + + + + 16 Bit + + + + 1:64 + + + + disabled + + + + Disabled + + + + Level-Sensitive mode + + + + IC3 + + + + disabled + + + + disabled + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + None + + + + disabled + + + + Tri-state + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 65535 + + + + 0 + + + + 0 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 3 + + + + 4 + + + + 5 + + + + 6 + + + + 7 + + + + 0 + + + + 16 + + + + 32 + + + + 48 + + + + 64 + + + + 80 + + + + 96 + + + + 112 + + + + 0 + + + + 256 + + + + 512 + + + + 768 + + + + 1024 + + + + 1280 + + + + 1536 + + + + 1792 + + + + 0 + + + + 4096 + + + + 8192 + + + + 12288 + + + + 16384 + + + + 20480 + + + + 24576 + + + + 28672 + + + + 2 + + + + 0 + + + + 1 + + + + 3 + + + + 8 + + + + 0 + + + + 16 + + + + 0 + + + + 32 + + + + 0 + + + + 1024 + + + + 0 + + + + 0 + + + + 8192 + + + + 1 + + + + 0 + + + + 0 + + + + 3 + + + + 2 + + + + 1 + + + + 0 + + + + 32 + + + + 32768 + + + + 0 + + + + 128 + + + + 64 + + + + 0 + + + + 4 + + + + 0 + + + + 0 + + + + 256 + + + + 0 + + + + 2 + + + + 3 + + + + 1 + + + + 0 + + + + 4096 + + + + 0 + + + + 1024 + + + + 2048 + + + + 3072 + + + + 6 + + + + 0 + + + + 7 + + + + 1 + + + + 5 + + + + 2 + + + + 3 + + + + 0 + + + + 128 + + + + 64 + + + + 0 + + + + 32768 + + + + 0 + + + + 8 + + + + 0 + + + + 6 + + + + 0 + + + + 4 + + + + 1 + + + + 0 + + + + 3584 + + + + 2048 + + + + 0 + + + + 3072 + + + + 256 + + + + 0 + + + + 192 + + + + 0 + + + + 128 + + + + 32 + + + + 0 + + + + 32768 + + + + 0 + + + + 0 + + + + 10240 + + + + 20480 + + + + 7168 + + + + 17408 + + + + 4096 + + + + 14336 + + + + 1024 + + + + 11264 + + + + 8192 + + + + 18432 + + + + 5120 + + + + 15360 + + + + 2048 + + + + 12288 + + + + 9216 + + + + 19456 + + + + 6144 + + + + 16384 + + + + 3072 + + + + 13312 + + + + 32 + + + + 64 + + + + 96 + + + + 0 + + + + 10 + + + + 20 + + + + 7 + + + + 17 + + + + 4 + + + + 14 + + + + 1 + + + + 11 + + + + 8 + + + + 18 + + + + 5 + + + + 15 + + + + 2 + + + + 12 + + + + 9 + + + + 19 + + + + 6 + + + + 16 + + + + 3 + + + + 13 + + + + 768 + + + + 512 + + + + 256 + + + + 0 + + + + 128 + + + + 0 + + + + 30583 + + + + 3 + + + + 8191 + + + + 4095 + + + + 9272 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 32769 + + + + 7491 + + + + 1 + + + + 64 + + + + 36847 + + + + 864 + + + + OFF + + + + OFF + + + + OFF + + + + OFF + + + + SINGLE + + + + 8191 + + + + 4095 + + + + 4095 + + + + OFF + + + + OFF + + + + OFF + + + + SMBUS + + + + PPS + + + + OFF + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + PGx3 + + + + OFF + + + + DISABLED + + + + CSECMD + + + + ON + + + + ON + + + + NONE + + + + ENABLE + + + + G3 + + + + FRCPLL + + + + OFF + + + + DISABLED + + + + OFF + + + + OFF + + + + DISABLED + + + + OFF + + + + DISABLED + + + + OFF + + + + DISABLED + + + + OFF + + + + ON_SW + + + + PS1 + + + + LPRC + + + + PS1 + + + + WIN25 + + + + ON + + + + disabled + + + + 115200 + + + + 0.006 + + + + 8 + + + + None + + + + 100000000 + + + + None + + + + disabled + + + + 8 + + + + 8 + + + + ISR_UART1_UEI + + + + ISR_UART1_UEVTI + + + + ISR_UART1_URXI + + + + ISR_UART1_UTXI + + + + UART + + + + easysetup + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 3 + + + + 2 + + + + 4 + + + + 10 + + + + 14 + + + + 12 + + + + 11 + + + + 15 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 2 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 3 + + + + 0 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 7 + + + + 4 + + + + 3 + + + + 0 + + + + 6 + + + + 5 + + + + 2 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 5 + + + + 4 + + + + 1 + + + + 7 + + + + 6 + + + + 3 + + + + 2 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 216 + + + + 0 + + + + 0 + + + + 32896 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 34 + + + + 0 + + + + 0 + + + + 216 + + + + 0 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + TX line driven by shifter + + + + Asynchronous 8-bit UART + + + + RXBKIF flag when Break makes low-to-high transition after being low for at least 23/11 bit periods + + + + enabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + FOSC/2 + + + + disabled + + + + Off + + + + disabled + + + + disabled + + + + disabled + + + + 1 Stop bit sent, 1 checked at RX + + + + disabled + + + + disabled + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + 0 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + Direct logic + + + + disabled + + + + 1 ETU + + + + Retransmit the error byte once + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + disabled + + + + enabled + + + + disabled + + + + RX_ONE_WORD + + + + enabled + + + + disabled + + + + TX_BUF_EMPTY + + + + enabled + + + + 0 + + + + OFF + + + + disabled + + + + disabled + + + + 1 + + + + disabled + + + + 0 + + + + 32000 + + + + 1.000ms + + + + CLOCK_LPRC + + + + enabled + + + + disabled + + + + 2 + + + + 3 + + + + 0 + + + + 0 + + + + 1 + + + + 0 + + + + 1 + + + + 0 + + + + 0 + + + + 0 + + + + SYSCLK + + + + disabled + + + + 0 + + + + 0 + + + + disabled + + + + UART1 + + + + Manual + + + + + mcc_generated_files\pwm_module_features.h + 126ea94c8a67bf698bf0d4f35740bedaf5162e01b8f0097bec03cf15339e3971 + + + mcc_generated_files\interrupt_manager.h + 4007fb1c34313252bbcf37ba8cc3fbed9fcbf25f750450dccea16559d80cba14 + + + mcc_generated_files\X2Cscope\X2CscopeComm.c + d9de0dd7e0a42ebf3b4b5072699ff8433ebe19838adad1b7879ff2a56edbcbad + + + mcc_generated_files\sccp1_tmr.c + 057b8e2bc6dcb49279dd08d0a30acbf019ce8507834f26f209dba6e4bdf8a2d8 + + + mcc_generated_files\sccp3_tmr.h + 829207383c0e57a5d51a497755f9de2b63cedddabfdaa4381909e74f81dfb2a1 + + + mcc_generated_files\X2Cscope\X2CscopeComm.h + 7d2c12ca2b8eec44fb6950400432e6294fe8c3f5c34ee039f21374c1e4a3a426 + + + mcc_generated_files\adc_module_features.h + ffae80c023ed79ae360ecaa85c919c644ba13bff9e15658c56b1b0a136bf9b2a + + + mcc_generated_files\system_types.h + 75d530a254b9ce11a68ec1eba4d739d1c55718af3ab1af39c6b654a4d7471f81 + + + mcc_generated_files\system.h + bc31b1b0225613a3bbc62ef86724ed9e936cbfc5d689c325e3843eebba870f67 + + + mcc_generated_files\system.c + 2231e48dda005137e6289cb1e4fea61e8c8ad7b7ce17ee0ebe3c254f3d90f9ad + + + mcc_generated_files\clock.h + 9e876c3cb37df26a46faa4625e39b69f4b99765033bd93681577ff15019c15c7 + + + mcc_generated_files\mcc.c + 71df66c45ef600b0d49c4ae68448e3a9b42643ec6ccccf04ec4777eaf9d55a6f + + + mcc_generated_files\reset.h + dd2d413de3798c4dfc1d1a0d80a00ae33e0a58fc51206d859374033f04bf0cf1 + + + mcc_generated_files\pwm.c + 973b859fbcb8b2073550178e298c74ad3a047a480ed29c7baff6411d4c65ee68 + + + mcc_generated_files\mcc.h + 6f35f54cfba830b2ecbac02dfb1e44d535c6df11417fe782c570b82c5939a5ac + + + mcc_generated_files\reset.c + 27b462a9a102ba129b3ad68ad095a639638d6648b0a86bdb099bf51a37503b02 + + + mcc_generated_files\uart1.h + 7d3445facf36e5d5da71073cc151a5917576e081890266665afd2f1d17d20491 + + + mcc_generated_files\uart1.c + a95157856f40e802510d875d842537324a5187f7038384b63b20189adfeff512 + + + mcc_generated_files\clock.c + fb11f6b59a498e1b9a42b3ff772e57ba4266212a8e6223c6e9e6929d28bd608b + + + mcc_generated_files\adc1.c + 65c6ade21de63ecbd29e69f6631f79664c726697c9b8a5f99f04c8375ee10b3b + + + main.c + d685ef27042542ef4224c42e108781a831de84c2712626dbd3f65f2492db737a + + + mcc_generated_files\pin_manager.h + bbeb5ab2f50776d1e08ecd7cf30543458642696d1855ca61f9816fcf9d6920d1 + + + mcc_generated_files\pwm.h + 2d7807fde3ab95d03ccce3dfd325e51d5cc9ed2a8414ad4de94d4ddd04e40246 + + + mcc_generated_files\X2Cscope\libx2cscope-33ck-elf.a + a3506e40f94fdec53b83c2a7124d74670ffe4fd6964170d0a8069c19738b9206 + + + mcc_generated_files\pin_manager.c + 896bfd46b8c270179f7950d026c2d7a6ab631387850868bad42d03fc0b38f751 + + + mcc_generated_files\traps.c + 681057780dc2e9fc0ebbfbcf4e68a4ff56b43d8533c039e35254076330d6047a + + + mcc_generated_files\traps.h + 7414ae71c3c8394f51ceee980a9ce33408955762436cb914aa5518cc600c4c5e + + + mcc_generated_files\sccp1_tmr.h + 2bd7676f2e5bf339086bfb39947105f49d204a7482e5e3f44a4e3cd0ccf6e336 + + + mcc_generated_files\adc1.h + 14524b115db5d831931a66b116589a73fc7b1cdb1c3824fa0c24cdfb423c9603 + + + mcc_generated_files\X2Cscope\X2Cscope.h + cec71c0520b8afd57aa10bb6170b6ba5f35501f34486e8d1f45fa62f8e02b1e9 + + + mcc_generated_files\interrupt_manager.c + 338c1ab73b2d99db35a1348c934e9f7072c63d5caee3f3b55e4d0d39de640ba6 + + + mcc_generated_files\sccp3_tmr.c + efeb1fabcd4ff4eabb0f2d3e49580ac0726c582f7542b0f2f8acce34fa219e8a + + + mcc_generated_files\X2Cscope\X2Cscope.c + 39fdd3de98e1070b5d07621f490757d66ca580f5ade9ecf4c852ea7a71ccdee4 + + + mcc_generated_files\watchdog.h + c7d52290fbafff4145ba4bd2e809bfee629384ffc238416531c4a2fe06193ff9 + + + mcc_generated_files\reset_types.h + aef23fe175b8a610b5abaab6488c7524fda6c7d780d2c6d2cc3a18a72905280b + + + \ No newline at end of file diff --git a/bldc.X/Makefile b/bldc.X/Makefile new file mode 100644 index 0000000..fca8e2c --- /dev/null +++ b/bldc.X/Makefile @@ -0,0 +1,113 @@ +# +# There exist several targets which are by default empty and which can be +# used for execution of your targets. These targets are usually executed +# before and after some main targets. They are: +# +# .build-pre: called before 'build' target +# .build-post: called after 'build' target +# .clean-pre: called before 'clean' target +# .clean-post: called after 'clean' target +# .clobber-pre: called before 'clobber' target +# .clobber-post: called after 'clobber' target +# .all-pre: called before 'all' target +# .all-post: called after 'all' target +# .help-pre: called before 'help' target +# .help-post: called after 'help' target +# +# Targets beginning with '.' are not intended to be called on their own. +# +# Main targets can be executed directly, and they are: +# +# build build a specific configuration +# clean remove built files from a configuration +# clobber remove all built files +# all build all configurations +# help print help mesage +# +# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and +# .help-impl are implemented in nbproject/makefile-impl.mk. +# +# Available make variables: +# +# CND_BASEDIR base directory for relative paths +# CND_DISTDIR default top distribution directory (build artifacts) +# CND_BUILDDIR default top build directory (object files, ...) +# CONF name of current configuration +# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration) +# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration) +# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration) +# CND_PACKAGE_DIR_${CONF} directory of package (current configuration) +# CND_PACKAGE_NAME_${CONF} name of package (current configuration) +# CND_PACKAGE_PATH_${CONF} path to package (current configuration) +# +# NOCDDL + + +# Environment +MKDIR=mkdir +CP=cp +CCADMIN=CCadmin +RANLIB=ranlib + + +# build +build: .build-post + +.build-pre: +# Add your pre 'build' code here... + +.build-post: .build-impl +# Add your post 'build' code here... + + +# clean +clean: .clean-post + +.clean-pre: +# Add your pre 'clean' code here... +# WARNING: the IDE does not call this target since it takes a long time to +# simply run make. Instead, the IDE removes the configuration directories +# under build and dist directly without calling make. +# This target is left here so people can do a clean when running a clean +# outside the IDE. + +.clean-post: .clean-impl +# Add your post 'clean' code here... + + +# clobber +clobber: .clobber-post + +.clobber-pre: +# Add your pre 'clobber' code here... + +.clobber-post: .clobber-impl +# Add your post 'clobber' code here... + + +# all +all: .all-post + +.all-pre: +# Add your pre 'all' code here... + +.all-post: .all-impl +# Add your post 'all' code here... + + +# help +help: .help-post + +.help-pre: +# Add your pre 'help' code here... + +.help-post: .help-impl +# Add your post 'help' code here... + + + +# include project implementation makefile +include nbproject/Makefile-impl.mk + +# include project make variables +include nbproject/Makefile-variables.mk diff --git a/bldc.X/button_service.c b/bldc.X/button_service.c new file mode 100644 index 0000000..d2aa6b8 --- /dev/null +++ b/bldc.X/button_service.c @@ -0,0 +1,149 @@ +/******************************************************************************* + Board Service Configuration Routine Source File + + File Name: + board_service.c + + Summary: + This file includes subroutine for initializing peripherals of Controller + and control the hardware of the development board. + + Description: + Definitions in the file are for dsPIC33CK256MP508 External OP-AMP PIM + plugged onto Motor Control Development board from Microchip. + *******************************************************************************/ +/******************************************************************************* + * Copyright (c) 2019 released Microchip Technology Inc. All rights reserved. + * + * SOFTWARE LICENSE AGREEMENT: + * + * Microchip Technology Incorporated ("Microchip") retains all ownership and + * intellectual property rights in the code accompanying this message and in all + * derivatives hereto. You may use this code, and any derivatives created by + * any person or entity by or on your behalf, exclusively with Microchip's + * proprietary products. Your acceptance and/or use of this code constitutes + * agreement to the terms and conditions of this notice. + * + * CODE ACCOMPANYING THIS MESSAGE IS SUPPLIED BY MICROCHIP "AS IS". NO + * WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED + * TO, IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE APPLY TO THIS CODE, ITS INTERACTION WITH MICROCHIP'S + * PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION. + * + * YOU ACKNOWLEDGE AND AGREE THAT, IN NO EVENT, SHALL MICROCHIP BE LIABLE, + * WHETHER IN CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE OR BREACH OF + * STATUTORY DUTY),STRICT LIABILITY, INDEMNITY, CONTRIBUTION, OR OTHERWISE, + * FOR ANY INDIRECT, SPECIAL,PUNITIVE, EXEMPLARY, INCIDENTAL OR CONSEQUENTIAL + * LOSS, DAMAGE, FOR COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE CODE, + * HOWSOEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR + * THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWABLE BY LAW, + * MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS CODE, + * SHALL NOT EXCEED THE PRICE YOU PAID DIRECTLY TO MICROCHIP SPECIFICALLY TO + * HAVE THIS CODE DEVELOPED. + * + * You agree that you are solely responsible for testing the code and + * determining its suitability. Microchip has no obligation to modify, test, + * certify, or support the code. + * + *******************************************************************************/ + +// ***************************************************************************** +// ***************************************************************************** +// Section: Included Files +// ***************************************************************************** +// ***************************************************************************** +#include "button_service.h" +#include "mcc_generated_files/pin_manager.h" + +BUTTON_T buttonStartStop; +//#ifdef MCLV2 +BUTTON_T buttonFwdRev; +//#endif +// ***************************************************************************** +// ***************************************************************************** +// Section: Functions +// ***************************************************************************** +static void ButtonGroupInitialize(void); +static void ButtonScan(BUTTON_T *, bool); +uint16_t boardServiceISRCounter = 0; +// ***************************************************************************** + +bool IsPressed_Button1(void) { + if (buttonStartStop.status) { + buttonStartStop.status = false; + return true; + } else { + return false; + } +} +//#ifdef MCLV2 + +bool IsPressed_Button2(void) { + if (buttonFwdRev.status) { + buttonFwdRev.status = false; + return true; + } else { + return false; + } +} +//#endif + +void BoardServiceStepIsr(void) { + if (boardServiceISRCounter < BOARD_SERVICE_TICK_COUNT) { + boardServiceISRCounter += 1; + } +} + +void BoardService(void) { + if (boardServiceISRCounter == BOARD_SERVICE_TICK_COUNT) { +#ifdef MCHV + /* Button scanning loop for SW2 to change direction */ + ButtonScan(&buttonStartStop, !Button_S2_MCLV_GetValue()); +#endif +#ifdef MCLV2 + /* Button scanning loop for Button 1 to start Motor */ + ButtonScan(&buttonStartStop, !Button_S2_MCLV_GetValue()); + /* Button scanning loop for SW2 to change direction */ + ButtonScan(&buttonFwdRev, !Button_S3_GetValue()); +#endif + boardServiceISRCounter = 0; + } +} + +void BoardServiceInit(void) { + ButtonGroupInitialize(); + boardServiceISRCounter = BOARD_SERVICE_TICK_COUNT; +} + +void ButtonScan(BUTTON_T *pButton, bool button) { + if (button == true) { + if (pButton->debounceCount < BUTTON_DEBOUNCE_COUNT) { + pButton->debounceCount++; + pButton->state = BUTTON_DEBOUNCE; + } + } + else { + if (pButton->debounceCount < BUTTON_DEBOUNCE_COUNT) { + pButton->state = BUTTON_NOT_PRESSED; + } + else { + pButton->state = BUTTON_PRESSED; + pButton->status = true; + } + pButton->debounceCount = 0; + } +} + +void ButtonGroupInitialize(void) { + buttonStartStop.state = BUTTON_NOT_PRESSED; + buttonStartStop.debounceCount = 0; + buttonStartStop.state = false; + //#ifdef MCLV2 + buttonFwdRev.state = BUTTON_NOT_PRESSED; + buttonFwdRev.debounceCount = 0; + buttonFwdRev.state = false; + //#endif +} + + + diff --git a/bldc.X/button_service.h b/bldc.X/button_service.h new file mode 100644 index 0000000..2c13f84 --- /dev/null +++ b/bldc.X/button_service.h @@ -0,0 +1,120 @@ +/******************************************************************************* + Board Service Configuration Routine Source File + + File Name: + board_service.h + + Summary: + This file includes subroutine for initializing peripherals of Controller + and control the hardware of the development board. + + Description: + Definitions in the file are for dsPIC33CK256MP508 External OP-AMP PIM + plugged onto Motor Control Development board from Microchip. +*******************************************************************************/ +/******************************************************************************* +* Copyright (c) 2019 released Microchip Technology Inc. All rights reserved. +* +* SOFTWARE LICENSE AGREEMENT: +* +* Microchip Technology Incorporated ("Microchip") retains all ownership and +* intellectual property rights in the code accompanying this message and in all +* derivatives hereto. You may use this code, and any derivatives created by +* any person or entity by or on your behalf, exclusively with Microchip's +* proprietary products. Your acceptance and/or use of this code constitutes +* agreement to the terms and conditions of this notice. +* +* CODE ACCOMPANYING THIS MESSAGE IS SUPPLIED BY MICROCHIP "AS IS". NO +* WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED +* TO, IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A +* PARTICULAR PURPOSE APPLY TO THIS CODE, ITS INTERACTION WITH MICROCHIP'S +* PRODUCTS, COMBINATION WITH ANY OTHER PRODUCTS, OR USE IN ANY APPLICATION. +* +* YOU ACKNOWLEDGE AND AGREE THAT, IN NO EVENT, SHALL MICROCHIP BE LIABLE, +* WHETHER IN CONTRACT, WARRANTY, TORT (INCLUDING NEGLIGENCE OR BREACH OF +* STATUTORY DUTY),STRICT LIABILITY, INDEMNITY, CONTRIBUTION, OR OTHERWISE, +* FOR ANY INDIRECT, SPECIAL,PUNITIVE, EXEMPLARY, INCIDENTAL OR CONSEQUENTIAL +* LOSS, DAMAGE, FOR COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE CODE, +* HOWSOEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR +* THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWABLE BY LAW, +* MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS CODE, +* SHALL NOT EXCEED THE PRICE YOU PAID DIRECTLY TO MICROCHIP SPECIFICALLY TO +* HAVE THIS CODE DEVELOPED. +* +* You agree that you are solely responsible for testing the code and +* determining its suitability. Microchip has no obligation to modify, test, +* certify, or support the code. +* +*******************************************************************************/ + +#ifndef __BOARD_SERVICE_H +#define __BOARD_SERVICE_H + +// ***************************************************************************** +// ***************************************************************************** +// Section: Included Files +// ***************************************************************************** +// ***************************************************************************** +#include +#include +#include +#include "mcc_generated_files/sccp3_tmr.h" +// ***************************************************************************** +// ***************************************************************************** +// Section: Constants +// ***************************************************************************** +// ***************************************************************************** +/** Button De-bounce in milli Seconds */ +#define BUTTON_DEBOUNCE_COUNT 10 +/** The board service Tick is set as 1 millisecond - specify the count in terms + * PWM ISR cycles (i.e. BOARD_SERVICE_TICK_COUNT = 1 milli Second / PWM period) + */ +#define BOARD_SERVICE_TICK_COUNT 20 +// ***************************************************************************** +// ***************************************************************************** +// Section: Enums, Structures +// ***************************************************************************** +// ***************************************************************************** +/** Button Scanning State + * + * Description: This structure will host parameters required by Button scan routine. + */ +typedef enum tagBUTTON_STATE +{ + BUTTON_NOT_PRESSED = 0, // wait for button to be pressed + BUTTON_PRESSED = 1, // button was pressed, check if short press / long press + BUTTON_DEBOUNCE = 2 +} BUTTON_STATE; + +// ***************************************************************************** +/** Button data type + * + * Description: This structure will host parameters required by Button scan routine. + */ +typedef struct +{ + BUTTON_STATE state; + uint16_t debounceCount; + bool logicState; + bool status; +} BUTTON_T; +/** Duty-cycle data type + * + * Description: Parameters related to PWM module Duty Cycle values. + */ + +// ***************************************************************************** +// ***************************************************************************** +// Section: Functions +// ***************************************************************************** +// ***************************************************************************** +void BoardServiceInit(void); +void BoardServiceStepIsr(void); +void BoardService(void); +bool IsPressed_Button1(void); +bool IsPressed_Button2(void); + +// ***************************************************************************** +// ***************************************************************************** +#endif /* __BOARD_SERVICE_H */ + \ No newline at end of file diff --git a/bldc.X/docs/AN1160_Readme.pdf b/bldc.X/docs/AN1160_Readme.pdf new file mode 100644 index 0000000000000000000000000000000000000000..42ba88333eb747ba2c93e6aecccd8a296f0be0db GIT binary patch literal 1724367 zcmb@tV|ZrU(l#2~wyh_&ZQDl2HahAg9ou%&u{yTRjytyPFTM8K@7~ur>pSnCGk-i| z&M|9N)u_71J!;NzJ>-g_;`B@m?C|8%Ikc4kISR$gYN zL`(o#A|?)IRu*;+fC3RK2O~g?h>4AhgNYd+PsGFtQ2lfF^Ck;Gl1PV$osorzm6=J8 zpC8`L&h(EqqW?KQZE$k_$A+kxiM^?rqLGuW^QT1-dmC3Ge^>?~X?iI^DK|2XLO_n=t;%J%kueB=5{NaZtP zL~N|A098*1Gk~VDnK?j1hlz-V=ubeLU7XB}Y~f)nH;j!<4Ur5DjSUT-fJm_I0wo7Q z4X=^IOj#h}##fQa<{TNlxl%I`FrX!j>w|`|iIO6V&WYTFdBWi6ATyvb0Fd9qc7aFy zRhpR?nV1QnExWY@ZPOS9DpJ89y<` z!o&qoA!26x%>KV)#$Q~JPKmiNNAYET#nw!TuF{RM@s-fm|HB}3!X_8Z<~w${T2*W| zWqnj>-}O6fM7icwL>Lq-^~8sX>l%#9K`_*y=C!}AU|_eA;qy{O?RXZI{D z;WttstVsa=bp*_#oW6K0otik&=#9834DdP`G$OWkK8Eh~TW>aC7DsOpwtNRu~v(<&aDoXBXJ5kXy`X%WM5Qr-gRCJ8;Q96lQvy(|# zr-{mT=2^qjV;p~qN(iyUgl8OQ(LW&JU-Rkj`7R>j(+7*ovVLYfqDxh*OHD})P$Z&fVq{?lC=;=M+P4+|mlL1APX9htqq>SY zWt#?)Ol%Y8aBp`+Z3p^)9Mk}HBG&&9&c7z(-vg5~b1^bCaxwZdasQg4@d{73cT7EKs>E|`)zv$vGmJs>$&c@#2zx@Bp zk-z;Hva_>yan@nwV*aDy)9=4D=>dd4yIB8p>3uS%oy%vkK7}~`7UK9z=##7elK5=@ za{9CVD+HhIAEy6Q#_<=Uezt$P^QpdLjKA-zDR%LsaPl6_5{1+AeiNk-7@K4D89^pUmxww^+vkMUm zBjf)7>T}`vTx~va@>j?djK6$haJZx!o+Ss~=U3U1g`SxeHREdxY%vL3W-4h-wTS|}VH!?J@biC9i&bYbvF}z87 zQaZO9=w+&`^TTv@4pW=db__$`JV~zHL$N-RF=PNr;9cy0sK@AwdODoS5(X};E9H~+}$mAnYzU3HRQz$vrA=GF(rtH3b z@nChbpHp#g1ix%(no0r~^hzLaeJciZX2>48%IfJI9)o&#Jv3G1i_o;A6X(S|ql;D( z43gX43%mz?9P(x?Qy8e*fW`az;{_NT7=&>A zTQDyr%aT##lUS6(pXLPFnvAU=J=s`{3#e(zD3)Hq!md3nH=0e6t)oC)tHT@6uA&-6 zVbDHf-s<&>25-IKkCx(Yg^EiTG3ZC=d}jNpOVP!kB1e+_tEugRkQ~s`q#J>y``Vd} zY)1m)>9L0pEqBmjqogNCTrrOVxPTvvb_;5y@7P~&1F&&T1>=1{1-qA&5nS}c6%XYW zvO3dq=HQ5X{nWKAhC>6%ofmLdF`C%W>j@qkH~0wG*qfh_{3{jU^MYl37^Qd(cmks! zbd+EQl6I}lW{Re#WPZWU%D>paue%?V&~(y)H5*rlmW<%(CnKUHCig{wiDF-7vieL8 z%9D4X_f0@P4DJ|rA03d$ELURTcA*(zVBNdpMY`u4V))s^8kKL6B8yuCs2(Y znBM{xA~^pleU8;9A7&h$1?G1=!yxl5(@0L*jnN!>2qdCsf*jMtWLwi^pW79C~d%E$+Yd2jD1 zbW=L<8|yY%5=jwdi+DY@UOuuc*5snx7A>(gc20X|$LHi*l6~d_p$v7`s9!dk+ojlA zg-uILw~ZpznRl6Y>HRxM1W+p9Is)J=Hi266W~Lv%t9C0; zO?!5yRKD0mbE}^Cu-eB4OVRm?W?r8V)^X(b^AAhml!4=`2Am*$7z+oo)*iNxTVm^h z%6Sh^ok6m_UR3J}=#xJ%s)IuC@2E^BezhX*QWAt_Z2X}E@i8y2{X`HQR9Fo{%~O?jwrrx z`O$}qgDr+v`b&!X4ff%P`TMhPYm1{&X=@yySsqU)W)OXgb(wV))Ya8`855nao+nC! z-;Whn*?L;jmU#PgZ%^OMown>28T#j?WY!p{MJqi>3@vzbo}uWhYnm=7en4{6hAvhC zzZaBltija#BDTw8>T@a+t{I&}fl5ZIw3Zg;*nA^yWtk-t`I1t3VZQzk=+&yW;hr)V z3~7tP1D$LO?NPBpbjQ)LkLaw*LmH5ms!mB6itlcaQSR|D!?AS9F}S&wh~{|s1EWNP zdi*u8hHVPMtu8AQZ(V0_?N1PbKoRF??rBGY8YOi`xN9IKLT!uWy;g*A2PBo-bAeFYpspX9DQ_(UMD+wLx}k>Jir($H7eo?8_!ORs(jeEiHgrj^^4859$e zd2&YJQKS2(YUQuB?f<@H{9Qn@Gk+EW|1KIyjM6#*utedZB?I3OB(%3;7daZUp_sG+ zL*=HHfXSoEab(3*s8IlT4bQU`!rlt#zNbyMV0c1c2Qxg3!w$Ot`Pp12)h^BrzV`(N|?Za_%#kP0WmR? zG&{C2uNt;u^5aWml!mg{aGN`wa2bIYZq^*mu4Dv3)J3HZss)QU0~I| z6rvpQbfZWkw6Z$Ul!R8B8aB>d33KZ~%I+;}fgbo=c1Hu-{a$JKgpv5G<-va7qFZ`4MYDoF><2EeHu zrq5N4E6IeAOQn~$Lk-W|!_;GX(M2EIS+&enx~CPhaoFvdahwmen2=w_q4W6ieW02) zcu^sq^Gw#HDb3wWjRg~smh$Y&LzUyRrZEu+Ei^k2`V1^D*QqV*uzbu-*`=#os4x;r zMCmOfK3=3{y$}@@F2?GOUzhPi6+FlG7s8>*jzhHlz9HptF{{=eOed~hYBn!3p$u}8 z1h&4S#uWAr$+RNF9?#KM8@N_2PpZBldFS#GHfs#_}K;lb*9v&^cKsF0 za^*#_5UN3O=V(~OT`XrGg?VIV!Vd7B46?KD`E1WM?Qm8Awg^_x|{S??5r2*ZARIny1qb0)gQ3xTOe| zj@+`!-ZiI{jAf0tihfcNgP=8a$O`}=kvba4OMLf~xoHP!%Y7dKYq zq#d}eghdn>Gzm4fPx9)xsd~{u71BPtJLtQYv`)*cS+cqVIwiTiuk{XBSm76QTIW#>1lSlTEl6O*MDWvXyXZJ}Wx%1c-bDj<$flxh8q^p4Zt1J9J`!hY%b#)~AhI*b6;+>N)nvdEJJX{)l7L`NZ27I0_WnGnYHvXR_JfLM zXXQqJeh|4q*vd^ObDIO2H#y7)|I~!WE0+e)Colx>Qex(S(n{>b#^H0#oxr;&J2UE4LNeI&1*-<$ja&r72P?F`wXtr8X-B%zYOA2bJf6m)_MifMW-3-2 zAg=9qXl#m&0`qJ_(KvQ`6m$oih<}9fpBLZ%9mb5D|A8^R6xU6)G^j_HB!nlJ>emN^ zbx3am$6!J4Z0rZq)+!?i6yP-i@;j)EV}O21;EDY{Kt6MWRh;k^yJusc{q>UAx;3ZLS|Dms}c-O8X*x_KIY^hpE5wvg;S~s5r*C z!2yrWRh17oGe9TEajd7vxQ3~BGFqx=>KJu6lJ0?JeQ?XaA{U&87H7J1&K*-U%V}4% zje7ex3yCeZ>ANy|Gk+O=@rbIp>7-h5DfFw*@t$hN z)Um;%oD)gwVC~ObOf;vOTnd?LFWe@Lnrb;qQSw~WhOmkkn(Ro-lvq~0%rkL>^xf!X zj62Z*9;b{`Lg()CnM#rV%44)CC{BG+;8<_I@*tWF0K0f6?e(;`Mp_6L_K|rQCxBqN z>0%N{TWzvi<(+J9gnH;A7T3EyUhOzQ#P*u`XDOjG362$fit2HX|kw^O-mSi z>Xv_i#?T+2S-jtmZ4sRwRuNgo?o4JMlYS%L!z<2kPXn_nQmeod|K-R_|My6T*(V#C z>Ivn&e6NJ9Ka@CLSztcxQMA$I#Gv+G6OMLqY3(EhLwca_e@VYdM_uEC#i)rawai{= zae1Nh!|V4P&O&d5?7FgivPa#`vg1*xt{=ULc2ql~P)vn`XM#LLKq(X^fwERDk_oR! zAu3)+iaAdy<%UJtAHWh@Fj~iSR#7}}hG%J&#JRyP0Mw;yESB7Vq@L)}dr&7qRM(w( zg9eePpxQzV4^t&`?sLCGdspXCOB$*|VK}_1iwX>w7Hv-K9NZNF|Nb_|9zR=E`6^U+ zRwZz89Er#(P8aDTHNMqt%}h;r8I=frO9~UpSDPIx0|hSI-kObWsZh7_Aq(83hy&a` zu`2$m%(VO@q;sX+p3|l1GK#s-O`A}CxtH`LRMVYzo;9&~-{~N60Z;a7Oe%z}g3h6= zJCXWZG9h7;o?o(a6Z5KTiQ%MXace(y9Qnu}h{ch^th31r?C1xbP%IbRgQEnjnoRG3ivI`D;m_6?MK&8M)$y`WnR6bUVQ8_*AuNxA>l<)x&18s70!$DZOqZ z;&XR^xdCefPKww&FCMZ0hfMt~b`%Kru;W*j8<$J>SL;+GYr;7oV2hkU%;&(<8xzw! zu$mb=(Y}Luvj8Ff<+pt5XKH;FyZD2rhl38b2K(M@@-KLp6#2B*vb*)q6o7Hie^4{7FI9TOZh zxT;DA_#1BJq+-ws$R$Pk2)f&gE&=G;PFhoj%esUwCbcis9}wLcy@ZN1XKDBCd}D}| zw(2*-wX1q{kQ(dgsW@Q!*z->~0%?7ISyMQ_Rf(s8LOtyWR1~Mp75ItMjcr|tm!d+a z6-6F{;`lmJ>AW#Vxl;2`zjPtjkb<8!pulPD_M2LTI;Yr^#dw7m2%OHY0-27fIO0|y zq)%tdU*CG`zRY&CrF6|+pLMx*@iHB8hXxz|Bdq>w5Agp3R{za*B*iAuU>obPmRkP|TVEdi~13gsUl3w2<*0hxOG%GyZ{PCnpL|HaFg(au7X+yddqa zc$5&)!u$;_g)X zO2*U^!=&%*1&`#$siNvjN{~CT=2KWMILt@gzkY00EZ*~3|0vtarpOh+%Pr-Z@1K_- zKdC&W@I6Sb>{!yO(rK36!5HeGVdFUvtxd%t>I;UG`Gqfhe@&ND7hZqdYnTwYN;Nqh zs?V1pXYt(U?xm5TdbUxR;@o*C(R+<#6j6Z%aSK|11B}08;x=L@)I{8Dd6}3Z>tV3I zNywub;N=GUj%rrN?GX<6SbK*?Df!T7*N-E(#eD2q8AjkPMs;DCwb8o7IYd1R;kgV7 zoP?q<6J5}gIn!@-c+l1qGT5xB2#^15ELU}5+MV71SkujyF({fA+Bfu5e9jsp>hjY8Xu;!(5*9BG8# zE{HZNYK`Ox2ZP^#!-OOD91GNrZoqrKu!BvjJqXb!;KPzYrNZSjN3tSeNq=ZqPYXeY zfabiB`&p5b`0aSV+#NWIr>$)&Q8x);HDjXng$THgxt9+99nBZU#ddq%S=(TTCS>11 z{h&Ts3Rs8$_Q`clRK&}|E>!r7!JH946+|v0kM`LiJp=5R`W>^y8^J7-NHa?AmAQ_; z7k9^<8Zg*=?rP!Y_6A`z+XDZtZeQ??(y#rvpVI2M)IH~Dvgm$?)MsrpJh@aDz6e?t zZs>0|m`4ZoW^nJdi$x78fr|b<&ktP6foRc19qYJFXL%SRzF*mFFYKAkA3jo>XF5Vg zkFM&#E)hZ$3~s{Evqj02L%EfL@b{h?AHC+lzVR@ufGeK!VHU#%&|k`Elzs8FTrvH| z*gQ?0zVlBo;QX`s^}oV^g^Q7q^Y7g$CL&IDF3$gY6Fx;$kJ=*m@o2uBV`Mawk96Mi zX0}!r0Y99KupVPibY5X|2o&{cXv;Oy-{a)Oy?bqdzLEyZ3tdDz$@!)h?;Ym-05{uT0pUh zr9%lPN|Kh3jBucnnlVAw&RpIA^!S&vc@j!LLazDtP_YHA@{idQRv;Uie)8)X4D~wW z7VU^cB@K;{(LzW!V~}}a^l$eE1&=|Zn7g;FD06_NK{3^!{5l zC5!95IJ*`3BX|tA#h1{siK3OOhtMT?Z{ez_I2!W5W1F@kMQE+`QrVTUWdi|il;q|z zBQBYFl^tYqp^RBTOqCpH@a4`2szc_C{VmFxN1enDkml(^)2+2?uTT(ubxR-EsM;7} zj96Z)YZ3yYBW7>_-1%BCxARG1W1u)nU{JxCB?=_pz_~mbPc6F1F~5|pkx`2?Jn*I3 z!S?5;Xh3qf)9nR1o)G@PwfUAhB!$1@$;AWz*4EPETyWJVZbO0>EV`TZ$v%jcir6Jn4imjEO-f@^!vvY_9jd zRERo+2YdhI39GDdc3*27H`b~IcX8O+3 z7-1FIPH4$@pS)d0fBa59be{X%J&epI58NY&$0$K6VRDuqgNV4W-yZ&+ELsUFL2%?> z`2-B-P=*JD9b${W){=Q;(T*F37vR0X&6qP{=BkzQXq#D4m5DU@EHhLRc$$DWq<8!t zHYv4V7V=02po5gQli=je!G?yoe=dQj4gUW8t}QhjIBB7azI)X73R=Bh%ab9t?Q`FTmUpwZdYbUEJa5lMUd^Rn*KyQqPGb0I@+5K9WQV z-m?P$qA1#CxSa@Lvwm_hJzM@+- zKYM(mc`?|Cb!8?~62y3{C6Qa%jvON%Gl|zT(1@%X?HxsipbI+s#%P!7Ax&Ql0}m5| zX$Bi*sEsf63@G|xoVm+RBDB9h4DScbL7@wIf|0L|!8C)f6@hOkQ)ka+%r@BfW8OLF z#UF(Xiam9-hmDUZ5>@_5m<^-Atd>&NY2RAZMNuV~zflpVk)b;*l>pR5UPrJq9t~Am zY%^yJQ@Y8XN>yzf?&X8%hAD?9#bT{diCm+hgUXBzlm%7R zN77i*iTx*(zo^Bb8kgH75%5%;hUN{X<&TJ~HRy?kp@?O-`OFsc@_s9|95)bQcBGmh zOge$AoT_=5g>}Yj$ZFQsLj(5-7w!L5~monK^X{FYwW&e=^hp z-J=Q0PG`RlM1$q*2?` zJGC~pw*v9_{>xQWdA&_P{N6Q&L%Ogd-Gi{@P}be5ScSBfTlc74=YRz~LNDv$K_;*( zGXF*4?g9s2FPmJg!#AoM?e&)DuJjFOZ~D5g)?fY&>{|%BWV~;*tuK{ubyKeOD^$8=(CR_V@j%kp#T1Sy55NgvUpjB*dG59o z%FR)iDuH`pLByWdW>|G;<^`r>1Y>L~_RUa;RT%p?SIuI}%0qhlJ=m3GF>&Sk?*(KYgUJd6@HzY@r!wgaz=$17kR?1m=yOE?fSs48oQ1M+-+^&cvMts23 zyeRx_JIu!rV5O!D=|pMQRK@P7FCVsECuZaCAM6s8s7S$bj+n0Zzf)@Kz1B7{Qfhth zGkEn?G&o+;W!AFMi1V%;Eq{Lucx&!@M>-?1bfg_K(b2{;{tM%F z%dRTPu0=4Fg_a)tyPQ?)XQ70$W$Cxs`JskHQtwT{hieEGF!ZH#&p}QW$e8kg3e7?@ zr(F`A?7?JH8P$+_9SbdrjpwH_5Fe!-&m3eoBz{CFOk_H)>tqd@w+iUR{JFx^lUtCLyub? z0FVr5CQf#=+t?I7_wB?_qjc82X)6&HlE zWMf7BkxlEwuiH?W9UN>}8MDP?FMmYx!5V}+arV$B(e1mG34XD$V%|2W<()e*XPX69 zr)_>tv@j~<$|T~R1YElS&EaZhaFy-n0Dj(}4CjsWJW_k?L7@237~*e}{iC=S9P+$) zVB{dr24TqP4R5eVP3i(X_zC>Me9rlfOBPi@bk3~i)K*@jp2UQAu)zH5p~_ORD|(WS zq^PYuG7dd8UjNa)AQYa`ViEPEqvC9(%t@6g#Zdx0c}S-uqkqi~q5H@T&*5)riWzD3 z1f--s4UY{`$)X+ z!7tj{-21GUQc^bBjkWL#S3_FT81~eK!qi_@s8t2OMjD;Hl3T#8j7qKLEbzO4(6NOB z2aUHg&*VwonUN>eLy_M31ebM}WTit%>KTSo9C>7@M z^kON0cUA)i|FfccM)$Wsg7`W~XZXT9I*bM??Q>P_Ctlo|mlqQ<&o&~JHB6l4&bii- z78GQ8kcODNpFBf{JNVaD{R74=5nk^c%;2UQ8mwJo1X86GY-yPM4a?_Of=!S5RLb(z zh%t5oj|W;jr3c1Bjq`U`+5|;G*D+y5xE4P*>O$A3!9#j4z80!voY}Z8hI(V#i1AGqV>%H$pY8P^^PvSmeH_uk-?Zc^nsJ zwL7ifFjB^ccy~~zi;IKmf<`bFLvX*GQWqy(`rLCdA|~;bo+V=3-hmHkh^G7d+G2Bl zv6=I`;^qN5k+wE?ml~+Pomj0z_sV~PFZS-O;@yDe_F3?6r3)Mz@Jc`mAU=Bd6=M~c zpK&;xK91xuBi)Btfu8!yR0(%vjn2i=os;hY%AE7|;-y}~+QaUv{GeH1`_YlCJ??rD z2fFvA8b)nhxQdH4RFhF@4rm!a(c_QkW(D87lsu4DbP`uw08Tz=`|?_Xe47Q_gxGa- zIEqXGei>{ooIxnhq*fv+dGk|V%*{{JiJkOv5)|*TIRfI|uUF8SREg(6w8|M=d>HCT z!9*hvyk3oj3AURsBHtA_Af}#LrVNDX@BEEYda08yl>#1deute^0xhXO&`FrP25s$H zY?4)fnLm!rbjTh`<&Q+;K8a>VNP;e`&|QoEO(lUIYd7A9v7^$frgCuL&;1j9W)zev z4V~eOS*;1Bjr6#1rx~xI&U=B$SA{~Q?kNHo5#Kk+o42cat=f21R}KyLX44g*A7`EG zG!7)OMAjTkgbld+X7w`Tv&3QnOJboe?bW__-nwD7yoegFV)w#~MO>m3r~Fa_Gt4jH z$~KK72fQT@;ZXOBSx4WWcA;zA+T6UP_d3K=3hMCfSrO0cQ{<~1i|Y9Is~P>d5uSC9 zJJXeZe|swgPwaCc;b$kjC(``-@paZFWG@MkY>4EPZOC^S0#>gi%jPVO@(J^rb#BZn z-)u@8L*-`wX8TG?%nhe1-J0*jUI8u=?r;Z@E__tI0)l74Dj^O+t?!LY7s?-&^n@yS zL;)yAx}w#@G#P?O!sNlO^^|S{eko73XmjuRrP3-HEMs~T%|@7I-!a5jK35S`3$6%A zQp9So`frZSpZ{#=zU_5X@Z;X$RG(ZvtOtN(JX`jIz`|FB6im`#zvv9BMlz}*;I|YC z?pOL{KJo)sO>e)5oUeQ7iyDi+wBS8{`|VYSwl7oPYER!!XZ-+55q%0|1?^+0 zE6Z&R>LpezPFP*{9m?uUP2Zr#J3Ib53J`C~Fj(;Di9%Q#-BEe-&#^NUki^0ETF(>c z-wyZ`UG|}*ZoB0*x080`KT6Bp#i*>{8$@Fohnj$p1sIt)E>0{T(Pi4dfLlY&q*=_> zO>&2L`{X$8p72T7ql%oQ;iFUJ?k$GKCq01Ga4Nbiikd0~P7X;gp@IMuw)jlMl6Ba= ze;2~|3Cxm&IG2$d`LV~u^Xs*ge)+XdD8D;=3A|mFtxZN6(Og+`h|V$C5D)52EV3%= z+z@{XT;#aaCW3!8j|yHE0DYW?N)euyPMA-=u5kk#rN@NJtZ_4dsZ&B%*@`8Zy>2wR z&j)1GdbT`_Y~&JN+d_YjE$dNHK(+MJOh8gNB}f0IXaa`}VR3Hd9ui9Tg)t=4nc5hbNi(XFlpUf8(5YvLVe`W|&0%OF&HmWH+%_JRWdW?j>z$FP zClpx*P2L>y5bxx-V%I~POK*+nK@;Uhg4Pz$f#UieBbYk z#PxBKY%v1s`?mR-DJv6}30En35XZg-Wd+lzM0|9(F5G0ysB?v`w5Biat`w~vA(Lr*`;v+U&1jA~HXoBn@0)U#CUR$2+`Vmhy?EFHbW{jcihg|5BrRkFe+p60%1GrRyXC#@Dq! z^AaRzvewyX8u_5@s*=ay=kf7TMdB{wG+aA)Aye#2`WUt7irEWW#~4CwhB7*yGu3Hc zIE;~XCE=YnvG0U&cRZ9JAVHSmAb}K*dWO{B2boPrZ~pF0 zrfeCvU#WqDfO0`$z8mVl8EtN;2!KDInNcy(X;x4d={Tktr-LT|_1kO(YuM*iG<@p%P-Q4)K}+j;s%x@>n5-covG2$KQLpUBzZ z20uzqYoAL)EFXJdop@~J_oD~POm%0+#@rihDtY6v=hx-ra-oVbbvCOzu zB9hM@37XuEsD!Jgc-c0M9?qI>d5w^o5N;P9Qg%u{o$!XH&IEkD2tW1y@=q8sJ%b?@ zydCHtXK0YWnx_!XLk7r-(oEQEy2f66eYGU#fz?X{b!mvK0~@|9<19gJd7vL%eVc&b z#bN@YR&kY-CZbJCO#m{)h^UUJO*IT=+9YA(94mX8qSRip%6o+eEooGvbsKArOk!!H zm1|4$z&F;JRmn98YQ1j2v!&)?IkKx8xcJuZrk+S+AZXkRM_j7Kcgw0Dg_FcVbdE$b znh89L0Y3(*HJah5FgKh#YQvJ&Djw6KCAI>dw^LX#olexyiwo&QKMuwKDv*Mt!RsL(Ztm6(}D(+nAi70(Dbu4;7_dc+bCMMGrnAd@d< zR^i~xp5JAI%QQeryV1)P#Ql83Sx|sq?3SGa)z`gyF=-<&<%2DqX$mdgljczS^=j_ zL1Uz)BX{|W2tP^ecLt+Fvh>BTy`yDMmnx-ONo2gxR}l!)Zp&F&bui7`OAuaK}dLLwQ_T(^T( zx^tv5y208LbFde$L?_CS{caD2#j7j(e?g~IoK}I+zLos&3mSJP-xLl)HA8RSrGDI@ zH9wK_F2TX3-6aydR# z+KQSJP}Xa*-`>4A1t(5(V@Y6+_mlnDjDt=601lpo>sag##UN>m+N>{MV?cWwxI!$c zhU@)(Jsi+pA=6~u^Pqk&o8+?pJhpv&6>)JqwK_R;n}1=fy1OjZG0MnW?!RBsW`sfJ zUTUrX6?NJeYRB+F1&5Of%-KR*00CJhBOWK)Nd+MNZs)L2=70Z_Eg5C%QUM1fm<*?i zYZz-+o*y$jE~5XVSJcoAO(fU^Es+6y^yb?sM6$QDz{q`Xn)s32rvvG~IxJK&X2YMdL~~McAV?=5a4FO2-v-b7C9~#WM`_Y|Rz@`=$6`GV#1> zTfHnuLZU@rNxfQoLu5dr?TZn)>2}C(IfsaIJeci^os0R zqfb=Q$vv)p9M_hWg1GAc ze2f>NsZl;`-9T*;+Zmtd#|WG_BfK{BjxC^LBN=|OLd=uG4NG4 z2OV(mxOb-t9nj|~l+bI?UmGb}L9;9h$x~;TfMez7c*={B%^!=?(*fz({RO{lEgOWS zh^F;lzT;BqV7@g900Z7`glO(6yfw3vGdQw>$WIYWD4%MA*T=V#iFyw7YxcD<^S@iM zXU)E9{Gw6gmC&uVW2U8@d`t^86CMEAE+FuV)S}>xk~56jffeydJ+&Tx?UH3#ICX>Z2r{(WKl~wDqGXliI3a10r=XQ2i%4UO4^KIIT=WCHgCcfHm0R)F z=2rof)BPqEG6zt?TYWH@EY<)Abzwze6qVU1U*9mRJq?wxmovF@hq(*G`w9I)3&;YS z-JvCT&$4q|=wSGbqJhW*TkS|8V=)*l$R&+g_ewIF=Px$6Gx=V1MQrZYd~{--mU7j$ z2S_d>t>SZCj<;?9N3d`sudu_i){Al%)bw}n|N5|I!)YWnpQD&{@p zzulb;r8SV?axbA*b)Mn-app%V2MZ3t$PsfVR(eOgMIAlp(WAkBc=z-sNg-tFlq_uR zW-g@7AOP1lp>|*(P~TMNv+miNwowRlflC>VH<)hoe&3#`3tmR-Hra>xEdu_h%c;Tv zy%hzz3)nI}5-gPCoSJW>cME!C-G=l`q*4n2%1ESnID5WKHQzD{yn=PE6)u2*&OTp$ zkDuwa<+hlI;dJ#$aaHj)RU}XJa{gUVO+J}NYiIEI<6+EP{;HH-|K?T4-Z5YcD}O=J zT<&IhzBN;)3n<|!3~Ic-u46jUVl+xpiDV64tqf#*PDT$1$-h5qo>jbhZw;+x&-_h5 z-jUt8*fq}tVd)vFhl{Y;Rnfi3>+Ddt484W~2e_)zo2M}s-dP+aZS;Lw7PL9(IN6_@ z3?C{)yB^2}1l-*x3=uDq&EUHCI(bNptWFVU>F8m#Nqs;Nu!x*PJv`p!phr<@jI}0c zmD#z4TbeCCvv#+LseY2S8OQ0$SH5w{tge0Gm3m+wzGk{tJakbI)3TFFYb24(#q#4+ zK*+&Y&UZNZ=}Jao2A1->CYRHWP1F%b1nii29r;=}S19HnkDm=GQ?d>HRvVD<#3N|NARy(dJlfE)A#6^>%~r zmhMnamZbKTS^GLFOT46;)p3EhE5@*>B#roQ*m;&fJlU0F1EoA!J3_q2#wJ5Zqji3n zWM`lqkfnW#Mv#t&IyGn?LRUU@zr>ieq=(qu0Dmv(Qlz#h1%t0*p^uesfH2^QOtE13 zu)S^R?K8ZdbyKi?o5J)n&O^|ixo;l>|EC@aSCw{hQGwov-)3Kns+Z(iLW24 zR8xvE+JN$4WEQLKu=PJib19vou=Qf%%spB=R9N$!qi+a(WQWJ*6; zpo_D09JEAs}{1~`@JT?90}_T-JbDe9DLth3?#k8@1NtS?@uRt z&O<{c*5Mnxg zXf*}hf0vevdIW4Xg#7TNY_N?47c-erLc^LoX*TV}YQ8FFr(B?*nU0^QUhPS#&Q?(p zg=od9r6&*KTl!MUt_~ai(0~+Ysgj@2kHZmdS(0)1^y*}{58Ul4lhSi*?3xZ0SW|r6 z8M>s7X&g}N1o>*0nv(%G^0Z1OOIVyAhI?++Cz5=919n+bf0HY23 z(pvi{Y7V_5c!xXc82)|znM{EfiFy-(aih#|e&E7@0?lwjzx22k%iNF^S75Vt8}EA+ zj)!{pP9e=<0lzDaf>=&#`<9};9hXVZh6^Lt=_y>Ll(h6wMT1i@c zZCI!e+;%Y;_vXEbaxT~X?je#r;qYgl73mpJV2b~p8JHom5fSTj%a zGM45f2SCKvu;L1RkeJ05Nc3g{GG*wnl_nV*I$7^ywDk!?`KaH2LOCwLXz=mrAr$9aD;ALGP7{nAJq=hti1PqznCfKcaHb2LDfhGa z-^_@1{qyJcqD$qh(9ec*Qme+qjHq&~FKkjO?`W34)wxBg^a5|5dg@VI4-70Hso zqoYRIYl%BcXH-i~-pAyW1nT3n-Da5ggsyx&`d+EL1#qOOKn9-^aCy1j!(ST4M(k>9 zcZA7FPHwRjvPwUw6Mh1%;~lO(W?l<6G|C)(T1I_cmd*S<@Nc$*`p9HJW0EGphsot$ zS|yH7*L^rRM!NyC?PjWN;Q;jqw@U+ELT?cD7R`yX$`GIxDR1!a&{kO@6i`cLsdgu8 zN3ba^h3WF#Xj_Bh49P1*U(XZ+%C$#wc*Kw4Q<=&VIdlo;+N%Bts_SDxkF2l}jXOsq z96WTIR_NOOnm00A_y%XTtXmWfo)lG`Oo=0?sz8J7PhGbGo85bA2-l=Ra?9#e5qrx7 z!-iVi-L2ui{xK4=87ud9cj7ipY)HFjDK>1Pv93k#IB7Kb+uzv`5lx&NiZz=gQy&oi zk-bV|9dNrxEpQmprBCwixblBNazGC7)%}+R6lJ@FshUc3@7D1*>svZH_rV;iHKn-irt*dG{%nrwjT_2vUQAl4G_d#v#fLSsIY1MVarVSMHH#@v%1zt-2JM`eA=C{!H(}JIOE3<}#z}xmZe^J|X}4rV_3$5?jKzXTDu3 z9^BM0-1^`70GX6H+s8`m_U=Kj;vqp$O;ho^nD;>~9<|MDNo*<5;#@|-r0{S&{PoiM zER+y85_MtjUe!YH`qL0zc&jo23jnY@TKi|()(FBmjEn_E$MwUVrmq7$Y$3BRc)wU0 zil|f3Uq$0i5%OFyUaOMP`??t7&^d&=uz_)HA7oq_#YOh%(xG2kGYM0m^cMU;-#p>A zL_P7eX$zZ=E#>>7ORgDaqLc7L64mqft2k{=r^oHIKa(g~xi?bc&N*WYNUA`ntO|hA zpJd94UoUf|G5V4jXzZ!Y?D^E2McUltO^cT<^Y7U?|A@dNqdT$B@tlAw63yntafYx` z`EBE1i%BPJ%RQNk_NegI13x}R5#IJLoy(bE3s{^8&Bii4j`o_lg!9>jZndkje{*M= z%@5Px#BssW``fJc%Z<>LCWL`=;AlXiI#SWJ=5Y}lveQO4nv;l3l3iCybP~@Yn~f_E zi850VPoBYgFVv%IgIgMSMC-YBK&?L_5;i((eXKlt+kWnZW=FJ4RNgVZrbP!+|M9Y>?I}u7nhO<1Eszosy1YgC%6H?n^V%5 zY|;X@Y`86{5Lhi&GaaU1@qEzZuSH3=lbNYSU7NnX$-JcH!7L0=aDd$o{kgKdgt{zh zFOh)kXA3;NgpR zT)GqeDCn-Twb$(mO_9a?Uj&NnA$%+{+)%~bdv;pXKhjCO9yO^@a zO55PTz`(7%$>q_gQ4DCFqO^=5d{%BXpj+8456N8elA&y=)WaFF(1AHlhoma_S+PUd z+gNR*H>#FLUCHx#dHdO&FMLF$<^THe1#Y<2a?BTUbl1rNrCIxaTG_!Ta7X^M7~_?_h1p z65wA7r^}T7(_YHfy&!yQE`7fxE-9qUtobq)AnjZgViH+ms ziS$E~14VPE6@DoF5*dL-<~32b)^qyjQX5*-q!o!&KZpjA7!6kt&lo+&A(#MsW`)8# z+OnophRMmbzHnt{u8u|S-_Q&vb_`Lr`ZHIpv3BFSQ8uF>wzUfhB*aZxbb zFOkE*>3;?95`sR8Vi0P*VKSC6B`HGKAVW+(y z-s7p@uU6W3sz=_Ch??yf{iWO zNkdcJDEy`l{@ez}^nm}ISJGf}TM%h+Jp$Is{k4$hr^c1Fvzm*?7TTO0xvGWE2-~ru zmq?pcf|pxxo78ueV}Hxg^CSx=X4o2c9%FWO8@$z|@xW?Z=kH2QU^IBO95g$CPhC5A zH(ypA!?xP#y3TVu<&;FPO-Uk--L zy^T~a*81LQHR!+Yp0>IeKKl-mGI$3e!CXqJ%YPm3|`J=)yj^>bj!yS^2t5QMPxu`KFZT$<{ z>)eONFNmwJZ4n@41PnRxU*vH*HEKu^^$FGL}G}daH zly!5{Y*~tZd)b119j*`BTy^zu8z>Px34lBlA2c2)cdcb#q4WQ^8^_bEtCtk26kz&=WpxUpXv zkUullH+?RsKtSw}pD%u(@D2Xo=g$n#M;mV9BxFFg9E^yh=7*M-oh;Jg7yoNiU2q4W z2!feD@Wn5KR7$0uIZB=z|3`|jaDo~t(`n$1UDj{B6EDb7nM=QATT<3eLX|BGjS(8y z4;-_JoKDtgxVt?9{xL9-dgd1G&ys0u){I`|_n6Pb=AUl@M*-#6#(_!#G17P^`_KB+ zBx9HvwEqEUDFZ2VJ|Be?Gr~}p*K7dN11UQ@JY4ck;p1N$XzNLaLm?x3?5+3nGye4! zoLYqbL8qxf-18S*H+#MEyB=V?UosLu`u6+q3C&H$i~vq*Kxl&- zIJf`R(AdQ^r}RE0o+6zXiVPUMOGr=oqiwF>=EC3;TG)z0zUdU&BthkNo5*x&di?k{7LFn*nnS^W$(9~NZF2V89DQPD8 z5EzTbDc@i6U{FZqtUkKJ`7^H)vfG3o2p(uc6y*orcRanbBi>K7lo=HwDF4Aj^i4;i zyN3Iv;dqjzd_th>;xBH)!*FV`9SB*H9EZZ^6|?G3gPwfM^&m$d96U&qwYx14)!6d! zTo|7XfDx6^4Y8Y>V&DpzH=p%u%e?bwyg`&RbZYM|X^K*dfO;TexmBf;$wGFD9EfZ0wbGHs+ogBGe6_B9ooh;~`ML_H@bk1^=lNQf7tkB5BGjtaQghx5@$1d_c+;+r z;6GOby0d1Mr`?06e+>qE!SnT=9ubf49#71PbP)a%iPgV>aN0e<EQa%8i`%jsG*8WX z#0&PzFGjCQh9qG1U3g~n&nMmB#su?^My<00cGa{jG`XUB$U0pU%2vH{Xf_R4AuYkU ztX@^c=b8vQ5*J>{dUEUPO^OM}XMy|dR_uU(4 zh+s0*A{OST7r#vF^DX!-n}^eF8Q1OYIOHZY)HN<8CI^4=`E0Z7>wK#_@-(k<1viEW zi*cfQeeO?nj^m1ZZ8oXBFiZ(ZgEG`9$@pq{1+TR5*+@VA zIMF#2h)A&b1|oY(GvgIAxV&9xORSKo z;IyZmP&-b?J zRa+W!hUqpSkaZ*roriwH(MyZw`1K2&$Io2jVpD&*-7LpZLm$ToiKBO2N~ut_6k?ar z*~>|M41{;NS<^W7|ip8i?cM z7MABltPU*haC%p2_#eU&c%$L8HkhWP%^l8W&bmYWg;^Q1606xLh;}P=Q_u>x^HKmc z6P)GZeuQuM`GM8DFZy4to96VbA6%-rE3+m<)HBT+>SLKj{I=4D@4G~LqI@%j!h9X* z0?|fy#K=cO5CrxSGSxPl(m*c!>5|@AwuI##M^v3r;a$d3+Av# z{VjM%a&A?n(DJOE_C`n1({Va42~rh{)=<=QVY!^n!l%VhDovM#U6ggv{I4oQjn&Fh zE>;~57FDXARvni3bIX8oHrOeZoc?cM63e*h-qs?ZmSSQW!E{# zpA=iOEaTt3y7}NyKe0)7m7;%b>QFH~y4J_7I^eOyDmoOjJh6pd_b#rvl#sshxGY2T zp^=2@9Mzgr_fVU$gD%P>hpVJ35u1HH%ybkhOnh5sN|aN4|6|AZ2)Nidn>XCAdYBC) znvGA)RgU_}z|O_82)Dfg-S=!vs^UT2EU#ihsH81~H>ea~2u{TDK@jDoYZ(J#nemIC zwQn&USbQ;BQH8GyEwA$9^}4o{D+?N}?3@hX)#Tr$>-c}oRxe*E^Q+kYUTq80G*Lh@ z|LtCkj;mAqJrog>1&0|GGJtk;Y656qcuj$dN4zL%3E#^S18|}0xV#}T zA29+5lY63Q(mgfuSIj~T7}Ji>*1r^>Q3~-;vEHD!8k=Mq1KeoyAc#B76bkN2T;}o- z=ej?scbO0X|I2$hXKp#uhVzz~&Q*y~Q8pT5Q}55BYs$H#+vrWzJt=&;7hKRQaNPhHf{MBj@Ed zQyiU@{GDT^G+Nkdw6Ti2j!u~Xadb0 z4&UtrJJ7G>#MN)M?5OiRxQ6BvmmR{FB3ZFMZYP#RPmdvQGX$Yo-lDMb5}RQ;N3GLc4vEJ9a%&g%bB3kpJe zp5o>I6#QkEP7%Ua)UA-}GgS7Ny1f?mKYrO3t6=m#&pb@mEhK}Tv;&}SSO!cJ{}vv8 zFEi?;P`b6#xm9q_qZi~8)bJ>HsY-J%J>BOTo~(R)G2$>iJET0N)BNffTy%e-xSM^5 zH!E~NGzl96*nUK{yFz4m@+ewHKSAc-uOt<~<0y%R$&YEOEV&fCvT$#P#WsN$);l9P zfv%nW8CIM+ruZVx`iWG&Tg$wGkZeuOfPjT4wN-p1aGa;jI;vo-?w>ES8?&m4V?QKu zez$x}i=*`r1D+q|jwpEJ_!!<%WvQ+%kxHYMkXcaEvz5nY;PEJR$w(*@PMfPblHknp zCxmRFMPgG!>F2;W>+5}0VG?LsP72*jy4AExZwWX_EN5^Cb1o;wEh&01qV6`Rf|c`k zlg=)qQZC>28=^JIk8 zmM(=gL17N&V5qua7N)XC(y;l`*&a~hROLPSNIWMQh`wcq$)^{JTKwUZRg5X*@=bxP z_0>~ygGIJ5g(P_$_sk3CsFL2{P(jXxc=+v9%)ER^eS%vxz*;-@QkJCbN$hkgzu@Wyn(Y-o1mj4ks=V~&#GYynk0Ezf-GWFZ zoiOMx+psQU60A}5$=^Yjomv{GvoL7Sfl16fFX?c?zpQP+vd0U+z!YAgMKCRn|^>3-dZIox7J2J1H;V>VF8!d#64;Mt9*1+I|c~k9LI&nIq5&}20N!{+AGvds?NBZc7MJebhGy4TP{A%ne7@fBL zZ@5CynY3KxqR(MS!{cgv<2ruvNA78~h+!^mSkwrWPj!+nBcV8D+qz)verq*#I}~>4 zmz?_%B8@{=B2QVFE}l43VfdNUy>xmbA_k3BN#S}%DjliI3%4-4btV*=8y0s%H!RS> zj-F=3V(d}oo2K;$p)IWo=YH}{8#5h{8+!;ZJPqKOwFHuEm3ad??KU$6B$Ni5#Z=v? z{&W1znorcs{C>43B^vNd4PGCh29!N>9TOn06OG^|uv->(`+-VlMS{a|AGwrXeTF;K z&r`eP@4}xczOvnm`m(lpM_gSC0%&L^Mnh(l@79d5b*dMB!Y1ltd#C{>D$3Vjztf~# zdP|NhAH(z2a(lucW-5xI_asruw#m7@r%nPcPo$47e3hfHiB#%{AyqH*F;rt+EuD>w zy1LK;Tisc~Q-ICIf-8tz>2(h0ypZ?iFcT`z-bQa%DDqtbq0vsLPbqj0VZmlEzDJj^ z&t==q%CiE2RK~-`75;|NU1jbIaByRv+0g`u!wOH*85Z2I6sH(!x1VC<#nJ(KaxoQD zFpmdq-sfaO>Lr3bJRU-a-(tUc?F2+hP496p>@nYw;OhuC<$r(tRma65@*%EB(D14W zlbfaVUQrI=LThlenAu(|nuk{=tAror|FRm&CY> z&`%d%Lu=77gJjN{lIWVU<0Akyz+m(ZYCgZ>{F(e2wdE-wA9R7sQu(;>o>}zkQ_SvU zzV~`ZEsJbN)B0M(>!k1aKxnuVt~pm15r`)-Jralsz>XD)4{WUF3#csKB5Fs|b1IHa z>?d<0x#UEZAp6h56r)@M?YL*}Iw}@DhlC}lcH_VQbC$^DWL9Paf!zkpzPGuF`9-IR zCVn&|vl!y?9hBRaAz!CaVjjZs7KnxjD^E?3-zmXxu`*N7(U~?Vl<3;T;(RTOKEcIzESM={uVIcC z!Y%?m3yk;om|J=pmI&^m7yO-UR_Q}u5LY>jwdVTU|CA5t2Hu#(Koi5Zy8dgcfziLs z&xtQdN`;}{t0dBdnWsrm@g{2&{f+;Nc{)yK=6MQu#DEu~c}q^pyS(VQe_*e;AH&L} zizagP5?%h+b+`DsGgJqe`zc2D6v_LZ%j3Px2vzosa?>KqZxlyR{4@l*cme}^NBa~B zuFQpDRL~Zns+_q~Vlf{HP*WTUVftEsuPSf zenc$f6MI=On#E3H4NUW*wYT_ywpYBKknq=qp1ep0Dce4>upvz5N^Wi&WqN!%@#H2=JDO+F3 z#}~Oi+gn_(u_6G^3DJt;Z;ci?M0df7gL{u71S(xuer7EM9|9pUz{m@)7GdM`?(42~ z1i!plV>HYs4t*n6CXC39X(^t!O4}|3{A5uw5#Y%+>iY?f)Fv;pJGo!-;YloFV6WvP z24pcZc3*PdO3l#6AhxfDQ6c@EBNpp8A~C(k!gc-dTQzYo)iKSzA!HQOH2e2tm8Wz{ zsvUbXqbW(4IQuZjb`Fkc8E;=RXUkFEgmH9Dziaq>?Gb5`GjYUg8#(eA9l_v0GX^~X zJgL+iUL{&kSIcK@Qb%m{XyDbn0iuN#xB}#6M|THnkWxMYtr$dh%6CvNxG;9BEjbgd zvg9XYpOT%PnZUppn}TTVnw<-NaEo`R6LJdFzEWhNk@f)q44@`zaHQjz2|0U{cC zT(~~gy#EyhQsP+K&J-`zH!nd|XzT1fM;k!Uo%J465*owK_hL7G4i%n`VGJ}5A;GvSF4`QtpI4aiFP<_@)7Li!4YKRd##_CaGERYgVD*xTo2u` zSpK?$PQyBth*pT!2dA6PwpTXizEw4xsRa7k1`s2$N7ajC%;kRx$eXtZsnq^;uFne> z7fUb1dK0E_FOmEkvJNHN_o6WULjFNw$l^|c|N2J?{em2r7?)XR1W0)f7a4b5175+X zlUNkA!L( z)`Xt)Y{;tc5VV@tS5cyez?Q&^B^>rRT)556%tt(Ub}aHuZ+6P-yRDrN$%9`<7l!*_DjcNy=G@KJu=ZIW<-5TjS;qSgmvn@&dFB2)Y;J0NZGE-W}(rDRtU ze7{|T;}A}ZK~!$%9o>KgKn8yg(RM^*z3JPf9KvwA!Q_Uhy>X&U154T)1y77{8u$5z zdx){i*QC}dVZh`r`vfeot-<|!^vfB^&e)8;&b)|dqRYi3Cwf66%`#nlB-v=~J|xCA zwp+3j(H&wrkwS5o`&Gv#azC-!{({czG50ZpElu-4wOw0jXvelx z+&0ugib%VKJBC;@y=lUJO+Xt8g$Y{p7X_Ug<+&|J=A@Ee~sE-b`dImXg-0D}wfx08n;qcGP_1 z=HKB>$0sm(Og-21oFI24=7VoUBhSg!o5xDpjm7t6iIw+DH9N8KB|(!CqOYY)Q;=TaP3P`6uURIgtmbq;gA4fE5l*(d7%rW z>;%*I>!1dSg-cI@q8-lSPNKOVU>)Ls@FU#mk;yNvAqbJcd@LfngdUIi9s$?q(ji!y zBdKD^XLI+a(M1j|l9?sWRvAy+ZsNA(rjGTOD=GeAZDP^J`CLc>(LHG zX|3)M9f&Z;Psu~z-D5A~))T!+FJMspNR5xIz;bU2_}D@HWF0#vC}Y95E-(dKeKXG& z+65$Ni^5_sPTTf0>5+YYdw*zXL@wvt{DX`78P~a@W{yigwty5V0FBjwwW9gE!pubW zNwSGkb9z|<;4kKC?`$cjnrkpOm33cXA^&e^fEYp*Hq+u6qtLT2=cuhkw%v7y4NX_z z7fR%)nLkI|V!(YlR(RJ-wdlClbbuD(r3hoA`SIP42-^H|SjLp_u+1HMl6L9g;m3`w z1~T5un5yo6k;ykC+qzksJ-~4&xVG5n!^>;#g)(wXl-QaX3%-t#i`9V`88i~L0%E;D>lXmC-;%7vNj1g3=K<)d`y!LH;L2!`*aREMP z!P6UK$_FCshnz?kPWJ*Z`>fOhC|eZ_UVC25-(FPcV{UJ0EPwDu4g1{b zOMaSz$lUWIQL>rZss$mF!i27;Y_^Ug&HqUN(rn9Bik>EYdAn$Ui`Ov)w4p5e6Go+t z?-IFBr71k79u6T0Lgb&e-u6A25|!3t3=URudY)#kwjgrOUQ)}-7x-yjx4}}`U*1QZ zdUkm=Y;?RVA|=!yUINdchrZJD75Dh*by{4iBdsloxwo{B2@LnMK4|R#H0oL!MN641 zNh+1N&b=OCYvhZr!kP_fC-5~#oErd%QE4}Feb=NPFF>T~=VG{ot{}@W|Ks%Y!xIO7 zH_DWj;{$Bj3X&t+zpXQ7`qH22%qd)Ha?etGeUu+lOux8DKCAlz?dPMW$Qk-wQiKRc zLP`ca9aUvhd)||q)FPee)ok+)uM3-PPzOK`+^9O`*h}}GnI|5KkWxP77^-$;l?khbC7)dCB6i`fAwW&D3q6 zg$hIWO`t>42(pgSgvUzq6Jw9bUaR*;R~JiTdMUq9*4ADSXi`fo-+S9}o0Cc%d6 zLl|xjHd+Q-25UrDPe#{bv}cU}65)?dn9k{GxNrQ89L90Tp@hw1BQAURh>k>l&Vm&V zgZfm%fiH@s{__1$acYY&U;NEGtQ8wirc{Y0*T3yhRhv~jL8|L+GGZzc&=m%5noqjV zLkaZ(Cxi()d?cLU*In#cijiwYHV1U8S3epu!ErfK!f%3C5x=zLWiM*0Ka&ic5Gi+c zFm6k#M`AVhMZV=`6@WfvCPS;~)(_2!W3C}jD`yjVJF*L(fWv%{0j~;ncCko5n9_*s1D5r!AT6Spz#>| z4Gu}R&YX;p$xIvOZE8K?@u;ql#X6GVVI)UJrQfgLE4Sjtugt;zFf{a@I%BtaBKigq z7#VY!RCqUs#ZYulQKVPho&ES{XA`>5H&H(VL$i_$w1c1Lm*h$|p)x-i$b=Kub4Kvc zaEY{X)&zr}Wkgf{GnV#93JDfA0PIdR{jm+u%2DkOr zwcEd_^NBw5`pa@FRj%(5pTjli#+DH#tLk1C7F-r>FE{XUC9YoPzCN6PuzR9J#9NOo z7SL+S6D+-9*$NSE`uRYa7A@;r*gspS%m)GxwgB9O36VNo{+BD3cGdI56z~#d@;{ z3iELm$`9ks!#`D_i|LZDqD#^}sw_=8WuXtSw5x#d=kgAh94LOsnb&nT5Zr(4^B`%e zsA33Zu8v%t+uQQdr}eJ!|Fq;VWW$Oq2n*0{z#GIow&%*L4#w_60Lf#S z(|xy#JWQ}hLsErZe4MBl7#;L1&a#;;sZc6{#K}V!Ea-auDPij(eIstltevzhG+eaJ z3SUvEg~q(Zx?mZ6ISLTb=}%Nxm;kh2Uu%UPglsrOmVpZEEBJyef1-f4Tm%_G!faI2 zo|sCJR^^8J?S^zdl{QsU}RP$R(+^(-+-%}$5D_Ov*DfOK>Tp}3TO zN**OQ(KA!a;TK$ZtF_NI$P;}dCbQ0boWK{OrP>}3;eRUZCvI+uN@1D;1DPpQ!;rS3 zj&BFEnpXPG2~S)!!|6^;`%jUGz5)y7ETOerE&&2N@j-bvSAkF ztS+_d%9Of;p>Ex(3t9g%jtCO@OY{^c2RNWs1TZh5sAty(Ip5GvQ1ay9T*$AUaB3R* zo41~?_9S}SAPX6VNdMT?RI{kqY0}}h2Kk4*IFa{`?7Ca6mqU8I%^8J667@&^^ZAe4BsT11!bNl1GOKg-wCN^Xq-Rx6+Gs6J-nWAmU?ftZ2y*n_a%zyyB z7iR|AuM$ncvHJ9d`PD;lEaQB z7s#0^6Ll4q8si7b%#2sK5TNl*Vkqfa--aj;S*vHTR&BrqN%(X?0YAB&2|!E4DE&v; zTZ6*p2-=Qu`K9G@8Qem+)nj7OBT90CAY6)DJ+>_!*Kg?VZsxgeKbNb}QJPeKK;SQq zJ_KK=!^6M9KrgLJuupP$^uF8G4uf-iyUQt7-s@Z`_UB$tXxbG4dLPEQ0xjv6Da@|xsx#gjBDfT%uiMH!ccd&KU1uNA z#>9Gu8?hem{CR)4Sb+c;Gp83zX*k(S}pSw^lI#!AV0gv{rC445bHSBz}aFZjmsd_v4 zL;pVDQcu|sHP@1S9e|&R!mQIN#O{wQYVCznlSTGUaj#UVuFS%DFVgE6JO_{birUX} z!?Vgz^E1Nm+#^|{jk0cFxzTZ+t2`y}xiM4%1*~A%8-8=%-o8hm3JhPO5EvnBVpt)q z6&lx)uX$gA4d@jCNnFtEY;~RKOMf~E>kWe}k=?o>8YA3QwMAQZJ*AtVCH;(vLSOA5>dSpK#N|#Dk>TEV*7UV4b%Lj+z?RVuKzk14ouu(5<*dvS3=QLeq(5<(G5APgEGq?Vs zHG*?v3-Kb%Kf{Miz>mpm<6-tKX}H3hH5pw zp5rp4Z??_@mR=}Wb5>XGOQQfurx3Tv7$uzLexLRq(ry_wU8pTY1iUfHUA#8ohf45v zxbiDP*^x2bBb9zhrm)G3OQ2_sQ7jQD^8*RT>6G{4my<$~iYi$*rfD4B#^u%j#xZ?h10N#654N_GM@4;@F1_XpREQ^P-Pp*UV7gv3zg zZHrd1{b}GO6hw3N!m=9#5xprF!}9$M3m`4VP683&gfn_X*a;WJSvzV}t|d8@9r0;% zFL80;+FrLe)Qy2Gq!j~%KnG<@+}jQw50*EyImGBMOTamFgl=YZ(1X5D zVXh{7XgE41*HJ3`+n z0LI+L@7C!R5k01!!2Ye&N+e=Ra597Zd-gB~yX89i=OH&rt^a@)vc?y&2L!Aw^L=DJ ziax=3N`S6K;@`95<}J_6gvSY{3j!(8Wh#{K8U}E<0FWaTwb4CNK9U-_>Xk&O-a8Jl z#I{}85CX}3FGjIcEnD57OR=Qo$5a5a>CB;nIc72CFO|*W%6r0iWROSLUM4~?*+^gD8%Q zbeNWU$15b4SLcm+VM&W9deuKmlh}$5>9iqol~@)$!1JZ>Ad;Rh%DSmc9@_Z9G`EV>~G{38WM#rL#u` zQ^}*v^Fp{znLaAsmA96PuuL8%(t)ASRv|y;>TInQD6K;7_xFjbMVsa{2wvwk)Bgkr zVRH9@W}0St4b=F48{|nsRl$~_E>4*|gAH+~dwK7@2#JYR zanm}MNWK?y)l+q}rYH;xDN&F{d{9s2?2B_NCQDlo3a2 zeq2KH4Kr7Hy^UXfk2k-6Ip#doLCNF8w(o6X59$JmUH#&!?b#=qWIL>yUKit6Go ztEYG2p!O@_`VdR7JLe1fJM8ZW+AwRfxUSUTYNxAXE?Z*57Sljb*)D4PGH?cfyyP!_ zO4T2MB)#M6tmW~sh6JdjataXy@Qz$0Px0z*-aW2t_Ox=boLTca|NT2&GpJ3`z4 z0+~glFjvJ|=o(Zg5Ms}5U)Ptit&FIbXK!r{uI$DU{!sl}EfnOO(ZaQR=i{daSh`sI zw2nY|yc>E|bt>j0y#{nK@#5v{eD zL&d)@%>7&|N-o0!dJUwHx#A&fgTPr#(w#-hxAmf}!JOwpdfq*bNR<8J+2rdz)qExV0dY6};fo^i^ zKk5nMAPyouy3b_^;hy^XPpoY2F~UID_R{Xk7p^sO9dk z0JaPIs1zLEV!vzjcxXF%8_CP|6RU@W`FrI%yV-nJQ&ov&t%TgKA|=5;Z20T^QK_VL z_dsY-^B;X6hw89pmCq+#9?2|7e<$Vk3Ohs(E(|dPy?g}YyqX?Q%xkfD)o72L|DIi1 znSr0e;@Cd#$&k0|u~pJiba`Zd{GQTK0ZjxK zPhll0T&+^y)G6dy;*UW=teG2=hxfk{CPU0w^HK~)m(^?Yo)w@&H zUivK(jh4t(hd%lAFn6J~U8KpZjcyU%5nUdGyx*#kFqOE2t8(SX2&g$K z^dzd9V#8G>oiyleFN&U#pDU-so+MDO%YIWLGFh7G{Gc{;xlrL4#xuZpaUhb)_t1e4 zqNZ1&2n#U7haU-;q9+G~x$^w`k&FzVR&FQd%Wn5SNQxVqN4$2RA8$9rM?A}#BOZA* z4TQe+$46kU>Lc#i=m2MJKb>cLH|Xd2@cOtqXnjg?dDL15QLhczgKd(Yr=;`o9;Qo4 z;pQ7THO78`V z@{XEbl8HR@3y&>ey9-^*wAfC(b;<>7fRsQjUx3MQ)D6$&d$xWy+LL5NvCWeYTK20- zE%tC@79$W$L&T~*z+|O9m(%O33s<%6sz>b1o(R397U{CNq2%Hr>sC(IKcqdADM*@=|vtH2M1rsg-r>;B&8359!16Y1cO3Z3Y0b zldD*MMO-{1JI)Jr*B7{|!9fef^U*gUjj6rf<%ju??13GDhLsgTAKV}dm^5(m^BePj zj7!T_odugP4pS7`4)@D4f2R=0kHEg)_~gX2^B<%#Uezax=W{2aL-Wl#CkEZbu`@fc*50a0RCvORnKjVk)Vd7Pp!x2V|_12jiy>8`_3 zbP$;Oe2@-v74wI$eG4&`HC)J-D|RKU3JD9c)2~BlX>&qG365WZ0W)|31nj%xm`6JVgcyp>>n3qFox7Tk#KxP795r`4`1=bUjHfjO^e1--#5LI~i&Sp-4kTWsr&K9k zGW-OGOnFalNj&}xV?oMF;GFThOq4>AWV_i+ZYH6+s(c<^(bNM^p%upf=pp-6aj7!8 zTuUQvoA#)xVaG-h&T7xNvRv3Jng1^YNCog|dvZ&6j9|Q-ceQp6 zCEawQY!a0cxp~3{k&M%XGIF{BA4quB;t)OU1;V2x?cvebu@>9cA-`>f)=!|OZ!Ha6 z#gtM(*5MULft5Gg`_dszUnnrm^p`h?R7zukAt~9xMrY4xmz13YF7UC^^rJ8`Dw9na z(Y~(%x-JJq98VjxO}1g#{|@o$)5BtO)pLMjSa}6p85iV6nJq}>K+rG1>3`~yY2jviRi)Y%?W2?bWyo^vIqs%2mTs2FjuwH&S%8dw_RZKP$x#e?C3`gD4J^Nftlf62BFVZnx0ES8jt62G-IVI8m#AUJd|x*H(qGon z*Fg_Im{L*ESF_(F(m;8%>G7r(B-?!ODyLnDa=h9O9e~}6X_v7E=~wQFsVvKn@ddvtf2Q<7+XVny{mv zL`lDkR`M)xD;ph%wE2VHTt;PHPmHs02So}kFdf7!Cu4i1GpnAUnCL4~hS|fhe!yiz zRabaxyb0!?-d=l%4$Jjgh3=*_*Lgw>;K1`QJ27m6Je!k4X@1zr_o5XUwUe0VTFBbn z2D!of8csLwm32;cLqM1zetJuClFX{@a)jES{@y7uz2L2+{M}UmTTELTO9pP8m%BQL*+!a*mn~qj~ zLhO$eaLalg+@a1!0Q~&i>dz&bI3OW!$Aa(V%`FH`wq16Aqa*Ep^M%%iLiJyZ?fzXq zyf1b2M+cRkM9OxAyN}Nbr?m2Mz{PX>*!h;MrIrZkjhm;%@Rnf@67hdCD7fM^vyD$B z7@G(JJd43e^L{%cY!iS(WYzf6EyLM`Q6?$W-p}}&w`a(f2O}b5?JW__tYOP@8&~)c z$jQOds@*@-OCy(Uv8@xA;8ZV36S@$>Tc0S30LrW7rX{xWb29Y9#he0KjdKZiL?M;? zvO>cj`dRVu8X46*fR(!|H@NdC(Y&m#SboL*EDC?^%S_O_lOpstkj^UR0vP7c=rRSl}#d$#t}(IQ@-eEM%*!ewG@{a#x@)n1>kl`9MN}jLda(|_+4JMaE(yUSzI|2^oZqSte z4(|;Vv{;TMyif3<;k3K)V5t{lv90-|a^97Nfs{qpEvEdMH!B{~7Mtkq4r`pP|I?L? z_%Q0DnIEp4nB=mS)@(JTC8#>zN&$e!2t^`G$p9;C)bTp|G zmvxAqHp+HeiQLGHcrEh9r5_$z%=WcgH2ZeAn|@dypRN%<$vuR*@{L7EkMzh8MPc)pORnI;RKs=PK`3xF z!oEY6O*Wm9)TS9(ENrY!)zJ-DGYoMefP(E>x)3Urh!)XUD61ivX;D$2dHpm@up# zeC9+IBIZmX(J?^LQn|l(aeTMw{|B<{0m9zU;=Uy&fP2rX0b<3#n3oMY)#&rpy-T9L zq}wawl-Nz6kUe5S0v3hj4rUerK!we5-gucgO?V7vk#huMa}Y&HOGe3sG-91;#P ziI}RqdWcawc<97&_Z&}4y{~ghgYtf7TqaQ%-;gU?~THeJ@;J1SoAu{bJ>zdSuF|%Y#PR9E- zcuU`$(PJ39VsE^|y3)t|@K_Wtg z(7ev?0lnD!_rWr6l7+ug1kpG7>B4Ikf+?4!&HVN$o%Trdn`@k|1@vEIqV1DIk| z=r~36O>;jc+r4jx!Sekdw(NEB(M@3j%JBrBE9&zK*#awHA353eW8~o^}(Fm(lUm zLMBy+aDvGFKI+F*T978*HFT;%;-x6$kB43XO<6gwPjI&}rAf7_kUrW?urp?oQafp` z%O&$K@!@PjSNfP~;~j`j#{J54kZ(v|%$+%i%5Mm%=AV!q_GlRu2&PTN^0u&4=WSF5^Yuj`MAXXo){M(4K~1$ zNQ(SPF^BDOFq*oCUj^sVg&OJjm3?&No#Y*bAYiQpB2X~=#0+oZUB-t}E+5Y}_WAdH z)EyA%hzxvppJ|EkW5;=5>P4V3a}M@1UjHx@o+n(+PPYhx_tR~?N6}N)4vn7$J_u2p z)M5!YvP7~w?6>g(2Lt1Sd9Ff*8$n&ay9=2p7=Dz~@6V)nbYuK0x;BUK55BM!={GQN2H}xi7Vyeddd6^kFsCyt<%$6eQqt&k z`TSz@BCMo@TcL=xy6~5sO*hB9hfEqE;9nP4HKGJCXS}}hbTFU=c3FAnE#>2Lii1OM zyIZVwQvS76Q>M!a0o0Z#)GJ9FQ8oPU3GHYO({hf6oX~))zMv)Gr7YOCj^rzV)lLw~ z3BED0KQmAXGDkMVz2SujeL+NRQ*2OK^Op3k>vL5JOY~WduZXHJB;WZ~gG2N{d+i~a zOPjVv>tT#_ZHe27MS+&gEuyIAT?I`w*@UINP)18TIP@4JPl&!po(Mc-!^Ngr^> z7&h4`Ro;(p`4|=wJeo01lU*9Y^V8vWYi%bMzPf2dRiQsAkKJlsy~?-;53juS>5M`k zb@MsUTl-vj&6qnbM>_5A4hKlS0K=tx&UHLRwVs4{a!Lon&no+-&UUEo=4KwC@jkv@1gzn@6{HY>BZ zXe^Z&R+7ecYAH%dtxfxrh3=5bT3t^*V=KjV7F)<6rDP2>V#yGUh8?5|JLC zay3?*9(yz{ed9p^UDU`7HCy50aLX?kvO=V{D25kT1K)xKy$J)qdC}&c4n*JbJj%GN zaUol2l#pwife62{`yEt>^1`vDn53$@50%Hy%)44QlcE13$UkxShZ0Eq@n>=qvmtkY z&aa>$g$j&HxYoNgyFCB-VKN`B`A5!0LnIR=Ws%8i+CwdYk&8`@W*2R^(@lHn#8`Y# zg%{t@;kt@2)6-iUs=G@Xz1h;vS29(0%9HEXrV8IsB~0#jyKuJykkVv2Y(DPg{L;b- zMhyM>%1rg)=#kA%<-(r~VN!%qWB>#FGX(A=@N?alf)9#H4Wa*ff*M(%U!Qpmoc1@0 z>xslQm5%C49|+uBN}I(<+|^a$iGC8HlST3sRlGqul%G!9_R=P24d>tZ6Gge3l#8sJ@TrwSs|~MK{&{lzwN@W~!qtRZ#|W6{#A>185G`Sp?nr znthE3QkS)eo!qMsTi(*|>vHMS=BPTz@2 zNhorc=Y}EgKM$d7>Z+$gr*4^2ISz;1gdYVjBUc_A$`_K5NYRd|gBe`hhC2V^VPf~* z>jKGXalQFcK>rhbN&=FCG$jVvCL1jQtf9gAH`c0Y-Q{xhki&o;6rC{?xw-OYHEgc5B<}s z$(A;(tyHi$Y=3^nVz4K{8P|ffyl~bm;QS^UyKI2A^~6Z!-WgcY0b$yra$WWv2zV3A zYZRq2lUZhcNO(uqXLECD$!5ie&wHvaMW*wH6I8z0ve$DrC) z`1imjKnO_IkUT`twmG|u6Rj@W&DSzII6L#$nW4a&$bym1yBAM5A4*6obKGM}_0ZhF z2c;9JlYxacc(rY5-n2nyxUNs>iaauakQRKhL53~fKC2L~&@#KE=4a7@nAc;wC$GN~ z{u3rUj@p0H=7Uun9{vHYXg&a!lAF8aVx67!&9u72^Cblq1fMs+7!-}>pe$6F@0M=p zoi|u`@b7F>DVKcy3Fc(iH%@L+DjyJdGrzGhs{SlbI5F}FJRx!Mp=?9~sG6O>R2=JI z#SqKXW(PgVh&_)mh5NZ10!EP};ZyEe+`2II23Wa>Vgf+G*MKF37*zaxBFr7@U!D`l z?5%axToQRoK)02Zb-f}2m%u4I{KzbfE|Ty8DxEh9HW)emeb7G^Ld7+_=o))U3gGL_ z4Sl5v1?@WeKxrc{i8M{`M9GAWv24)xOlE!w+VXTLZh`XJc0NH5B)O+e)$Rgqr;-=C zne@Y%J4!DQ=7wPoC}OZXV;TnVVHrcVic+!G+waM^#`}r;ET^>3C_i3`TqW!lrF^U$ zthj-$q3=?zlQdzqALFtVFs>@OO-kip{xQEP(t?WeKA#`)kC$Fimgl_inzF8Vg^b*) z795Sv@+i=$A7=Ncw?f;ui~0k49hNOFf!()0>CONjuu5(^C`QUk!>^t*I=xFBMhjf4 zpDLxmgeKl@L_)s@6rZ1yq>e6)-kp7D(Nvafu}-{=)96}`ZB=|V=@`zW0B?y_I%YhD zD>BjXGk~X3=f7A>2)HGzt;F?#`ib9Vp(sn!N0<5WZFhk-b3=)$#d=_c(!bi&R^V+N z#$B2f-b|if!-_wV=-xoYHFz*7m`E=@rluG}36|TL6I;$vh*erV;Z$<1mF3sp_pqoe zTNq*&QrpGtsX`S*_CAlFdrvQF?HJ2I|5qU1pH4G*Ab{}?$wly+&D85fkpZNgprGZw z1X67T#XmD`nimF+pOIe$z=$4S&|t)%ITI(cHjS^op**!T6QWe2q7WVjOr43{`$U~P zXLG8NwZ7l6#!ty2%1qRNI89_mBqsSY?1M~-R(c{#gL&~IYKp5i&Q zX^j&?rs$WF$pXy;H@-)OF4)wrYY%@Xg)o^BmA6a$PwIwCL7(Yp_k7@&RK6Kr=zJ(^ zbv>wAhm28>ocHVMqr zH(i2Vk{`;OY*~tVJqzFz2b7}lDnOOJU#1)L{YN7tFjfL$;#G{{uhS*qX(7dAusKaC zu^+NbCD7x%iR?%gK=M88p)xC*MF(eMWYM)T*I$B`v`GVYBnsZa0(Ak{bw}OyLI6OE zjJWD}rkxfWKs1FyKV#3=6P`z_Bdg%*1hcPZoCFakB6|iG3}1~!kI2N46$n<8>tOL4 zFwwLvcVh)%Hzxuqv?%ZQ&?MyxcC$^1umb@{@XRj zv|t_Y-3H7gk6z`ME{UwJ2@?5W*Ev{EoyKL(80W6orn;7LRA@|}^F*Gpov7OV6x+9z z9=)`66yRougNH#V@@w3aF<;R(hG#e@v~8QIxoEU4<{gaWD4Yat^gqW1k#%kv^n>}j zTgOcz55D35jp_k);ta!YiUFoKlP-5Q-fct7uke3A;b#mCQuH~qs^-Zf-{0rR8@;Np86BysO&e+`bia@p_pEkeT)27*SpzfSD*R~SB z0u5lPchfN>d(yiqD>la10ti#wL=?1u7lr*ESd&s#N51dSO}$9^=*g9q_4Z-^SVIf* zmJw+@5h@6gM^VE_;APh>%u0DW&Oq#d(c4xyNP6#lKZTtk=Z{%s<`X46h4Ai6w-GRE z5JXgjBdn%=!?bt=GmzXfM-PLiV<>t>(%xeM{WGw6f*ZST7)tIDPr+YGD8qN~`9q_}UsY-05VFlvxQsg<28ttxJ|~^YEGushQ?h^la8W?3 zBk}R|J7jVV)(11C8@-Egy_0lqOIh$&h@}11uVNK2ZYGl15c>mIj$@_noVO7abm&G% zKW68NNuq=m3U&8>xBR`3j~Q|ysh95d7P&sS{Z&AmG1VMkq0N>DlX7YDMi>W@0W*p# zmhvYZlMAywL*%?b$~}Ae>FSs)!_+?eo(~#j)*|0=Zs>B=Yn0w2akVMZHu+lpn~B<< zCc4~?mN9Um`2)z<(N zR)`=F)bTU*svJlq!^}zUaLR^-8-Ir7rtAobM^CBfbK*s{HO#X9@gI?EbMimDn7e?3 zU)B5KDCIBKRZfUlgF8T14XawW5FP#t%J1cBFL8HrSn%fA4!QQj3+8QzFC%yA^y?rn?a`FrS9q7Ds5}&s#u}Q3M`5hqET6>j za9hNgu`@)FgziA|+YRCn35TdS?9c^I?d;n$$vIUj*n_pzb58)VN84`&8a_+$7&zHdfuv8(+gg}9K^=q#0ue~yF|4^{x0^?1_ySQSls5T z2>B%Lzcab4=3>oFOS04@>ZM`omm2CbSAa^ai~0tWsROTUgculYUe!s6QzLW)g?on| zb}$1UsLY=ysf)!!2zTRYVoT`7<4g_jFvT4A;cWI7RVUJ^KipA$pv)|2kyjAM;kNSg zO09;)=Eu~{k4!RNhEhUsE;yxcd?J<#gSL9-LGy`o>TmPEmFy^pYA1Nt9loa+EQNhN zPdz5!8j$AyC>|iJe%tTk9#FfbYJ0`-JQa^?LWYEM<7JS%!7xbLzaF^mLo;6Bm4;OM z_ksjpG&|MQ`hHEI!2+V&!%L=VkJQ2hwkN|5E4kCa+UZcd14ElP%ZJ7)AMuSSAS&v1 z%)e~&9jX}As^H*4Z@@nu>&bgBUcU2mWyhBv3tmdiLeHr5aS(D=QM-!sZc{9L+#B(|n7@hh82 zaXs~wz|*jh04DJy<7;AKU3lRCU62!wj$xs%Ue#HJR%YsFU7F6&hqrb-XM zW$dvqG{_kToyq}z+4OM|xs@?@SfRTJ%#8&V|CxiUYI)D$lkY<0FQf2&xtpY5EWkXg zM0;rnVR=${Q%-WaoD1ZvG<57Ni|3(TRGPgXwr%yr8 zF=X_HKO8YEj2(khe%;}G!);x;4I=W$(bJt8NTYG-FlC>14RxZ3psw z5=5s(=M)is4F+Y)g3owZO|i+zpN*`ac>kW+#UzbU>WY&?35P>mcr!ku{t)Wi)%8AotD%iG>Yo1^vmo7`nEls+eICM+}H73X#y)@i;i zN{#fM+Ic|^M}#AWP<#}gr8hZ)#~-$jAR4vbuv`3K|BYC?E2Z@LLlDSUTT`oHZWzG; z48Es<&;q;U8OD)6G8>N#q=@SFxDby_KOqk^(8K2u{)MgT(Z#71d5sT-Noj4;=ozjZfHvdOS~Fuo$Ke3Lo5yIfbF-|`A)Ysn4CNl($HN}@AJcZ5f$ zjWh)KA<@xAkvZ{W^9;Pw-zTZeaYYN_eu%73R_M_OO=*&WPT|gEv@ftVoy86|whqFE zVbIMGTQdgZy=to2Iw~}YUm9A5JC}7zztr-W{!$5%9bBlx>@aZ)@$Fa+2?FP+*kd~% z9N9`Q{*oJX)2Up!jPc+T!j(?@Yvf&XFKb@m_{jIzt%fUcFnE_i*vCM{smqnYn=42V z2lLvpd_LXBaBx3Xb1%nAEk(p7lbRNAKTvChoisbH6W0%yqlSy}ulM?yn*)sZeS^V^ zCTPwysCE2QbQ2W(HxNO#a^n@WtJQ{8f(B`|IC(1pz9a_f?{KxDBJz(^hbJp9Zgj-< zSKDNH7da+|!jvw@YvNpl4RBLz=VH|y960DPus$2BT3SnuIKB=1Uh_=au2&(!fv}Q+ zFsbkA5IUiyccs}vUyuA8E-@<>&j03%jIZy07KL2rY;qwPd!_#H6Ml80Y==h(< z#{R0BhVOed&LhA-|2EFdn#-*q5(@kT;z%=AKD;8LQPzxzPLO0MN>eo0`H_iWn8l?J=~P@li65^KR2mcF@zU) zf0x5uh^rlrJZ8NMXoaPE1z2`YcL|B}rgpuHD3oP;5V7++q4SrK*1>|-TFmSeooAzj zO$)MxiU#W&lfxAlS*(~nt(d&H8_wy};T81^^dhQ#b$wr9i%MxXaI^#(m% zGY!sG^Glc$rfi-hgI>0=32G#WIeTEl?o2F@J&MTLXYm1WijIemS0U)O1lg&}YPcIe z)^pH#i)?t;u=?IS-4io2|W3GQT>&Mj^-SEd|O8!KEmJWuBlooU98PBYSRmp4SND3+&^$mShr@ zv+O}!WQ>{q#%!`R* z3D#6<*X~|b=&zQ6;J2G64zCFG^}XQcK|kMW=m5nD*%D6hV%sQt>H%|l2fLV`YUqCx zWbjr){d$lLPT4P)+5GGRIqtfuV(FVG;%rQtXWK{1H*(7%LT#Gnlj&f-GxO*Y3zQJ{gFq{UMK{zLl5=Cc7w%JUtVVR!_0e4OsrU*ZORh^ld*qaf78 zYiFkNI}bNzPD9bj3~Lh}$;6%h#Z75aphF@k8WJgkr>BgSV?@)Nu7V9MONfmR>6UXY zgZvnvlQfj2Ct+~X<|UM4DU2ljJ>OH)rYvw8@Zq2{HM9wj$F(`7R|)%0C6dS9@fYksB#GzeAG|}xh3?S3@wi!~ zvJh@x!>bzpt-}MCzOj{R2te)!&+R1<95_^A*ll>v>tbT%&iLk@w|ZC_!!!*Qv|bSU zeE45tFOnFSFEx_g7veT8(B;RBznC8WY_Uo|g*tFSs%Rl0L z3E9N_&Tp*|6VP=^F|3+QEEeg*8{v(GZ{(8iNk3PyT&oek$%dFOA4#FMsOj&r0Mhuaa^6dSh7!E+IK!w0}v)Qw9RWkKZWF3Z}jAny#Yp~6Lu*40a^uO^J zSH5(F1z)=F6$@72$iU?=8i4W*eWYH;Xk$jEuv@qNs-zwN7yqP&f?>OJqJs%N_whl0x(zELpm{=A+lUpqT-0o&3rCw zFXn7EaYsadpRqfKav#mdYxVaVVj;Hn|AP#`E_ge}l|;s*Yh&A3@%!((Oon_Udl=Tf zBA~-mp1Tbu($A2j9cze0)zMJtPfCj^F{0@xaT61a9IB-bTnU*Q&OeRuoTV}CpgD!A zjp8c-7q*6@f#+gBN+y3F1D8aPN`a-lN(ZU?*tE3o>hbf8^|W33n!ge zj#hf}jS?RPcL|qImfVs$G_Ie<0gyxYX!x;iP%ex4SEq_jUTBQ{59kKu zaD$t~pu5T(qXrJI*BJo#wfsbC2&{oV*5@acmSopmYpnhuI*``sA4suE0L4?)Wq@)l zBjo7mtpsh#gEZN=BRi_*QlNok@gJlQYG*Op3r;91-cOet03X;n65vmlUboVB|+zJr`j)+Yhy(~zc3VMF#hG|dKs*JN0Ey4L}kIH-rfTVJAf zG;I0ZWcPkfiR+=c?K1#Ua-R}-9Kd^0ZF8ybN6Hd9nRJBtR3OfYo)VMq2sIDm2_JZs z(`JiJtMRI{1B2R$7=IG0BJZv4`yIsonN zbz&-zkOX7o^42h9-i;b6ecCBiF8frT!TP8ppUG{qgY0Y zn(L>0ug%2M3jgC7dKY*WN+vpTQgz$8yFh2~&&9>wA?6)xKQzK>@!z@ z%Bii|5`zS{t;{rh9d6s%Ri)YIaxj<9jIqm*;CVFD;<5tW*GO#}`im)E)Snzh9lCb% zK>f~Vw9_P=Q@wBGB(#9uEgcTQ)Q>@CSb|^_cutwweHIG|HY56#CKi%&-zyui?l)95wJPo!ga8r-qN>c1S z(o@<@GT3cC)T)8VbHYtT2SGk?)M79S1aBHsmjgN+$>~?Incl*6nn8fcyu8oUm&6S& z3jG&xJRB@pYbx!aTkZ0P?=knpmvIxt>Ybaw3GvMX9j=MLjKwjlHfG5;gKV%A2^ zk66pV;w;FrF`GIb&3mLf&t2OMmb(!f4`}l!fhLNEkbqOQs{I!=+Q=QmBz`PsNcf0y zdCSNVK7e>BWD$SWJm_7CPZB7CA0Av49+}9-)0~^IjkQBG?0@ZTd<(aC+^_-QnXq4d z_Hsi4$Nyc8A0JhrrPQnpZ8Mki2`U6J?mi@aP(K`HI?7dKoHIg4CT&4%w38HrfSgckK><=?G&CqLCvF>nCcSy`?mxw}uq1c8t2=859l$P6Utlye3F>Be=yP zXVB#Dv@`*LQe60R;ec|7h11o+7G`#iyG@qKd5$CG-|rpC9{&r}7k3W3WKX^a7DS}n*$;U?Vxi6MIF6n6Ku<&;vR@lu6VB}~B`PgP4 zB#*8e^>f7&EBquqBI#uWA-*$ekCj_ymrIe#MNE|85dPrdM;K z79W_8-?4zALklG_hW-oRIj))to@wki$Kp@;B*W<#cV;asBu$(d3d8{F(4$v>BeaM| zk=zq(8HgDEEjx!`f5&&lzG81d{}4cbF!RSc^4S`-5nF8?>`%`=s0LB!_9MEeT!=#i z`g0MOiXiCE3&~6!8B{W6)WgKt0?a%l<@~txhZFKoNWpIdEH|46dDQHXT{PiemQd1p z0|%uXJ3!)CD~3fDpujv_p16KHndB(eNWn}JK(pY1tw?A?gjc4g;BTYKr*YKn=X37k zcPExtdht*$gW1eGo*z^+mzyEln;Zh`*M`mc_y2cAhHoCu{ve`PMsaW2 z8#0{8jJeBjLnDx;ynL|6Wy!fPFE?LOr8#%ZA5m=TH^Xm=$xnp%eQii{*BjXj_+R5w zjn&5oKcI90_n-M6X9txtiS0#EKFE=wPPVXCD{J6xE>G;Cb?}z~gOXgXd0L{p?9Z{= zThSU^rFJX@8d?}lFW)0})d*||8)#)+e?8{op3pu0vGi_rg=t?7K`)A;18jb-U`HGK z{wuO284qSg?2d*DgV-LVT^U|YEPGVzshtBr123%nAn#q>lG;9R|HHF`WS92@$_#Cl zcca3bG&E7J!0&SjzbQ*|ll4?M8qp356?@itNAr$jY+kq5K0l7UuS7WnZ$!6e6Y~i1 z9Mu)R0BFUAsosc=^gb1qok|gaNqC@sKV(sOJz3H_Fkw-)S|+zp5y|Hgf&}W8>O@`K z)FyIdwhs$&u1RagSn2X^j3q1vbL9Y|NFc$U-!e$sLc)=FEyT##cQ24h3-(5%8RvO= zB8GAu3m<*vcfi7}U+BEq5=_g*c5A=K~AZcBId#-t3yGE4iXeQdn{Y{8&J1b}L0U2{F%**H z`~!&tHz0e?5EqdpFZ4m4#`3y8U1lO~DNDN>RK!MLz~!kX-*H>WE4C1R`urK{AxOk@eIZ`q}{fL_bgnFddHQSOKdo zCQvssrveJ+k9k)(>POIeC<4#WQEB`$q1ILM5{D_wAo|xb>^&VaB|*)dQVKnHrJNKu z7?dn#CWW4+!sU5up`297`h=Z$*jU)p5aMe!q-A+?m2c9W!0RY|P@Rd2`cP!P68xQj z99R~L2J)5%W+!kc&e59%eg%@Ymn8@h`g6U{|N55AGQ|JGK3z_5aPCcH|9JJ;-Ps|6u6oYW$+YiZNy ziLyr!H$MhotMgzg7S7{;Cqh0JDI;P7>t6532TW{Zd%X#D;Dp?r{GbK{3V-#Zg8Xit zrbJ_eeKQ_PTug}xLpcej;!U!v>}mx1F_9|IMW!_uzIj~`N046o2%o5m|A?AE##onx zT5>^s^thHVW3+ICm6~ZXf;Eci`kQilD)2S%YG3T!=Mx8R54Xrb**WO*MV?;GAwl}W zN(IPmCRy;kK8=*r)7yybz3e|;a?zvQ2;`_T1N>xzbE0dt0z})6jICdEV~3e6to#{D zd!CnBf{9Iv0cC=b3^%@zZ|}iMjL(z3v*mfr391XJo`RC!ZBWWo{tB(m3&@Eoy8Nc; z;fPWOC7tMl#X62!UO-X{b-hCHrJBOmnHm>EyD^QV0|ClWwb3CSi;*U5u+0|?h>qBa z6vQ@@+cB9e(vMZuE{0quk(D)3Zy#zZMK5=p`4*nsDwJP0y}kv@>%7aVe%|toDLFnx zYoTuFYk}rWiF$May*;3XV>yZ9d&*!pre)%<=T-5x&i)}TW@&h0n>Qh~@zpP~D(L@H zIZT84lpxW}6EVaI;>F9BNG^kux5Lu8XhYB<-xk`=^(G~d_7#H5p#I_b4|a<3!O3Y(gGX^K&04fZm}f`^?^XhB`ij z01(%2@F`Upj*4<{%?`R<+lvFWQSfd*HrXyFzVwNQZn1*D-dzkoXdmgS7iBkT;Ng{_ z(Wf@gCAGy>bl==o@r9xq^KYZJ$_(xUkrH0?pD@wFPX~~-X5ZDc3oZTv<}_eZAMD_Ghyl=cA=A%x1s z73H=>F`?d=^uR1;oKcv=pt8Xajo74c9YnCe=GV5)0+Ganj_Dl{pXnonEo*_pX$U|l;^jqN{>xK{#lF~PLRs`Xf*7zY0Z^1-|#dd{p3b3W~i{ZsXmEzM-Q^{;;?F=(O8UU#(tVYuzySSOqS^tRwDPiv2+Q-+7<8AR_2nRC~Bd9C_5;PZ$eA=4WSODXny z6}@YkWJJHcDQf@hnF{-6n*C9<(dHNh#ZV0jWo~41baG{3Z4G5^WN%_>4Kz40ATS_r zVrmUMJTFFRY;kXTFYDDS@oWS2M*h`lWo;J_^C{rY~&yh|MJITOH zmrMc0O9q3=iihDGz(SNqxs?6RqWa!HIBLBCmJ1q($_gW+wyD(6kF1MEY!2-KWJn$6 z32D78wfSi%BnY&9q-DjbOhQ9OR&PEJqT-(Veo)#Fa*rY$sF}fx!xzrwX8wK3#*gqV zcKe0Njfb&zN{v{UdtkDSSn(@DcsTYkNbG&XpBkJ2xTq4a0Jk+w2T8LF4b%~rYVp%r zv_u6(@R`Vq_AlM7rpvw?!;;y@!jH5N`QMR%S81v|rz=p4p~Xi!yi8)aIe6B>gJ-ukQMOlJCi8bp3d{H zpdF*}*l310Q?^3OW?3Wd)I^`6o+Ppun|R#=zgD51CklxM$w}rw+TtyqzC}Mkbk(Ll zDmko*!lk1HpQqI%&r+W)lf%9^uAEc z4SN&c$|fCJ#XBG#nEC(BdRA;ltNFJ+wKLlwgbrpWyOif|BH5nHQW%gBkM$_zIvemQ z3wf&8gQ+ZV4mbh(ksV_zKBg2B|2A#YH3fP0LX$EN)xlecw7}hE$2tm2!5aOd5KkVu zPjAX0xc{U`Jt-=p76FnBr@5Cgd7lmU$K0D%a3xp(59S-zZz(Juc>UJK~n)GC5xihMU$ak&M%0leK}JqHgMJyxAp-Y7vP)@gaLAq*N~DGP}eR8 ziUXg7ERv=De+xa9F%n?<^A9U$z^XCs#vwbs41KzxXHcqnLdE?U$_uA5MI*3X%ZWG5 z?vcN}KqXFoBYEavPL|;DgGLZI=o1i9o7~=-FkKr7^5)w6;~>Smn?y;&UIX7CSI=#a zjBC(|AY-He%aOiV9bgKdL}Rs69i|d+FyMhdR{^+0Znn`ar$7i-WwvW zAE#85po=y4UkunQ#F@o9_R{+{zK+s)?^x;Mc8Qu)*n z)}8REBZ-=&KID?#Zuj06Ajm=#|33GstHI!lzKw`vLsjDM*386M;X%!Mpg1z7=I*)T? z9>?Y;QN!XJb3>m}nW4KM>wJ1x3mvV?a?-;LvN$|J?)ue|$1^#uN_RdZVNW_-+q@SU zFTOC5+9C2CnxL${x_@tbE}elAayWj$;$lYMkIAOjs{vtfFN|2To?tZ|JWg4rB^qK! zyK4@ez)B&3!23_raQZ)W@Aeo_Fv6=fmyLi-xGMJib}NB;-UFbc7l#p22yf)9h(7qT zP~S_*PMS0QIdWtxAu~ax%5z1iQfiyU@ME>P#+6V?k8i}Eymwk%f49vQE`lPmYNVzdMR3P|lX0{Wu{*^SI}`oxIQ_%}6lv}X96ybjWB)7g0qm~% zp>gx*Y$Kb>#DGQT zL67=GD0;uTVut1IaKC<=rZ7dXle~lnH}P279>fF`dax-)ZoxCO#9>H6-7{oWWB|}b z0)DA9wkMv4J?+JSte!(-ro7KtHodf)?&4Id8}I`l_736bV79oP&fzRG^|gsQ6jeEY zp!DmN@+($ZKvkHkr<#(&zeCce%rt`w1x}Rs>Y%i2{XO`avEtRRhinliQ_@uDV7fX^ zpU>yZDqXvBqi&g);EuM<7e>HwDZ-OsWRt$kUw&9$FrC|xUIv6-Ai@?+7WjDq=eM@N z9Kycha|y&55HPe$u~tb;uZi8Jv`>+iD|rhwav7Qe=QToI(-yyJ)c@fW&vKKz=_pLC z-O#7w$WqU8zEo61)}Mty$2D{Qc3B<0{qo;C2+ls2Yq7`iG{0+Bp#i;QZJ*9TMSDqt zV?cyhbSntp83QoWwjZWb98Qwc#4ty=LvkoQ4H}IxGInk=ZXy{Xe~d202+1IyBX{{T z7$6V=+Al4*S%(%a(Mx3UmK?VLMc)P63mw|2wm0231Zk+(qoR_7_5)$FDzogk)Mow$ zyqV~wI-uMB-Ld@<``_IE5!9hXJ{I2b#gOKBDgoVeC}OYGg!r2m=LG0FTj$qkv~oI$eBdCuQ~Ln^EE6BTPxtsb)&3VD$dCEf6X zHX|akjQe56rC|d&V)bQ7{coAeBBUJ8P`dsT%3z@hZe(&5tttziC@xPd>(l?#+t?{P zA^AVjQ3{qSPl7Z(fW98)v5?u=DuOdd3;BgptRPw-Oetc4YK>H+>O^ZCr&TS0OzPLt zmP2FmI%7;lA8hdm;f$DS)-hBqOm*MRF7A$W9q^N2BX zEt5KwqyKvw**4b9Mw6#pWtSbL4M`#*yBvc^X7Q~o4NGmOzt`TQa$H;?!XYTWyzZYL z-53$q8y#?{C?^<{X&oI_Yspqw4~(Hz2jJmYGgD40jz$^n`yKiF%$O(r(`S43>7(-c zkn5!H7W(K&_(B2f+7|_V#`4W2oUaLYK?pxq$= zQDHWy{Hpn?;Q2DMAE&(_tBY!6tYaARQAzH|n~2%cbq93f}B=qXpCjJLo_6 zpBnt!fpNAxX3%ql9C)hLxud|8wL4q)SuvS^dGe_q-f~s>r`ptR(wYCc!8A5bwkfeD zfRNf`L;hZV&IN|Y{4YE)fyeayQV~|NLPV-do9EOCNvP~~jVw7>9 zZRD!IORsPM@~y+&hFg059V)7h2oR}i*sG@@x%GzReMHmJ6G^*IsQvRWtCgm8T}K?Zrt^JeGjz_S5@;b( z2gQ7GMM@3LyO4E`ua^FB^ zw4KkUTI1zPKgeW>pz*HO$6UD;+gPlQCg~=`9`nmGH?SDDwy; z*U>L;NoZCL_$pT7fWQe5>!wW5)Vx&WQrLzjtN%<}aY+zY1J&JHrCuq*>78BQ_=ucb z3L~j*u|_XbElE9$JrnRINs6ePGwGAfP2$zz>9x)lf-~7(6mx?MxZp{)$;B{T_}Bdp z%l8L0!J!k?1!Uz4eE$>ImI9qBR?n{XMT``q4RW(o@W*@iS(C76m<^YbWm~mFtcj}6 z@**I0^mw=_9sKk;^XiFzk7tE=tNkK=|qOS*>Z%=|YOduv=(GdZy{B;l$+0 z%<<_d4GV&asFmBCPIw!3?(to%*SYpYP|NeT&m6Wj`^{p8seL`BDC<9h4c);8uxTL0 zwqq`{)psn&R9*ox@`H0A2owei|&OsswazH*AyG%LF9*wbQc9mlvT{|GR z+n11lm~|&U@G@6_eJTbA`_YnrneZI7{f1YtsRGQcSUv~LjBf1 zO{dW&_czKSbxi{4F?DHJEeG`5QS%r2(8U9zwB?0WzZtv5Za|VFgjqEMu1yXOq3#jz z6MkO?SUo`Vhq`(?UkUEK;tRkBizg0sjtzxk~eZy zRP0Tmj|@{QHD&YOFX;G8(aC&5p9>*S>j;A_HbyaFJz8S)8&+GDCy6)*kQWo zvAQE~ZAO76TBbloO8(`t9^Uxy&Y#6tG z1{1J{E`KCq7c2i$sGvrPyxxfWaeauWZn1lxC_Xp6!Rw1AgEaRya_5aN;2guQ0cPrPrsNZ)~5ml?X+>B(d}_&Ih1ht zR_guXVt3;HGo64^quT3ZOVv{Sa1*xQHvmkyjRVtWKU3`J)=D200 zihnR-Xv#qN;`~#pivM4e$AX6dJn(A)DA^MzN@J+!dguGu4X1F}QzQbQRJ`W(! zrx$M9iZEk}L8b{h--S^LYE8mWYqsZZ#AlK?aU#%s7AcZNDsR$qA@|gps$(Xle>*VK zA(i@mkx3`e_Rv4KpkYo}imP~U#{n;&sy(^-0wr-3P!uN`cf&#@h33Z6I`|%3l8V4Os(JUGuw%8sH#p-qD;eDsl1{`D z6U)KMj6JTydBA0a1-nnY{{;qP8hd#LH{1N2SdwXq_@$Jk94w3}_sC$DvGI_TFh!s< zDFFC`z9|N`-vE%b;e9#Y=~4SCmfn~=|Jcc?so95|n~l29;+H6zgJ&8p0yVllRHh+5@NIldaK@+|5CiKE+N(Y@(JrFJ#p$e+C z>VpNrhW?q|Uo_mM_J4A^aBq4P!qq`r@6T%BvFICrP0<=Z3ERjuQE}=lC0MW!Vcb7M zc4Xpm_~RK8aAUi9&Ot_&nJTVQ@Tc#}bo1#}Q(fc+wL)4u_4M1wjB5mLEIr6`Ar7Si zY~j+8u-5scLQOn_YPY zb;U=L&C&99qHO;x=p9fk-(S)+;uS}o0UYUTT4ke)zqa70MH3(lc)A0T3f^r6uzvVhW#1OZ0BC`W?Xx0tcOe>}r%TseNBmeKjVPb8q_as( zyJgq&qv301?PryBd_G3muc3Y9M9ra@OUDgb$_nb%oeR5(t~Tafp)M>cNWafhrlR$& zzG4^6D8u*Yg+BSBdmABN?B9P|t?a0H6-4b$q1gUSRjE7v9kXK=5*XTL;m?dHY$EXT zA!JEL@|<@u`v3FXpWcQdch7~U<-F&uA<2&QWVisibVe}GdIm>h(~V4hj@{F>^}p|2 z!>+700x~*gaaNYX3a*sb>-iy<>0^hcp9enSh)>#31iDj=2iUvpiU`zBe-^xF4UN~C zIh?lz8LhQx3h*Rs2vY|ryy-SQ=ciU>H59Q;$xE#E!X*n2Q1wU*O0xbnkO#6$*r zvkqBQY-wsQ%WK8{z_cvM05>WJ4xsj~6`#+svA7RY``~@4)*sv+zPe=x`3e-Bo5slHTCyu&^>U0a2{+(wlSQN(Z-CQIL$bnDcJ#E zF$3!tncU{T7A@-t6KZOb&+qiGO{9QulQD}SjEHSc?VEg*-|h=7 z0Y!JLOFpL_JZ;1)x4rVVwPh!^7d`U?$kld1hb(t-tj2Fn&8};Hn97S-NH_IL*}{3` z{c*YG4#TJEOp>ZQ^yS&6cBS0v<%E%wW&wi1>kr-HbOt#Hcn-wYTqs%T67hY$X>%70 zX*qkWQ`z|jXnGh`3C9E0d6y2u6I zeZT__WQvOLCGgq(T&G-udEt-HAI9BqT)K?QQ#nGKg=zRQ(}2^^$OUI6q}!fD&nx69 zT4l?S$RbdjL&8fwBF>yZvy2qvH2J7gl8$G`2}n zd?F8U9a$V-$~xIvEIITjr*o~EXJm^>1va@XU92u`qXsSc+=K_&MftV6`>?GvSzwrV49_<>b~7ri_CFhfi#8t85zQG`ao9Oh5F^Df^Ej|fc5 zXJK1gndC;i*1Zr7BH$26@@A%X*^+=ffrm!#bs)vF4?U`ZQ7sF)Mq)+_OAmw>5T+>2 z4uDTR4eO8Ex;TV_oylB5wTEn&Eam_S3!QKtUt&r9{Xf5OQ6b7gS@bz@Esb^V^W-;zWTE$T8u1b`_oK#O=0a_RVg}(i<=<73{qW?cWM7-uWQ4){YyraL-)j zLxX|5$C(Ihlu)IFgt`}50%kE$7R5Cfs^80I?OPUE?Siu>FDePwEPN;t4dV4cF}pto zhH7)U#^;7cY8$|S3q1O-LL{XU)O9Ow=~IbpBhZ}{h3&=_OIPV6c+r^)r^O+zYsxb8@=LA7Q9TFEU)fC zj3Cj8kk$Xs7h1w)D|XCIeoD`g6*&oRUNhSjA9|O6a^1k~Og|L#wvbpHaS0#IT%GBf z0UQ*RX2vde(w&~Nu;C)FnEM7_>~y9|`uyX`Gd4*JnCX7j9f$+X8HGS|c>(smNOs?kK<3V3b_0#*px@EDuX^4Ah9Gh4%ROiO=e>F~LTVjEGI zErCZFi+?vgSb$QLE1ggR02is(SJfv-M|b%44{Eu6rL*++m|U07g;O_5tl7@-<{z|n z=SyLka>ym=L$%)N$SEIzC5+i2Ip?ZJ1%wM1N3^G<3A>kJ23(deJ%h0Dnsd# zsqj7qxgW{EDiz$!?op3D9V{L_L>w0>mM#X_K9WngsOUnVWnPyms_%5{ILm^&1I~p21{cuO;+SRbJkxn}4pX7K(_-UzS#xjzHAtPM z-4(~HH{GI6dBJ}R$Cp276I5?C22}xPTffT$+BR#d9{Jz(zJ|w$V9@yV= z(%?;t)J^VbGAfQZj%|0P^$Q;3Kl0xz-kY4JMqKTGKk(>`dFxlyOZ}i+Yg?%6NJnHe zLP_*ae)yw_d9>wy!S?OSW1CjZZayAa4Pui8@z2z_`xTd%JFc!#W(t?~dN&Pq2J)@G z_Nz`{+E;Du(l7KuRdN>s|R1h z8{$IT5y)fue&(|twqC$PIKV`hzzUcTpdkl@_M@MOhJE?C)bpbgHOhgYU7ZKflhxQmD%Tgb(APnx^4`BjG@rw)A z)kiIXFz= zpOFJ`%rJru?Tk>hTEzho@dr8cx!lrS@`p?-8<8vSm@O&3fuf&SsE6A=aljvrBzl=I z$GteAQD4-U7}`c#mh4|8X@}})*u|R|m%OAayu!LMfxJ&#<5M|eA{RcAh}GTDXk`I* z`C~elvYl~nAUocIK!F^HNf9Ww5l`$PpF^Lwx9Z%x6 z3Yn?Z%9B=LDL67v20N-#} zV2y|klCNgw8!!pr1Gx6Sh(jnVR#kZqp3jC6d*j7LR|+Z+{(`=yjD!HZctz9EoZb}< z=Xz=)y#1yxlf94X$n*s7?Ttx3pZ3m4P6rSM8~~|<{glk|YW%UZ6Z1<1`Rb9K&jK@T zPiIsy_$j?Va@MGq=boqG+sv3DO-=EE!7r31o~~vRD6dxkrx#*>B*U)Bj;(*lwUAnB zTrsmjeHB&ye#9+5B#;*%@clW*^`9U4GyHRA-JGyws&9O}gQW9r18I;F$71=}8nnXr zs-?@MEO>P&Lv2D(M@kLk-W}lluXhN?ONu_zw61u%39b`-h~0`D{&;0ta!TSDgTspY z+j2daA)nyAEU1PI;rtDdvJzPxGk~E3egx;_Q!*aNg@sbG|Cew{3+~@}uINi&)X(Ga z(~3~I=Ku&K8|&z=RNJ>DIk&}MZlIpp+%ht3<_xl+sNOv_LVhn1 zDA$En@MhSOUlHpqvOZoyyboPJp->(vT<&HLzyKcZoS3?sLHR>ZkeC?^d>}!RuJ2R5 zid6g=(fK&Y{-XZ&w;D;fSo-2F)A_y}wQ%6hmnEqC<*-QkgQ49&&wGdAV}VHr`TR!; zL4KEer$GYFh;U5K(qqX-c)*5bMmm9I*84I{Sc1@ zED|;4KhiX)6VR-xHa@xt%EWwnBj#MD!q||Lu%>~?=0bcfeZE5_2q^FF9UW2JxOi*( z+>~$&w-)+fMRAJ1*T6Dc{updT-pk$gn90mUG)8vcZ)0{ZyU^6=g5Gnq@K0z9y;we# z7JDvViwSGLq+2%B!%{${JqQal9Dk1W;nK?-En^j(1juDffCq$`Z(uo~V4J!~-s%MM zP`}fY#MYR0iK(uG)^n01CFVBYRZrV?!$7jWVG_ zu5gwg_fLn|Y11=P9=a@+SU4d-xyR=d3ziy)QA90}&p&aX-0Wj|uWV|P36f&3#dUCh z`#kmefaGOz(95;;P17Z1BNhXM(Bmv#k<^aZ3c@<Qm6-6kv|4kWKaCcC2Fb1vWuA zTd{agxdb+@X?v{gVC`paq~CJ_-k0s!DdrhCf?x*zz57gWXIS|ec`0aD^GLHZE zSZ9#`Qx_~kTAZ}L+bR<1i+PXSQz*Khgx7fSws3m@6|5%I^~F|C)RAr!OPZ4cLqo;1p7f1r8w+ZC5lR0lb~7 z^6khureaner9{^FVn3fF8xtV@RosBxSv0iF(4R2jZQ;EnI0Yr8KX5{`?*s2_)kFPx z#`+S$N}07bXvu8jbgrv6lRT7CrzHi{rfpNI*#VS#Gtb&IUBdXT1vr{^& zX{kRCfM@rFN@!JMyzw1er|Q98=fUgMw^Jr@f;^1@`3vU@&z2jm=4wnIQ`N#O4R1jB zfyg#vAvKvJrA({Y)}&VIJ9I? z4xB^CB6sA%nQ3BA`^2KA)rw+GAEqX`;rG5&>$~pYmV`|pz<6(5;F^P5%?6r~1x6M< zEyW=;_+2|G3T#}3ayHNOHC=+^rnf9=b*g3Dka>h@pu<*&}t(Zr8*>cjswHwp38??IL?uml_Ob9xmN$Q2ZoHJQe>x= zQfDNn416XYBSOtZD<98lbAZcA-NSqX4-fL@SYVv6Eh!5E{v_%322%9C=!`xYY#*jD zF%aLGP=sm_f-Oe5Bya}(hCdN4ja)uZrSJgw^1HrJg1gb{{SDeY4*ZNu2Eh13{SX&W zbH>2Q8(N0R>p-;B1%`x(%t1aBD6F@O%?N}_dMaOG-tq?n=yMoD9K~!4M|g!?f~LSH zRI_^neNTg2FQOU4FMYcD*O3Q!WTc?{7t9GfS3*;12Mf9TAYii|)O0yh*P+F>0Xgd8GI zke?U8RW2B)vBapK{7vB{zofpKWw~6@FlH0X7`=*e>?ApgN?{OmcmT7>b}qxKOInSd z*ZR3A#~}is2w&Gi(N2kMX`qV3Ha&WK=lC{DdKl?Tmk{Ktn{qT0mx%DnZ~F{zQTt+9 zAGatJ52QtZU`!(Q?+re@rpQyFeSt%|~e~&eUbptRm`hz7e3M@X~mmyFBfg3u&;jWvp4%U_4p6BMSzmq5pBNTR^5wfz$B2nZkN|cV) zd1XSSGCeLV$*-Be?AjAohuS6#R$n9P_~0M@g_}PwAi%ek-ISVeX#|(uwQyWFWCI&& zV&uh_%j!xa>;flnK`&{q9)WU9|AODB+nlhC5a2%x$uv{as+9V}y9*2OQ3ThB-N>od zDdAEFKNp5Fzq?*c{lspXoPbSw(>9ILWoOc~3jH;J#@IPZy9Ugt&$A6Wn$koFJYc23*M`nTq z1;_lcoH0dD{~r#h#a`IwCSUqIvJd73fk>QmnpWO z8X2MBXYaGSTMAlvP>Csz34F`?@N;aYUJ+IFavXLLeuuPC^DebbnI`^Qcov->=K%d? z3A0{9U`9eT*9}-bZx~>+G@6&Gcuck!6WmM4&wc^OJY$&H!p|`AKfx2-)Z6}=0OWW7 zz#tH}(AwG@V~lNIY~{-+)+C`Pcv^s^=9<5sy}uXAkGJ$RXURb48yK`h>qM>4?Aq`n zZt{R_c(!=j#@vPqBUqfyb=vDkGYs-$)PCh92$)&%d@3S$5~L|r;c16~ey&{D?x%=P z;GccvQ>1)L=DQZ(2V+$E7bbTc%iuO=Uv$TrRc(OsH&E;?7Ap0GXZF+8AH@C%uO+>^ z@m`UvItnZ4mL2wSs01#XuYEF9?u8<8c9Pq;%90w_6cs4r(DP^-9CEfs^Sb9JyN%pj z5sI#xjdOe>q3+(O^95147?ew@2+OpK4*dD=WQIl13L>OU^~eKoci@O+n-=22*5ywu znEBw2KESmb+(J|Cbda`|nF%M<28+<6mXCh_aoir5;Gx5_iWYN08T#lwQ17GEvhLG6 zXLFDvL^Oe63<3`9s1P#7`Socis6f1%SLndl9Vu}}59)z&#h&Jv5V*bRQq2?>dvQ4% zSjy(~bkUHajcOh1m*249F!;y~@2Gb}@d5wvU%3L5cJ;bd{6YfRRjxq5qJ|P}+TGFE zQlz5T@Df)0Isx2k*1GoOBV^ADL6UL&mlv~f1lTrFPjjT6(EX~z;klWkTt}BA!Ri=* z<3=$k9Fw&H1bIsP5^lHNxZMvTL$mFj^B9OK z%}qSE2Nj9cV(JZa0i4=PQjupdV9qq1F55d#Rljhbk{hd}JlEdI(W8gCURx{Fz}Q@1 za7=_cG)2g;%Gbtv3;p(5$+NN-^%Mn?qXjHm_Z#>4su|G_g;p=*N3OFfkK++QfM)%p zYCQfG6u>`%mt6N~8QxxjjXVIpVKDqHq#;7oh~h$rGb3$SLPA$NTO!cNh3~5v zSJ>^=a}{1C{>PgrS8;$4TPfU*y(ocS&t8F~ZdU0yGXuUnjQU=x?Cg9Hw&}}?C*3%Z zg}4Jv=IczFY*kDSbBsko|74nmRZkK|fIU7XU$k2+runNEx3o}N%pYmN@#_htWAZbi z1pP;d$Pm1r#)mQx=rrP$sw-7y<-U2t9P4_nN_YL{Jbj!bATPYz1lU>$3jw-WTId6-%z<-`~yM;9VJnh^q z8>|nLe3$rUfwaB925@)jZSw_6DITJMEDJO`8W#GDf*_xe+%8`vd-R;YNSlfZtiU>pvPH!(JZ}iD8sH$@wHm& z2^>e!e$gxj$4lo1o*Tfc+OI`7FL@@_)QwD6Pxu`X&l|(M2z}cXJXv01^V|K5w87!S zEd1X*Masb)8JEl7+CPRf(x5*z*-JA==|$kmMwkIYR*`)LE+0vbA4@aKSJ_RJ5h z?OP+Uup2v_IW|$b0X*sTPXr`4HaJ5yA$aA9MC%^!2~8>BeU@!5xUuw($6G52!7#Y^ zn$B81LaR97Mxe14GMW`et{&SQlM2JUZYUPuKS}#zR1+QCc{TCFa<^R$pS{ zLR#C?1SdM4WmvX}QmEhl9t?-AzQPP?lV4uP8!$y3^Z!HZ8~?Rd{HY6o<+1_`NaUja zdoi2Kl0*We=D)&bMr@8|EXjM_aLejh8OAk|93>xU0pI}=(`0tOC62*TLZB4ssGB_l zT(}b)P0$ZY16*q>wgS@bdBdE8d&1tZ?^O?SPCl|BfDN8wFtG+nRW!%{v+#l?(fVSV z%&*)7pxF=Pv4O>?pqIvk)Lh479^07f;H)R3Qsogmx4c#EXa%9-#GT!bwNb7| zzcc;J%U)=QNX5jSS5w|vV@tD8*iT83Q-c=(OYF(sMbyINSM8Jfo9)t!+}7Kw!N%pafU!2^8c>n4lcV;C64=AS$awMgS zr#CtbuAkgXvu!%ZgT$BU%9`vRT%26~or>pF`yy5nxQTg^G*oX?HBh@JvHCLU>L6Ua zB;-;Rm9%1$NU+;kuV8zqd`M^>15scsbog2o!OaaUeC-Pxq}Grx^x~+Dvd@sev!Us3 zM10rj$!6l97zm+(M??%Ws!0B!{F>ayXwXh;QS8jcYXrEe|9na0z#6s<-VocnaB{0> zVwJI^?cg^MHuwh#l;^T|=`f<;&g# z19hVbzN=krxAPE>ulqPObfm{a^^qnt?m>8IVbKCFGa{9`*L6-Z|FY0ny1SXlZlDA z2L#tPIlm4}&Mfo^v^J3+W&UGkCV%T)3vCkz{_3Me zqPJkkOsr@Q@UfFPo0~WG!qzzPzlZ!mfk$tZYasf{NO~u_%)_(BZHY~L%34JYeXJ|y4VeYHI+47e;EQm~ zGHzAkC7QFgt9Q-ld|&abSqFmVMqL_~y{cu*Tq7|gfF!SsbLvazUC~iWR-qvOx`X5` zW)Vyh$de45?In>C8P%!BD7Ss0_iWd!J-sqB{fg~~^TzviM(1WVd(6EmSBm(Ze`y=x z8%j=09}|aqXdU}%PDukZO_rQZCUfGJ{g1SLzVWc+nEACe zb`BKUgRcs0u^i(A@a@d|hk0ex-Ny^p zfRyBlLSE@_oSQ#?d#R4X3rsx%*Z67S6 zDt9Uspm0C~9(d+ht?_yGiVeo(y6P!sbtC}vxK;8n?%l(27i7fISdcp%s1{rtjF7wT zVP*&9qqZ{p_Pj}DCG0&i2Q5d#0h$&s2-C4?iA9CUwZBrdcnm^#PEY>|80K5d-CD5t zk1@4(#?T0&6i}e0HvsKq3->owt%C@{Gukh)kQc(!czh;{QEP*(BEm4s*J-*5uISHD}XkWj)pZ4^ll{EeoILT;Y9=i-nY9YvGGJlChx=`hB-W?~Bo zc@o1mCVqzvqNkZuKJxcR1n2&}n-iZ8&=P^!abtas^$}-BIbFMG66yzf>zOagz} zaWCqKW3GC>wke1s@_VLaD@?i~7RXGnQN?>2WY&FGh}!`z>{NP5tC} zm30Nr>eT1Sjj7vI?;(aN5RTr2I*xdcu9F8ad_=J`nR5Y1+{)CCUweWDS|)HLU1_w| z+#w*^GD#UOIh1?Qj(r!bC(!gB%>|7w!obN*bFUiIHKkg-S_x0jS(AE>&X$G!kWWIcjcMJ6tzC{qMBJ?jlI+HQ03$zkAe5#-QBYv)3uzl+ zV6jc-siot5nvj??#mDqOtvDj5zP?R3d0c9KwC0-VzoI)>)i#s(azz!Xq&szn@xUz~ z(Qd?^$g}}k)xj0{;p_>%9USFef_OpfFJwT4wMwYNqo=n{-^<~m|juPRbqs|k^*7T}%2$HIf(L=5OOB64>`h*QyXJ;oh8#O-V~ zQot>yXhyymkKe8ffGm<=heEN36G^m(qeFJ~Tf~y&n8l6sC^Voh(P&QoLvW8f-wbT~ zSE)x9w*oC`mh}H_Ma68?{g=WLN2$hxHKcf_vj7Lz5j=-USB=$ILgT9zi>Q&>&pShC z4L~*bE24}bS+<|?wyKyPo>E)1m}I_6Be^ch$1m<>9Xkf>TjHvi8B|kkClSb$-k!F{ ziOP47n8U_1*4cd5?A}FXLC|op)t=MZvW&@Pi#dS-i*xGK5`{VaO#d;;Q%3o6(L7)e zyQVliM2v0}aVEk51dW;OJ8?FxYwf32PsC0%Z-)RZao8S%GK@Ays;(7ml&G2w+Q&n_ zdIy44d4VT0A!_tLGEN}iBqQ>^M~!IS!`<$ef?9Wl9FaWQ_VHzqm)tAo%O|Cmg_+g= zv7R0MFvv6%eST`=@PyXR^9N-Aky%mz6P5YXZn!=7nJ#RB4e>C_&~gzU`X5R4T$ErYzcwRy zzs7fI7|#GtI!Sedi>}Y9@m?Wqve=K`S)&tf;2eWJ`SonrMe{a+W&rG9XWds!5=6NX z0e$0{#4q>x&oc8fgWPdN#(<1UjB ztI2CzKE2U?doN!w#YP{MBB+yJ3FFiOn=wg84qCG^yDIpEUA1a3atAs%3FFo2|Yu#(H$NI+3|S(utBUGW1jg~8)8^vmY@K_d!!Pb0z4W5tQz9V1-E-CeyHXAN^Atdryrq`3k%m|RL4cnm2f;P*5-uxLsYb8a{Yv){CGyxkBW{Z*$R*Dc?e z=*FJzj?vi!ZE*j<3si738-Hw`)@|YIfzCm1LGv!`Aw-7u+-snC9;IM~`FqYry-|#5 zmDt()TSAojf+_-veipcs;U`3wUxd7_ zbn3c=yHXAE@4)L5=EfO%n+Zjc8}zErTu{6s)tIfdzO!m8VkmXrW0@TGL^T+`tNxS{ zMkX^zNkM}wXL{dqy2e1K{b|dVD3~9P>bLTb$4Mo<6`ow4t@9Pg#j&~kPf!0d*29IT zEIk?`Q6UbZ)h@|6E_+Y@cHtnLwupRT;Jn-fNGz;)t!I)T4EipMJOe9%El0I{uVa)W z@)d(J!M!xx{~|d}5N8_r7S?XjMQkpRlbT63-uoIZSZ+agHjv?vlAsMNXf-7Om`m)P=3Ft5@?&s=6Y29Vtv<`{m78Kr-hWK;zs>oRfaK zvl;xkG!=HInt{UVnCS%q&cIS-Vu)c8^SsFkaHJ`6@k`+==mJO91F*#>eS!&mFq86= zSC-GA%O;C8$Yt^gLb40PtM?fKham;;i7}c#T;J3!sM)FcZkXeP`#8%?m>-MSJW;WI z2A6mK-lA6>xr}q9A$=#GhHsWwKm&{GfPRqqq^K$F?3=d4_Br|AhBa+2)1_~<>M?m0 zpvz7Qv@PDL8xXeyZVc9s{9uSaY2YUIAM3aJ8*#g>_VXxyAF4vFRo)h5^(N9QeSv{0 zs_p`?WvPlUJK0V`Z844 zG4}celJngr@sZHOamju?Dg41)97WgTJV^rU&Oc5a9vZ^vn(tj&vQMmHdFGDsS@U>J zEBZF92q$5;0_Zpc?cr`wIAN*KroM8Bzj^ZTf$90~H%Bc=S&Y9VUo zf4fM}7FcIrvs#`}rC^w-B#~p=uR2|jiQ@#cg4=}U0kS$RscrEsxFg>UV$fJ4n)Uq& zefLR)DSo(GI&GQK{JD>uT)fq@fYW3~z>RIsx211M`AdyWLBW5u@bQcqCkGzSdP6m1 zW{#)$gjvw6stK}881$H(%Y@&`m{}8ksr@Mp8h4sf&*^xk4s@hBVbv#n5f8ad*(N34 zHw5jRaHdvDP;yoxMsL6<8UDbzLkrRDEoW#?yeIctPO*(e(fFSp{lB(Yt^u=t7LV8XPIISVhI7qmj>pY;4H(40Ib(9q_j5 zh-{GEH*`eo7w#;`Ffx<|FNc)eCyvMyzoZYfMLQDJwcv=Uy6riX9wCr0UlO>hLy$>@ znRDeZeEcq<+K%^N4j|LRH@)fs{$F%WZ=J+D9> zI14FR(l>57+Yj+Em=NvoxPpCcPgX)O@_wi|t`C9G(+=kS-|0(n80 zAWT@~vcck?WDRg7{QoJ;>IwS+eWM3!7hh}A96P~jP<)awnaU+xV?-Y7up2cune>%P zCQwQU9hul%Nc{_|xv*C=(r~@G74>R}gGF&9-qL~H-jJTUb$Y;`Ts0!qO1DHL#H48z z+E$5prWUq2p?xC%6ne?Ak^YVskh1zU1OI-VH^`aj#d2;cx)6;Mgm2p8htt$w>r79H zr8CYOUa1hF9W1WtXKu$LtMsLvcFHC--I!hC7)%Ks%+?yJnL1&B0_qk+?H@5D*ZUCa{^rA*c4Kxw1JGxh*d+qx??x3BB|gJxHlW zaEeS6?4FKvhr~0(ef2!SrZ;Fe>&usHfIb8&5V0PVcG5<`d8mR}=0xzh;j? zpLTXLWb~b^N*V?u+f>ZnvFkmZ_!MDE1nR$OFhRM+HJ%ZpO$9w zjS;O_aV2fnb&dKI+^U4bADNi#urQ=gu|as4PRYeEJz%C9M|k7F&{ira;Xg2|22Ou) z(G0lt7z0VNC~Q&=fu4$BXrbX2fgx%rbqDS>o(FIp79Y$CS ziRMBv2AuT%=>=0IIwK%~$?t)-TzYip#S%^h4uA zmiPiWLGY3}85!e(Lcdr_vnV=MmU!S5j*k4R0hn&34Uo|4NbWTR5gtV8lB009O&#bn_fvPL)2k