From d7c1d2c4094712ecd595715fd94456eadf131f1e Mon Sep 17 00:00:00 2001 From: SnipeXR Date: Sun, 14 Feb 2016 12:49:52 -0500 Subject: [PATCH 01/71] Added JETI EX BUS Protocol under SerialRX Provider List on Configuration Page. Support in BetaFlight (2.4.0) borisbstyle/betaflight#168 Upcoming Support in Cleanflight Pull Request cleanflight/cleanflight#1709 --- tabs/configuration.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tabs/configuration.js b/tabs/configuration.js index d7e7694bd..039142df7 100644 --- a/tabs/configuration.js +++ b/tabs/configuration.js @@ -336,6 +336,10 @@ TABS.configuration.initialize = function (callback, scrollPosition) { serialRXtypes.push('IBUS'); } + if (semver.gte(CONFIG.apiVersion, "1.15.0")) { + serialRXtypes.push('JETIEXBUS'); + } + var serialRX_e = $('select.serialRX'); for (var i = 0; i < serialRXtypes.length; i++) { serialRX_e.append(''); From 2450470aa8e8a0dcd1b30ea65037aa7625502dc8 Mon Sep 17 00:00:00 2001 From: David Zumbrunnen Date: Sun, 6 Mar 2016 17:51:37 +0100 Subject: [PATCH 02/71] ISO date for backup filename --- js/backup_restore.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/js/backup_restore.js b/js/backup_restore.js index fb0cd6c44..17f27c604 100644 --- a/js/backup_restore.js +++ b/js/backup_restore.js @@ -161,8 +161,11 @@ function configuration_backup(callback) { }]; // generate timestamp for the backup file - var d = new Date(), - now = (d.getMonth() + 1) + '.' + d.getDate() + '.' + d.getFullYear() + '.' + d.getHours() + '.' + d.getMinutes(); + var d = new Date(); + var now = d.toISOString().substring(0, 10) + 'T' + + (d.getHours() < 10 ? '0' : '') + d.getHours() + + '-' + + (d.getMinutes() < 10 ? '0' : '') + d.getMinutes(); // create or load the file chrome.fileSystem.chooseEntry({type: 'saveFile', suggestedName: 'cleanflight_backup_' + now, accepts: accepts}, function (fileEntry) { From 4680d4d946131d7eb5b8d3eec23017ff3cbc6017 Mon Sep 17 00:00:00 2001 From: David Zumbrunnen Date: Sun, 6 Mar 2016 17:52:19 +0100 Subject: [PATCH 03/71] Simplified/localized timestamp for log --- js/gui.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/js/gui.js b/js/gui.js index 84972d4a5..d125a5f45 100644 --- a/js/gui.js +++ b/js/gui.js @@ -208,19 +208,11 @@ GUI_control.prototype.timeout_kill_all = function () { GUI_control.prototype.log = function (message) { var command_log = $('div#log'); var d = new Date(); - var year = d.getFullYear(); - var month = ((d.getMonth() < 9) ? '0' + (d.getMonth() + 1) : (d.getMonth() + 1)); - var date = ((d.getDate() < 10) ? '0' + d.getDate() : d.getDate()); - var time = ((d.getHours() < 10) ? '0' + d.getHours(): d.getHours()) - + ':' + ((d.getMinutes() < 10) ? '0' + d.getMinutes(): d.getMinutes()) - + ':' + ((d.getSeconds() < 10) ? '0' + d.getSeconds(): d.getSeconds()); - - var formattedDate = "{0}-{1}-{2} {3}".format( - year, - month, - date, - ' @ ' + time - ); + var date = d.toISOString().substring(0, 10); + var time = d.toLocaleTimeString(); + + var formattedDate = [date, time].join(' @ '); + $('div.wrapper', command_log).append('

' + formattedDate + ' -- ' + message + '

'); command_log.scrollTop($('div.wrapper', command_log).height()); }; From 286800dfbd1a678133ace3b81febc2224f10795a Mon Sep 17 00:00:00 2001 From: skaman82 Date: Sun, 12 Jun 2016 17:45:41 +0200 Subject: [PATCH 04/71] Mag calibration button fix in the setup tab --- main.css | 6 ++++++ tabs/setup.js | 2 ++ 2 files changed, 8 insertions(+) diff --git a/main.css b/main.css index c843e9fe2..eca31a9bd 100644 --- a/main.css +++ b/main.css @@ -1252,6 +1252,12 @@ dialog { text-decoration:none; } +.default_btn a.disabled { + background-color: #fff; + border: 1px solid #ccc; + color: #ccc; +} + .default_btn a:hover { background-color: #6ac435; color: #fff; diff --git a/tabs/setup.js b/tabs/setup.js index b5d8084e8..6e0333702 100755 --- a/tabs/setup.js +++ b/tabs/setup.js @@ -58,6 +58,8 @@ TABS.setup.initialize = function (callback) { // check if we have magnetometer if (!bit_check(CONFIG.activeSensors, 2)) { $('a.calibrateMag').addClass('disabled'); + $('default_btn').addClass('disabled'); + } self.initializeInstruments(); From cf41bac7602b4a5bd7cf0bd20afa609ac66efa79 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Mon, 13 Jun 2016 23:31:02 +0200 Subject: [PATCH 05/71] fix gyro icon being off if acc is deactivated --- js/serial_backend.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/js/serial_backend.js b/js/serial_backend.js index a3fa4afb3..13d588a0b 100755 --- a/js/serial_backend.js +++ b/js/serial_backend.js @@ -304,7 +304,7 @@ function read_serial(info) { function sensor_status(sensors_detected) { // initialize variable (if it wasn't) if (!sensor_status.previous_sensors_detected) { - sensor_status.previous_sensors_detected = 0; + sensor_status.previous_sensors_detected = -1; // Otherwise first iteration will not be run if sensors_detected == 0 } // update UI (if necessary) @@ -326,7 +326,7 @@ function sensor_status(sensors_detected) { $('.accicon', e_sensor_status).removeClass('active'); } - if (have_sensor(sensors_detected, 'gyro')) { + if (true) { // Gyro status is not reported by FC $('.gyro', e_sensor_status).addClass('on'); $('.gyroicon', e_sensor_status).addClass('active'); } else { @@ -352,7 +352,7 @@ function sensor_status(sensors_detected) { if (have_sensor(sensors_detected, 'gps')) { $('.gps', e_sensor_status).addClass('on'); - $('.gpsicon', e_sensor_status).addClass('active'); + $('.gpsicon', e_sensor_status).addClass('active'); } else { $('.gps', e_sensor_status).removeClass('on'); $('.gpsicon', e_sensor_status).removeClass('active'); @@ -370,7 +370,6 @@ function sensor_status(sensors_detected) { function have_sensor(sensors_detected, sensor_code) { switch(sensor_code) { case 'acc': - case 'gyro': return bit_check(sensors_detected, 0); case 'baro': return bit_check(sensors_detected, 1); From bcc0ca48eeda72880b9a8268c3a46b42dfa98ea9 Mon Sep 17 00:00:00 2001 From: gael Date: Sat, 21 May 2016 10:27:02 +0200 Subject: [PATCH 06/71] LEDstrip GUI rework - replace functions buttons by drop-down list (main led function) + switches (color modifiers / overlays) - hide unused controls - display color modifier / overlay flags on grid LEDs as colored dots in the corners - use a drop-down list to chose mode color group, instead of displaying colors from all groups at once - color editing sliders are in a pop-up that shows when a color is clicked --- _locales/en/messages.json | 2 +- js/backup_restore.js | 40 ++- js/fc.js | 4 + js/msp.js | 211 +++++++++--- manifest.json | 2 +- tabs/led_strip.css | 137 ++++---- tabs/led_strip.html | 106 +++++- tabs/led_strip.js | 686 +++++++++++++++++++++++++++++++++++--- 8 files changed, 1012 insertions(+), 176 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 5ba039b86..7c46ff03e 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1440,7 +1440,7 @@ }, "ledStripHelp": { - "message": "The flight controller can control colors and effects of individual LEDs on a strip.
Configure LEDs on the grid, configure wiring order then attach LEDs on your aircraft according to grid positions." + "message": "The flight controller can control colors and effects of individual LEDs on a strip.
Configure LEDs on the grid, configure wiring order then attach LEDs on your aircraft according to grid positions.
Double-click on a color to edit the HSV values." }, "ledStripButtonSave": { "message": "Save" diff --git a/js/backup_restore.js b/js/backup_restore.js index fb0cd6c44..981e22bda 100644 --- a/js/backup_restore.js +++ b/js/backup_restore.js @@ -94,7 +94,8 @@ function configuration_backup(callback) { MSP_codes.MSP_RX_MAP, MSP_codes.MSP_BF_CONFIG, MSP_codes.MSP_CF_SERIAL_CONFIG, - MSP_codes.MSP_LED_STRIP_CONFIG + MSP_codes.MSP_LED_STRIP_CONFIG, + MSP_codes.MSP_LED_COLORS ]; function update_unique_data_list() { @@ -111,6 +112,9 @@ function configuration_backup(callback) { uniqueData.push(MSP_codes.MSP_FAILSAFE_CONFIG); uniqueData.push(MSP_codes.MSP_RXFAIL_CONFIG); } + if (semver.gte(CONFIG.apiVersion, "1.19.0")) { + uniqueData.push(MSP_codes.MSP_LED_STRIP_MODECOLOR); + } } update_unique_data_list(); @@ -130,7 +134,11 @@ function configuration_backup(callback) { configuration.BF_CONFIG = jQuery.extend(true, {}, BF_CONFIG); configuration.SERIAL_CONFIG = jQuery.extend(true, {}, SERIAL_CONFIG); configuration.LED_STRIP = jQuery.extend(true, [], LED_STRIP); + configuration.LED_COLORS = jQuery.extend(true, [], LED_COLORS); + if (semver.gte(CONFIG.apiVersion, "1.19.0")) { + configuration.LED_MODE_COLORS = jQuery.extend(true, [], LED_MODE_COLORS); + } if (semver.gte(CONFIG.apiVersion, "1.8.0")) { configuration.FC_CONFIG = jQuery.extend(true, {}, FC_CONFIG); configuration.ARMING_CONFIG = jQuery.extend(true, {}, ARMING_CONFIG); @@ -604,6 +612,21 @@ function configuration_restore(callback) { appliedMigrationsCount++; } + if (!compareVersions(migratedVersion, '1.2.3')) { + + // LED_COLORS & LED_MODE_COLORS support was added. + if (!configuration.LED_COLORS) { + configuration.LED_COLORS = []; + } + if (!configuration.LED_MODE_COLORS) { + configuration.LED_MODE_COLORS = []; + } + + migratedVersion = '1.2.3'; + GUI.log(chrome.i18n.getMessage('configMigratedTo', [migratedVersion])); + appliedMigrationsCount++; + } + if (appliedMigrationsCount > 0) { GUI.log(chrome.i18n.getMessage('configMigrationSuccessful', [appliedMigrationsCount])); } @@ -731,6 +754,8 @@ function configuration_restore(callback) { BF_CONFIG = configuration.BF_CONFIG; SERIAL_CONFIG = configuration.SERIAL_CONFIG; LED_STRIP = configuration.LED_STRIP; + LED_COLORS = configuration.LED_COLORS; + LED_MODE_COLORS = configuration.LED_MODE_COLORS; ARMING_CONFIG = configuration.ARMING_CONFIG; FC_CONFIG = configuration.FC_CONFIG; _3D = configuration._3D; @@ -760,7 +785,18 @@ function configuration_restore(callback) { } function send_led_strip_config() { - MSP.sendLedStripConfig(send_rxfail_config); + MSP.sendLedStripConfig(send_led_strip_colors); + } + + function send_led_strip_colors() { + MSP.sendLedStripColors(send_led_strip_mode_colors); + } + + function send_led_strip_mode_colors() { + if (semver.gte(CONFIG.apiVersion, "1.19.0")) + MSP.sendLedStripModeColors(send_rxfail_config); + else + send_rxfail_config(); } function send_rxfail_config() { diff --git a/js/fc.js b/js/fc.js index 089403be7..a246fb728 100644 --- a/js/fc.js +++ b/js/fc.js @@ -4,6 +4,8 @@ var CONFIG; var BF_CONFIG; var LED_STRIP; +var LED_COLORS; +var LED_MODE_COLORS; var PID; var PID_names; var PIDs; @@ -68,6 +70,8 @@ var FC = { }; LED_STRIP = []; + LED_COLORS = []; + LED_MODE_COLORS = []; PID = { controller: 0 diff --git a/js/msp.js b/js/msp.js index 86e0f105b..4b42a2f25 100644 --- a/js/msp.js +++ b/js/msp.js @@ -9,37 +9,41 @@ var MSP_codes = { MSP_BUILD_INFO: 5, // MSP commands for Cleanflight original features - MSP_CHANNEL_FORWARDING: 32, - MSP_SET_CHANNEL_FORWARDING: 33, - MSP_MODE_RANGES: 34, - MSP_SET_MODE_RANGE: 35, - MSP_RX_CONFIG: 44, - MSP_SET_RX_CONFIG: 45, - MSP_LED_STRIP_CONFIG: 48, - MSP_SET_LED_STRIP_CONFIG: 49, - MSP_ADJUSTMENT_RANGES: 52, - MSP_SET_ADJUSTMENT_RANGE: 53, - MSP_CF_SERIAL_CONFIG: 54, - MSP_SET_CF_SERIAL_CONFIG: 55, - MSP_SONAR: 58, - MSP_PID_CONTROLLER: 59, - MSP_SET_PID_CONTROLLER: 60, - MSP_ARMING_CONFIG: 61, - MSP_SET_ARMING_CONFIG: 62, - MSP_DATAFLASH_SUMMARY: 70, - MSP_DATAFLASH_READ: 71, - MSP_DATAFLASH_ERASE: 72, - MSP_LOOP_TIME: 73, - MSP_SET_LOOP_TIME: 74, - MSP_FAILSAFE_CONFIG: 75, - MSP_SET_FAILSAFE_CONFIG: 76, - MSP_RXFAIL_CONFIG: 77, - MSP_SET_RXFAIL_CONFIG: 78, - MSP_SDCARD_SUMMARY: 79, - MSP_BLACKBOX_CONFIG: 80, - MSP_SET_BLACKBOX_CONFIG: 81, - MSP_TRANSPONDER_CONFIG: 82, - MSP_SET_TRANSPONDER_CONFIG: 83, + MSP_CHANNEL_FORWARDING: 32, + MSP_SET_CHANNEL_FORWARDING: 33, + MSP_MODE_RANGES: 34, + MSP_SET_MODE_RANGE: 35, + MSP_RX_CONFIG: 44, + MSP_SET_RX_CONFIG: 45, + MSP_LED_COLORS: 46, + MSP_SET_LED_COLORS: 47, + MSP_LED_STRIP_CONFIG: 48, + MSP_SET_LED_STRIP_CONFIG: 49, + MSP_ADJUSTMENT_RANGES: 52, + MSP_SET_ADJUSTMENT_RANGE: 53, + MSP_CF_SERIAL_CONFIG: 54, + MSP_SET_CF_SERIAL_CONFIG: 55, + MSP_SONAR: 58, + MSP_PID_CONTROLLER: 59, + MSP_SET_PID_CONTROLLER: 60, + MSP_ARMING_CONFIG: 61, + MSP_SET_ARMING_CONFIG: 62, + MSP_DATAFLASH_SUMMARY: 70, + MSP_DATAFLASH_READ: 71, + MSP_DATAFLASH_ERASE: 72, + MSP_LOOP_TIME: 73, + MSP_SET_LOOP_TIME: 74, + MSP_FAILSAFE_CONFIG: 75, + MSP_SET_FAILSAFE_CONFIG: 76, + MSP_RXFAIL_CONFIG: 77, + MSP_SET_RXFAIL_CONFIG: 78, + MSP_SDCARD_SUMMARY: 79, + MSP_BLACKBOX_CONFIG: 80, + MSP_SET_BLACKBOX_CONFIG: 81, + MSP_TRANSPONDER_CONFIG: 82, + MSP_SET_TRANSPONDER_CONFIG: 83, + MSP_LED_STRIP_MODECOLOR: 86, + MSP_SET_LED_STRIP_MODECOLOR: 87, // Multiwii MSP commands MSP_IDENT: 100, @@ -907,11 +911,67 @@ var MSP = { LED_STRIP.push(led); } - break; case MSP_codes.MSP_SET_LED_STRIP_CONFIG: console.log('Led strip config saved'); break; + case MSP_codes.MSP_LED_COLORS: + + LED_COLORS = []; + + var colorCount = data.byteLength / 4; + + var offset = 0; + for (var i = 0; offset < data.byteLength && i < colorCount; i++) { + + var h = data.getUint16(offset, 1); + var s = data.getUint8(offset + 2, 1); + var v = data.getUint8(offset + 3, 1); + offset += 4; + + var color = { + h: h, + s: s, + v: v + }; + + LED_COLORS.push(color); + } + + break; + case MSP_codes.MSP_SET_LED_COLORS: + console.log('Led strip colors saved'); + break; + case MSP_codes.MSP_LED_STRIP_MODECOLOR: + if (semver.gte(CONFIG.apiVersion, "1.19.0")) { + + LED_MODE_COLORS = []; + + var colorCount = data.byteLength / 3; + + var offset = 0; + for (var i = 0; offset < data.byteLength && i < colorCount; i++) { + + var mode = data.getUint8(offset++, 1); + var direction = data.getUint8(offset++, 1); + var color = data.getUint8(offset++, 1); + + var mode_color = { + mode: mode, + direction: direction, + color: color + }; + + LED_MODE_COLORS.push(mode_color); + } + } + break; + case MSP_codes.MSP_SET_LED_STRIP_MODECOLOR: + console.log('Led strip mode colors saved'); + break; + + + case MSP_codes.MSP_DATAFLASH_SUMMARY: if (data.byteLength >= 13) { var @@ -1015,18 +1075,20 @@ var MSP = { // trigger callbacks, cleanup/remove callback after trigger for (var i = this.callbacks.length - 1; i >= 0; i--) { // itterating in reverse because we use .splice which modifies array length - if (this.callbacks[i].code == code) { - // save callback reference - var callback = this.callbacks[i].callback; - - // remove timeout - clearInterval(this.callbacks[i].timer); - - // remove object from array - this.callbacks.splice(i, 1); - - // fire callback - if (callback) callback({'command': code, 'data': data, 'length': message_length}); + if (i < this.callbacks.length) { + if (this.callbacks[i].code == code) { + // save callback reference + var callback = this.callbacks[i].callback; + + // remove timeout + clearInterval(this.callbacks[i].timer); + + // remove object from array + this.callbacks.splice(i, 1); + + // fire callback + if (callback) callback({'command': code, 'data': data, 'length': message_length}); + } } } }, @@ -1076,10 +1138,14 @@ var MSP = { var requestExists = false; for (var i = 0; i < MSP.callbacks.length; i++) { - if (MSP.callbacks[i].code == code) { - // request already exist, we will just attach - requestExists = true; - break; + if (i < MSP.callbacks.length) { + if (MSP.callbacks[i].code == code) { + // request already exist, we will just attach + requestExists = true; + break; + } + } else { + console.log("Callback index error: "+ i); } } @@ -1101,7 +1167,6 @@ var MSP = { } }); } - return true; }, callbacks_cleanup: function () { @@ -1642,6 +1707,54 @@ MSP.sendLedStripConfig = function(onCompleteCallback) { } } +MSP.sendLedStripColors = function(onCompleteCallback) { + if (LED_COLORS.length == 0) { + onCompleteCallback(); + } else { + var buffer = []; + + for (var colorIndex = 0; colorIndex < LED_COLORS.length; colorIndex++) { + var color = LED_COLORS[colorIndex]; + + buffer.push(specificByte(color.h, 0)); + buffer.push(specificByte(color.h, 1)); + buffer.push(color.s); + buffer.push(color.v); + } + MSP.send_message(MSP_codes.MSP_SET_LED_COLORS, buffer, false, onCompleteCallback); + } +} + +MSP.sendLedStripModeColors = function(onCompleteCallback) { + + var nextFunction = send_next_led_strip_mode_color; + var index = 0; + + if (LED_MODE_COLORS.length == 0) { + onCompleteCallback(); + } else { + send_next_led_strip_mode_color(); + } + + function send_next_led_strip_mode_color() { + var buffer = []; + + var mode_color = LED_MODE_COLORS[index]; + + buffer.push(mode_color.mode); + buffer.push(mode_color.direction); + buffer.push(mode_color.color); + + // prepare for next iteration + index++; + if (index == LED_MODE_COLORS.length) { + nextFunction = onCompleteCallback; + } + + MSP.send_message(MSP_codes.MSP_SET_LED_STRIP_MODECOLOR, buffer, false, nextFunction); + } +} + MSP.serialPortFunctionMaskToFunctions = function(functionMask) { var functions = []; diff --git a/manifest.json b/manifest.json index 2ecf6ab2b..2c10388af 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "minimum_chrome_version": "38", - "version": "1.2.2", + "version": "1.2.3", "author": "Hydra", "name": "Cleanflight - Configurator", "short_name": "cleanflight", diff --git a/tabs/led_strip.css b/tabs/led_strip.css index d6263cff5..e72381f3a 100644 --- a/tabs/led_strip.css +++ b/tabs/led_strip.css @@ -26,40 +26,22 @@ height: 23px; margin: 3px; border-radius: 7px; - background: #ececec;; + background: #ececec; cursor: pointer; } -.tab-led-strip .gPoint.function-w { /* Warning */ - background: red; - box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); - border-color: red; -} - .tab-led-strip .gPoint.function-f { /* Flight mode & orientation */ background: rgb(50, 205, 50); box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); border-color: rgb(50, 205, 50); } -.tab-led-strip .gPoint.function-i { /* Indicator */ - background: yellow; - box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); - border-color: yellow; -} - .tab-led-strip .gPoint.function-a { /* Armed Mode */ background: rgb(52, 155, 255); box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); border-color: rgb(52, 155, 255); } -.tab-led-strip .gPoint.function-t { /* Thrust Mode */ - background: orange; - box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); - border-color: orange; -} - .tab-led-strip .gPoint.function-c { /* Color */ background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%); box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); @@ -78,49 +60,56 @@ border-color: rgb(52, 155, 255); } -.tab-led-strip .gPoint.function-s { /* RSSI */ - background: brown; - box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); - border-color: rgb(52, 155, 255); -} - .tab-led-strip .gPoint.function-b { /* Blink */ background: white; box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); border-color: rgb(52, 155, 255); } -.tab-led-strip .gPoint.function-i.function-f { - background: linear-gradient(to bottom, yellow 0%,yellow 50%,rgb(50, 205, 50) 50%, rgb(50, 205, 50) 100%); -} - -.tab-led-strip .gPoint.function-i.function-a { - background: linear-gradient(to bottom, yellow 0%,yellow 50%,rgb(52, 155, 255) 50%, rgb(52, 155, 255) 100%); +.tab-led-strip .gPoint.function-c .overlay-color, +.tab-led-strip .gPoint.function-r .overlay-color, +.tab-led-strip .gPoint.function-b .overlay-color { + float: left; + height: 15px; + width: 15px; + margin-top: -23px; + margin-left: 4px; + border-radius: 4px; } -.tab-led-strip .gPoint.function-i.function-f.function-a { - background: linear-gradient(to bottom, yellow 0%,yellow 33%,rgb(50, 205, 50) 33%, rgb(50, 205, 50) 66%, rgb(52, 155, 255) 66%, rgb(52, 155, 255) 100%); +.tab-led-strip .gPoint.function-w .overlay-w, +.tab-led-strip .gPoint.function-i .overlay-i, +.tab-led-strip .gPoint.function-t .overlay-t, +.tab-led-strip .gPoint.function-s .overlay-s { + float: left; + height: 6px; + width: 16px; } -.tab-led-strip .gPoint.function-i.function-w.function-a { - background: linear-gradient(to bottom, yellow 0%,yellow 33%,red 33%, red 66%, rgb(52, 155, 255) 66%, rgb(52, 155, 255) 100%); +.tab-led-strip .gPoint.function-w .overlay-w { + background-image: radial-gradient(1px at 8px 50% , red 0%, red 2px, rgba(0, 0, 0, 0.3) 3px, rgba(0, 0, 0, 0) 4px); + margin-top: -30px; + margin-left: -9px; } -.tab-led-strip .gPoint.function-t.function-f.function-w { - background: linear-gradient(to bottom, orange 0%,orange 33%,rgb(50, 205, 50) 33%, rgb(50, 205, 50) 66%, red 66%, red 100%); +.tab-led-strip .gPoint.function-i .overlay-i { + background-image: radial-gradient(1px at 8px 50% , yellow 0%, yellow 2px, rgba(0, 0, 0, 0.3) 3px, rgba(0, 0, 0, 0) 4px); + margin-top: -30px; + margin-left: 16px; } -.tab-led-strip .gPoint.function-i.function-w { - background: linear-gradient(to bottom, yellow 0%,yellow 50%,#ff5454 50%,#ba3535 100%); +.tab-led-strip .gPoint.function-t .overlay-t { + background-image: radial-gradient(1px at 8px 50% , orange 0%, orange 2px, rgba(0, 0, 0, 0.3) 3px, rgba(0, 0, 0, 0) 4px); + margin-top: -6px; + margin-left: -9px; } -.tab-led-strip .gPoint.function-f.function-w { - background: linear-gradient(to bottom, rgb(50, 205, 50) 0%,rgb(50, 205, 50) 50%,#ff5454 50%,#ba3535 100%); +.tab-led-strip .gPoint.function-s .overlay-s { + background-image: radial-gradient(1px at 8px 50% , brown 0%, brown 2px, rgba(0, 0, 0, 0.3) 3px, rgba(0, 0, 0, 0) 4px); + margin-top: -6px; + margin-left: 16px; } -.tab-led-strip .gPoint.function-f.function-t { - background: linear-gradient(to bottom, rgb(50, 205, 50) 0%,rgb(50, 205, 50) 50%,orange 50%,orange 100%); -} .tab-led-strip .gPoint select { background: #000; @@ -180,21 +169,45 @@ width: 49%; } -.tab-led-strip .functions .function-w.btnOn {background: red;} -.tab-led-strip .functions .function-f.btnOn {background: rgb(50, 205, 50);} -.tab-led-strip .functions .function-i.btnOn {background: yellow; color: #333;} -.tab-led-strip .functions .function-a.btnOn {background: blue;} -.tab-led-strip .functions .function-t.btnOn {background: orange;} -.tab-led-strip .functions .function-r.btnOn {background: #acacac;} -.tab-led-strip .functions .function-c.btnOn { +/* Drop-down boxes */ + +.tab-led-strip .select { background: white;} +.tab-led-strip .select .function-c { background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%); } -.tab-led-strip .functions .function-g.btnOn {background: green;} -.tab-led-strip .functions .function-s.btnOn {background: brown;} -.tab-led-strip .functions .function-b.btnOn {background: white;} + +.tab-led-strip .select .function-a { background: rgb(52, 155, 255);} +.tab-led-strip .select .function-f { background: rgb(50, 205, 50);} +.tab-led-strip .select .function-g { background: green;} +.tab-led-strip .select .function-b { background: white; color:black;} +.tab-led-strip .select .function-r { background: #acacac;} + +.tab-led-strip .select .functionSelect option { + background: white; + color: black; +} + + +.tab-led-strip .overlays, +.tab-led-strip .modifiers { + display: inline-block; +} + +.tab-led-strip .colorDefineSliders { + display: inline-block; + position: absolute; + z-index: 10000; + background: white; + padding: 5px; + margin: 10px; + border-color: #565656; + border-style: solid; + border-radius: 6px; + border-width: 2px; +} .tab-led-strip .color-1 {background: white;} -.tab-led-strip .color-2 {background: red;} +.tab-led-strip .color-2 {background: red; } .tab-led-strip .color-3 {background: orange;} .tab-led-strip .color-4 {background: yellow;} .tab-led-strip .color-5 {background: greenyellow;} @@ -209,8 +222,9 @@ .tab-led-strip .directions button.btnOn, -.tab-led-strip .functions button.btnOn, -.tab-led-strip .colors .btnOn { +.tab-led-strip .colors .btnOn, +.tab-led-strip .special_colors button.btnOn, +.tab-led-strip .mode_colors button.btnOn { border-color: #000; } @@ -290,6 +304,15 @@ position: relative; float: left; width: 285px; + + margin-right: 10px; +} + +.colorDefineSliderValue, +.colorDefineSliderLabel { + width: 10px; + display: inline-table; + margin-bottom: 5px; } .tab-led-strip .directions, diff --git a/tabs/led_strip.html b/tabs/led_strip.html index 081e3de6c..98cb27083 100644 --- a/tabs/led_strip.html +++ b/tabs/led_strip.html @@ -28,6 +28,24 @@
+
+
Color setup
+
+ + + +
+
+ + + +
+
+ + + +
+
@@ -37,19 +55,66 @@
LED Functions
-
- - - - - - - - - - + + +
+ Function + +
+ + +
+ Color modifier +
+ + +
+
+ + +
+ +
+ Overlay +
+ + +
+
+ + +
+
+ +
+
Mode colors
+ + + + + + + + +
+
LED Orientation and Color
@@ -59,6 +124,7 @@
+
@@ -78,7 +144,18 @@
- +
+
Special colors
+ + + + + + + + +
+
LED Strip Wiring
@@ -89,6 +166,11 @@

LEDs without wire ordering number will not be saved.

+ +
+ +
+
diff --git a/tabs/led_strip.js b/tabs/led_strip.js index 10bd1de85..4d686a9aa 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -2,12 +2,15 @@ TABS.led_strip = { wireMode: false, - functions: ['w', 'f', 'i', 'a', 't', 'r', 'c', 'g', 's', 'b'], + baseFuncs: ['c', 'f', 'a', 'g', 'b', 'r'], + overlays: ['t', 's', 'w', 'i'], directions: ['n', 'e', 's', 'w', 'u', 'd'], }; TABS.led_strip.initialize = function (callback, scrollPosition) { var self = this; + var selectedColorIndex = null; + var selectedModeColor = null; TABS.led_strip.wireMode = false; @@ -17,9 +20,24 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } function load_led_config() { - MSP.send_message(MSP_codes.MSP_LED_STRIP_CONFIG, false, false, load_html); + MSP.send_message(MSP_codes.MSP_LED_STRIP_CONFIG, false, false, load_led_colors); } + function load_led_colors() { + MSP.send_message(MSP_codes.MSP_LED_COLORS, false, false, load_led_mode_colors); + } + + function load_led_mode_colors() { + if (semver.gte(CONFIG.apiVersion, "1.19.0")) + MSP.send_message(MSP_codes.MSP_LED_STRIP_MODECOLOR, false, false, load_html); + else + load_html(); + } + + + + + function load_html() { $('#content').load("./tabs/led_strip.html", process_html); } @@ -47,7 +65,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { var theHTML = []; var theHTMLlength = 0; for (var i = 0; i < 256; i++) { - theHTML[theHTMLlength++] = ('
UD
'); + theHTML[theHTMLlength++] = ('
UD
'); } $('.mainGrid').html(theHTML.join('')); @@ -82,8 +100,11 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { function removeFunctionsAndDirections(element) { var classesToRemove = []; - - TABS.led_strip.functions.forEach(function(letter) { + + TABS.led_strip.baseFuncs.forEach(function(letter) { + classesToRemove.push('function-' + letter); + }); + TABS.led_strip.overlays.forEach(function(letter) { classesToRemove.push('function-' + letter); }); TABS.led_strip.directions.forEach(function(letter) { @@ -109,51 +130,127 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } }); + clearModeColorSelection(); updateBulkCmd(); } }); - - - // Mode Buttons - $('.functions').on('click', 'button', function() { + + // Mode Color Buttons + $('.mode_colors').on('click', 'button', function() { var that = this; - if ($('.ui-selected').length > 0) { - TABS.led_strip.functions.forEach(function(letter) { - if ($(that).is('.function-' + letter)) { - - if ($(that).is('.btnOn')) { - $(that).removeClass('btnOn'); - $('.ui-selected').removeClass('function-' + letter); - } else { - $(that).addClass('btnOn'); - $('.ui-selected').addClass('function-' + letter); + LED_MODE_COLORS.forEach(function(mc) { + if ($(that).is('.mode_color-' + mc.mode + '-' + mc.direction)) { + if ($(that).is('.btnOn')) { + $(that).removeClass('btnOn'); + $('.ui-selected').removeClass('mode_color-' + mc.mode + '-' + mc.direction); + selectedModeColor = null; + } else { + $(that).addClass('btnOn'); + selectedModeColor = { mode: mc.mode, direction: mc.direction }; + + // select the color button + for (var colorIndex = 0; colorIndex < 16; colorIndex++) { + var className = '.color-' + colorIndex; + if (colorIndex == getModeColor(mc.mode, mc.direction)) { + $(className).addClass('btnOn'); + selectedColorIndex = colorIndex; + setColorSliders(colorIndex); + + } else { + $(className).removeClass('btnOn'); + } } } - }); + } + }); - updateBulkCmd(); - } + $('.mode_colors').each(function() { + $(this).children().each(function() { + if (! $(this).is($(that))) { + if ($(this).is('.btnOn')) { + $(this).removeClass('btnOn'); + } + } + }); + }); + + updateBulkCmd(); + }); + + + var ip = $('div.colorDefineSliders input'); + ip.eq(0).on("input change", function() { updateColors($(this).val(), 0); }); + ip.eq(1).on("input change", function() { updateColors($(this).val(), 1); }); + ip.eq(2).on("input change", function() { updateColors($(this).val(), 2); }); + for (var i = 0; i < 3; i++) { + updateColors(ip.eq(i).val(), i); + } + // Color Buttons - $('.colors').on('click', 'button', function() { + $('.colors').on('click', 'button', function(e) { var that = this; var colorButtons = $(this).parent().find('button'); for (var colorIndex = 0; colorIndex < 16; colorIndex++) { colorButtons.removeClass('btnOn'); - $('.ui-selected').removeClass('color-' + colorIndex); + if (selectedModeColor == undefined) + $('.ui-selected').removeClass('color-' + colorIndex); if ($(that).is('.color-' + colorIndex)) { - $('.ui-selected').addClass('color-' + colorIndex); + selectedColorIndex = colorIndex; + if (selectedModeColor == undefined) + $('.ui-selected').addClass('color-' + colorIndex); } } + + setColorSliders(selectedColorIndex); + $(this).addClass('btnOn'); + if (selectedModeColor) { + setModeColor(selectedModeColor.mode, selectedModeColor.direction, selectedColorIndex); + } + + drawColorBoxesInColorLedPoints(); + + // refresh color buttons + $('.colors').children().each(function() { setBackgroundColor($(this)); }); + $('.overlay-color').each(function() { setBackgroundColor($(this)); }); + + $('.mode_colors').each(function() { setModeBackgroundColor($(this)); }); + $('.special_colors').each(function() { setModeBackgroundColor($(this)); }); + updateBulkCmd(); }); + + $('.colors').on('dblclick', 'button', function(e) { + var pp = $('.tab-led-strip').position(); + var moveLeft = $('.tab-led-strip').position().left + ($('.colorDefineSliders').width() / 2); + var moveUp = $('.tab-led-strip').position().top + $('.colorDefineSliders').height() + 20; + + $('.colorDefineSliders').css('left', e.pageX - e.offsetX - moveLeft); + $('.colorDefineSliders').css('top', e.pageY - e.offsetY - moveUp); + $('.colorDefineSliders').show(); + + }); + + $('.colorDefineSliders').on({ + mouseleave: function () { + $('.colorDefineSliders').hide(); + } + }); + + $('.colors').children().on({ + mouseleave: function () { + if (!$('.colorDefineSliders').is(":hover")) + $('.colorDefineSliders').hide(); + } + }); + $('.funcWire').click(function() { $(this).toggleClass('btnOn'); TABS.led_strip.wireMode = $(this).hasClass('btnOn'); @@ -181,8 +278,10 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { var functionsInSelection = []; var directionsInSelection = []; - $('.ui-selected').each(function() { + clearModeColorSelection(); + var that; + $('.ui-selected').each(function() { var usedWireNumbers = buildUsedWireNumbers(); @@ -198,39 +297,84 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $(this).find('.wire').html(nextWireNumber); } } + - var that = this; + if ($(this).find('.wire').text() != '') { - TABS.led_strip.directions.forEach(function(letter) { - var className = '.dir-' + letter; - if ($(that).is(className)) { - directionsInSelection.push(className); - } - }); + that = this; + + // Get function & overlays or current cell + TABS.led_strip.directions.forEach(function(letter) { + var className = '.dir-' + letter; + if ($(that).is(className)) { + directionsInSelection.push(className); + } + }); + + TABS.led_strip.baseFuncs.forEach(function(letter) { + var className = '.function-' + letter; + if ($(that).is(className)) { + functionsInSelection.push(className); + } + }); + + TABS.led_strip.overlays.forEach(function(letter) { + var className = '.function-' + letter; + if ($(that).is(className)) { + functionsInSelection.push(className); + } + }); + } + }); - TABS.led_strip.functions.forEach(function(letter) { - var className = '.function-' + letter; - if ($(that).is(className)) { - functionsInSelection.push(className); - } - }); + $('select.functionSelect').val(""); + TABS.led_strip.baseFuncs.forEach(function(letter) { + var className = 'function-' + letter; + if ($('select.functionSelect').is("." + className)) { + $('select').removeClass(className); + } + }); + selectedColorIndex = 0; + + if (that) { + + // set active color for (var colorIndex = 0; colorIndex < 16; colorIndex++) { var className = '.color-' + colorIndex; - if ($(this).is(className)) { + if ($(that).is(className)) { $(className).addClass('btnOn'); + selectedColorIndex = colorIndex; + } else { $(className).removeClass('btnOn'); } } - - updateBulkCmd(); - }); + + // set checkbox values + TABS.led_strip.overlays.forEach(function(letter) { + var feature_o = $('.checkbox').find('input.function-' + letter); + + var newVal = ($(that).is('.function-' + letter)); + + if (feature_o.is(':checked') != newVal) { + feature_o.prop('checked', newVal); + feature_o.change(); + } + }); + + // Update active function in combobox + TABS.led_strip.baseFuncs.forEach(function(letter) { + if ($(that).is('.function-' + letter)) { + $('select.functionSelect').val("function-" + letter); + } + }); + } + updateBulkCmd(); - $('.functions button').removeClass('btnOn'); - functionsInSelection.forEach(function(function_e) { - $(function_e).addClass('btnOn'); - }); + setColorSliders(selectedColorIndex); + + setOptionalGroupsVisibility(); $('.directions button').removeClass('btnOn'); directionsInSelection.forEach(function(direction_e) { @@ -239,6 +383,124 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } }); + // UI: select LED function from drop-down + $('.functionSelect').on('change', function() { + + var that = this; + if ($('.ui-selected').length > 0) { + TABS.led_strip.baseFuncs.forEach(function(letter) { + if ($(that).val() == 'function-' + letter) { + $('select').addClass('function-' + letter); + + $('.ui-selected').find('.wire').each(function() { + if ($(this).text() != "") + $(this).parent().addClass('function-' + letter); + }); + + if (letter == 'b' || letter == 'r') { + if ($('input.function-i').is(':checked')) { + $('input.function-i').prop('checked', false); + $('input.function-i').change(); + $('.ui-selected').each(function() { + if ($(this).is('.function-' + letter)) { + $(this).removeClass('function-i'); + } + }); + } + } + if (letter == 'b' || letter == 'r' || letter == 'l' || letter == 'g') { + if ($('input.function-w').is(':checked')) { + $('input.function-w').prop('checked', false); + $('input.function-w').change(); + $('.ui-selected').each(function() { + if ($(this).is('.function-' + letter)) { + $(this).removeClass('function-w'); + } + }); + } + if ($('input.function-t').is(':checked')) { + $('input.function-t').prop('checked', false); + $('input.function-t').change(); + $('.ui-selected').each(function() { + if ($(this).is('.function-' + letter)) { + $(this).removeClass('function-t'); + } + }); + } + if ($('input.function-s').is(':checked')) { + $('input.function-s').prop('checked', false); + $('input.function-s').change(); + $('.ui-selected').each(function() { + if ($(this).is('.function-' + letter)) { + $(this).removeClass('function-s'); + } + }); + } + } + } else { + $('select').removeClass('function-' + letter); + $('.ui-selected').removeClass('function-' + letter); + } + }); + $('select').addClass($('select.functionSelect').val()); + + clearModeColorSelection(); + updateBulkCmd(); + drawColorBoxesInColorLedPoints(); + } + + setOptionalGroupsVisibility(); + }); + + // UI: select mode from drop-down + $('.modeSelect').on('change', function() { + + var that = this; + + var mode = Number($(that).val()); + $('.mode_colors').find('button').each(function() { + for (var i = 0; i < 6; i++) + for (var j = 0; j < 6; j++) + if ($(this).hasClass('mode_color-' + i + '-' + j)) { + $(this).removeClass('mode_color-' + i + '-' + j); + $(this).addClass('mode_color-' + mode + '-' + j); + } + + }); + + $('.mode_colors').each(function() { setModeBackgroundColor($(this)); }); + }); + + // UI: checkbox toggle + $('.checkbox').change(function(e) { + if (e.originalEvent) { + // user-triggered event + var that = $(this).find('input'); + if ($('.ui-selected').length > 0) { + TABS.led_strip.overlays.forEach(function(letter) { + if ($(that).is('.function-' + letter)) { + if ($(that).is(':checked')) { + $('.ui-selected').find('.wire').each(function() { + if ($(this).text() != "") + $(this).parent().addClass('function-' + letter); + }); + } else { + $('.ui-selected').removeClass('function-' + letter); + } + } + }); + + clearModeColorSelection(); + updateBulkCmd(); + } + } else { + // code-triggered event + } + setOptionalGroupsVisibility(); + }); + + + $('.mainGrid').disableSelection(); $('.gPoint').each(function(){ @@ -274,12 +536,30 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $(this).addClass('color-' + led.color); }); - updateBulkCmd(); - $('a.save').click(function () { + updateBulkCmd(); + + setOptionalGroupsVisibility(); - MSP.sendLedStripConfig(save_to_eeprom); + drawColorBoxesInColorLedPoints(); + + $('.colorDefineSliders').hide(); + + $('a.save').click(function () { + MSP.sendLedStripConfig(send_led_strip_colors); + + function send_led_strip_colors() { + MSP.sendLedStripColors(send_led_strip_mode_colors); + } + + function send_led_strip_mode_colors() { + if (semver.gte(CONFIG.apiVersion, "1.19.0")) + MSP.sendLedStripModeColors(save_to_eeprom); + else + save_to_eeprom(); + } + function save_to_eeprom() { MSP.send_message(MSP_codes.MSP_EEPROM_WRITE, false, false, function() { GUI.log(chrome.i18n.getMessage('ledStripEepromSaved')); @@ -288,13 +568,20 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { }); - if (CONFIG.apiVersion < '1.18.0') { - $(".extra_functions").hide(); + if (semver.lt(CONFIG.apiVersion, "1.19.0")) { + $(".extra_functions19").hide(); + $(".mode_colors").hide(); } GUI.content_ready(callback); } + + + + + + function findLed(x, y) { for (var ledIndex = 0; ledIndex < LED_STRIP.length; ledIndex++) { var led = LED_STRIP[ledIndex]; @@ -304,12 +591,15 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } return undefined; } + function updateBulkCmd() { var counter = 0; var lines = []; var ledStripLength = LED_STRIP.length; + var ledColorsLength = LED_COLORS.length; + var ledModeColorsLenggth = LED_MODE_COLORS.length; LED_STRIP = []; @@ -330,8 +620,13 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { if (match) { colorIndex = match[2]; } - - TABS.led_strip.functions.forEach(function(letter){ + + TABS.led_strip.baseFuncs.forEach(function(letter){ + if ($(that).is('.function-' + letter)) { + functions += letter; + } + }); + TABS.led_strip.overlays.forEach(function(letter){ if ($(that).is('.function-' + letter)) { functions += letter; } @@ -379,6 +674,289 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $('.wires-remaining div').html(remaining); } + // refresh mode color buttons + function setModeBackgroundColor(element) { + if (semver.gte(CONFIG.apiVersion, "1.19.0")) { + element.find('[class*="mode_color"]').each(function() { + var m = 0; + var d = 0; + + var match = $(this).attr("class").match(/(^|\s)mode_color-([0-9]+)-([0-9]+)(\s|$)/); + if (match) { + m = Number(match[2]); + d = Number(match[3]); + $(this).css('background-color', HsvToColor(LED_COLORS[getModeColor(m, d)])); + } + }); + } + } + + function setBackgroundColor(element) { + if (element.is('[class*="color"]')) { + var colorIndex = 0; + + var match = element.attr("class").match(/(^|\s)color-([0-9]+)(\s|$)/); + if (match) { + colorIndex = match[2]; + element.css('background-color', HsvToColor(LED_COLORS[colorIndex])); + } + } + } + + function setOptionalGroupsVisibility() { + + var activeFunction = $('select.functionSelect').val(); + + $('select').addClass(activeFunction); + + // set color modifiers (checkboxes) visibility + switch (activeFunction) { + case "function-c": + case "function-a": + case "function-f": + $('.modifiers').show(); + break; + default: + $('.modifiers').hide(); + break; + } + + // set overlays (checkboxes) visibility + switch (activeFunction) { + case "function-g": + $('.warningOverlay').hide(); + $('.indicatorOverlay').show(); + $('.overlays').show(); + break; + case "function-b": + case "function-r": + $('.warningOverlay').hide(); + $('.indicatorOverlay').hide(); + $('.overlays').hide(); + break; + default: + $('.indicatorOverlay').show(); + $('.warningOverlay').show(); + $('.overlays').show(); + break; + } + + // set color palette visibility + /* + switch (activeFunction) { + case "": + case "function-c": + case "function-b": + case "function-r": + case "function-a": + case "function-f": + case "function-g": + $('.colors').show(); + $('.colorDefineSliders').show(); + break; + + default: + $('.colors').hide(); + $('.colorDefineSliders').hide(); + break; + } + */ + + // set mode colors visibility + if (activeFunction == "function-f" && semver.gte(CONFIG.apiVersion, "1.19.0")) + $('.mode_colors').show(); + else + $('.mode_colors').hide(); + + // set directions visibility + if (activeFunction == "function-f" || activeFunction == "" || $('input.function-i').is(':checked')) + $('.directions').show(); + else + $('.directions').hide(); + + // set special colors visibility + $('.special_colors').show(); + $('.mode_color-6-0').hide(); + $('.mode_color-6-1').hide(); + $('.mode_color-6-2').hide(); + $('.mode_color-6-3').hide(); + $('.mode_color-6-4').hide(); + $('.mode_color-6-5').hide(); + $('.mode_color-6-6').hide(); + $('.mode_color-6-7').hide(); + + switch (activeFunction) { + case "": // none + case "function-f": // Modes & Orientation + // $('.mode_color-6-3').show(); // background + $('.special_colors').hide(); + break; + case "function-g": // GPS + $('.mode_color-6-5').show(); // no sats + $('.mode_color-6-6').show(); // no lock + $('.mode_color-6-7').show(); // locked + // $('.mode_color-6-3').show(); // background + break; + case "function-b": // Blink + $('.mode_color-6-4').show(); // blink background + break; + case "function-a": // Arm state + $('.mode_color-6-0').show(); // disarmed + $('.mode_color-6-1').show(); // armed + break; + + case "function-r": // Ring + default: + $('.special_colors').hide(); + break; + } + } + + function updateColors(value, hsvIndex) { + var change = false; + + value = Number(value); + + var className = '.color-' + selectedColorIndex; + if ($(className).hasClass('btnOn')) { + switch (hsvIndex) { + case 0: + if (LED_COLORS[selectedColorIndex].h != value) { + LED_COLORS[selectedColorIndex].h = value; + $('.colorDefineSliderValue.Hvalue').text(LED_COLORS[selectedColorIndex].h); + change = true + } + break; + case 1: + if (LED_COLORS[selectedColorIndex].s != value) { + LED_COLORS[selectedColorIndex].s = value; + $('.colorDefineSliderValue.Svalue').text(LED_COLORS[selectedColorIndex].s); + change = true + } + break; + case 2: + if (LED_COLORS[selectedColorIndex].v != value) { + LED_COLORS[selectedColorIndex].v = value; + $('.colorDefineSliderValue.Vvalue').text(LED_COLORS[selectedColorIndex].v); + change = true + } + break; + } + } + + + // refresh color buttons + $('.colors').children().each(function() { setBackgroundColor($(this)); }); + $('.overlay-color').each(function() { setBackgroundColor($(this)); }); + + $('.mode_colors').each(function() { setModeBackgroundColor($(this)); }); + $('.special_colors').each(function() { setModeBackgroundColor($(this)); }); + + if (change) + updateBulkCmd(); + } + + function drawColorBoxesInColorLedPoints() { + + $('.gPoint').each(function() { + if ($(this).is('.function-c') || $(this).is('.function-r') || $(this).is('.function-b')) { + $(this).find('.overlay-color').show(); + + for (var colorIndex = 0; colorIndex < 16; colorIndex++) { + var className = 'color-' + colorIndex; + if ($(this).is('.' + className)) { + $(this).find('.overlay-color').addClass(className); + $(this).find('.overlay-color').css('background-color', HsvToColor(LED_COLORS[colorIndex])) + } else { + if ($(this).find('.overlay-color').is('.' + className)) + $(this).find('.overlay-color').removeClass(className); + } + } + } else { + $(this).find('.overlay-color').hide(); + } + }); + } + + function setColorSliders(colorIndex) { + + var sliders = $('div.colorDefineSliders input'); + var change = false; + + if (!LED_COLORS[colorIndex]) + return; + + if (LED_COLORS[colorIndex].h != Number(sliders.eq(0).val())) { + sliders.eq(0).val(LED_COLORS[colorIndex].h); + $('.colorDefineSliderValue.Hvalue').text(LED_COLORS[colorIndex].h); + change = true; + } + + if (LED_COLORS[colorIndex].s != Number(sliders.eq(1).val())) { + sliders.eq(1).val(LED_COLORS[colorIndex].s); + $('.colorDefineSliderValue.Svalue').text(LED_COLORS[colorIndex].s); + change = true; + } + + if (LED_COLORS[colorIndex].v != Number(sliders.eq(2).val())) { + sliders.eq(2).val(LED_COLORS[colorIndex].v); + $('.colorDefineSliderValue.Vvalue').text(LED_COLORS[colorIndex].v); + change = true; + } + + // only fire events when all values are set + if (change) + sliders.trigger('input'); + + } + + function HsvToColor(input) { + var HSV = { h:Number(input.h), s:Number(input.s), v:Number(input.v) }; + + if (HSV.s == 0 && HSV.v == 0) + return ""; + + HSV = { h:HSV.h, s:1 - HSV.s / 255, v:HSV.v / 255 }; + + var HSL = { h:0, s:0, v:0}; + HSL.h = HSV.h; + HSL.l = (2 - HSV.s) * HSV.v / 2; + HSL.s = HSL.l && HSL.l < 1 ? HSV.s * HSV.v / (HSL.l < 0.5 ? HSL.l * 2 : 2 - HSL.l * 2) : HSL.s; + + var ret = 'hsl(' + HSL.h + ', ' + HSL.s * 100 + '%, ' + HSL.l * 100 + '%)'; + return ret; + } + + function getModeColor(mode, dir) { + for (var i = 0; i < LED_MODE_COLORS.length; i++) { + var mc = LED_MODE_COLORS[i]; + if (mc.mode == mode && mc.direction == dir) + return mc.color; + } + return ""; + } + + function setModeColor(mode, dir, color) { + for (var i = 0; i < LED_MODE_COLORS.length; i++) { + var mc = LED_MODE_COLORS[i]; + if (mc.mode == mode && mc.direction == dir) { + mc.color = color; + return 1; + } + } + return 0; + } + + function clearModeColorSelection() { + selectedModeColor = null; + $('.mode_colors').each(function() { + $(this).children().each(function() { + if ($(this).is('.btnOn')) { + $(this).removeClass('btnOn'); + } + }); + }); + } }; TABS.led_strip.cleanup = function (callback) { From a3670bc3fdf58ce24e9eec268e5d1dd41ba8dadf Mon Sep 17 00:00:00 2001 From: skaman82 Date: Wed, 15 Jun 2016 10:57:31 +0200 Subject: [PATCH 07/71] CSS optimisazion --- tabs/led_strip.css | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tabs/led_strip.css b/tabs/led_strip.css index e72381f3a..f59ea541a 100644 --- a/tabs/led_strip.css +++ b/tabs/led_strip.css @@ -171,7 +171,11 @@ /* Drop-down boxes */ -.tab-led-strip .select { background: white;} +.tab-led-strip .select { + background: white; + margin-bottom: 15px; +} + .tab-led-strip .select .function-c { background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%); } @@ -187,6 +191,9 @@ color: black; } +.tab-led-strip .select select { + border: 1px solid silver; +} .tab-led-strip .overlays, .tab-led-strip .modifiers { From 96a71e731b07a55d6ea3d72e287e3e9380e7471e Mon Sep 17 00:00:00 2001 From: skaman82 Date: Wed, 15 Jun 2016 13:34:28 +0200 Subject: [PATCH 08/71] Fixing board align icons --- images/icons/cf_icon_roll.svg | 14 ++++---------- images/icons/cf_icon_yaw.svg | 14 ++++++++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/images/icons/cf_icon_roll.svg b/images/icons/cf_icon_roll.svg index 17901652e..c8e7d8fbb 100644 --- a/images/icons/cf_icon_roll.svg +++ b/images/icons/cf_icon_roll.svg @@ -4,15 +4,9 @@ viewBox="0 0 85 85" style="enable-background:new 0 0 85 85;" xml:space="preserve"> - - - - - - - - + + diff --git a/images/icons/cf_icon_yaw.svg b/images/icons/cf_icon_yaw.svg index c8e7d8fbb..17901652e 100644 --- a/images/icons/cf_icon_yaw.svg +++ b/images/icons/cf_icon_yaw.svg @@ -4,9 +4,15 @@ viewBox="0 0 85 85" style="enable-background:new 0 0 85 85;" xml:space="preserve"> - - + + + + + + + + From ae3436cc5d309beb11f68d5a5a66a3a79bd1fae2 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 16 Jun 2016 14:08:02 +0200 Subject: [PATCH 09/71] Serial RX help tooltip --- _locales/en/messages.json | 3 +++ tabs/configuration.html | 1 + 2 files changed, 4 insertions(+) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 7c46ff03e..fb5c0dd7e 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1632,5 +1632,8 @@ }, "mainHelpLink": { "message": "Serial Link Status" + }, + "configHelp3": { + "message": "Configure port scenario first before selecting a serial-based receiver." } } diff --git a/tabs/configuration.html b/tabs/configuration.html index ccc59b23d..fa69cc19c 100644 --- a/tabs/configuration.html +++ b/tabs/configuration.html @@ -176,6 +176,7 @@
+
From 2df232c233dcb32650e7c187ea98e13c831e5874 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 16 Jun 2016 14:18:05 +0200 Subject: [PATCH 10/71] Changelog update --- changelog.html | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/changelog.html b/changelog.html index f675e490f..152d4e4d0 100644 --- a/changelog.html +++ b/changelog.html @@ -1,3 +1,9 @@ +2016.xx.xx - 1.2.3 - cleanflight +
    +
  • More functionality in the LED Tab.
  • +
  • Minor GUI fixes.
  • + +
2016.05.12 - 1.2.2 - cleanflight
  • Better support for some USB VCP targets.
  • From 92e0bd0c4dc01cf21eccc46fbd8308f4a1f65663 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 16 Jun 2016 17:02:59 +0200 Subject: [PATCH 11/71] LED Strip: hiding special colors for older CF versions --- tabs/led_strip.html | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/tabs/led_strip.html b/tabs/led_strip.html index 98cb27083..42c010bd7 100644 --- a/tabs/led_strip.html +++ b/tabs/led_strip.html @@ -144,16 +144,18 @@ -
    -
    Special colors
    - - - - - - - - +
    +
    +
    Special colors
    + + + + + + + + +
    LED Strip Wiring
    From 4f8b4db5361156afcc3bd0e92cd3af27919708bc Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 16 Jun 2016 17:27:27 +0200 Subject: [PATCH 12/71] New custom mixer image --- resources/motor_order/custom.svg | 79 +++++++++++++++++++++++--------- 1 file changed, 58 insertions(+), 21 deletions(-) diff --git a/resources/motor_order/custom.svg b/resources/motor_order/custom.svg index 70a637ba3..246f77b06 100644 --- a/resources/motor_order/custom.svg +++ b/resources/motor_order/custom.svg @@ -1,22 +1,59 @@ - - -]> - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From a133eb63749b0109e226b326c41f448be65997d3 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 16 Jun 2016 17:35:12 +0200 Subject: [PATCH 13/71] QuadX 3D model for custom mixer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit That box was really ugly… Until somebody makes a better model I suggest to stick with the QuadX model --- tabs/setup.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tabs/setup.js b/tabs/setup.js index 6e0333702..427dbbef3 100755 --- a/tabs/setup.js +++ b/tabs/setup.js @@ -253,7 +253,8 @@ TABS.setup.initialize3D = function (compatibility) { // Temporary workaround for 'custom' model until akfreak's custom model is merged. var useLegacyCustomModel = false; if (model_file == 'custom') { - model_file = 'fallback'; + // model_file = 'fallback'; + model_file = 'quad_x'; useLegacyCustomModel = true; } From f890ee4d9262bd13083afad0e1a0c7e0799b83bb Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 16 Jun 2016 18:03:51 +0200 Subject: [PATCH 14/71] SERVO_TILT safety tip --- _locales/en/messages.json | 3 +++ tabs/configuration.js | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index fb5c0dd7e..4ea647c6f 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1635,5 +1635,8 @@ }, "configHelp3": { "message": "Configure port scenario first before selecting a serial-based receiver." + }, + "featureSERVO_TILTTip": { + "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Motor pins 1-2 are used for gimbal if active! Use pins 3-6 for motors. " } } diff --git a/tabs/configuration.js b/tabs/configuration.js index 2c3ca833d..b564e3753 100644 --- a/tabs/configuration.js +++ b/tabs/configuration.js @@ -120,7 +120,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { {bit: 2, group: 'other', name: 'INFLIGHT_ACC_CAL'}, {bit: 3, group: 'rxMode', mode: 'group', name: 'RX_SERIAL'}, {bit: 4, group: 'esc', name: 'MOTOR_STOP'}, - {bit: 5, group: 'other', name: 'SERVO_TILT'}, + {bit: 5, group: 'other', name: 'SERVO_TILT', haveTip: true}, {bit: 6, group: 'other', name: 'SOFTSERIAL', haveTip: true}, {bit: 7, group: 'gps', name: 'GPS', haveTip: true}, {bit: 8, group: 'rxFailsafe', name: 'FAILSAFE'}, From 821af38c2cca8cb74da8f5b476571c48b61ecff6 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 16 Jun 2016 18:15:00 +0200 Subject: [PATCH 15/71] Extended label for SERVO_TILT --- _locales/en/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 4ea647c6f..ceeee8623 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -461,7 +461,7 @@ "message": "Don't spin the motors when armed" }, "featureSERVO_TILT": { - "message": "Servo gimbal" + "message": "Servo gimbal (uses motor pins 1-2)" }, "featureSOFTSERIAL": { "message": "Enable CPU based serial ports" From 11045246e98e7f26fb33947a04bf7891e21199a5 Mon Sep 17 00:00:00 2001 From: gael Date: Sat, 21 May 2016 10:27:02 +0200 Subject: [PATCH 16/71] LEDstrip: Battery, Larson scanner, Blink on landing Handle new MSP LED config format (not yet merged) New functions Battery & Larson scanner RSSI is now a function New overlays: blink, blink on landing --- js/msp.js | 199 ++++++++++++++------ tabs/led_strip.css | 67 ++++--- tabs/led_strip.html | 44 +++-- tabs/led_strip.js | 431 +++++++++++++++++++++++++++----------------- 4 files changed, 490 insertions(+), 251 deletions(-) diff --git a/js/msp.js b/js/msp.js index 4b42a2f25..bfc8d1dc8 100644 --- a/js/msp.js +++ b/js/msp.js @@ -130,8 +130,10 @@ var MSP = { unsupported: 0, ledDirectionLetters: ['n', 'e', 's', 'w', 'u', 'd'], // in LSB bit order - ledFunctionLetters: ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b'], // in LSB bit order - + ledFunctionLetters: ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b', 'l'], // in LSB bit order + ledBaseFunctionLetters: ['c', 'f', 'a', 'l', 's', 'g', 'r'], // in LSB bit + ledOverlayLetters: ['t', 'o', 'b', 'n', 'i', 'w'], // in LSB bit + last_received_timestamp: null, analog_last_received_timestamp: null, @@ -877,39 +879,80 @@ var MSP = { LED_STRIP = []; var ledCount = data.byteLength / 7; // v1.4.0 and below incorrectly reported 4 bytes per led. - + if (semver.gte(CONFIG.apiVersion, "1.20.0")) + ledCount = data.byteLength / 4; + var offset = 0; for (var i = 0; offset < data.byteLength && i < ledCount; i++) { - - var directionMask = data.getUint16(offset, 1); - offset += 2; - - var directions = []; - for (var directionLetterIndex = 0; directionLetterIndex < MSP.ledDirectionLetters.length; directionLetterIndex++) { - if (bit_check(directionMask, directionLetterIndex)) { - directions.push(MSP.ledDirectionLetters[directionLetterIndex]); - } - } - - var functionMask = data.getUint16(offset, 1); - offset += 2; - var functions = []; - for (var functionLetterIndex = 0; functionLetterIndex < MSP.ledFunctionLetters.length; functionLetterIndex++) { - if (bit_check(functionMask, functionLetterIndex)) { - functions.push(MSP.ledFunctionLetters[functionLetterIndex]); + if (semver.lt(CONFIG.apiVersion, "1.20.0")) { + var directionMask = data.getUint16(offset, 1); + offset += 2; + + var directions = []; + for (var directionLetterIndex = 0; directionLetterIndex < MSP.ledDirectionLetters.length; directionLetterIndex++) { + if (bit_check(directionMask, directionLetterIndex)) { + directions.push(MSP.ledDirectionLetters[directionLetterIndex]); + } + } + + var functionMask = data.getUint16(offset, 1); + offset += 2; + + var functions = []; + for (var functionLetterIndex = 0; functionLetterIndex < MSP.ledFunctionLetters.length; functionLetterIndex++) { + if (bit_check(functionMask, functionLetterIndex)) { + functions.push(MSP.ledFunctionLetters[functionLetterIndex]); + } } + + var led = { + directions: directions, + functions: functions, + x: data.getUint8(offset++, 1), + y: data.getUint8(offset++, 1), + color: data.getUint8(offset++, 1) + }; + + LED_STRIP.push(led); + } else { + var mask = data.getUint32(offset, 1); + offset +=4; + + var functionId = (mask >> 8) & 0xF; + var functions = []; + for (var baseFunctionLetterIndex = 0; baseFunctionLetterIndex < MSP.ledBaseFunctionLetters.length; baseFunctionLetterIndex++) { + if (functionId == baseFunctionLetterIndex) { + functions.push(MSP.ledBaseFunctionLetters[baseFunctionLetterIndex]); + break; + } + } + + var overlayMask = (mask >> 12) & 0x3F; + for (var overlayLetterIndex = 0; overlayLetterIndex < MSP.ledOverlayLetters.length; overlayLetterIndex++) { + if (bit_check(overlayMask, overlayLetterIndex)) { + functions.push(MSP.ledOverlayLetters[overlayLetterIndex]); + } + } + + var directionMask = (mask >> 22) & 0x3F; + var directions = []; + for (var directionLetterIndex = 0; directionLetterIndex < MSP.ledDirectionLetters.length; directionLetterIndex++) { + if (bit_check(directionMask, directionLetterIndex)) { + directions.push(MSP.ledDirectionLetters[directionLetterIndex]); + } + } + var led = { + y: (mask) & 0xF, + x: (mask >> 4) & 0xF, + functions: functions, + color: (mask >> 18) & 0xF, + directions: directions, + parameters: (mask >> 28) & 0xF + }; + + LED_STRIP.push(led); } - - var led = { - directions: directions, - functions: functions, - x: data.getUint8(offset++, 1), - y: data.getUint8(offset++, 1), - color: data.getUint8(offset++, 1) - }; - - LED_STRIP.push(led); } break; case MSP_codes.MSP_SET_LED_STRIP_CONFIG: @@ -1428,7 +1471,7 @@ MSP.crunch = function (code) { buffer.push(SENSOR_ALIGNMENT.align_gyro); buffer.push(SENSOR_ALIGNMENT.align_acc); buffer.push(SENSOR_ALIGNMENT.align_mag); - break + break; default: return false; @@ -1666,36 +1709,88 @@ MSP.sendLedStripConfig = function(onCompleteCallback) { function send_next_led_strip_config() { var led = LED_STRIP[ledIndex]; - + /* + var led = { + directions: directions, + functions: functions, + x: data.getUint8(offset++, 1), + y: data.getUint8(offset++, 1), + color: data.getUint8(offset++, 1) + }; + */ var buffer = []; buffer.push(ledIndex); - var directionMask = 0; - for (var directionLetterIndex = 0; directionLetterIndex < led.directions.length; directionLetterIndex++) { - var bitIndex = MSP.ledDirectionLetters.indexOf(led.directions[directionLetterIndex]); - if (bitIndex >= 0) { - directionMask = bit_set(directionMask, bitIndex); + if (semver.lt(CONFIG.apiVersion, "1.20.0")) { + var directionMask = 0; + for (var directionLetterIndex = 0; directionLetterIndex < led.directions.length; directionLetterIndex++) { + var bitIndex = MSP.ledDirectionLetters.indexOf(led.directions[directionLetterIndex]); + if (bitIndex >= 0) { + directionMask = bit_set(directionMask, bitIndex); + } } - } - buffer.push(specificByte(directionMask, 0)); - buffer.push(specificByte(directionMask, 1)); - - var functionMask = 0; - for (var functionLetterIndex = 0; functionLetterIndex < led.functions.length; functionLetterIndex++) { - var bitIndex = MSP.ledFunctionLetters.indexOf(led.functions[functionLetterIndex]); - if (bitIndex >= 0) { - functionMask = bit_set(functionMask, bitIndex); + buffer.push(specificByte(directionMask, 0)); + buffer.push(specificByte(directionMask, 1)); + + var functionMask = 0; + for (var functionLetterIndex = 0; functionLetterIndex < led.functions.length; functionLetterIndex++) { + var bitIndex = MSP.ledFunctionLetters.indexOf(led.functions[functionLetterIndex]); + if (bitIndex >= 0) { + functionMask = bit_set(functionMask, bitIndex); + } } - } - buffer.push(specificByte(functionMask, 0)); - buffer.push(specificByte(functionMask, 1)); + buffer.push(specificByte(functionMask, 0)); + buffer.push(specificByte(functionMask, 1)); + + buffer.push(led.x); + buffer.push(led.y); + + buffer.push(led.color); + } else { + var mask = 0; + /* + ledDirectionLetters: ['n', 'e', 's', 'w', 'u', 'd'], // in LSB bit order + ledFunctionLetters: ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b', 'l'], // in LSB bit order + ledBaseFunctionLetters: ['c', 'f', 'a', 'l', 's', 'g', 'r'], // in LSB bit + ledOverlayLetters: ['t', 'o', 'b', 'n', 'i', 'w'], // in LSB bit + + */ + mask |= (led.y << 0); + mask |= (led.x << 4); - buffer.push(led.x); - buffer.push(led.y); + for (var functionLetterIndex = 0; functionLetterIndex < led.functions.length; functionLetterIndex++) { + var fnIndex = MSP.ledBaseFunctionLetters.indexOf(led.functions[functionLetterIndex]); + if (fnIndex >= 0) { + mask |= (fnIndex << 8); + break; + } + } + + for (var overlayLetterIndex = 0; overlayLetterIndex < led.functions.length; overlayLetterIndex++) { + var bitIndex = MSP.ledOverlayLetters.indexOf(led.functions[overlayLetterIndex]); + if (bitIndex >= 0) { + mask |= bit_set(mask, bitIndex + 12); + } + } - buffer.push(led.color); + mask |= (led.color << 18); + for (var directionLetterIndex = 0; directionLetterIndex < led.directions.length; directionLetterIndex++) { + var bitIndex = MSP.ledDirectionLetters.indexOf(led.directions[directionLetterIndex]); + if (bitIndex >= 0) { + mask |= bit_set(mask, bitIndex + 22); + } + } + + mask |= (0 << 28); // parameters + + + buffer.push(specificByte(mask, 0)); + buffer.push(specificByte(mask, 1)); + buffer.push(specificByte(mask, 2)); + buffer.push(specificByte(mask, 3)); + } // prepare for next iteration ledIndex++; diff --git a/tabs/led_strip.css b/tabs/led_strip.css index f59ea541a..0aff44fe0 100644 --- a/tabs/led_strip.css +++ b/tabs/led_strip.css @@ -1,4 +1,3 @@ - .tab-led-strip .help { padding: 10px; background-color: #ffcb18; @@ -30,6 +29,18 @@ cursor: pointer; } +.tab-led-strip .gPoint.function-s { /* RSSI */ + background: brown; + box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); + border-color: rgb(52, 155, 255); +} + +.tab-led-strip .gPoint.function-c { /* Color */ + background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%); + box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); + border-color: grey; +} + .tab-led-strip .gPoint.function-f { /* Flight mode & orientation */ background: rgb(50, 205, 50); box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); @@ -42,10 +53,10 @@ border-color: rgb(52, 155, 255); } -.tab-led-strip .gPoint.function-c { /* Color */ - background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%); +.tab-led-strip .gPoint.function-l { /* Battery */ + background: magenta; box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); - border-color: grey; + border-color: rgb(52, 155, 255); } .tab-led-strip .gPoint.function-r { /* Ring */ @@ -60,15 +71,8 @@ border-color: rgb(52, 155, 255); } -.tab-led-strip .gPoint.function-b { /* Blink */ - background: white; - box-shadow: inset 0 0 30px rgba(0, 0, 0, .7); - border-color: rgb(52, 155, 255); -} - .tab-led-strip .gPoint.function-c .overlay-color, -.tab-led-strip .gPoint.function-r .overlay-color, -.tab-led-strip .gPoint.function-b .overlay-color { +.tab-led-strip .gPoint.function-r .overlay-color { float: left; height: 15px; width: 15px; @@ -77,10 +81,13 @@ border-radius: 4px; } +.tab-led-strip .gPoint.function-s .overlay-s, .tab-led-strip .gPoint.function-w .overlay-w, .tab-led-strip .gPoint.function-i .overlay-i, .tab-led-strip .gPoint.function-t .overlay-t, -.tab-led-strip .gPoint.function-s .overlay-s { +.tab-led-strip .gPoint.function-o .overlay-o, +.tab-led-strip .gPoint.function-b .overlay-b, +.tab-led-strip .gPoint.function-n .overlay-n { float: left; height: 6px; width: 16px; @@ -110,6 +117,24 @@ margin-left: 16px; } +.tab-led-strip .gPoint.function-o .overlay-o { + background-image: radial-gradient(1px at 8px 50% , brown 0%, brown 2px, rgba(0, 0, 0, 0.3) 3px, rgba(0, 0, 0, 0) 4px); + margin-top: -6px; + margin-left: 16px; +} + +.tab-led-strip .gPoint.function-b .overlay-b { + background-image: radial-gradient(1px at 8px 50% , rgb(52, 155, 255) 0%, rgb(52, 155, 255) 2px, rgba(0, 0, 0, 0.3) 3px, rgba(0, 0, 0, 0) 4px); + margin-top: -18px; + margin-left: -9px; +} + +.tab-led-strip .gPoint.function-n .overlay-n { + background-image: radial-gradient(1px at 8px 50% , blue 0%, blue 2px, rgba(0, 0, 0, 0.3) 3px, rgba(0, 0, 0, 0) 4px); + margin-top: -18px; + margin-left: 16px; +} + .tab-led-strip .gPoint select { background: #000; @@ -171,19 +196,17 @@ /* Drop-down boxes */ -.tab-led-strip .select { - background: white; - margin-bottom: 15px; -} - +.tab-led-strip .select { background: white;} .tab-led-strip .select .function-c { background: linear-gradient( to bottom right, rgba(255, 0, 0, .5) 0%, rgba(255, 255, 0, 0.5) 15%, rgba(0, 255, 0, .5) 30%, rgba(0, 255, 255, .5) 50%, rgba(0, 0, 255, .5) 65%, rgba(255, 0, 255, .5) 80%, rgba(255, 0, 0, .5) 100%); } -.tab-led-strip .select .function-a { background: rgb(52, 155, 255);} .tab-led-strip .select .function-f { background: rgb(50, 205, 50);} +.tab-led-strip .select .function-a { background: rgb(52, 155, 255);} +.tab-led-strip .select .function-l { background: magenta;} +.tab-led-strip .select .function-s { background: brown;} .tab-led-strip .select .function-g { background: green;} -.tab-led-strip .select .function-b { background: white; color:black;} +/* .tab-led-strip .select .function-b { background: white; color:black;} */ .tab-led-strip .select .function-r { background: #acacac;} .tab-led-strip .select .functionSelect option { @@ -191,11 +214,9 @@ color: black; } -.tab-led-strip .select select { - border: 1px solid silver; -} .tab-led-strip .overlays, +.tab-led-strip .blinkers, .tab-led-strip .modifiers { display: inline-block; } diff --git a/tabs/led_strip.html b/tabs/led_strip.html index 42c010bd7..919df6604 100644 --- a/tabs/led_strip.html +++ b/tabs/led_strip.html @@ -64,8 +64,10 @@ + + - +
    @@ -77,12 +79,28 @@ -
    +
    +
    + + +
    +
    + Blink +
    + + +
    +
    + + +
    +
    +
    Overlay
    @@ -144,18 +162,16 @@
    -
    -
    -
    Special colors
    - - - - - - - - -
    +
    +
    Special colors
    + + + + + + + +
    LED Strip Wiring
    diff --git a/tabs/led_strip.js b/tabs/led_strip.js index 4d686a9aa..cb7fbc58a 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -1,17 +1,24 @@ 'use strict'; TABS.led_strip = { - wireMode: false, - baseFuncs: ['c', 'f', 'a', 'g', 'b', 'r'], - overlays: ['t', 's', 'w', 'i'], - directions: ['n', 'e', 's', 'w', 'u', 'd'], -}; + wireMode: false, + functions: ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b', 'l', 'o', 'n'], + baseFuncs: ['c', 'f', 'a', 'l', 's', 'g', 'r'], + overlays: ['t', 'o', 'b', 'n', 'i', 'w'], + directions: ['n', 'e', 's', 'w', 'u', 'd'], + }; TABS.led_strip.initialize = function (callback, scrollPosition) { var self = this; var selectedColorIndex = null; var selectedModeColor = null; + if (semver.lte(CONFIG.apiVersion, "1.19.0")) { + TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b']; + TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'b', 'g', 'r']; + TABS.led_strip.overlays = ['t', 's', 'i', 'w']; + } + TABS.led_strip.wireMode = false; if (GUI.active_tab != 'led_strip') { @@ -65,7 +72,10 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { var theHTML = []; var theHTMLlength = 0; for (var i = 0; i < 256; i++) { - theHTML[theHTMLlength++] = ('
    UD
    '); + if (semver.lte(CONFIG.apiVersion, "1.19.0")) + theHTML[theHTMLlength++] = ('
    UD
    '); + else + theHTML[theHTMLlength++] = ('
    UD
    '); } $('.mainGrid').html(theHTML.join('')); @@ -179,6 +189,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { }); + // Color sliders var ip = $('div.colorDefineSliders input'); ip.eq(0).on("input change", function() { updateColors($(this).val(), 0); }); ip.eq(1).on("input change", function() { updateColors($(this).val(), 1); }); @@ -216,7 +227,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { drawColorBoxesInColorLedPoints(); - // refresh color buttons + // refresh color buttons $('.colors').children().each(function() { setBackgroundColor($(this)); }); $('.overlay-color').each(function() { setBackgroundColor($(this)); }); @@ -297,7 +308,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $(this).find('.wire').html(nextWireNumber); } } - if ($(this).find('.wire').text() != '') { @@ -327,22 +337,24 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } }); + var uiSelectedLast = that; $('select.functionSelect').val(""); TABS.led_strip.baseFuncs.forEach(function(letter) { var className = 'function-' + letter; if ($('select.functionSelect').is("." + className)) { - $('select').removeClass(className); + $('select.functionSelect').removeClass(className); } }); + selectedColorIndex = 0; - if (that) { + if (uiSelectedLast) { // set active color for (var colorIndex = 0; colorIndex < 16; colorIndex++) { var className = '.color-' + colorIndex; - if ($(that).is(className)) { + if ($(uiSelectedLast).is(className)) { $(className).addClass('btnOn'); selectedColorIndex = colorIndex; @@ -355,7 +367,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { TABS.led_strip.overlays.forEach(function(letter) { var feature_o = $('.checkbox').find('input.function-' + letter); - var newVal = ($(that).is('.function-' + letter)); + var newVal = ($(uiSelectedLast).is('.function-' + letter)); if (feature_o.is(':checked') != newVal) { feature_o.prop('checked', newVal); @@ -365,8 +377,9 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { // Update active function in combobox TABS.led_strip.baseFuncs.forEach(function(letter) { - if ($(that).is('.function-' + letter)) { + if ($(uiSelectedLast).is('.function-' + letter)) { $('select.functionSelect').val("function-" + letter); + $('select.functionSelect').addClass("function-" + letter); } }); } @@ -385,71 +398,11 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { // UI: select LED function from drop-down $('.functionSelect').on('change', function() { - - var that = this; - if ($('.ui-selected').length > 0) { - TABS.led_strip.baseFuncs.forEach(function(letter) { - if ($(that).val() == 'function-' + letter) { - $('select').addClass('function-' + letter); - - $('.ui-selected').find('.wire').each(function() { - if ($(this).text() != "") - $(this).parent().addClass('function-' + letter); - }); - - if (letter == 'b' || letter == 'r') { - if ($('input.function-i').is(':checked')) { - $('input.function-i').prop('checked', false); - $('input.function-i').change(); - $('.ui-selected').each(function() { - if ($(this).is('.function-' + letter)) { - $(this).removeClass('function-i'); - } - }); - } - } - if (letter == 'b' || letter == 'r' || letter == 'l' || letter == 'g') { - if ($('input.function-w').is(':checked')) { - $('input.function-w').prop('checked', false); - $('input.function-w').change(); - $('.ui-selected').each(function() { - if ($(this).is('.function-' + letter)) { - $(this).removeClass('function-w'); - } - }); - } - if ($('input.function-t').is(':checked')) { - $('input.function-t').prop('checked', false); - $('input.function-t').change(); - $('.ui-selected').each(function() { - if ($(this).is('.function-' + letter)) { - $(this).removeClass('function-t'); - } - }); - } - if ($('input.function-s').is(':checked')) { - $('input.function-s').prop('checked', false); - $('input.function-s').change(); - $('.ui-selected').each(function() { - if ($(this).is('.function-' + letter)) { - $(this).removeClass('function-s'); - } - }); - } - } - } else { - $('select').removeClass('function-' + letter); - $('.ui-selected').removeClass('function-' + letter); - } - }); - $('select').addClass($('select.functionSelect').val()); - - clearModeColorSelection(); - updateBulkCmd(); - drawColorBoxesInColorLedPoints(); - } - + clearModeColorSelection(); + applyFunctionToSelectedLeds(); + drawColorBoxesInColorLedPoints(); setOptionalGroupsVisibility(); + updateBulkCmd(); }); // UI: select mode from drop-down @@ -471,32 +424,52 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $('.mode_colors').each(function() { setModeBackgroundColor($(this)); }); }); + function toggleSwitch(that, letter) + { + if ($(that).is(':checked')) { + $('.ui-selected').find('.wire').each(function() { + if ($(this).text() != "") + $(this).parent().addClass('function-' + letter); + }); + } else { + $('.ui-selected').removeClass('function-' + letter); + } + return $(that).is(':checked'); + } + // UI: checkbox toggle $('.checkbox').change(function(e) { if (e.originalEvent) { // user-triggered event var that = $(this).find('input'); if ($('.ui-selected').length > 0) { + TABS.led_strip.overlays.forEach(function(letter) { if ($(that).is('.function-' + letter)) { - if ($(that).is(':checked')) { - $('.ui-selected').find('.wire').each(function() { - if ($(this).text() != "") - $(this).parent().addClass('function-' + letter); - }); - } else { - $('.ui-selected').removeClass('function-' + letter); + var ret = toggleSwitch(that, letter); + var cbn = $('.checkbox .function-n'); + var cbb = $('.checkbox .function-b'); + + if (ret && letter == 'b' && cbn.is(':checked')) { + cbn.prop('checked', false); + cbn.change(); + toggleSwitch(cbn, 'n'); + } else if (ret && letter == 'n' && cbb.is(':checked')) { + cbb.prop('checked', false); + cbb.change(); + toggleSwitch(cbb, 'b'); } } }); - + + clearModeColorSelection(); updateBulkCmd(); + setOptionalGroupsVisibility(); } } else { // code-triggered event } - setOptionalGroupsVisibility(); }); @@ -537,14 +510,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { }); - updateBulkCmd(); - - setOptionalGroupsVisibility(); - - drawColorBoxesInColorLedPoints(); - - $('.colorDefineSliders').hide(); - $('a.save').click(function () { MSP.sendLedStripConfig(send_led_strip_colors); @@ -567,11 +532,14 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } }); + + $('.colorDefineSliders').hide(); - if (semver.lt(CONFIG.apiVersion, "1.19.0")) { - $(".extra_functions19").hide(); - $(".mode_colors").hide(); - } + applyFunctionToSelectedLeds(); + drawColorBoxesInColorLedPoints(); + setOptionalGroupsVisibility(); + + updateBulkCmd(); GUI.content_ready(callback); } @@ -706,38 +674,101 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { function setOptionalGroupsVisibility() { var activeFunction = $('select.functionSelect').val(); + $('select.functionSelect').addClass(activeFunction); + + + if (semver.lte(CONFIG.apiVersion, "1.18.0")) { + // <= 18 + // Hide GPS (Func) + // Hide RSSI (O/L), Blink (Func) + // Hide Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L) + $(".extra_functions19").hide(); + $(".extra_functions19_only").hide(); + $(".extra_functions20").hide(); + $(".mode_colors").hide(); + } else if (semver.lte(CONFIG.apiVersion, "1.19.0")) { + // 19 + // Show GPS (Func) + // Show RSSI (O/L), Blink (Func) + // Hide Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L) + $(".extra_functions19").show(); + $(".extra_functions19_only").show(); + $(".extra_functions20").hide(); + $(".mode_colors").show(); + + } else { + // >= 20 + // Show GPS (Func) + // Hide RSSI (O/L), Blink (Func) + // Show Battery, RSSI (Func), Larson (O/L), Blink (O/L), Landing (O/L) + $(".extra_functions19").show(); + $(".extra_functions19_only").hide(); + $(".extra_functions20").show(); + $(".mode_colors").show(); + } + - $('select').addClass(activeFunction); // set color modifiers (checkboxes) visibility - switch (activeFunction) { - case "function-c": - case "function-a": - case "function-f": - $('.modifiers').show(); - break; - default: - $('.modifiers').hide(); - break; + $('.overlays').hide(); + $('.modifiers').hide(); + $('.blinkers').hide(); + + if (semver.lt(CONFIG.apiVersion, "1.20.0")) { + switch (activeFunction) { + case "function-c": + case "function-a": + case "function-f": + $('.modifiers').show(); + $('.overlays').show(); + break; + case "function-g": + $('.overlays').show(); + break; + default: + break; + } + } else { + switch (activeFunction) { + case "": + $('.overlays').show(); + break; + case "function-c": + case "function-a": + case "function-f": + $('.modifiers').show(); + $('.overlays').show(); + $('.blinkers').show(); + break; + case "function-s": + case "function-l": + case "function-r": + case "function-o": + case "function-g": + $('.overlays').show(); + break; + break; + default: + break; + } } + + // set overlays (checkboxes) visibility switch (activeFunction) { + case "function-l": + case "function-s": case "function-g": $('.warningOverlay').hide(); - $('.indicatorOverlay').show(); - $('.overlays').show(); - break; + break; + case "function-r": case "function-b": - case "function-r": - $('.warningOverlay').hide(); - $('.indicatorOverlay').hide(); - $('.overlays').hide(); + if (semver.lt(CONFIG.apiVersion, "1.20.0")) + $('.warningOverlay').hide(); break; default: - $('.indicatorOverlay').show(); $('.warningOverlay').show(); - $('.overlays').show(); break; } @@ -751,6 +782,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { case "function-a": case "function-f": case "function-g": + case "function-l": $('.colors').show(); $('.colorDefineSliders').show(); break; @@ -762,56 +794,132 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } */ - // set mode colors visibility - if (activeFunction == "function-f" && semver.gte(CONFIG.apiVersion, "1.19.0")) - $('.mode_colors').show(); - else - $('.mode_colors').hide(); - + // set overlays (checkboxes) visibility // set directions visibility - if (activeFunction == "function-f" || activeFunction == "" || $('input.function-i').is(':checked')) - $('.directions').show(); - else - $('.directions').hide(); - - // set special colors visibility - $('.special_colors').show(); - $('.mode_color-6-0').hide(); - $('.mode_color-6-1').hide(); - $('.mode_color-6-2').hide(); - $('.mode_color-6-3').hide(); - $('.mode_color-6-4').hide(); - $('.mode_color-6-5').hide(); - $('.mode_color-6-6').hide(); - $('.mode_color-6-7').hide(); - - switch (activeFunction) { - case "": // none - case "function-f": // Modes & Orientation - // $('.mode_color-6-3').show(); // background - $('.special_colors').hide(); - break; - case "function-g": // GPS - $('.mode_color-6-5').show(); // no sats - $('.mode_color-6-6').show(); // no lock - $('.mode_color-6-7').show(); // locked - // $('.mode_color-6-3').show(); // background - break; - case "function-b": // Blink - $('.mode_color-6-4').show(); // blink background - break; - case "function-a": // Arm state - $('.mode_color-6-0').show(); // disarmed - $('.mode_color-6-1').show(); // armed + if (semver.lt(CONFIG.apiVersion, "1.20.0")) { + switch (activeFunction) { + case "function-r": + $('.indicatorOverlay').hide(); + $('.directions').hide(); break; + default: + $('.indicatorOverlay').show(); + $('.directions').show(); + break; + } + } + $('.mode_colors').hide(); + if (semver.gte(CONFIG.apiVersion, "1.19.0")) { + // set mode colors visibility + if (activeFunction == "function-f") + $('.mode_colors').show(); + + // set special colors visibility + $('.special_colors').show(); + $('.mode_color-6-0').hide(); + $('.mode_color-6-1').hide(); + $('.mode_color-6-2').hide(); + $('.mode_color-6-3').hide(); + $('.mode_color-6-4').hide(); + $('.mode_color-6-5').hide(); + $('.mode_color-6-6').hide(); + $('.mode_color-6-7').hide(); + + switch (activeFunction) { + case "": // none + case "function-f": // Modes & Orientation + case "function-l": // Battery + // $('.mode_color-6-3').show(); // background + $('.special_colors').hide(); + break; + case "function-g": // GPS + $('.mode_color-6-5').show(); // no sats + $('.mode_color-6-6').show(); // no lock + $('.mode_color-6-7').show(); // locked + // $('.mode_color-6-3').show(); // background + break; + case "function-b": // Blink + $('.mode_color-6-4').show(); // blink background + break; + case "function-a": // Arm state + $('.mode_color-6-0').show(); // disarmed + $('.mode_color-6-1').show(); // armed + break; + + case "function-r": // Ring + default: + $('.special_colors').hide(); + break; + } + } + } + + function applyFunctionToSelectedLeds() { + var activeFunction = $('select.functionSelect').val(); + TABS.led_strip.baseFuncs.forEach(function(letter) { + + if (activeFunction == 'function-' + letter) { + $('select.functionSelect').addClass('function-' + letter); - case "function-r": // Ring - default: - $('.special_colors').hide(); - break; + $('.ui-selected').find('.wire').each(function() { + if ($(this).text() != "") + $(this).parent().addClass('function-' + letter); + }); + + unselectOverlays(letter); + + } else { + $('select.functionSelect').removeClass('function-' + letter); + $('.ui-selected').removeClass('function-' + letter); + } + + if (activeFunction == '') { + unselectOverlays(activeFunction); + } + + }); + } + + function unselectOverlays(letter) { + if (semver.lt(CONFIG.apiVersion, "1.20.0")) { + if (letter == 'b' || letter == 'r') { + unselectOverlay(letter, 'i'); + } + if (letter == 'b' || letter == 'r' || letter == 'l' || letter == 'g') { + unselectOverlay(letter, 'w'); + unselectOverlay(letter, 't'); + unselectOverlay(letter, 's'); + } + } else { + // MSP 1.20 + if (letter == 'r' || letter == '') { + unselectOverlay(letter, 'o'); + unselectOverlay(letter, 'b'); + unselectOverlay(letter, 'n'); + unselectOverlay(letter, 't'); + } + if (letter == 'l' || letter == 'g' || letter == 's') { + unselectOverlay(letter, 'w'); + unselectOverlay(letter, 't'); + unselectOverlay(letter, 'o'); + unselectOverlay(letter, 'b'); + unselectOverlay(letter, 'n'); + } } } + function unselectOverlay(func, overlay) { + if ($('input.function-' + overlay).is(':checked')) { + $('input.function-' + overlay).prop('checked', false); + $('input.function-' + overlay).change(); + $('.ui-selected').each(function() { + if (func == '' || $(this).is('.function-' + func)) { + $(this).removeClass('function-' + overlay); + } + }); + } + } + function updateColors(value, hsvIndex) { var change = false; @@ -857,7 +965,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } function drawColorBoxesInColorLedPoints() { - $('.gPoint').each(function() { if ($(this).is('.function-c') || $(this).is('.function-r') || $(this).is('.function-b')) { $(this).find('.overlay-color').show(); From 57f5a5c2b5b396b8b176a50b3ce2c0fc0789a667 Mon Sep 17 00:00:00 2001 From: gaelj Date: Fri, 17 Jun 2016 01:13:48 +0200 Subject: [PATCH 17/71] Apply scaling to PID values PID values are scaled between 0 and 255 by increments of 1. Also removed un-used Pos I value from PID table. --- js/msp.js | 30 ++++++++++++------------ tabs/pid_tuning.html | 43 ++++++++++++++++++----------------- tabs/pid_tuning.js | 54 ++++++++++++++++++++++---------------------- 3 files changed, 64 insertions(+), 63 deletions(-) diff --git a/js/msp.js b/js/msp.js index 4b42a2f25..54356fb04 100644 --- a/js/msp.js +++ b/js/msp.js @@ -382,20 +382,20 @@ var MSP = { case 7: case 8: case 9: - PIDs[i][0] = data.getUint8(needle) / 10; - PIDs[i][1] = data.getUint8(needle + 1) / 1000; + PIDs[i][0] = data.getUint8(needle); + PIDs[i][1] = data.getUint8(needle + 1); PIDs[i][2] = data.getUint8(needle + 2); break; case 4: - PIDs[i][0] = data.getUint8(needle) / 100; - PIDs[i][1] = data.getUint8(needle + 1) / 100; - PIDs[i][2] = data.getUint8(needle + 2) / 1000; + PIDs[i][0] = data.getUint8(needle); + PIDs[i][1] = data.getUint8(needle + 1); + PIDs[i][2] = data.getUint8(needle + 2); break; case 5: case 6: - PIDs[i][0] = data.getUint8(needle) / 10; - PIDs[i][1] = data.getUint8(needle + 1) / 100; - PIDs[i][2] = data.getUint8(needle + 2) / 1000; + PIDs[i][0] = data.getUint8(needle); + PIDs[i][1] = data.getUint8(needle + 1); + PIDs[i][2] = data.getUint8(needle + 2); break; } } @@ -1222,20 +1222,20 @@ MSP.crunch = function (code) { case 7: case 8: case 9: - buffer.push(Math.round(PIDs[i][0] * 10)); - buffer.push(Math.round(PIDs[i][1] * 1000)); + buffer.push(parseInt(PIDs[i][0])); + buffer.push(parseInt(PIDs[i][1])); buffer.push(parseInt(PIDs[i][2])); break; case 4: - buffer.push(Math.round(PIDs[i][0] * 100)); - buffer.push(Math.round(PIDs[i][1] * 100)); + buffer.push(parseInt(PIDs[i][0])); + buffer.push(parseInt(PIDs[i][1])); buffer.push(parseInt(PIDs[i][2])); break; case 5: case 6: - buffer.push(Math.round(PIDs[i][0] * 10)); - buffer.push(Math.round(PIDs[i][1] * 100)); - buffer.push(Math.round(PIDs[i][2] * 1000)); + buffer.push(parseInt(PIDs[i][0])); + buffer.push(parseInt(PIDs[i][1])); + buffer.push(parseInt(PIDs[i][2])); break; } } diff --git a/tabs/pid_tuning.html b/tabs/pid_tuning.html index 26af8890a..798e87b7d 100755 --- a/tabs/pid_tuning.html +++ b/tabs/pid_tuning.html @@ -44,22 +44,22 @@
- - + + - - + + - - + +
@@ -72,15 +72,15 @@ - - + + VEL - - + + @@ -93,7 +93,7 @@ - + @@ -107,23 +107,24 @@ - - + + + - - - + + + - - - + + +
@@ -145,8 +146,8 @@ - - + + diff --git a/tabs/pid_tuning.js b/tabs/pid_tuning.js index ec243d714..f814cc000 100755 --- a/tabs/pid_tuning.js +++ b/tabs/pid_tuning.js @@ -6,7 +6,7 @@ TABS.pid_tuning = { TABS.pid_tuning.initialize = function (callback) { var self = this; - + if (GUI.active_tab != 'pid_tuning') { GUI.active_tab = 'pid_tuning'; googleAnalytics.sendAppView('PID Tuning'); @@ -45,13 +45,13 @@ TABS.pid_tuning.initialize = function (callback) { $('.pid_tuning .ROLL input').each(function () { switch (i) { case 0: - $(this).val(PIDs[0][i++].toFixed(1)); + $(this).val(PIDs[0][i++]); break; case 1: - $(this).val(PIDs[0][i++].toFixed(3)); + $(this).val(PIDs[0][i++]); break; case 2: - $(this).val(PIDs[0][i++].toFixed(0)); + $(this).val(PIDs[0][i++]); break; } }); @@ -60,13 +60,13 @@ TABS.pid_tuning.initialize = function (callback) { $('.pid_tuning .PITCH input').each(function () { switch (i) { case 0: - $(this).val(PIDs[1][i++].toFixed(1)); + $(this).val(PIDs[1][i++]); break; case 1: - $(this).val(PIDs[1][i++].toFixed(3)); + $(this).val(PIDs[1][i++]); break; case 2: - $(this).val(PIDs[1][i++].toFixed(0)); + $(this).val(PIDs[1][i++]); break; } }); @@ -75,13 +75,13 @@ TABS.pid_tuning.initialize = function (callback) { $('.pid_tuning .YAW input').each(function () { switch (i) { case 0: - $(this).val(PIDs[2][i++].toFixed(1)); + $(this).val(PIDs[2][i++]); break; case 1: - $(this).val(PIDs[2][i++].toFixed(3)); + $(this).val(PIDs[2][i++]); break; case 2: - $(this).val(PIDs[2][i++].toFixed(0)); + $(this).val(PIDs[2][i++]); break; } }); @@ -90,33 +90,33 @@ TABS.pid_tuning.initialize = function (callback) { $('.pid_tuning .ALT input').each(function () { switch (i) { case 0: - $(this).val(PIDs[3][i++].toFixed(1)); + $(this).val(PIDs[3][i++]); break; case 1: - $(this).val(PIDs[3][i++].toFixed(3)); + $(this).val(PIDs[3][i++]); break; case 2: - $(this).val(PIDs[3][i++].toFixed(0)); + $(this).val(PIDs[3][i++]); break; } }); i = 0; $('.pid_tuning .Pos input').each(function () { - $(this).val(PIDs[4][i++].toFixed(2)); + $(this).val(PIDs[4][i++]); }); i = 0; $('.pid_tuning .PosR input').each(function () { switch (i) { case 0: - $(this).val(PIDs[5][i++].toFixed(1)); + $(this).val(PIDs[5][i++]); break; case 1: - $(this).val(PIDs[5][i++].toFixed(2)); + $(this).val(PIDs[5][i++]); break; case 2: - $(this).val(PIDs[5][i++].toFixed(3)); + $(this).val(PIDs[5][i++]); break; } }); @@ -125,13 +125,13 @@ TABS.pid_tuning.initialize = function (callback) { $('.pid_tuning .NavR input').each(function () { switch (i) { case 0: - $(this).val(PIDs[6][i++].toFixed(1)); + $(this).val(PIDs[6][i++]); break; case 1: - $(this).val(PIDs[6][i++].toFixed(2)); + $(this).val(PIDs[6][i++]); break; case 2: - $(this).val(PIDs[6][i++].toFixed(3)); + $(this).val(PIDs[6][i++]); break; } }); @@ -140,33 +140,33 @@ TABS.pid_tuning.initialize = function (callback) { $('.pid_tuning .LEVEL input').each(function () { switch (i) { case 0: - $(this).val(PIDs[7][i++].toFixed(1)); + $(this).val(PIDs[7][i++]); break; case 1: - $(this).val(PIDs[7][i++].toFixed(3)); + $(this).val(PIDs[7][i++]); break; case 2: - $(this).val(PIDs[7][i++].toFixed(0)); + $(this).val(PIDs[7][i++]); break; } }); i = 0; $('.pid_tuning .MAG input').each(function () { - $(this).val(PIDs[8][i++].toFixed(1)); + $(this).val(PIDs[8][i++]); }); i = 0; $('.pid_tuning .Vario input').each(function () { switch (i) { case 0: - $(this).val(PIDs[9][i++].toFixed(1)); + $(this).val(PIDs[9][i++]); break; case 1: - $(this).val(PIDs[9][i++].toFixed(3)); + $(this).val(PIDs[9][i++]); break; case 2: - $(this).val(PIDs[9][i++].toFixed(0)); + $(this).val(PIDs[9][i++]); break; } }); From c1b14e7a9b27c354719ff32ecc4c251dbd1730b1 Mon Sep 17 00:00:00 2001 From: gaelj Date: Fri, 17 Jun 2016 02:13:33 +0200 Subject: [PATCH 18/71] Clear GPS_DATA arrays used by MSP_GPS_SV_INFO before filling them --- js/msp.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/js/msp.js b/js/msp.js index 4b42a2f25..626d5efca 100644 --- a/js/msp.js +++ b/js/msp.js @@ -627,6 +627,11 @@ var MSP = { break; case MSP_codes.MSP_GPS_SV_INFO: if (data.byteLength > 0) { + GPS_DATA.chn = []; + GPS_DATA.svid = []; + GPS_DATA.quality = []; + GPS_DATA.cno = []; + var numCh = data.getUint8(0); var needle = 1; From db9b1e21a680aa95bf45fd5552243d2fa134d77b Mon Sep 17 00:00:00 2001 From: skaman82 Date: Fri, 17 Jun 2016 20:38:00 +0200 Subject: [PATCH 19/71] changelog update --- changelog.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/changelog.html b/changelog.html index 152d4e4d0..8527f2a31 100644 --- a/changelog.html +++ b/changelog.html @@ -1,7 +1,8 @@ 2016.xx.xx - 1.2.3 - cleanflight
  • More functionality in the LED Tab.
  • -
  • Minor GUI fixes.
  • +
  • New scaling for PIDs
  • +
  • Minor GUI bugfixes.
2016.05.12 - 1.2.2 - cleanflight From 7ab557cb1db86bab0843fd0ba695d9382cc9df04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20V=C3=B6lker?= Date: Sun, 19 Jun 2016 11:17:20 +0200 Subject: [PATCH 20/71] Fixed missspelling --- _locales/en/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index ceeee8623..c1025655c 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -273,7 +273,7 @@ "message": "Support" }, "defaultSupportSubline1": { - "message": "Support Scources" + "message": "Support Sources" }, "defaultSupportSubline2": { "message": "Developer" From fcaaa4ad696820f333beaa0b2c5b6a5e8abaf277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20V=C3=B6lker?= Date: Sun, 19 Jun 2016 11:23:22 +0200 Subject: [PATCH 21/71] Added german translation-file --- _locales/de/messages.json | 1642 +++++++++++++++++++++++++++++++++++++ 1 file changed, 1642 insertions(+) create mode 100755 _locales/de/messages.json diff --git a/_locales/de/messages.json b/_locales/de/messages.json new file mode 100755 index 000000000..c3c5574da --- /dev/null +++ b/_locales/de/messages.json @@ -0,0 +1,1642 @@ +{ + "translation_version": { + "message": "0" + }, + + "options_title": { + "message": "Anwendungsoptionen" + }, + "options_receive_app_notifications": { + "message": "Erhalte Benachrichtigungen, wenn Updates verfügbar sind" + }, + "options_improve_configurator": { + "message": "Sende anonyme Nutzugsdaten an das Entwickler-Team" + }, + + "connect": { + "message": "Verbinden" + }, + "connecting": { + "message": "Verbinde" + }, + "disconnect": { + "message": "Trennen" + }, + "autoConnect": { + "message": "Auto-Connect" + }, + "autoConnectEnabled": { + "message": "Auto-Connect: Aktiviert - Configurator versucht automatische Verbindung herzustellen, wenn Port erkannt" + }, + "autoConnectDisabled": { + "message": "Auto-Connect: Deaktiviert - Der Nutzer muss den korrekten seriellen Port selbst wählen und den \"Verbinden\" Knopf drücken" + }, + "deviceRebooting": { + "message": "Gerät - Startet neu" + }, + "deviceReady": { + "message": "Gerät - Bereit" + }, + + "backupFileIncompatible": { + "message": "Die Backupdatei wurde mit einer vorherigen Configurator-Version erstellt und ist leider inkompatibel. Sorry." + }, + + "backupFileUnmigratable": { + "message": "Die Backupdatei wurde mit einer vorherigen Configurator-Version erstellt und kann nicht migriert werden. Sorry." + }, + + "configMigrationFrom": { + "message": "Migriere Konfigurationsdatei: $1" + }, + "configMigratedTo": { + "message": "Migrated configuration to configurator: $1" + }, + "configMigrationSuccessful": { + "message": "Configuration migration complete, migrations applied: $1" + }, + + "tabFirmwareFlasher": { + "message": "Firmware Flasher" + }, + "tabLanding": { + "message": "Willkommen" + }, + "tabHelp": { + "message": "Dokumentation & Support" + }, + + "tabSetup": { + "message": "Setup" + }, + "tabConfiguration": { + "message": "Konfiguration" + }, + "tabPorts": { + "message": "Ports" + }, + "tabPidTuning": { + "message": "PID Tuning" + }, + "tabReceiver": { + "message": "Receiver" + }, + "tabModeSelection": { + "message": "Modus Auswahl" + }, + "tabServos": { + "message": "Servos" + }, + "tabFailsafe": { + "message": "Failsafe" + }, + "tabTransponder": { + "message": "Race Transponder" + }, + "tabGPS": { + "message": "GPS" + }, + "tabMotorTesting": { + "message": "Motoren" + }, + "tabLedStrip": { + "message": "LED Strip" + }, + "tabRawSensorData": { + "message": "Sensoren" + }, + "tabCLI": { + "message": "CLI" + }, + "tabLogging": { + "message": "Tethered Logging" + }, + "tabOnboardLogging": { + "message": "Blackbox" + }, + "tabAdjustments": { + "message": "Anpassungen" + }, + "tabAuxiliary": { + "message": "Modi" + }, + + "serialPortOpened": { + "message": "Serial port erfolgreich mit folgender ID geöffnet: $1" + }, + "serialPortOpenFail": { + "message": "Fehler beim öffnen des seriellen Port" + }, + "serialPortClosedOk": { + "message": "Serial port erfolgreich geschlossen" + }, + "serialPortClosedFail": { + "message": "Fehler beim schließen des seriellen Port" + }, + + "usbDeviceOpened": { + "message": "USB Gerät erfolgreich mit folgender ID geöffnet: $1" + }, + "usbDeviceOpenFail": { + "message": "Fehler beim öffnen des USB Gerätes!" + }, + "usbDeviceClosed": { + "message": "USB Gerät erfolgreich geschlossen" + }, + "usbDeviceCloseFail": { + "message": "Fehler beim schliepen des USB Gerätes!" + }, + "usbDeviceUdevNotice": { + "message": "Sind die udev rules correct installiert? Beachte die Doku für Hinweise" + }, + + "noConfigurationReceived": { + "message": "Keine Konfiguration in den letzten 10 Sekunden erhalten, Kommunikation fehlgeschlagen" + }, + "firmwareVersionNotSupported": { + "message": "Diese Firmware Version ist nicht untertützt. Bitte auf eine Firmware updaten, die die api Version $1 oder höher unterstützt. CLI nutzen um Backups vor dem Flashen zu erstellen. CLI Sichern/Wiederherstellen-Prozedur ist in der Dokumentation erklärt." + }, + + "tabSwitchConnectionRequired": { + "message": "Du musst dich verbinden, bevor die Tabs sichtbar werden." + }, + "tabSwitchWaitForOperation": { + "message": "Diese Aktion ist gerade nicht möglich. Bitte warten, bis die aktuelle Aktion abgeschlossen ist ..." + }, + + "tabSwitchUpgradeRequired": { + "message": "Die Firmware benötigt ein Update, bevor der $1 Tab sichtbar wird." + }, + "firmwareVersion": { + "message": "Firmware Version: $1" + }, + "apiVersionReceived": { + "message": "MultiWii API Version empfangen - $1" + }, + "uniqueDeviceIdReceived": { + "message": "Einzigartige Geräte ID empfangen - 0x$1" + }, + "boardInfoReceived": { + "message": "Board: $1, Version: $2" + }, + "buildInfoReceived": { + "message": "Running firmware released on: $1" + }, + "fcInfoReceived": { + "message": "Flugcontroller Info, identifier: $1, Version: $2" + }, + + "notifications_app_just_updated_to_version": { + "message": "Application just updated to version: $1" + }, + "notifications_click_here_to_start_app": { + "message": "Hier klicken um die Anwendung zu starten" + }, + + "statusbar_port_utilization": { + "message": "Port Nutzung:" + }, + "statusbar_usage_download": { + "message": "D: $1%" + }, + "statusbar_usage_upload": { + "message": "U: $1%" + }, + "statusbar_packet_error": { + "message": "Paket Error:" + }, + "statusbar_i2c_error": { + "message": "I2C error:" + }, + "statusbar_cycle_time": { + "message": "Zyklus Zeit:" + }, + + "dfu_connect_message": { + "message": "Bitte den Firmware Flasher nutzen um die DFU-Geräte zu erreichen" + }, + "dfu_erased_kilobytes": { + "message": "Erfolgreich $1 kB Flash-Speicher gelöscht " + }, + "dfu_device_flash_info": { + "message": "Gerät mit insgesamt $1 kiB Flash-Speicher detektiert" + }, + "dfu_error_image_size": { + "message": "Fehler: Das bereitgestellte Abbild ist größer als der verfügbare Chip-Speicher! Abbild: $1 kiB, Limit = $2 kiB" + }, + + "eeprom_saved_ok": { + "message": "EEPROM gespeichert" + }, + + "defaultWelcomeIntro": { + "message": "Willkommen zum Cleanflight - Configurator, einem Tool zum vereinfachten updaten, konfigurieren und tunen deines Flugcontrollers." + }, + + "defaultWelcomeText": { + "message": "The application supports all hardware that can run cleanflight (SPRacingF3, Vortex, Sparky, DoDo, CC3D/EVO, Air Hero 32, Flip32/+/Deluxe, DragonFly32, CJMCU Microquad, Chebuzz F3, STM32F3Discovery, Hermit, Naze32 Tricopter Frame, Skyline32, Naze/32/Mini/Pro/Blackbox etc)

The firmware source code can be downloaded from here
The newest binary firmware image is available here, development builds available here

Latest CP210x Drivers can be downloaded from here
Latest STM USB VCP Drivers can be downloaded from here
Latest Zadig for Windows DFU flashing can be downloaded from here
" + }, + "defaultContributingHead": { + "message": "Contributing" + }, + "defaultContributingText": { + "message": "If you would like to help make Cleanflight even better you can help in many ways, including:
" + }, + "defaultChangelogHead": { + "message": "Configurator - Changelog" + }, + "defaultButtonFirmwareFlasher": { + "message": "Firmware Flasher" + }, + "defaultDonateHead": { + "message": "Open Source / Spendenhinweis" + }, + "defaultDonateText": { + "message": "This utility is fully open source and is available free of charge to all cleanflight users.
If you found the cleanflight or cleanflight configurator useful, please consider supporting its development by donating." + }, + "defaultSponsorsHead": { + "message": "Sponsoren" + }, + "defaultDocumentationHead": { + "message": "Dokumentation / Anleitung" + }, + "defaultDocumentation": { + "message": "Cleanflight documentation is available in Markdown and PDF formats.

" + }, + "defaultDocumentation1": { + "message": "The PDF manual appropriate to the firmware can be downloaded from the github releases page, here." + }, + "defaultDocumentation2": { + "message": "The Markdown latest online documentation is available here - you can switch to the appropriate version of the documentation by selecting the tag." + }, + "defaultSupportHead": { + "message": "Support" + }, + "defaultSupportSubline1": { + "message": "Support Sources" + }, + "defaultSupportSubline2": { + "message": "Entwickler" + }, + "defaultSupport": { + "message": "Für Support bitte zuerst die Foren und Verkäufer kontaktieren.

" + }, + "defaultSupport1": { + "message": "RC Groups thread" + }, + "defaultSupport2": { + "message": "MultiWii forums thread" + }, + "defaultSupport3": { + "message": "GitHub" + }, + "defaultSupport4": { + "message": "IRC channel on freenode" + }, + "defaultSupport5": { + "message": "Join via WebClient" + }, + + "initialSetupBackupAndRestoreApiVersion": { + "message": "Sirchern und Wiederherstellen deaktiviert. Du besitzt eine Firmware mit der API version $1, Sichern und Wiederherstellen benötigt $2. Bitte die Einstellungen per CLI sichern. Eine Anleitung dazu befindet sich in der Dokumentation." + }, + "initialSetupButtonCalibrateAccel": { + "message": "Beschleunigungssensor kalibrieren" + }, + "initialSetupCalibrateAccelText": { + "message": "Board oder Rahmen auf eine ebene Oberfläche legen und sicherstellen, dass sich der Multirotor bei der Kalibrierung nicht bewegt!" + }, + "initialSetupButtonCalibrateMag": { + "message": "Magnetfeldsensor kalibrieren" + }, + "initialSetupCalibrateMagText": { + "message": "Den Multirotor mindestens um 360 Grad um alle Achsen drehen. Du hast dafür 30 Sekunden zeit." + }, + "initialSetupButtonReset": { + "message": "Einstellungen zurücksetzen" + }, + "initialSetupResetText": { + "message": "Einstellungen auf die Standardwerte zurücksetzen" + }, + "initialSetupButtonBackup": { + "message": "Sichern" + }, + "initialSetupButtonRestore": { + "message": "Wiederherstellen" + }, + "initialSetupBackupRestoreText": { + "message": "Sichert die Konfiguration für den Fall eines Fehlers, CLI Einstellungen sind nicht eingeschlossen - Siehe 'dump' cli Kommando" + }, + "initialSetupBackupSuccess": { + "message": "Backup erfolgreich gespeichert" + }, + "initialSetupRestoreSuccess": { + "message": "Konfiguration erfolgreich wiederhersgestellt" + }, + "initialSetupButtonResetZaxis": { + "message": "Z Achse zurücksetzen, Offset: 0 deg" + }, + "initialSetupButtonResetZaxisValue": { + "message": "Z Achse zurücksetzen, Offset: $1 deg" + }, + "initialSetupMixerHead": { + "message": "Mixer Typ" + }, + "initialSetupThrottleHead": { + "message": "Throttle Eintellungen" + }, + "initialSetupMinimum": { + "message": "Minimum:" + }, + "initialSetupMaximum": { + "message": "Maximum:" + }, + "initialSetupFailsafe": { + "message": "Ausfallsicherung:" + }, + "initialSetupMinCommand": { + "message": "MinCommand:" + }, + "initialSetupBatteryHead": { + "message": "Batterie" + }, + "initialSetupMinCellV": { + "message": "Min Zellspannung:" + }, + "initialSetupMaxCellV": { + "message": "Max Zellspannung:" + }, + "initialSetupVoltageScale": { + "message": "Spannung Skalierung:" + }, + "initialSetupAccelTrimsHead": { + "message": "Beschleunigungssensor Trimmung" + }, + "initialSetupPitch": { + "message": "Pitch:" + }, + "initialSetupRoll": { + "message": "Roll:" + }, + "initialSetupMagHead": { + "message": "Magnetfeldsensor" + }, + "initialSetupDeclination": { + "message": "Deklination:" + }, + "initialSetupInfoHead": { + "message": "Info" + }, + "initialSetupBattery": { + "message": "Batterie Spannung:" + }, + "initialSetupBatteryValue": { + "message": "$1 V" + }, + "initialSetupDrawn": { + "message": "Kapazität Verbrauch:" + }, + "initialSetupDrawing": { + "message": "Strom Verbrauch:" + }, + "initialSetupBatteryMahValue": { + "message": "$1 mAh" + }, + "initialSetupBatteryAValue": { + "message": "$1 A" + }, + "initialSetupRSSI": { + "message": "RSSI:" + }, + "initialSetupRSSIValue": { + "message": "$1 %" + }, + "initialSetupGPSHead": { + "message": "GPS" + }, + "initialSetupInstrumentsHead": { + "message": "Instrumente" + }, + "initialSetupButtonSave": { + "message": "Speichern" + }, + "initialSetupModel": { + "message": "Modell: $1" + }, + "initialSetupAttitude": { + "message": "$1 deg" + }, + "initialSetupAccelCalibStarted": { + "message": "Beschleunigungssensor Kalibrierung gestartet" + }, + "initialSetupAccelCalibEnded": { + "message": "Beschleunigungssensor Kalibrierung beendet" + }, + "initialSetupMagCalibStarted": { + "message": "Magnetfeldsensor Kalibrierung gestartet" + }, + "initialSetupMagCalibEnded": { + "message": "Magnetfeldsensor Kalibrierung beendet" + }, + "initialSetupSettingsRestored": { + "message": "Einstellungen auf die Standardwerte zurückgesetzt" + }, + "initialSetupEepromSaved": { + "message": "EEPROM gesichert" + }, + + "featureRX_PPM": { + "message": "PPM RX Eingang" + }, + "featureVBAT": { + "message": "Batteriespannung Auswertung" + }, + "featureINFLIGHT_ACC_CAL": { + "message": "Level Kalibrierung während des Fluges" + }, + "featureRX_SERIAL": { + "message": "Serial-basierte Empfänger (SPEKSAT, SBUS, SUMD)" + }, + "featureMOTOR_STOP": { + "message": "Motoren nicht drehen, wenn gearmed" + }, + "featureSERVO_TILT": { + "message": "Servo Gimbal (Nutzt Motor Pins 1-2)" + }, + "featureSOFTSERIAL": { + "message": "CPU basierte serielle Ports aktivieren" + }, + "featureSOFTSERIALTip": { + "message": "Port nach der Aktiverung im Port-Tab konfigurieren." + }, + "featureGPS": { + "message": "GPS für Navigation und Telemetriea" + }, + "featureGPSTip": { + "message": "Zuerst Port-Konfiguration vornehmen" + }, + "featureFAILSAFE": { + "message": "Apply failsafe settings on RX signal loss" + }, + "featureSONAR": { + "message": "Ultraschall/Sonar" + }, + "featureTELEMETRY": { + "message": "Telemetrie Ausgang" + }, + "featureCURRENT_METER": { + "message": "Batteriespannung Aufzeichnung" + }, + "feature3D": { + "message": "3D Modus (für umkehrbare ESCs)" + }, + "featureRX_PARALLEL_PWM": { + "message": "PWM RX input (one wire per channel)" + }, + "featureRX_MSP": { + "message": "MSP RX input (control via MSP port)" + }, + "featureRSSI_ADC": { + "message": "Analog RSSI input" + }, + "featureLED_STRIP": { + "message": "Multi-color RGB LED strip support" + }, + "featureDISPLAY": { + "message": "OLED Screen Display" + }, + "featureONESHOT125": { + "message": "ONESHOT ESC support" + }, + "featureONESHOT125Tip": { + "message": "Disconnect flight battery and remove props before enabling." + }, + "featureBLACKBOX": { + "message": "Blackbox flight data recorder" + }, + "featureBLACKBOXTip": { + "message": "Configure via the BlackBox tab after enabling." + }, + "featureCHANNEL_FORWARDING": { + "message": "Forward aux channels to servo outputs" + }, + "featureTRANSPONDER": { + "message": "Race Transponder" + }, + "featureTRANSPONDERTip": { + "message": "Configure via the Race Transponder tab after enabling." + }, + + "configurationFeatureEnabled": { + "message": "Aktiviert" + }, + "configurationFeatureName": { + "message": "Feature" + }, + "configurationFeatureDescription": { + "message": "Beschreibung" + }, + "configurationMixer": { + "message": "Mixer" + }, + "configurationFeatures": { + "message": "Andere Features" + }, + "configurationReceiver": { + "message": "Empfänger Modus" + }, + "configurationRSSI": { + "message": "RSSI (Signal Strength)" + }, + "configurationRSSIHelp": { + "message": "RSSI is a measurement of signal strength and is very handy so you know when your aircraft is going out of range or if it is suffering RF interference." + }, + "configurationEscFeatures": { + "message": "ESC/Motor Features" + }, + "configurationFeaturesHelp": { + "message": "Note: Not all combinations of features are valid. When the flight controller firmware detects invalid feature combinations conflicting features will be disabled.
Note: Configure serial ports before enabling the features that will use the ports." + }, + "configurationSerialRXHelp": { + "message": "Note: Remember to configure a Serial Port (via Ports tab) and choose a Serial Receiver Provider when using RX_SERIAL feature." + }, + "configurationBoardAlignment": { + "message": "Board and Sensor Alignment" + }, + "configurationBoardAlignmentRoll": { + "message": "Roll Degrees" + }, + "configurationBoardAlignmentPitch": { + "message": "Pitch Degrees" + }, + "configurationBoardAlignmentYaw": { + "message": "Yaw Degrees" + }, + "configurationSensorAlignmentGyro": { + "message": "GYRO Alignment" + }, + "configurationSensorAlignmentAcc": { + "message": "ACCEL Alignment" + }, + "configurationSensorAlignmentMag": { + "message": "MAG Alignment" + }, + "configurationAccelTrims": { + "message": "Accelerometer Trim" + }, + "configurationAccelTrimRoll": { + "message": "Accelerometer Roll Trim" + }, + "configurationAccelTrimPitch": { + "message": "Accelerometer Pitch Trim" + }, + "configurationMagDeclination": { + "message": "Magnetometer Declination [deg]" + }, + "configurationAutoDisarmDelay": { + "message": "Disarm motors after set delay(Seconds) (Requires MOTOR_STOP feature)" + }, + "configurationDisarmKillSwitch": { + "message": "Disarm motors regardless of throttle value (When arming via AUX channel)" + }, + "configurationThrottleMinimum": { + "message": "Minimum Throttle" + }, + "configurationThrottleMid": { + "message": "Middle Throttle [RC inputs center value]" + }, + "configurationThrottleMaximum": { + "message": "Maximum Throttle" + }, + "configurationThrottleMinimumCommand": { + "message": "Minimum Command" + }, + "configurationBatteryVoltage": { + "message": "Battery Voltage" + }, + "configurationBatteryCurrent": { + "message": "Battery Current" + }, + "configurationBatteryMinimum": { + "message": "Minimale Zell-Spannung" + }, + "configurationBatteryMaximum": { + "message": "Maximale Zell-Spannung" + }, + "configurationBatteryWarning": { + "message": "Warning Cell Voltage" + }, + "configurationBatteryScale": { + "message": "Voltage Scale" + }, + "configurationCurrent": { + "message": "Strom Sensor" + }, + "configurationCurrentScale": { + "message": "Scale the output voltage to milliamps [1/10th mV/A]" + }, + "configurationCurrentOffset": { + "message": "Offset in millivolt steps" + }, + "configurationBatteryMultiwiiCurrent": { + "message": "Enable support for legacy Multiwii MSP current output" + }, + "configuration3d": { + "message": "3D" + }, + "configuration3dDeadbandLow": { + "message": "3D Deadband Low" + }, + "configuration3dDeadbandHigh": { + "message": "3D Deadband High" + }, + "configuration3dNeutral": { + "message": "3D Neutral" + }, + "configuration3dDeadbandThrottle": { + "message": "3D Deadband Throttle" + }, + "configurationSystem": { + "message": "System configuration" + }, + "configurationLoopTime": { + "message": "Flight Controller Loop Time" + }, + "configurationCalculatedCyclesSec": { + "message": "Cycles/Sec (Hz)" + }, + "configurationLoopTimeHelp": { + "message": "Note: Changing this may require PID re-tuning." + }, + "configurationGPS": { + "message": "GPS" + }, + "configurationGPSProtocol": { + "message": "Protocol" + }, + "configurationGPSBaudrate": { + "message": "Baudrate" + }, + "configurationGPSubxSbas": { + "message": "Ground Assistance Type" + }, + "configurationGPSHelp": { + "message": "Note: Remember to configure a Serial Port (via Ports tab) when using GPS feature." + }, + "configurationSerialRX": { + "message": "Serial Receiver Provider" + }, + "configurationEepromSaved": { + "message": "EEPROM saved" + }, + "configurationButtonSave": { + "message": "Save and Reboot" + }, + + "portsHelp": { + "message": "Note: not all combinations are valid. When the flight controller firmware detects this the serial port configuration will be reset." + }, + "portsMSPHelp": { + "message": "Note: Do NOT disable MSP on the first serial port unless you know what you are doing. You may have to reflash and erase your configuration if you do." + }, + "portsFirmwareUpgradeRequired": { + "message": "Firmware upgrade required. Serial port configurations of firmware < 1.8.0 is not supported." + }, + "portsButtonSave": { + "message": "Save and Reboot" + }, + "portsTelemetryDisabled": { + "message": "Disabled" + }, + "portsFunction_MSP": { + "message": "MSP" + }, + "portsFunction_GSP": { + "message": "GSP" + }, + "portsFunction_TELEMETRY_FRSKY": { + "message": "FrSky" + }, + "portsFunction_TELEMETRY_HOTT": { + "message": "HoTT" + }, + "portsFunction_TELEMETRY_LTM": { + "message": "LTM" + }, + "portsFunction_TELEMETRY_MAVLINK": { + "message": "MAVLink" + }, + "portsFunction_TELEMETRY_MSP": { + "message": "MSP" + }, + "portsFunction_TELEMETRY_SMARTPORT": { + "message": "SmartPort" + }, + "portsFunction_RX_SERIAL": { + "message": "Serial RX" + }, + "portsFunction_BLACKBOX": { + "message": "Blackbox" + }, + + "pidTuningUpgradeFirmwareToChangePidController": { + "message": "Changing PID controller disabled - you can change it via the CLI. You have firmware with API version $1, but this functionality requires requires $2." + }, + "pidTuningName": { + "message": "Name" + }, + "pidTuningProportional": { + "message": "Proportional" + }, + "pidTuningIntegral": { + "message": "Integral" + }, + "pidTuningDerivative": { + "message": "Derivative" + }, + "pidTuningRollPitchRate": { + "message": "ROLL & PITCH rate" + }, + "pidTuningRollRate": { + "message": "ROLL rate" + }, + "pidTuningPitchRate": { + "message": "PITCH rate" + }, + "pidTuningYawRate": { + "message": "YAW rate" + }, + "pidTuningTPA": { + "message": "TPA" + }, + "pidTuningTPABreakPoint": { + "message": "TPA Breakpoint" + }, + "pidTuningButtonSave": { + "message": "Save" + }, + "pidTuningButtonRefresh": { + "message": "Refresh" + }, + "pidTuningProfileHead": { + "message": "Profile" + }, + "pidTuningControllerHead": { + "message": "PID Controller" + }, + "pidTuningLoadedProfile": { + "message": "Loaded Profile: $1" + }, + "pidTuningDataRefreshed": { + "message": "PID data refreshed" + }, + "pidTuningEepromSaved": { + "message": "EEPROM saved" + }, + + "receiverHelp": { + "message": "Please read receiver chapter of the documentation. Configure serial port (if required), receiver mode (serial/ppm/pwm), provider (for serial receivers), bind receiver, set channel map, configure channel endpoints/range on TX so that all channels go from ~1000 to ~2000. Set midpoint (default 1500), trim channels to 1500, configure stick deadband, verify behaviour when TX is off or out of range.
IMPORTANT: Before flying read failsafe chapter of documentation and configure failsafe." + }, + "receiverThrottleMid": { + "message": "Throttle MID" + }, + "receiverThrottleExpo": { + "message": "Throttle EXPO" + }, + "receiverRcRate": { + "message": "RC Rate" + }, + "receiverDeadband": { + "message": "RC Deadband" + }, + "receiverHelpDeadband": { + "message": "These are values (in us) by how much RC input can be different before it's considered valid. For transmitters with jitter on outputs, this value can be increased if rc inputs twitch while idle." + }, + "receiverHelpYawDeadband": { + "message": "These are values (in us) by how much RC input can be different before it's considered valid. For transmitters with jitter on outputs, this value can be increased if rc inputs twitch while idle. This setting is for Yaw only." + }, + "receiverYawDeadband": { + "message": "Yaw Deadband" + }, + "receiverRcExpo": { + "message": "RC Expo" + }, + "receiverRcYawExpo": { + "message": "RC Yaw Expo" + }, + "receiverChannelMap": { + "message": "Channel Map" + }, + "receiverChannelMapTitle": { + "message": "You can define your own channel map by clicking inside the box" + }, + "receiverRssiChannel": { + "message": "RSSI Channel" + }, + "receiverRefreshRateTitle": { + "message": "Graph refresh rate" + }, + "receiverButtonSave": { + "message": "Save" + }, + "receiverButtonRefresh": { + "message": "Refresh" + }, + "receiverButtonSticks": { + "message": "Control sticks" + }, + "receiverDataRefreshed": { + "message": "RC Tuning data refreshed" + }, + "receiverEepromSaved": { + "message": "EEPROM saved" + }, + + "auxiliaryHelp": { + "message": "Use ranges to define the switches on your transmitter and corresponding mode assignments. A receiver channel that gives a reading between a range min/max will activate the mode. Remember to save your settings using the Save button." + }, + "auxiliaryMin": { + "message": "Min" + }, + "auxiliaryMax": { + "message": "Max" + }, + "auxiliaryAddRange": { + "message": "Add Range" + }, + "auxiliaryButtonSave": { + "message": "Save" + }, + "auxiliaryEepromSaved": { + "message": "EEPROM saved" + }, + + "adjustmentsHelp": { + "message": "Configure adjustment switches. See the 'in-flight adjustments' section of the manual for details. The changes that adjustment functions make are not saved automatically. There are 4 slots. Each switch used to concurrently make adjustments requires exclusive use of a slot." + }, + "adjustmentsExamples": { + "message": "Examples" + }, + "adjustmentsExample1": { + "message": "Use Slot 1 and a 3POS switch on AUX1 to select between Pitch/Roll P, I and D and another 3POS switch on AUX2 to increase or decrease the value when held up or down." + }, + "adjustmentsExample2": { + "message": "Use Slot 2 and a 3POS switch on AUX4 to select enable Rate Profile Selection via the same 3POS switch on the same channel." + }, + "adjustmentsColumnEnable": { + "message": "If enabled" + }, + "adjustmentsColumnUsingSlot": { + "message": "using slot" + }, + "adjustmentsColumnWhenChannel": { + "message": "when channel" + }, + "adjustmentsColumnIsInRange": { + "message": "is in range" + }, + "adjustmentsColumnThenApplyFunction": { + "message": "then apply" + }, + "adjustmentsColumnViaChannel": { + "message": "via channel" + }, + "adjustmentsSlot0": { + "message": "Slot 1" + }, + "adjustmentsSlot1": { + "message": "Slot 2" + }, + "adjustmentsSlot2": { + "message": "Slot 3" + }, + "adjustmentsSlot3": { + "message": "Slot 4" + }, + "adjustmentsMin": { + "message": "Min" + }, + "adjustmentsMax": { + "message": "Max" + }, + "adjustmentsFunction0": { + "message": "No changes" + }, + "adjustmentsFunction1": { + "message": "RC Rate Adjustment" + }, + "adjustmentsFunction2": { + "message": "RC Expo Adjustment" + }, + "adjustmentsFunction3": { + "message": "Throttle Expo Adjustment" + }, + "adjustmentsFunction4": { + "message": "Pitch & Roll Rate Adjustment" + }, + "adjustmentsFunction5": { + "message": "Yaw Rate Adjustment" + }, + "adjustmentsFunction6": { + "message": "Pitch & Roll P Adjustment" + }, + "adjustmentsFunction7": { + "message": "Pitch & Roll I Adjustment" + }, + "adjustmentsFunction8": { + "message": "Pitch & Roll D Adjustment" + }, + "adjustmentsFunction9": { + "message": "Yaw P Adjustment" + }, + "adjustmentsFunction10": { + "message": "Yaw I Adjustment" + }, + "adjustmentsFunction11": { + "message": "Yaw D Adjustment" + }, + "adjustmentsFunction12": { + "message": "Rate Profile Selection" + }, + "adjustmentsFunction13": { + "message": "Pitch Rate" + }, + "adjustmentsFunction14": { + "message": "Roll Rate" + }, + "adjustmentsFunction15": { + "message": "Pitch P Adjustment" + }, + "adjustmentsFunction16": { + "message": "Pitch I Adjustment" + }, + "adjustmentsFunction17": { + "message": "Pitch D Adjustment" + }, + "adjustmentsFunction18": { + "message": "Roll P Adjustment" + }, + "adjustmentsFunction19": { + "message": "Roll I Adjustment" + }, + "adjustmentsFunction20": { + "message": "Roll D Adjustment" + }, + "adjustmentsFunction21": { + "message": "Alt P Adjustment" + }, + "adjustmentsFunction22": { + "message": "Alt I Adjustment" + }, + "adjustmentsFunction23": { + "message": "Alt D Adjustment" + }, + "adjustmentsFunction24": { + "message": "Vel P Adjustment" + }, + "adjustmentsFunction25": { + "message": "Vel I Adjustment" + }, + "adjustmentsFunction26": { + "message": "Vel D Adjustment" + }, + "adjustmentsFunction27": { + "message": "MAG P Adjustment" + }, + "adjustmentsFunction28": { + "message": "Pos P Adjustment" + }, + "adjustmentsFunction29": { + "message": "Pos I Adjustment" + }, + "adjustmentsFunction30": { + "message": "PosR P Adjustment" + }, + "adjustmentsFunction31": { + "message": "PosR I Adjustment" + }, + "adjustmentsFunction32": { + "message": "PosR D Adjustment" + }, + "adjustmentsFunction33": { + "message": "NavR P Adjustment" + }, + "adjustmentsFunction34": { + "message": "NavR I Adjustment" + }, + "adjustmentsFunction35": { + "message": "NavR D Adjustment" + }, + "adjustmentsFunction36": { + "message": "Level P Adjustment" + }, + "adjustmentsFunction37": { + "message": "Level I Adjustment" + }, + "adjustmentsFunction38": { + "message": "Level D Adjustment" + }, + "adjustmentsSave": { + "message": "Save" + }, + "adjustmentsEepromSaved": { + "message": "EEPROM saved" + }, + + "transponderNotSupported": { + "message": "Your flight controller's firmware does not support transponder functionality." + }, + "transponderHelp": { + "message": "Configure your transponder code here. Note: Only valid codes will be recognised by race timing systems. Valid transponder codes can be obtained from Seriously Pro." + }, + "transponderInformation": { + "message": "Transponders systems allow race organizers to time your laps. The transponder is fitted to your aircraft and when your aircraft passes the timing gate the track-side receiver registers your code and records your laptime. When fitting an IR based transponder your should ensure that it points outward from your aircraft towards the track-side receivers and that the light beam is not obstructed by your airframe, battery-straps, cables, propellers, etc." + }, + "transponderConfiguration": { + "message": "Configuration" + }, + "transponderData": { + "message": "Data" + }, + "transponderDataHelp": { + "message": "Hexadecimal digits only, 0-9, A-F" + }, + "transponderButtonSave": { + "message": "Save" + }, + "transponderDataInvalid": { + "message": "Transponder data is invalid" + }, + "transponderEepromSaved": { + "message": "EEPROM saved" + }, + + "servosFirmwareUpgradeRequired": { + "message": "Servos requires firmware >= 1.10.0. and target support." + }, + "servosChangeDirection": { + "message": "Change Direction in TX To Match" + }, + "servosName": { + "message": "Name" + }, + "servosMid": { + "message": "MID" + }, + "servosMin": { + "message": "MIN" + }, + "servosMax": { + "message": "MAX" + }, + "servosAngleAtMin": { + "message": "Angle at min" + }, + "servosAngleAtMax": { + "message": "Angle at max" + }, + "servosDirectionAndRate": { + "message": "Direction and rate" + }, + "servosLiveMode": { + "message": "Enable Live mode" + }, + "servosButtonSave": { + "message": "Save" + }, + "servosNormal": { + "message": "Normal" + }, + "servosReverse": { + "message": "Reverse" + }, + "servosEepromSave": { + "message": "EEPROM saved" + }, + + "gpsHead": { + "message": "GPS" + }, + "gpsMapHead": { + "message": "Current GPS location" + }, + "gpsMapMessage1": { + "message": "Please check your internet connection" + }, + "gpsMapMessage2": { + "message": "Waiting for GPS 3D fix…" + }, + "gps3dFix": { + "message": "3D Fix:" + }, + "gpsFixTrue": { + "message": "True" + }, + "gpsFixFalse": { + "message": "False" + }, + "gpsAltitude": { + "message": "Altitude:" + }, + "gpsLat": { + "message": "Latitude:" + }, + "gpsLon": { + "message": "Longitude:" + }, + "gpsSpeed": { + "message": "Speed:" + }, + "gpsSats": { + "message": "Sats:" + }, + "gpsDistToHome": { + "message": "Dist to Home:" + }, + "gpsSignalStrHead": { + "message": "GPS Signal Strength" + }, + "gpsSignalStr": { + "message": "Signal Strength" + }, + + "motorsMaster": { + "message": "Master" + }, + "motorsNotice": { + "message": "Motor Test Mode Notice:
Moving the sliders will cause the motors to spin up.
In order to prevent injury remove ALL propellers before using this feature.
" + }, + "motorsEnableControl": { + "message": "I understand the risks, propellers are removed - Enable motor control." + }, + + "sensorsInfo": { + "message": "Keep in mind that using fast update periods and rendering multiple graphs at the same time is resource heavy and will burn your battery quicker if you use a laptop.
We recommend to only render graphs for sensors you are interested in while using reasonable update periods." + }, + "sensorsRefresh": { + "message": "Refresh:" + }, + "sensorsScale": { + "message": "Scale:" + }, + + "cliInfo": { + "message": "Note: Leaving CLI tab or pressing Disconnect will automatically send \"exit\" to the board. With the latest firmware this will make the controller restart and unsaved changes will be lost." + }, + "cliInputPlaceholder": { + "message": "Write your command here" + }, + "cliEnter": { + "message": "CLI mode detected" + }, + "cliReboot": { + "message": "CLI reboot detected" + }, + + "loggingNote": { + "message": "Data will be logged in this tab only, leaving the tab will cancel logging and application will return to its normal \"configurator\" state.
You are free to select the global update period, data will be written into the log file every 1 second for performance reasons." + }, + "loggingSamplesSaved": { + "message": "Samples Saved:" + }, + "loggingLogSize": { + "message": "Log Size:" + }, + "loggingButtonLogFile": { + "message": "Select Log File" + }, + "loggingStart": { + "message": "Start Logging" + }, + "loggingStop": { + "message": "Stop Logging" + }, + "loggingBack": { + "message": "Leave Logging / Disconnect" + }, + "loggingErrorNotConnected": { + "message": "You need to connect first" + }, + "loggingErrorLogFile": { + "message": "Please select log file" + }, + "loggingErrorOneProperty": { + "message": "Please select at least one property to log" + }, + "loggingAutomaticallyRetained": { + "message": "Automatically loaded previous log file: $1" + }, + + "blackboxNotSupported": { + "message": "Your flight controller's firmware does not support Blackbox logging." + }, + "blackboxMaybeSupported": { + "message": "Your flight controller's firmware is too old to support this tab, or the Blackbox feature is disabled on the Configuration tab." + }, + "blackboxConfiguration": { + "message": "Blackbox configuration" + }, + "blackboxButtonSave": { + "message": "Save and reboot" + }, + + "serialLoggingSupportedNote": { + "message": "You can log to an external logging device (such as an OpenLog or compatible clone) by using a serial port. Configure the port on the Ports tab." + }, + "sdcardNote": { + "message": "Flight logs can be recorded to your flight controller's onboard SD card slot." + }, + + "dataflashNote": { + "message": "Flight logs can be recorded to your flight controller's onboard dataflash chip." + }, + "dataflashNotPresentNote": { + "message": "Your flight controller does not have a compatible dataflash chip available." + }, + "dataflashFirmwareUpgradeRequired": { + "message": "Dataflash requires firmware >= 1.8.0." + }, + "dataflashButtonSaveFile": { + "message": "Save flash to file..." + }, + "dataflashButtonErase": { + "message": "Erase flash" + }, + "dataflashConfirmEraseTitle": { + "message": "Confirm dataflash erase" + }, + "dataflashConfirmEraseNote": { + "message": "This will erase any Blackbox logs or other data contained in the dataflash which will take about 20 seconds, are you sure?" + }, + "dataflashSavingTitle": { + "message": "Saving dataflash to file" + }, + "dataflashSavingNote": { + "message": "Saving could take several minutes, please wait." + }, + "dataflashSavingNoteAfter": { + "message": "Save completed! Press \"Ok\" to continue." + }, + "dataflashButtonSaveCancel": { + "message": "Cancel" + }, + "dataflashButtonSaveDismiss": { + "message": "Ok" + }, + "dataflashButtonEraseConfirm": { + "message": "Yes, erase dataflash" + }, + "dataflashButtonEraseCancel": { + "message": "Cancel" + }, + "dataflashFileWriteFailed": { + "message": "Failed to write to the file you selected, are the permissions on that folder okay?" + }, + + "firmwareFlasherReleaseSummaryHead": { + "message": "Release info" + }, + "firmwareFlasherReleaseName": { + "message": "Name/Version:" + }, + "firmwareFlasherReleaseVersionUrl": { + "message": "Visit release page." + }, + "firmwareFlasherReleaseNotes": { + "message": "Release notes:" + }, + "firmwareFlasherReleaseDate": { + "message": "Date:" + }, + "firmwareFlasherReleaseStatus": { + "message": "State:" + }, + "firmwareFlasherReleaseTarget": { + "message": "Target:" + }, + "firmwareFlasherReleaseFile": { + "message": "Binary:" + }, + "firmwareFlasherReleaseStatusReleaseCandidate": { + "message": "IMPORTANT: This firmware release is currently marked as a release candidate. Please report any issues immediately." + }, + "firmwareFlasherReleaseFileUrl": { + "message": "Download manually." + }, + "firmwareFlasherTargetWarning": { + "message": "IMPORTANT: Ensure you flash a file appropriate for your target. Flashing a binary for the wrong target can cause bad things to happen." + }, + + "firmwareFlasherPath": { + "message": "Path:" + }, + "firmwareFlasherSize": { + "message": "Size:" + }, + "firmwareFlasherStatus": { + "message": "Status:" + }, + "firmwareFlasherProgress": { + "message": "Progress:" + }, + "firmwareFlasherLoadFirmwareFile": { + "message": "Please load firmware file" + }, + "firmwareFlasherNoReboot": { + "message": "No reboot sequence" + }, + "firmwareFlasherOnlineReleasesDescription": { + "message": "Available online firmware releases - Select the correct firmware appropriate for your board." + }, + "firmwareFlasherNoRebootDescription": { + "message": "Enable if you powered your FC while the bootloader pins are jumpered or have your FC's BOOT button pressed." + }, + "firmwareFlasherFlashOnConnect": { + "message": "Flash on connect" + }, + "firmwareFlasherFlashOnConnectDescription": { + "message": "Attempt to flash the board automatically (triggered by newly detected serial port)." + }, + "firmwareFlasherFullChipErase": { + "message": "Full chip erase" + }, + "firmwareFlasherFullChipEraseDescription": { + "message": "Wipes all configuration data currently stored on the board." + }, + "firmwareFlasherFlashDevelopmentFirmware": { + "message": "Use Development Firmware" + }, + "firmwareFlasherFlashDevelopmentFirmwareDescription": { + "message": "Flash most recent (untested) development firmware." + }, + "firmwareFlasherManualBaud": { + "message": "Manual baud rate" + }, + "firmwareFlasherManualBaudDescription": { + "message": "Manual selection of baud rate for boards that don't support the default speed or for flashing via bluetooth.
Note: Not used when flashing via USB DFU" + }, + "firmwareFlasherShowDevelopmentReleases":{ + "message": "Show unstable releases" + }, + "firmwareFlasherShowDevelopmentReleasesDescription":{ + "message": "Show Release-Candidates and Development Releases." + }, + "firmwareFlasherOptionLabelSelectFirmware": { + "message": "Choose a Firmware / Board" + }, + "firmwareFlasherButtonLoadLocal": { + "message": "Load Firmware [Local]" + }, + "firmwareFlasherButtonLoadOnline": { + "message": "Load Firmware [Online]" + }, + "firmwareFlasherFlashFirmware": { + "message": "Flash Firmware" + }, + "firmwareFlasherGithubInfoHead": { + "message": "Github Firmware Info" + }, + "firmwareFlasherCommiter": { + "message": "Committer:" + }, + "firmwareFlasherDate": { + "message": "Date:" + }, + "firmwareFlasherHash": { + "message": "Hash:" + }, + "firmwareFlasherUrl": { + "message": "Go to GitHub to review this commit..." + }, + "firmwareFlasherMessage": { + "message": "Message:" + }, + "firmwareFlasherWarningHead": { + "message": "Warning" + }, + "firmwareFlasherWarningText": { + "message": "Please do not try to flash non-cleanflight hardware with this firmware flasher.
Do not disconnect the board or turn off your computer while flashing.

Note: STM32 bootloader is stored in ROM, it cannot be bricked.
Note: Auto-Connect is always disabled while you are inside firmware flasher.
Note: Make sure you have a backup; some upgrades/downgrades will wipe your configuration.
Note: If you have problems flashing try disconnecting all cables from your FC first, try rebooting, upgrade chrome, upgrade drivers.
Note: When flashing boards that have directly connected USB sockets (SPRacingF3Mini, Sparky, ColibriRace, etc) ensure you have read the USB Flashing section of the Cleanflight manual and have the correct software and drivers installed" + }, + "firmwareFlasherRecoveryHead": { + "message": "Recovery / Lost communication" + }, + "firmwareFlasherRecoveryText": { + "message": "If you have lost communication with your board follow these steps to restore communication:
  • Power off
  • Enable 'No reboot sequence', enable 'Full chip erase'.
  • Jumper the BOOT pins or hold BOOT button.
  • Power on (activity LED will NOT flash if done correctly).
  • Install all STM32 drivers and Zadig if required (see USB Flashing section of cleanflight manual).
  • Close configurator, Close all running chrome instances, Close all Chrome apps, Restart Configurator.
  • Release BOOT button if your FC has one.
  • Flash with correct firmware (using manual baud rate if specified in your FC's manual).
  • Power off.
  • Remove BOOT jumper.
  • Power on (activity LED should flash).
  • Connect normally.
" + }, + "firmwareFlasherButtonLeave": { + "message": "Leave Firmware Flasher" + }, + "firmwareFlasherFirmwareNotLoaded": { + "message": "Firmware not loaded" + }, + "firmwareFlasherHexCorrupted": { + "message": "HEX file appears to be corrupted" + }, + "firmwareFlasherRemoteFirmwareLoaded": { + "message": "Remote Firmware loaded, ready for flashing" + }, + "firmwareFlasherFailedToLoadOnlineFirmware": { + "message": "Failed to load remote firmware" + }, + + "ledStripHelp": { + "message": "The flight controller can control colors and effects of individual LEDs on a strip.
Configure LEDs on the grid, configure wiring order then attach LEDs on your aircraft according to grid positions.
Double-click on a color to edit the HSV values." + }, + "ledStripButtonSave": { + "message": "Save" + }, + "ledStripEepromSaved": { + "message": "EEPROM saved" + }, + + "controlAxisRoll": { + "message": "Roll" + }, + "controlAxisPitch": { + "message": "Pitch" + }, + "controlAxisYaw": { + "message": "Yaw" + }, + "controlAxisThrottle": { + "message": "Throttle" + }, + "controlAxisAux1": { + "message": "AUX 1" + }, + "controlAxisAux2": { + "message": "AUX 2" + }, + "controlAxisAux3": { + "message": "AUX 3" + }, + "controlAxisAux4": { + "message": "AUX 4" + }, + "controlAxisAux5": { + "message": "AUX 5" + }, + "controlAxisAux6": { + "message": "AUX 6" + }, + "controlAxisAux7": { + "message": "AUX 7" + }, + "controlAxisAux8": { + "message": "AUX 8" + }, + "controlAxisAux9": { + "message": "AUX 9" + }, + "controlAxisAux10": { + "message": "AUX 10" + }, + "controlAxisAux11": { + "message": "AUX 11" + }, + "controlAxisAux12": { + "message": "AUX 12" + }, + "controlAxisAux13": { + "message": "AUX 13" + }, + "controlAxisAux14": { + "message": "AUX 14" + }, + "controlAxisAux15": { + "message": "AUX 15" + }, + "controlAxisAux16": { + "message": "AUX 16" + }, + + "pidTuningBasic": { + "message": "Basic/Acro" + }, + "pidTuningLevel": { + "message": "Angle/Horizon" + }, + "pidTuningAltitude": { + "message": "Barometer & Sonar/Altitude" + }, + "pidTuningMag": { + "message": "Magnometer/Heading" + }, + "pidTuningGps": { + "message": "GPS Navigation" + }, + "pidTuningLevelP": { + "message": "Strength (Angle)" + }, + "pidTuningLevelI": { + "message": "Strength (Horizon)" + }, + "pidTuningLevelD": { + "message": "Transition (Horizon)" + }, + "pidTuningLevelHelp": { + "message": "The values below change the behaviour of the ANGLE and HORIZON flight modes. Different PID controllers handle the LEVEL values differently. Please check the documentation." + }, + "configHelp2": { + "message": "Arbitrary board rotation in degrees, to allow mounting it sideways / upside down / rotated etc. When running external sensors, use the sensor alignments (Gyro, Acc, Mag) to define sensor position independent from board orientation. " + }, + "failsafeFeaturesHelpOld": { + "message": "Failsafe configuration has changed considerably. Use Cleanflight v1.12.0+ to enable the improved configuration panel." + }, + "failsafePaneTitleOld": { + "message": "Receiver failsafe" + }, + "failsafeFeatureItemOld": { + "message": "Failsafe settings on RX signal loss" + }, + "failsafeThrottleItemOld": { + "message": "Failsafe Throttle" + }, + "failsafeFeaturesHelpNew": { + "message": "Failsafe has two stages. Stage 1 is entered when a flightchannel has an invalid pulse length, the receiver reports failsafe mode or there is no signal from the receiver at all, the channel fallback settings are applied to all channels and a short amount of time is provided to allow for recovery. Stage 2 is entered when the error condition takes longer than the configured guard time while the craft is armed, all channels will remain at the applied channel fallback setting unless overruled by the chosen procedure.
Note: Prior to entering stage 1, channel fallback settings are also applied to individual AUX channels that have invalid pulses." + }, + "failsafePulsrangeTitle": { + "message": "Valid Pulse Range Settings" + }, + "failsafePulsrangeHelp": { + "message": "Pulses shorter than minimum or longer than maximum are invalid and will trigger application of individual channel fallback settings for AUX channels or entering stage 1 for flightchannels" + }, + "failsafeRxMinUsecItem": { + "message": "Minimum length" + }, + "failsafeRxMaxUsecItem": { + "message": "Maximum length" + }, + "failsafeChannelFallbackSettingsTitle": { + "message": "Channel Fallback Settings" + }, + "failsafeChannelFallbackSettingsHelp": { + "message": "These settings are applied to invalid individual AUX channels or to all channels when entering stage 1. Note: values are saved in steps of 25usec, so small changes disappear" + }, + "failsafeChannelFallbackSettingsAuto": { + "message": "Auto means Roll, Pitch and Yaw to center and Throttle low. Hold means maintain the last good value received" + }, + "failsafeChannelFallbackSettingsHold": { + "message": "Hold means maintain the last good value received. Set means the value given here will be used" + }, + "failsafeStageTwoSettingsTitle": { + "message": "Stage 2 - Settings" + }, + "failsafeFeatureItem": { + "message": "Failsafe Stage 2 enabled" + }, + "failsafeFeatureHelp": { + "message": "Note: When Stage 2 is DISABLED, the fallback setting Auto is used instead of the user settings for all flightchannels (Roll, Pitch, Yaw and Throttle)." + }, + "failsafeDelayItem": { + "message": "Guard time for stage 2 activation after signal lost [1 = 0.1 sec.]" + }, + "failsafeDelayHelp": { + "message": "Time for stage 1 to wait for recovery" + }, + "failsafeThrottleLowItem": { + "message": "Failsafe Throttle Low Delay [1 = 0.1 sec.]" + }, + "failsafeThrottleLowHelp": { + "message": "Just disarm the craft instead of executing the selected failsafe procedure when the throttle was low for this amount of time" + }, + "failsafeThrottleItem": { + "message": "Throttle value used while landing" + }, + "failsafeOffDelayItem": { + "message": "Delay for turning off the Motors during Failsafe [1 = 0.1 sec.]" + }, + "failsafeOffDelayHelp": { + "message": "Time to stay in landing mode untill the motors are turned off and the craft is disarmed" + }, + "failsafeSubTitle1": { + "message": "Stage 2 - Failsafe Procedure" + }, + "failsafeProcedureItemSelect1": { + "message": "Land" + }, + "failsafeProcedureItemSelect2": { + "message": "Drop" + }, + "failsafeKillSwitchItem": { + "message": "Failsafe Kill Switch (setup Failsafe in Modes Tab)" + }, + "failsafeKillSwitchHelp": { + "message": "Set this option to make the failsafe switch, configured in the modes tab, act as a direct kill switch, bypassing the selected failsafe procedure. Note: Arming is blocked with the failsafe kill switch in the ON position" + }, + "mainHelpArmed": { + "message": "Motor Arming" + }, + "mainHelpFailsafe": { + "message": "Failsafe Mode" + }, + "mainHelpLink": { + "message": "Serial Link Status" + }, + "configHelp3": { + "message": "Configure port scenario first before selecting a serial-based receiver." + }, + "featureSERVO_TILTTip": { + "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Motor pins 1-2 are used for gimbal if active! Use pins 3-6 for motors. " + } +} From a0a5cb57b474195a680502b010450ce205b10282 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20V=C3=B6lker?= Date: Sun, 19 Jun 2016 11:25:20 +0200 Subject: [PATCH 22/71] Deleted german translation-file. Mistake... --- _locales/de/messages.json | 1642 ------------------------------------- 1 file changed, 1642 deletions(-) delete mode 100755 _locales/de/messages.json diff --git a/_locales/de/messages.json b/_locales/de/messages.json deleted file mode 100755 index c3c5574da..000000000 --- a/_locales/de/messages.json +++ /dev/null @@ -1,1642 +0,0 @@ -{ - "translation_version": { - "message": "0" - }, - - "options_title": { - "message": "Anwendungsoptionen" - }, - "options_receive_app_notifications": { - "message": "Erhalte Benachrichtigungen, wenn Updates verfügbar sind" - }, - "options_improve_configurator": { - "message": "Sende anonyme Nutzugsdaten an das Entwickler-Team" - }, - - "connect": { - "message": "Verbinden" - }, - "connecting": { - "message": "Verbinde" - }, - "disconnect": { - "message": "Trennen" - }, - "autoConnect": { - "message": "Auto-Connect" - }, - "autoConnectEnabled": { - "message": "Auto-Connect: Aktiviert - Configurator versucht automatische Verbindung herzustellen, wenn Port erkannt" - }, - "autoConnectDisabled": { - "message": "Auto-Connect: Deaktiviert - Der Nutzer muss den korrekten seriellen Port selbst wählen und den \"Verbinden\" Knopf drücken" - }, - "deviceRebooting": { - "message": "Gerät - Startet neu" - }, - "deviceReady": { - "message": "Gerät - Bereit" - }, - - "backupFileIncompatible": { - "message": "Die Backupdatei wurde mit einer vorherigen Configurator-Version erstellt und ist leider inkompatibel. Sorry." - }, - - "backupFileUnmigratable": { - "message": "Die Backupdatei wurde mit einer vorherigen Configurator-Version erstellt und kann nicht migriert werden. Sorry." - }, - - "configMigrationFrom": { - "message": "Migriere Konfigurationsdatei: $1" - }, - "configMigratedTo": { - "message": "Migrated configuration to configurator: $1" - }, - "configMigrationSuccessful": { - "message": "Configuration migration complete, migrations applied: $1" - }, - - "tabFirmwareFlasher": { - "message": "Firmware Flasher" - }, - "tabLanding": { - "message": "Willkommen" - }, - "tabHelp": { - "message": "Dokumentation & Support" - }, - - "tabSetup": { - "message": "Setup" - }, - "tabConfiguration": { - "message": "Konfiguration" - }, - "tabPorts": { - "message": "Ports" - }, - "tabPidTuning": { - "message": "PID Tuning" - }, - "tabReceiver": { - "message": "Receiver" - }, - "tabModeSelection": { - "message": "Modus Auswahl" - }, - "tabServos": { - "message": "Servos" - }, - "tabFailsafe": { - "message": "Failsafe" - }, - "tabTransponder": { - "message": "Race Transponder" - }, - "tabGPS": { - "message": "GPS" - }, - "tabMotorTesting": { - "message": "Motoren" - }, - "tabLedStrip": { - "message": "LED Strip" - }, - "tabRawSensorData": { - "message": "Sensoren" - }, - "tabCLI": { - "message": "CLI" - }, - "tabLogging": { - "message": "Tethered Logging" - }, - "tabOnboardLogging": { - "message": "Blackbox" - }, - "tabAdjustments": { - "message": "Anpassungen" - }, - "tabAuxiliary": { - "message": "Modi" - }, - - "serialPortOpened": { - "message": "Serial port erfolgreich mit folgender ID geöffnet: $1" - }, - "serialPortOpenFail": { - "message": "Fehler beim öffnen des seriellen Port" - }, - "serialPortClosedOk": { - "message": "Serial port erfolgreich geschlossen" - }, - "serialPortClosedFail": { - "message": "Fehler beim schließen des seriellen Port" - }, - - "usbDeviceOpened": { - "message": "USB Gerät erfolgreich mit folgender ID geöffnet: $1" - }, - "usbDeviceOpenFail": { - "message": "Fehler beim öffnen des USB Gerätes!" - }, - "usbDeviceClosed": { - "message": "USB Gerät erfolgreich geschlossen" - }, - "usbDeviceCloseFail": { - "message": "Fehler beim schliepen des USB Gerätes!" - }, - "usbDeviceUdevNotice": { - "message": "Sind die udev rules correct installiert? Beachte die Doku für Hinweise" - }, - - "noConfigurationReceived": { - "message": "Keine Konfiguration in den letzten 10 Sekunden erhalten, Kommunikation fehlgeschlagen" - }, - "firmwareVersionNotSupported": { - "message": "Diese Firmware Version ist nicht untertützt. Bitte auf eine Firmware updaten, die die api Version $1 oder höher unterstützt. CLI nutzen um Backups vor dem Flashen zu erstellen. CLI Sichern/Wiederherstellen-Prozedur ist in der Dokumentation erklärt." - }, - - "tabSwitchConnectionRequired": { - "message": "Du musst dich verbinden, bevor die Tabs sichtbar werden." - }, - "tabSwitchWaitForOperation": { - "message": "Diese Aktion ist gerade nicht möglich. Bitte warten, bis die aktuelle Aktion abgeschlossen ist ..." - }, - - "tabSwitchUpgradeRequired": { - "message": "Die Firmware benötigt ein Update, bevor der $1 Tab sichtbar wird." - }, - "firmwareVersion": { - "message": "Firmware Version: $1" - }, - "apiVersionReceived": { - "message": "MultiWii API Version empfangen - $1" - }, - "uniqueDeviceIdReceived": { - "message": "Einzigartige Geräte ID empfangen - 0x$1" - }, - "boardInfoReceived": { - "message": "Board: $1, Version: $2" - }, - "buildInfoReceived": { - "message": "Running firmware released on: $1" - }, - "fcInfoReceived": { - "message": "Flugcontroller Info, identifier: $1, Version: $2" - }, - - "notifications_app_just_updated_to_version": { - "message": "Application just updated to version: $1" - }, - "notifications_click_here_to_start_app": { - "message": "Hier klicken um die Anwendung zu starten" - }, - - "statusbar_port_utilization": { - "message": "Port Nutzung:" - }, - "statusbar_usage_download": { - "message": "D: $1%" - }, - "statusbar_usage_upload": { - "message": "U: $1%" - }, - "statusbar_packet_error": { - "message": "Paket Error:" - }, - "statusbar_i2c_error": { - "message": "I2C error:" - }, - "statusbar_cycle_time": { - "message": "Zyklus Zeit:" - }, - - "dfu_connect_message": { - "message": "Bitte den Firmware Flasher nutzen um die DFU-Geräte zu erreichen" - }, - "dfu_erased_kilobytes": { - "message": "Erfolgreich $1 kB Flash-Speicher gelöscht " - }, - "dfu_device_flash_info": { - "message": "Gerät mit insgesamt $1 kiB Flash-Speicher detektiert" - }, - "dfu_error_image_size": { - "message": "Fehler: Das bereitgestellte Abbild ist größer als der verfügbare Chip-Speicher! Abbild: $1 kiB, Limit = $2 kiB" - }, - - "eeprom_saved_ok": { - "message": "EEPROM gespeichert" - }, - - "defaultWelcomeIntro": { - "message": "Willkommen zum Cleanflight - Configurator, einem Tool zum vereinfachten updaten, konfigurieren und tunen deines Flugcontrollers." - }, - - "defaultWelcomeText": { - "message": "The application supports all hardware that can run cleanflight (SPRacingF3, Vortex, Sparky, DoDo, CC3D/EVO, Air Hero 32, Flip32/+/Deluxe, DragonFly32, CJMCU Microquad, Chebuzz F3, STM32F3Discovery, Hermit, Naze32 Tricopter Frame, Skyline32, Naze/32/Mini/Pro/Blackbox etc)

The firmware source code can be downloaded from here
The newest binary firmware image is available here, development builds available here

Latest CP210x Drivers can be downloaded from here
Latest STM USB VCP Drivers can be downloaded from here
Latest Zadig for Windows DFU flashing can be downloaded from here
" - }, - "defaultContributingHead": { - "message": "Contributing" - }, - "defaultContributingText": { - "message": "If you would like to help make Cleanflight even better you can help in many ways, including:
" - }, - "defaultChangelogHead": { - "message": "Configurator - Changelog" - }, - "defaultButtonFirmwareFlasher": { - "message": "Firmware Flasher" - }, - "defaultDonateHead": { - "message": "Open Source / Spendenhinweis" - }, - "defaultDonateText": { - "message": "This utility is fully open source and is available free of charge to all cleanflight users.
If you found the cleanflight or cleanflight configurator useful, please consider supporting its development by donating." - }, - "defaultSponsorsHead": { - "message": "Sponsoren" - }, - "defaultDocumentationHead": { - "message": "Dokumentation / Anleitung" - }, - "defaultDocumentation": { - "message": "Cleanflight documentation is available in Markdown and PDF formats.

" - }, - "defaultDocumentation1": { - "message": "The PDF manual appropriate to the firmware can be downloaded from the github releases page, here." - }, - "defaultDocumentation2": { - "message": "The Markdown latest online documentation is available here - you can switch to the appropriate version of the documentation by selecting the tag." - }, - "defaultSupportHead": { - "message": "Support" - }, - "defaultSupportSubline1": { - "message": "Support Sources" - }, - "defaultSupportSubline2": { - "message": "Entwickler" - }, - "defaultSupport": { - "message": "Für Support bitte zuerst die Foren und Verkäufer kontaktieren.

" - }, - "defaultSupport1": { - "message": "RC Groups thread" - }, - "defaultSupport2": { - "message": "MultiWii forums thread" - }, - "defaultSupport3": { - "message": "GitHub" - }, - "defaultSupport4": { - "message": "IRC channel on freenode" - }, - "defaultSupport5": { - "message": "Join via WebClient" - }, - - "initialSetupBackupAndRestoreApiVersion": { - "message": "Sirchern und Wiederherstellen deaktiviert. Du besitzt eine Firmware mit der API version $1, Sichern und Wiederherstellen benötigt $2. Bitte die Einstellungen per CLI sichern. Eine Anleitung dazu befindet sich in der Dokumentation." - }, - "initialSetupButtonCalibrateAccel": { - "message": "Beschleunigungssensor kalibrieren" - }, - "initialSetupCalibrateAccelText": { - "message": "Board oder Rahmen auf eine ebene Oberfläche legen und sicherstellen, dass sich der Multirotor bei der Kalibrierung nicht
bewegt!" - }, - "initialSetupButtonCalibrateMag": { - "message": "Magnetfeldsensor kalibrieren" - }, - "initialSetupCalibrateMagText": { - "message": "Den Multirotor mindestens um 360 Grad um alle Achsen drehen. Du hast dafür 30 Sekunden zeit." - }, - "initialSetupButtonReset": { - "message": "Einstellungen zurücksetzen" - }, - "initialSetupResetText": { - "message": "Einstellungen auf die Standardwerte zurücksetzen" - }, - "initialSetupButtonBackup": { - "message": "Sichern" - }, - "initialSetupButtonRestore": { - "message": "Wiederherstellen" - }, - "initialSetupBackupRestoreText": { - "message": "Sichert die Konfiguration für den Fall eines Fehlers, CLI Einstellungen sind nicht eingeschlossen - Siehe 'dump' cli Kommando" - }, - "initialSetupBackupSuccess": { - "message": "Backup erfolgreich gespeichert" - }, - "initialSetupRestoreSuccess": { - "message": "Konfiguration erfolgreich wiederhersgestellt" - }, - "initialSetupButtonResetZaxis": { - "message": "Z Achse zurücksetzen, Offset: 0 deg" - }, - "initialSetupButtonResetZaxisValue": { - "message": "Z Achse zurücksetzen, Offset: $1 deg" - }, - "initialSetupMixerHead": { - "message": "Mixer Typ" - }, - "initialSetupThrottleHead": { - "message": "Throttle Eintellungen" - }, - "initialSetupMinimum": { - "message": "Minimum:" - }, - "initialSetupMaximum": { - "message": "Maximum:" - }, - "initialSetupFailsafe": { - "message": "Ausfallsicherung:" - }, - "initialSetupMinCommand": { - "message": "MinCommand:" - }, - "initialSetupBatteryHead": { - "message": "Batterie" - }, - "initialSetupMinCellV": { - "message": "Min Zellspannung:" - }, - "initialSetupMaxCellV": { - "message": "Max Zellspannung:" - }, - "initialSetupVoltageScale": { - "message": "Spannung Skalierung:" - }, - "initialSetupAccelTrimsHead": { - "message": "Beschleunigungssensor Trimmung" - }, - "initialSetupPitch": { - "message": "Pitch:" - }, - "initialSetupRoll": { - "message": "Roll:" - }, - "initialSetupMagHead": { - "message": "Magnetfeldsensor" - }, - "initialSetupDeclination": { - "message": "Deklination:" - }, - "initialSetupInfoHead": { - "message": "Info" - }, - "initialSetupBattery": { - "message": "Batterie Spannung:" - }, - "initialSetupBatteryValue": { - "message": "$1 V" - }, - "initialSetupDrawn": { - "message": "Kapazität Verbrauch:" - }, - "initialSetupDrawing": { - "message": "Strom Verbrauch:" - }, - "initialSetupBatteryMahValue": { - "message": "$1 mAh" - }, - "initialSetupBatteryAValue": { - "message": "$1 A" - }, - "initialSetupRSSI": { - "message": "RSSI:" - }, - "initialSetupRSSIValue": { - "message": "$1 %" - }, - "initialSetupGPSHead": { - "message": "GPS" - }, - "initialSetupInstrumentsHead": { - "message": "Instrumente" - }, - "initialSetupButtonSave": { - "message": "Speichern" - }, - "initialSetupModel": { - "message": "Modell: $1" - }, - "initialSetupAttitude": { - "message": "$1 deg" - }, - "initialSetupAccelCalibStarted": { - "message": "Beschleunigungssensor Kalibrierung gestartet" - }, - "initialSetupAccelCalibEnded": { - "message": "Beschleunigungssensor Kalibrierung beendet" - }, - "initialSetupMagCalibStarted": { - "message": "Magnetfeldsensor Kalibrierung gestartet" - }, - "initialSetupMagCalibEnded": { - "message": "Magnetfeldsensor Kalibrierung beendet" - }, - "initialSetupSettingsRestored": { - "message": "Einstellungen auf die Standardwerte zurückgesetzt" - }, - "initialSetupEepromSaved": { - "message": "EEPROM gesichert" - }, - - "featureRX_PPM": { - "message": "PPM RX Eingang" - }, - "featureVBAT": { - "message": "Batteriespannung Auswertung" - }, - "featureINFLIGHT_ACC_CAL": { - "message": "Level Kalibrierung während des Fluges" - }, - "featureRX_SERIAL": { - "message": "Serial-basierte Empfänger (SPEKSAT, SBUS, SUMD)" - }, - "featureMOTOR_STOP": { - "message": "Motoren nicht drehen, wenn gearmed" - }, - "featureSERVO_TILT": { - "message": "Servo Gimbal (Nutzt Motor Pins 1-2)" - }, - "featureSOFTSERIAL": { - "message": "CPU basierte serielle Ports aktivieren" - }, - "featureSOFTSERIALTip": { - "message": "Port nach der Aktiverung im Port-Tab konfigurieren." - }, - "featureGPS": { - "message": "GPS für Navigation und Telemetriea" - }, - "featureGPSTip": { - "message": "Zuerst Port-Konfiguration vornehmen" - }, - "featureFAILSAFE": { - "message": "Apply failsafe settings on RX signal loss" - }, - "featureSONAR": { - "message": "Ultraschall/Sonar" - }, - "featureTELEMETRY": { - "message": "Telemetrie Ausgang" - }, - "featureCURRENT_METER": { - "message": "Batteriespannung Aufzeichnung" - }, - "feature3D": { - "message": "3D Modus (für umkehrbare ESCs)" - }, - "featureRX_PARALLEL_PWM": { - "message": "PWM RX input (one wire per channel)" - }, - "featureRX_MSP": { - "message": "MSP RX input (control via MSP port)" - }, - "featureRSSI_ADC": { - "message": "Analog RSSI input" - }, - "featureLED_STRIP": { - "message": "Multi-color RGB LED strip support" - }, - "featureDISPLAY": { - "message": "OLED Screen Display" - }, - "featureONESHOT125": { - "message": "ONESHOT ESC support" - }, - "featureONESHOT125Tip": { - "message": "Disconnect flight battery and remove props before enabling." - }, - "featureBLACKBOX": { - "message": "Blackbox flight data recorder" - }, - "featureBLACKBOXTip": { - "message": "Configure via the BlackBox tab after enabling." - }, - "featureCHANNEL_FORWARDING": { - "message": "Forward aux channels to servo outputs" - }, - "featureTRANSPONDER": { - "message": "Race Transponder" - }, - "featureTRANSPONDERTip": { - "message": "Configure via the Race Transponder tab after enabling." - }, - - "configurationFeatureEnabled": { - "message": "Aktiviert" - }, - "configurationFeatureName": { - "message": "Feature" - }, - "configurationFeatureDescription": { - "message": "Beschreibung" - }, - "configurationMixer": { - "message": "Mixer" - }, - "configurationFeatures": { - "message": "Andere Features" - }, - "configurationReceiver": { - "message": "Empfänger Modus" - }, - "configurationRSSI": { - "message": "RSSI (Signal Strength)" - }, - "configurationRSSIHelp": { - "message": "RSSI is a measurement of signal strength and is very handy so you know when your aircraft is going out of range or if it is suffering RF interference." - }, - "configurationEscFeatures": { - "message": "ESC/Motor Features" - }, - "configurationFeaturesHelp": { - "message": "Note: Not all combinations of features are valid. When the flight controller firmware detects invalid feature combinations conflicting features will be disabled.
Note: Configure serial ports before enabling the features that will use the ports." - }, - "configurationSerialRXHelp": { - "message": "Note: Remember to configure a Serial Port (via Ports tab) and choose a Serial Receiver Provider when using RX_SERIAL feature." - }, - "configurationBoardAlignment": { - "message": "Board and Sensor Alignment" - }, - "configurationBoardAlignmentRoll": { - "message": "Roll Degrees" - }, - "configurationBoardAlignmentPitch": { - "message": "Pitch Degrees" - }, - "configurationBoardAlignmentYaw": { - "message": "Yaw Degrees" - }, - "configurationSensorAlignmentGyro": { - "message": "GYRO Alignment" - }, - "configurationSensorAlignmentAcc": { - "message": "ACCEL Alignment" - }, - "configurationSensorAlignmentMag": { - "message": "MAG Alignment" - }, - "configurationAccelTrims": { - "message": "Accelerometer Trim" - }, - "configurationAccelTrimRoll": { - "message": "Accelerometer Roll Trim" - }, - "configurationAccelTrimPitch": { - "message": "Accelerometer Pitch Trim" - }, - "configurationMagDeclination": { - "message": "Magnetometer Declination [deg]" - }, - "configurationAutoDisarmDelay": { - "message": "Disarm motors after set delay(Seconds) (Requires MOTOR_STOP feature)" - }, - "configurationDisarmKillSwitch": { - "message": "Disarm motors regardless of throttle value (When arming via AUX channel)" - }, - "configurationThrottleMinimum": { - "message": "Minimum Throttle" - }, - "configurationThrottleMid": { - "message": "Middle Throttle [RC inputs center value]" - }, - "configurationThrottleMaximum": { - "message": "Maximum Throttle" - }, - "configurationThrottleMinimumCommand": { - "message": "Minimum Command" - }, - "configurationBatteryVoltage": { - "message": "Battery Voltage" - }, - "configurationBatteryCurrent": { - "message": "Battery Current" - }, - "configurationBatteryMinimum": { - "message": "Minimale Zell-Spannung" - }, - "configurationBatteryMaximum": { - "message": "Maximale Zell-Spannung" - }, - "configurationBatteryWarning": { - "message": "Warning Cell Voltage" - }, - "configurationBatteryScale": { - "message": "Voltage Scale" - }, - "configurationCurrent": { - "message": "Strom Sensor" - }, - "configurationCurrentScale": { - "message": "Scale the output voltage to milliamps [1/10th mV/A]" - }, - "configurationCurrentOffset": { - "message": "Offset in millivolt steps" - }, - "configurationBatteryMultiwiiCurrent": { - "message": "Enable support for legacy Multiwii MSP current output" - }, - "configuration3d": { - "message": "3D" - }, - "configuration3dDeadbandLow": { - "message": "3D Deadband Low" - }, - "configuration3dDeadbandHigh": { - "message": "3D Deadband High" - }, - "configuration3dNeutral": { - "message": "3D Neutral" - }, - "configuration3dDeadbandThrottle": { - "message": "3D Deadband Throttle" - }, - "configurationSystem": { - "message": "System configuration" - }, - "configurationLoopTime": { - "message": "Flight Controller Loop Time" - }, - "configurationCalculatedCyclesSec": { - "message": "Cycles/Sec (Hz)" - }, - "configurationLoopTimeHelp": { - "message": "Note: Changing this may require PID re-tuning." - }, - "configurationGPS": { - "message": "GPS" - }, - "configurationGPSProtocol": { - "message": "Protocol" - }, - "configurationGPSBaudrate": { - "message": "Baudrate" - }, - "configurationGPSubxSbas": { - "message": "Ground Assistance Type" - }, - "configurationGPSHelp": { - "message": "Note: Remember to configure a Serial Port (via Ports tab) when using GPS feature." - }, - "configurationSerialRX": { - "message": "Serial Receiver Provider" - }, - "configurationEepromSaved": { - "message": "EEPROM saved" - }, - "configurationButtonSave": { - "message": "Save and Reboot" - }, - - "portsHelp": { - "message": "Note: not all combinations are valid. When the flight controller firmware detects this the serial port configuration will be reset." - }, - "portsMSPHelp": { - "message": "Note: Do NOT disable MSP on the first serial port unless you know what you are doing. You may have to reflash and erase your configuration if you do." - }, - "portsFirmwareUpgradeRequired": { - "message": "Firmware upgrade required. Serial port configurations of firmware < 1.8.0 is not supported." - }, - "portsButtonSave": { - "message": "Save and Reboot" - }, - "portsTelemetryDisabled": { - "message": "Disabled" - }, - "portsFunction_MSP": { - "message": "MSP" - }, - "portsFunction_GSP": { - "message": "GSP" - }, - "portsFunction_TELEMETRY_FRSKY": { - "message": "FrSky" - }, - "portsFunction_TELEMETRY_HOTT": { - "message": "HoTT" - }, - "portsFunction_TELEMETRY_LTM": { - "message": "LTM" - }, - "portsFunction_TELEMETRY_MAVLINK": { - "message": "MAVLink" - }, - "portsFunction_TELEMETRY_MSP": { - "message": "MSP" - }, - "portsFunction_TELEMETRY_SMARTPORT": { - "message": "SmartPort" - }, - "portsFunction_RX_SERIAL": { - "message": "Serial RX" - }, - "portsFunction_BLACKBOX": { - "message": "Blackbox" - }, - - "pidTuningUpgradeFirmwareToChangePidController": { - "message": "Changing PID controller disabled - you can change it via the CLI. You have firmware with API version $1, but this functionality requires requires $2." - }, - "pidTuningName": { - "message": "Name" - }, - "pidTuningProportional": { - "message": "Proportional" - }, - "pidTuningIntegral": { - "message": "Integral" - }, - "pidTuningDerivative": { - "message": "Derivative" - }, - "pidTuningRollPitchRate": { - "message": "ROLL & PITCH rate" - }, - "pidTuningRollRate": { - "message": "ROLL rate" - }, - "pidTuningPitchRate": { - "message": "PITCH rate" - }, - "pidTuningYawRate": { - "message": "YAW rate" - }, - "pidTuningTPA": { - "message": "TPA" - }, - "pidTuningTPABreakPoint": { - "message": "TPA Breakpoint" - }, - "pidTuningButtonSave": { - "message": "Save" - }, - "pidTuningButtonRefresh": { - "message": "Refresh" - }, - "pidTuningProfileHead": { - "message": "Profile" - }, - "pidTuningControllerHead": { - "message": "PID Controller" - }, - "pidTuningLoadedProfile": { - "message": "Loaded Profile: $1" - }, - "pidTuningDataRefreshed": { - "message": "PID data refreshed" - }, - "pidTuningEepromSaved": { - "message": "EEPROM saved" - }, - - "receiverHelp": { - "message": "Please read receiver chapter of the documentation. Configure serial port (if required), receiver mode (serial/ppm/pwm), provider (for serial receivers), bind receiver, set channel map, configure channel endpoints/range on TX so that all channels go from ~1000 to ~2000. Set midpoint (default 1500), trim channels to 1500, configure stick deadband, verify behaviour when TX is off or out of range.
IMPORTANT: Before flying read failsafe chapter of documentation and configure failsafe." - }, - "receiverThrottleMid": { - "message": "Throttle MID" - }, - "receiverThrottleExpo": { - "message": "Throttle EXPO" - }, - "receiverRcRate": { - "message": "RC Rate" - }, - "receiverDeadband": { - "message": "RC Deadband" - }, - "receiverHelpDeadband": { - "message": "These are values (in us) by how much RC input can be different before it's considered valid. For transmitters with jitter on outputs, this value can be increased if rc inputs twitch while idle." - }, - "receiverHelpYawDeadband": { - "message": "These are values (in us) by how much RC input can be different before it's considered valid. For transmitters with jitter on outputs, this value can be increased if rc inputs twitch while idle. This setting is for Yaw only." - }, - "receiverYawDeadband": { - "message": "Yaw Deadband" - }, - "receiverRcExpo": { - "message": "RC Expo" - }, - "receiverRcYawExpo": { - "message": "RC Yaw Expo" - }, - "receiverChannelMap": { - "message": "Channel Map" - }, - "receiverChannelMapTitle": { - "message": "You can define your own channel map by clicking inside the box" - }, - "receiverRssiChannel": { - "message": "RSSI Channel" - }, - "receiverRefreshRateTitle": { - "message": "Graph refresh rate" - }, - "receiverButtonSave": { - "message": "Save" - }, - "receiverButtonRefresh": { - "message": "Refresh" - }, - "receiverButtonSticks": { - "message": "Control sticks" - }, - "receiverDataRefreshed": { - "message": "RC Tuning data refreshed" - }, - "receiverEepromSaved": { - "message": "EEPROM saved" - }, - - "auxiliaryHelp": { - "message": "Use ranges to define the switches on your transmitter and corresponding mode assignments. A receiver channel that gives a reading between a range min/max will activate the mode. Remember to save your settings using the Save button." - }, - "auxiliaryMin": { - "message": "Min" - }, - "auxiliaryMax": { - "message": "Max" - }, - "auxiliaryAddRange": { - "message": "Add Range" - }, - "auxiliaryButtonSave": { - "message": "Save" - }, - "auxiliaryEepromSaved": { - "message": "EEPROM saved" - }, - - "adjustmentsHelp": { - "message": "Configure adjustment switches. See the 'in-flight adjustments' section of the manual for details. The changes that adjustment functions make are not saved automatically. There are 4 slots. Each switch used to concurrently make adjustments requires exclusive use of a slot." - }, - "adjustmentsExamples": { - "message": "Examples" - }, - "adjustmentsExample1": { - "message": "Use Slot 1 and a 3POS switch on AUX1 to select between Pitch/Roll P, I and D and another 3POS switch on AUX2 to increase or decrease the value when held up or down." - }, - "adjustmentsExample2": { - "message": "Use Slot 2 and a 3POS switch on AUX4 to select enable Rate Profile Selection via the same 3POS switch on the same channel." - }, - "adjustmentsColumnEnable": { - "message": "If enabled" - }, - "adjustmentsColumnUsingSlot": { - "message": "using slot" - }, - "adjustmentsColumnWhenChannel": { - "message": "when channel" - }, - "adjustmentsColumnIsInRange": { - "message": "is in range" - }, - "adjustmentsColumnThenApplyFunction": { - "message": "then apply" - }, - "adjustmentsColumnViaChannel": { - "message": "via channel" - }, - "adjustmentsSlot0": { - "message": "Slot 1" - }, - "adjustmentsSlot1": { - "message": "Slot 2" - }, - "adjustmentsSlot2": { - "message": "Slot 3" - }, - "adjustmentsSlot3": { - "message": "Slot 4" - }, - "adjustmentsMin": { - "message": "Min" - }, - "adjustmentsMax": { - "message": "Max" - }, - "adjustmentsFunction0": { - "message": "No changes" - }, - "adjustmentsFunction1": { - "message": "RC Rate Adjustment" - }, - "adjustmentsFunction2": { - "message": "RC Expo Adjustment" - }, - "adjustmentsFunction3": { - "message": "Throttle Expo Adjustment" - }, - "adjustmentsFunction4": { - "message": "Pitch & Roll Rate Adjustment" - }, - "adjustmentsFunction5": { - "message": "Yaw Rate Adjustment" - }, - "adjustmentsFunction6": { - "message": "Pitch & Roll P Adjustment" - }, - "adjustmentsFunction7": { - "message": "Pitch & Roll I Adjustment" - }, - "adjustmentsFunction8": { - "message": "Pitch & Roll D Adjustment" - }, - "adjustmentsFunction9": { - "message": "Yaw P Adjustment" - }, - "adjustmentsFunction10": { - "message": "Yaw I Adjustment" - }, - "adjustmentsFunction11": { - "message": "Yaw D Adjustment" - }, - "adjustmentsFunction12": { - "message": "Rate Profile Selection" - }, - "adjustmentsFunction13": { - "message": "Pitch Rate" - }, - "adjustmentsFunction14": { - "message": "Roll Rate" - }, - "adjustmentsFunction15": { - "message": "Pitch P Adjustment" - }, - "adjustmentsFunction16": { - "message": "Pitch I Adjustment" - }, - "adjustmentsFunction17": { - "message": "Pitch D Adjustment" - }, - "adjustmentsFunction18": { - "message": "Roll P Adjustment" - }, - "adjustmentsFunction19": { - "message": "Roll I Adjustment" - }, - "adjustmentsFunction20": { - "message": "Roll D Adjustment" - }, - "adjustmentsFunction21": { - "message": "Alt P Adjustment" - }, - "adjustmentsFunction22": { - "message": "Alt I Adjustment" - }, - "adjustmentsFunction23": { - "message": "Alt D Adjustment" - }, - "adjustmentsFunction24": { - "message": "Vel P Adjustment" - }, - "adjustmentsFunction25": { - "message": "Vel I Adjustment" - }, - "adjustmentsFunction26": { - "message": "Vel D Adjustment" - }, - "adjustmentsFunction27": { - "message": "MAG P Adjustment" - }, - "adjustmentsFunction28": { - "message": "Pos P Adjustment" - }, - "adjustmentsFunction29": { - "message": "Pos I Adjustment" - }, - "adjustmentsFunction30": { - "message": "PosR P Adjustment" - }, - "adjustmentsFunction31": { - "message": "PosR I Adjustment" - }, - "adjustmentsFunction32": { - "message": "PosR D Adjustment" - }, - "adjustmentsFunction33": { - "message": "NavR P Adjustment" - }, - "adjustmentsFunction34": { - "message": "NavR I Adjustment" - }, - "adjustmentsFunction35": { - "message": "NavR D Adjustment" - }, - "adjustmentsFunction36": { - "message": "Level P Adjustment" - }, - "adjustmentsFunction37": { - "message": "Level I Adjustment" - }, - "adjustmentsFunction38": { - "message": "Level D Adjustment" - }, - "adjustmentsSave": { - "message": "Save" - }, - "adjustmentsEepromSaved": { - "message": "EEPROM saved" - }, - - "transponderNotSupported": { - "message": "Your flight controller's firmware does not support transponder functionality." - }, - "transponderHelp": { - "message": "Configure your transponder code here. Note: Only valid codes will be recognised by race timing systems. Valid transponder codes can be obtained from Seriously Pro." - }, - "transponderInformation": { - "message": "Transponders systems allow race organizers to time your laps. The transponder is fitted to your aircraft and when your aircraft passes the timing gate the track-side receiver registers your code and records your laptime. When fitting an IR based transponder your should ensure that it points outward from your aircraft towards the track-side receivers and that the light beam is not obstructed by your airframe, battery-straps, cables, propellers, etc." - }, - "transponderConfiguration": { - "message": "Configuration" - }, - "transponderData": { - "message": "Data" - }, - "transponderDataHelp": { - "message": "Hexadecimal digits only, 0-9, A-F" - }, - "transponderButtonSave": { - "message": "Save" - }, - "transponderDataInvalid": { - "message": "Transponder data is invalid" - }, - "transponderEepromSaved": { - "message": "EEPROM saved" - }, - - "servosFirmwareUpgradeRequired": { - "message": "Servos requires firmware >= 1.10.0. and target support." - }, - "servosChangeDirection": { - "message": "Change Direction in TX To Match" - }, - "servosName": { - "message": "Name" - }, - "servosMid": { - "message": "MID" - }, - "servosMin": { - "message": "MIN" - }, - "servosMax": { - "message": "MAX" - }, - "servosAngleAtMin": { - "message": "Angle at min" - }, - "servosAngleAtMax": { - "message": "Angle at max" - }, - "servosDirectionAndRate": { - "message": "Direction and rate" - }, - "servosLiveMode": { - "message": "Enable Live mode" - }, - "servosButtonSave": { - "message": "Save" - }, - "servosNormal": { - "message": "Normal" - }, - "servosReverse": { - "message": "Reverse" - }, - "servosEepromSave": { - "message": "EEPROM saved" - }, - - "gpsHead": { - "message": "GPS" - }, - "gpsMapHead": { - "message": "Current GPS location" - }, - "gpsMapMessage1": { - "message": "Please check your internet connection" - }, - "gpsMapMessage2": { - "message": "Waiting for GPS 3D fix…" - }, - "gps3dFix": { - "message": "3D Fix:" - }, - "gpsFixTrue": { - "message": "True" - }, - "gpsFixFalse": { - "message": "False" - }, - "gpsAltitude": { - "message": "Altitude:" - }, - "gpsLat": { - "message": "Latitude:" - }, - "gpsLon": { - "message": "Longitude:" - }, - "gpsSpeed": { - "message": "Speed:" - }, - "gpsSats": { - "message": "Sats:" - }, - "gpsDistToHome": { - "message": "Dist to Home:" - }, - "gpsSignalStrHead": { - "message": "GPS Signal Strength" - }, - "gpsSignalStr": { - "message": "Signal Strength" - }, - - "motorsMaster": { - "message": "Master" - }, - "motorsNotice": { - "message": "Motor Test Mode Notice:
Moving the sliders will cause the motors to spin up.
In order to prevent injury remove ALL propellers before using this feature.
" - }, - "motorsEnableControl": { - "message": "I understand the risks, propellers are removed - Enable motor control." - }, - - "sensorsInfo": { - "message": "Keep in mind that using fast update periods and rendering multiple graphs at the same time is resource heavy and will burn your battery quicker if you use a laptop.
We recommend to only render graphs for sensors you are interested in while using reasonable update periods." - }, - "sensorsRefresh": { - "message": "Refresh:" - }, - "sensorsScale": { - "message": "Scale:" - }, - - "cliInfo": { - "message": "Note: Leaving CLI tab or pressing Disconnect will automatically send \"exit\" to the board. With the latest firmware this will make the controller restart and unsaved changes will be lost." - }, - "cliInputPlaceholder": { - "message": "Write your command here" - }, - "cliEnter": { - "message": "CLI mode detected" - }, - "cliReboot": { - "message": "CLI reboot detected" - }, - - "loggingNote": { - "message": "Data will be logged in this tab only, leaving the tab will cancel logging and application will return to its normal \"configurator\" state.
You are free to select the global update period, data will be written into the log file every 1 second for performance reasons." - }, - "loggingSamplesSaved": { - "message": "Samples Saved:" - }, - "loggingLogSize": { - "message": "Log Size:" - }, - "loggingButtonLogFile": { - "message": "Select Log File" - }, - "loggingStart": { - "message": "Start Logging" - }, - "loggingStop": { - "message": "Stop Logging" - }, - "loggingBack": { - "message": "Leave Logging / Disconnect" - }, - "loggingErrorNotConnected": { - "message": "You need to connect first" - }, - "loggingErrorLogFile": { - "message": "Please select log file" - }, - "loggingErrorOneProperty": { - "message": "Please select at least one property to log" - }, - "loggingAutomaticallyRetained": { - "message": "Automatically loaded previous log file: $1" - }, - - "blackboxNotSupported": { - "message": "Your flight controller's firmware does not support Blackbox logging." - }, - "blackboxMaybeSupported": { - "message": "Your flight controller's firmware is too old to support this tab, or the Blackbox feature is disabled on the Configuration tab." - }, - "blackboxConfiguration": { - "message": "Blackbox configuration" - }, - "blackboxButtonSave": { - "message": "Save and reboot" - }, - - "serialLoggingSupportedNote": { - "message": "You can log to an external logging device (such as an OpenLog or compatible clone) by using a serial port. Configure the port on the Ports tab." - }, - "sdcardNote": { - "message": "Flight logs can be recorded to your flight controller's onboard SD card slot." - }, - - "dataflashNote": { - "message": "Flight logs can be recorded to your flight controller's onboard dataflash chip." - }, - "dataflashNotPresentNote": { - "message": "Your flight controller does not have a compatible dataflash chip available." - }, - "dataflashFirmwareUpgradeRequired": { - "message": "Dataflash requires firmware >= 1.8.0." - }, - "dataflashButtonSaveFile": { - "message": "Save flash to file..." - }, - "dataflashButtonErase": { - "message": "Erase flash" - }, - "dataflashConfirmEraseTitle": { - "message": "Confirm dataflash erase" - }, - "dataflashConfirmEraseNote": { - "message": "This will erase any Blackbox logs or other data contained in the dataflash which will take about 20 seconds, are you sure?" - }, - "dataflashSavingTitle": { - "message": "Saving dataflash to file" - }, - "dataflashSavingNote": { - "message": "Saving could take several minutes, please wait." - }, - "dataflashSavingNoteAfter": { - "message": "Save completed! Press \"Ok\" to continue." - }, - "dataflashButtonSaveCancel": { - "message": "Cancel" - }, - "dataflashButtonSaveDismiss": { - "message": "Ok" - }, - "dataflashButtonEraseConfirm": { - "message": "Yes, erase dataflash" - }, - "dataflashButtonEraseCancel": { - "message": "Cancel" - }, - "dataflashFileWriteFailed": { - "message": "Failed to write to the file you selected, are the permissions on that folder okay?" - }, - - "firmwareFlasherReleaseSummaryHead": { - "message": "Release info" - }, - "firmwareFlasherReleaseName": { - "message": "Name/Version:" - }, - "firmwareFlasherReleaseVersionUrl": { - "message": "Visit release page." - }, - "firmwareFlasherReleaseNotes": { - "message": "Release notes:" - }, - "firmwareFlasherReleaseDate": { - "message": "Date:" - }, - "firmwareFlasherReleaseStatus": { - "message": "State:" - }, - "firmwareFlasherReleaseTarget": { - "message": "Target:" - }, - "firmwareFlasherReleaseFile": { - "message": "Binary:" - }, - "firmwareFlasherReleaseStatusReleaseCandidate": { - "message": "IMPORTANT: This firmware release is currently marked as a release candidate. Please report any issues immediately." - }, - "firmwareFlasherReleaseFileUrl": { - "message": "Download manually." - }, - "firmwareFlasherTargetWarning": { - "message": "IMPORTANT: Ensure you flash a file appropriate for your target. Flashing a binary for the wrong target can cause bad things to happen." - }, - - "firmwareFlasherPath": { - "message": "Path:" - }, - "firmwareFlasherSize": { - "message": "Size:" - }, - "firmwareFlasherStatus": { - "message": "Status:" - }, - "firmwareFlasherProgress": { - "message": "Progress:" - }, - "firmwareFlasherLoadFirmwareFile": { - "message": "Please load firmware file" - }, - "firmwareFlasherNoReboot": { - "message": "No reboot sequence" - }, - "firmwareFlasherOnlineReleasesDescription": { - "message": "Available online firmware releases - Select the correct firmware appropriate for your board." - }, - "firmwareFlasherNoRebootDescription": { - "message": "Enable if you powered your FC while the bootloader pins are jumpered or have your FC's BOOT button pressed." - }, - "firmwareFlasherFlashOnConnect": { - "message": "Flash on connect" - }, - "firmwareFlasherFlashOnConnectDescription": { - "message": "Attempt to flash the board automatically (triggered by newly detected serial port)." - }, - "firmwareFlasherFullChipErase": { - "message": "Full chip erase" - }, - "firmwareFlasherFullChipEraseDescription": { - "message": "Wipes all configuration data currently stored on the board." - }, - "firmwareFlasherFlashDevelopmentFirmware": { - "message": "Use Development Firmware" - }, - "firmwareFlasherFlashDevelopmentFirmwareDescription": { - "message": "Flash most recent (untested) development firmware." - }, - "firmwareFlasherManualBaud": { - "message": "Manual baud rate" - }, - "firmwareFlasherManualBaudDescription": { - "message": "Manual selection of baud rate for boards that don't support the default speed or for flashing via bluetooth.
Note: Not used when flashing via USB DFU" - }, - "firmwareFlasherShowDevelopmentReleases":{ - "message": "Show unstable releases" - }, - "firmwareFlasherShowDevelopmentReleasesDescription":{ - "message": "Show Release-Candidates and Development Releases." - }, - "firmwareFlasherOptionLabelSelectFirmware": { - "message": "Choose a Firmware / Board" - }, - "firmwareFlasherButtonLoadLocal": { - "message": "Load Firmware [Local]" - }, - "firmwareFlasherButtonLoadOnline": { - "message": "Load Firmware [Online]" - }, - "firmwareFlasherFlashFirmware": { - "message": "Flash Firmware" - }, - "firmwareFlasherGithubInfoHead": { - "message": "Github Firmware Info" - }, - "firmwareFlasherCommiter": { - "message": "Committer:" - }, - "firmwareFlasherDate": { - "message": "Date:" - }, - "firmwareFlasherHash": { - "message": "Hash:" - }, - "firmwareFlasherUrl": { - "message": "Go to GitHub to review this commit..." - }, - "firmwareFlasherMessage": { - "message": "Message:" - }, - "firmwareFlasherWarningHead": { - "message": "Warning" - }, - "firmwareFlasherWarningText": { - "message": "Please do not try to flash non-cleanflight hardware with this firmware flasher.
Do not disconnect the board or turn off your computer while flashing.

Note: STM32 bootloader is stored in ROM, it cannot be bricked.
Note: Auto-Connect is always disabled while you are inside firmware flasher.
Note: Make sure you have a backup; some upgrades/downgrades will wipe your configuration.
Note: If you have problems flashing try disconnecting all cables from your FC first, try rebooting, upgrade chrome, upgrade drivers.
Note: When flashing boards that have directly connected USB sockets (SPRacingF3Mini, Sparky, ColibriRace, etc) ensure you have read the USB Flashing section of the Cleanflight manual and have the correct software and drivers installed" - }, - "firmwareFlasherRecoveryHead": { - "message": "Recovery / Lost communication" - }, - "firmwareFlasherRecoveryText": { - "message": "If you have lost communication with your board follow these steps to restore communication:
  • Power off
  • Enable 'No reboot sequence', enable 'Full chip erase'.
  • Jumper the BOOT pins or hold BOOT button.
  • Power on (activity LED will NOT flash if done correctly).
  • Install all STM32 drivers and Zadig if required (see USB Flashing section of cleanflight manual).
  • Close configurator, Close all running chrome instances, Close all Chrome apps, Restart Configurator.
  • Release BOOT button if your FC has one.
  • Flash with correct firmware (using manual baud rate if specified in your FC's manual).
  • Power off.
  • Remove BOOT jumper.
  • Power on (activity LED should flash).
  • Connect normally.
" - }, - "firmwareFlasherButtonLeave": { - "message": "Leave Firmware Flasher" - }, - "firmwareFlasherFirmwareNotLoaded": { - "message": "Firmware not loaded" - }, - "firmwareFlasherHexCorrupted": { - "message": "HEX file appears to be corrupted" - }, - "firmwareFlasherRemoteFirmwareLoaded": { - "message": "Remote Firmware loaded, ready for flashing" - }, - "firmwareFlasherFailedToLoadOnlineFirmware": { - "message": "Failed to load remote firmware" - }, - - "ledStripHelp": { - "message": "The flight controller can control colors and effects of individual LEDs on a strip.
Configure LEDs on the grid, configure wiring order then attach LEDs on your aircraft according to grid positions.
Double-click on a color to edit the HSV values." - }, - "ledStripButtonSave": { - "message": "Save" - }, - "ledStripEepromSaved": { - "message": "EEPROM saved" - }, - - "controlAxisRoll": { - "message": "Roll" - }, - "controlAxisPitch": { - "message": "Pitch" - }, - "controlAxisYaw": { - "message": "Yaw" - }, - "controlAxisThrottle": { - "message": "Throttle" - }, - "controlAxisAux1": { - "message": "AUX 1" - }, - "controlAxisAux2": { - "message": "AUX 2" - }, - "controlAxisAux3": { - "message": "AUX 3" - }, - "controlAxisAux4": { - "message": "AUX 4" - }, - "controlAxisAux5": { - "message": "AUX 5" - }, - "controlAxisAux6": { - "message": "AUX 6" - }, - "controlAxisAux7": { - "message": "AUX 7" - }, - "controlAxisAux8": { - "message": "AUX 8" - }, - "controlAxisAux9": { - "message": "AUX 9" - }, - "controlAxisAux10": { - "message": "AUX 10" - }, - "controlAxisAux11": { - "message": "AUX 11" - }, - "controlAxisAux12": { - "message": "AUX 12" - }, - "controlAxisAux13": { - "message": "AUX 13" - }, - "controlAxisAux14": { - "message": "AUX 14" - }, - "controlAxisAux15": { - "message": "AUX 15" - }, - "controlAxisAux16": { - "message": "AUX 16" - }, - - "pidTuningBasic": { - "message": "Basic/Acro" - }, - "pidTuningLevel": { - "message": "Angle/Horizon" - }, - "pidTuningAltitude": { - "message": "Barometer & Sonar/Altitude" - }, - "pidTuningMag": { - "message": "Magnometer/Heading" - }, - "pidTuningGps": { - "message": "GPS Navigation" - }, - "pidTuningLevelP": { - "message": "Strength (Angle)" - }, - "pidTuningLevelI": { - "message": "Strength (Horizon)" - }, - "pidTuningLevelD": { - "message": "Transition (Horizon)" - }, - "pidTuningLevelHelp": { - "message": "The values below change the behaviour of the ANGLE and HORIZON flight modes. Different PID controllers handle the LEVEL values differently. Please check the documentation." - }, - "configHelp2": { - "message": "Arbitrary board rotation in degrees, to allow mounting it sideways / upside down / rotated etc. When running external sensors, use the sensor alignments (Gyro, Acc, Mag) to define sensor position independent from board orientation. " - }, - "failsafeFeaturesHelpOld": { - "message": "Failsafe configuration has changed considerably. Use Cleanflight v1.12.0+ to enable the improved configuration panel." - }, - "failsafePaneTitleOld": { - "message": "Receiver failsafe" - }, - "failsafeFeatureItemOld": { - "message": "Failsafe settings on RX signal loss" - }, - "failsafeThrottleItemOld": { - "message": "Failsafe Throttle" - }, - "failsafeFeaturesHelpNew": { - "message": "Failsafe has two stages. Stage 1 is entered when a flightchannel has an invalid pulse length, the receiver reports failsafe mode or there is no signal from the receiver at all, the channel fallback settings are applied to all channels and a short amount of time is provided to allow for recovery. Stage 2 is entered when the error condition takes longer than the configured guard time while the craft is armed, all channels will remain at the applied channel fallback setting unless overruled by the chosen procedure.
Note: Prior to entering stage 1, channel fallback settings are also applied to individual AUX channels that have invalid pulses." - }, - "failsafePulsrangeTitle": { - "message": "Valid Pulse Range Settings" - }, - "failsafePulsrangeHelp": { - "message": "Pulses shorter than minimum or longer than maximum are invalid and will trigger application of individual channel fallback settings for AUX channels or entering stage 1 for flightchannels" - }, - "failsafeRxMinUsecItem": { - "message": "Minimum length" - }, - "failsafeRxMaxUsecItem": { - "message": "Maximum length" - }, - "failsafeChannelFallbackSettingsTitle": { - "message": "Channel Fallback Settings" - }, - "failsafeChannelFallbackSettingsHelp": { - "message": "These settings are applied to invalid individual AUX channels or to all channels when entering stage 1. Note: values are saved in steps of 25usec, so small changes disappear" - }, - "failsafeChannelFallbackSettingsAuto": { - "message": "Auto means Roll, Pitch and Yaw to center and Throttle low. Hold means maintain the last good value received" - }, - "failsafeChannelFallbackSettingsHold": { - "message": "Hold means maintain the last good value received. Set means the value given here will be used" - }, - "failsafeStageTwoSettingsTitle": { - "message": "Stage 2 - Settings" - }, - "failsafeFeatureItem": { - "message": "Failsafe Stage 2 enabled" - }, - "failsafeFeatureHelp": { - "message": "Note: When Stage 2 is DISABLED, the fallback setting Auto is used instead of the user settings for all flightchannels (Roll, Pitch, Yaw and Throttle)." - }, - "failsafeDelayItem": { - "message": "Guard time for stage 2 activation after signal lost [1 = 0.1 sec.]" - }, - "failsafeDelayHelp": { - "message": "Time for stage 1 to wait for recovery" - }, - "failsafeThrottleLowItem": { - "message": "Failsafe Throttle Low Delay [1 = 0.1 sec.]" - }, - "failsafeThrottleLowHelp": { - "message": "Just disarm the craft instead of executing the selected failsafe procedure when the throttle was low for this amount of time" - }, - "failsafeThrottleItem": { - "message": "Throttle value used while landing" - }, - "failsafeOffDelayItem": { - "message": "Delay for turning off the Motors during Failsafe [1 = 0.1 sec.]" - }, - "failsafeOffDelayHelp": { - "message": "Time to stay in landing mode untill the motors are turned off and the craft is disarmed" - }, - "failsafeSubTitle1": { - "message": "Stage 2 - Failsafe Procedure" - }, - "failsafeProcedureItemSelect1": { - "message": "Land" - }, - "failsafeProcedureItemSelect2": { - "message": "Drop" - }, - "failsafeKillSwitchItem": { - "message": "Failsafe Kill Switch (setup Failsafe in Modes Tab)" - }, - "failsafeKillSwitchHelp": { - "message": "Set this option to make the failsafe switch, configured in the modes tab, act as a direct kill switch, bypassing the selected failsafe procedure. Note: Arming is blocked with the failsafe kill switch in the ON position" - }, - "mainHelpArmed": { - "message": "Motor Arming" - }, - "mainHelpFailsafe": { - "message": "Failsafe Mode" - }, - "mainHelpLink": { - "message": "Serial Link Status" - }, - "configHelp3": { - "message": "Configure port scenario first before selecting a serial-based receiver." - }, - "featureSERVO_TILTTip": { - "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Motor pins 1-2 are used for gimbal if active! Use pins 3-6 for motors. " - } -} From 5be36468088d02c02ba9f4797722dad1ce4604e4 Mon Sep 17 00:00:00 2001 From: gaelj Date: Tue, 21 Jun 2016 22:28:00 +0200 Subject: [PATCH 23/71] Update all sat bars in GUI + show bars if numSat > 0 --- tabs/gps.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/tabs/gps.js b/tabs/gps.js index f0e4967f9..1baee6a72 100644 --- a/tabs/gps.js +++ b/tabs/gps.js @@ -1,6 +1,7 @@ 'use strict'; TABS.gps = {}; + TABS.gps.initialize = function (callback) { var self = this; @@ -13,6 +14,7 @@ TABS.gps.initialize = function (callback) { $('#content').load("./tabs/gps.html", process_html); } + MSP.send_message(MSP_codes.MSP_STATUS, false, false, load_html); function set_online(){ @@ -59,15 +61,22 @@ TABS.gps.initialize = function (callback) { // Update GPS Signal Strengths var e_ss_table = $('div.GPS_signal_strength table tr:not(.titles)'); - for (var i = 0; i < GPS_DATA.chn.length; i++) { + + for (var i = 0; i < 16; i++) { var row = e_ss_table.eq(i); - $('td', row).eq(0).text(GPS_DATA.svid[i]); - $('td', row).eq(1).text(GPS_DATA.quality[i]); - $('td', row).eq(2).find('progress').val(GPS_DATA.cno[i]); + if (GPS_DATA.numSat > 0 && i < GPS_DATA.chn.length) { + $('td', row).eq(0).text(GPS_DATA.svid[i]); + $('td', row).eq(1).text(GPS_DATA.quality[i]); + $('td', row).eq(2).find('progress').val(GPS_DATA.cno[i]); + } else { + $('td', row).eq(0).text(0); + $('td', row).eq(1).text(0); + $('td', row).eq(2).find('progress').val(0); + } } - + var message = { action: 'center', lat: lat, From b8d4288ec96bd1b04d3c6f0951a15d25a622672f Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 23 Jun 2016 15:37:30 +0200 Subject: [PATCH 24/71] Placing new OSD Tab (empty) --- _locales/en/messages.json | 9 +- images/icons/cf_icon_osd_grey.svg | 25 ++++ images/icons/cf_icon_osd_white.svg | 25 ++++ js/gui.js | 1 + main.css | 14 +- main.html | 3 + main.js | 3 + tabs/osd.css | 47 +++++++ tabs/osd.html | 29 ++++ tabs/osd.js | 213 +++++++++++++++++++++++++++++ 10 files changed, 367 insertions(+), 2 deletions(-) create mode 100644 images/icons/cf_icon_osd_grey.svg create mode 100644 images/icons/cf_icon_osd_white.svg create mode 100644 tabs/osd.css create mode 100755 tabs/osd.html create mode 100755 tabs/osd.js diff --git a/_locales/en/messages.json b/_locales/en/messages.json index c1025655c..df20fedf0 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1636,7 +1636,14 @@ "configHelp3": { "message": "Configure port scenario first before selecting a serial-based receiver." }, - "featureSERVO_TILTTip": { + "featureSERVO_TILTTip": { "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Motor pins 1-2 are used for gimbal if active! Use pins 3-6 for motors. " + }, + "tabOSD": { + "message": "OSD" + }, + "tabOSDinfo": { + "message": "Your flight controller isn't responding to OSD commands. This probably means that it does not have an integrated OSD that is supported by Cleanflight. Note that some flight controllers have an onboard that can be flashed and configured with MWOSD, however the MinimOSD cannot be configured through this interface." } + } diff --git a/images/icons/cf_icon_osd_grey.svg b/images/icons/cf_icon_osd_grey.svg new file mode 100644 index 000000000..856777502 --- /dev/null +++ b/images/icons/cf_icon_osd_grey.svg @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/images/icons/cf_icon_osd_white.svg b/images/icons/cf_icon_osd_white.svg new file mode 100644 index 000000000..3f953060b --- /dev/null +++ b/images/icons/cf_icon_osd_white.svg @@ -0,0 +1,25 @@ + + + + + + + + + + diff --git a/js/gui.js b/js/gui.js index 84972d4a5..768322cb1 100644 --- a/js/gui.js +++ b/js/gui.js @@ -20,6 +20,7 @@ var GUI_control = function () { this.defaultAllowedTabsWhenConnected = [ 'failsafe', 'transponder', + 'osd', 'adjustments', 'auxiliary', 'cli', diff --git a/main.css b/main.css index eca31a9bd..6a51e25f5 100644 --- a/main.css +++ b/main.css @@ -796,6 +796,18 @@ li.active .ic_transponder { background-image: url(images/icons/cf_icon_transponder_white.svg); } +.ic_osd { + background-image: url(images/icons/cf_icon_osd_grey.svg); + background-position-y: 3px; +} + +.ic_osd:hover { + background-image: url(images/icons/cf_icon_osd_white.svg); +} + +li.active .ic_osd { + background-image: url(images/icons/cf_icon_osd_white.svg); +} /* SPARE Tab-Icons */ .ic_failsafe { @@ -1437,7 +1449,7 @@ dialog { /* fixing padding for all Tabs*/ .tab-setup, .tab-landing, .tab-adjustments, .tab-auxiliary, .tab-cli, .tab-configuration, .tab-failsafe, .tab-onboard_logging, .tab-firmware_flasher, .tab-gps, .tab-help, .tab-led-strip, .tab-logging, .tab-modes, .tab-motors, .tab-pid_tuning, - .tab-ports, .tab-receiver, .tab-sensors, .tab-servos { + .tab-ports, .tab-receiver, .tab-sensors, .tab-servos, .tab-osd { height: 100%; position: relative; } diff --git a/main.html b/main.html index b2c1a81be..dfe0414a1 100755 --- a/main.html +++ b/main.html @@ -27,6 +27,7 @@ + @@ -80,6 +81,7 @@ + @@ -215,6 +217,7 @@
  • +
  • diff --git a/main.js b/main.js index 126122e5e..ea8aaef29 100644 --- a/main.js +++ b/main.js @@ -139,6 +139,9 @@ $(document).ready(function () { case 'transponder': TABS.transponder.initialize(content_ready); break; + case 'osd': + TABS.osd.initialize(content_ready); + break; case 'setup': TABS.setup.initialize(content_ready); break; diff --git a/tabs/osd.css b/tabs/osd.css new file mode 100644 index 000000000..fff188849 --- /dev/null +++ b/tabs/osd.css @@ -0,0 +1,47 @@ +.tab-osd .info { + margin: 10px 0 0 0; + position: relative; +} + +.darkgrey { + background-color: #575757; +} + +.tab-osd .spacer_box_title { + float: none; +} + +.tab-osd .info { + float: left; + width: 100%; +} + + +.tab-osd .cf_table td:last-child { + text-align: left; +} + +.tab-osd .options .flash_on_connect_wrapper { + display: none; +} + + +.tab-osd .hide { + display: none; +} + +.tab-osd .note { + padding: 1em; +} + +.tab-osd .content_wrapper { + height: calc(100% - 41px); +} + + +@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { +.tab-osd .content_wrapper { + height: calc(100% - 30px); +} + +} \ No newline at end of file diff --git a/tabs/osd.html b/tabs/osd.html new file mode 100755 index 000000000..21e7f84ae --- /dev/null +++ b/tabs/osd.html @@ -0,0 +1,29 @@ +
    +
    +

    + +
    +

    + +
    +
    +
    +
    +
    +
    +
    +
    + + + + +
    +
    + Save +
    +
    + + +
    +
    +
    diff --git a/tabs/osd.js b/tabs/osd.js new file mode 100755 index 000000000..fc4788c25 --- /dev/null +++ b/tabs/osd.js @@ -0,0 +1,213 @@ +'use strict'; + + +var OSD = OSD || {}; + + + +TABS.osd = {}; +TABS.osd.initialize = function (callback) { + var self = this; + + if (GUI.active_tab != 'osd') { + GUI.active_tab = 'osd'; + } + + $('#content').load("./tabs/osd.html", function () { + // translate to user-selected language + localize(); + + // 2 way binding... sorta + function updateOsdView() { + // ask for the OSD config data + MSP.promise(MSP_codes.MSP_OSD_CONFIG) + .then(function(info) { + if (!info.length) { + $('.tab-osd .unsupported').fadeIn();; + return; + } + $('.tab-osd .supported').fadeIn();; + OSD.msp.decode(info); + // video mode + var $videoTypes = $('.video-types').empty(); + for (var i = 0; i < OSD.constants.VIDEO_TYPES.length; i++) { + var type = OSD.constants.VIDEO_TYPES[i]; + var $checkbox = $('') + .prop('checked', i === OSD.data.video_system) + .data('type', type) + .data('type', i) + ); + $videoTypes.append($checkbox); + } + $videoTypes.find(':radio').click(function(e) { + OSD.data.video_system = $(this).data('type'); + MSP.promise(MSP_codes.MSP_SET_OSD_CONFIG, OSD.msp.encodeOther()) + .then(function() { + updateOsdView(); + }); + }); + + // display fields on/off and position + var $displayFields = $('.display-fields').empty(); + for (let field of OSD.data.display_items) { + var checked = (-1 != field.position) ? 'checked' : ''; + //$displayFields.append(''+field.name+''); + var $field = $('
    '); + $field.append( + $('') + .data('field', field) + .attr('checked', field.position != -1) + .click(function(e) { + var field = $(this).data('field'); + var $position = $(this).parent().find('.position.'+field.name); + if (field.position == -1) { + $position.show(); + field.position = OSD.data.last_positions[field.name] + } + else { + $position.hide(); + OSD.data.last_positions[field.name] = field.position + field.position = -1 + } + MSP.promise(MSP_codes.MSP_SET_OSD_CONFIG, OSD.msp.encode(field)) + .then(function() { + updateOsdView(); + }); + }) + ); + $field.append(''); + if (field.positionable && field.position != -1) { + $field.append( + $('') + .data('field', field) + .val(field.position) + .change($.debounce(250, function(e) { + var field = $(this).data('field'); + var position = parseInt($(this).val()); + field.position = position; + MSP.promise(MSP_codes.MSP_SET_OSD_CONFIG, OSD.msp.encode(field)) + .then(function() { + updateOsdView(); + }); + })) + ); + } + $displayFields.append($field); + } + }); + }; + updateOsdView(); + $('.display-layout .save').click(function() { + var self = this; + MSP.promise(MSP_codes.MSP_EEPROM_WRITE) + var oldText = $(this).text(); + $(this).html("Saved"); + setTimeout(function () { + $(self).html(oldText); + }, 2000); + }); + + // font preview window + var $preview = $('.font-preview'); + + // init structs once, also clears current font + FONT.initData(); + + var $fontPicker = $('.font-picker button'); + $fontPicker.click(function(e) { + $fontPicker.removeClass('active'); + $(this).addClass('active'); + $.get('/resources/osd/' + $(this).data('font-file') + '.mcm', function(data) { + FONT.parseMCMFontFile(data); + FONT.preview($preview); + }); + }); + + // load the first font when we change tabs + $fontPicker.first().click(); + + // UI Hooks + $('a.load_font_file').click((function($preview) { + return function() { + $fontPicker.removeClass('active'); + FONT.openFontFile($preview); + } + })($preview)); + + // font upload + $('a.flash_font').click(function () { + if (!GUI.connect_lock) { // button disabled while flashing is in progress + $('.progressLabel').text('Uploading...'); + FONT.upload($('.progress').val(0)).then(function() { + var msg = 'Uploaded all ' + FONT.data.characters.length + ' characters'; + console.log(msg); + $('.progressLabel').text(msg); + }); + } + }); + + $(document).on('click', 'span.progressLabel a.save_font', function () { + chrome.fileSystem.chooseEntry({type: 'saveFile', suggestedName: 'baseflight', accepts: [{extensions: ['mcm']}]}, function (fileEntry) { + if (chrome.runtime.lastError) { + console.error(chrome.runtime.lastError.message); + return; + } + + chrome.fileSystem.getDisplayPath(fileEntry, function (path) { + console.log('Saving firmware to: ' + path); + + // check if file is writable + chrome.fileSystem.isWritableEntry(fileEntry, function (isWritable) { + if (isWritable) { + var blob = new Blob([intel_hex], {type: 'text/plain'}); + + fileEntry.createWriter(function (writer) { + var truncated = false; + + writer.onerror = function (e) { + console.error(e); + }; + + writer.onwriteend = function() { + if (!truncated) { + // onwriteend will be fired again when truncation is finished + truncated = true; + writer.truncate(blob.size); + + return; + } + }; + + writer.write(blob); + }, function (e) { + console.error(e); + }); + } else { + console.log('You don\'t have write permissions for this file, sorry.'); + GUI.log('You don\'t have write permissions for this file'); + } + }); + }); + }); + }); + + $(document).keypress(function (e) { + if (e.which == 13) { // enter + // Trigger regular Flashing sequence + $('a.flash_font').click(); + } + }); + + GUI.content_ready(callback); + }); +}; + +TABS.osd.cleanup = function (callback) { + PortHandler.flush_callbacks(); + + // unbind "global" events + $(document).unbind('keypress'); + $(document).off('click', 'span.progressLabel a'); + + if (callback) callback(); +}; From 1f348bfcfab562d11766c9ce462dacde5de30eac Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 23 Jun 2016 15:42:29 +0200 Subject: [PATCH 25/71] cleanup --- tabs/osd.js | 169 +--------------------------------------------------- 1 file changed, 3 insertions(+), 166 deletions(-) diff --git a/tabs/osd.js b/tabs/osd.js index fc4788c25..0d32d80cd 100755 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -17,115 +17,7 @@ TABS.osd.initialize = function (callback) { // translate to user-selected language localize(); - // 2 way binding... sorta - function updateOsdView() { - // ask for the OSD config data - MSP.promise(MSP_codes.MSP_OSD_CONFIG) - .then(function(info) { - if (!info.length) { - $('.tab-osd .unsupported').fadeIn();; - return; - } - $('.tab-osd .supported').fadeIn();; - OSD.msp.decode(info); - // video mode - var $videoTypes = $('.video-types').empty(); - for (var i = 0; i < OSD.constants.VIDEO_TYPES.length; i++) { - var type = OSD.constants.VIDEO_TYPES[i]; - var $checkbox = $('') - .prop('checked', i === OSD.data.video_system) - .data('type', type) - .data('type', i) - ); - $videoTypes.append($checkbox); - } - $videoTypes.find(':radio').click(function(e) { - OSD.data.video_system = $(this).data('type'); - MSP.promise(MSP_codes.MSP_SET_OSD_CONFIG, OSD.msp.encodeOther()) - .then(function() { - updateOsdView(); - }); - }); - - // display fields on/off and position - var $displayFields = $('.display-fields').empty(); - for (let field of OSD.data.display_items) { - var checked = (-1 != field.position) ? 'checked' : ''; - //$displayFields.append(''+field.name+''); - var $field = $('
    '); - $field.append( - $('') - .data('field', field) - .attr('checked', field.position != -1) - .click(function(e) { - var field = $(this).data('field'); - var $position = $(this).parent().find('.position.'+field.name); - if (field.position == -1) { - $position.show(); - field.position = OSD.data.last_positions[field.name] - } - else { - $position.hide(); - OSD.data.last_positions[field.name] = field.position - field.position = -1 - } - MSP.promise(MSP_codes.MSP_SET_OSD_CONFIG, OSD.msp.encode(field)) - .then(function() { - updateOsdView(); - }); - }) - ); - $field.append(''); - if (field.positionable && field.position != -1) { - $field.append( - $('') - .data('field', field) - .val(field.position) - .change($.debounce(250, function(e) { - var field = $(this).data('field'); - var position = parseInt($(this).val()); - field.position = position; - MSP.promise(MSP_codes.MSP_SET_OSD_CONFIG, OSD.msp.encode(field)) - .then(function() { - updateOsdView(); - }); - })) - ); - } - $displayFields.append($field); - } - }); - }; - updateOsdView(); - $('.display-layout .save').click(function() { - var self = this; - MSP.promise(MSP_codes.MSP_EEPROM_WRITE) - var oldText = $(this).text(); - $(this).html("Saved"); - setTimeout(function () { - $(self).html(oldText); - }, 2000); - }); - - // font preview window - var $preview = $('.font-preview'); - - // init structs once, also clears current font - FONT.initData(); - - var $fontPicker = $('.font-picker button'); - $fontPicker.click(function(e) { - $fontPicker.removeClass('active'); - $(this).addClass('active'); - $.get('/resources/osd/' + $(this).data('font-file') + '.mcm', function(data) { - FONT.parseMCMFontFile(data); - FONT.preview($preview); - }); - }); - - // load the first font when we change tabs - $fontPicker.first().click(); - + // UI Hooks $('a.load_font_file').click((function($preview) { return function() { @@ -134,63 +26,8 @@ TABS.osd.initialize = function (callback) { } })($preview)); - // font upload - $('a.flash_font').click(function () { - if (!GUI.connect_lock) { // button disabled while flashing is in progress - $('.progressLabel').text('Uploading...'); - FONT.upload($('.progress').val(0)).then(function() { - var msg = 'Uploaded all ' + FONT.data.characters.length + ' characters'; - console.log(msg); - $('.progressLabel').text(msg); - }); - } - }); - - $(document).on('click', 'span.progressLabel a.save_font', function () { - chrome.fileSystem.chooseEntry({type: 'saveFile', suggestedName: 'baseflight', accepts: [{extensions: ['mcm']}]}, function (fileEntry) { - if (chrome.runtime.lastError) { - console.error(chrome.runtime.lastError.message); - return; - } - - chrome.fileSystem.getDisplayPath(fileEntry, function (path) { - console.log('Saving firmware to: ' + path); - - // check if file is writable - chrome.fileSystem.isWritableEntry(fileEntry, function (isWritable) { - if (isWritable) { - var blob = new Blob([intel_hex], {type: 'text/plain'}); - - fileEntry.createWriter(function (writer) { - var truncated = false; - - writer.onerror = function (e) { - console.error(e); - }; - - writer.onwriteend = function() { - if (!truncated) { - // onwriteend will be fired again when truncation is finished - truncated = true; - writer.truncate(blob.size); - - return; - } - }; - - writer.write(blob); - }, function (e) { - console.error(e); - }); - } else { - console.log('You don\'t have write permissions for this file, sorry.'); - GUI.log('You don\'t have write permissions for this file'); - } - }); - }); - }); - }); - + + $(document).keypress(function (e) { if (e.which == 13) { // enter // Trigger regular Flashing sequence From 1d588672e6c76bed873ce6f01c11d1b084425a07 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 23 Jun 2016 17:06:14 +0200 Subject: [PATCH 26/71] First dummy content --- _locales/en/messages.json | 4 ++- images/osdpreview.jpg | Bin 0 -> 292499 bytes tabs/osd.css | 57 +++++++++++++++++++++++++++++++++++ tabs/osd.html | 61 ++++++++++++++++++++++++-------------- tabs/osd.js | 33 +++++++++++---------- 5 files changed, 117 insertions(+), 38 deletions(-) create mode 100644 images/osdpreview.jpg diff --git a/_locales/en/messages.json b/_locales/en/messages.json index df20fedf0..4f53dc40f 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1644,6 +1644,8 @@ }, "tabOSDinfo": { "message": "Your flight controller isn't responding to OSD commands. This probably means that it does not have an integrated OSD that is supported by Cleanflight. Note that some flight controllers have an onboard that can be flashed and configured with MWOSD, however the MinimOSD cannot be configured through this interface." + }, + "tabOSDelements": { + "message": "OSD Elements" } - } diff --git a/images/osdpreview.jpg b/images/osdpreview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b78130557e071aa62e5af18204b87ce0e35bdff0 GIT binary patch literal 292499 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

    O} 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�)ZekUb31qp3F* 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

    -

    - -
    -

    - -
    -
    - \ No newline at end of file diff --git a/tabs/osd.js b/tabs/osd.js index 0d32d80cd..582ae35b4 100755 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -9,31 +9,34 @@ TABS.osd = {}; TABS.osd.initialize = function (callback) { var self = this; + if (GUI.active_tab != 'osd') { GUI.active_tab = 'osd'; + googleAnalytics.sendAppView('OSD'); } - + $('#content').load("./tabs/osd.html", function () { // translate to user-selected language localize(); - // UI Hooks - $('a.load_font_file').click((function($preview) { - return function() { - $fontPicker.removeClass('active'); - FONT.openFontFile($preview); - } - })($preview)); +function on_tab_loaded_handler() { + localize(); - - $(document).keypress(function (e) { - if (e.which == 13) { // enter - // Trigger regular Flashing sequence - $('a.flash_font').click(); - } - }); + update_ui(); + + $('a.save').click(on_save_handler); + + // status data pulled via separate timer with static speed + GUI.interval_add('status_pull', function status_pull() { + MSP.send_message(MSP_codes.MSP_STATUS); + }, 250, true); + + GUI.content_ready(callback); + } + + GUI.content_ready(callback); }); From d34b3a8e1ad93176993ba3486e7bf2af8570de0c Mon Sep 17 00:00:00 2001 From: skaman82 Date: Thu, 23 Jun 2016 17:15:47 +0200 Subject: [PATCH 27/71] Minor OSD Tab additions --- tabs/osd.html | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tabs/osd.html b/tabs/osd.html index 89d0cbe1a..b2a6c68bc 100755 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -1,6 +1,9 @@

    +
    + +

    @@ -14,15 +17,15 @@

    - +
    - +
    - +
    - +
    From 4b49f9881aea60affd8ac29182ee38a68427a2e1 Mon Sep 17 00:00:00 2001 From: Nico Sachs Date: Thu, 23 Jun 2016 17:58:49 +0200 Subject: [PATCH 28/71] rename Xbus mode b to SRXL --- tabs/configuration.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tabs/configuration.js b/tabs/configuration.js index 2c3ca833d..314824fbc 100644 --- a/tabs/configuration.js +++ b/tabs/configuration.js @@ -328,7 +328,7 @@ TABS.configuration.initialize = function (callback, scrollPosition) { 'SBUS', 'SUMD', 'SUMH', - 'XBUS_MODE_B', + 'SRXL (XBUS_MODE_B)', 'XBUS_MODE_B_RJ01' ]; From 250ca30c4396950525a3f4659bec71e592b37dab Mon Sep 17 00:00:00 2001 From: gaelj Date: Thu, 23 Jun 2016 23:32:59 +0200 Subject: [PATCH 29/71] Fix restart needed on update without flash erase --- tabs/led_strip.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tabs/led_strip.js b/tabs/led_strip.js index cb7fbc58a..e98dae85b 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -2,9 +2,6 @@ TABS.led_strip = { wireMode: false, - functions: ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b', 'l', 'o', 'n'], - baseFuncs: ['c', 'f', 'a', 'l', 's', 'g', 'r'], - overlays: ['t', 'o', 'b', 'n', 'i', 'w'], directions: ['n', 'e', 's', 'w', 'u', 'd'], }; @@ -17,6 +14,10 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b']; TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'b', 'g', 'r']; TABS.led_strip.overlays = ['t', 's', 'i', 'w']; + } else { + TABS.led_strip.functions = ['i', 'w', 'f', 'a', 't', 'r', 'c', 'g', 's', 'b', 'l', 'o', 'n']; + TABS.led_strip.baseFuncs = ['c', 'f', 'a', 'l', 's', 'g', 'r']; + TABS.led_strip.overlays = ['t', 'o', 'b', 'n', 'i', 'w']; } TABS.led_strip.wireMode = false; From 6a0c13a0a9f408762cb1015ab494d873c1d6fd87 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Fri, 24 Jun 2016 20:42:26 +0200 Subject: [PATCH 30/71] OSD tab layout --- tabs/osd.css | 179 ++++++++++++++++++++++++++++++++++++++++---------- tabs/osd.html | 124 ++++++++++++++++++++++++++++++---- 2 files changed, 257 insertions(+), 46 deletions(-) diff --git a/tabs/osd.css b/tabs/osd.css index f41985f64..e27337eca 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -17,14 +17,28 @@ } -.tab-osd .cf_table td:last-child { +.tab-osd .options { + position: relative; + margin-bottom: 10px; + line-height: 18px; text-align: left; } -.tab-osd .options .flash_on_connect_wrapper { - display: none; +.tab-osd .options label input { + float: left; + margin-top: 2px; +} + +.tab-osd .options label span { + font-weight: bold; + margin-left: 6px; } +.tab-osd .options select { + width: 300px; + height: 20px; + border: 1px solid silver; +} .tab-osd .hide { display: none; @@ -34,54 +48,91 @@ padding: 1em; } -.tab-osd .content_wrapper { - height: calc(100% - 41px); +.tab-osd .col { + display: inline-block; } +.tab-osd .left { + float: left; +} +.tab-osd .right { + float: right; +} +.tab-osd .content_wrapper { + height: calc(100% - 41px); +} - -.tab-osd .checkbox { +.tab-osd .elementselect { + background-color: #fff; + float: left; border-bottom: 1px solid #ccc; - margin-top: 4px; + width: calc(100% + 10px); + margin-left: -10px; + padding-left: 10px; + } + + .tab-osd .elementselect:hover { + background-color: #f3f3f3; + } + + +.tab-osd .elementselect.active { + background-color: #c3dab5; + } + + +.tab-osd .elementselect:last-child { + border-bottom: 0px; + padding-bottom: 0px; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + } + + +.tab-osd .checkbox { + margin-top: 2px; float: left; width: 100%; - padding-bottom:5px; + padding-bottom: 4px; + padding-top: 1px; + font-size: 11px; + } .tab-osd .numberspacer { width: 25px; float: left; - } - + font-size: 11px; +} + + .tab-osd label { - margin-top: -0px; float: left; + width: calc(100% -50px); } .tab-osd input { - float:left; - margin-right:8px; + float:left; + margin-right:8px; + } -.tab-osd .checkbox:last-child { - border-bottom: 0px solid #ccc; - padding-bottom:10px; - } - + .tab-osd .preview { - width: 720px; + width: 360px; } .tab-osd .osd_canvas { - width: 720px; - height: 480px; - background-image: url(/images/osdpreview.jpg); - background-repeat: no-repeat; - float:left; - border-bottom-left-radius: 3px; - border-bottom-right-radius: 3px; + width: 360px; + height: 234px; + background-image: url(/images/osdpreview.jpg); + background-repeat: no-repeat; + float:left; + border-bottom-left-radius: 3px; + border-bottom-right-radius: 3px; + background-size: 360px; } .tab-osd .image { @@ -90,15 +141,75 @@ .tab-osd .elements { - max-width: calc(100% - 720px); + max-width: calc(100% - 360px); } -@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { -.tab-osd .content_wrapper { - height: calc(100% - 30px); -} +.tab-osd .format { + width: calc(100% - 2px); + float: left; + +} +.tab-osd .format .title { + font-size: 13px; + background-color: #8e8e8e; + padding-top: 6px; + padding-bottom: 6px; + padding-left: 8px; + padding-right: 10px; + float: left; + font-weight: bold; + color: white; + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; + min-width: 85px; +} + +.tab-osd .format select { + border: 1px solid silver; + width: 50px; + float: right; + margin-top: 7px; + margin-right: 8px; + } + +.tab-osd .osdlabel { + float: left; + margin-top: 7px; + margin-left: 8px; + padding-bottom: 5px; + border-bottom: 1px solid silver; + width: calc(100% - 20px); + } + + + .tab-osd .osdlabel:last-child { + border-bottom: 0px; + margin-bottom: 5px; + } + + + .tab-osd .callsign { + border: 1px solid silver; + border-radius: 3px; + height: 12px; + float: left; + margin-left: 8px; + margin-top: 5px; + padding:3px; + width: calc(100% - 128px); + } + + .tab-osd .osdlabel select { + float:right; + margin-right:0px; + width:50px; + border: 1px solid silver; +} - -} \ No newline at end of file +@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { + .tab-osd .content_wrapper { + height: calc(100% - 30px); + } +} diff --git a/tabs/osd.html b/tabs/osd.html index b2a6c68bc..f25b923dc 100755 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -9,35 +9,135 @@

    +
    + +
    -
    -
    +
    +
    OSD Elements
    -
    -
    - +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +
    + +
    + +
    +
    + + + +
    +
    +
    + +
    + +
    +
    + + + +
    +
    +
    + +
    +
    -
    -
    -
    - + + + +
    +
    +
    + +
    +
    -
    + + +
    +
    +
    +
    Callsign:
    + +
    +
    -
    -
    +
    + +
    OSD Preview
    + +
    + +
    + + +
    +
    Video Format:
    + +
    + + + +
    +
    +
    OSD Layout Settings:
    +
    +
    Current Page: +
    +
    Default Page: +
    +
    OSD Switch: +
    +
    +
    +
    From 5ebdb022dfbab63ea2df52733738e5620d79489a Mon Sep 17 00:00:00 2001 From: skaman82 Date: Fri, 24 Jun 2016 20:48:13 +0200 Subject: [PATCH 31/71] cleanup --- tabs/osd.css | 5 ++- tabs/osd.html | 97 ++++++++++++++++++++++----------------------------- 2 files changed, 43 insertions(+), 59 deletions(-) diff --git a/tabs/osd.css b/tabs/osd.css index e27337eca..79aa39dd1 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -16,7 +16,6 @@ width: 100%; } - .tab-osd .options { position: relative; margin-bottom: 10px; @@ -65,7 +64,7 @@ } .tab-osd .elementselect { - background-color: #fff; + background-color: #fff; float: left; border-bottom: 1px solid #ccc; width: calc(100% + 10px); @@ -210,6 +209,6 @@ @media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { .tab-osd .content_wrapper { - height: calc(100% - 30px); + height: calc(100% - 30px); } } diff --git a/tabs/osd.html b/tabs/osd.html index f25b923dc..32cd91ec2 100755 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -10,7 +10,6 @@

    -
    @@ -42,10 +41,7 @@

    - - - -
    +
    @@ -53,10 +49,7 @@

    - - - -
    +
    @@ -64,10 +57,7 @@

    - - - -
    +
    @@ -75,9 +65,6 @@

    - - -
    @@ -89,55 +76,53 @@

    - -
    +
    OSD Preview
    -
    - -
    - - -
    -
    Video Format:
    - -
    - - - -
    -
    -
    OSD Layout Settings:
    +
    +
    +
    Video Format:
    + +
    +
    +
    +
    OSD Layout Settings:
    +
    +
    + Current Page: + +
    +
    + Default Page: + +
    +
    + OSD Switch: + +
    -
    Current Page: -
    -
    Default Page: -
    -
    OSD Switch: -
    -
    From bcf6a8f7cf0281ab5290dc198322543925783430 Mon Sep 17 00:00:00 2001 From: skaman82 Date: Sat, 25 Jun 2016 16:23:41 +0200 Subject: [PATCH 32/71] Correcting tooltip --- _locales/en/messages.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index c1025655c..d0f0bb9ae 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -461,7 +461,7 @@ "message": "Don't spin the motors when armed" }, "featureSERVO_TILT": { - "message": "Servo gimbal (uses motor pins 1-2)" + "message": "Servo gimbal (changes motor pin mapping)" }, "featureSOFTSERIAL": { "message": "Enable CPU based serial ports" @@ -1637,6 +1637,6 @@ "message": "Configure port scenario first before selecting a serial-based receiver." }, "featureSERVO_TILTTip": { - "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Motor pins 1-2 are used for gimbal if active! Use pins 3-6 for motors. " + "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Ths changes the motor pin mapping. " } } From 1c8e274a32b37b8c51a1052b849cf17629c5ae32 Mon Sep 17 00:00:00 2001 From: gaelj Date: Sun, 26 Jun 2016 20:51:00 +0200 Subject: [PATCH 33/71] MSP_LEDSTRIP_MODECOLOR - Use BF compatible ID --- js/msp.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/js/msp.js b/js/msp.js index bfc8d1dc8..9216ba22b 100644 --- a/js/msp.js +++ b/js/msp.js @@ -42,8 +42,6 @@ var MSP_codes = { MSP_SET_BLACKBOX_CONFIG: 81, MSP_TRANSPONDER_CONFIG: 82, MSP_SET_TRANSPONDER_CONFIG: 83, - MSP_LED_STRIP_MODECOLOR: 86, - MSP_SET_LED_STRIP_MODECOLOR: 87, // Multiwii MSP commands MSP_IDENT: 100, @@ -70,6 +68,7 @@ var MSP_codes = { MSP_3D: 124, MSP_RC_DEADBAND: 125, MSP_SENSOR_ALIGNMENT: 126, + MSP_LED_STRIP_MODECOLOR:127, MSP_SET_RAW_RC: 200, MSP_SET_RAW_GPS: 201, @@ -89,6 +88,7 @@ var MSP_codes = { MSP_SET_RC_DEADBAND: 218, MSP_SET_RESET_CURR_PID: 219, MSP_SET_SENSOR_ALIGNMENT: 220, + MSP_SET_LED_STRIP_MODECOLOR: 221, // MSP_BIND: 240, From 59295f0de23127a91477c19d673f001aca0c1714 Mon Sep 17 00:00:00 2001 From: gaelj Date: Tue, 28 Jun 2016 22:27:34 +0200 Subject: [PATCH 34/71] OSD tab JS first cut based on @nathantsoi's ongoing Betaflight implementation - parse & use cleanflight font file - soft data source for OSD elements & video formats - sliders sets OSD blocks visibility - mouse drag moves OSD blocks - no MSP implementation yet (waiting on @hydra's CF update or more details) - no live data, only static examples --- main.html | 2 + tabs/osd.css | 11 ++ tabs/osd.html | 55 +----- tabs/osd.js | 530 ++++++++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 532 insertions(+), 66 deletions(-) diff --git a/main.html b/main.html index dfe0414a1..535ba8168 100755 --- a/main.html +++ b/main.html @@ -36,6 +36,7 @@ + @@ -45,6 +46,7 @@ + diff --git a/tabs/osd.css b/tabs/osd.css index 79aa39dd1..348459ba8 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -150,6 +150,17 @@ } +.tab-osd .font_text_row { + margin-bottom: -3px; + display: inline-block; +} + +.tab-osd .position { + width: 50px; + margin-left: 10px; + float: right; +} + .tab-osd .format .title { font-size: 13px; background-color: #8e8e8e; diff --git a/tabs/osd.html b/tabs/osd.html index 32cd91ec2..8b3c07fc8 100755 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -7,6 +7,7 @@

    +
    @@ -17,53 +18,7 @@

    OSD Elements
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    -
    -
    -
    -
    - -
    - -
    +
    @@ -86,11 +41,7 @@

    Video Format:
    - + +
    + +
    + */ + + // display fields on/off and position + var $displayFields = $('.display-fields').empty(); + + FONT.initData(); + for (let field of OSD.data.display_items) { + var checked = (field.visible) ? 'checked' : ''; + var $field1 = $('
    '); + var $field2 = $('
    '); + var $field = $('
    '); + $field.append( + $('') + .data('field', field) + .change(function(e) { + var field = $(this).data('field'); + field.visible = !field.visible; + UpdateAllBlocks(); + }) + ); + $field2.append($field); + $field2.append(''); + $field1.append($field2); + $displayFields.append($field1); + } + + UpdateAllBlocks(); + + //}); + + + }; + // init structs once, also clears current font + var $preview = $('.font-preview'); + $preview.empty(); + + // ' + $(this).data('font-file') + ' + FONT.initData(); + $.get('/resources/osd/cleanflight-font.mcm', function(data) { + FONT.parseMCMFontFile(data); + // FONT.preview($preview); + // FONT.logo($preview); + // FONT.preview2($preview); + }); + + + updateOsdView(); GUI.content_ready(callback); }); + + function UpdateAllBlocks() + { + var $canvas = $('.osd_canvas').empty(); + $.get('/resources/osd/cleanflight-font.mcm', function(data) { + FONT.parseMCMFontFile(data); + for (let field of OSD.data.display_items) { + UpdateBlock(field); + } + }); + } + + function UpdateBlock(field) + { + var $canvas = $('.osd_canvas'); + if (field.visible) { + var $block = $('
    '); + $canvas.append($block); + FONT.write($block, field.default_value); + + $block.draggable(); + $block.draggable("option", "grid", [ FONT.constants.SIZES.CHAR_WIDTH, FONT.constants.SIZES.CHAR_HEIGHT ]); + $block.offset({ + top: $canvas.offset().top + field.position_y * FONT.constants.SIZES.CHAR_HEIGHT, + left: $canvas.offset().left + field.position_x * FONT.constants.SIZES.CHAR_WIDTH + }); + $block.bind('drag', function() { + field.position_y = ($block.offset().top - $canvas.offset().top) / FONT.constants.SIZES.CHAR_HEIGHT; + field.position_x = ($block.offset().left - $canvas.offset().left) / FONT.constants.SIZES.CHAR_WIDTH; + }); + } + } + + }; TABS.osd.cleanup = function (callback) { From 72474282a1d15d292c0353ed72e6157c73625b26 Mon Sep 17 00:00:00 2001 From: hoiberg Date: Wed, 29 Jun 2016 10:29:55 +0200 Subject: [PATCH 35/71] Mid Throttle min/max value correction The FC rejects all values >1599 and <1401. --- tabs/configuration.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tabs/configuration.html b/tabs/configuration.html index fa69cc19c..b46750468 100644 --- a/tabs/configuration.html +++ b/tabs/configuration.html @@ -68,7 +68,7 @@
    From fa889329af2158f5d5c03bf1d550993b82f535c1 Mon Sep 17 00:00:00 2001 From: gaelj Date: Thu, 30 Jun 2016 00:09:38 +0200 Subject: [PATCH 36/71] Cleanup --- js/libraries/bluebird.min.js | 31 + .../jquery.ba-throttle-debounce.min.js | 9 + resources/osd/bold.mcm | 16385 ++++++++++++++++ resources/osd/cleanflight-font.mcm | 16385 ++++++++++++++++ resources/osd/default.mcm | 16385 ++++++++++++++++ resources/osd/large.mcm | 16385 ++++++++++++++++ tabs/osd.css | 100 +- tabs/osd.html | 70 +- tabs/osd.js | 578 +- 9 files changed, 65977 insertions(+), 351 deletions(-) create mode 100644 js/libraries/bluebird.min.js create mode 100644 js/libraries/jquery.ba-throttle-debounce.min.js create mode 100644 resources/osd/bold.mcm create mode 100644 resources/osd/cleanflight-font.mcm create mode 100644 resources/osd/default.mcm create mode 100644 resources/osd/large.mcm diff --git a/js/libraries/bluebird.min.js b/js/libraries/bluebird.min.js new file mode 100644 index 000000000..7f4400b4a --- /dev/null +++ b/js/libraries/bluebird.min.js @@ -0,0 +1,31 @@ +/* @preserve + * The MIT License (MIT) + * + * Copyright (c) 2013-2015 Petka Antonov + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + */ +/** + * bluebird build version 3.4.0 + * Features enabled: core, race, call_get, generators, map, nodeify, promisify, props, reduce, settle, some, using, timers, filter, any, each +*/ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.Promise=t()}}(function(){var t,e,n;return function r(t,e,n){function i(s,a){if(!e[s]){if(!t[s]){var c="function"==typeof _dereq_&&_dereq_;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var u=e[s]={exports:{}};t[s][0].call(u.exports,function(e){var n=t[s][1][e];return i(n?n:e)},u,u.exports,r,t,e,n)}return e[s].exports}for(var o="function"==typeof _dereq_&&_dereq_,s=0;s0;){var e=t.shift();if("function"==typeof e){var n=t.shift(),r=t.shift();e.call(n,r)}else e._settlePromises()}},r.prototype._drainQueues=function(){this._drainQueue(this._normalQueue),this._reset(),this._haveDrainedQueues=!0,this._drainQueue(this._lateQueue)},r.prototype._queueTick=function(){this._isTickUsed||(this._isTickUsed=!0,this._schedule(this.drainQueues))},r.prototype._reset=function(){this._isTickUsed=!1},e.exports=r,e.exports.firstLineError=a},{"./queue":26,"./schedule":29,"./util":36}],3:[function(t,e,n){"use strict";e.exports=function(t,e,n,r){var i=!1,o=function(t,e){this._reject(e)},s=function(t,e){e.promiseRejectionQueued=!0,e.bindingPromise._then(o,o,null,this,t)},a=function(t,e){0===(50397184&this._bitField)&&this._resolveCallback(e.target)},c=function(t,e){e.promiseRejectionQueued||this._reject(t)};t.prototype.bind=function(o){i||(i=!0,t.prototype._propagateFrom=r.propagateFromFunction(),t.prototype._boundValue=r.boundValueFunction());var l=n(o),u=new t(e);u._propagateFrom(this,1);var p=this._target();if(u._setBoundTo(l),l instanceof t){var h={promiseRejectionQueued:!1,promise:u,target:p,bindingPromise:l};p._then(e,s,void 0,u,h),l._then(a,c,void 0,u,h),u._setOnCancel(l)}else u._resolveCallback(p);return u},t.prototype._setBoundTo=function(t){void 0!==t?(this._bitField=2097152|this._bitField,this._boundTo=t):this._bitField=-2097153&this._bitField},t.prototype._isBound=function(){return 2097152===(2097152&this._bitField)},t.bind=function(e,n){return t.resolve(n).bind(e)}}},{}],4:[function(t,e,n){"use strict";function r(){try{Promise===o&&(Promise=i)}catch(t){}return o}var i;"undefined"!=typeof Promise&&(i=Promise);var o=t("./promise")();o.noConflict=r,e.exports=o},{"./promise":22}],5:[function(t,e,n){"use strict";var r=Object.create;if(r){var i=r(null),o=r(null);i[" size"]=o[" size"]=0}e.exports=function(e){function n(t,n){var r;if(null!=t&&(r=t[n]),"function"!=typeof r){var i="Object "+a.classString(t)+" has no method '"+a.toString(n)+"'";throw new e.TypeError(i)}return r}function r(t){var e=this.pop(),r=n(t,e);return r.apply(t,this)}function i(t){return t[this]}function o(t){var e=+this;return 0>e&&(e=Math.max(0,e+t.length)),t[e]}var s,a=t("./util"),c=a.canEvaluate;a.isIdentifier;e.prototype.call=function(t){var e=[].slice.call(arguments,1);return e.push(t),this._then(r,void 0,void 0,e,void 0)},e.prototype.get=function(t){var e,n="number"==typeof t;if(n)e=o;else if(c){var r=s(t);e=null!==r?r:i}else e=i;return this._then(e,void 0,void 0,t,void 0)}}},{"./util":36}],6:[function(t,e,n){"use strict";e.exports=function(e,n,r,i){var o=t("./util"),s=o.tryCatch,a=o.errorObj,c=e._async;e.prototype["break"]=e.prototype.cancel=function(){if(!i.cancellation())return this._warn("cancellation is disabled");for(var t=this,e=t;t.isCancellable();){if(!t._cancelBy(e)){e._isFollowing()?e._followee().cancel():e._cancelBranched();break}var n=t._cancellationParent;if(null==n||!n.isCancellable()){t._isFollowing()?t._followee().cancel():t._cancelBranched();break}t._isFollowing()&&t._followee().cancel(),e=t,t=n}},e.prototype._branchHasCancelled=function(){this._branchesRemainingToCancel--},e.prototype._enoughBranchesHaveCancelled=function(){return void 0===this._branchesRemainingToCancel||this._branchesRemainingToCancel<=0},e.prototype._cancelBy=function(t){return t===this?(this._branchesRemainingToCancel=0,this._invokeOnCancel(),!0):(this._branchHasCancelled(),this._enoughBranchesHaveCancelled()?(this._invokeOnCancel(),!0):!1)},e.prototype._cancelBranched=function(){this._enoughBranchesHaveCancelled()&&this._cancel()},e.prototype._cancel=function(){this.isCancellable()&&(this._setCancelled(),c.invoke(this._cancelPromises,this,void 0))},e.prototype._cancelPromises=function(){this._length()>0&&this._settlePromises()},e.prototype._unsetOnCancel=function(){this._onCancelField=void 0},e.prototype.isCancellable=function(){return this.isPending()&&!this.isCancelled()},e.prototype._doInvokeOnCancel=function(t,e){if(o.isArray(t))for(var n=0;n=0?o[t]:void 0}var i=!1,o=[];return t.prototype._promiseCreated=function(){},t.prototype._pushContext=function(){},t.prototype._popContext=function(){return null},t._peekContext=t.prototype._peekContext=function(){},e.prototype._pushContext=function(){void 0!==this._trace&&(this._trace._promiseCreated=null,o.push(this._trace))},e.prototype._popContext=function(){if(void 0!==this._trace){var t=o.pop(),e=t._promiseCreated;return t._promiseCreated=null,e}return null},e.CapturedTrace=null,e.create=n,e.deactivateLongStackTraces=function(){},e.activateLongStackTraces=function(){var n=t.prototype._pushContext,o=t.prototype._popContext,s=t._peekContext,a=t.prototype._peekContext,c=t.prototype._promiseCreated;e.deactivateLongStackTraces=function(){t.prototype._pushContext=n,t.prototype._popContext=o,t._peekContext=s,t.prototype._peekContext=a,t.prototype._promiseCreated=c,i=!1},i=!0,t.prototype._pushContext=e.prototype._pushContext,t.prototype._popContext=e.prototype._popContext,t._peekContext=t.prototype._peekContext=r,t.prototype._promiseCreated=function(){var t=this._peekContext();t&&null==t._promiseCreated&&(t._promiseCreated=this)}},e}},{}],9:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,e){return{promise:e}}function i(){return!1}function o(t,e,n){var r=this;try{t(e,n,function(t){if("function"!=typeof t)throw new TypeError("onCancel must be a function, got: "+H.toString(t));r._attachCancellationCallback(t)})}catch(i){return i}}function s(t){if(!this.isCancellable())return this;var e=this._onCancel();void 0!==e?H.isArray(e)?e.push(t):this._setOnCancel([e,t]):this._setOnCancel(t)}function a(){return this._onCancelField}function c(t){this._onCancelField=t}function l(){this._cancellationParent=void 0,this._onCancelField=void 0}function u(t,e){if(0!==(1&e)){this._cancellationParent=t;var n=t._branchesRemainingToCancel;void 0===n&&(n=0),t._branchesRemainingToCancel=n+1}0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function p(t,e){0!==(2&e)&&t._isBound()&&this._setBoundTo(t._boundTo)}function h(){var t=this._boundTo;return void 0!==t&&t instanceof e?t.isFulfilled()?t.value():void 0:t}function f(){this._trace=new S(this._peekContext())}function _(t,e){if(N(t)){var n=this._trace;if(void 0!==n&&e&&(n=n._parent),void 0!==n)n.attachExtraTrace(t);else if(!t.__stackCleaned__){var r=j(t);H.notEnumerableProp(t,"stack",r.message+"\n"+r.stack.join("\n")),H.notEnumerableProp(t,"__stackCleaned__",!0)}}}function d(t,e,n,r,i){if(void 0===t&&null!==e&&z){if(void 0!==i&&i._returnedNonUndefined())return;if(0===(65535&r._bitField))return;n&&(n+=" ");var o="a promise was created in a "+n+"handler but was not returned from it";r._warn(o,!0,e)}}function v(t,e){var n=t+" is deprecated and will be removed in a future version.";return e&&(n+=" Use "+e+" instead."),y(n)}function y(t,n,r){if(rt.warnings){var i,o=new L(t);if(n)r._attachExtraTrace(o);else if(rt.longStackTraces&&(i=e._peekContext()))i.attachExtraTrace(o);else{var s=j(o);o.stack=s.message+"\n"+s.stack.join("\n")}Y("warning",o)||k(o,"",!0)}}function m(t,e){for(var n=0;n=0;--a)if(r[a]===o){s=a;break}for(var a=s;a>=0;--a){var c=r[a];if(e[i]!==c)break;e.pop(),i--}e=r}}function w(t){for(var e=[],n=0;n0&&(e=e.slice(n)),e}function j(t){var e=t.stack,n=t.toString();return e="string"==typeof e&&e.length>0?C(t):[" (No stack trace)"],{message:n,stack:w(e)}}function k(t,e,n){if("undefined"!=typeof console){var r;if(H.isObject(t)){var i=t.stack;r=e+M(i,t)}else r=e+String(t);"function"==typeof D?D(r,n):("function"==typeof console.log||"object"==typeof console.log)&&console.log(r)}}function E(t,e,n,r){var i=!1;try{"function"==typeof e&&(i=!0,"rejectionHandled"===t?e(r):e(n,r))}catch(o){I.throwLater(o)}"unhandledRejection"===t?Y(t,n,r)||i||k(n,"Unhandled rejection "):Y(t,r)}function F(t){var e;if("function"==typeof t)e="[function "+(t.name||"anonymous")+"]";else{e=t&&"function"==typeof t.toString?t.toString():H.toString(t);var n=/\[object [a-zA-Z0-9$_]+\]/;if(n.test(e))try{var r=JSON.stringify(t);e=r}catch(i){}0===e.length&&(e="(empty array)")}return"(<"+x(e)+">, no stack trace)"}function x(t){var e=41;return t.lengths||0>a||!n||!r||n!==r||s>=a||(tt=function(t){if(U.test(t))return!0;var e=P(t);return e&&e.fileName===n&&s<=e.line&&e.line<=a?!0:!1})}}function S(t){this._parent=t,this._promisesCreated=0;var e=this._length=1+(void 0===t?0:t._length);nt(this,S),e>32&&this.uncycle()}var O,A,D,V=e._getDomain,I=e._async,L=t("./errors").Warning,H=t("./util"),N=H.canAttachTrace,U=/[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/,B=null,M=null,q=!1,Q=!(0==H.env("BLUEBIRD_DEBUG")||!H.env("BLUEBIRD_DEBUG")&&"development"!==H.env("NODE_ENV")),$=!(0==H.env("BLUEBIRD_WARNINGS")||!Q&&!H.env("BLUEBIRD_WARNINGS")),G=!(0==H.env("BLUEBIRD_LONG_STACK_TRACES")||!Q&&!H.env("BLUEBIRD_LONG_STACK_TRACES")),z=0!=H.env("BLUEBIRD_W_FORGOTTEN_RETURN")&&($||!!H.env("BLUEBIRD_W_FORGOTTEN_RETURN"));e.prototype.suppressUnhandledRejections=function(){var t=this._target();t._bitField=-1048577&t._bitField|524288},e.prototype._ensurePossibleRejectionHandled=function(){0===(524288&this._bitField)&&(this._setRejectionIsUnhandled(),I.invokeLater(this._notifyUnhandledRejection,this,void 0))},e.prototype._notifyUnhandledRejectionIsHandled=function(){E("rejectionHandled",O,void 0,this)},e.prototype._setReturnedNonUndefined=function(){this._bitField=268435456|this._bitField},e.prototype._returnedNonUndefined=function(){return 0!==(268435456&this._bitField)},e.prototype._notifyUnhandledRejection=function(){if(this._isRejectionUnhandled()){var t=this._settledValue();this._setUnhandledRejectionIsNotified(),E("unhandledRejection",A,t,this)}},e.prototype._setUnhandledRejectionIsNotified=function(){this._bitField=262144|this._bitField},e.prototype._unsetUnhandledRejectionIsNotified=function(){this._bitField=-262145&this._bitField},e.prototype._isUnhandledRejectionNotified=function(){return(262144&this._bitField)>0},e.prototype._setRejectionIsUnhandled=function(){this._bitField=1048576|this._bitField},e.prototype._unsetRejectionIsUnhandled=function(){this._bitField=-1048577&this._bitField,this._isUnhandledRejectionNotified()&&(this._unsetUnhandledRejectionIsNotified(),this._notifyUnhandledRejectionIsHandled())},e.prototype._isRejectionUnhandled=function(){return(1048576&this._bitField)>0},e.prototype._warn=function(t,e,n){return y(t,e,n||this)},e.onPossiblyUnhandledRejection=function(t){var e=V();A="function"==typeof t?null===e?t:e.bind(t):void 0},e.onUnhandledRejectionHandled=function(t){var e=V();O="function"==typeof t?null===e?t:e.bind(t):void 0};var X=function(){};e.longStackTraces=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");if(!rt.longStackTraces&&T()){var t=e.prototype._captureStackTrace,r=e.prototype._attachExtraTrace;rt.longStackTraces=!0,X=function(){if(I.haveItemsQueued()&&!rt.longStackTraces)throw new Error("cannot enable long stack traces after promises have been created\n\n See http://goo.gl/MqrFmX\n");e.prototype._captureStackTrace=t,e.prototype._attachExtraTrace=r,n.deactivateLongStackTraces(),I.enableTrampoline(),rt.longStackTraces=!1},e.prototype._captureStackTrace=f,e.prototype._attachExtraTrace=_,n.activateLongStackTraces(),I.disableTrampolineIfNecessary()}},e.hasLongStackTraces=function(){return rt.longStackTraces&&T()};var W=function(){try{var t=document.createEvent("CustomEvent");return t.initCustomEvent("testingtheevent",!1,!0,{}),H.global.dispatchEvent(t),function(t,e){var n=document.createEvent("CustomEvent");return n.initCustomEvent(t.toLowerCase(),!1,!0,e),!H.global.dispatchEvent(n)}}catch(e){}return function(){return!1}}(),K=function(){return H.isNode?function(){return process.emit.apply(process,arguments)}:H.global?function(t){var e="on"+t.toLowerCase(),n=H.global[e];return n?(n.apply(H.global,[].slice.call(arguments,1)),!0):!1}:function(){return!1}}(),J={promiseCreated:r,promiseFulfilled:r,promiseRejected:r,promiseResolved:r,promiseCancelled:r,promiseChained:function(t,e,n){return{promise:e,child:n}},warning:function(t,e){return{warning:e}},unhandledRejection:function(t,e,n){return{reason:e,promise:n}},rejectionHandled:r},Y=function(t){var e=!1;try{e=K.apply(null,arguments)}catch(n){I.throwLater(n),e=!0}var r=!1;try{r=W(t,J[t].apply(null,arguments))}catch(n){I.throwLater(n),r=!0}return r||e};e.config=function(t){if(t=Object(t),"longStackTraces"in t&&(t.longStackTraces?e.longStackTraces():!t.longStackTraces&&e.hasLongStackTraces()&&X()),"warnings"in t){var n=t.warnings;rt.warnings=!!n,z=rt.warnings,H.isObject(n)&&"wForgottenReturn"in n&&(z=!!n.wForgottenReturn)}if("cancellation"in t&&t.cancellation&&!rt.cancellation){if(I.haveItemsQueued())throw new Error("cannot enable cancellation after promises are in use");e.prototype._clearCancellationData=l,e.prototype._propagateFrom=u,e.prototype._onCancel=a,e.prototype._setOnCancel=c,e.prototype._attachCancellationCallback=s,e.prototype._execute=o,Z=u,rt.cancellation=!0}"monitoring"in t&&(t.monitoring&&!rt.monitoring?(rt.monitoring=!0,e.prototype._fireEvent=Y):!t.monitoring&&rt.monitoring&&(rt.monitoring=!1,e.prototype._fireEvent=i))},e.prototype._fireEvent=i,e.prototype._execute=function(t,e,n){try{t(e,n)}catch(r){return r}},e.prototype._onCancel=function(){},e.prototype._setOnCancel=function(t){},e.prototype._attachCancellationCallback=function(t){},e.prototype._captureStackTrace=function(){},e.prototype._attachExtraTrace=function(){},e.prototype._clearCancellationData=function(){},e.prototype._propagateFrom=function(t,e){};var Z=p,tt=function(){return!1},et=/[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/;H.inherits(S,Error),n.CapturedTrace=S,S.prototype.uncycle=function(){var t=this._length;if(!(2>t)){for(var e=[],n={},r=0,i=this;void 0!==i;++r)e.push(i),i=i._parent;t=this._length=r;for(var r=t-1;r>=0;--r){var o=e[r].stack;void 0===n[o]&&(n[o]=r)}for(var r=0;t>r;++r){var s=e[r].stack,a=n[s];if(void 0!==a&&a!==r){a>0&&(e[a-1]._parent=void 0,e[a-1]._length=1),e[r]._parent=void 0,e[r]._length=1;var c=r>0?e[r-1]:this;t-1>a?(c._parent=e[a+1],c._parent.uncycle(),c._length=c._parent._length+1):(c._parent=void 0,c._length=1);for(var l=c._length+1,u=r-2;u>=0;--u)e[u]._length=l,l++;return}}}},S.prototype.attachExtraTrace=function(t){if(!t.__stackCleaned__){this.uncycle();for(var e=j(t),n=e.message,r=[e.stack],i=this;void 0!==i;)r.push(w(i.stack.split("\n"))),i=i._parent;b(r),g(r),H.notEnumerableProp(t,"stack",m(n,r)),H.notEnumerableProp(t,"__stackCleaned__",!0)}};var nt=function(){var t=/^\s*at\s*/,e=function(t,e){return"string"==typeof t?t:void 0!==e.name&&void 0!==e.message?e.toString():F(e)};if("number"==typeof Error.stackTraceLimit&&"function"==typeof Error.captureStackTrace){Error.stackTraceLimit+=6,B=t,M=e;var n=Error.captureStackTrace;return tt=function(t){return U.test(t)},function(t,e){Error.stackTraceLimit+=6,n(t,e),Error.stackTraceLimit-=6}}var r=new Error;if("string"==typeof r.stack&&r.stack.split("\n")[0].indexOf("stackDetection@")>=0)return B=/@/,M=e,q=!0,function(t){t.stack=(new Error).stack};var i;try{throw new Error}catch(o){i="stack"in o}return"stack"in r||!i||"number"!=typeof Error.stackTraceLimit?(M=function(t,e){return"string"==typeof t?t:"object"!=typeof e&&"function"!=typeof e||void 0===e.name||void 0===e.message?F(e):e.toString()},null):(B=t,M=e,function(t){Error.stackTraceLimit+=6;try{throw new Error}catch(e){t.stack=e.stack}Error.stackTraceLimit-=6})}([]);"undefined"!=typeof console&&"undefined"!=typeof console.warn&&(D=function(t){console.warn(t)},H.isNode&&process.stderr.isTTY?D=function(t,e){var n=e?"":"";console.warn(n+t+"\n")}:H.isNode||"string"!=typeof(new Error).stack||(D=function(t,e){console.warn("%c"+t,e?"color: darkorange":"color: red")}));var rt={warnings:$,longStackTraces:!1,cancellation:!1,monitoring:!1};return G&&e.longStackTraces(),{longStackTraces:function(){return rt.longStackTraces},warnings:function(){return rt.warnings},cancellation:function(){return rt.cancellation},monitoring:function(){return rt.monitoring},propagateFromFunction:function(){return Z},boundValueFunction:function(){return h},checkForgottenReturns:d,setBounds:R,warn:y,deprecated:v,CapturedTrace:S,fireDomEvent:W,fireGlobalEvent:K}}},{"./errors":12,"./util":36}],10:[function(t,e,n){"use strict";e.exports=function(t){function e(){return this.value}function n(){throw this.reason}t.prototype["return"]=t.prototype.thenReturn=function(n){return n instanceof t&&n.suppressUnhandledRejections(),this._then(e,void 0,void 0,{value:n},void 0)},t.prototype["throw"]=t.prototype.thenThrow=function(t){return this._then(n,void 0,void 0,{reason:t},void 0)},t.prototype.catchThrow=function(t){if(arguments.length<=1)return this._then(void 0,n,void 0,{reason:t},void 0);var e=arguments[1],r=function(){throw e};return this.caught(t,r)},t.prototype.catchReturn=function(n){if(arguments.length<=1)return n instanceof t&&n.suppressUnhandledRejections(),this._then(void 0,e,void 0,{value:n},void 0);var r=arguments[1];r instanceof t&&r.suppressUnhandledRejections();var i=function(){return r};return this.caught(n,i)}}},{}],11:[function(t,e,n){"use strict";e.exports=function(t,e){function n(){return o(this)}function r(t,n){return i(t,n,e,e)}var i=t.reduce,o=t.all;t.prototype.each=function(t){return this.mapSeries(t)._then(n,void 0,void 0,this,void 0)},t.prototype.mapSeries=function(t){return i(this,t,e,e)},t.each=function(t,e){return r(t,e)._then(n,void 0,void 0,t,void 0)},t.mapSeries=r}},{}],12:[function(t,e,n){"use strict";function r(t,e){function n(r){return this instanceof n?(p(this,"message","string"==typeof r?r:e),p(this,"name",t),void(Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):Error.call(this))):new n(r)}return u(n,Error),n}function i(t){return this instanceof i?(p(this,"name","OperationalError"),p(this,"message",t),this.cause=t,this.isOperational=!0,void(t instanceof Error?(p(this,"message",t.message),p(this,"stack",t.stack)):Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor))):new i(t)}var o,s,a=t("./es5"),c=a.freeze,l=t("./util"),u=l.inherits,p=l.notEnumerableProp,h=r("Warning","warning"),f=r("CancellationError","cancellation error"),_=r("TimeoutError","timeout error"),d=r("AggregateError","aggregate error");try{o=TypeError,s=RangeError}catch(v){o=r("TypeError","type error"),s=r("RangeError","range error")}for(var y="join pop push shift unshift slice filter forEach some every map indexOf lastIndexOf reduce reduceRight sort reverse".split(" "),m=0;m1?t.cancelPromise._reject(e):t.cancelPromise._cancel(),t.cancelPromise=null,!0):!1}function s(){return c.call(this,this.promise._target()._settledValue())}function a(t){return o(this,t)?void 0:(p.e=t,p)}function c(t){var r=this.promise,c=this.handler;if(!this.called){this.called=!0;var l=this.isFinallyHandler()?c.call(r._boundValue()):c.call(r._boundValue(),t);if(void 0!==l){r._setReturnedNonUndefined();var h=n(l,r);if(h instanceof e){if(null!=this.cancelPromise){if(h.isCancelled()){var f=new u("late cancellation observer");return r._attachExtraTrace(f),p.e=f,p}h.isPending()&&h._attachCancellationCallback(new i(this))}return h._then(s,a,void 0,this,void 0)}}}return r.isRejected()?(o(this),p.e=t,p):(o(this),t)}var l=t("./util"),u=e.CancellationError,p=l.errorObj;return r.prototype.isFinallyHandler=function(){return 0===this.type},i.prototype._resultCancelled=function(){o(this.finallyHandler)},e.prototype._passThrough=function(t,e,n,i){return"function"!=typeof t?this.then():this._then(n,i,void 0,new r(this,e,t),void 0)},e.prototype.lastly=e.prototype["finally"]=function(t){return this._passThrough(t,0,c,c)},e.prototype.tap=function(t){return this._passThrough(t,1,c)},r}},{"./util":36}],16:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r){for(var o=0;o0&&"function"==typeof arguments[e]){t=arguments[e];var r}var i=[].slice.call(arguments);t&&i.pop();var r=new n(i).promise();return void 0!==t?r.spread(t):r}}},{"./util":36}],18:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,e,n,r){this.constructor$(t),this._promise._captureStackTrace();var i=l();this._callback=null===i?e:i.bind(e), +this._preservedValues=r===o?new Array(this.length()):null,this._limit=n,this._inFlight=0,this._queue=n>=1?[]:f,this._init$(void 0,-2)}function c(t,n,i,o){if("function"!=typeof n)return r("expecting a function but got "+u.classString(n));var s=0;if(void 0!==i){if("object"!=typeof i||null===i)return e.reject(new TypeError("options argument must be an object but it is "+u.classString(i)));if("number"!=typeof i.concurrency)return e.reject(new TypeError("'concurrency' must be a number but it is "+u.classString(i.concurrency)));s=i.concurrency}return s="number"==typeof s&&isFinite(s)&&s>=1?s:0,new a(t,n,s,o).promise()}var l=e._getDomain,u=t("./util"),p=u.tryCatch,h=u.errorObj,f=[];u.inherits(a,n),a.prototype._init=function(){},a.prototype._promiseFulfilled=function(t,n){var r=this._values,o=this.length(),a=this._preservedValues,c=this._limit;if(0>n){if(n=-1*n-1,r[n]=t,c>=1&&(this._inFlight--,this._drainQueue(),this._isResolved()))return!0}else{if(c>=1&&this._inFlight>=c)return r[n]=t,this._queue.push(n),!1;null!==a&&(a[n]=t);var l=this._promise,u=this._callback,f=l._boundValue();l._pushContext();var _=p(u).call(f,t,n,o),d=l._popContext();if(s.checkForgottenReturns(_,d,null!==a?"Promise.filter":"Promise.map",l),_===h)return this._reject(_.e),!0;var v=i(_,this._promise);if(v instanceof e){v=v._target();var y=v._bitField;if(0===(50397184&y))return c>=1&&this._inFlight++,r[n]=v,v._proxy(this,-1*(n+1)),!1;if(0===(33554432&y))return 0!==(16777216&y)?(this._reject(v._reason()),!0):(this._cancel(),!0);_=v._value()}r[n]=_}var m=++this._totalResolved;return m>=o?(null!==a?this._filter(r,a):this._resolve(r),!0):!1},a.prototype._drainQueue=function(){for(var t=this._queue,e=this._limit,n=this._values;t.length>0&&this._inFlighto;++o)t[o]&&(r[i++]=e[o]);r.length=i,this._resolve(r)},a.prototype.preservedValues=function(){return this._preservedValues},e.prototype.map=function(t,e){return c(this,t,e,null)},e.map=function(t,e,n,r){return c(t,e,n,r)}}},{"./util":36}],19:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){var s=t("./util"),a=s.tryCatch;e.method=function(t){if("function"!=typeof t)throw new e.TypeError("expecting a function but got "+s.classString(t));return function(){var r=new e(n);r._captureStackTrace(),r._pushContext();var i=a(t).apply(this,arguments),s=r._popContext();return o.checkForgottenReturns(i,s,"Promise.method",r),r._resolveFromSyncValue(i),r}},e.attempt=e["try"]=function(t){if("function"!=typeof t)return i("expecting a function but got "+s.classString(t));var r=new e(n);r._captureStackTrace(),r._pushContext();var c;if(arguments.length>1){o.deprecated("calling Promise.try with more than 1 argument");var l=arguments[1],u=arguments[2];c=s.isArray(l)?a(t).apply(u,l):a(t).call(u,l)}else c=a(t)();var p=r._popContext();return o.checkForgottenReturns(c,p,"Promise.try",r),r._resolveFromSyncValue(c),r},e.prototype._resolveFromSyncValue=function(t){t===s.errorObj?this._rejectCallback(t.e,!1):this._resolveCallback(t,!0)}}},{"./util":36}],20:[function(t,e,n){"use strict";function r(t){return t instanceof Error&&u.getPrototypeOf(t)===Error.prototype}function i(t){var e;if(r(t)){e=new l(t),e.name=t.name,e.message=t.message,e.stack=t.stack;for(var n=u.keys(t),i=0;i1){var n,r=new Array(e-1),i=0;for(n=0;e-1>n;++n){var o=arguments[n];if(!h.isObject(o))return u("expecting an object but got "+h.classString(o));r[i++]=o}return r.length=i,t=arguments[n],this.then(void 0,T(r,t,this))}return this.then(void 0,t)},r.prototype.reflect=function(){return this._then(l,l,void 0,this,void 0)},r.prototype.then=function(t,e){if(F.warnings()&&arguments.length>0&&"function"!=typeof t&&"function"!=typeof e){var n=".then() only accepts functions but was passed: "+h.classString(t);arguments.length>1&&(n+=", "+h.classString(e)),this._warn(n)}return this._then(t,e,void 0,void 0,void 0)},r.prototype.done=function(t,e){var n=this._then(t,e,void 0,void 0,void 0);n._setIsFinal()},r.prototype.spread=function(t){return"function"!=typeof t?u("expecting a function but got "+h.classString(t)):this.all()._then(t,void 0,void 0,b,void 0)},r.prototype.toJSON=function(){var t={isFulfilled:!1,isRejected:!1,fulfillmentValue:void 0,rejectionReason:void 0};return this.isFulfilled()?(t.fulfillmentValue=this.value(),t.isFulfilled=!0):this.isRejected()&&(t.rejectionReason=this.reason(),t.isRejected=!0),t},r.prototype.all=function(){return arguments.length>0&&this._warn(".all() was passed arguments but it does not take any"),new j(this).promise()},r.prototype.error=function(t){return this.caught(h.originatesFromRejection,t)},r.is=function(t){return t instanceof r},r.fromNode=r.fromCallback=function(t){var e=new r(g);e._captureStackTrace();var n=arguments.length>1?!!Object(arguments[1]).multiArgs:!1,i=S(t)(P(e,n));return i===R&&e._rejectCallback(i.e,!0),e._isFateSealed()||e._setAsyncGuaranteed(),e},r.all=function(t){return new j(t).promise()},r.cast=function(t){var e=C(t);return e instanceof r||(e=new r(g),e._captureStackTrace(),e._setFulfilled(),e._rejectionHandler0=t),e},r.resolve=r.fulfilled=r.cast,r.reject=r.rejected=function(t){var e=new r(g);return e._captureStackTrace(),e._rejectCallback(t,!0),e},r.setScheduler=function(t){if("function"!=typeof t)throw new y("expecting a function but got "+h.classString(t));return d.setScheduler(t)},r.prototype._then=function(t,e,n,i,o){var s=void 0!==o,c=s?o:new r(g),l=this._target(),u=l._bitField;s||(c._propagateFrom(this,3),c._captureStackTrace(),void 0===i&&0!==(2097152&this._bitField)&&(i=0!==(50397184&u)?this._boundValue():l===this?void 0:this._boundTo),this._fireEvent("promiseChained",this,c));var p=a();if(0!==(50397184&u)){var h,f,_=l._settlePromiseCtx;0!==(33554432&u)?(f=l._rejectionHandler0,h=t):0!==(16777216&u)?(f=l._fulfillmentHandler0,h=e,l._unsetRejectionIsUnhandled()):(_=l._settlePromiseLateCancellationObserver,f=new m("late cancellation observer"),l._attachExtraTrace(f),h=e),d.invoke(_,l,{handler:null===p?h:"function"==typeof h&&p.bind(h),promise:c,receiver:i,value:f})}else l._addCallbacks(t,e,c,i,p);return c},r.prototype._length=function(){return 65535&this._bitField},r.prototype._isFateSealed=function(){return 0!==(117506048&this._bitField)},r.prototype._isFollowing=function(){return 67108864===(67108864&this._bitField)},r.prototype._setLength=function(t){this._bitField=-65536&this._bitField|65535&t},r.prototype._setFulfilled=function(){this._bitField=33554432|this._bitField,this._fireEvent("promiseFulfilled",this)},r.prototype._setRejected=function(){this._bitField=16777216|this._bitField,this._fireEvent("promiseRejected",this)},r.prototype._setFollowing=function(){this._bitField=67108864|this._bitField,this._fireEvent("promiseResolved",this)},r.prototype._setIsFinal=function(){this._bitField=4194304|this._bitField},r.prototype._isFinal=function(){return(4194304&this._bitField)>0},r.prototype._unsetCancelled=function(){this._bitField=-65537&this._bitField},r.prototype._setCancelled=function(){this._bitField=65536|this._bitField,this._fireEvent("promiseCancelled",this)},r.prototype._setAsyncGuaranteed=function(){d.hasCustomScheduler()||(this._bitField=134217728|this._bitField)},r.prototype._receiverAt=function(t){var e=0===t?this._receiver0:this[4*t-4+3];return e===p?void 0:void 0===e&&this._isBound()?this._boundValue():e},r.prototype._promiseAt=function(t){return this[4*t-4+2]},r.prototype._fulfillmentHandlerAt=function(t){return this[4*t-4+0]},r.prototype._rejectionHandlerAt=function(t){return this[4*t-4+1]},r.prototype._boundValue=function(){},r.prototype._migrateCallback0=function(t){var e=(t._bitField,t._fulfillmentHandler0),n=t._rejectionHandler0,r=t._promise0,i=t._receiverAt(0);void 0===i&&(i=p),this._addCallbacks(e,n,r,i,null)},r.prototype._migrateCallbackAt=function(t,e){var n=t._fulfillmentHandlerAt(e),r=t._rejectionHandlerAt(e),i=t._promiseAt(e),o=t._receiverAt(e);void 0===o&&(o=p),this._addCallbacks(n,r,i,o,null)},r.prototype._addCallbacks=function(t,e,n,r,i){var o=this._length();if(o>=65531&&(o=0,this._setLength(0)),0===o)this._promise0=n,this._receiver0=r,"function"==typeof t&&(this._fulfillmentHandler0=null===i?t:i.bind(t)),"function"==typeof e&&(this._rejectionHandler0=null===i?e:i.bind(e));else{var s=4*o-4;this[s+2]=n,this[s+3]=r,"function"==typeof t&&(this[s+0]=null===i?t:i.bind(t)),"function"==typeof e&&(this[s+1]=null===i?e:i.bind(e))}return this._setLength(o+1),o},r.prototype._proxy=function(t,e){this._addCallbacks(void 0,void 0,e,t,null)},r.prototype._resolveCallback=function(t,e){if(0===(117506048&this._bitField)){if(t===this)return this._rejectCallback(c(),!1);var n=C(t,this);if(!(n instanceof r))return this._fulfill(t);e&&this._propagateFrom(n,2);var i=n._target();if(i===this)return void this._reject(c());var o=i._bitField;if(0===(50397184&o)){var s=this._length();s>0&&i._migrateCallback0(this);for(var a=1;s>a;++a)i._migrateCallbackAt(this,a);this._setFollowing(),this._setLength(0),this._setFollowee(i)}else if(0!==(33554432&o))this._fulfill(i._value());else if(0!==(16777216&o))this._reject(i._reason());else{var l=new m("late cancellation observer");i._attachExtraTrace(l),this._reject(l)}}},r.prototype._rejectCallback=function(t,e,n){var r=h.ensureErrorObject(t),i=r===t;if(!i&&!n&&F.warnings()){var o="a promise was rejected with a non-error: "+h.classString(t);this._warn(o,!0)}this._attachExtraTrace(r,e?i:!1),this._reject(t)},r.prototype._resolveFromExecutor=function(t){var e=this;this._captureStackTrace(),this._pushContext();var n=!0,r=this._execute(t,function(t){e._resolveCallback(t)},function(t){e._rejectCallback(t,n)});n=!1,this._popContext(),void 0!==r&&e._rejectCallback(r,!0)},r.prototype._settlePromiseFromHandler=function(t,e,n,r){var i=r._bitField;if(0===(65536&i)){r._pushContext();var o;e===b?n&&"number"==typeof n.length?o=S(t).apply(this._boundValue(),n):(o=R,o.e=new y("cannot .spread() a non-array: "+h.classString(n))):o=S(t).call(e,n);var s=r._popContext();i=r._bitField,0===(65536&i)&&(o===w?r._reject(n):o===R?r._rejectCallback(o.e,!1):(F.checkForgottenReturns(o,s,"",r,this),r._resolveCallback(o)))}},r.prototype._target=function(){for(var t=this;t._isFollowing();)t=t._followee();return t},r.prototype._followee=function(){return this._rejectionHandler0},r.prototype._setFollowee=function(t){this._rejectionHandler0=t},r.prototype._settlePromise=function(t,n,i,o){var s=t instanceof r,a=this._bitField,c=0!==(134217728&a);0!==(65536&a)?(s&&t._invokeInternalOnCancel(),i instanceof x&&i.isFinallyHandler()?(i.cancelPromise=t,S(n).call(i,o)===R&&t._reject(R.e)):n===l?t._fulfill(l.call(i)):i instanceof e?i._promiseCancelled(t):s||t instanceof j?t._cancel():i.cancel()):"function"==typeof n?s?(c&&t._setAsyncGuaranteed(),this._settlePromiseFromHandler(n,i,o,t)):n.call(i,o,t):i instanceof e?i._isResolved()||(0!==(33554432&a)?i._promiseFulfilled(o,t):i._promiseRejected(o,t)):s&&(c&&t._setAsyncGuaranteed(),0!==(33554432&a)?t._fulfill(o):t._reject(o))},r.prototype._settlePromiseLateCancellationObserver=function(t){var e=t.handler,n=t.promise,i=t.receiver,o=t.value;"function"==typeof e?n instanceof r?this._settlePromiseFromHandler(e,i,o,n):e.call(i,o,n):n instanceof r&&n._reject(o)},r.prototype._settlePromiseCtx=function(t){this._settlePromise(t.promise,t.handler,t.receiver,t.value)},r.prototype._settlePromise0=function(t,e,n){var r=this._promise0,i=this._receiverAt(0);this._promise0=void 0,this._receiver0=void 0,this._settlePromise(r,t,i,e)},r.prototype._clearCallbackDataAtIndex=function(t){var e=4*t-4;this[e+2]=this[e+3]=this[e+0]=this[e+1]=void 0},r.prototype._fulfill=function(t){var e=this._bitField;if(!((117506048&e)>>>16)){if(t===this){var n=c();return this._attachExtraTrace(n),this._reject(n)}this._setFulfilled(),this._rejectionHandler0=t,(65535&e)>0&&(0!==(134217728&e)?this._settlePromises():d.settlePromises(this))}},r.prototype._reject=function(t){var e=this._bitField;if(!((117506048&e)>>>16))return this._setRejected(),this._fulfillmentHandler0=t,this._isFinal()?d.fatalError(t,h.isNode):void((65535&e)>0?d.settlePromises(this):this._ensurePossibleRejectionHandled())},r.prototype._fulfillPromises=function(t,e){for(var n=1;t>n;n++){var r=this._fulfillmentHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._rejectPromises=function(t,e){for(var n=1;t>n;n++){var r=this._rejectionHandlerAt(n),i=this._promiseAt(n),o=this._receiverAt(n);this._clearCallbackDataAtIndex(n),this._settlePromise(i,r,o,e)}},r.prototype._settlePromises=function(){var t=this._bitField,e=65535&t;if(e>0){if(0!==(16842752&t)){var n=this._fulfillmentHandler0;this._settlePromise0(this._rejectionHandler0,n,t),this._rejectPromises(e,n)}else{var r=this._rejectionHandler0;this._settlePromise0(this._fulfillmentHandler0,r,t),this._fulfillPromises(e,r)}this._setLength(0)}this._clearCancellationData()},r.prototype._settledValue=function(){var t=this._bitField;return 0!==(33554432&t)?this._rejectionHandler0:0!==(16777216&t)?this._fulfillmentHandler0:void 0},r.defer=r.pending=function(){F.deprecated("Promise.defer","new Promise");var t=new r(g);return{promise:t,resolve:i,reject:o}},h.notEnumerableProp(r,"_makeSelfResolutionError",c),t("./method")(r,g,C,u,F),t("./bind")(r,g,C,F),t("./cancel")(r,j,u,F),t("./direct_resolve")(r),t("./synchronous_inspection")(r),t("./join")(r,j,C,g,F),r.Promise=r,r.version="3.4.0",t("./map.js")(r,j,u,C,g,F),t("./call_get.js")(r),t("./using.js")(r,u,C,E,g,F),t("./timers.js")(r,g,F),t("./generators.js")(r,u,g,C,e,F),t("./nodeify.js")(r),t("./promisify.js")(r,g),t("./props.js")(r,j,C,u),t("./race.js")(r,g,C,u),t("./reduce.js")(r,j,u,C,g,F),t("./settle.js")(r,j,F),t("./some.js")(r,j,u),t("./filter.js")(r,g),t("./each.js")(r,g),t("./any.js")(r),h.toFastProperties(r),h.toFastProperties(r.prototype),s({a:1}),s({b:2}),s({c:3}),s(1),s(function(){}),s(void 0),s(!1),s(new r(g)),F.setBounds(_.firstLineError,h.lastLineError),r}},{"./any.js":1,"./async":2,"./bind":3,"./call_get.js":5,"./cancel":6,"./catch_filter":7,"./context":8,"./debuggability":9,"./direct_resolve":10,"./each.js":11,"./errors":12,"./es5":13,"./filter.js":14,"./finally":15,"./generators.js":16,"./join":17,"./map.js":18,"./method":19,"./nodeback":20,"./nodeify.js":21,"./promise_array":23,"./promisify.js":24,"./props.js":25,"./race.js":27,"./reduce.js":28,"./settle.js":30,"./some.js":31,"./synchronous_inspection":32,"./thenables":33,"./timers.js":34,"./using.js":35,"./util":36}],23:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o){function s(t){switch(t){case-2:return[];case-3:return{}}}function a(t){var r=this._promise=new e(n);t instanceof e&&r._propagateFrom(t,3),r._setOnCancel(this),this._values=t,this._length=0,this._totalResolved=0,this._init(void 0,-2)}var c=t("./util");c.isArray;return c.inherits(a,o),a.prototype.length=function(){return this._length},a.prototype.promise=function(){return this._promise},a.prototype._init=function l(t,n){var o=r(this._values,this._promise);if(o instanceof e){o=o._target();var a=o._bitField;if(this._values=o,0===(50397184&a))return this._promise._setAsyncGuaranteed(),o._then(l,this._reject,void 0,this,n);if(0===(33554432&a))return 0!==(16777216&a)?this._reject(o._reason()):this._cancel();o=o._value()}if(o=c.asArray(o),null===o){var u=i("expecting an array or an iterable object but got "+c.classString(o)).reason();return void this._promise._rejectCallback(u,!1)}return 0===o.length?void(-5===n?this._resolveEmptyArray():this._resolve(s(n))):void this._iterate(o)},a.prototype._iterate=function(t){var n=this.getActualLength(t.length);this._length=n,this._values=this.shouldCopyValues()?new Array(n):this._values;for(var i=this._promise,o=!1,s=null,a=0;n>a;++a){var c=r(t[a],i);c instanceof e?(c=c._target(),s=c._bitField):s=null,o?null!==s&&c.suppressUnhandledRejections():null!==s?0===(50397184&s)?(c._proxy(this,a),this._values[a]=c):o=0!==(33554432&s)?this._promiseFulfilled(c._value(),a):0!==(16777216&s)?this._promiseRejected(c._reason(),a):this._promiseCancelled(a):o=this._promiseFulfilled(c,a)}o||i._setAsyncGuaranteed()},a.prototype._isResolved=function(){return null===this._values},a.prototype._resolve=function(t){this._values=null,this._promise._fulfill(t)},a.prototype._cancel=function(){!this._isResolved()&&this._promise.isCancellable()&&(this._values=null,this._promise._cancel())},a.prototype._reject=function(t){this._values=null,this._promise._rejectCallback(t,!1)},a.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},a.prototype._promiseCancelled=function(){return this._cancel(),!0},a.prototype._promiseRejected=function(t){return this._totalResolved++,this._reject(t),!0},a.prototype._resultCancelled=function(){if(!this._isResolved()){var t=this._values;if(this._cancel(),t instanceof e)t.cancel();else for(var n=0;nc;c+=2){var u=s[c],p=s[c+1],_=u+e;if(r===E)t[_]=E(u,h,u,p,e,i);else{var d=r(p,function(){return E(u,h,u,p,e,i)});f.notEnumerableProp(d,"__isPromisified__",!0),t[_]=d}}return f.toFastProperties(t),t}function u(t,e,n){return E(t,e,void 0,t,null,n)}var p,h={},f=t("./util"),_=t("./nodeback"),d=f.withAppended,v=f.maybeWrapAsError,y=f.canEvaluate,m=t("./errors").TypeError,g="Async",b={__isPromisified__:!0},w=["arity","length","name","arguments","caller","callee","prototype","__isPromisified__"],C=new RegExp("^(?:"+w.join("|")+")$"),j=function(t){return f.isIdentifier(t)&&"_"!==t.charAt(0)&&"constructor"!==t},k=function(t){return t.replace(/([$])/,"\\$")},E=y?p:c;e.promisify=function(t,e){if("function"!=typeof t)throw new m("expecting a function but got "+f.classString(t));if(i(t))return t;e=Object(e);var n=void 0===e.context?h:e.context,o=!!e.multiArgs,s=u(t,n,o);return f.copyDescriptors(t,s,r),s},e.promisifyAll=function(t,e){if("function"!=typeof t&&"object"!=typeof t)throw new m("the target of promisifyAll must be an object or a function\n\n See http://goo.gl/MqrFmX\n");e=Object(e);var n=!!e.multiArgs,r=e.suffix;"string"!=typeof r&&(r=g);var i=e.filter;"function"!=typeof i&&(i=j);var o=e.promisifier;if("function"!=typeof o&&(o=E),!f.isIdentifier(r))throw new RangeError("suffix must be a valid identifier\n\n See http://goo.gl/MqrFmX\n");for(var s=f.inheritedDataKeys(t),a=0;ao;++o){var s=r[o];e[o]=t[s],e[o+i]=s}}this.constructor$(e),this._isMap=n,this._init$(void 0,-3)}function s(t){var n,s=r(t);return l(s)?(n=s instanceof e?s._then(e.props,void 0,void 0,void 0,void 0):new o(s).promise(),s instanceof e&&n._propagateFrom(s,2),n):i("cannot await properties of a non-object\n\n See http://goo.gl/MqrFmX\n")}var a,c=t("./util"),l=c.isObject,u=t("./es5");"function"==typeof Map&&(a=Map);var p=function(){function t(t,r){this[e]=t,this[e+n]=r,e++}var e=0,n=0;return function(r){n=r.size,e=0;var i=new Array(2*r.size);return r.forEach(t,i),i}}(),h=function(t){for(var e=new a,n=t.length/2|0,r=0;n>r;++r){var i=t[n+r],o=t[r];e.set(i,o)}return e};c.inherits(o,n),o.prototype._init=function(){},o.prototype._promiseFulfilled=function(t,e){this._values[e]=t;var n=++this._totalResolved;if(n>=this._length){var r;if(this._isMap)r=h(this._values);else{r={};for(var i=this.length(),o=0,s=this.length();s>o;++o)r[this._values[o+i]]=this._values[o]}return this._resolve(r),!0}return!1},o.prototype.shouldCopyValues=function(){return!1},o.prototype.getActualLength=function(t){return t>>1},e.prototype.props=function(){return s(this)},e.props=function(t){return s(t)}}},{"./es5":13,"./util":36}],26:[function(t,e,n){"use strict";function r(t,e,n,r,i){for(var o=0;i>o;++o)n[o+r]=t[o+e],t[o+e]=void 0}function i(t){this._capacity=t,this._length=0,this._front=0}i.prototype._willBeOverCapacity=function(t){return this._capacityh;++h){var _=t[h];(void 0!==_||h in t)&&e.cast(_)._then(u,p,void 0,l,null)}return l}var s=t("./util"),a=function(t){return t.then(function(e){return o(e,t)})};e.race=function(t){return o(t,void 0)},e.prototype.race=function(){return o(this,void 0)}}},{"./util":36}],28:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t,n,r,i){this.constructor$(t);var s=h();this._fn=null===s?n:s.bind(n),void 0!==r&&(r=e.resolve(r),r._attachCancellationCallback(this)),this._initialValue=r,this._currentCancellable=null,this._eachValues=i===o?[]:void 0,this._promise._captureStackTrace(),this._init$(void 0,-5)}function c(t,e){this.isFulfilled()?e._resolve(t):e._reject(t)}function l(t,e,n,i){if("function"!=typeof e)return r("expecting a function but got "+f.classString(e));var o=new a(t,e,n,i);return o.promise()}function u(t){this.accum=t,this.array._gotAccum(t);var n=i(this.value,this.array._promise);return n instanceof e?(this.array._currentCancellable=n,n._then(p,void 0,void 0,this,void 0)):p.call(this,n)}function p(t){var n=this.array,r=n._promise,i=_(n._fn);r._pushContext();var o;o=void 0!==n._eachValues?i.call(r._boundValue(),t,this.index,this.length):i.call(r._boundValue(),this.accum,t,this.index,this.length),o instanceof e&&(n._currentCancellable=o);var a=r._popContext();return s.checkForgottenReturns(o,a,void 0!==n._eachValues?"Promise.each":"Promise.reduce",r),o}var h=e._getDomain,f=t("./util"),_=f.tryCatch;f.inherits(a,n),a.prototype._gotAccum=function(t){void 0!==this._eachValues&&t!==o&&this._eachValues.push(t)},a.prototype._eachComplete=function(t){return this._eachValues.push(t),this._eachValues},a.prototype._init=function(){},a.prototype._resolveEmptyArray=function(){this._resolve(void 0!==this._eachValues?this._eachValues:this._initialValue)},a.prototype.shouldCopyValues=function(){return!1},a.prototype._resolve=function(t){this._promise._resolveCallback(t),this._values=null},a.prototype._resultCancelled=function(t){return t===this._initialValue?this._cancel():void(this._isResolved()||(this._resultCancelled$(),this._currentCancellable instanceof e&&this._currentCancellable.cancel(),this._initialValue instanceof e&&this._initialValue.cancel()))},a.prototype._iterate=function(t){this._values=t;var n,r,i=t.length;if(void 0!==this._initialValue?(n=this._initialValue,r=0):(n=e.resolve(t[0]),r=1),this._currentCancellable=n,!n.isRejected())for(;i>r;++r){var o={accum:null,value:t[r],index:r,length:i,array:this};n=n._then(u,void 0,void 0,o,void 0)}void 0!==this._eachValues&&(n=n._then(this._eachComplete,void 0,void 0,this,void 0)),n._then(c,c,void 0,n,this)},e.prototype.reduce=function(t,e){return l(this,t,e,null)},e.reduce=function(t,e,n,r){return l(t,e,n,r)}}},{"./util":36}],29:[function(t,e,n){"use strict";var r,i=t("./util"),o=function(){throw new Error("No async scheduler available\n\n See http://goo.gl/MqrFmX\n")},s=i.getNativePromise();if(i.isNode&&"undefined"==typeof MutationObserver){var a=global.setImmediate,c=process.nextTick;r=i.isRecentNode?function(t){a.call(global,t)}:function(t){c.call(process,t)}}else if("function"==typeof s){var l=s.resolve();r=function(t){l.then(t)}}else r="undefined"==typeof MutationObserver||"undefined"!=typeof window&&window.navigator&&window.navigator.standalone?"undefined"!=typeof setImmediate?function(t){setImmediate(t)}:"undefined"!=typeof setTimeout?function(t){setTimeout(t,0)}:o:function(){var t=document.createElement("div"),e={attributes:!0},n=!1,r=document.createElement("div"),i=new MutationObserver(function(){t.classList.toggle("foo"),n=!1});i.observe(r,e);var o=function(){n||(n=!0,r.classList.toggle("foo"))};return function(n){var r=new MutationObserver(function(){r.disconnect(),n()});r.observe(t,e),o()}}();e.exports=r},{"./util":36}],30:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t)}var o=e.PromiseInspection,s=t("./util");s.inherits(i,n),i.prototype._promiseResolved=function(t,e){this._values[t]=e;var n=++this._totalResolved;return n>=this._length?(this._resolve(this._values),!0):!1},i.prototype._promiseFulfilled=function(t,e){var n=new o;return n._bitField=33554432,n._settledValueField=t,this._promiseResolved(e,n)},i.prototype._promiseRejected=function(t,e){var n=new o;return n._bitField=16777216,n._settledValueField=t,this._promiseResolved(e,n)},e.settle=function(t){return r.deprecated(".settle()",".reflect()"),new i(t).promise()},e.prototype.settle=function(){return e.settle(this)}}},{"./util":36}],31:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.constructor$(t),this._howMany=0,this._unwrap=!1,this._initialized=!1}function o(t,e){if((0|e)!==e||0>e)return r("expecting a positive integer\n\n See http://goo.gl/MqrFmX\n");var n=new i(t),o=n.promise();return n.setHowMany(e),n.init(),o}var s=t("./util"),a=t("./errors").RangeError,c=t("./errors").AggregateError,l=s.isArray,u={};s.inherits(i,n),i.prototype._init=function(){if(this._initialized){if(0===this._howMany)return void this._resolve([]);this._init$(void 0,-5);var t=l(this._values);!this._isResolved()&&t&&this._howMany>this._canPossiblyFulfill()&&this._reject(this._getRangeError(this.length()))}},i.prototype.init=function(){this._initialized=!0,this._init()},i.prototype.setUnwrap=function(){this._unwrap=!0},i.prototype.howMany=function(){return this._howMany},i.prototype.setHowMany=function(t){this._howMany=t},i.prototype._promiseFulfilled=function(t){return this._addFulfilled(t),this._fulfilled()===this.howMany()?(this._values.length=this.howMany(),1===this.howMany()&&this._unwrap?this._resolve(this._values[0]):this._resolve(this._values),!0):!1},i.prototype._promiseRejected=function(t){return this._addRejected(t),this._checkOutcome()},i.prototype._promiseCancelled=function(){return this._values instanceof e||null==this._values?this._cancel():(this._addRejected(u),this._checkOutcome())},i.prototype._checkOutcome=function(){if(this.howMany()>this._canPossiblyFulfill()){for(var t=new c,e=this.length();e0?this._reject(t):this._cancel(),!0}return!1},i.prototype._fulfilled=function(){return this._totalResolved},i.prototype._rejected=function(){return this._values.length-this.length()},i.prototype._addRejected=function(t){this._values.push(t)},i.prototype._addFulfilled=function(t){this._values[this._totalResolved++]=t},i.prototype._canPossiblyFulfill=function(){return this.length()-this._rejected()},i.prototype._getRangeError=function(t){var e="Input array must contain at least "+this._howMany+" items but contains only "+t+" items";return new a(e)},i.prototype._resolveEmptyArray=function(){this._reject(this._getRangeError(0))},e.some=function(t,e){return o(t,e)},e.prototype.some=function(t){return o(this,t)},e._SomePromiseArray=i}},{"./errors":12,"./util":36}],32:[function(t,e,n){"use strict";e.exports=function(t){function e(t){void 0!==t?(t=t._target(),this._bitField=t._bitField,this._settledValueField=t._isFateSealed()?t._settledValue():void 0):(this._bitField=0,this._settledValueField=void 0)}e.prototype._settledValue=function(){return this._settledValueField};var n=e.prototype.value=function(){if(!this.isFulfilled())throw new TypeError("cannot get fulfillment value of a non-fulfilled promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},r=e.prototype.error=e.prototype.reason=function(){if(!this.isRejected())throw new TypeError("cannot get rejection reason of a non-rejected promise\n\n See http://goo.gl/MqrFmX\n");return this._settledValue()},i=e.prototype.isFulfilled=function(){return 0!==(33554432&this._bitField)},o=e.prototype.isRejected=function(){return 0!==(16777216&this._bitField)},s=e.prototype.isPending=function(){return 0===(50397184&this._bitField)},a=e.prototype.isResolved=function(){return 0!==(50331648&this._bitField)};e.prototype.isCancelled=t.prototype._isCancelled=function(){return 65536===(65536&this._bitField)},t.prototype.isCancelled=function(){return this._target()._isCancelled()},t.prototype.isPending=function(){return s.call(this._target())},t.prototype.isRejected=function(){return o.call(this._target())},t.prototype.isFulfilled=function(){return i.call(this._target())},t.prototype.isResolved=function(){return a.call(this._target())},t.prototype.value=function(){return n.call(this._target())},t.prototype.reason=function(){var t=this._target();return t._unsetRejectionIsUnhandled(),r.call(t)},t.prototype._value=function(){return this._settledValue()},t.prototype._reason=function(){return this._unsetRejectionIsUnhandled(),this._settledValue()},t.PromiseInspection=e}},{}],33:[function(t,e,n){"use strict";e.exports=function(e,n){function r(t,r){if(u(t)){if(t instanceof e)return t;var i=o(t);if(i===l){r&&r._pushContext();var c=e.reject(i.e);return r&&r._popContext(),c}if("function"==typeof i){if(s(t)){var c=new e(n);return t._then(c._fulfill,c._reject,void 0,c,null),c}return a(t,i,r)}}return t}function i(t){return t.then}function o(t){try{return i(t)}catch(e){return l.e=e,l}}function s(t){try{return p.call(t,"_promise0")}catch(e){return!1}}function a(t,r,i){function o(t){a&&(a._resolveCallback(t),a=null)}function s(t){a&&(a._rejectCallback(t,p,!0),a=null)}var a=new e(n),u=a;i&&i._pushContext(),a._captureStackTrace(),i&&i._popContext();var p=!0,h=c.tryCatch(r).call(t,o,s);return p=!1,a&&h===l&&(a._rejectCallback(h.e,!0,!0),a=null),u}var c=t("./util"),l=c.errorObj,u=c.isObject,p={}.hasOwnProperty;return r}},{"./util":36}],34:[function(t,e,n){"use strict";e.exports=function(e,n,r){function i(t){this.handle=t}function o(t){return clearTimeout(this.handle),t}function s(t){throw clearTimeout(this.handle),t}var a=t("./util"),c=e.TimeoutError;i.prototype._resultCancelled=function(){clearTimeout(this.handle)};var l=function(t){return u(+this).thenReturn(t)},u=e.delay=function(t,o){var s,a;return void 0!==o?(s=e.resolve(o)._then(l,null,null,t,void 0),r.cancellation()&&o instanceof e&&s._setOnCancel(o)):(s=new e(n),a=setTimeout(function(){s._fulfill()},+t),r.cancellation()&&s._setOnCancel(new i(a))),s._setAsyncGuaranteed(),s};e.prototype.delay=function(t){return u(t,this)};var p=function(t,e,n){var r;r="string"!=typeof e?e instanceof Error?e:new c("operation timed out"):new c(e),a.markAsOriginatingFromRejection(r),t._attachExtraTrace(r),t._reject(r),null!=n&&n.cancel()};e.prototype.timeout=function(t,e){t=+t;var n,a,c=new i(setTimeout(function(){n.isPending()&&p(n,e,a)},t));return r.cancellation()?(a=this.then(),n=a._then(o,s,void 0,c,void 0),n._setOnCancel(c)):n=this._then(o,s,void 0,c,void 0),n}}},{"./util":36}],35:[function(t,e,n){"use strict";e.exports=function(e,n,r,i,o,s){function a(t){setTimeout(function(){throw t},0)}function c(t){var e=r(t);return e!==t&&"function"==typeof t._isDisposable&&"function"==typeof t._getDisposer&&t._isDisposable()&&e._setDisposable(t._getDisposer()),e}function l(t,n){function i(){if(s>=l)return u._fulfill();var o=c(t[s++]);if(o instanceof e&&o._isDisposable()){try{o=r(o._getDisposer().tryDispose(n),t.promise)}catch(p){return a(p)}if(o instanceof e)return o._then(i,a,null,null,null)}i()}var s=0,l=t.length,u=new e(o);return i(),u}function u(t,e,n){this._data=t,this._promise=e,this._context=n}function p(t,e,n){this.constructor$(t,e,n)}function h(t){return u.isDisposer(t)?(this.resources[this.index]._setDisposable(t),t.promise()):t}function f(t){this.length=t,this.promise=null,this[t-1]=null}var _=t("./util"),d=t("./errors").TypeError,v=t("./util").inherits,y=_.errorObj,m=_.tryCatch,g={};u.prototype.data=function(){return this._data},u.prototype.promise=function(){return this._promise},u.prototype.resource=function(){return this.promise().isFulfilled()?this.promise().value():g},u.prototype.tryDispose=function(t){var e=this.resource(),n=this._context;void 0!==n&&n._pushContext();var r=e!==g?this.doDispose(e,t):null;return void 0!==n&&n._popContext(),this._promise._unsetDisposable(),this._data=null,r},u.isDisposer=function(t){return null!=t&&"function"==typeof t.resource&&"function"==typeof t.tryDispose},v(p,u),p.prototype.doDispose=function(t,e){var n=this.data();return n.call(t,t,e)},f.prototype._resultCancelled=function(){for(var t=this.length,n=0;t>n;++n){var r=this[n];r instanceof e&&r.cancel()}},e.using=function(){var t=arguments.length;if(2>t)return n("you must pass at least 2 arguments to Promise.using");var i=arguments[t-1];if("function"!=typeof i)return n("expecting a function but got "+_.classString(i));var o,a=!0;2===t&&Array.isArray(arguments[0])?(o=arguments[0],t=o.length,a=!1):(o=arguments,t--);for(var c=new f(t),p=0;t>p;++p){var d=o[p];if(u.isDisposer(d)){var v=d;d=d.promise(),d._setDisposable(v)}else{var g=r(d);g instanceof e&&(d=g._then(h,null,null,{resources:c,index:p},void 0))}c[p]=d}for(var b=new Array(c.length),p=0;p0},e.prototype._getDisposer=function(){return this._disposer},e.prototype._unsetDisposable=function(){this._bitField=-131073&this._bitField,this._disposer=void 0},e.prototype.disposer=function(t){if("function"==typeof t)return new p(t,this,i());throw new d}}},{"./errors":12,"./util":36}],36:[function(t,e,n){"use strict";function r(){try{var t=T;return T=null,t.apply(this,arguments)}catch(e){return x.e=e,x}}function i(t){return T=t,r}function o(t){return null==t||t===!0||t===!1||"string"==typeof t||"number"==typeof t}function s(t){return"function"==typeof t||"object"==typeof t&&null!==t}function a(t){return o(t)?new Error(v(t)):t}function c(t,e){var n,r=t.length,i=new Array(r+1);for(n=0;r>n;++n)i[n]=t[n];return i[n]=e,i}function l(t,e,n){if(!E.isES5)return{}.hasOwnProperty.call(t,e)?t[e]:void 0;var r=Object.getOwnPropertyDescriptor(t,e);return null!=r?null==r.get&&null==r.set?r.value:n:void 0}function u(t,e,n){if(o(t))return t;var r={value:n,configurable:!0,enumerable:!1,writable:!0};return E.defineProperty(t,e,r),t}function p(t){throw t}function h(t){try{if("function"==typeof t){var e=E.names(t.prototype),n=E.isES5&&e.length>1,r=e.length>0&&!(1===e.length&&"constructor"===e[0]),i=O.test(t+"")&&E.names(t).length>0;if(n||r||i)return!0}return!1}catch(o){return!1}}function f(t){function e(){}e.prototype=t;for(var n=8;n--;)new e;return t}function _(t){return A.test(t)}function d(t,e,n){for(var r=new Array(t),i=0;t>i;++i)r[i]=e+i+n;return r}function v(t){try{return t+""}catch(e){return"[no string representation]"}}function y(t){return null!==t&&"object"==typeof t&&"string"==typeof t.message&&"string"==typeof t.name}function m(t){try{u(t,"isOperational",!0)}catch(e){}}function g(t){return null==t?!1:t instanceof Error.__BluebirdErrorTypes__.OperationalError||t.isOperational===!0}function b(t){return y(t)&&E.propertyIsWritable(t,"stack")}function w(t){return{}.toString.call(t)}function C(t,e,n){for(var r=E.names(t),i=0;i10||t[0]>0}(),H.isNode&&H.toFastProperties(process);try{throw new Error}catch(N){H.lastLineError=N}e.exports=H},{"./es5":13}]},{},[4])(4)}),"undefined"!=typeof window&&null!==window?window.P=window.Promise:"undefined"!=typeof self&&null!==self&&(self.P=self.Promise); \ No newline at end of file diff --git a/js/libraries/jquery.ba-throttle-debounce.min.js b/js/libraries/jquery.ba-throttle-debounce.min.js new file mode 100644 index 000000000..07205508e --- /dev/null +++ b/js/libraries/jquery.ba-throttle-debounce.min.js @@ -0,0 +1,9 @@ +/* + * jQuery throttle / debounce - v1.1 - 3/7/2010 + * http://benalman.com/projects/jquery-throttle-debounce-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function(b,c){var $=b.jQuery||b.Cowboy||(b.Cowboy={}),a;$.throttle=a=function(e,f,j,i){var h,d=0;if(typeof f!=="boolean"){i=j;j=f;f=c}function g(){var o=this,m=+new Date()-d,n=arguments;function l(){d=+new Date();j.apply(o,n)}function k(){h=c}if(i&&!h){l()}h&&clearTimeout(h);if(i===c&&m>e){l()}else{if(f!==true){h=setTimeout(i?k:l,i===c?e-m:e)}}}if($.guid){g.guid=j.guid=j.guid||$.guid++}return g};$.debounce=function(d,e,f){return f===c?a(d,e,false):a(d,f,e!==false)}})(this); \ No newline at end of file diff --git a/resources/osd/bold.mcm b/resources/osd/bold.mcm new file mode 100644 index 000000000..26a24b7c1 --- /dev/null +++ b/resources/osd/bold.mcm @@ -0,0 +1,16385 @@ +MAX7456 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +00000101 +01010101 +01010000 +10000001 +01010101 +01000010 +10100000 +01010101 +00001010 +00101000 +00010100 +00101000 +00001010 +00000000 +10100000 +01000010 +10000010 +10000001 +01010000 +10101010 +00000101 +01010100 +00101000 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +01010101 +01010000 +10100000 +01010101 +01000010 +10000001 +01010101 +01001010 +00000101 +01010101 +01001010 +00000101 +01010101 +01000010 +10000001 +01010101 +01010000 +10100000 +01010101 +01010100 +00101000 +01010101 +01010100 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +00101000 +00010101 +01010101 +00001010 +00000101 +01010101 +01000010 +10000001 +01010101 +01010000 +10100001 +01010101 +01010000 +10100001 +01010101 +01000010 +10000001 +01010101 +00001010 +00000101 +01010101 +00101000 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010100 +00000000 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010100 +10000010 +00010101 +01010100 +00101000 +00010101 +01010100 +00101000 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000101 +01010101 +01001010 +10100001 +01010101 +01001010 +10100001 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +01010101 +01001010 +10101010 +00010101 +01001010 +10101010 +00010101 +01010000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000101 +01010101 +01001010 +10100001 +01010101 +01001010 +10100001 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000101 +01010101 +01001010 +10100001 +01010101 +01001010 +10100001 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000101 +01010100 +10101010 +10100001 +01010100 +10101010 +10100001 +01010101 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000101 +01010101 +01001010 +10100001 +01010101 +01001010 +10100001 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010000 +00010101 +01010101 +01010010 +00000101 +01010101 +01010010 +10000001 +01010101 +01010010 +10100000 +01010101 +01010010 +10101000 +00010101 +01010010 +10101010 +00010101 +01010010 +10101000 +00010101 +01010010 +10100000 +01010101 +01010010 +10000001 +01010101 +01010010 +00000101 +01010101 +01010000 +00010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010100 +00000101 +01010101 +01010000 +10000101 +01010101 +01000010 +10000101 +01010101 +00001010 +10000101 +01010100 +00101010 +10000101 +01010100 +10101010 +10000101 +01010100 +00101010 +10000101 +01010101 +00001010 +10000101 +01010101 +01000010 +10000101 +01010101 +01010000 +10000101 +01010101 +01010100 +00000101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +01000010 +00100000 +01010101 +01001000 +10001000 +01010101 +01001000 +10001000 +01010101 +01001000 +00001000 +01010101 +01001000 +01001000 +01010101 +01000000 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010101 +00101010 +00010101 +01010101 +00100010 +00010101 +01010101 +00101010 +00010000 +00000101 +00000000 +00000010 +10000001 +01010101 +01001000 +00100001 +01010101 +01001000 +00000001 +01010100 +00001000 +00000101 +01010100 +10101010 +10000101 +01010100 +00001000 +00000101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010101 +00101010 +00010101 +01010101 +00100010 +00010101 +01010101 +00101010 +00010101 +01010101 +00000000 +00000000 +00000101 +01010101 +00001010 +10000001 +01010101 +00100000 +00100001 +01010101 +00100001 +00000001 +01010101 +00100001 +01010101 +01010101 +00100001 +00000001 +01010101 +00100000 +00100001 +01010101 +00001010 +10000001 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +01010101 +01000010 +00000000 +01010101 +01001000 +10001000 +00010101 +01001000 +00001010 +00010101 +01001010 +00001000 +00000101 +01001000 +00001000 +10000101 +01001000 +01000010 +00000101 +01000000 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +10101010 +01010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00000000 +01010000 +00000000 +00000000 +01000010 +10101000 +10000000 +01000010 +00000000 +10100010 +01000010 +00000000 +10101010 +01000010 +00000000 +10001000 +01000010 +00101000 +10000000 +01000010 +00001000 +10000000 +01000010 +00001000 +10000000 +01000010 +00001000 +10000000 +01000010 +10101000 +10000000 +01010000 +00000000 +00000000 +01010100 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +00000000 +00000000 +00000001 +10001010 +10000010 +00000000 +10001000 +00100010 +00000000 +10001000 +00100010 +00000000 +10001000 +00100010 +00000000 +10001010 +10000010 +00000000 +10001000 +00100010 +00000000 +10001000 +00100010 +00000000 +10001000 +00100010 +00000000 +10001010 +10000010 +10101000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10100010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10001010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000000 +00000101 +01010000 +10101000 +00010101 +01010100 +00101010 +00000101 +01010000 +00000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10000000 +00000101 +01010010 +10000000 +01010101 +01010010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010010 +10000000 +01010101 +01010010 +10000000 +00000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010100 +00000001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00000000 +10100001 +01001010 +00101000 +10100001 +01001010 +00101000 +10100001 +01000010 +10101010 +10000001 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000101 +01010101 +01010000 +10000001 +01010101 +01000010 +10100000 +01010101 +01001010 +10101000 +01010101 +01000010 +10101000 +01010101 +01010000 +10101010 +01010101 +01010100 +00001000 +01010101 +01010101 +01000010 +01010101 +01010101 +00001010 +01010100 +00000010 +10001010 +01010100 +10100010 +10000000 +01010100 +10100000 +00101000 +01010100 +00000010 +00101001 +01010101 +01010000 +00000001 +01010101 +01010100 +10100001 +01010101 +01010100 +10100001 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010101 +00100001 +01010101 +01010101 +10101000 +01010101 +01010101 +10100000 +01010101 +01010101 +10001000 +00000101 +01010101 +00101010 +10000001 +01010101 +00001010 +10100000 +01010101 +01001010 +10101000 +01010101 +01000010 +10100000 +01010101 +01010000 +10000001 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +10001010 +10001010 +10000101 +10001000 +10001000 +10000101 +10001000 +10001000 +10000101 +10001000 +10001000 +10000101 +10001010 +10001010 +10000101 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101000 +10101000 +10101000 +10000000 +10001000 +10001000 +10101000 +10001000 +10001000 +00001000 +10001000 +10001000 +10101000 +10101000 +10101000 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101000 +00000000 +10101000 +00001000 +10001000 +10000000 +10101000 +10100000 +10101000 +10000000 +10100000 +00001000 +10101000 +10001000 +10101000 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10001000 +00100000 +10001000 +10101000 +10001000 +10001000 +10001000 +10101000 +00100000 +10001000 +10001000 +10001000 +10001000 +10001000 +10001000 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100101 +01010000 +01000010 +10000101 +01010101 +00001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +00000101 +01010010 +10000100 +10100001 +01001010 +00010101 +00000101 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010000 +10100000 +01010101 +01010000 +10100000 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01001000 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010100 +00000001 +01001010 +00000000 +10100001 +01000010 +10000010 +10000001 +01000000 +10101010 +00000001 +01001010 +10101010 +10100001 +01000000 +10101010 +00000001 +01000010 +10000010 +10000001 +01001010 +00000000 +10100001 +01000000 +00010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010101 +00100001 +01010101 +01010000 +00100000 +00010101 +01010010 +10101010 +00010101 +01010000 +00100000 +00010101 +01010101 +00100001 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +00101000 +01010101 +01010100 +00101000 +01010101 +01010100 +10100000 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010000 +10100001 +01010101 +01000010 +10100001 +01010101 +00001010 +10000001 +01010100 +00101010 +00000101 +01010000 +10101000 +00010101 +01000010 +10100000 +01010101 +01001010 +10000001 +01010101 +01001010 +00000101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010010 +10000101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10100000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010000 +00010010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +00101010 +00010101 +01010101 +00101010 +00010101 +01010100 +10001010 +00010101 +01010010 +10001010 +00010101 +01010010 +00001010 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010000 +00001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10000000 +00010101 +01010010 +10000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00000010 +10000101 +01010100 +00010010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000000 +00010101 +01010010 +10101010 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000010 +10000101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +10101010 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +10101010 +10000101 +01010100 +00000010 +10000101 +01010100 +00010010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000101 +01010101 +01000010 +10000101 +01010101 +00001010 +00000101 +01010100 +00101000 +00010101 +01010000 +10100000 +01010101 +01010010 +10000001 +01010101 +01010010 +10000001 +01010101 +01010000 +10100000 +01010101 +01010100 +00101000 +00010101 +01010101 +00001010 +00000101 +01010101 +01000010 +10000101 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +01001010 +00000101 +01010101 +01000010 +10000001 +01010101 +01010000 +10100000 +01010101 +01010100 +00101000 +00010101 +01010101 +00001010 +00010101 +01010101 +00001010 +00010101 +01010100 +00101000 +00010101 +01010000 +10100000 +01010101 +01000010 +10000001 +01010101 +01001010 +00000101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +00000000 +10000101 +01001000 +00000000 +00100001 +00100000 +10100010 +00001000 +00100010 +00001010 +00001000 +00100010 +00000010 +00001000 +00100010 +00001010 +00001000 +00100000 +10100010 +00100000 +00100000 +00000000 +10000001 +00001000 +00000100 +00000101 +01000010 +00000000 +00100001 +01010000 +10101010 +10000001 +01010100 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +00010101 +01010100 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000100 +00010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000100 +00010101 +01010010 +10000010 +10000101 +01010100 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +00010101 +01010100 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10000000 +00010101 +01010010 +10000001 +01010101 +01010010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010010 +10000001 +01010101 +01010010 +10000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10000000 +00010101 +01010010 +10000001 +01010101 +01010010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010010 +10000001 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000000 +00010101 +01010010 +10000000 +00010101 +01010010 +10001010 +10000101 +01010010 +10001010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010100 +00010010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +00000101 +01010010 +10000100 +10100001 +01010010 +10000010 +10100001 +01010010 +10001010 +10000101 +01010010 +10101010 +00010101 +01010010 +10101000 +01010101 +01010010 +10101010 +00010101 +01010010 +10001010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000100 +10100001 +01010010 +10000100 +10100001 +01010100 +00010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +00101000 +10100001 +01001010 +00000000 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10100010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010010 +10001010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010010 +10101010 +00010101 +01010010 +10000000 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10001010 +10000101 +01010010 +10001010 +10000101 +01010010 +10101010 +10000101 +01010100 +10101010 +10000101 +01010101 +00000000 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +00010101 +01010010 +10001010 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000000 +00010101 +01010100 +10101000 +01010101 +01010101 +00101010 +00010101 +01010100 +00000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00101000 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00000000 +10100001 +01001010 +00101000 +10100001 +01001010 +00101000 +10100001 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00010101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010010 +10000010 +10000101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000010 +10000101 +01010101 +01001010 +10000101 +01010101 +00101010 +00010101 +01010100 +10101000 +01010101 +01010010 +10100001 +01010101 +01010010 +10000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +00101010 +10000101 +01010101 +00101010 +10000101 +01010101 +00101000 +00000101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +00010101 +01010101 +00101010 +10000101 +01010101 +00101010 +10000101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +10000101 +01010101 +01000010 +10100001 +01010101 +01010000 +10101000 +01010101 +01010100 +00101010 +00010101 +01010101 +00001010 +10000101 +01010101 +01000010 +10100001 +01010101 +01010000 +10100001 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010100 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +00101000 +01010101 +01010010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010100 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +00010101 +01010000 +10101010 +00000101 +01010010 +10000010 +10000101 +01010010 +00000000 +10000101 +01010000 +00010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +00000000 +00101000 +00000000 +00101010 +10101010 +10101000 +00001010 +10101010 +10100000 +01000010 +10101010 +10000001 +01010000 +10101010 +00000101 +01010100 +00101000 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000101 +01010101 +01010010 +10000001 +01010101 +01010010 +10100001 +01010101 +01010000 +10100000 +00000000 +01010100 +10101000 +00101000 +01000000 +00101010 +10101000 +00001010 +10101010 +10100000 +00101010 +10101010 +10100001 +00000010 +10101010 +10000001 +01010000 +10101010 +10000101 +01010100 +00001010 +00000101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00001000 +00010101 +00000001 +00101010 +00000100 +00100001 +00001010 +10000000 +10100001 +01000010 +10100010 +10100001 +01010000 +10101010 +10100001 +01010100 +00101010 +10100001 +01010000 +10101010 +10100001 +01000010 +10101010 +10100001 +01001010 +10101010 +10100001 +01000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +01010101 +01000010 +00010101 +00000000 +01001010 +00000101 +00101000 +00001010 +10000001 +00101010 +10001010 +10100001 +00001010 +10101010 +10100000 +01000000 +10101010 +10101000 +01010100 +00101010 +10101000 +01010100 +00101010 +10100000 +01010100 +10101010 +00000001 +01010100 +10100000 +00010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +01001000 +00010101 +01010101 +01001010 +00000101 +01010101 +01001010 +10000001 +00000000 +00001010 +10100000 +00101010 +10101010 +10101000 +00101010 +10101010 +10101000 +00000000 +00001010 +10100000 +01010101 +01001010 +10000001 +01010101 +01001010 +00000101 +01010101 +01001000 +00010101 +01010101 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010100 +10100000 +00010101 +01010100 +10101010 +00000001 +01010100 +00101010 +10100000 +01010100 +00101010 +10101000 +01000000 +10101010 +10101000 +00001010 +10101010 +10100000 +00101010 +10001010 +10100001 +00101000 +00001010 +10000001 +00000000 +01001010 +00000101 +01010101 +01000010 +00010101 +01010101 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +01001010 +10101010 +10100001 +01000010 +10101010 +10100001 +01010000 +10101010 +10100001 +01010100 +00101010 +10100001 +01010000 +10101010 +10100001 +01000010 +10100010 +10100001 +00001010 +10000000 +10100001 +00101010 +00000100 +00100001 +00001000 +00010101 +00000001 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010100 +00001010 +00000101 +01010000 +10101010 +10000101 +00000010 +10101010 +10000001 +00101010 +10101010 +10100001 +00001010 +10101010 +10100000 +01000000 +00101010 +10101000 +01010100 +10101000 +00101000 +01010000 +10100000 +00000000 +01010010 +10100001 +01010101 +01010010 +10000001 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +00010101 +01010000 +10101010 +00000101 +01000010 +10101010 +10000001 +00001010 +10101010 +10100000 +00101010 +10101010 +10101000 +00000000 +00101000 +00000000 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010000 +10100000 +00010101 +01010010 +10101010 +00000101 +01000010 +10101010 +10000000 +01001010 +10101010 +10101000 +00001010 +10101010 +10100000 +00101010 +10101000 +00000001 +00101000 +00101010 +00010101 +00000000 +00001010 +00000101 +01010101 +01001010 +10000101 +01010101 +01000010 +10000101 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +01001010 +10101010 +10100001 +01001010 +10101010 +10000001 +01001010 +10101010 +00000101 +01001010 +10101000 +00010101 +01001010 +10101010 +00000101 +01001010 +10001010 +10000001 +01001010 +00000010 +10100000 +01001000 +00010000 +10101000 +01000000 +01010100 +00100000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010100 +00001010 +00010101 +01000000 +10101010 +00010101 +00001010 +10101000 +00010101 +00101010 +10101000 +00010101 +00101010 +10101010 +00000001 +00001010 +10101010 +10100000 +01001010 +10100010 +10101000 +01000010 +10100000 +00101000 +01010000 +10100001 +00000000 +01010100 +10000001 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +00100001 +01010101 +01010000 +10100001 +01010101 +01000010 +10100001 +01010101 +00001010 +10100000 +00000000 +00101010 +10101010 +10101000 +00101010 +10101010 +10101000 +00001010 +10100000 +00000000 +01000010 +10100001 +01010101 +01010000 +10100001 +01010101 +01010100 +00100001 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000101 +01010101 +01010100 +10000001 +01010101 +01010000 +10100001 +00000000 +01000010 +10100000 +00101000 +01001010 +10100010 +10101000 +00001010 +10101010 +10100000 +00101010 +10101010 +00000001 +00101010 +10101000 +00010101 +00001010 +10101000 +00010101 +01000000 +10101010 +00010101 +01010100 +00001010 +00010101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01000000 +01010100 +00100000 +01001000 +00010000 +10101000 +01001010 +00000010 +10100000 +01001010 +10001010 +10000001 +01001010 +10101010 +00000101 +01001010 +10101000 +00010101 +01001010 +10101010 +00000101 +01001010 +10101010 +10000001 +01001010 +10101010 +10100001 +01000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000101 +01010101 +01000010 +10000101 +01010101 +01001010 +10000101 +00000000 +00001010 +00000101 +00101000 +00101010 +00010101 +00101010 +10101000 +00000001 +00001010 +10101010 +10100000 +01001010 +10101010 +10101000 +01000010 +10101010 +10000000 +01010010 +10101010 +00000101 +01010000 +10100000 +00010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01000010 +10000010 +10100001 +01001000 +00100010 +00001000 +01001000 +00100010 +00001000 +01000010 +10000010 +00001000 +01010000 +00000000 +00000001 +01000000 +01010101 +01010101 +01001000 +01010100 +00000000 +01001000 +00000100 +10001000 +01001000 +10000100 +10100000 +01001010 +00100000 +10000001 +01001000 +00100000 +10000101 +01000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000000 +01000010 +00100010 +00001000 +01001000 +00100010 +00001000 +00101010 +00100000 +10101000 +01001000 +00100000 +00001000 +01001000 +00100000 +10100000 +01000000 +00000000 +00000101 +01010010 +00010100 +00000001 +01010010 +00000000 +10001000 +01010010 +00100000 +10100000 +01010010 +10001000 +10000001 +01010010 +00001000 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010100 +10001000 +01010101 +01010010 +00010010 +00010101 +01010100 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010010 +10101000 +01010101 +01010100 +00001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010100 +00001000 +01010101 +01010010 +10101000 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010100 +01010101 +01010010 +00010010 +00010101 +01010100 +10001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010100 +10000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01000001 +01010101 +01010100 +00101000 +00010101 +00000100 +10101010 +00010000 +10100010 +10010110 +10001010 +10100010 +10010110 +10001010 +00000100 +10101010 +00010000 +01010100 +00101000 +00010101 +01010101 +01000001 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010000 +10101010 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +10000000 +00000000 +00000000 +10000000 +00000000 +00000000 +10000000 +00000000 +00001010 +10101000 +00000000 +00000000 +10000000 +00000000 +00000000 +10000000 +00000000 +00000000 +10000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +00000001 +00101000 +01000000 +10100000 +00000000 +00001010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +00000001 +00101000 +01000000 +10100000 +00000000 +00001010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10100000 +00000000 +00001010 +00000001 +00101000 +01000000 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +00000001 +00101000 +01000000 +10100000 +00000000 +00001010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10100000 +00000000 +00001010 +00000001 +00101000 +01000000 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +00000001 +00101000 +01000000 +10100000 +00000000 +00001010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10100000 +00000000 +00001010 +00000001 +00101000 +01000000 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +00000001 +00101000 +01000000 +10100000 +00000000 +00001010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10100000 +00000000 +00001010 +00000001 +00101000 +01000000 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100000 +00000000 +00001010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10100000 +00000000 +00001010 +00000001 +00101000 +01000000 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001000 +10101010 +10100001 +01001000 +00000000 +00100001 +01001000 +10101010 +10100001 +01001010 +10101010 +10100001 +01001000 +00000000 +00100001 +01001000 +10001010 +10100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00100000 +00100001 +01001000 +10001010 +00100001 +01001000 +10001010 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000000 +01000000 +00000000 +00000000 +00001010 +10100010 +00000010 +00001000 +00000010 +00000010 +00001000 +00000010 +00000010 +00001000 +00000000 +10001000 +00001000 +10100000 +10001000 +00001000 +00100000 +00100000 +00001000 +00100000 +00100000 +00001000 +00100000 +00100000 +00001010 +10100000 +00100000 +01000000 +00000000 +00000000 +01010000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10000010 +00000101 +01000010 +00001010 +10000101 +01001010 +10000010 +00000101 +01000010 +00000010 +00000101 +01010010 +00010000 +10000101 +01000000 +00000000 +00000101 +01001010 +10101010 +10000101 +01000000 +00000000 +00000101 +01010100 +00000000 +01010101 +01010000 +10101000 +01010101 +01010010 +10000000 +01010101 +01010000 +00101000 +01010101 +01010010 +10100000 +01010101 +01010000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000000 +00000010 +10000010 +10100000 +00001000 +00100010 +00001000 +00001000 +00100010 +00001000 +00000010 +10000010 +00001000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00001010 +10100000 +10101000 +00001000 +10001000 +10000010 +00001000 +10001000 +10000010 +00001000 +10001000 +10000010 +01000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000000 +00000010 +00100010 +00001000 +00001000 +00100010 +00001000 +00101010 +00100000 +10101000 +00001000 +00100000 +00001000 +00001000 +00100000 +10100000 +00000000 +00000000 +00000000 +00001010 +10100000 +10101000 +00001000 +10001000 +10000010 +00001000 +10001000 +10000010 +00001000 +10001000 +10000010 +01000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00000000 +01010000 +00000000 +00000000 +01000010 +10100000 +00101010 +01000010 +00001000 +00000010 +01000010 +00001000 +00000010 +01000010 +00001000 +00000010 +01000010 +10100000 +00000010 +01000010 +00001000 +00000010 +01000010 +00001000 +00000010 +01000010 +00001000 +00000010 +01000010 +00001000 +00000010 +01010000 +00000000 +00000000 +01010100 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +01010101 +00000000 +00000000 +00010101 +10100010 +00001000 +00000101 +00000010 +00001000 +00000101 +00000010 +00001000 +00000001 +00000010 +00001000 +10100001 +00000010 +10101000 +00000001 +00000010 +00001000 +10100001 +00000010 +00001000 +00000001 +00000010 +00001000 +00000101 +00000010 +00001000 +00010101 +00000000 +00000000 +01010101 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00010101 +01000010 +10101000 +00000101 +01000010 +00100010 +00000101 +01000010 +00100010 +00000101 +01000010 +00100010 +00000101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010000 +00000000 +01010101 +01000000 +10101000 +00010101 +01000010 +10000000 +00010101 +01000000 +00101000 +00010101 +01000010 +10100000 +00010101 +01010000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +00000000 +00000101 +01000000 +00101000 +00000001 +01000000 +10101010 +00000001 +01000000 +10101010 +00000001 +01000010 +10000010 +10000001 +01000010 +10000010 +10000001 +01000010 +10000010 +10000001 +01000010 +10101010 +10000001 +01000010 +10000010 +10000001 +01000010 +10000010 +10000001 +01000010 +10000010 +10000001 +01010000 +00000000 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +00000000 +00000101 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +00101000 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01010000 +00000000 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +00000000 +00000101 +01000010 +10101010 +00000001 +01000010 +10101010 +10000001 +01000010 +10000010 +10000001 +01000010 +10000010 +10000001 +01000010 +10101010 +00000001 +01000010 +10101010 +10000001 +01000010 +10000010 +10000001 +01000010 +10000010 +10000001 +01000010 +10101010 +10000001 +01000010 +10101010 +00000001 +01010000 +00000000 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +00000000 +00000101 +01000000 +10101010 +00000001 +01000010 +10101010 +10000001 +01000010 +10000010 +10000001 +01000010 +10000000 +00000001 +01000010 +10000000 +00000001 +01000010 +10001010 +10000001 +01000010 +10001010 +10000001 +01000010 +10000010 +10000001 +01000010 +10101010 +10000001 +01000000 +10101010 +00000001 +01010000 +00000000 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000100 +00000001 +00001000 +10000000 +10100000 +00100010 +00100010 +00001000 +00100010 +00100010 +10101000 +00100000 +00100010 +00001000 +00000001 +00000000 +00000000 +01010101 +01010101 +01010101 +01010100 +00000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000000 +01010101 +01010100 +10001000 +01010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000001 +00100000 +10000010 +00100000 +00100010 +00001000 +10001000 +00101010 +00001000 +10001000 +00100000 +10001000 +00001000 +00000000 +00000000 +01000000 +01001010 +10101000 +01010101 +01000000 +00000000 +01010101 +01010100 +10000101 +01010101 +01010100 +10000000 +01010101 +01010100 +10001000 +00010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +00001000 +10000010 +10100000 +00100010 +00100010 +00001000 +00100010 +00100010 +10100000 +00100000 +00100010 +00000001 +00000000 +00000000 +00010101 +01001010 +10101000 +01010101 +01000000 +00000000 +01010101 +01010100 +10000101 +01010101 +01010100 +10000000 +01010101 +01010100 +10001000 +00010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +00001010 +00001000 +00100000 +00100000 +10001000 +10101000 +00100000 +10001000 +00100000 +00101010 +10001000 +00100000 +00100000 +10001000 +00001000 +01000000 +00000000 +01000001 +01010101 +00000000 +00010101 +01010100 +00101010 +00000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +00001010 +00001000 +00100000 +00100000 +10001000 +10101000 +00100000 +10001000 +00100000 +00101010 +10001000 +00100000 +00100000 +10001000 +00001000 +01000000 +00000000 +01000001 +01010100 +00000000 +00010101 +01010000 +10000010 +00000101 +01000010 +00001010 +10000101 +01001010 +10000010 +00000101 +01000010 +00000010 +00000101 +01000010 +00010000 +10000101 +01010000 +00010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01000000 +01010101 +01001000 +01001000 +01010101 +01001000 +01001000 +01010101 +01001000 +00001000 +01010101 +01001000 +00100000 +01010101 +01001000 +00100001 +01010101 +01001000 +10000001 +01010101 +01001000 +10000101 +01010101 +01000010 +00000101 +01010101 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00000000 +01010000 +00000000 +00000000 +01000010 +10101000 +00101000 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +10101000 +10101010 +01000010 +00000000 +10000010 +01000010 +00000000 +10000010 +01000010 +00000000 +10000010 +01000010 +00000000 +10000010 +01010000 +00000000 +00000000 +01010100 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +00000000 +00000000 +00000001 +00101010 +10001010 +10100000 +00100000 +00001000 +00000000 +00100000 +00001000 +00000000 +00100000 +00001000 +00000000 +00101010 +10001010 +10100000 +00000000 +10000000 +00100000 +00000000 +10000000 +00100000 +00000000 +10000000 +00100000 +00101010 +10001010 +10100000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000000 +01000000 +00000000 +00000000 +00001010 +10100010 +10101010 +00001000 +00000000 +00100000 +00001000 +00000000 +00100000 +00001000 +00000000 +00100000 +00001010 +10100000 +00100000 +00000000 +00100000 +00100000 +00000000 +00100000 +00100000 +00000000 +00100000 +00100000 +00001010 +10100000 +00100000 +01000000 +00000000 +00000000 +01010000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +00000000 +00000000 +00000001 +00001010 +00001010 +10000000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00101010 +10001010 +10000000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00100000 +10001010 +10000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00000000 +01010000 +00000000 +00000000 +01000000 +10100000 +10101010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000000 +01000010 +00001000 +10000000 +01000010 +10101000 +10000000 +01000010 +00001000 +10000000 +01000010 +00001000 +10000000 +01000010 +00001000 +10000010 +01000010 +00001000 +10101010 +01010000 +00000000 +00000000 +01010100 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +00000000 +00000000 +00000001 +00101010 +00000010 +10000000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00101010 +00001000 +00100000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00100000 +10001000 +00100000 +00100000 +10000010 +10000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01010010 +01010101 +01010101 +01010010 +01010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01010010 +01010101 +01010101 +01010010 +01010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010000 +10100001 +01010101 +01001010 +00000101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010000 +10100001 +01010101 +01001010 +00000101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010101 +10000101 +01010101 +01010101 +10000101 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010101 +10000101 +01010101 +01010101 +10000101 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000001 +01010101 +00101000 +10100000 +00000000 +00100010 +00100010 +00101000 +00100010 +00100010 +00100010 +00100010 +00100010 +00100010 +00100000 +00100010 +00100010 +00000001 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00001000 +00000000 +00000000 +00100010 +00100010 +00001010 +00100010 +00100010 +00100000 +00101010 +00100010 +00100010 +00100010 +00001000 +00001010 +00000000 +00000000 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00000000 +01010000 +00000000 +00000000 +01000010 +00000010 +00101010 +01000010 +00000010 +00100000 +01000010 +00000010 +00100000 +01000010 +00000010 +00100000 +01000010 +00100010 +00101010 +01000010 +00100010 +00100000 +01000010 +10101010 +00100000 +01000010 +10001010 +00100000 +01000010 +00000010 +00100000 +01010000 +00000000 +00000000 +01010100 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +01010101 +00000000 +00000000 +00010101 +10100010 +10101010 +00000101 +00100000 +00100000 +00000001 +00100000 +00100000 +00000000 +00100000 +00100000 +00101000 +10100000 +00100000 +00000000 +00000000 +00100000 +00101000 +00000000 +00100000 +00000000 +00000000 +00100000 +00000001 +00000000 +00100000 +00000101 +00000000 +00000000 +00010101 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101000 +00000000 +00000000 +10000000 +00000000 +00000000 +10000000 +00000000 +00000000 +00000010 +00000000 +10101000 +00000010 +00000000 +10001000 +00000010 +00000000 +10101000 +00000010 +00000000 +10001000 +00000010 +10100000 +10001000 +10000000 +00000000 +00000000 +10000000 +00000000 +00000000 +10101000 +00000000 +00000000 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +00000000 +00000000 +00101010 +00000000 +00000000 +00000010 +00000000 +00000000 +00000010 +00100010 +00001010 +10000000 +00101010 +00001000 +10000000 +00101010 +00001000 +10000000 +00100010 +00001000 +10000000 +00100010 +00001010 +10000000 +00000000 +00000000 +00000010 +00000000 +00000000 +00000010 +00000000 +00000000 +00101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000001 +00101000 +00101000 +00100000 +00100010 +00100000 +10101000 +00100010 +00101000 +00100000 +00100010 +00001000 +00100000 +00101000 +00101000 +00001000 +00000000 +00000000 +01000000 +01010100 +00000000 +00010101 +01010000 +10000010 +00000101 +01000010 +00001010 +10000101 +01001010 +10000010 +00000101 +01000010 +00000010 +00000101 +01000010 +00010000 +10000101 +01010000 +00010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010100 +00100001 +01010101 +01000010 +00100001 +01010100 +00100010 +00100001 +01000010 +00100010 +00100001 +00100010 +00100010 +00100001 +00000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +00101000 +00101000 +00100000 +00100010 +00100000 +10101000 +00100010 +00101000 +00100000 +00100010 +00001000 +00100000 +00101000 +00101000 +00001000 +01000000 +00000000 +00000001 +01010100 +00000000 +00000101 +01010100 +00101010 +00000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010101 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +00001010 +00000101 +01010101 +00001010 +00000101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000101 +01010101 +01001010 +10000101 +01010101 +01001000 +10000101 +01010101 +01001010 +10000101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +00010101 +01010000 +10101010 +00000101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01000000 +10101010 +00000001 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001000 +10101010 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00101010 +10100001 +01001010 +10000000 +10100001 +01001010 +10101010 +00100001 +01001010 +10000000 +10100001 +01001000 +00101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00000000 +01010000 +00000000 +00000000 +01000010 +00001000 +00101000 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +10101000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +00101000 +01010000 +00000000 +00000000 +01010100 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +00000000 +00000000 +00000001 +00101010 +10001000 +00001000 +00000000 +10001010 +00001000 +00000000 +10001010 +00001000 +00000010 +00001000 +10001000 +00000010 +00001000 +10001000 +00001000 +00001000 +10001000 +00001000 +00001000 +00101000 +00100000 +00001000 +00101000 +00101010 +10001000 +00001000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +01010010 +10100001 +01010101 +01010010 +10100001 +01010101 +01010000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000001 +01010101 +00101010 +10100001 +01010101 +00101010 +10100001 +01010101 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000101 +01010101 +01001010 +10000101 +01010101 +01001010 +10000101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +01010101 +01001010 +10101000 +01010101 +01001010 +10101000 +01010101 +01000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +00101010 +10000101 +01010100 +10100000 +00010101 +01010010 +10000101 +01010101 +01010010 +00000001 +01010101 +01010100 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010100 +10000101 +01010101 +01010010 +10000101 +01010100 +00001010 +00010101 +01010010 +10101000 +01010101 +01010000 +10100001 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +00101000 +00010101 +01010000 +10101010 +00000101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00100000 +00000000 +00000000 +00100000 +10101000 +10101000 +00100010 +00001000 +00100000 +00100010 +00001000 +00100001 +00101000 +10101000 +00100001 +00000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010101 +00100000 +00000001 +00000000 +00100000 +10100000 +00101000 +00100010 +00001000 +10001000 +00100010 +00001000 +10001000 +00101000 +10100000 +10001000 +00000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +01010101 +00001010 +00001000 +00000000 +00100000 +10001000 +10101000 +00100000 +10001000 +00100000 +00101010 +10001000 +00100001 +00100000 +10001010 +00100001 +00000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00000000 +01010000 +00000000 +00000000 +01000010 +00001000 +00101000 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +10101000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +10000010 +01000010 +00001000 +00101000 +01010000 +00000000 +00000000 +01010100 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000101 +00000000 +00000000 +00000001 +00100000 +00001010 +10000000 +00100000 +00001000 +00100000 +00100000 +00001000 +00100000 +00100000 +00001000 +00100000 +00100000 +00001000 +00100000 +00100000 +00001000 +00100000 +00100000 +00001000 +00100000 +00100000 +00001000 +00100000 +00101010 +10001010 +10000000 +00000000 +00000000 +00000001 +00000000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +00001010 +00000101 +01010101 +00100000 +10000101 +01010101 +00100000 +10000101 +01010101 +00001010 +00000101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +00001010 +00000101 +01010101 +00100000 +10000101 +01010101 +00100000 +10000101 +01010101 +00001010 +00000101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +00001010 +00000101 +01010101 +00100000 +10000101 +01010101 +00100000 +10000101 +01010101 +00001010 +00000101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010000 +10100000 +01010101 +01010010 +00001000 +01010101 +01010010 +00001000 +01010101 +01010000 +10100000 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010000 +10100000 +01010101 +01010010 +00001000 +01010101 +01010010 +00001000 +01010101 +01010000 +10100000 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010000 +10100000 +01010101 +01010010 +00001000 +01010101 +01010010 +00001000 +01010101 +01010000 +10100000 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01001010 +10000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01001010 +10000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01001010 +10000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010010 +10100001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010010 +10100001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010010 +10100001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010010 +10101010 +10000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010010 +10101010 +10000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010000 +10101010 +00000101 +01010010 +10101010 +10000101 +01010000 +10101010 +00000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +01010100 +00000000 +00000000 +01010000 +00101000 +00101010 +01010000 +10000010 +00000010 +01010000 +10000010 +00000010 +00000000 +10000010 +00000010 +10100000 +10101010 +00000010 +00000000 +10000010 +00000010 +01010000 +10000010 +00000010 +01010000 +10000010 +00000010 +01010000 +10000010 +00101010 +01010100 +00000000 +00000000 +01010101 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000001 +01010101 +00000000 +00000000 +01010101 +10100010 +10100000 +00010101 +00000010 +00001000 +00010101 +00000010 +00001000 +00010101 +00000010 +00001000 +00010101 +00000010 +10100000 +00010101 +00000010 +00001000 +00010101 +00000010 +00001000 +00010101 +00000010 +00001000 +00010101 +10100010 +00001000 +00010101 +00000000 +00000000 +01010101 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000000 +00101010 +10101010 +10101000 +01000000 +00101000 +00000001 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000000 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100000 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01000000 +00101000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 \ No newline at end of file diff --git a/resources/osd/cleanflight-font.mcm b/resources/osd/cleanflight-font.mcm new file mode 100644 index 000000000..4b9eee4d2 --- /dev/null +++ b/resources/osd/cleanflight-font.mcm @@ -0,0 +1,16385 @@ +MAX7456 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +00001010 +10101000 +01010101 +10101010 +10101000 +01010101 +10101010 +10100001 +01010101 +10101010 +10100000 +00000001 +10101010 +10101010 +10101000 +10100000 +10101010 +10101010 +00000101 +00000010 +10101010 +01010101 +01010100 +00000010 +01010101 +01010101 +01010100 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10101010 +01010101 +01010100 +10101010 +01010101 +01010101 +00001010 +01010101 +01010101 +01010010 +01010101 +01010101 +01001010 +01010101 +01010101 +01001010 +01010101 +01010101 +00101010 +01010101 +01010100 +10101000 +01010101 +01010010 +10100001 +01010101 +01001010 +10000101 +01010000 +00101010 +10000101 +00001010 +10101010 +00010101 +10101010 +10101010 +10000000 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10100000 +00101010 +10101000 +00000101 +01000000 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10000101 +01010101 +10100000 +00010101 +01010101 +10100001 +01010101 +01010101 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010100 +00101010 +01010101 +01010010 +10101010 +00010101 +01001010 +10101010 +10000000 +00101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +00101010 +10101010 +10101010 +01000000 +00101010 +10101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +01010101 +10000101 +01001001 +01010101 +01100001 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +01001001 +01010101 +01100001 +01010010 +01010101 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +01010101 +10000101 +01001001 +01010101 +01100001 +00100101 +01010101 +10000100 +00100101 +01010110 +00000000 +00100101 +01011010 +10101000 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +01001001 +01010101 +01100001 +01010010 +01010101 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101000 +00010101 +01010010 +01011000 +01000101 +01001001 +01011000 +01010001 +00100101 +01011000 +01010100 +00100101 +01011000 +00000000 +00100101 +01011010 +10101000 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +01001001 +01010101 +01100001 +01010010 +01010101 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +01010101 +00010101 +01010000 +01010101 +01000101 +01001010 +00010101 +01010001 +00100101 +10000101 +01010100 +00100101 +01100000 +00000000 +00100101 +01011010 +10101000 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +01001001 +01010101 +01100001 +01010010 +01010101 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +01010101 +00010101 +01010001 +01010101 +01000101 +01000101 +01010101 +01010001 +00010101 +01010101 +01010100 +00000000 +00000000 +00000000 +00101010 +10101010 +10101000 +00100101 +01010101 +01011000 +00100101 +01010101 +01011000 +01001001 +01010101 +01100001 +01010010 +01010101 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +01010101 +00010101 +01010001 +01010101 +01000101 +01000101 +01010101 +01010001 +00010101 +01010101 +01010100 +00010101 +01010000 +00000000 +00010101 +01001010 +10101000 +00010101 +00100101 +01011000 +00010100 +10010101 +01011000 +01000010 +01010101 +01100001 +01010010 +01010101 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +01010101 +00010101 +01010001 +01010101 +01000101 +01000101 +01010101 +01010001 +00010101 +01010101 +01010100 +00010101 +01000000 +00000000 +00010101 +00101010 +10101000 +00010101 +00100101 +01011000 +00010101 +00100101 +01011000 +01000101 +00100101 +01100001 +01010001 +00100101 +10000101 +01010100 +00101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +01010101 +00010101 +01010001 +01010101 +01000101 +01000101 +01010101 +01010001 +00010101 +01010101 +01010100 +00010101 +01000000 +00000000 +00010101 +00101010 +10101000 +00010101 +00100101 +01011000 +00010101 +01001001 +01011000 +01000101 +01010010 +01100001 +01010001 +01010100 +10000101 +01010100 +01010101 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +01010101 +00010101 +01010001 +01010101 +01000101 +01000101 +01010101 +01010001 +00010101 +01010101 +01010100 +00010101 +01000000 +00000000 +00010101 +00101010 +10101000 +00010101 +01000000 +00000000 +00010101 +01010101 +01010100 +01000101 +01010101 +01010001 +01010001 +01010101 +01000101 +01010100 +01010101 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +01010101 +00010101 +01010001 +01010101 +01000101 +01000101 +01010101 +01010001 +00010101 +01010101 +01010100 +00010101 +01010101 +01010100 +00010101 +01010101 +01010100 +00010101 +01010101 +01010100 +00010101 +01010101 +01010100 +01000101 +01010101 +01010001 +01010001 +01010101 +01000101 +01010100 +01010101 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001010 +01010101 +01010101 +00101010 +01010101 +01010100 +10101010 +01010000 +00000010 +10101000 +01001010 +10101010 +10100001 +00101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +00010101 +10101010 +10101010 +00010100 +10101010 +10101000 +01010100 +10101010 +10100001 +01010101 +10101010 +10000101 +01010101 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +00010101 +01000000 +00000000 +01010101 +00101010 +10101010 +01010100 +10101010 +10101010 +01010010 +10100000 +00000000 +01010010 +10000101 +01010000 +01001010 +10000101 +01001010 +01001010 +00010101 +01001010 +00101010 +00010101 +00101010 +00101000 +00000000 +00101000 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +00000000 +00000010 +10000000 +01010101 +01001010 +10000101 +01010101 +01001010 +00010101 +01010101 +00101010 +00010101 +01010101 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +10101010 +01010101 +01000010 +10101010 +00000101 +01010100 +00101010 +10100001 +01010101 +01000000 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +00000000 +00000000 +00010101 +10101010 +10101010 +10000101 +10101010 +10101010 +00010101 +00000000 +00000000 +01010101 +00000000 +01010101 +01010101 +10101010 +00010101 +01010101 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000010 +10100001 +01001010 +00001010 +10100001 +01001010 +00101000 +10100001 +01001010 +00101000 +10100001 +01001010 +10100000 +10100001 +01001010 +10000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101000 +01010101 +01010010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010100 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +00101000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00010010 +10100001 +01010000 +01001010 +10000101 +01010101 +00101010 +00010101 +01010100 +10101000 +01010101 +01010010 +10100000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10100001 +01010000 +00000000 +10100001 +01010101 +00000000 +10100001 +01010100 +10101010 +10000101 +01010100 +10101010 +10000101 +01010101 +00000000 +10100001 +01010000 +00000000 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +00101010 +10000101 +01010100 +10101010 +10000101 +01010010 +10100010 +10000101 +01001010 +10000010 +10000101 +01001010 +00000010 +10000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +00000101 +01001010 +00000000 +00010101 +01001010 +10101010 +10000101 +01010010 +10101010 +10100001 +01010000 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10000101 +01001010 +00000000 +00010101 +01001010 +00000000 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +10100001 +01010101 +01010010 +10100001 +01010101 +01001010 +10000101 +01010101 +00101010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10100001 +01010100 +00000000 +10100001 +01010000 +00000000 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +00101010 +00010101 +01010100 +10101000 +01010101 +01010010 +10100001 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10100001 +01010101 +01010100 +10101000 +01010101 +01010101 +00101010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100001 +01010101 +01010100 +10101000 +01010101 +01010101 +00101010 +00010101 +01010101 +01001010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01001010 +10000101 +01010101 +00101010 +00010101 +01010100 +10101000 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01001010 +10000010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10000101 +01001010 +10101010 +10000101 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00010101 +00000101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +00000101 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +01010101 +01001010 +10101010 +00010101 +01001010 +10101010 +10000101 +01001010 +00000010 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00000010 +10100001 +01001010 +10101010 +10000101 +01001010 +10101010 +00010101 +01010000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +00000101 +01001010 +00000000 +01010101 +01001010 +10101010 +00010101 +01001010 +10101010 +00010101 +01001010 +00000000 +01010101 +01001010 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +00000101 +01001010 +00000000 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10000101 +01001010 +00000000 +00010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00010100 +00000101 +01001010 +00010010 +10100001 +01001010 +00010010 +10100001 +01001010 +00010100 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10101010 +10000101 +01010101 +00001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010000 +01001010 +00010101 +01001010 +00001010 +00010101 +01001010 +10101010 +00010101 +01010010 +10101000 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010010 +10100001 +01001010 +00001010 +10000101 +01001010 +00101010 +00010101 +01001010 +10101000 +01010101 +01001010 +10101000 +01010101 +01001010 +10101010 +00010101 +01001010 +00001010 +10000101 +01001010 +00010010 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +00101000 +10100001 +01001010 +00101000 +10100001 +01001010 +00000000 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +10000100 +10100001 +01001010 +10100000 +10100001 +01001010 +10101000 +10100001 +01001010 +00101010 +10100001 +01001010 +00001010 +10100001 +01001010 +00010010 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10000101 +01001010 +00000000 +00010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010000 +10100001 +01001010 +00001010 +10100001 +01001010 +00001010 +10000101 +01001010 +10101010 +10100001 +01010010 +10101000 +10100001 +01010100 +00000001 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10000101 +01001010 +10101000 +00010101 +01001010 +00101010 +00010101 +01001010 +00001010 +10000101 +01001010 +00010010 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001010 +00000000 +00000101 +01001010 +10101010 +10000101 +01010010 +10101010 +10100001 +01010000 +00000000 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00101000 +00000101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00000000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +10000010 +10100001 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00000000 +10100001 +01001010 +00101000 +10100001 +01001010 +00101000 +10100001 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010010 +10000010 +10000101 +01010100 +00010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010010 +10000010 +10000101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010010 +10000010 +10010101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01010000 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +00000101 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +00010100 +10100001 +01001010 +10000010 +10100001 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000010 +10100001 +01010101 +01001010 +10000101 +01010101 +00101010 +00010101 +01010100 +10101000 +01010101 +01010010 +10100001 +01010101 +01001010 +10000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001010 +01010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000000 +00101010 +10101010 +10101010 +00100000 +00000000 +00001000 +00100010 +00010100 +10001000 +00100010 +00010010 +10001000 +00100010 +00001010 +10001000 +00100010 +00101010 +10001000 +00100010 +10101010 +10001000 +00100010 +10101010 +10001000 +00100010 +00101010 +10001000 +00100010 +00001010 +10001000 +00100010 +00010010 +10001000 +00100010 +00010100 +10001000 +00100000 +00000000 +00001000 +00101010 +10101010 +10101010 +01000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +10101010 +10101010 +10000101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +10101010 +10100001 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00101000 +00000000 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +00000000 +00101000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01000000 +00000000 +00000001 +01010101 +01010101 +01010101 +00000000 +00000000 +00000000 +10101010 +10101010 +10101010 +00000000 +00000000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000000 +00000001 +10101010 +10101010 +10101000 +00100000 +00000000 +00001000 +00100010 +00010100 +10001000 +00100010 +10000100 +10001000 +00100010 +10100000 +10001000 +00100010 +10101000 +10001000 +00100010 +10101010 +10001000 +00100010 +10101010 +10001000 +00100010 +10101000 +10001000 +00100010 +10100000 +10001000 +00100010 +10000100 +10001000 +00100010 +00010100 +10001000 +00100000 +00000000 +00001000 +10101010 +10101010 +10101000 +00000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010101 +10100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +10101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 \ No newline at end of file diff --git a/resources/osd/default.mcm b/resources/osd/default.mcm new file mode 100644 index 000000000..c17e75f4f --- /dev/null +++ b/resources/osd/default.mcm @@ -0,0 +1,16385 @@ +MAX7456 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10010101 +01010101 +01010110 +00100101 +01010101 +01011000 +01001001 +01010101 +01100001 +01010010 +01010101 +10000101 +01010100 +10010110 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001001 +01010101 +01010101 +00100001 +01010101 +01010100 +10000101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010100 +10000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +01100001 +01010101 +01010101 +01001000 +01010101 +01010101 +01010010 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010010 +00010101 +01010101 +01001000 +01010101 +01010101 +01100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10010110 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +01010101 +01011010 +10101010 +01010101 +01010000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000101 +01010101 +10101010 +10100101 +01010101 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010000 +01010101 +01010101 +01010010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010010 +10100001 +01010101 +01010010 +10101000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101000 +01010101 +01010010 +10100001 +01010101 +01010010 +10000101 +01010101 +01010010 +00010101 +01010101 +01010000 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +00000101 +01010101 +01010100 +10000101 +01010101 +01010010 +10000101 +01010101 +01001010 +10000101 +01010101 +00101010 +10000101 +01010100 +10101010 +10000101 +01010101 +00101010 +10000101 +01010101 +01001010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +10000101 +01010101 +01010101 +00000101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01000101 +01010101 +01010010 +00100001 +01010101 +01001000 +10001000 +01010101 +01001000 +10001000 +01010101 +01001000 +00001000 +01010101 +01001000 +01001000 +01010101 +01010001 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010101 +00100010 +00010101 +01010101 +00101010 +00010100 +00010101 +01000000 +01010010 +10000101 +01010101 +01001000 +00100001 +01010101 +01001000 +01000101 +01010101 +00001000 +00010101 +01010100 +10101010 +10000101 +01010101 +00001000 +00010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010101 +00100010 +00010101 +01010101 +00101010 +00010101 +01010101 +01000000 +01010000 +00010101 +01010101 +01001010 +10000101 +01010101 +00100000 +00100001 +01010101 +00100001 +01000101 +01010101 +00100001 +01010101 +01010101 +00100001 +01000101 +01010101 +00100000 +00100001 +01010101 +01001010 +10000101 +01010101 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +00010001 +01010101 +01001000 +10001000 +01010101 +01001000 +00001010 +00010101 +01001010 +01001000 +00010101 +01001000 +01001000 +10000101 +01001000 +01010010 +00010101 +01010001 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00010001 +00010010 +10100000 +10001000 +01010010 +00000100 +10101000 +01010010 +00000100 +10101000 +01010010 +00100000 +10001000 +00010010 +10100000 +10001000 +10000100 +00000101 +00010001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000001 +01010001 +01010010 +00101000 +01001000 +01010100 +00100010 +00001000 +01010101 +00101000 +01001000 +01010101 +00100010 +00001000 +00010101 +00101000 +01001010 +10000100 +01000001 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +10000100 +10000101 +01010010 +10100000 +10000101 +01010010 +00101000 +10000101 +01010010 +00001010 +10000101 +01010010 +00010010 +10000101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +00010101 +10000101 +01010010 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +10000101 +01010010 +01010100 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +00010101 +01010101 +01010010 +00000000 +01010101 +01010010 +10101010 +00010101 +01010010 +00000000 +01010101 +01010010 +00010101 +01010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01011001 +01010101 +01010101 +01011001 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00000000 +10000101 +01010010 +00101000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010010 +10100001 +01010101 +01001010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010100 +10101010 +01010101 +01010101 +00001001 +01010101 +01010101 +01010010 +01010101 +01010101 +00011010 +01010101 +01010001 +10011010 +01010101 +01001000 +10000101 +01010101 +01001000 +00101000 +01010101 +01010010 +00000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100101 +01010101 +01010101 +10101000 +01010101 +01010101 +10100001 +01010101 +01010101 +10011000 +00010101 +01010101 +00101010 +10000101 +01010101 +01001010 +10100001 +01010101 +01001010 +10101000 +01010101 +01010010 +10100001 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010000 +00010000 +00010101 +10001010 +10001010 +10000101 +10001000 +10001000 +10000101 +10001000 +10001000 +10000101 +10001000 +10001000 +10000101 +10001010 +10001010 +10000101 +00010000 +00010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +00000001 +00000001 +10101000 +10101000 +10101000 +10000000 +10001000 +10001000 +10101000 +10001000 +10001000 +00001000 +10001000 +10001000 +10101000 +10101000 +10101000 +00000001 +00000001 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +00000001 +10101000 +00010000 +10101000 +00001000 +10001000 +10000001 +10101000 +10100000 +10101000 +10000000 +10100001 +00001000 +10101000 +10001000 +10101000 +00000001 +00010001 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010001 +01000101 +00010001 +10001000 +00100000 +10001000 +10101000 +10001000 +10001000 +10001000 +10101000 +00100001 +10001000 +10001000 +10001000 +10001000 +10001000 +10001000 +00010001 +00010001 +00010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +00010101 +01010100 +10000100 +10000101 +01010101 +00010010 +00010101 +01010101 +01001000 +01010101 +01010101 +00100001 +00010101 +01010100 +10000100 +10000101 +01010101 +00010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00100100 +01010101 +01010101 +00100100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01001000 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +00010100 +10100101 +01010010 +10000010 +10000101 +01010000 +10101010 +00000101 +01011010 +10101010 +10100101 +01010000 +10101010 +00000101 +01010010 +10000010 +10000101 +01011010 +00010100 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00100001 +01010101 +01010100 +00100000 +01010101 +01010110 +10101010 +01010101 +01010100 +00100000 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100001 +01010101 +01010010 +10100001 +01010101 +01001010 +10000101 +01010101 +00101010 +00010101 +01010100 +10101000 +01010101 +01010010 +10100001 +01010101 +01001010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +10100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010010 +00000010 +00010101 +01010100 +01010010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010010 +00010101 +01010101 +01011010 +00010101 +01010101 +01010010 +00010101 +01010101 +00010010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101000 +01010101 +01010100 +10001000 +01010101 +01010010 +00001000 +01010101 +01010010 +00001000 +01010101 +01010010 +10101010 +00010101 +01010100 +00001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000010 +00010101 +01010101 +00010010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010101 +00000000 +10000101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +10101010 +00010101 +01010101 +00000010 +00010101 +01010101 +00010010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +00000000 +10000101 +01001000 +00000000 +00100001 +00100000 +10100010 +00001000 +00100010 +00001010 +00001000 +00100010 +00000010 +00001000 +00100010 +00001010 +00001000 +00100000 +10100010 +00100000 +00100000 +00000000 +10000001 +00001000 +00000100 +00000101 +01000010 +00000000 +00100001 +01010000 +10101010 +10000001 +01010100 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000100 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000100 +01010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10101000 +01010101 +01010100 +10000001 +01010101 +01010100 +10000000 +00010101 +01010100 +10101010 +10000101 +01010101 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000100 +01010101 +01010100 +10000000 +01010101 +01010100 +10001010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +00010010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +00010101 +01010100 +10000100 +10000101 +01010100 +10000010 +00010101 +01010100 +10001000 +01010101 +01010100 +10100001 +01010101 +01010100 +10100001 +01010101 +01010100 +10001000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000100 +10000101 +01010101 +00010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010010 +00101000 +10000101 +01010010 +00000000 +10000101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10100010 +00010101 +01010100 +10101010 +00010101 +01010100 +10001010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010100 +10000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10001010 +00010101 +01010101 +00101010 +00010101 +01010101 +01000000 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010100 +10001010 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000000 +01010101 +01010101 +00100000 +01010101 +01010101 +01001010 +00010101 +01010101 +00000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00100000 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00000000 +10000101 +01010010 +00101000 +10000101 +01010010 +00101000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +10000010 +10000101 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010010 +10000010 +10000101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010100 +01010101 +01010010 +00010010 +00010101 +01010010 +00010010 +00010101 +01010100 +10001000 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00000010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01010010 +00000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +01010101 +01001010 +10000101 +01010101 +01001000 +00000101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +00010101 +01010101 +01001010 +10000101 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000101 +01010101 +01010010 +10100001 +01010101 +01010100 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010100 +00100001 +01010101 +01010010 +10100001 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10000010 +10000101 +01010010 +00000000 +10000101 +01010100 +00010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01000000 +00101000 +00000001 +00101010 +10101010 +10101000 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01010010 +10100001 +01010101 +01010100 +10100001 +01000001 +01010100 +10101000 +00101000 +01010000 +00101010 +10101000 +01001010 +10101010 +10100001 +00101010 +10101010 +10100001 +01000010 +10101010 +10000101 +01010100 +10101010 +10000101 +01010101 +00001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01000101 +00101010 +00010101 +00100001 +01001010 +10000100 +10100001 +01010010 +10100010 +10100001 +01010100 +10101010 +10100001 +01010101 +00101010 +10100001 +01010100 +10101010 +10100001 +01010010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +00010101 +01000001 +01001010 +00010101 +00101000 +00001010 +10000101 +00101010 +10001010 +10100001 +01001010 +10101010 +10100001 +01010000 +10101010 +10101000 +01010101 +00101010 +10101000 +01010101 +00101010 +10100001 +01010100 +10101010 +00000101 +01010100 +10100000 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +10000101 +01000000 +00001010 +10100001 +00101010 +10101010 +10101000 +00101010 +10101010 +10101000 +01000000 +00001010 +10100001 +01010101 +01001010 +10000101 +01010101 +01001010 +00010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100000 +01010101 +01010100 +10101010 +00000101 +01010101 +00101010 +10100001 +01010101 +00101010 +10101000 +01010000 +10101010 +10101000 +01001010 +10101010 +10100001 +00101010 +10001010 +10100001 +00101000 +00001010 +10000101 +01000001 +01001010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01010010 +10101010 +10100001 +01010100 +10101010 +10100001 +01010101 +00101010 +10100001 +01010100 +10101010 +10100001 +01010010 +10100010 +10100001 +01001010 +10000100 +10100001 +00101010 +00010101 +00100001 +01001000 +01010101 +01000101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +00001010 +00010101 +01010100 +10101010 +10000101 +01000010 +10101010 +10000101 +00101010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00101010 +10101000 +01010100 +10101000 +00101000 +01010100 +10100001 +01000001 +01010010 +10100001 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +00101010 +10101010 +10101000 +01000000 +00101000 +00000001 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101010 +10000001 +01001010 +10101010 +10101000 +01001010 +10101010 +10100001 +00101010 +10101000 +00000101 +00101000 +00101010 +00010101 +01000001 +01001010 +00010101 +01010101 +01001010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10000101 +01001010 +10101010 +00010101 +01001010 +10101000 +01010101 +01001010 +10101010 +00010101 +01001010 +10001010 +10000101 +01001010 +00010010 +10100001 +01001000 +01010100 +10101000 +01010001 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +00001010 +00010101 +01010000 +10101010 +00010101 +01001010 +10101000 +01010101 +00101010 +10101000 +01010101 +00101010 +10101010 +00000101 +01001010 +10101010 +10100001 +01001010 +10100010 +10101000 +01010010 +10100000 +00101000 +01010100 +10100001 +01000001 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010100 +10100001 +01010101 +01010010 +10100001 +01010101 +01001010 +10100000 +00000001 +00101010 +10101010 +10101000 +00101010 +10101010 +10101000 +01001010 +10100000 +00000001 +01010010 +10100001 +01010101 +01010100 +10100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10100001 +01000001 +01010010 +10100000 +00101000 +01001010 +10100010 +10101000 +01001010 +10101010 +10100001 +00101010 +10101010 +00000101 +00101010 +10101000 +01010101 +01001010 +10101000 +01010101 +01010000 +10101010 +00010101 +01010101 +00001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010001 +01010101 +00100001 +01001000 +01010100 +10101000 +01001010 +00010010 +10100001 +01001010 +10001010 +10000101 +01001010 +10101010 +00010101 +01001010 +10101000 +01010101 +01001010 +10101010 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01001010 +10000101 +01000001 +01001010 +00010101 +00101000 +00101010 +00010101 +00101010 +10101000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10101000 +01010010 +10101010 +10000001 +01010010 +10101010 +00010101 +01010100 +10100000 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00000101 +01010010 +10000010 +10100001 +01001000 +00100010 +00001000 +01001000 +00100010 +00001000 +01010010 +10000110 +00001000 +01010100 +00010100 +01010001 +01010001 +01010101 +01010101 +01001000 +01010101 +00010001 +01001000 +00010100 +10001000 +01001000 +10000100 +10100001 +01001010 +00100000 +10000101 +01001000 +00100000 +10000101 +01010001 +01000101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01000100 +01010001 +01010010 +00100010 +00001000 +01001000 +00100010 +00001000 +01101010 +00100000 +10101000 +01001000 +00100001 +00001000 +01001000 +00100000 +10100001 +01010000 +00000101 +00000101 +01010010 +00010101 +00010001 +01010010 +00000101 +10001000 +01010010 +00100001 +10100001 +01010010 +10001000 +10000101 +01010010 +00001000 +10000101 +01010100 +01010001 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00100001 +01010101 +01010100 +10011000 +01010101 +01010010 +01010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010110 +10101000 +01010101 +01010101 +01011000 +01010101 +01010101 +01011000 +01010101 +01010101 +01011001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010101 +10000101 +01010101 +01010101 +01100001 +01010101 +01010101 +01011001 +01010101 +01010101 +01100001 +01010101 +01010101 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011001 +01010101 +01010101 +01011000 +01010101 +01010101 +01011000 +01010101 +01010110 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +01010110 +00010101 +01010100 +10011000 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10010101 +01010101 +01010100 +10010101 +01010101 +01010100 +10010101 +01010101 +01010100 +10101010 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001001 +01010101 +01010101 +00100101 +01010101 +01010101 +10010101 +01010101 +01010101 +00100101 +01010101 +01010101 +01001001 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101010 +01010101 +01010100 +10010101 +01010101 +01010100 +10010101 +01010101 +01010101 +10010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01101001 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +10010010 +00010100 +10000110 +10010010 +00010100 +10000110 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01101001 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01010101 +01010101 +01010010 +01010100 +10000101 +01010100 +01010000 +10000001 +01010101 +01011010 +10101001 +01010101 +01010000 +10000001 +01010101 +01010100 +10000101 +01010100 +01010101 +01010101 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01101001 +01000101 +10100101 +01001010 +10101010 +10000101 +01101001 +00000001 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01101000 +01000100 +10100101 +01001010 +10101010 +10000101 +01101000 +00000000 +10100101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01101000 +01000100 +10100101 +01001010 +10101010 +10000101 +01101000 +00000000 +10100101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01101000 +01000100 +10100101 +01001010 +10101010 +10000101 +01101000 +00000000 +10100101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01101000 +01000100 +10100101 +01001010 +10101010 +10000101 +01101000 +00000000 +10100101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01101000 +01000100 +10100101 +01001010 +10101010 +10000101 +01101000 +00000000 +10100101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01000101 +01010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001000 +10101010 +10100001 +01001000 +00000000 +00100001 +01001000 +10101010 +10100001 +01001010 +10101010 +10100001 +01001000 +00000000 +00100001 +01001000 +10001010 +10100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00100000 +00100001 +01001000 +10001010 +00100001 +01001000 +10001010 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00010001 +00010010 +10100000 +10001000 +01010010 +00000000 +10001000 +01010010 +10100000 +10101000 +01010010 +00100001 +00100001 +00010010 +10100001 +00100001 +10000100 +01000101 +01000101 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010010 +00001010 +10000101 +01001010 +10000010 +00010101 +01010010 +00010010 +00010101 +01010010 +00010100 +10000101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010010 +10000001 +01010101 +01010100 +00101000 +01010101 +01010010 +10100001 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00000101 +01010010 +10000010 +10100001 +01001000 +00100010 +00001000 +01001000 +00100010 +00001000 +01010010 +10000010 +00001000 +01010100 +00010100 +01010001 +01010000 +00000000 +00000001 +01001010 +10100000 +10101000 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01010001 +00010001 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01000100 +01010001 +01010010 +00100010 +00001000 +01001000 +00100010 +00001000 +01101010 +00100000 +10101000 +01001000 +00100000 +00001000 +01001000 +00100000 +10100000 +01010000 +00000101 +00000001 +01001010 +10100000 +10101000 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01010001 +00010001 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000000 +00000101 +01000000 +10000010 +10100001 +00101010 +00010010 +00001000 +01000010 +01010010 +00001000 +01010010 +01010010 +10100000 +01010010 +01010010 +00001000 +01010010 +00010010 +00001000 +01010010 +10000010 +00001000 +01010010 +10000000 +01010001 +01010100 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +00000101 +00010100 +01000010 +10100000 +10000010 +00010010 +00000100 +10000010 +00010000 +00010100 +10000010 +00001000 +00010100 +10101010 +00010001 +00010100 +10000010 +00001000 +00010100 +10000010 +00010000 +00010100 +10000010 +00010010 +01010101 +00010100 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010010 +10101000 +01010101 +01010010 +00100010 +00010101 +01010010 +00100010 +00010101 +01010010 +00100010 +00010101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010010 +10000001 +01010101 +01010100 +00101000 +01010101 +01010010 +10100001 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +10000101 +01010100 +10000000 +10000101 +01010101 +00010101 +00010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000000 +00010101 +01010100 +10101010 +10000101 +01010101 +00000000 +00010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000000 +00010101 +01010100 +10101010 +10000101 +01010101 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000100 +00010101 +01010100 +10100010 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10000000 +10000101 +01010101 +00000000 +00010101 +01010101 +00101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +10000101 +01010100 +10000000 +10000101 +01010100 +10000100 +10000101 +01010101 +00000000 +00010101 +01010100 +10101010 +00010101 +01010100 +10000000 +00010101 +01010100 +10001010 +10000101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +10000101 +01010100 +10000000 +10000101 +01010101 +00000000 +00010101 +01010100 +10101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000010 +10000101 +01010100 +10000100 +10000101 +01010101 +00010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10000101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +00000101 +01001000 +10000100 +10100001 +00100010 +00100010 +00001000 +00100010 +00100010 +10101000 +00100000 +00100010 +00001000 +01000101 +01000100 +01010001 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000001 +01010101 +01010100 +10001000 +01010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +00010100 +01000101 +00100000 +10000010 +00100001 +00100010 +00001000 +10001000 +00101010 +00001000 +10001000 +00100000 +10001000 +00001000 +01000000 +00000001 +01010001 +01001010 +10101000 +01010101 +01010000 +00000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000001 +01010101 +01010100 +10001000 +01010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +00010100 +00000101 +01001000 +10000010 +10100001 +00100010 +00100010 +00001000 +00100010 +00100010 +10100001 +00100000 +00100010 +00000101 +01000000 +00000000 +01010101 +01001010 +10101000 +01010101 +01010000 +00000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000001 +01010101 +01010100 +10001000 +01010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010001 +01000101 +01001010 +00001000 +00100000 +00100000 +10001000 +10101000 +00100000 +10001000 +00100000 +00101010 +10001000 +00100000 +00100000 +10001000 +00001000 +01000101 +00010001 +01010001 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010101 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010001 +01000101 +01001010 +00001000 +00100001 +00100000 +10001000 +10101000 +00100000 +10001000 +00100000 +00101010 +10001000 +00100000 +00100000 +10001000 +01001000 +01000101 +00010001 +01010001 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010010 +00001010 +10000101 +01001010 +10000010 +00010101 +01010010 +00010010 +00010101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01000101 +01010101 +01001000 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01010010 +00010101 +01010101 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00000001 +00010010 +10100000 +10101000 +01010010 +00100000 +10001000 +01010010 +10100000 +10101000 +01010010 +00000100 +10001000 +00010010 +00010100 +10001000 +10000100 +01010101 +00010001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000000 +01010000 +00010010 +00101010 +00001010 +10000100 +00100000 +00001000 +00010101 +00101010 +00001010 +10000101 +00000010 +00010000 +10000101 +00101010 +00001010 +10000100 +01000000 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00000001 +00010010 +10100000 +10101000 +01010010 +00000101 +00100001 +01010010 +10100001 +00100001 +01010100 +00100001 +00100001 +00010010 +10100001 +00100001 +10000100 +00000101 +01000101 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000000 +01010000 +01010010 +00101010 +00001010 +00010100 +00100010 +00001000 +10000101 +00101010 +00001010 +00010101 +00100010 +00001000 +10000101 +00100010 +00001010 +00010100 +01000000 +01010000 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00000001 +00010010 +10100000 +10101000 +01010010 +00100000 +10001000 +01010010 +10100000 +10000000 +01010010 +00100000 +10001000 +00010010 +00100000 +10101000 +10000100 +01000101 +00000001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000001 +01010000 +00010010 +00101000 +01001010 +10000100 +00100010 +00001000 +10000101 +00101000 +01001000 +10000101 +00100010 +00001000 +10000101 +00100010 +00001010 +10000100 +01000000 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +01010101 +01010101 +01010010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +01010101 +01010101 +01010010 +01010101 +01010101 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010000 +10100101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01011010 +00000101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010101 +10000101 +01010101 +01010101 +10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000101 +01010101 +01010101 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +00000101 +01010101 +00101000 +10100000 +01000001 +00100010 +00100010 +00101000 +00100010 +00100010 +00100010 +00100010 +00100010 +00100010 +00100000 +00100010 +00100010 +01000101 +01000100 +01000100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01000100 +01010000 +00100010 +00100010 +00001010 +00100010 +00100010 +00100000 +00101010 +00100010 +00100010 +00100010 +00001000 +01001010 +01000100 +01010001 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000000 +00010100 +01000000 +10000010 +00010010 +00101010 +00010010 +00010010 +00100000 +01010010 +00000010 +00100000 +01010010 +00100010 +00101010 +01010010 +10101010 +00100000 +00010010 +10001010 +00100001 +10000010 +00000010 +00100001 +10000000 +01010100 +01000101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +00000100 +00000000 +01000010 +10100010 +10101010 +00010010 +00100000 +00100000 +01010000 +00100001 +00100001 +01001000 +10100001 +00100001 +01010001 +00000101 +00100001 +01001000 +01010101 +00100001 +01010000 +01010101 +00100001 +01010010 +01010101 +01000101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +01010101 +00000001 +00010010 +00010100 +10101000 +01010010 +00010100 +10001000 +01010010 +00010100 +10101000 +01010010 +00000100 +10001000 +00010010 +10100100 +10001000 +10000100 +00000101 +00010001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000100 +01010000 +00010010 +00100010 +00001010 +10000100 +00101010 +00001000 +10000101 +00101010 +00001000 +10000101 +00100010 +00001000 +10000101 +00100010 +00001010 +10000100 +01000100 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01000001 +01000101 +00101000 +00101000 +00100001 +00100010 +00100000 +10101000 +00100010 +00101000 +00100001 +00100010 +00001000 +00100001 +00101000 +00101000 +01001000 +01000001 +01000001 +01010001 +01010101 +01010100 +01010101 +01010100 +10000010 +00010101 +01010010 +00001010 +10000101 +01001010 +10000010 +00010101 +01010010 +00010010 +00010101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010100 +00100001 +01010101 +01000010 +00100001 +01010100 +00100010 +00100001 +01000010 +00100010 +00100001 +00100010 +00100010 +00100001 +00000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01000001 +01000101 +00101000 +00101000 +00100001 +00100010 +00100000 +10101000 +00100010 +00101000 +00100001 +00100010 +00001000 +00100001 +00101000 +00101000 +01001000 +01000001 +01000001 +01010001 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010101 +00010001 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00011000 +01010101 +01010101 +00011000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +01010101 +01001010 +10000101 +01010101 +01001001 +10000101 +01010101 +01001010 +10000101 +01010101 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01000000 +10101010 +00000001 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001000 +10101010 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00101010 +10100001 +01001010 +10000000 +10100001 +01001010 +10101010 +00100001 +01001010 +10000000 +10100001 +01001000 +00101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00000001 +00010010 +00100000 +10101000 +01010010 +00100000 +10001000 +01010010 +10100000 +10001000 +01010010 +00100000 +10001000 +00010010 +00100000 +10101000 +10000100 +00000101 +00000001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000000 +01010000 +00010010 +00101010 +00001000 +10000100 +01000010 +00001010 +10000101 +01001000 +00001010 +10000101 +00100000 +00001010 +10000101 +00101010 +00001000 +10000100 +01000000 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000101 +01010101 +01010110 +10100101 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000101 +01010101 +01101010 +10100101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +01010101 +01011010 +10010101 +01010101 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +01011010 +10101001 +01010101 +01010000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +01010101 +01010100 +10000001 +01010101 +01010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01101001 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10010101 +01010101 +01000010 +00010101 +01010101 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +00000001 +00000001 +00100000 +10101000 +10101000 +00100010 +00001000 +00100001 +00100010 +00001000 +00100001 +00101000 +10101000 +00100001 +01000001 +00000001 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +00000101 +01000001 +00100000 +10100001 +00101000 +00100010 +00001000 +10001000 +00100010 +00001000 +10001000 +00101000 +10100000 +10001000 +01000001 +00000101 +00010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010001 +01010101 +01001010 +00001000 +00000001 +00100000 +10001000 +10101000 +00100000 +10001000 +00100001 +00101010 +10001000 +00100001 +00100000 +10001010 +00100001 +01000101 +00010000 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +01000101 +00000001 +00010010 +00100000 +10101000 +01010010 +00100000 +10001000 +01010010 +10100000 +10001000 +01010010 +00100000 +10001000 +00010010 +00100000 +10101000 +10000100 +01000101 +00000001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000101 +01010000 +01010010 +00100001 +01001010 +00010100 +00100001 +01001000 +10000101 +00100001 +01001000 +10000101 +00100000 +01001000 +10000101 +00101010 +00001010 +00010100 +01000000 +01010000 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +01010101 +01010101 +01100000 +10010101 +01010101 +01100000 +10010101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +01010101 +01010101 +01100000 +10010101 +01010101 +01100000 +10010101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +01010101 +01010101 +01100000 +10010101 +01010101 +01100000 +10010101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01010110 +00001001 +01010101 +01010110 +00001001 +01010101 +01010101 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01010110 +00001001 +01010101 +01010110 +00001001 +01010101 +01010101 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01010110 +00001001 +01010101 +01010110 +00001001 +01010101 +01010101 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01001010 +10000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01001010 +10000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01001010 +10000101 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010010 +10100001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010010 +10100001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010010 +10100001 +01010101 +01010010 +00100001 +01010101 +01010010 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10101010 +00010101 +01010110 +10101010 +10010101 +01010100 +10101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10101010 +00010101 +01010110 +10101010 +10010101 +01010100 +10101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10101010 +00010101 +01010110 +10101010 +10010101 +01010100 +10101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010110 +10101010 +10010101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01101010 +00010101 +01010101 +01100000 +01010101 +01010101 +01100001 +01010000 +00010100 +01000101 +01001010 +10000010 +01010101 +01001000 +10000100 +01010101 +01001010 +10000100 +01010101 +01001000 +10000100 +01000101 +01001000 +10000010 +01100001 +01010001 +00010100 +01100000 +01010101 +01010101 +01101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +00000101 +00000101 +01010010 +10100000 +10100001 +01010100 +10000100 +10001000 +01010101 +10000100 +10100001 +01010101 +10000100 +10001000 +01010101 +10100000 +10001000 +01010100 +00000101 +00010001 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000000 +00101010 +10101010 +10101000 +01000000 +00101000 +00000001 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000000 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100000 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01000000 +00101000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 \ No newline at end of file diff --git a/resources/osd/large.mcm b/resources/osd/large.mcm new file mode 100644 index 000000000..77b7a8bfd --- /dev/null +++ b/resources/osd/large.mcm @@ -0,0 +1,16385 @@ +MAX7456 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00100100 +01010101 +01010101 +00100100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010010 +00100001 +01010101 +01001000 +01001000 +01010101 +00100001 +01010010 +00010100 +10000101 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010100 +10000101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010100 +10000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +01010010 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010010 +00010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +01010101 +01011010 +10101010 +01010101 +01010000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00000101 +01010101 +10101010 +10100101 +01010101 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010000 +01010101 +01010101 +01010010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010010 +10100001 +01010101 +01010010 +10101000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101000 +01010101 +01010010 +10100001 +01010101 +01010010 +10000101 +01010101 +01010010 +00010101 +01010101 +01010000 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01010101 +00000101 +01010101 +01010100 +10000101 +01010101 +01010010 +10000101 +01010101 +01001010 +10000101 +01010101 +00101010 +10000101 +01010100 +10101010 +10000101 +01010101 +00101010 +10000101 +01010101 +01001010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +10000101 +01010101 +01010101 +00000101 +01010101 +01011010 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01000101 +01010101 +01010010 +00100001 +01010101 +01001000 +10001000 +01010101 +01001000 +10001000 +01010101 +01001000 +00001000 +01010101 +01001000 +01001000 +01010101 +01010001 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010101 +00100010 +00010101 +01010101 +00101010 +00010100 +00010101 +01000000 +01010010 +10000101 +01010101 +01001000 +00100001 +01010101 +01001000 +01000101 +01010101 +00001000 +00010101 +01010100 +10101010 +10000101 +01010101 +00001000 +00010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010101 +00100010 +00010101 +01010101 +00101010 +00010101 +01010101 +01000000 +01010000 +00010101 +01010101 +01001010 +10000101 +01010101 +00100000 +00100001 +01010101 +00100001 +01000101 +01010101 +00100001 +01010101 +01010101 +00100001 +01000101 +01010101 +00100000 +00100001 +01010101 +01001010 +10000101 +01010101 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +00010001 +01010101 +01001000 +10001000 +01010101 +01001000 +00001010 +00010101 +01001010 +01001000 +00010101 +01001000 +01001000 +10000101 +01001000 +01010010 +00010101 +01010001 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00010001 +00010010 +10100000 +10001000 +01010010 +00000100 +10101000 +01010010 +00000100 +10101000 +01010010 +00100000 +10001000 +00010010 +10100000 +10001000 +10000100 +00000101 +00010001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000001 +01010001 +01010010 +00101000 +01001000 +01010100 +00100010 +00001000 +01010101 +00101000 +01001000 +01010101 +00100010 +00001000 +00010101 +00101000 +01001010 +10000100 +01000001 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +10000100 +10000101 +01010010 +10100000 +10000101 +01010010 +00101000 +10000101 +01010010 +00001010 +10000101 +01010010 +00010010 +10000101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +00010101 +10000101 +01010010 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +10000101 +01010010 +01010100 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +00010101 +01010101 +01010010 +00000000 +01010101 +01010010 +10101010 +00010101 +01010010 +00000000 +01010101 +01010010 +00010101 +01010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01011001 +01010101 +01010101 +01011001 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00000000 +10000101 +01010010 +00101000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01001001 +01001001 +01001001 +01001001 +01001001 +01001001 +01010101 +01001001 +01010101 +01010101 +01001001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010010 +10100001 +01010101 +01001010 +10101000 +01010101 +01010010 +10101000 +01010101 +01010100 +10101010 +01010101 +01010101 +00001001 +01010101 +01010101 +01010010 +01010101 +01010101 +00011010 +01010101 +01010001 +10011010 +01010101 +01001000 +10000101 +01010101 +01001000 +00101000 +01010101 +01010010 +00000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100101 +01010101 +01010101 +10101000 +01010101 +01010101 +10100001 +01010101 +01010101 +10011000 +00010101 +01010101 +00101010 +10000101 +01010101 +01001010 +10100001 +01010101 +01001010 +10101000 +01010101 +01010010 +10100001 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010000 +00010000 +00010101 +10001010 +10001010 +10000101 +10001000 +10001000 +10000101 +10001000 +10001000 +10000101 +10001000 +10001000 +10000101 +10001010 +10001010 +10000101 +00010000 +00010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +00000001 +00000001 +10101000 +10101000 +10101000 +10000000 +10001000 +10001000 +10101000 +10001000 +10001000 +00001000 +10001000 +10001000 +10101000 +10101000 +10101000 +00000001 +00000001 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +00000001 +10101000 +00010000 +10101000 +00001000 +10001000 +10000001 +10101000 +10100000 +10101000 +10000000 +10100001 +00001000 +10101000 +10001000 +10101000 +00000001 +00010001 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010001 +01000101 +00010001 +10001000 +00100000 +10001000 +10101000 +10001000 +10001000 +10001000 +10101000 +00100001 +10001000 +10001000 +10001000 +10001000 +10001000 +10001000 +00010001 +00010001 +00010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +00010101 +01010100 +10000100 +10000101 +01010101 +00010010 +00010101 +01010101 +01001000 +01010101 +01010101 +00100001 +00010101 +01010100 +10000100 +10000101 +01010101 +00010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00100100 +01010101 +01010101 +00100100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +00010100 +10100101 +01010010 +10000010 +10000101 +01010000 +10101010 +00000101 +01011010 +10101010 +10100101 +01010000 +10101010 +00000101 +01010010 +10000010 +10000101 +01011010 +00010100 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00100001 +01010101 +01010100 +00100000 +01010101 +01010110 +10101010 +01010101 +01010100 +00100000 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100001 +01010101 +01010010 +10100001 +01010101 +01001010 +10000101 +01010101 +00101010 +00010101 +01010100 +10101000 +01010101 +01010010 +10100001 +01010101 +01001010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010010 +00000000 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010000 +00000000 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010000 +00000000 +00100001 +01010010 +10101010 +10100001 +01010010 +00000000 +00000001 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00000000 +00000001 +01010010 +10101010 +10100001 +01010000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010000 +00000000 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010000 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010000 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +00000001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010010 +00000000 +00000001 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00000000 +00000001 +01010010 +10101010 +10100001 +01010000 +00000000 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010000 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010010 +00000000 +00000001 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00000000 +00000001 +01010010 +10101010 +10100001 +01010010 +00000000 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010000 +00000000 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010010 +00000000 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00000000 +00100001 +01010010 +10101010 +10100001 +01010010 +00000000 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000001 +01010010 +10101010 +10100001 +01010010 +00000000 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00010101 +00100001 +01010010 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010000 +00000000 +00100001 +01010010 +10101010 +10100001 +01010000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01010010 +10101010 +10000101 +01010010 +10101010 +10000101 +01010100 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010010 +00000000 +10000101 +01001000 +00000000 +00100001 +00100000 +10100010 +00001000 +00100010 +00001010 +00001000 +00100010 +00000010 +00001000 +00100010 +00001010 +00001000 +00100000 +10100010 +00100000 +00100000 +00000000 +10000001 +00001000 +00000100 +00000101 +01000010 +00000000 +00100001 +01010000 +10101010 +10000001 +01010100 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010101 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000100 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000100 +01010101 +01010100 +10000010 +00010101 +01010101 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000000 +00010101 +01010100 +10101010 +10000101 +01010101 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000000 +01010101 +01010100 +10000000 +01010101 +01010100 +10001010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +00010010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +00010101 +01010100 +10000100 +10000101 +01010100 +10000010 +00010101 +01010100 +10001000 +01010101 +01010100 +10100001 +01010101 +01010100 +10100001 +01010101 +01010100 +10001000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000100 +10000101 +01010101 +00010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +10000010 +10000101 +01010010 +10101010 +10000101 +01010010 +00101000 +10000101 +01010010 +00000000 +10000101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10100010 +00010101 +01010100 +10101010 +00010101 +01010100 +10001010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010100 +10000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10001010 +00010101 +01010101 +00101010 +00010101 +01010101 +01000000 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101000 +01010101 +01010100 +10001010 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000000 +01010101 +01010101 +00100000 +01010101 +01010101 +01001010 +00010101 +01010101 +00000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00100000 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00010100 +10000101 +01010010 +00000000 +10000101 +01010010 +00101000 +10000101 +01010010 +00101000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +00010101 +01010010 +00010100 +10000101 +01010010 +10000010 +10000101 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010010 +10000010 +10000101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010100 +01010101 +01010010 +00010010 +00010101 +01010010 +00010010 +00010101 +01010100 +10001000 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00000010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01010010 +00000000 +01010101 +01010010 +10101010 +00010101 +01010100 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +01010101 +01001010 +10000101 +01010101 +01001000 +00000101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +01010101 +01010101 +01001000 +00010101 +01010101 +01001010 +10000101 +01010101 +01010000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000101 +01010101 +01010010 +10100001 +01010101 +01010100 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010101 +00100001 +01010101 +01010100 +00100001 +01010101 +01010010 +10100001 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10000010 +10000101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01000000 +00101000 +00000001 +00101010 +10101010 +10101000 +01001010 +10101010 +10100001 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01010010 +10100001 +01010101 +01010100 +10100001 +01000001 +01010100 +10101000 +00101000 +01010000 +00101010 +10101000 +01001010 +10101010 +10100001 +00101010 +10101010 +10100001 +01000010 +10101010 +10000101 +01010100 +10101010 +10000101 +01010101 +00001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01000101 +00101010 +00010101 +00100001 +01001010 +10000100 +10100001 +01010010 +10100010 +10100001 +01010100 +10101010 +10100001 +01010101 +00101010 +10100001 +01010100 +10101010 +10100001 +01010010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +00010101 +01000001 +01001010 +00010101 +00101000 +00001010 +10000101 +00101010 +10001010 +10100001 +01001010 +10101010 +10100001 +01010000 +10101010 +10101000 +01010101 +00101010 +10101000 +01010101 +00101010 +10100001 +01010100 +10101010 +00000101 +01010100 +10100000 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +10000101 +01000000 +00001010 +10100001 +00101010 +10101010 +10101000 +00101010 +10101010 +10101000 +01000000 +00001010 +10100001 +01010101 +01001010 +10000101 +01010101 +01001010 +00010101 +01010101 +01001000 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100000 +01010101 +01010100 +10101010 +00000101 +01010101 +00101010 +10100001 +01010101 +00101010 +10101000 +01010000 +10101010 +10101000 +01001010 +10101010 +10100001 +00101010 +10001010 +10100001 +00101000 +00001010 +10000101 +01000001 +01001010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01010010 +10101010 +10100001 +01010100 +10101010 +10100001 +01010101 +00101010 +10100001 +01010100 +10101010 +10100001 +01010010 +10100010 +10100001 +01001010 +10000100 +10100001 +00101010 +00010101 +00100001 +01001000 +01010101 +01000101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +00001010 +00010101 +01010100 +10101010 +10000101 +01000010 +10101010 +10000101 +00101010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010000 +00101010 +10101000 +01010100 +10101000 +00101000 +01010100 +10100001 +01000001 +01010010 +10100001 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01001010 +10101010 +10100001 +00101010 +10101010 +10101000 +01000000 +00101000 +00000001 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100000 +01010101 +01010010 +10101010 +00010101 +01010010 +10101010 +10000001 +01001010 +10101010 +10101000 +01001010 +10101010 +10100001 +00101010 +10101000 +00000101 +00101000 +00101010 +00010101 +01000001 +01001010 +00010101 +01010101 +01001010 +10000101 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10000101 +01001010 +10101010 +00010101 +01001010 +10101000 +01010101 +01001010 +10101010 +00010101 +01001010 +10001010 +10000101 +01001010 +00010010 +10100001 +01001000 +01010100 +10101000 +01010001 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010101 +01010101 +00001010 +00010101 +01010000 +10101010 +00010101 +01001010 +10101000 +01010101 +00101010 +10101000 +01010101 +00101010 +10101010 +00000101 +01001010 +10101010 +10100001 +01001010 +10100010 +10101000 +01010010 +10100000 +00101000 +01010100 +10100001 +01000001 +01010100 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010100 +10100001 +01010101 +01010010 +10100001 +01010101 +01001010 +10100000 +00000001 +00101010 +10101010 +10101000 +00101010 +10101010 +10101000 +01001010 +10100000 +00000001 +01010010 +10100001 +01010101 +01010100 +10100001 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10100001 +01000001 +01010010 +10100000 +00101000 +01001010 +10100010 +10101000 +01001010 +10101010 +10100001 +00101010 +10101010 +00000101 +00101010 +10101000 +01010101 +01001010 +10101000 +01010101 +01010000 +10101010 +00010101 +01010101 +00001010 +00010101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010001 +01010101 +00100001 +01001000 +01010100 +10101000 +01001010 +00010010 +10100001 +01001010 +10001010 +10000101 +01001010 +10101010 +00010101 +01001010 +10101000 +01010101 +01001010 +10101010 +00010101 +01001010 +10101010 +10000101 +01001010 +10101010 +10100001 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01001010 +10000101 +01000001 +01001010 +00010101 +00101000 +00101010 +00010101 +00101010 +10101000 +00000101 +01001010 +10101010 +10100001 +01001010 +10101010 +10101000 +01010010 +10101010 +10000001 +01010010 +10101010 +00010101 +01010100 +10100000 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00000101 +01010010 +10000010 +10100001 +01001000 +00100010 +00001000 +01001000 +00100010 +00001000 +01010010 +10000110 +00001000 +01010100 +00010100 +01010001 +01010001 +01010101 +01010101 +01001000 +01010100 +01000101 +01001000 +00010010 +00100001 +01001000 +10000010 +10001000 +01001010 +00100010 +00010001 +01001000 +00100010 +00010101 +01010001 +01000100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01000100 +01010001 +01010010 +00100010 +00001000 +01001000 +00100010 +00001000 +01101010 +00100000 +10101000 +01001000 +00100001 +00001000 +01001000 +00100000 +10100001 +01010001 +01000101 +00000101 +01001000 +01010100 +01000101 +01001000 +00010010 +00100001 +01001000 +10000010 +10001000 +01001010 +00100010 +00010001 +01001000 +00100010 +00010101 +01010001 +01000100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010100 +10011000 +01010101 +01010010 +01010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010110 +10101000 +01010101 +01010101 +01011000 +01010101 +01010101 +01011000 +01010101 +01010101 +01011001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010101 +10000101 +01010101 +01010101 +01100001 +01010101 +01010101 +01011000 +01010101 +01010101 +01100001 +01010101 +01010101 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011001 +01010101 +01010101 +01011000 +01010101 +01010101 +01011000 +01010101 +01010110 +10101000 +01010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +01010110 +00010101 +01010100 +10011000 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10010101 +01010101 +01010100 +10010101 +01010101 +01010100 +10010101 +01010101 +01010100 +10101010 +01010101 +01010100 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001001 +01010101 +01010101 +00100101 +01010101 +01010100 +10010101 +01010101 +01010101 +00100101 +01010101 +01010101 +01001001 +01010101 +01010101 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010100 +10101010 +01010101 +01010100 +10010101 +01010101 +01010100 +10010101 +01010101 +01010101 +10010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010101 +01010101 +01010010 +10000101 +01010101 +01010100 +10100001 +01010101 +01010101 +00101000 +01010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +01001010 +00010101 +01010101 +00101000 +01010101 +01010100 +10100001 +01010101 +01010010 +10000101 +01010101 +01010100 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01101001 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +10010010 +00010100 +10000110 +10010010 +00010100 +10000110 +01010100 +10000010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01101001 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01010101 +01010101 +01010010 +01010100 +10000101 +01010100 +01010000 +10000001 +01010101 +01011010 +10101001 +01010101 +01010000 +10000001 +01010101 +01010100 +10000101 +01010100 +01010101 +01010101 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01101000 +01000100 +10100101 +01001010 +00100010 +10000101 +01101000 +01000100 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01101000 +01000100 +10100101 +01001010 +00100010 +10000101 +01101000 +01000100 +10100101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01101000 +01000100 +10100101 +01001010 +00100010 +10000101 +01101000 +01000100 +10100101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01101000 +01000100 +10100101 +01001010 +00100010 +10000101 +01101000 +01000100 +10100101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01101000 +01000100 +10100101 +01001010 +00100010 +10000101 +01101000 +01000100 +10100101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01101000 +01000100 +10100101 +01001010 +00100010 +10000101 +01101000 +01000100 +10100101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +01010101 +01010101 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010000 +10101010 +00000101 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001000 +10101010 +10100001 +01001000 +00000000 +00100001 +01001000 +10101010 +10100001 +01001010 +10101010 +10100001 +01001000 +00000000 +00100001 +01001000 +10001010 +10100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00100000 +00100001 +01001000 +10001010 +00100001 +01001000 +10001010 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010010 +00001010 +10000101 +01001010 +10000010 +00010101 +01010010 +00010010 +00010101 +01010010 +00010100 +10000101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010010 +10000001 +01010101 +01010100 +00101000 +01010101 +01010010 +10100001 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00010100 +00000101 +01010010 +10000010 +10100001 +01001000 +00100010 +00001000 +01001000 +00100010 +00001000 +01010010 +10000010 +00001000 +01010100 +00010100 +01010001 +01010000 +00000000 +00000001 +01001010 +10100000 +10101000 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01010001 +00010001 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01000100 +01010001 +01010010 +00100010 +00001000 +01001000 +00100010 +00001000 +01101010 +00100000 +10101000 +01001000 +00100000 +00001000 +01001000 +00100000 +10100000 +01010000 +00000101 +00000001 +01001010 +10100000 +10101000 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01001000 +10001000 +10000010 +01010001 +00010001 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000000 +00000101 +01000000 +10000010 +10100001 +00101010 +00010010 +00001000 +01000010 +01010010 +00001000 +01010010 +01010010 +10100000 +01010010 +01010010 +00001000 +01010010 +00010010 +00001000 +01010010 +10000010 +00001000 +01010010 +10000000 +01010001 +01010100 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +00000101 +00010100 +01000010 +10100000 +10000010 +00010010 +00000100 +10000010 +00010000 +00010100 +10000010 +00001000 +00010100 +10101010 +00010001 +00010100 +10000010 +00001000 +00010100 +10000010 +00010000 +00010100 +10000010 +00010010 +01010101 +00010100 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000001 +01010101 +01010010 +10101000 +01010101 +01010010 +00100010 +00010101 +01010010 +00100010 +00010101 +01010010 +00100010 +00010101 +01010000 +00000000 +00010101 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010101 +00000001 +01010101 +01010100 +10101000 +01010101 +01010010 +10000001 +01010101 +01010100 +00101000 +01010101 +01010010 +10100001 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +10000101 +01010100 +10000000 +10000101 +01010101 +00010101 +00010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000000 +00010101 +01010100 +10101010 +10000101 +01010101 +00000000 +00010101 +01010101 +00000000 +00010101 +01010100 +10101010 +10000101 +01010100 +10000000 +00010101 +01010100 +10000000 +00010101 +01010100 +10101010 +10000101 +01010101 +00000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000100 +00010101 +01010100 +10100010 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10000000 +10000101 +01010101 +00000000 +00010101 +01010101 +00101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +10000101 +01010100 +10000000 +10000101 +01010100 +10000100 +10000101 +01010101 +00000000 +00010101 +01010100 +10101010 +00010101 +01010100 +10000000 +00010101 +01010100 +10001010 +10000101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +10000101 +01010100 +10000000 +10000101 +01010101 +00000000 +00010101 +01010100 +10101010 +00010101 +01010100 +10000000 +10000101 +01010100 +10101010 +00010101 +01010100 +10000010 +10000101 +01010100 +10000100 +10000101 +01010101 +00010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000010 +00010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10000101 +01010101 +01010101 +00000000 +01010101 +01010100 +10101010 +00010101 +01010100 +10000000 +01010101 +01010100 +10101010 +00010101 +01010101 +00000010 +00010101 +01010100 +10101010 +00010101 +01010101 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +00000101 +01001000 +10000100 +10100001 +00100010 +00100010 +00001000 +00100010 +00100010 +10101000 +00100000 +00100010 +00001000 +01000101 +01000100 +01010001 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010100 +10000101 +01010101 +01010100 +10000001 +01010101 +01010100 +10001000 +01010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +00010100 +01000101 +00100000 +10000010 +00100001 +00100010 +00001000 +10001000 +00101010 +00001000 +10001000 +00100000 +10001000 +00001000 +01000000 +00000000 +00010001 +01001010 +10101010 +10000101 +01010000 +00000000 +00010101 +01010100 +10000101 +01010101 +01010100 +10000001 +01010101 +01010100 +10001000 +01010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +00010100 +00000101 +01001000 +10000010 +10100001 +00100010 +00100010 +00001000 +00100010 +00100010 +10100001 +00100000 +00100010 +00000101 +01000000 +00000000 +01010101 +01001010 +10101000 +01010101 +01010000 +00000001 +01010101 +01010100 +10000101 +01010101 +01010100 +10000001 +01010101 +01010100 +10001000 +01010101 +01010100 +10100010 +00010101 +01010100 +10000010 +00010101 +01010100 +10000010 +00010101 +01010101 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010001 +01000101 +01001010 +00001000 +00100001 +00100000 +10001000 +10101000 +00100000 +10001000 +00100001 +00101010 +10001000 +00100001 +00100000 +10001000 +01001000 +01000101 +00010001 +01010001 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010101 +00010001 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010001 +01000101 +01001010 +00001000 +00100001 +00100000 +10001000 +10101000 +00100000 +10001000 +00100001 +00101010 +10001000 +00100001 +00100000 +10001000 +01001000 +01000101 +00010001 +01010001 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010010 +00001010 +10000101 +01001010 +10000010 +00010101 +01010010 +00010010 +00010101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01000101 +01010101 +01001000 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +10000101 +01010101 +01001000 +10000101 +01010101 +01010010 +00010101 +01010101 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000001 +01010101 +01010101 +10101000 +00000001 +00010001 +00100000 +10101000 +10001000 +00100010 +00001000 +10100001 +00100010 +00001000 +10000101 +00100000 +10101000 +10000101 +01000101 +00000001 +00010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +00000101 +01010101 +00100000 +10100001 +01010101 +00100010 +00001000 +01010101 +00100010 +00001000 +01010101 +00100000 +10100001 +01010101 +01000101 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01000000 +01010000 +01001000 +00101010 +00001010 +00101010 +10000010 +00100010 +10001000 +10000010 +00101000 +00001000 +00101010 +00001010 +00010010 +00000010 +00010000 +01010100 +00101000 +01010101 +01010101 +01000001 +00010101 +01010101 +01000000 +10000100 +01010101 +00101000 +10000010 +00010101 +10000000 +10001000 +01010101 +10000000 +10101000 +01010101 +00101000 +10000010 +00010101 +01000001 +00010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00000001 +00010010 +10100000 +10101000 +01010010 +00000101 +00100001 +01010010 +10100001 +00100001 +01010100 +00100001 +00100001 +00010010 +10100001 +00100001 +10000100 +00000101 +01000101 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000000 +01010000 +01010010 +00101010 +00001010 +00010100 +00100010 +00001000 +10000101 +00101010 +00001010 +00010101 +00100010 +00001000 +10000101 +00100010 +00001010 +00010100 +01000000 +01010000 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00000001 +00010010 +10100000 +10101000 +01010010 +00100000 +10001000 +01010010 +10100000 +10000000 +01010010 +00100000 +10001000 +00010010 +00100000 +10101000 +10000100 +01000101 +00000001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000001 +01010000 +00010010 +00101000 +01001010 +10000100 +00100010 +00001000 +10000101 +00101000 +01001000 +10000101 +00100010 +00001000 +10000101 +00100010 +00001010 +10000100 +01000000 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +01010101 +01010101 +01010010 +01010101 +01010101 +01010010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +01010101 +01010101 +01010010 +01010101 +01010101 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000101 +01010101 +01010000 +10100101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01011010 +00000101 +01010101 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01010101 +01010101 +10000101 +01010101 +01010101 +10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000101 +01010101 +01010101 +10000101 +01010101 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +00000101 +01010101 +00101000 +10100000 +01000001 +00100010 +00100010 +00101000 +00100010 +00100010 +00100010 +00100010 +00100010 +00100010 +00100000 +00100010 +00100010 +01000101 +01000100 +01000100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010001 +01010101 +01010101 +01001000 +01000100 +01010000 +00100010 +00100010 +00001010 +00100010 +00100010 +00100000 +00101010 +00100010 +00100010 +00100010 +00001000 +01001010 +01000100 +01010001 +01010000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000000 +00010100 +01000000 +10000010 +00010010 +00101010 +00010010 +00010010 +00100000 +01010010 +00000010 +00100000 +01010010 +00100010 +00101010 +01010010 +10101010 +00100000 +00010010 +10001010 +00100001 +10000010 +00000010 +00100001 +10000000 +01010100 +01000101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +00000100 +00000000 +01000010 +10100010 +10101010 +00010010 +00100000 +00100000 +01010000 +00100001 +00100001 +01001000 +10100001 +00100001 +01010001 +00000101 +00100001 +01001000 +01010101 +00100001 +01010000 +01010101 +00100001 +01010010 +01010101 +01000101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +01010101 +00000001 +00010010 +00010100 +10101000 +01010010 +00010100 +10001000 +01010010 +00010100 +10101000 +01010010 +00000100 +10001000 +00010010 +10100100 +10001000 +10000100 +00000101 +00010001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000100 +01010000 +00010010 +00100010 +00001010 +10000100 +00101010 +00001000 +10000101 +00101010 +00001000 +10000101 +00100010 +00001000 +10000101 +00100010 +00001010 +10000100 +01000100 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01000001 +01000101 +00101000 +00101000 +00100001 +00100010 +00100000 +10101000 +00100010 +00101000 +00100001 +00100010 +00001000 +00100001 +00101000 +00101000 +01001000 +01000001 +01000001 +01010001 +01010101 +00010100 +01010101 +01010100 +10000010 +00010101 +01010010 +00001010 +10000101 +01001010 +10000010 +00010101 +01010010 +00010010 +00010101 +01010010 +00010100 +10000101 +01010100 +01010101 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010100 +00100001 +01010101 +01000010 +00100001 +01010100 +00100010 +00100001 +01000010 +00100010 +00100001 +00100010 +00100010 +00100001 +00000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01000001 +01000101 +00101000 +00101000 +00100001 +00100010 +00100000 +10101000 +00100010 +00101000 +00100001 +00100010 +00001000 +00100001 +00101000 +00101000 +01001000 +01000001 +01000001 +01010001 +01010101 +01000000 +01010101 +01010101 +00101010 +00010101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010100 +10001000 +10000101 +01010101 +00010001 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00011000 +01010101 +01010101 +00011000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +10100101 +01010101 +01001000 +00100101 +01010101 +01001001 +00100101 +01010101 +01001010 +10100101 +01010101 +01000000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010000 +00000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000000 +00010101 +01000000 +10101010 +00000001 +01001010 +10000010 +10100001 +01001010 +10000010 +10100001 +01001010 +10101010 +10100001 +01001010 +00000000 +10100001 +01001000 +10101010 +00100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00000000 +00100001 +01001010 +10101010 +10100001 +01001000 +00101010 +10100001 +01001010 +10000000 +10100001 +01001010 +10101010 +00100001 +01001010 +10000000 +10100001 +01001000 +00101010 +10100001 +01001010 +10101010 +10100001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010101 +00101010 +10000101 +01010101 +00100000 +00100101 +01010101 +00100001 +00100100 +01010101 +00100000 +00100100 +01010101 +00101010 +10000100 +01010101 +00100000 +00010100 +01010101 +00100001 +01010100 +01010101 +00100001 +01010100 +01010101 +01010101 +01010101 +01010101 +00000000 +00000001 +01010100 +10101010 +10101000 +01010101 +00000010 +00000001 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010010 +00010101 +01010101 +01010100 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00010101 +01010000 +00101010 +10000101 +01001010 +10000000 +00100101 +00100000 +10000101 +00100001 +00100000 +10000000 +00100001 +01001010 +10101010 +10100001 +01010000 +10000000 +00100001 +01000000 +10000101 +00100001 +00101010 +00010001 +01000001 +01000000 +01001000 +01001000 +01001010 +01001000 +01001000 +01001000 +01001000 +00001000 +01001000 +01001010 +10101000 +01001000 +01001000 +00001000 +01001010 +01001001 +01001000 +01001000 +01001000 +01001000 +01001000 +01010001 +01010001 +01010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00010101 +01000000 +01010101 +10000101 +00101010 +00010101 +00010100 +10000000 +01010101 +00010100 +10000001 +01010101 +10000101 +00101000 +01010101 +00100001 +01000010 +00010101 +00100001 +00000010 +00010101 +10000100 +10101000 +01010101 +00010101 +00000001 +01010101 +10000101 +00010101 +00010101 +00100000 +10000100 +10000101 +00100000 +10000100 +10000101 +10000100 +10000100 +10000101 +00010100 +10000100 +10000101 +10000100 +10000000 +10000101 +00100001 +00101010 +00010101 +01000101 +01000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +00000101 +00000001 +00010010 +00100000 +10101000 +01010010 +00100000 +10001000 +01010010 +10100000 +10001000 +01010010 +00100000 +10001000 +00010010 +00100000 +10101000 +10000100 +00000101 +00000001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000000 +01010000 +00010010 +00101010 +00001000 +10000100 +01000010 +00001010 +10000101 +01001000 +00001010 +10000101 +00100000 +00001010 +10000101 +00101010 +00001000 +10000100 +01000000 +01010000 +00010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +00000101 +01010101 +01010110 +10100101 +01010101 +01010100 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +00000101 +01010101 +01101010 +10100101 +01010101 +01000000 +00000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00010101 +01010101 +01011010 +10010101 +01010101 +01010000 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +00000001 +01010101 +01011010 +10101001 +01010101 +01010000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000000 +01010101 +01010101 +00101010 +01010101 +01010100 +10000001 +01010101 +01010110 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01101001 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010100 +10010101 +01010101 +01000010 +00010101 +01010101 +10101000 +01010101 +01010101 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010100 +10101010 +00010101 +01010010 +10101010 +10000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +00000001 +00000001 +00100000 +10101000 +10101000 +00100010 +00001000 +00100001 +00100010 +00001000 +00100001 +00101000 +10101000 +00100001 +01000001 +00000001 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000101 +01010101 +01010101 +00100001 +00000101 +01000001 +00100000 +10100001 +00101000 +00100010 +00001000 +10001000 +00100010 +00001000 +10001000 +00101000 +10100000 +10001000 +01000001 +00000101 +00010001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010000 +01010001 +01000101 +01001010 +00001000 +00100001 +00100000 +10001000 +10101000 +00100000 +10001000 +00100001 +00101010 +10001000 +00100001 +00100000 +10001010 +00100001 +01000101 +00010000 +01000101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10101000 +01010101 +01010101 +10000001 +01010101 +01010101 +10000100 +01000101 +00000001 +00010010 +00100000 +10101000 +01010010 +00100000 +10001000 +01010010 +10100000 +10001000 +01010010 +00100000 +10001000 +00010010 +00100000 +10101000 +10000100 +01000101 +00000001 +10000001 +01010101 +01010101 +10101000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +01000101 +01010000 +01010010 +00100001 +01001010 +00010100 +00100001 +01001000 +10000101 +00100001 +01001000 +10000101 +00100000 +01001000 +10000101 +00101010 +00001010 +00010100 +01000000 +01010000 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010010 +10101010 +10000101 +01010100 +10101010 +00010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +01010101 +01010101 +01100000 +10010101 +01010101 +01100000 +10010101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +01010101 +01010101 +01100000 +10010101 +01010101 +01100000 +10010101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01011010 +01010101 +01010101 +01100000 +10010101 +01010101 +01100000 +10010101 +01010101 +01011010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01010110 +00001001 +01010101 +01010110 +00001001 +01010101 +01010101 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01010110 +00001001 +01010101 +01010110 +00001001 +01010101 +01010101 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10100101 +01010101 +01010110 +00001001 +01010101 +01010110 +00001001 +01010101 +01010101 +10100101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01101001 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +10000101 +00101000 +01010010 +10000101 +00101000 +01010010 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +01101001 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +00101000 +01010101 +01010101 +00101000 +01010101 +01010101 +10000010 +01010101 +01010101 +10000010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01101010 +00010101 +01010101 +01100000 +01010101 +01010101 +01100001 +01010000 +00010100 +01000101 +01001010 +10000010 +01010101 +01001000 +10000100 +01010101 +01001010 +10000100 +01010101 +01001000 +10000100 +01000101 +01001000 +10000010 +01100001 +01010001 +00010100 +01100000 +01010101 +01010101 +01101010 +00010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00101010 +01010101 +01010101 +01000010 +00000101 +00000101 +01010010 +10100000 +10100001 +01010100 +10000100 +10001000 +01010101 +10000100 +10100001 +01010101 +10000100 +10001000 +01010101 +10100000 +10001000 +01010100 +00000101 +00010001 +01010010 +01010101 +01010101 +01000010 +01010101 +01010101 +00101010 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +00000000 +00101000 +00000000 +00101010 +10101010 +10101000 +00100000 +00101000 +00001000 +00100001 +01000001 +01001000 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +10101000 +01010101 +00101010 +10101000 +01010101 +00101010 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +00100001 +01010101 +01001000 +00100001 +01000001 +01001000 +00100000 +00101000 +00001000 +00101010 +10101010 +10101000 +00000000 +00101000 +00000000 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00000000 +00000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00101000 +00000001 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01010101 +00100001 +01010101 +01000000 +00001000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01010101 +00101000 +01010101 +01000000 +00100000 +00000001 +00101010 +10101010 +10101000 +01000000 +00100000 +00000001 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01000001 +01010101 +01000000 +00101000 +00000001 +00101010 +10101010 +10101000 +01000000 +00001000 +00000001 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00100001 +01010101 +01010101 +01001000 +01010101 +01010101 +00101000 +01010101 +01010101 +01000001 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 +01010101 \ No newline at end of file diff --git a/tabs/osd.css b/tabs/osd.css index 348459ba8..e9dbd2fbd 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -40,7 +40,7 @@ } .tab-osd .hide { - display: none; + display: none; } .tab-osd .note { @@ -48,15 +48,15 @@ } .tab-osd .col { - display: inline-block; + display: inline-block; } .tab-osd .left { - float: left; + float: left; } .tab-osd .right { - float: right; + float: right; } .tab-osd .content_wrapper { @@ -70,26 +70,23 @@ width: calc(100% + 10px); margin-left: -10px; padding-left: 10px; - } - - .tab-osd .elementselect:hover { +} + +.tab-osd .elementselect:hover { background-color: #f3f3f3; - } - - +} + .tab-osd .elementselect.active { background-color: #c3dab5; - } - +} .tab-osd .elementselect:last-child { border-bottom: 0px; padding-bottom: 0px; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; - } +} - .tab-osd .checkbox { margin-top: 2px; float: left; @@ -97,7 +94,6 @@ padding-bottom: 4px; padding-top: 1px; font-size: 11px; - } .tab-osd .numberspacer { @@ -105,7 +101,6 @@ float: left; font-size: 11px; } - .tab-osd label { float: left; @@ -113,12 +108,10 @@ } .tab-osd input { - float:left; - margin-right:8px; - + float: left; + margin-right: 8px; } - .tab-osd .preview { width: 360px; } @@ -128,7 +121,7 @@ height: 234px; background-image: url(/images/osdpreview.jpg); background-repeat: no-repeat; - float:left; + float: left; border-bottom-left-radius: 3px; border-bottom-right-radius: 3px; background-size: 360px; @@ -138,21 +131,25 @@ margin-bottom: 0px; } - .tab-osd .elements { max-width: calc(100% - 360px); } - .tab-osd .format { width: calc(100% - 2px); float: left; - } .tab-osd .font_text_row { margin-bottom: -3px; display: inline-block; + float: left; +} + +.tab-osd .font_text_logo_row { + margin-bottom: -3px; + display: inline-block; + float: left; } .tab-osd .position { @@ -160,7 +157,7 @@ margin-left: 10px; float: right; } - + .tab-osd .format .title { font-size: 13px; background-color: #8e8e8e; @@ -182,7 +179,7 @@ float: right; margin-top: 7px; margin-right: 8px; - } +} .tab-osd .osdlabel { float: left; @@ -191,35 +188,34 @@ padding-bottom: 5px; border-bottom: 1px solid silver; width: calc(100% - 20px); - } - - - .tab-osd .osdlabel:last-child { +} + +.tab-osd .osdlabel:last-child { border-bottom: 0px; margin-bottom: 5px; - } - - - .tab-osd .callsign { - border: 1px solid silver; - border-radius: 3px; - height: 12px; - float: left; - margin-left: 8px; - margin-top: 5px; - padding:3px; - width: calc(100% - 128px); - } - - .tab-osd .osdlabel select { - float:right; - margin-right:0px; - width:50px; +} + +.tab-osd .callsign { border: 1px solid silver; + border-radius: 3px; + height: 12px; + float: left; + margin-left: 8px; + margin-top: 5px; + padding: 3px; + width: calc(100% - 128px); } -@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) { - .tab-osd .content_wrapper { - height: calc(100% - 30px); - } +.tab-osd .osdlabel select { + float: right; + margin-right: 0px; + width: 50px; + border: 1px solid silver; } + +@media only screen and (max-width: 1055px) , only screen and + (max-device-width: 1055px) { + .tab-osd .content_wrapper { + height: calc(100% - 30px); + } +} \ No newline at end of file diff --git a/tabs/osd.html b/tabs/osd.html index 8b3c07fc8..cc4ce3c08 100755 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -1,32 +1,42 @@
    -

    +

    - +
    -

    +

    -
    -
    +
    -
    -
    OSD Elements
    +
    +
    OSD + Elements
    -
    -
    +
    Callsign:
    - +
    @@ -37,35 +47,43 @@

    -
    +
    Video Format:
    +
    + Current Page:
    -
    - Default Page: -
    -
    - OSD Switch: - @@ -77,9 +95,13 @@

    -
    +
    - Save + Save
    \ No newline at end of file diff --git a/tabs/osd.js b/tabs/osd.js index 738a1ce6d..02148b5e5 100755 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -4,138 +4,179 @@ var FONT = FONT || {}; FONT.initData = function() { - if (FONT.data) { - return; - } - FONT.data = { - // default font file name - loaded_font_file: 'default', - // array of arry of image bytes ready to upload to fc - characters_bytes: [], - // array of array of image bits by character - characters: [], - // an array of base64 encoded image strings by character - character_image_urls: [] - } + if (FONT.data) { + return; + } + FONT.data = { + // default font file name + loaded_font_file: 'default', + // array of arry of image bytes ready to upload to fc + characters_bytes: [], + // array of array of image bits by character + characters: [], + // an array of base64 encoded image strings by character + character_image_urls: [] + } }; FONT.constants = { - SIZES: { - /** NVM ram size for one font char, actual character bytes **/ - MAX_NVM_FONT_CHAR_SIZE: 54, - /** NVM ram field size for one font char, last 10 bytes dont matter **/ - MAX_NVM_FONT_CHAR_FIELD_SIZE: 64, - CHAR_HEIGHT: 18, - CHAR_WIDTH: 12 - }, - COLORS: { - // black - 0: 'rgba(0, 0, 0, 1)', - // also the value 3, could yield transparent according to - // https://www.sparkfun.com/datasheets/BreakoutBoards/MAX7456.pdf - 1: 'rgba(255, 255, 255, 0)', - // white - 2: 'rgba(255,255,255, 1)' - } + SIZES: { + /** NVM ram size for one font char, actual character bytes **/ + MAX_NVM_FONT_CHAR_SIZE: 54, + /** NVM ram field size for one font char, last 10 bytes dont matter **/ + MAX_NVM_FONT_CHAR_FIELD_SIZE: 64, + CHAR_HEIGHT: 18, + CHAR_WIDTH: 12 + }, + COLORS: { + // black + 0: 'rgba(0, 0, 0, 1)', + // also the value 3, could yield transparent according to + // https://www.sparkfun.com/datasheets/BreakoutBoards/MAX7456.pdf + 1: 'rgba(255, 255, 255, 0)', + // white + 2: 'rgba(255,255,255, 1)' + } +}; + +FONT.blocks = { + logo: { + data: [1,2,3,17,18,19], + width: 3 + } }; /** * Each line is composed of 8 ascii 1 or 0, representing 1 bit each for a total of 1 byte per line */ FONT.parseMCMFontFile = function(data) { - var data = data.split("\n"); - // clear local data - FONT.data.characters.length = 0; - FONT.data.characters_bytes.length = 0; - FONT.data.character_image_urls.length = 0; - // make sure the font file is valid - if (data.shift().trim() != 'MAX7456') { - var msg = 'that font file doesnt have the MAX7456 header, giving up'; - console.debug(msg); - Promise.reject(msg); - } - var character_bits = []; - var character_bytes = []; - // hexstring is for debugging - FONT.data.hexstring = []; - for (var i = 0; i < data.length; i++) { - var line = data[i]; - // hexstring is for debugging - FONT.data.hexstring.push('0x' + parseInt(line, 2).toString(16)); - // every 64 bytes (line) is a char, we're counting chars though, which are 2 bits - if (character_bits.length == FONT.constants.SIZES.MAX_NVM_FONT_CHAR_FIELD_SIZE * (8 / 2)) { - FONT.data.characters_bytes.push(character_bytes); - FONT.data.characters.push(character_bits); - FONT.draw(FONT.data.characters.length-1); - //$log.debug('parsed char ', i, ' as ', character); - character_bits = []; - character_bytes = []; + var data = data.split("\n"); + // clear local data + FONT.data.characters.length = 0; + FONT.data.characters_bytes.length = 0; + FONT.data.character_image_urls.length = 0; + // make sure the font file is valid + if (data.shift().trim() != 'MAX7456') { + var msg = 'that font file doesnt have the MAX7456 header, giving up'; + console.debug(msg); + Promise.reject(msg); } - for (var y = 0; y < 8; y = y + 2) { - var v = parseInt(line.slice(y, y+2), 2); - character_bits.push(v); + var character_bits = []; + var character_bytes = []; + // hexstring is for debugging + FONT.data.hexstring = []; + for (var i = 0; i < data.length; i++) { + var line = data[i]; + // hexstring is for debugging + FONT.data.hexstring.push('0x' + parseInt(line, 2).toString(16)); + // every 64 bytes (line) is a char, we're counting chars though, which are 2 bits + if (character_bits.length == FONT.constants.SIZES.MAX_NVM_FONT_CHAR_FIELD_SIZE * (8 / 2)) { + FONT.data.characters_bytes.push(character_bytes); + FONT.data.characters.push(character_bits); + FONT.draw(FONT.data.characters.length-1); + //$log.debug('parsed char ', i, ' as ', character); + character_bits = []; + character_bytes = []; + } + for (var y = 0; y < 8; y = y + 2) { + var v = parseInt(line.slice(y, y+2), 2); + character_bits.push(v); + } + character_bytes.push(parseInt(line, 2)); } - character_bytes.push(parseInt(line, 2)); - } - return FONT.data.characters; + FONT.drawBlock(FONT.blocks.logo); + return FONT.data.characters; }; FONT.openFontFile = function($preview) { - chrome.fileSystem.chooseEntry({type: 'openFile', accepts: [{extensions: ['mcm']}]}, function (fileEntry) { - FONT.data.loaded_font_file = fileEntry.name; - if (chrome.runtime.lastError) { - console.error(chrome.runtime.lastError.message); - return; - } - fileEntry.file(function (file) { - var reader = new FileReader(); - reader.onloadend = function(e) { - if (e.total != 0 && e.total == e.loaded) { - FONT.parseMCMFontFile(e.target.result); - if ($preview) { - FONT.preview($preview); - } + chrome.fileSystem.chooseEntry({type: 'openFile', accepts: [{extensions: ['mcm']}]}, function (fileEntry) { + FONT.data.loaded_font_file = fileEntry.name; + if (chrome.runtime.lastError) { + console.error(chrome.runtime.lastError.message); + return; } - var msg = 'could not load whole font file'; - console.error(msg); - }; - reader.readAsText(file); + fileEntry.file(function (file) { + var reader = new FileReader(); + reader.onloadend = function(e) { + if (e.total != 0 && e.total == e.loaded) { + FONT.parseMCMFontFile(e.target.result); + if ($preview) { + FONT.preview($preview); + } + } + var msg = 'could not load whole font file'; + console.error(msg); + }; + reader.readAsText(file); + }); }); - }); }; /** * returns a canvas image with the character on it */ -var drawCanvas = function(charAddress) { - var canvas = document.createElement('canvas'); - var ctx = canvas.getContext("2d"); - - // TODO: do we want to be able to set pixel size? going to try letting the consumer scale the image. - var pixelSize = pixelSize || 1; - var width = pixelSize * FONT.constants.SIZES.CHAR_WIDTH; - var height = pixelSize * FONT.constants.SIZES.CHAR_HEIGHT; - - canvas.width = width; - canvas.height = height; - - for (var y = 0; y < height; y++) { - for (var x = 0; x < width; x++) { - var v = FONT.data.characters[charAddress][(y*width)+x]; - ctx.fillStyle = FONT.constants.COLORS[v]; - ctx.fillRect(x, y, pixelSize, pixelSize); +var drawCanvas = function(charAddresses, block_width) { + var canvas = document.createElement('canvas'); + var ctx = canvas.getContext("2d"); + + // TODO: do we want to be able to set pixel size? going to try letting the consumer scale the image. + var pixelSize = pixelSize || 1; + var width = pixelSize * FONT.constants.SIZES.CHAR_WIDTH; + var height = pixelSize * FONT.constants.SIZES.CHAR_HEIGHT; + + canvas.width = width; + canvas.height = height; + + if (charAddresses.length != undefined) { + canvas.width *= block_width; + canvas.height *= (charAddresses.length / block_width); } - } - return canvas; + + var offsetX = 0; + var offsetY = 0; + + function process(charAddress) { + for (var y = 0; y < height; y++) { + for (var x = 0; x < width; x++) { + var v = FONT.data.characters[charAddress][(y*width)+x]; + ctx.fillStyle = FONT.constants.COLORS[v]; + ctx.fillRect(x + offsetX, y + offsetY, pixelSize, pixelSize); + } + } + } + + if (charAddresses.length != undefined) { + charAddresses.forEach(function(charAddress) { + process(charAddress); + offsetX += width; + if (offsetX >= (block_width * width)) { + offsetX = 0; + offsetY += height; + } + }); + } else { + process(charAddresses); + } + return canvas; }; FONT.draw = function(charAddress) { - var cached = FONT.data.character_image_urls[charAddress]; - if (!cached) { - cached = FONT.data.character_image_urls[charAddress] = drawCanvas(charAddress).toDataURL('image/png'); - } - return cached; + var cached = FONT.data.character_image_urls[charAddress]; + if (!cached) { + cached = FONT.data.character_image_urls[charAddress] = drawCanvas(charAddress, 1).toDataURL('image/png'); + } + return cached; +}; + +FONT.drawBlock = function(block) { + var charAddresses = block.data; + var width = block.width; + var cached = FONT.data.character_image_urls[block]; + if (!cached) { + cached = FONT.data.character_image_urls[block] = drawCanvas(charAddresses, width).toDataURL('image/png'); + } + return cached; }; /* FONT.msp = { @@ -153,12 +194,12 @@ FONT.upload = function($progress) { return MSP.promise(MSP_codes.MSP_SET_REBOOT); }); }; -*/ + */ FONT.preview = function($el) { - $el.empty(); - FONT.data.character_image_urls.map(function(url) { - $el.append(''); - }); + $el.empty(); + FONT.data.character_image_urls.map(function(url) { + $el.append(''); + }); } FONT.preview2 = function($el) { @@ -174,13 +215,9 @@ FONT.preview2 = function($el) { } FONT.logo = function($el) { - $el.append('
    ' + - '' + - '
    '); - $el.append('
    '); - $el.append('
    ' + - '' + - '
    '); + var url = FONT.data.character_image_urls[FONT.blocks.logo]; + $el.append(''); + } FONT.write = function($el, text) { @@ -188,7 +225,7 @@ FONT.write = function($el, text) { return; for (var i = 0; i < text.length; i++) { var url = FONT.data.character_image_urls[text.charCodeAt(i)]; - $el.append(''); + $el.append(''); } } @@ -205,115 +242,119 @@ var OSD = OSD || {}; //parsed fc output and output to fc, used by to OSD.msp.encode OSD.initData = function() { OSD.data = { - video_system: null, - display_items: [] + video_system: null, + display_items: [] }; }; OSD.initData(); OSD.constants = { -VIDEO_TYPES: [ - 'AUTO', - 'PAL', - 'NTSC' -], -VIDEO_LINES: { - PAL: 16, - NTSC: 13 -}, -VIDEO_BUFFER_CHARS: { - PAL: 480, - NTSC: 390 -}, - -// order matters, so these are going in an array... pry could iterate the example map instead -DISPLAY_FIELDS: [ - { - name: 'MAIN_BATT_VOLTAGE', - default_position_x: 0, - default_position_y: 0, - positionable: true, - default_value: 'BAT 11.7V' - }, - { - name: 'RSSI_VALUE', - default_position_x: 0, - default_position_y: 1, - positionable: true, - default_value: 'RSSI 87' - }, - { - name: 'TIMER', - default_position_x: 12, - default_position_y: 0, - positionable: true, - default_value: '05:23' - }, - { - name: 'THROTTLE_POS', - default_position_x: 18, - default_position_y: 0, - positionable: true, - default_value: 'THR 45' - }, - { - name: 'CPU_LOAD', - default_position_x: 25, - default_position_y: 0, - positionable: true, - default_value: 'CPU 3' - }, - { - name: 'VTX_CHANNEL', - default_position_x: 0, - default_position_y: 3, - positionable: true, - default_value: 'CHN 11' - }, - { - name: 'VOLTAGE_WARNING', - default_position_x: 6, - default_position_y: 3, - positionable: true, - default_value: 'WRN 10.5 V' - }, - { - name: 'ARMED', - default_position_x: 12, - default_position_y: 3, - positionable: true, - default_value: 'ARMED' - }, - { - name: 'DISARMED', - default_position_x: 18, - default_position_y: 3, - positionable: true, - default_value: 'DISARMED' - }, - { - name: 'ARTIFICIAL_HORIZON', - default_position_x: 12, - default_position_y: 7, - positionable: false, - default_value: 'HORIZON' - }, - { - name: 'HORIZON_SIDEBARS', - default_position_x: 12, - default_position_y: 8, - positionable: false, - default_value: 'HOR BARS' - } -], + VIDEO_TYPES: ['AUTO', 'PAL', 'NTSC'], + VIDEO_LINES: { + PAL: 16, + NTSC: 13 + }, + VIDEO_BUFFER_CHARS: { + PAL: 480, + NTSC: 390 + }, + + // order matters, so these are going in an array... pry could iterate the example map instead + DISPLAY_FIELDS: + [ + { + name: 'MAIN_BATT_VOLTAGE', + default_position_x: 0, + default_position_y: 0, + positionable: true, + default_value: 'BAT 11.7V' + }, + { + name: 'RSSI_VALUE', + default_position_x: 0, + default_position_y: 1, + positionable: true, + default_value: 'RSSI 87' + }, + { + name: 'TIMER', + default_position_x: 12, + default_position_y: 0, + positionable: true, + default_value: '05:23' + }, + { + name: 'THROTTLE_POS', + default_position_x: 18, + default_position_y: 0, + positionable: true, + default_value: 'THR 45' + }, + { + name: 'CPU_LOAD', + default_position_x: 25, + default_position_y: 0, + positionable: true, + default_value: 'CPU 3' + }, + { + name: 'VTX_CHANNEL', + default_position_x: 0, + default_position_y: 3, + positionable: true, + default_value: 'CHN 11' + }, + { + name: 'VOLTAGE_WARNING', + default_position_x: 6, + default_position_y: 3, + positionable: true, + default_value: 'WRN 10.5 V' + }, + { + name: 'ARMED', + default_position_x: 12, + default_position_y: 3, + positionable: true, + default_value: 'ARMED' + }, + { + name: 'DISARMED', + default_position_x: 18, + default_position_y: 3, + positionable: true, + default_value: 'DISARMED' + }, + { + name: 'ARTIFICIAL_HORIZON', + default_position_x: 12, + default_position_y: 7, + positionable: false, + default_value: 'HORIZON' + }, + { + name: 'HORIZON_SIDEBARS', + default_position_x: 12, + default_position_y: 8, + positionable: false, + default_value: 'HOR BARS' + }, + { + name: 'LOGO', + default_position_x: 12, + default_position_y: 8, + positionable: true, + default_value: 'FONT.logo' + } + ], }; OSD.updateDisplaySize = function() { // compute the size OSD.data.display_size = { - x: 18, - y: OSD.constants.VIDEO_LINES[OSD.data.video_system] + x: 18, + y: OSD.constants.VIDEO_LINES[OSD.data.video_system] }; }; @@ -323,7 +364,7 @@ OSD.initTestData = function() { video_system: 'PAL', display_items: [] }; - */ + */ var d = OSD.data; d.compiled_in = 0; @@ -331,16 +372,16 @@ OSD.initTestData = function() { d.display_items = []; // start at the offset from the other fields for (var j = 0; j < OSD.constants.DISPLAY_FIELDS.length; j++) { - var c = OSD.constants.DISPLAY_FIELDS[j]; - d.display_items.push({ - name: c.name, - index: j, - position_x: c.default_position_x, - position_y: c.default_position_y, - positionable: c.positionable, - default_value: c.default_value, - visible: true - }); + var c = OSD.constants.DISPLAY_FIELDS[j]; + d.display_items.push({ + name: c.name, + index: j, + position_x: c.default_position_x, + position_y: c.default_position_y, + positionable: c.positionable, + default_value: c.default_value, + visible: true + }); } OSD.updateDisplaySize(); }; @@ -380,7 +421,7 @@ OSD.msp = { OSD.updateDisplaySize(); } }; -*/ + */ @@ -397,28 +438,9 @@ TABS.osd.initialize = function (callback) { $('#content').load("./tabs/osd.html", function () { // translate to user-selected language localize(); - - /* - function on_tab_loaded_handler() { - - localize(); - - update_ui(); - - $('a.save').click(on_save_handler); - - // status data pulled via separate timer with static speed - GUI.interval_add('status_pull', function status_pull() { - MSP.send_message(MSP_codes.MSP_STATUS); - }, 250, true); - - GUI.content_ready(callback); - } - */ - // 2 way binding... sorta function updateOsdView() { - // ask for the OSD config data + // ask for the OSD config data /* MSP.promise(MSP_codes.MSP_OSD_CONFIG) .then(function(info) { @@ -428,7 +450,7 @@ TABS.osd.initialize = function (callback) { } $('.tab-osd .supported').fadeIn();; OSD.msp.decode(info); - */ + */ // video mode var $videoTypes = $('.video_format'); @@ -450,17 +472,9 @@ TABS.osd.initialize = function (callback) { }); });*/ - /* -
    - -
    - -
    - */ - // display fields on/off and position var $displayFields = $('.display-fields').empty(); - + FONT.initData(); for (let field of OSD.data.display_items) { @@ -469,7 +483,7 @@ TABS.osd.initialize = function (callback) { var $field2 = $('
    '); var $field = $('
    '); $field.append( - $('') + $('') .data('field', field) .change(function(e) { var field = $(this).data('field'); @@ -483,14 +497,16 @@ TABS.osd.initialize = function (callback) { $field1.append($field2); $displayFields.append($field1); } - + UpdateAllBlocks(); - - //}); - - + + //}); }; + function on_save_handler() { + + } + // init structs once, also clears current font var $preview = $('.font-preview'); $preview.empty(); @@ -498,17 +514,27 @@ TABS.osd.initialize = function (callback) { // ' + $(this).data('font-file') + ' FONT.initData(); $.get('/resources/osd/cleanflight-font.mcm', function(data) { - FONT.parseMCMFontFile(data); - // FONT.preview($preview); - // FONT.logo($preview); - // FONT.preview2($preview); + FONT.parseMCMFontFile(data); + // FONT.preview($preview); + // FONT.logo($preview); + // FONT.preview2($preview); }); + + $('a.save').click(on_save_handler); + + // status data pulled via separate timer with static speed + GUI.interval_add('status_pull', function status_pull() { + MSP.send_message(MSP_codes.MSP_STATUS); + }, 250, true); + + + updateOsdView(); GUI.content_ready(callback); }); - + function UpdateAllBlocks() { var $canvas = $('.osd_canvas').empty(); @@ -519,17 +545,21 @@ TABS.osd.initialize = function (callback) { } }); } - + function UpdateBlock(field) { var $canvas = $('.osd_canvas'); if (field.visible) { var $block = $('
    '); $canvas.append($block); - FONT.write($block, field.default_value); - + if (field.default_value == "FONT.logo") + FONT.logo($block); + else + FONT.write($block, field.default_value); + $block.draggable(); $block.draggable("option", "grid", [ FONT.constants.SIZES.CHAR_WIDTH, FONT.constants.SIZES.CHAR_HEIGHT ]); + $block.draggable({containment: "parent"}); $block.offset({ top: $canvas.offset().top + field.position_y * FONT.constants.SIZES.CHAR_HEIGHT, left: $canvas.offset().left + field.position_x * FONT.constants.SIZES.CHAR_WIDTH @@ -540,8 +570,6 @@ TABS.osd.initialize = function (callback) { }); } } - - }; TABS.osd.cleanup = function (callback) { From da197e242c425b61b43f57ea5e1e8c1504f55cb9 Mon Sep 17 00:00:00 2001 From: gaelj Date: Thu, 30 Jun 2016 22:51:38 +0200 Subject: [PATCH 37/71] Highlight active osd block fix --- tabs/osd.css | 1 + tabs/osd.js | 14 +++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tabs/osd.css b/tabs/osd.css index e9dbd2fbd..426f41e43 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -72,6 +72,7 @@ padding-left: 10px; } +.tab-osd .block_active, .tab-osd .elementselect:hover { background-color: #f3f3f3; } diff --git a/tabs/osd.js b/tabs/osd.js index 02148b5e5..00afef8a9 100755 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -145,7 +145,7 @@ var drawCanvas = function(charAddresses, block_width) { } } } - + if (charAddresses.length != undefined) { charAddresses.forEach(function(charAddress) { process(charAddress); @@ -495,6 +495,18 @@ TABS.osd.initialize = function (callback) { $field2.append(''); $field1.append($field2); + + + $field1 + .mouseenter(function(e) { + var field = $(this).find('.checkbox').text(); + $('.osd_canvas').find('.block_' + field).addClass('block_active'); + }) + .mouseleave(function(e) { + var field = $(this).find('.checkbox').text(); + $('.osd_canvas').find('.block_' + field).removeClass('block_active'); + }); + $displayFields.append($field1); } From 46d1b7e068241586d56de6999a159cf495405898 Mon Sep 17 00:00:00 2001 From: gaelj Date: Thu, 30 Jun 2016 23:12:25 +0200 Subject: [PATCH 38/71] Re-draw only the selected osd element on visibility change --- tabs/osd.css | 4 ++++ tabs/osd.js | 67 ++++++++++++++++++++++++++++------------------------ 2 files changed, 40 insertions(+), 31 deletions(-) diff --git a/tabs/osd.css b/tabs/osd.css index 426f41e43..05d5473a9 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -72,6 +72,10 @@ padding-left: 10px; } +.tab-osd .hide_block { + visibility: hidden; +} + .tab-osd .block_active, .tab-osd .elementselect:hover { background-color: #f3f3f3; diff --git a/tabs/osd.js b/tabs/osd.js index 00afef8a9..f2cd779e6 100755 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -483,13 +483,17 @@ TABS.osd.initialize = function (callback) { var $field2 = $('
    '); var $field = $('
    '); $field.append( - $('') - .data('field', field) - .change(function(e) { - var field = $(this).data('field'); - field.visible = !field.visible; - UpdateAllBlocks(); - }) + $('') + .data('field', field) + .change(function(e) { + var field = $(this).data('field'); + field.visible = !field.visible; + if (field.visible) + $('.osd_canvas').find('.block_' + field.name).removeClass('hide_block'); + else + $('.osd_canvas').find('.block_' + field.name).addClass('hide_block'); + }) ); $field2.append($field); $field2.append(''); @@ -499,12 +503,12 @@ TABS.osd.initialize = function (callback) { $field1 .mouseenter(function(e) { - var field = $(this).find('.checkbox').text(); - $('.osd_canvas').find('.block_' + field).addClass('block_active'); + var fieldName = $(this).find('.checkbox').text(); + $('.osd_canvas').find('.block_' + fieldName).addClass('block_active'); }) .mouseleave(function(e) { - var field = $(this).find('.checkbox').text(); - $('.osd_canvas').find('.block_' + field).removeClass('block_active'); + var fieldName = $(this).find('.checkbox').text(); + $('.osd_canvas').find('.block_' + fieldName).removeClass('block_active'); }); $displayFields.append($field1); @@ -523,7 +527,6 @@ TABS.osd.initialize = function (callback) { var $preview = $('.font-preview'); $preview.empty(); - // ' + $(this).data('font-file') + ' FONT.initData(); $.get('/resources/osd/cleanflight-font.mcm', function(data) { FONT.parseMCMFontFile(data); @@ -561,26 +564,28 @@ TABS.osd.initialize = function (callback) { function UpdateBlock(field) { var $canvas = $('.osd_canvas'); - if (field.visible) { - var $block = $('
    '); - $canvas.append($block); - if (field.default_value == "FONT.logo") - FONT.logo($block); - else - FONT.write($block, field.default_value); - - $block.draggable(); - $block.draggable("option", "grid", [ FONT.constants.SIZES.CHAR_WIDTH, FONT.constants.SIZES.CHAR_HEIGHT ]); - $block.draggable({containment: "parent"}); - $block.offset({ - top: $canvas.offset().top + field.position_y * FONT.constants.SIZES.CHAR_HEIGHT, - left: $canvas.offset().left + field.position_x * FONT.constants.SIZES.CHAR_WIDTH - }); - $block.bind('drag', function() { - field.position_y = ($block.offset().top - $canvas.offset().top) / FONT.constants.SIZES.CHAR_HEIGHT; - field.position_x = ($block.offset().left - $canvas.offset().left) / FONT.constants.SIZES.CHAR_WIDTH; - }); + + var $block = $('
    '); + $canvas.append($block); + if (field.default_value == "FONT.logo") + FONT.logo($block); + else + FONT.write($block, field.default_value); + + $block.draggable(); + $block.draggable("option", "grid", [ FONT.constants.SIZES.CHAR_WIDTH, FONT.constants.SIZES.CHAR_HEIGHT ]); + $block.draggable({containment: "parent"}); + $block.bind('drag', function() { + field.position_y = ($block.offset().top - $canvas.offset().top) / FONT.constants.SIZES.CHAR_HEIGHT; + field.position_x = ($block.offset().left - $canvas.offset().left) / FONT.constants.SIZES.CHAR_WIDTH; + }); + if (!field.visible) { + $block.addClass('hide_block'); } + $block.offset({ + top: $canvas.offset().top + field.position_y * FONT.constants.SIZES.CHAR_HEIGHT, + left: $canvas.offset().left + field.position_x * FONT.constants.SIZES.CHAR_WIDTH + }); } }; From e3d868e63b2d265e34956b5aeda6a62d1b2855ae Mon Sep 17 00:00:00 2001 From: gaelj Date: Thu, 30 Jun 2016 23:13:54 +0200 Subject: [PATCH 39/71] Improve selected osd block styling --- tabs/osd.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tabs/osd.css b/tabs/osd.css index 05d5473a9..bceaf3169 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -75,8 +75,10 @@ .tab-osd .hide_block { visibility: hidden; } +.tab-osd .block_active { + background-color: rgba(0,0,0,0.3); +} -.tab-osd .block_active, .tab-osd .elementselect:hover { background-color: #f3f3f3; } From 9032f6cc1d93efa4f15e4f0bfb8440a651970ca4 Mon Sep 17 00:00:00 2001 From: gaelj Date: Fri, 1 Jul 2016 01:30:43 +0200 Subject: [PATCH 40/71] Fix osd blocks height and appearence --- tabs/osd.css | 2 ++ tabs/osd.js | 8 +++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/tabs/osd.css b/tabs/osd.css index bceaf3169..82651af4c 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -126,6 +126,7 @@ .tab-osd .osd_canvas { width: 360px; height: 234px; + background-size: 360px 234px; background-image: url(/images/osdpreview.jpg); background-repeat: no-repeat; float: left; @@ -151,6 +152,7 @@ margin-bottom: -3px; display: inline-block; float: left; + border-radius: 3px; } .tab-osd .font_text_logo_row { diff --git a/tabs/osd.js b/tabs/osd.js index f2cd779e6..101d75a84 100755 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -217,7 +217,7 @@ FONT.preview2 = function($el) { FONT.logo = function($el) { var url = FONT.data.character_image_urls[FONT.blocks.logo]; $el.append(''); - + $el.height(FONT.constants.SIZES.CHAR_HEIGHT * (FONT.blocks.logo.data.length / FONT.blocks.logo.width)); } FONT.write = function($el, text) { @@ -227,6 +227,7 @@ FONT.write = function($el, text) { var url = FONT.data.character_image_urls[text.charCodeAt(i)]; $el.append(''); } + $el.height(FONT.constants.SIZES.CHAR_HEIGHT); } @@ -567,10 +568,11 @@ TABS.osd.initialize = function (callback) { var $block = $('
    '); $canvas.append($block); - if (field.default_value == "FONT.logo") + if (field.default_value == "FONT.logo") { FONT.logo($block); - else + } else { FONT.write($block, field.default_value); + } $block.draggable(); $block.draggable("option", "grid", [ FONT.constants.SIZES.CHAR_WIDTH, FONT.constants.SIZES.CHAR_HEIGHT ]); From 99fed16027a6a284bebe900b94cb6f6643dbf9c2 Mon Sep 17 00:00:00 2001 From: gaelj Date: Mon, 18 Jul 2016 21:22:51 +0200 Subject: [PATCH 41/71] - Don't display first invalid LED (defined as function = color, color = 0, no directions, no overlays, position = 0:0) - Fix: unavailable overlays are not always disabled when changing function on multiple selection of LEDs --- tabs/led_strip.js | 47 +++++++++-------------------------------------- 1 file changed, 9 insertions(+), 38 deletions(-) diff --git a/tabs/led_strip.js b/tabs/led_strip.js index e98dae85b..c2e6f68e2 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -124,7 +124,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $(element).removeClass(classesToRemove.join(' ')); } - // Directional Buttons $('.directions').on('click', 'button', function() { var that = this; @@ -189,7 +188,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { }); - // Color sliders var ip = $('div.colorDefineSliders input'); ip.eq(0).on("input change", function() { updateColors($(this).val(), 0); }); @@ -199,7 +197,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { updateColors(ip.eq(i).val(), i); } - // Color Buttons $('.colors').on('click', 'button', function(e) { var that = this; @@ -419,7 +416,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $(this).removeClass('mode_color-' + i + '-' + j); $(this).addClass('mode_color-' + mode + '-' + j); } - }); $('.mode_colors').each(function() { setModeBackgroundColor($(this)); }); @@ -463,7 +459,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } }); - clearModeColorSelection(); updateBulkCmd(); setOptionalGroupsVisibility(); @@ -493,7 +488,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { var ledIndex = ledResult.index; var led = ledResult.led; - if (led.functions.length == 0 && led.directions.length == 0 && led.color == 0) { + if (led.functions[0] == 'c' && led.functions.length == 1 && led.directions.length == 0 && led.color == 0 && led.x == 0 && led.y == 0) { return; } @@ -773,28 +768,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { break; } - // set color palette visibility - /* - switch (activeFunction) { - case "": - case "function-c": - case "function-b": - case "function-r": - case "function-a": - case "function-f": - case "function-g": - case "function-l": - $('.colors').show(); - $('.colorDefineSliders').show(); - break; - - default: - $('.colors').hide(); - $('.colorDefineSliders').hide(); - break; - } - */ - // set overlays (checkboxes) visibility // set directions visibility if (semver.lt(CONFIG.apiVersion, "1.20.0")) { @@ -910,16 +883,14 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } function unselectOverlay(func, overlay) { - if ($('input.function-' + overlay).is(':checked')) { - $('input.function-' + overlay).prop('checked', false); - $('input.function-' + overlay).change(); - $('.ui-selected').each(function() { - if (func == '' || $(this).is('.function-' + func)) { - $(this).removeClass('function-' + overlay); - } - }); - } - } + $('input.function-' + overlay).prop('checked', false); + $('input.function-' + overlay).change(); + $('.ui-selected').each(function() { + if (func == '' || $(this).is('.function-' + func)) { + $(this).removeClass('function-' + overlay); + } + }); + } function updateColors(value, hsvIndex) { var change = false; From 4a45dd943f0c41102bfab28cefd70c92ef85cd2a Mon Sep 17 00:00:00 2001 From: gaelj Date: Mon, 18 Jul 2016 22:13:37 +0200 Subject: [PATCH 42/71] Fix hang on led strip tab activation in certain cases --- tabs/led_strip.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tabs/led_strip.js b/tabs/led_strip.js index c2e6f68e2..c8645e760 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -990,6 +990,10 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } function HsvToColor(input) { + + if (input == undefined) + return ""; + var HSV = { h:Number(input.h), s:Number(input.s), v:Number(input.v) }; if (HSV.s == 0 && HSV.v == 0) From b1f228e1ddab0f58d90cd257f480a7899e1a878b Mon Sep 17 00:00:00 2001 From: gaelj Date: Mon, 18 Jul 2016 22:42:56 +0200 Subject: [PATCH 43/71] disable GUI setting of mode_color for MSP < 20 required because of change of MSP IDs for mode_color due to Betaflight compatibility issues --- tabs/led_strip.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tabs/led_strip.js b/tabs/led_strip.js index c8645e760..e7f27a9eb 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -36,7 +36,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } function load_led_mode_colors() { - if (semver.gte(CONFIG.apiVersion, "1.19.0")) + if (semver.gt(CONFIG.apiVersion, "1.19.0")) MSP.send_message(MSP_codes.MSP_LED_STRIP_MODECOLOR, false, false, load_html); else load_html(); @@ -690,7 +690,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $(".extra_functions19").show(); $(".extra_functions19_only").show(); $(".extra_functions20").hide(); - $(".mode_colors").show(); + $(".mode_colors").hide(); } else { // >= 20 @@ -785,8 +785,10 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { $('.mode_colors').hide(); if (semver.gte(CONFIG.apiVersion, "1.19.0")) { // set mode colors visibility - if (activeFunction == "function-f") - $('.mode_colors').show(); + + if (semver.gte(CONFIG.apiVersion, "1.20.0")) + if (activeFunction == "function-f") + $('.mode_colors').show(); // set special colors visibility $('.special_colors').show(); From a9167372ab5f95c50d68938e8e7d92617d99d188 Mon Sep 17 00:00:00 2001 From: gaelj Date: Tue, 19 Jul 2016 21:25:29 +0200 Subject: [PATCH 44/71] Fix forbidden overlays can be set in multiple selection --- tabs/led_strip.js | 201 +++++++++++++++++++++++++++++----------------- 1 file changed, 129 insertions(+), 72 deletions(-) diff --git a/tabs/led_strip.js b/tabs/led_strip.js index e7f27a9eb..7abf606b2 100644 --- a/tabs/led_strip.js +++ b/tabs/led_strip.js @@ -425,8 +425,38 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { { if ($(that).is(':checked')) { $('.ui-selected').find('.wire').each(function() { - if ($(this).text() != "") - $(this).parent().addClass('function-' + letter); + if ($(this).text() != "") { + + var p = $(this).parent(); + + TABS.led_strip.functions.forEach(function(f) { + if (p.is('.function-' + f)) { + + switch (letter) { + case 't': + case 'o': + case 's': + if (areModifiersActive('function-' + f)) + p.addClass('function-' + letter); + break; + case 'b': + case 'n': + if (areBlinkersActive('function-' + f)) + p.addClass('function-' + letter); + break; + case 'i': + if (areOverlaysActive('function-' + f)) + p.addClass('function-' + letter); + break; + case 'w': + if (areOverlaysActive('function-' + f)) + if (isWarningActive('function-' + f)) + p.addClass('function-' + letter); + break; + } + } + }); + } }); } else { $('.ui-selected').removeClass('function-' + letter); @@ -434,7 +464,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { return $(that).is(':checked'); } - // UI: checkbox toggle + // UI: check-box toggle $('.checkbox').change(function(e) { if (e.originalEvent) { // user-triggered event @@ -444,17 +474,20 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { TABS.led_strip.overlays.forEach(function(letter) { if ($(that).is('.function-' + letter)) { var ret = toggleSwitch(that, letter); - var cbn = $('.checkbox .function-n'); - var cbb = $('.checkbox .function-b'); + + var cbn = $('.checkbox .function-n'); // blink on landing + var cbb = $('.checkbox .function-b'); // blink - if (ret && letter == 'b' && cbn.is(':checked')) { - cbn.prop('checked', false); - cbn.change(); - toggleSwitch(cbn, 'n'); - } else if (ret && letter == 'n' && cbb.is(':checked')) { - cbb.prop('checked', false); - cbb.change(); - toggleSwitch(cbb, 'b'); + if (ret) { + if (letter == 'b' && cbn.is(':checked')) { + cbn.prop('checked', false); + cbn.change(); + toggleSwitch(cbn, 'n'); + } else if (letter == 'n' && cbb.is(':checked')) { + cbb.prop('checked', false); + cbb.change(); + toggleSwitch(cbb, 'b'); + } } } }); @@ -667,6 +700,76 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } } + function areModifiersActive(activeFunction) { + switch (activeFunction) { + case "function-c": + case "function-a": + case "function-f": + return true; + break; + } + return false; + } + + function areOverlaysActive(activeFunction) { + if (semver.lt(CONFIG.apiVersion, "1.20.0")) { + switch (activeFunction) { + case "function-c": + case "function-a": + case "function-f": + case "function-g": + return true; + break; + } + } else { + switch (activeFunction) { + case "": + case "function-c": + case "function-a": + case "function-f": + case "function-s": + case "function-l": + case "function-r": + case "function-o": + case "function-g": + return true; + break; + } + } + return false; + } + + function areBlinkersActive(activeFunction) { + if (semver.gte(CONFIG.apiVersion, "1.20.0")) { + switch (activeFunction) { + case "function-c": + case "function-a": + case "function-f": + return true; + break; + } + } + return false; + } + + function isWarningActive(activeFunction) { + switch (activeFunction) { + case "function-l": + case "function-s": + case "function-g": + return false; + break; + case "function-r": + case "function-b": + if (semver.lt(CONFIG.apiVersion, "1.20.0")) + return false; + break; + default: + return true; + break; + } + } + function setOptionalGroupsVisibility() { var activeFunction = $('select.functionSelect').val(); @@ -704,71 +807,25 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } - - // set color modifiers (checkboxes) visibility + // set color modifiers (check-boxes) visibility $('.overlays').hide(); $('.modifiers').hide(); $('.blinkers').hide(); + $('.warningOverlay').hide(); - if (semver.lt(CONFIG.apiVersion, "1.20.0")) { - switch (activeFunction) { - case "function-c": - case "function-a": - case "function-f": - $('.modifiers').show(); - $('.overlays').show(); - break; - case "function-g": - $('.overlays').show(); - break; - default: - break; - } - } else { - switch (activeFunction) { - case "": - $('.overlays').show(); - break; - case "function-c": - case "function-a": - case "function-f": - $('.modifiers').show(); - $('.overlays').show(); - $('.blinkers').show(); - break; - case "function-s": - case "function-l": - case "function-r": - case "function-o": - case "function-g": - $('.overlays').show(); - break; - break; - default: - break; - } - } + if (areOverlaysActive(activeFunction)) + $('.overlays').show(); + if (areModifiersActive(activeFunction)) + $('.modifiers').show(); + + if (areBlinkersActive(activeFunction)) + $('.blinkers').show(); + + if (isWarningActive(activeFunction)) + $('.warningOverlay').show(); - // set overlays (checkboxes) visibility - switch (activeFunction) { - case "function-l": - case "function-s": - case "function-g": - $('.warningOverlay').hide(); - break; - case "function-r": - case "function-b": - if (semver.lt(CONFIG.apiVersion, "1.20.0")) - $('.warningOverlay').hide(); - break; - default: - $('.warningOverlay').show(); - break; - } - - // set overlays (checkboxes) visibility // set directions visibility if (semver.lt(CONFIG.apiVersion, "1.20.0")) { switch (activeFunction) { @@ -782,6 +839,7 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { break; } } + $('.mode_colors').hide(); if (semver.gte(CONFIG.apiVersion, "1.19.0")) { // set mode colors visibility @@ -992,7 +1050,6 @@ TABS.led_strip.initialize = function (callback, scrollPosition) { } function HsvToColor(input) { - if (input == undefined) return ""; From 3c7a51ca31cef0b8bcdfc96fa1e4ef61dfbf4edd Mon Sep 17 00:00:00 2001 From: gaelj Date: Thu, 21 Jul 2016 22:26:36 +0200 Subject: [PATCH 45/71] Add target and firmware version selects to firmware flasher tab --- _locales/en/messages.json | 16 +++- tabs/firmware_flasher.html | 10 ++- tabs/firmware_flasher.js | 159 +++++++++++++++++++++---------------- 3 files changed, 111 insertions(+), 74 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index d0f0bb9ae..ea8ee30fd 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1345,8 +1345,11 @@ "firmwareFlasherNoReboot": { "message": "No reboot sequence" }, - "firmwareFlasherOnlineReleasesDescription": { - "message": "Available online firmware releases - Select the correct firmware appropriate for your board." + "firmwareFlasherOnlineSelectBoardDescription": { + "message": "Select your board to see available online firmware releases - Select the correct firmware appropriate for your board." + }, + "firmwareFlasherOnlineSelectFirmwareVersionDescription": { + "message": "Select firmware version for your board." }, "firmwareFlasherNoRebootDescription": { "message": "Enable if you powered your FC while the bootloader pins are jumpered or have your FC's BOOT button pressed." @@ -1384,6 +1387,15 @@ "firmwareFlasherOptionLabelSelectFirmware": { "message": "Choose a Firmware / Board" }, + "firmwareFlasherOptionLabelSelectBoard": { + "message": "Choose a Board" + }, + "firmwareFlasherOptionLabelSelectFirmwareVersion": { + "message": "Choose a Firmware version" + }, + "firmwareFlasherOptionLabelSelectFirmwareVersionFor": { + "message": "Choose a Firmware version for" + }, "firmwareFlasherButtonLoadLocal": { "message": "Load Firmware [Local]" }, diff --git a/tabs/firmware_flasher.html b/tabs/firmware_flasher.html index 6085b794d..57b9bc868 100755 --- a/tabs/firmware_flasher.html +++ b/tabs/firmware_flasher.html @@ -4,10 +4,16 @@
    - - + + + + + + +
    @@ -66,6 +67,11 @@ +
    + +
    +
    diff --git a/tabs/receiver.js b/tabs/receiver.js index 3b7c143da..3661567cb 100644 --- a/tabs/receiver.js +++ b/tabs/receiver.js @@ -26,9 +26,19 @@ TABS.receiver.initialize = function (callback) { // Fetch features so we can check if RX_MSP is enabled: function load_config() { - MSP.send_message(MSP_codes.MSP_BF_CONFIG, false, false, load_rc_configs); + MSP.send_message(MSP_codes.MSP_BF_CONFIG, false, false, load_3d); } + function load_3d() { + var next_callback = load_rc_configs; + if (semver.gte(CONFIG.apiVersion, "1.14.0")) { + MSP.send_message(MSP_codes.MSP_3D, false, false, next_callback); + } else { + next_callback(); + } + } + + function load_rc_configs() { var next_callback = load_html; if (semver.gte(CONFIG.apiVersion, "1.15.0")) { @@ -73,6 +83,7 @@ TABS.receiver.initialize = function (callback) { } else { $('.deadband input[name="yaw_deadband"]').val(RC_deadband.yaw_deadband); $('.deadband input[name="deadband"]').val(RC_deadband.deadband); + $('.deadband input[name="3ddeadbandthrottle"]').val(_3D.deadband3d_throttle); } // generate bars @@ -311,6 +322,7 @@ TABS.receiver.initialize = function (callback) { if (semver.gte(CONFIG.apiVersion, "1.15.0")) { RC_deadband.yaw_deadband = parseInt($('.deadband input[name="yaw_deadband"]').val()); RC_deadband.deadband = parseInt($('.deadband input[name="deadband"]').val()); + _3D.deadband3d_throttle = ($('.deadband input[name="3ddeadbandthrottle"]').val()); } // catch rc map @@ -329,7 +341,16 @@ TABS.receiver.initialize = function (callback) { } function save_misc() { - MSP.send_message(MSP_codes.MSP_SET_MISC, MSP.crunch(MSP_codes.MSP_SET_MISC), false, save_rc_configs); + MSP.send_message(MSP_codes.MSP_SET_MISC, MSP.crunch(MSP_codes.MSP_SET_MISC), false, save_3d); + } + + function save_3d() { + var next_callback = save_rc_configs; + if(semver.gte(CONFIG.apiVersion, "1.14.0")) { + MSP.send_message(MSP_codes.MSP_SET_3D, MSP.crunch(MSP_codes.MSP_SET_3D), false, next_callback); + } else { + next_callback(); + } } function save_rc_configs() { From 530bdad1df61a18530169e520f060ca3e104d141 Mon Sep 17 00:00:00 2001 From: Hydra Date: Wed, 24 Aug 2016 13:50:47 +0200 Subject: [PATCH 54/71] remove 'out of date' warning. it's a source of confusion. --- main.js | 8 -------- 1 file changed, 8 deletions(-) diff --git a/main.js b/main.js index 126122e5e..ed8c847ba 100644 --- a/main.js +++ b/main.js @@ -34,14 +34,6 @@ $(document).ready(function () { case 'UNIX': break; } - - // check release time to inform people in case they are running old release - if (CONFIGURATOR.releaseDate > (new Date().getTime() - (86400000 * 91))) { // 1 day = 86400000 miliseconds, * 91 = 3 month window - console.log('Application version is valid for another: ' + Math.round((CONFIGURATOR.releaseDate - (new Date().getTime() - (86400000 * 60))) / 86400000) + ' days'); - } else { - console.log('Application version expired'); - GUI.log('You are using an old version of ' + chrome.runtime.getManifest().name + '. There may be a more recent version with improvements and fixes.'); - } chrome.storage.local.get('logopen', function (result) { if (result.logopen) { From 9af8fc269edc9e98f7f55e415f2d0316789baa04 Mon Sep 17 00:00:00 2001 From: Dominic Clifton Date: Mon, 22 Feb 2016 18:48:34 +0100 Subject: [PATCH 55/71] First cut of standalone OSD support. --- _locales/en/messages.json | 66 +++++++++++++++++++- js/fc.js | 7 +++ js/gui.js | 8 ++- js/msp.js | 68 ++++++++++++++++++++ js/serial_backend.js | 32 +++++++--- main.html | 4 ++ main.js | 3 + tabs/osd.css | 29 +++++++++ tabs/osd.html | 97 +++++++++++++++++++++++++++++ tabs/osd.js | 127 ++++++++++++++++++++++++++++++++++++++ 10 files changed, 430 insertions(+), 11 deletions(-) create mode 100644 tabs/osd.css create mode 100644 tabs/osd.html create mode 100644 tabs/osd.js diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 4b83ee992..912fc3174 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -69,6 +69,9 @@ "tabSetup": { "message": "Setup" }, + "tabOSD": { + "message": "OSD" + }, "tabConfiguration": { "message": "Configuration" }, @@ -1639,6 +1642,7 @@ "failsafeKillSwitchHelp": { "message": "Set this option to make the failsafe switch, configured in the modes tab, act as a direct kill switch, bypassing the selected failsafe procedure. Note: Arming is blocked with the failsafe kill switch in the ON position" }, + "mainHelpArmed": { "message": "Motor Arming" }, @@ -1651,7 +1655,67 @@ "configHelp3": { "message": "Configure port scenario first before selecting a serial-based receiver." }, - "featureSERVO_TILTTip": { + "featureSERVO_TILTTip": { "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Ths changes the motor pin mapping. " + }, + + "osdInfoHead": { + "message": "Info" + }, + "osdBatteryVoltageValue": { + "message": "$1 V" + }, + "osdBatteryMahValue": { + "message": "$1 mAh" + }, + "osdBatteryAmperageValue": { + "message": "$1 A" + }, + "osdVoltage1": { + "message": "Voltage 1" + }, + "osdVoltage2": { + "message": "Voltage 2" + }, + "osdVoltage3": { + "message": "Voltage 3" + }, + "osdCurrent1": { + "message": "Current 1" + }, + "osdBatteryConnected": { + "message": "Connected" + }, + "osdBatteryConnectedValueYes": { + "message": "Yes" + }, + "osdBatteryConnectedValueNo": { + "message": "No" + }, + "osdBatteryVoltage": { + "message": "Voltage" + }, + "osdBatteryCurrentDrawn": { + "message": "mAh used" + }, + "osdResetText": { + "message": "Reset OSD to default" + }, + "osdButtonReset": { + "message": "Reset Settings" + }, + + "osdConfigurationVideo": { + "message": "Video" + }, + "osdConfigurationVideoMode": { + "message": "Mode" + }, + "osdButtonSave": { + "message": "Save" + }, + "osdEepromSaved": { + "message": "EEPROM saved" } + } diff --git a/js/fc.js b/js/fc.js index a246fb728..a146af739 100644 --- a/js/fc.js +++ b/js/fc.js @@ -24,6 +24,9 @@ var MOTOR_DATA; var SERVO_DATA; var GPS_DATA; var ANALOG; +var VOLTAGE_METERS; +var CURRENT_METERS; +var BATTERY_STATES; var ARMING_CONFIG; var FC_CONFIG; var MISC; @@ -164,6 +167,10 @@ var FC = { amperage: 0 }; + VOLTAGE_METERS = []; + CURRENT_METERS = []; + BATTERY_STATES = []; + ARMING_CONFIG = { auto_disarm_delay: 0, disarm_kill_switch: 0 diff --git a/js/gui.js b/js/gui.js index d125a5f45..6d05a7b3c 100644 --- a/js/gui.js +++ b/js/gui.js @@ -17,7 +17,8 @@ var GUI_control = function () { 'firmware_flasher', 'help' ]; - this.defaultAllowedTabsWhenConnected = [ + this.defaultAllowedFCTabsWhenConnected = [ + 'setup', 'failsafe', 'transponder', 'adjustments', @@ -35,7 +36,10 @@ var GUI_control = function () { 'receiver', 'sensors', 'servos', - 'setup' + ]; + this.defaultAllowedOSDTabsWhenConnected = [ + 'osd', + 'sensors' ]; this.allowedTabs = this.defaultAllowedTabsWhenDisconnected; diff --git a/js/msp.js b/js/msp.js index 6132562fe..cd60646fe 100644 --- a/js/msp.js +++ b/js/msp.js @@ -45,7 +45,16 @@ var MSP_codes = { MSP_LED_STRIP_MODECOLOR: 127, MSP_SET_LED_STRIP_MODECOLOR: 221, + + MSP_VOLTAGE_METERS: 92, + MSP_CURRENT_METERS: 93, + MSP_BATTERY_STATES: 94, + // OSD commands + + MSP_OSD_VIDEO_CONFIG: 180, + MSP_SET_OSD_VIDEO_CONFIG: 181, + // Multiwii MSP commands MSP_IDENT: 100, MSP_STATUS: 101, @@ -344,6 +353,43 @@ var MSP = { ANALOG.amperage = data.getInt16(5, 1) / 100; // A this.analog_last_received_timestamp = Date.now(); break; + case MSP_codes.MSP_VOLTAGE_METERS: + var offset = 0; + VOLTAGE_METERS = []; + for (var i = 0; i < (message_length); i++) { + var voltageMeter = {}; + voltageMeter.voltage = data.getUint8(offset++) / 10.0; + + VOLTAGE_METERS.push(voltageMeter) + } + break; + case MSP_codes.MSP_CURRENT_METERS: + var offset = 0; + CURRENT_METERS = []; + for (var i = 0; i < (message_length / 2); i++) { + var currentMeter = {}; + currentMeter.amperage = data.getInt16(offset, 1) / 100; // A + offset += 2; + + CURRENT_METERS.push(currentMeter) + } + break; + case MSP_codes.MSP_BATTERY_STATES: + var offset = 0; + BATTERY_STATES = []; + for (var i = 0; i < (message_length / 4); i++) { + var batteryState = {}; + batteryState.connected = data.getUint8(offset, 1); // A + offset += 1; + batteryState.voltage = data.getUint8(offset) / 10.0; + offset += 1; + batteryState.mah_drawn = data.getUint16(offset, 1); + offset += 2; + + BATTERY_STATES.push(batteryState) + } + break; + case MSP_codes.MSP_RC_TUNING: var offset = 0; RC_tuning.RC_RATE = parseFloat((data.getUint8(offset++) / 100).toFixed(2)); @@ -729,6 +775,12 @@ var MSP = { CONFIG.boardIdentifier = identifier; CONFIG.boardVersion = data.getUint16(offset, 1); offset+=2; + if (data.byteLength > offset) { + CONFIG.boardType = data.getUint8(offset, 1); + offset++; + } else { + CONFIG.boardType = 0; + } break; case MSP_codes.MSP_SET_CHANNEL_FORWARDING: @@ -1120,6 +1172,18 @@ var MSP = { case MSP_codes.MSP_SET_FAILSAFE_CONFIG: console.log('Failsafe config saved'); break; + + // + // OSD specific + // + case MSP_codes.MSP_OSD_VIDEO_CONFIG: + var offset = 0; + OSD_VIDEO_CONFIG.video_mode = data.getUint8(offset, 1); + break; + case MSP_codes.MSP_SET_OSD_VIDEO_CONFIG: + console.log('Video config saved'); + break; + default: console.log('Unknown code detected: ' + code); } else { @@ -1487,6 +1551,10 @@ MSP.crunch = function (code) { buffer.push(SENSOR_ALIGNMENT.align_mag); break; + case MSP_codes.MSP_SET_OSD_VIDEO_CONFIG: + buffer.push(OSD_VIDEO_CONFIG.video_mode); + break; + default: return false; } diff --git a/js/serial_backend.js b/js/serial_backend.js index 13d588a0b..79181c38b 100755 --- a/js/serial_backend.js +++ b/js/serial_backend.js @@ -179,6 +179,7 @@ function onOpen(openInfo) { }, 10000); FC.resetState(); + OSD.resetState(); // request configuration data MSP.send_message(MSP_codes.MSP_API_VERSION, false, false, function () { @@ -208,16 +209,29 @@ function onOpen(openInfo) { // continue as usually CONFIGURATOR.connectionValid = true; - GUI.allowedTabs = GUI.defaultAllowedTabsWhenConnected.slice(); - if (semver.lt(CONFIG.apiVersion, "1.4.0")) { - GUI.allowedTabs.splice(GUI.allowedTabs.indexOf('led_strip'), 1); - } - GUI.canChangePidController = semver.gte(CONFIG.apiVersion, CONFIGURATOR.pidControllerChangeMinApiVersion); + GUI.allowedTabs = []; + + switch (CONFIG.boardType) { + case 0: + GUI.allowedTabs = GUI.defaultAllowedFCTabsWhenConnected.slice(); + if (semver.lt(CONFIG.apiVersion, "1.4.0")) { + GUI.allowedTabs.splice(GUI.allowedTabs.indexOf('led_strip'), 1); + } + + GUI.canChangePidController = semver.gte(CONFIG.apiVersion, CONFIGURATOR.pidControllerChangeMinApiVersion); + break; + + case 1: + GUI.allowedTabs = GUI.defaultAllowedOSDTabsWhenConnected.slice(); + break; + } onConnect(); - $('#tabs ul.mode-connected .tab_setup a').click(); + var defaultTab = GUI.allowedTabs[0]; + + $('#tabs ul.mode-connected .tab_' + defaultTab + ' a').click(); }); }); }); @@ -266,7 +280,9 @@ function onConnect() { var dataflash = $('#dataflash_wrapper_global'); dataflash.show(); - startLiveDataRefreshTimer(); + if (CONFIG.boardType == 0) { + startLiveDataRefreshTimer(); + } } @@ -434,7 +450,7 @@ function update_live_status() { }); if (GUI.active_tab != 'cli') { - MSP.send_message(MSP_codes.MSP_BOXNAMES, false, false); + MSP.send_message(MSP_codes.MSP_BOXNAMES, false, false); MSP.send_message(MSP_codes.MSP_STATUS, false, false); MSP.send_message(MSP_codes.MSP_ANALOG, false, false); } diff --git a/main.html b/main.html index b2c1a81be..b6f5d4b32 100755 --- a/main.html +++ b/main.html @@ -9,6 +9,7 @@ + @@ -53,6 +54,7 @@ + @@ -62,6 +64,7 @@ + @@ -204,6 +207,7 @@
    • +
    • diff --git a/main.js b/main.js index ed8c847ba..565cb687b 100644 --- a/main.js +++ b/main.js @@ -134,6 +134,9 @@ $(document).ready(function () { case 'setup': TABS.setup.initialize(content_ready); break; + case 'osd': + TABS.osd.initialize(content_ready); + break; case 'configuration': TABS.configuration.initialize(content_ready); break; diff --git a/tabs/osd.css b/tabs/osd.css new file mode 100644 index 000000000..e37d9d327 --- /dev/null +++ b/tabs/osd.css @@ -0,0 +1,29 @@ + +#interactive_block { + position: absolute; + width: calc(75% - 30px); + height: calc(100% - 245px); + background-color: #f9f9f9; + border-radius: 5px; + border: 1px solid #e4e4e4; + margin-bottom: 10px; +} + +.tab-osd .content_wrapper { + position: initial; +} + +.osdinfo { + width: 80%; +} + +.tab-osd .leftWrapper { + float: left; + width: calc(50% - 20px); +} + +.tab-osd .rightWrapper { + float: left; + width: calc(50% - 0px); + margin: 0 0 10px 20px; +} diff --git a/tabs/osd.html b/tabs/osd.html new file mode 100644 index 000000000..12e31ba2b --- /dev/null +++ b/tabs/osd.html @@ -0,0 +1,97 @@ +
      +
      + +
      +
      OSD
      +
      + +
      +
      +
      +
      + +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      ?
      +
      +
      +
      +
      +
      +
      +
      Configuration
      +
      +
      +
      +
      +
      +
      +
      + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + +
      +
      +
      diff --git a/tabs/osd.js b/tabs/osd.js new file mode 100644 index 000000000..369ea785a --- /dev/null +++ b/tabs/osd.js @@ -0,0 +1,127 @@ +'use strict'; + +TABS.osd = { +}; + +TABS.osd.initialize = function (callback) { + var self = this; + + if (GUI.active_tab != 'osd') { + GUI.active_tab = 'osd'; + googleAnalytics.sendAppView('OSD'); + } + + function load_status() { + MSP.send_message(MSP_codes.MSP_STATUS, false, false, load_video_config); + } + + function load_video_config() { + MSP.send_message(MSP_codes.MSP_OSD_VIDEO_CONFIG, false, false, load_html); + } + + function load_html() { + $('#content').load("./tabs/osd.html", process_html); + } + + load_status(); + + function process_html() { + + var osdVideoModes = [ + 'NTSC', + 'PAL' + ]; + + var osd_video_mode_e = $('select.osd_video_mode'); + for (var i = 0; i < osdVideoModes.length; i++) { + osd_video_mode_e.append(''); + } + + osd_video_mode_e.change(function () { + OSD_VIDEO_CONFIG.video_mode = parseInt($(this).val()); + }); + + osd_video_mode_e.val(OSD_VIDEO_CONFIG.video_mode); + + + + // translate to user-selected language + localize(); + + $('a.resetSettings').click(function () { + MSP.send_message(MSP_codes.MSP_RESET_CONF, false, false, function () { + GUI.log(chrome.i18n.getMessage('initialSetupSettingsRestored')); + + GUI.tab_switch_cleanup(function () { + TABS.osd.initialize(); + }); + }); + }); + + $('a.save').click(function () { + function save_video_config() { + MSP.send_message(MSP_codes.MSP_SET_OSD_VIDEO_CONFIG, MSP.crunch(MSP_codes.MSP_SET_OSD_VIDEO_CONFIG), false, save_to_eeprom); + } + + function save_to_eeprom() { + MSP.send_message(MSP_codes.MSP_EEPROM_WRITE, false, false, function() { + GUI.log(chrome.i18n.getMessage('osdEepromSaved')); + }); + } + + save_video_config(); + }); + + function get_slow_data() { + MSP.send_message(MSP_codes.MSP_STATUS); + + MSP.send_message(MSP_codes.MSP_VOLTAGE_METERS, false, false, function () { + for (var i = 0; i < VOLTAGE_METERS.length; i++) { + var elementName = '.voltage-meter-' + (i + 1); + var element; + + element = $(elementName); + element.text(chrome.i18n.getMessage('osdBatteryVoltageValue', [VOLTAGE_METERS[i].voltage])); + } + }); + + MSP.send_message(MSP_codes.MSP_CURRENT_METERS, false, false, function () { + for (var i = 0; i < CURRENT_METERS.length; i++) { + var elementName = '.current-meter-' + (i + 1); + var element; + + element = $(elementName); + element.text(chrome.i18n.getMessage('osdBatteryAmperageValue', [CURRENT_METERS[i].amperage.toFixed(2)])); + } + }); + + MSP.send_message(MSP_codes.MSP_BATTERY_STATES, false, false, function () { + for (var i = 0; i < BATTERY_STATES.length; i++) { + var elementPrefix = '.battery-' + (i + 1); + var element; + + element = $(elementPrefix + '-connected'); + element.text(BATTERY_STATES[i].connected ? chrome.i18n.getMessage('osdBatteryConnectedValueYes') : chrome.i18n.getMessage('osdBatteryConnectedValueNo')); + element = $(elementPrefix + '-mah-drawn'); + element.text(chrome.i18n.getMessage('osdBatteryMahValue', [BATTERY_STATES[i].mah_drawn])); + element = $(elementPrefix + '-voltage'); + element.text(chrome.i18n.getMessage('osdBatteryVoltageValue', [BATTERY_STATES[i].voltage])); + } + }); + + } + + function get_fast_data() { + // nothing to do + } + + GUI.interval_add('setup_data_pull_fast', get_fast_data, 33, true); // 30 fps + GUI.interval_add('setup_data_pull_slow', get_slow_data, 250, true); // 4 fps + + GUI.content_ready(callback); + } +}; + +TABS.osd.cleanup = function (callback) { + if (callback) callback(); +}; From b72abf3c0d27519c0ab98189e2ea1c2bcfe839e5 Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 17:19:45 +0200 Subject: [PATCH 56/71] Missing file from previous commit. --- js/osd.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 js/osd.js diff --git a/js/osd.js b/js/osd.js new file mode 100644 index 000000000..b780a69d0 --- /dev/null +++ b/js/osd.js @@ -0,0 +1,12 @@ +'use strict'; + +// define all the global variables that are uses to hold FC state +var OSD_VIDEO_CONFIG; + +var OSD = { + resetState: function() { + OSD_VIDEO_CONFIG = { + video_mode: 0, + }; + } +}; \ No newline at end of file From 4736a2095b1f2319b43731ecb79f8d513cdb0eb9 Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 17:20:12 +0200 Subject: [PATCH 57/71] Filter tabs depending on board type. --- js/gui.js | 29 +++++++++++++++++++++++++++++ js/serial_backend.js | 7 +++---- tabs/cli.js | 3 ++- 3 files changed, 34 insertions(+), 5 deletions(-) diff --git a/js/gui.js b/js/gui.js index 6d05a7b3c..482cd8b43 100644 --- a/js/gui.js +++ b/js/gui.js @@ -235,6 +235,35 @@ GUI_control.prototype.tab_switch_cleanup = function (callback) { } }; +GUI_control.prototype.updateTabsConnected = function() { + + // toggle between connected/disconnected elements + $('#tabs ul.mode-disconnected').hide(); + $('#tabs ul.mode-connected').show(); + + // show only appropriate tabs + $('#tabs ul.mode-connected li').hide(); + $('#tabs ul.mode-connected li').filter(function (index) { + var classes = $(this).attr("class").split(/\s+/); + var found = false; + $.each(GUI.allowedTabs, function (index, value) { + var tabName = "tab_" + value; + if ($.inArray(tabName, classes) >= 0) { + found = true; + } + }); + + return found; + }).show(); +}; + +GUI_control.prototype.updateTabsDisconnected = function() { + + // toggle between connected/disconnected elements + $('#tabs ul.mode-connected').hide(); + $('#tabs ul.mode-disconnected').show(); +}; + GUI_control.prototype.content_ready = function (callback) { $('.togglesmall').each(function(index, elem) { diff --git a/js/serial_backend.js b/js/serial_backend.js index 79181c38b..9e099e802 100755 --- a/js/serial_backend.js +++ b/js/serial_backend.js @@ -264,8 +264,8 @@ function onConnect() { GUI.timeout_remove('connecting'); // kill connecting timer $('div#connectbutton a.connect_state').text(chrome.i18n.getMessage('disconnect')).addClass('active'); $('div#connectbutton a.connect').addClass('active'); - $('#tabs ul.mode-disconnected').hide(); - $('#tabs ul.mode-connected').show(); + + GUI.updateTabsConnected() MSP.send_message(MSP_codes.MSP_STATUS, false, false); @@ -293,8 +293,7 @@ function onClosed(result) { GUI.log(chrome.i18n.getMessage('serialPortClosedFail')); } - $('#tabs ul.mode-connected').hide(); - $('#tabs ul.mode-disconnected').show(); + GUI.updateTabsDisconnected() var sensor_state = $('#sensor-status'); sensor_state.hide(); diff --git a/tabs/cli.js b/tabs/cli.js index ffc8e3484..06d117bfa 100644 --- a/tabs/cli.js +++ b/tabs/cli.js @@ -178,7 +178,8 @@ TABS.cli.read = function (readInfo) { MSP.send_message(MSP_codes.MSP_IDENT, false, false, function () { GUI.log(chrome.i18n.getMessage('deviceReady')); if (!GUI.tab_switch_in_progress) { - $('#tabs ul.mode-connected .tab_setup a').click(); + var firstTabName = "tab_" + GUI.allowedTabs[0]; + $('#tabs ul.mode-connected .' + firstTabName + ' a').click(); } }); },1500); // 1500 ms seems to be just the right amount of delay to prevent data request timeouts From 2e71227f2ed4cbb773cfc8ababdcf67d38d77bd4 Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 17:42:06 +0200 Subject: [PATCH 58/71] Move OSD status settings to it's own tab in preparation for merge of other OSD PRs. --- _locales/en/messages.json | 3 ++ js/gui.js | 1 + main.html | 3 ++ main.js | 3 ++ tabs/osd.css | 18 -------- tabs/osd.html | 68 ----------------------------- tabs/setup_osd.css | 8 ++++ tabs/setup_osd.html | 63 +++++++++++++++++++++++++++ tabs/setup_osd.js | 91 +++++++++++++++++++++++++++++++++++++++ 9 files changed, 172 insertions(+), 86 deletions(-) create mode 100644 tabs/setup_osd.css create mode 100644 tabs/setup_osd.html create mode 100644 tabs/setup_osd.js diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 912fc3174..99fb9d1a1 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -69,6 +69,9 @@ "tabSetup": { "message": "Setup" }, + "tabSetupOSD": { + "message": "OSD Setup" + }, "tabOSD": { "message": "OSD" }, diff --git a/js/gui.js b/js/gui.js index 482cd8b43..3a16a2a05 100644 --- a/js/gui.js +++ b/js/gui.js @@ -38,6 +38,7 @@ var GUI_control = function () { 'servos', ]; this.defaultAllowedOSDTabsWhenConnected = [ + 'setup_osd', 'osd', 'sensors' ]; diff --git a/main.html b/main.html index b6f5d4b32..146b10fa4 100755 --- a/main.html +++ b/main.html @@ -9,6 +9,7 @@ + @@ -64,6 +65,7 @@ + @@ -207,6 +209,7 @@
    • +
    • diff --git a/main.js b/main.js index 565cb687b..2d4b69b76 100644 --- a/main.js +++ b/main.js @@ -134,6 +134,9 @@ $(document).ready(function () { case 'setup': TABS.setup.initialize(content_ready); break; + case 'setup_osd': + TABS.setup_osd.initialize(content_ready); + break; case 'osd': TABS.osd.initialize(content_ready); break; diff --git a/tabs/osd.css b/tabs/osd.css index e37d9d327..9e8dc84f4 100644 --- a/tabs/osd.css +++ b/tabs/osd.css @@ -1,22 +1,4 @@ -#interactive_block { - position: absolute; - width: calc(75% - 30px); - height: calc(100% - 245px); - background-color: #f9f9f9; - border-radius: 5px; - border: 1px solid #e4e4e4; - margin-bottom: 10px; -} - -.tab-osd .content_wrapper { - position: initial; -} - -.osdinfo { - width: 80%; -} - .tab-osd .leftWrapper { float: left; width: calc(50% - 20px); diff --git a/tabs/osd.html b/tabs/osd.html index 12e31ba2b..dc2a48929 100644 --- a/tabs/osd.html +++ b/tabs/osd.html @@ -1,72 +1,4 @@
      -
      - -
      -
      OSD
      -
      - -
      -
      -
      -
      - -
      -
      -
      -
      -
      - -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      ?
      -
      -
      -
      -
      -
      Configuration
      diff --git a/tabs/setup_osd.css b/tabs/setup_osd.css new file mode 100644 index 000000000..764e96ce6 --- /dev/null +++ b/tabs/setup_osd.css @@ -0,0 +1,8 @@ + +.tab-setup-osd .content_wrapper { + position: initial; +} + +.osdinfo { + width: 80%; +} diff --git a/tabs/setup_osd.html b/tabs/setup_osd.html new file mode 100644 index 000000000..0a1595472 --- /dev/null +++ b/tabs/setup_osd.html @@ -0,0 +1,63 @@ +
      +
      + +
      +
      OSD
      +
      + +
      +
      +
      +
      + +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      ?
      +
      +
      +
      +
      diff --git a/tabs/setup_osd.js b/tabs/setup_osd.js new file mode 100644 index 000000000..9e10fb717 --- /dev/null +++ b/tabs/setup_osd.js @@ -0,0 +1,91 @@ +'use strict'; + +TABS.setup_osd = { +}; + +TABS.setup_osd.initialize = function (callback) { + var self = this; + + if (GUI.active_tab != 'setup_osd') { + GUI.active_tab = 'setup_osd'; + googleAnalytics.sendAppView('Setup OSD'); + } + + function load_status() { + MSP.send_message(MSP_codes.MSP_STATUS, false, false, load_html); + } + + function load_html() { + $('#content').load("./tabs/setup_osd.html", process_html); + } + + load_status(); + + function process_html() { + + // translate to user-selected language + localize(); + + $('a.resetSettings').click(function () { + MSP.send_message(MSP_codes.MSP_RESET_CONF, false, false, function () { + GUI.log(chrome.i18n.getMessage('initialSetupSettingsRestored')); + + GUI.tab_switch_cleanup(function () { + TABS.setup_osd.initialize(); + }); + }); + }); + + function get_slow_data() { + MSP.send_message(MSP_codes.MSP_STATUS); + + MSP.send_message(MSP_codes.MSP_VOLTAGE_METERS, false, false, function () { + for (var i = 0; i < VOLTAGE_METERS.length; i++) { + var elementName = '.voltage-meter-' + (i + 1); + var element; + + element = $(elementName); + element.text(chrome.i18n.getMessage('osdBatteryVoltageValue', [VOLTAGE_METERS[i].voltage])); + } + }); + + MSP.send_message(MSP_codes.MSP_CURRENT_METERS, false, false, function () { + for (var i = 0; i < CURRENT_METERS.length; i++) { + var elementName = '.current-meter-' + (i + 1); + var element; + + element = $(elementName); + element.text(chrome.i18n.getMessage('osdBatteryAmperageValue', [CURRENT_METERS[i].amperage.toFixed(2)])); + } + }); + + MSP.send_message(MSP_codes.MSP_BATTERY_STATES, false, false, function () { + for (var i = 0; i < BATTERY_STATES.length; i++) { + var elementPrefix = '.battery-' + (i + 1); + var element; + + element = $(elementPrefix + '-connected'); + element.text(BATTERY_STATES[i].connected ? chrome.i18n.getMessage('osdBatteryConnectedValueYes') : chrome.i18n.getMessage('osdBatteryConnectedValueNo')); + element = $(elementPrefix + '-mah-drawn'); + element.text(chrome.i18n.getMessage('osdBatteryMahValue', [BATTERY_STATES[i].mah_drawn])); + element = $(elementPrefix + '-voltage'); + element.text(chrome.i18n.getMessage('osdBatteryVoltageValue', [BATTERY_STATES[i].voltage])); + } + }); + + } + + function get_fast_data() { + // nothing to do + } + + GUI.interval_add('setup_data_pull_fast', get_fast_data, 33, true); // 30 fps + GUI.interval_add('setup_data_pull_slow', get_slow_data, 250, true); // 4 fps + + GUI.content_ready(callback); + } +}; + +TABS.setup_osd.cleanup = function (callback) { + if (callback) callback(); +}; From 7c5ab2defaac60ed9a577d375938a57ccb4a8178 Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 18:00:14 +0200 Subject: [PATCH 59/71] Clarify "Battery Connected" message. --- _locales/en/messages.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 99fb9d1a1..44aefc00f 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1687,7 +1687,7 @@ "message": "Current 1" }, "osdBatteryConnected": { - "message": "Connected" + "message": "Battery Connected" }, "osdBatteryConnectedValueYes": { "message": "Yes" From b9c45c70d5a89f91ee5eb96e5facaf7957476c22 Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 18:00:33 +0200 Subject: [PATCH 60/71] Update MSP to match latest firmware. --- js/msp.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/js/msp.js b/js/msp.js index cd60646fe..c5cd113e1 100644 --- a/js/msp.js +++ b/js/msp.js @@ -46,9 +46,9 @@ var MSP_codes = { MSP_LED_STRIP_MODECOLOR: 127, MSP_SET_LED_STRIP_MODECOLOR: 221, - MSP_VOLTAGE_METERS: 92, - MSP_CURRENT_METERS: 93, - MSP_BATTERY_STATES: 94, + MSP_VOLTAGE_METERS: 128, + MSP_CURRENT_METERS: 129, + MSP_BATTERY_STATES: 130, // OSD commands @@ -368,7 +368,7 @@ var MSP = { CURRENT_METERS = []; for (var i = 0; i < (message_length / 2); i++) { var currentMeter = {}; - currentMeter.amperage = data.getInt16(offset, 1) / 100; // A + currentMeter.amperage = data.getInt16(offset, 1) / 1000; // A offset += 2; CURRENT_METERS.push(currentMeter) From 71dbcb648c904015320cbd7c6d9164e747216467 Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 18:01:13 +0200 Subject: [PATCH 61/71] Only enable sensor buttons for FCs board. --- tabs/sensors.js | 29 ++++++++++++++++++----------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/tabs/sensors.js b/tabs/sensors.js index 855647919..a6490430d 100644 --- a/tabs/sensors.js +++ b/tabs/sensors.js @@ -186,17 +186,24 @@ TABS.sensors.initialize = function (callback) { // disable graphs for sensors that are missing var checkboxes = $('.tab-sensors .info .checkboxes input'); - if (!have_sensor(CONFIG.activeSensors, 'acc')) { - checkboxes.eq(1).prop('disabled', true); - } - if (!have_sensor(CONFIG.activeSensors, 'mag')) { - checkboxes.eq(2).prop('disabled', true); - } - if (!have_sensor(CONFIG.activeSensors, 'baro')) { - checkboxes.eq(3).prop('disabled', true); - } - if (!have_sensor(CONFIG.activeSensors, 'sonar')) { - checkboxes.eq(4).prop('disabled', true); + + if (CONFIG.boardType == 0) { + if (!have_sensor(CONFIG.activeSensors, 'acc')) { + checkboxes.eq(1).prop('disabled', true); + } + if (!have_sensor(CONFIG.activeSensors, 'mag')) { + checkboxes.eq(2).prop('disabled', true); + } + if (!have_sensor(CONFIG.activeSensors, 'baro')) { + checkboxes.eq(3).prop('disabled', true); + } + if (!have_sensor(CONFIG.activeSensors, 'sonar')) { + checkboxes.eq(4).prop('disabled', true); + } + } else { + for (var i = 0; i <= 4; i++) { + checkboxes.eq(i).prop('disabled', true); + } } $('.tab-sensors .info .checkboxes input').change(function () { From c2169ed471db162d35d604ef40550ecdc219319a Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 18:01:39 +0200 Subject: [PATCH 62/71] Only enable Gyro status indicator for FCs. --- js/serial_backend.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/js/serial_backend.js b/js/serial_backend.js index 9e099e802..1b4429cb3 100755 --- a/js/serial_backend.js +++ b/js/serial_backend.js @@ -341,7 +341,7 @@ function sensor_status(sensors_detected) { $('.accicon', e_sensor_status).removeClass('active'); } - if (true) { // Gyro status is not reported by FC + if (CONFIG.boardType == 0) { // Gyro status is not reported by FC $('.gyro', e_sensor_status).addClass('on'); $('.gyroicon', e_sensor_status).addClass('active'); } else { From 77e61fc8b99b7eca591a6b531a15fc97bda0485b Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 18 Aug 2016 18:49:27 +0200 Subject: [PATCH 63/71] Move the Power/Current/Battery metering code from the "OSD Setup" tab to a new "Power & Battery" tab. The new tab is to be used for flight controller and OSD voltage/current/battery monitoring and configuration. --- _locales/en/messages.json | 52 ++++++++++++------- images/icons/cf_icon_power_grey.svg | 14 +++++ images/icons/cf_icon_power_white.svg | 14 +++++ js/gui.js | 2 + main.css | 12 +++++ main.html | 3 ++ main.js | 3 ++ tabs/power.css | 4 ++ tabs/power.html | 72 ++++++++++++++++++++++++++ tabs/power.js | 76 ++++++++++++++++++++++++++++ tabs/setup_osd.css | 8 --- tabs/setup_osd.html | 42 +-------------- tabs/setup_osd.js | 40 --------------- 13 files changed, 235 insertions(+), 107 deletions(-) create mode 100644 images/icons/cf_icon_power_grey.svg create mode 100644 images/icons/cf_icon_power_white.svg create mode 100644 tabs/power.css create mode 100644 tabs/power.html create mode 100644 tabs/power.js diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 44aefc00f..614eef78e 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -75,6 +75,9 @@ "tabOSD": { "message": "OSD" }, + "tabPower": { + "message": "Power & Battery" + }, "tabConfiguration": { "message": "Configuration" }, @@ -1661,46 +1664,59 @@ "featureSERVO_TILTTip": { "message": "With this feature activated, you can connect a gimbal. Do not activate with motors and battery connected! Ths changes the motor pin mapping. " }, - - "osdInfoHead": { - "message": "Info" + + "powerVoltageHead": { + "message": "Voltage" }, - "osdBatteryVoltageValue": { + "powerVoltageValue": { "message": "$1 V" }, - "osdBatteryMahValue": { - "message": "$1 mAh" - }, - "osdBatteryAmperageValue": { + "powerAmperageValue": { "message": "$1 A" }, - "osdVoltage1": { + "powerVoltage1": { "message": "Voltage 1" }, - "osdVoltage2": { + "powerVoltage2": { "message": "Voltage 2" }, - "osdVoltage3": { + "powerVoltage3": { "message": "Voltage 3" }, - "osdCurrent1": { + + "powerCurrentHead": { + "message": "Current" + }, + "powerCurrent1": { "message": "Current 1" }, - "osdBatteryConnected": { - "message": "Battery Connected" + "powerMahValue": { + "message": "$1 mAh" + }, + + "powerBatteryHead": { + "message": "Battery" + }, + "powerBatteryConnected": { + "message": "Connected" }, - "osdBatteryConnectedValueYes": { + "powerBatteryConnectedValueYes": { "message": "Yes" }, - "osdBatteryConnectedValueNo": { + "powerBatteryConnectedValueNo": { "message": "No" }, - "osdBatteryVoltage": { + "powerBatteryVoltage": { "message": "Voltage" }, - "osdBatteryCurrentDrawn": { + "powerBatteryCurrentDrawn": { "message": "mAh used" }, + + + "osdInfoHead": { + "message": "Info" + }, "osdResetText": { "message": "Reset OSD to default" }, diff --git a/images/icons/cf_icon_power_grey.svg b/images/icons/cf_icon_power_grey.svg new file mode 100644 index 000000000..bbde28202 --- /dev/null +++ b/images/icons/cf_icon_power_grey.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/images/icons/cf_icon_power_white.svg b/images/icons/cf_icon_power_white.svg new file mode 100644 index 000000000..35a670b2f --- /dev/null +++ b/images/icons/cf_icon_power_white.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/js/gui.js b/js/gui.js index 3a16a2a05..3ae202b1f 100644 --- a/js/gui.js +++ b/js/gui.js @@ -30,6 +30,7 @@ var GUI_control = function () { 'logging', 'onboard_logging', 'modes', + 'power', 'motors', 'pid_tuning', 'ports', @@ -40,6 +41,7 @@ var GUI_control = function () { this.defaultAllowedOSDTabsWhenConnected = [ 'setup_osd', 'osd', + 'power', 'sensors' ]; this.allowedTabs = this.defaultAllowedTabsWhenDisconnected; diff --git a/main.css b/main.css index eca31a9bd..5f0b3d9c6 100644 --- a/main.css +++ b/main.css @@ -796,6 +796,18 @@ li.active .ic_transponder { background-image: url(images/icons/cf_icon_transponder_white.svg); } +.ic_power { + background-image: url(images/icons/cf_icon_power_grey.svg); +} + +.ic_power:hover { + background-image: url(images/icons/cf_icon_power_white.svg); +} + +li.active .ic_power { + background-image: url(images/icons/cf_icon_power_white.svg); +} + /* SPARE Tab-Icons */ .ic_failsafe { diff --git a/main.html b/main.html index 146b10fa4..ac4bd107a 100755 --- a/main.html +++ b/main.html @@ -11,6 +11,7 @@ + @@ -67,6 +68,7 @@ + @@ -220,6 +222,7 @@
    • +
    • diff --git a/main.js b/main.js index 2d4b69b76..3d8cbd148 100644 --- a/main.js +++ b/main.js @@ -140,6 +140,9 @@ $(document).ready(function () { case 'osd': TABS.osd.initialize(content_ready); break; + case 'power': + TABS.power.initialize(content_ready); + break; case 'configuration': TABS.configuration.initialize(content_ready); break; diff --git a/tabs/power.css b/tabs/power.css new file mode 100644 index 000000000..e3bb3c654 --- /dev/null +++ b/tabs/power.css @@ -0,0 +1,4 @@ + +.tab-power .cf_table tr:last-child td { + border-bottom: 0px; +} diff --git a/tabs/power.html b/tabs/power.html new file mode 100644 index 000000000..48440355f --- /dev/null +++ b/tabs/power.html @@ -0,0 +1,72 @@ +
      +
      + +
      +
      Power
      +
      + +
      +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + +
      ?
      +
      +
      +
      +
      diff --git a/tabs/power.js b/tabs/power.js new file mode 100644 index 000000000..a11377dcf --- /dev/null +++ b/tabs/power.js @@ -0,0 +1,76 @@ +'use strict'; + +TABS.power = { +}; + +TABS.power.initialize = function (callback) { + var self = this; + + if (GUI.active_tab != 'power') { + GUI.active_tab = 'power'; + googleAnalytics.sendAppView('Power'); + } + + function load_status() { + MSP.send_message(MSP_codes.MSP_STATUS, false, false, load_html); + } + + function load_html() { + $('#content').load("./tabs/power.html", process_html); + } + + load_status(); + + function process_html() { + + // translate to user-selected language + localize(); + + function get_slow_data() { + MSP.send_message(MSP_codes.MSP_STATUS); + + MSP.send_message(MSP_codes.MSP_VOLTAGE_METERS, false, false, function () { + for (var i = 0; i < VOLTAGE_METERS.length; i++) { + var elementName = '.voltage-meter-' + (i + 1); + var element; + + element = $(elementName); + element.text(chrome.i18n.getMessage('powerVoltageValue', [VOLTAGE_METERS[i].voltage])); + } + }); + + MSP.send_message(MSP_codes.MSP_CURRENT_METERS, false, false, function () { + for (var i = 0; i < CURRENT_METERS.length; i++) { + var elementName = '.current-meter-' + (i + 1); + var element; + + element = $(elementName); + element.text(chrome.i18n.getMessage('powerAmperageValue', [CURRENT_METERS[i].amperage.toFixed(2)])); + } + }); + + MSP.send_message(MSP_codes.MSP_BATTERY_STATES, false, false, function () { + for (var i = 0; i < BATTERY_STATES.length; i++) { + var elementPrefix = '.battery-' + (i + 1); + var element; + + element = $(elementPrefix + '-connected'); + element.text(BATTERY_STATES[i].connected ? chrome.i18n.getMessage('powerBatteryConnectedValueYes') : chrome.i18n.getMessage('powerBatteryConnectedValueNo')); + element = $(elementPrefix + '-mah-drawn'); + element.text(chrome.i18n.getMessage('powerMahValue', [BATTERY_STATES[i].mah_drawn])); + element = $(elementPrefix + '-voltage'); + element.text(chrome.i18n.getMessage('powerVoltageValue', [BATTERY_STATES[i].voltage])); + } + }); + + } + + GUI.interval_add('setup_data_pull_slow', get_slow_data, 200, true); // 5hz + + GUI.content_ready(callback); + } +}; + +TABS.power.cleanup = function (callback) { + if (callback) callback(); +}; diff --git a/tabs/setup_osd.css b/tabs/setup_osd.css index 764e96ce6..e69de29bb 100644 --- a/tabs/setup_osd.css +++ b/tabs/setup_osd.css @@ -1,8 +0,0 @@ - -.tab-setup-osd .content_wrapper { - position: initial; -} - -.osdinfo { - width: 80%; -} diff --git a/tabs/setup_osd.html b/tabs/setup_osd.html index 0a1595472..813243615 100644 --- a/tabs/setup_osd.html +++ b/tabs/setup_osd.html @@ -1,4 +1,4 @@ -
      +
      @@ -19,45 +19,5 @@
      -
      -
      -
      -
      -
      - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      ?
      -
      -
      diff --git a/tabs/setup_osd.js b/tabs/setup_osd.js index 9e10fb717..f28545d3c 100644 --- a/tabs/setup_osd.js +++ b/tabs/setup_osd.js @@ -38,48 +38,8 @@ TABS.setup_osd.initialize = function (callback) { function get_slow_data() { MSP.send_message(MSP_codes.MSP_STATUS); - - MSP.send_message(MSP_codes.MSP_VOLTAGE_METERS, false, false, function () { - for (var i = 0; i < VOLTAGE_METERS.length; i++) { - var elementName = '.voltage-meter-' + (i + 1); - var element; - - element = $(elementName); - element.text(chrome.i18n.getMessage('osdBatteryVoltageValue', [VOLTAGE_METERS[i].voltage])); - } - }); - - MSP.send_message(MSP_codes.MSP_CURRENT_METERS, false, false, function () { - for (var i = 0; i < CURRENT_METERS.length; i++) { - var elementName = '.current-meter-' + (i + 1); - var element; - - element = $(elementName); - element.text(chrome.i18n.getMessage('osdBatteryAmperageValue', [CURRENT_METERS[i].amperage.toFixed(2)])); - } - }); - - MSP.send_message(MSP_codes.MSP_BATTERY_STATES, false, false, function () { - for (var i = 0; i < BATTERY_STATES.length; i++) { - var elementPrefix = '.battery-' + (i + 1); - var element; - - element = $(elementPrefix + '-connected'); - element.text(BATTERY_STATES[i].connected ? chrome.i18n.getMessage('osdBatteryConnectedValueYes') : chrome.i18n.getMessage('osdBatteryConnectedValueNo')); - element = $(elementPrefix + '-mah-drawn'); - element.text(chrome.i18n.getMessage('osdBatteryMahValue', [BATTERY_STATES[i].mah_drawn])); - element = $(elementPrefix + '-voltage'); - element.text(chrome.i18n.getMessage('osdBatteryVoltageValue', [BATTERY_STATES[i].voltage])); - } - }); - - } - - function get_fast_data() { - // nothing to do } - GUI.interval_add('setup_data_pull_fast', get_fast_data, 33, true); // 30 fps GUI.interval_add('setup_data_pull_slow', get_slow_data, 250, true); // 4 fps GUI.content_ready(callback); From f303fc16502f79554f510053f7de03c55f662edf Mon Sep 17 00:00:00 2001 From: Hydra Date: Fri, 19 Aug 2016 20:31:11 +0200 Subject: [PATCH 64/71] Replace mis-spelt "noboarder" css hack with a cleaner solution. --- main.css | 4 ++-- tabs/firmware_flasher.html | 2 +- tabs/gps.html | 4 ++-- tabs/power.css | 4 ---- tabs/setup.html | 4 ++-- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/main.css b/main.css index 5f0b3d9c6..5d07ca037 100644 --- a/main.css +++ b/main.css @@ -1356,8 +1356,8 @@ dialog { border-style: dotted; } -.noboarder td { - border: none; +.cf_table tr:last-child td { + border-bottom: 0px; } .cf_table td:last-child { diff --git a/tabs/firmware_flasher.html b/tabs/firmware_flasher.html index 57b9bc868..b5276c826 100755 --- a/tabs/firmware_flasher.html +++ b/tabs/firmware_flasher.html @@ -50,7 +50,7 @@ - + diff --git a/tabs/gps.html b/tabs/gps.html index e2ad57e63..fabc3576b 100644 --- a/tabs/gps.html +++ b/tabs/gps.html @@ -38,7 +38,7 @@ 0 - + @@ -135,7 +135,7 @@ 0 - + 0 0 diff --git a/tabs/power.css b/tabs/power.css index e3bb3c654..e69de29bb 100644 --- a/tabs/power.css +++ b/tabs/power.css @@ -1,4 +0,0 @@ - -.tab-power .cf_table tr:last-child td { - border-bottom: 0px; -} diff --git a/tabs/setup.html b/tabs/setup.html index 2152c9208..4349766ac 100644 --- a/tabs/setup.html +++ b/tabs/setup.html @@ -107,7 +107,7 @@ 0.00 A - + 0 % @@ -136,7 +136,7 @@ - + From d6fcc4a00d5abb1da924c283cb3207ee55ba1c35 Mon Sep 17 00:00:00 2001 From: Hydra Date: Fri, 19 Aug 2016 20:32:36 +0200 Subject: [PATCH 65/71] Show detected video mode and camera connection status via new MSP_OSD_VIDEO_STATUS command. --- _locales/en/messages.json | 16 ++++++++++++++++ js/msp.js | 6 ++++++ js/osd.js | 6 ++++++ tabs/osd.js | 1 + tabs/setup_osd.html | 21 +++++++++++++++++++++ tabs/setup_osd.js | 17 +++++++++++++++++ 6 files changed, 67 insertions(+) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 614eef78e..6c5723bee 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1714,6 +1714,22 @@ }, + "osdInfoHead": { + "message": "Info" + }, + "osdInfoVideoMode": { + "message": "Video Mode" + }, + "osdInfoCameraConnected": { + "message": "Camera Connected" + }, + "osdInfoCameraConnectedValueYes": { + "message": "Yes" + }, + "osdInfoCameraConnectedValueNo": { + "message": "No" + }, + "osdInfoHead": { "message": "Info" }, diff --git a/js/msp.js b/js/msp.js index c5cd113e1..aa9c045a5 100644 --- a/js/msp.js +++ b/js/msp.js @@ -54,6 +54,7 @@ var MSP_codes = { MSP_OSD_VIDEO_CONFIG: 180, MSP_SET_OSD_VIDEO_CONFIG: 181, + MSP_OSD_VIDEO_STATUS: 182, // Multiwii MSP commands MSP_IDENT: 100, @@ -1183,6 +1184,11 @@ var MSP = { case MSP_codes.MSP_SET_OSD_VIDEO_CONFIG: console.log('Video config saved'); break; + case MSP_codes.MSP_OSD_VIDEO_STATUS: + var offset = 0; + OSD_VIDEO_STATE.video_mode = data.getUint8(offset++, 1); + OSD_VIDEO_STATE.camera_connected = data.getUint8(offset++, 1); + break; default: console.log('Unknown code detected: ' + code); diff --git a/js/osd.js b/js/osd.js index b780a69d0..be2a636c8 100644 --- a/js/osd.js +++ b/js/osd.js @@ -2,11 +2,17 @@ // define all the global variables that are uses to hold FC state var OSD_VIDEO_CONFIG; +var OSD_VIDEO_STATE; var OSD = { resetState: function() { OSD_VIDEO_CONFIG = { video_mode: 0, + }; + + OSD_VIDEO_STATE = { + video_mode: 0, + camera_connected: 0, }; } }; \ No newline at end of file diff --git a/tabs/osd.js b/tabs/osd.js index 369ea785a..869edd039 100644 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -28,6 +28,7 @@ TABS.osd.initialize = function (callback) { function process_html() { var osdVideoModes = [ + 'AUTO', 'NTSC', 'PAL' ]; diff --git a/tabs/setup_osd.html b/tabs/setup_osd.html index 813243615..29a190438 100644 --- a/tabs/setup_osd.html +++ b/tabs/setup_osd.html @@ -19,5 +19,26 @@
    + +
    +
    +
    +
    +
    + + + + + + + + + + + +
    +
    +
    +
    diff --git a/tabs/setup_osd.js b/tabs/setup_osd.js index f28545d3c..30cb50f2a 100644 --- a/tabs/setup_osd.js +++ b/tabs/setup_osd.js @@ -23,6 +23,12 @@ TABS.setup_osd.initialize = function (callback) { function process_html() { + var osdVideoModes = [ + 'AUTO', + 'NTSC', + 'PAL' + ]; + // translate to user-selected language localize(); @@ -38,6 +44,17 @@ TABS.setup_osd.initialize = function (callback) { function get_slow_data() { MSP.send_message(MSP_codes.MSP_STATUS); + + MSP.send_message(MSP_codes.MSP_OSD_VIDEO_STATUS, false, false, function () { + var element; + + element = $('.video-mode'); + var osdVideoMode = osdVideoModes[OSD_VIDEO_STATE.video_mode]; + element.text(osdVideoMode); + + element = $('.camera-connected'); + element.text(OSD_VIDEO_STATE.camera_connected ? chrome.i18n.getMessage('osdInfoCameraConnectedValueYes') : chrome.i18n.getMessage('osdInfoCameraConnectedValueNo')); + }); } GUI.interval_add('setup_data_pull_slow', get_slow_data, 250, true); // 4 fps From cb17026ef97f09d1b8e0ed74fdb1abac4dfff9c2 Mon Sep 17 00:00:00 2001 From: Hydra Date: Wed, 24 Aug 2016 14:45:41 +0200 Subject: [PATCH 66/71] rename OSD tab to OSD Configuration so that we can merge the OSD Layout code easily. --- _locales/en/messages.json | 4 ++-- js/gui.js | 2 +- main.html | 6 +++--- main.js | 4 ++-- tabs/{osd.css => osd_configuration.css} | 0 tabs/{osd.html => osd_configuration.html} | 0 tabs/{osd.js => osd_configuration.js} | 14 +++++++------- 7 files changed, 15 insertions(+), 15 deletions(-) rename tabs/{osd.css => osd_configuration.css} (100%) rename tabs/{osd.html => osd_configuration.html} (100%) rename tabs/{osd.js => osd_configuration.js} (91%) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 6c5723bee..893f665f0 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -72,8 +72,8 @@ "tabSetupOSD": { "message": "OSD Setup" }, - "tabOSD": { - "message": "OSD" + "tabOSDConfiguration": { + "message": "OSD Configuration" }, "tabPower": { "message": "Power & Battery" diff --git a/js/gui.js b/js/gui.js index 3ae202b1f..17e06c2cf 100644 --- a/js/gui.js +++ b/js/gui.js @@ -40,7 +40,7 @@ var GUI_control = function () { ]; this.defaultAllowedOSDTabsWhenConnected = [ 'setup_osd', - 'osd', + 'osd_configuration', 'power', 'sensors' ]; diff --git a/main.html b/main.html index ac4bd107a..438d06a16 100755 --- a/main.html +++ b/main.html @@ -10,7 +10,7 @@ - + @@ -67,7 +67,7 @@ - + @@ -212,7 +212,7 @@
    • -
    • +
    • diff --git a/main.js b/main.js index 3d8cbd148..a441da139 100644 --- a/main.js +++ b/main.js @@ -137,8 +137,8 @@ $(document).ready(function () { case 'setup_osd': TABS.setup_osd.initialize(content_ready); break; - case 'osd': - TABS.osd.initialize(content_ready); + case 'osd_configuration': + TABS.osd_configuration.initialize(content_ready); break; case 'power': TABS.power.initialize(content_ready); diff --git a/tabs/osd.css b/tabs/osd_configuration.css similarity index 100% rename from tabs/osd.css rename to tabs/osd_configuration.css diff --git a/tabs/osd.html b/tabs/osd_configuration.html similarity index 100% rename from tabs/osd.html rename to tabs/osd_configuration.html diff --git a/tabs/osd.js b/tabs/osd_configuration.js similarity index 91% rename from tabs/osd.js rename to tabs/osd_configuration.js index 869edd039..398b949ed 100644 --- a/tabs/osd.js +++ b/tabs/osd_configuration.js @@ -1,13 +1,13 @@ 'use strict'; -TABS.osd = { +TABS.osd_configuration = { }; -TABS.osd.initialize = function (callback) { +TABS.osd_configuration.initialize = function (callback) { var self = this; - if (GUI.active_tab != 'osd') { - GUI.active_tab = 'osd'; + if (GUI.active_tab != 'osd_configuration') { + GUI.active_tab = 'osd_configuration'; googleAnalytics.sendAppView('OSD'); } @@ -20,7 +20,7 @@ TABS.osd.initialize = function (callback) { } function load_html() { - $('#content').load("./tabs/osd.html", process_html); + $('#content').load("./tabs/osd_configuration.html", process_html); } load_status(); @@ -54,7 +54,7 @@ TABS.osd.initialize = function (callback) { GUI.log(chrome.i18n.getMessage('initialSetupSettingsRestored')); GUI.tab_switch_cleanup(function () { - TABS.osd.initialize(); + TABS.osd_configuration.initialize(); }); }); }); @@ -123,6 +123,6 @@ TABS.osd.initialize = function (callback) { } }; -TABS.osd.cleanup = function (callback) { +TABS.osd_configuration.cleanup = function (callback) { if (callback) callback(); }; From 972b8369d39849d309a74558ae9f5e487f2116a1 Mon Sep 17 00:00:00 2001 From: Hydra Date: Sat, 27 Aug 2016 04:22:10 +0200 Subject: [PATCH 67/71] Support changing OSD element layout. --- _locales/en/messages.json | 41 +++- js/gui.js | 8 +- js/msp.js | 84 ++++++++ js/osd.js | 8 +- tabs/osd_layout.css | 2 +- tabs/osd_layout.html | 2 +- tabs/osd_layout.js | 414 +++++++++++++++++++++----------------- 7 files changed, 369 insertions(+), 190 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index b441cb020..315b74e15 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1755,9 +1755,46 @@ "osdEepromSaved": { "message": "EEPROM saved" }, - "osdLayoutElements": { "message": "OSD Elements" + }, + "osdElement_onDuration": { + "message": "'ON' Duration" + }, + "osdElement_armedDuration": { + "message": "'ARMED' Duration" + }, + "osdElement_amperage": { + "message": "Amperage" + }, + "osdElement_mahDrawn": { + "message": "mAh Drawn" + }, + "osdElement_voltage5V": { + "message": "5V" + }, + "osdElement_voltage12V": { + "message": "12V" + }, + "osdElement_voltageBattery": { + "message": "Battery" + }, + "osdElement_voltageBatteryFC": { + "message": "Battery (FC)" + }, + "osdElement_flightMode": { + "message": "Flight Mode" + }, + "osdElement_indicatorMag": { + "message": "Indicator - MAG" + }, + "osdElement_indicatorBaro": { + "message": "Indicator - BARO" + }, + "osdElement_rssiFC": { + "message": "RSSI (FC)" + }, + "osdLayoutEepromSaved": { + "message": "EEPROM saved" } - } diff --git a/js/gui.js b/js/gui.js index 958b1a5b3..078306a40 100644 --- a/js/gui.js +++ b/js/gui.js @@ -270,8 +270,7 @@ GUI_control.prototype.updateTabsDisconnected = function() { $('#tabs ul.mode-disconnected').show(); }; -GUI_control.prototype.content_ready = function (callback) { - +GUI_control.prototype.apply_toggles = function() { $('.togglesmall').each(function(index, elem) { var switchery = new Switchery(elem, { size: 'small', @@ -306,6 +305,11 @@ GUI_control.prototype.content_ready = function (callback) { }); $(elem).removeClass('togglemedium'); }); +}; + +GUI_control.prototype.content_ready = function (callback) { + + this.apply_toggles(); if (CONFIGURATOR.connectionValid) { // Build link to in-use CF version documentation diff --git a/js/msp.js b/js/msp.js index aa9c045a5..63883216b 100644 --- a/js/msp.js +++ b/js/msp.js @@ -55,6 +55,9 @@ var MSP_codes = { MSP_OSD_VIDEO_CONFIG: 180, MSP_SET_OSD_VIDEO_CONFIG: 181, MSP_OSD_VIDEO_STATUS: 182, + MSP_OSD_ELEMENT_SUMMARY: 183, + MSP_OSD_LAYOUT_CONFIG: 184, + MSP_SET_OSD_LAYOUT_CONFIG: 185, // Multiwii MSP commands MSP_IDENT: 100, @@ -1188,8 +1191,48 @@ var MSP = { var offset = 0; OSD_VIDEO_STATE.video_mode = data.getUint8(offset++, 1); OSD_VIDEO_STATE.camera_connected = data.getUint8(offset++, 1); + OSD_VIDEO_STATE.text_width = data.getUint8(offset++, 1); + OSD_VIDEO_STATE.text_height = data.getUint8(offset++, 1); break; + case MSP_codes.MSP_OSD_ELEMENT_SUMMARY: + OSD_ELEMENT_SUMMARY.supported_element_ids = []; + var offset = 0; + for (var i = 0; i < data.byteLength / 2; i++) { + var element_id = data.getUint16(offset, 1); + offset += 2; + OSD_ELEMENT_SUMMARY.supported_element_ids.push(element_id); + } + break; + + + case MSP_codes.MSP_OSD_LAYOUT_CONFIG: + OSD_LAYOUT.elements = []; + var offset = 0; + var element_count = data.getUint8(offset++, 1); + + for (var i = 0; i < element_count; i++) { + var element_id = data.getUint16(offset, 1); + offset += 2; + var flag_mask = data.getUint16(offset, 1); + offset += 2; + var x = data.getInt8(offset, 1); + offset += 1; + var y = data.getInt8(offset, 1); + offset += 1; + + var element = { + id: element_id, + initial_flag_mask: flag_mask, + enabled: bit_check(flag_mask, 0), + positionable: bit_check(flag_mask, 1), + x: x, + y: y, + }; + OSD_LAYOUT.elements.push(element); + } + break; + default: console.log('Unknown code detected: ' + code); } else { @@ -1292,6 +1335,14 @@ var MSP = { } return true; }, + promise: function(code, data) { + var self = this; + return new Promise(function(resolve) { + self.send_message(code, data, false, function(data) { + resolve(data); + }); + }); + }, callbacks_cleanup: function () { for (var i = 0; i < this.callbacks.length; i++) { clearInterval(this.callbacks[i].timer); @@ -1938,6 +1989,39 @@ MSP.sendLedStripModeColors = function(onCompleteCallback) { } } +MSP.sendOsdLayout = function(elements, onCompleteCallback) { + var nextFunction = send_next; + var index = 0; + + if (elements.length == 0) { + onCompleteCallback(); + } else { + send_next(); + } + + function send_next() { + var buffer = []; + + var element = elements[index]; + + buffer.push(index); + buffer.push(specificByte(element.id, 0)); + buffer.push(specificByte(element.id, 1)); + buffer.push(specificByte(element.flag_mask, 0)); + buffer.push(specificByte(element.flag_mask, 1)); + buffer.push(element.x); + buffer.push(element.y); + + // prepare for next iteration + index++; + if (index == elements.length) { + nextFunction = onCompleteCallback; + } + + MSP.send_message(MSP_codes.MSP_SET_OSD_LAYOUT_CONFIG, buffer, false, nextFunction); + } +} + MSP.serialPortFunctionMaskToFunctions = function(functionMask) { var functions = []; diff --git a/js/osd.js b/js/osd.js index b6c2cdad0..2ca01529f 100644 --- a/js/osd.js +++ b/js/osd.js @@ -4,6 +4,7 @@ var OSD_VIDEO_CONFIG; var OSD_VIDEO_STATE; var OSD_LAYOUT; +var OSD_ELEMENT_SUMMARY; var OSD = { resetState: function() { @@ -14,9 +15,14 @@ var OSD = { OSD_VIDEO_STATE = { video_mode: 0, camera_connected: 0, + text_width: 0, + text_height: 0, }; OSD_LAYOUT = { - display_items: [] + elements: [] + }; + OSD_ELEMENT_SUMMARY = { + supported_element_ids: [] }; } }; \ No newline at end of file diff --git a/tabs/osd_layout.css b/tabs/osd_layout.css index 7b9b011d1..a200496e5 100644 --- a/tabs/osd_layout.css +++ b/tabs/osd_layout.css @@ -126,7 +126,7 @@ .tab-osd-layout .osd_canvas { width: 360px; height: 234px; - background-size: 360px 234px; + background-size: cover; background-image: url(/images/osdpreview.jpg); background-repeat: no-repeat; float: left; diff --git a/tabs/osd_layout.html b/tabs/osd_layout.html index 808c5d649..a49170755 100755 --- a/tabs/osd_layout.html +++ b/tabs/osd_layout.html @@ -31,7 +31,7 @@
    -
    +
    Callsign:
    '); - var $field2 = $('
    '); - var $field = $('
    '); - $field.append( - $('') - .data('field', field) - .change(function(e) { - var field = $(this).data('field'); - field.visible = !field.visible; - if (field.visible) - $('.osd_canvas').find('.block_' + field.name).removeClass('hide_block'); - else - $('.osd_canvas').find('.block_' + field.name).addClass('hide_block'); - }) - ); - $field2.append($field); - $field2.append(''); - - $field1.append($field2); - - - $field1 - .mouseenter(function(e) { - var fieldName = $(this).find('.checkbox').text(); - $('.osd_canvas').find('.block_' + fieldName).addClass('block_active'); - }) - .mouseleave(function(e) { - var fieldName = $(this).find('.checkbox').text(); - $('.osd_canvas').find('.block_' + fieldName).removeClass('block_active'); - }); - - $displayFields.append($field1); - } - - UpdateAllBlocks(); - - //}); - }; function on_save_handler() { - + var elements = []; + + var $ui_fields = $('.tab-osd-layout .display-fields .checkbox input'); + + $ui_fields.each( function(index, $ui_field) { + var ui_field = $($ui_field).data('field'); + + var yy = ui_field.vertical_alignment == 'top' ? ui_field.position_y : 0 - (OSD_VIDEO_STATE.text_height - ui_field.position_y); + var flag_mask = ui_field.element.initial_flag_mask; + // unset the bits we might allow changes to. + flag_mask = bit_clear(flag_mask, 0); // clear enabled; + + // update the bits as the user requires. + if (ui_field.enabled) { + flag_mask = bit_set(flag_mask, 0); + } + + var element = { + id: ui_field.element.id, + flag_mask: flag_mask, + x: ui_field.position_x, + y: yy, + }; + elements.push(element); + }); + + MSP.sendOsdLayout(elements, save_to_eeprom); + + function save_to_eeprom() { + MSP.send_message(MSP_codes.MSP_EEPROM_WRITE, false, false, function() { + GUI.log(chrome.i18n.getMessage('osdLayoutEepromSaved')); + }); + } } // init structs once, also clears current font @@ -431,59 +378,160 @@ TABS.osd_layout.initialize = function (callback) { // FONT.preview2($preview); }); - - $('a.save').click(on_save_handler); // status data pulled via separate timer with static speed GUI.interval_add('status_pull', function status_pull() { MSP.send_message(MSP_codes.MSP_STATUS); + MSP.send_message(MSP_codes.MSP_OSD_VIDEO_STATUS, false, false, check_video_mode); }, 250, true); + load_elements(); + + GUI.content_ready(callback); + } + function load_elements() { + MSP.send_message(MSP_codes.MSP_OSD_LAYOUT_CONFIG, false, false, refresh_element_display); + } - updateOsdView(); - GUI.content_ready(callback); - }); + function refresh_element_display() { + + // store the initial video mode used to render the preview so that changes can be detected. + video_mode = OSD_VIDEO_STATE.video_mode; + + var $canvas = $('.tab-osd-layout .osd_canvas'); + $($canvas).height(FONT.constants.SIZES.CHAR_HEIGHT * OSD_VIDEO_STATE.text_height); + + // display fields on/off and position + var $displayFields = $('.display-fields').empty(); + ui_fields = []; + FONT.initData(); + + for (let element of OSD_LAYOUT.elements) { + + var element_defaults = find_element_defaults(element.id); + if (!element_defaults) { + continue; + } + + var text_key = 'osdElement_' + element_defaults.name; + + var vertical_alignment = element.y >= 0 ? 'top' : 'bottom'; + + var y = vertical_alignment == 'top' ? element.y : OSD_VIDEO_STATE.text_height + element.y; + + var ui_field = { + name: element_defaults.name, + text: chrome.i18n.getMessage(text_key), + position_x: element.x, + position_y: y, + positionable: element.positionable, + example_value: element_defaults.example_value, + enabled: element.enabled, + element: element, + vertical_alignment: vertical_alignment, + }; + + ui_fields.push(ui_field); + + + var checked = (ui_field.enabled) ? 'checked' : ''; + var $field1 = $('
    '); + var $field2 = $('
    '); + var $field = $('
    '); + $field.append( + $('') + .data('field', ui_field) + .change(function(e) { + var ui_field = $(this).data('field'); + ui_field.enabled = !ui_field.enabled; + if (ui_field.enabled) + $('.osd_canvas').find('.block_' + ui_field.name).removeClass('hide_block'); + else + $('.osd_canvas').find('.block_' + ui_field.name).addClass('hide_block'); + }) + ); + $field2.append($field); + $field2.append(''); + + $field1.append($field2); + + + + $field1 + .mouseenter(function(e) { + var fieldName = $(this).find('.checkbox input').data('field').name; + $('.osd_canvas').find('.block_' + fieldName).addClass('block_active'); + }) + .mouseleave(function(e) { + var fieldName = $(this).find('.checkbox input').data('field').name + $('.osd_canvas').find('.block_' + fieldName).removeClass('block_active'); + }); + + $displayFields.append($field1); + } + + UpdateAllBlocks(); + + GUI.apply_toggles(); + } + + function find_element_defaults(element_id) { + for (let candidate of OSD.constants.ELEMENT_DEFAULTS) { + if (candidate.id == element_id) { + return candidate; + } + } + return null; + } + function UpdateAllBlocks() { var $canvas = $('.osd_canvas').empty(); $.get('/resources/osd/cleanflight-font.mcm', function(data) { FONT.parseMCMFontFile(data); - for (let field of OSD_LAYOUT.display_items) { - UpdateBlock(field); + for (let ui_field of ui_fields) { + UpdateBlock(ui_field); } }); } - function UpdateBlock(field) + function UpdateBlock(ui_field) { var $canvas = $('.osd_canvas'); - var $block = $('
    '); + var $block = $('
    '); $canvas.append($block); - if (field.default_value == "FONT.logo") { + if (ui_field.example_value == "FONT.logo") { FONT.logo($block); } else { - FONT.write($block, field.default_value); + FONT.write($block, ui_field.example_value); } $block.draggable(); $block.draggable("option", "grid", [ FONT.constants.SIZES.CHAR_WIDTH, FONT.constants.SIZES.CHAR_HEIGHT ]); $block.draggable({containment: "parent"}); $block.bind('drag', function() { - field.position_y = ($block.offset().top - $canvas.offset().top) / FONT.constants.SIZES.CHAR_HEIGHT; - field.position_x = ($block.offset().left - $canvas.offset().left) / FONT.constants.SIZES.CHAR_WIDTH; + ui_field.position_y = ($block.offset().top - $canvas.offset().top) / FONT.constants.SIZES.CHAR_HEIGHT; + ui_field.position_x = ($block.offset().left - $canvas.offset().left) / FONT.constants.SIZES.CHAR_WIDTH; }); - if (!field.visible) { + if (!ui_field.enabled) { $block.addClass('hide_block'); } $block.offset({ - top: $canvas.offset().top + field.position_y * FONT.constants.SIZES.CHAR_HEIGHT, - left: $canvas.offset().left + field.position_x * FONT.constants.SIZES.CHAR_WIDTH + top: $canvas.offset().top + ui_field.position_y * FONT.constants.SIZES.CHAR_HEIGHT, + left: $canvas.offset().left + ui_field.position_x * FONT.constants.SIZES.CHAR_WIDTH }); } + + function check_video_mode() { + if (video_mode != OSD_VIDEO_STATE.video_mode) { + refresh_element_display(); + } + } }; TABS.osd_layout.cleanup = function (callback) { From 1c47946293444a80ee7e1e6ab1ae3c0a4d6cc1a2 Mon Sep 17 00:00:00 2001 From: Hydra Date: Sat, 27 Aug 2016 04:27:00 +0200 Subject: [PATCH 68/71] Update OSD preview. Photo by Dominic Clifton, Copyright 2015. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Location: Shoreline Highway, California, USA. GPS: 39°11'56.1"N 123°46'02.8"W --- images/osdpreview.jpg | Bin 292499 -> 121899 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/osdpreview.jpg b/images/osdpreview.jpg index b78130557e071aa62e5af18204b87ce0e35bdff0..b31ac20c729b10ea2fd513521f89b2bdd30fc43a 100644 GIT binary patch literal 121899 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

    rT|Py+mHU)yA`HrrO+Di+{8hD(nv;Bur=KKY76* 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 N?O>C7+q2 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 literal 292499 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

    O} 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�)ZekUb31qp3F* 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 Date: Mon, 29 Aug 2016 22:26:05 +0200 Subject: [PATCH 69/71] Fix missing OSD tabs when FC with OSD is connected. --- js/gui.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/js/gui.js b/js/gui.js index 078306a40..ac126b4ed 100644 --- a/js/gui.js +++ b/js/gui.js @@ -19,9 +19,10 @@ var GUI_control = function () { ]; this.defaultAllowedFCTabsWhenConnected = [ 'setup', + 'setup_osd', 'failsafe', 'transponder', - 'osd_configuraton', + 'osd_configuration', 'osd_layout', 'adjustments', 'auxiliary', From 78c9dfd54495121e94a59af3c1c82a67fecac544 Mon Sep 17 00:00:00 2001 From: Hydra Date: Thu, 8 Sep 2016 01:31:20 +0200 Subject: [PATCH 70/71] Add callsign support to OSD layout tab. --- _locales/en/messages.json | 8 +++++++ js/fc.js | 5 ++++ js/msp.js | 13 +++++++++++ tabs/osd_layout.html | 6 ++--- tabs/osd_layout.js | 49 ++++++++++++++++++++++++++++++++++++--- 5 files changed, 75 insertions(+), 6 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 315b74e15..db7730c1b 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1755,6 +1755,11 @@ "osdEepromSaved": { "message": "EEPROM saved" }, + + "osdCallsign": { + "message": "Callsign" + }, + "osdLayoutElements": { "message": "OSD Elements" }, @@ -1794,6 +1799,9 @@ "osdElement_rssiFC": { "message": "RSSI (FC)" }, + "osdElement_callsign": { + "message": "Callsign" + }, "osdLayoutEepromSaved": { "message": "EEPROM saved" } diff --git a/js/fc.js b/js/fc.js index a146af739..416d34e39 100644 --- a/js/fc.js +++ b/js/fc.js @@ -40,6 +40,7 @@ var SENSOR_ALIGNMENT; var RX_CONFIG; var FAILSAFE_CONFIG; var RXFAIL_CONFIG; +var PILOT_CONFIG; var FC = { resetState: function() { @@ -266,5 +267,9 @@ var FC = { }; RXFAIL_CONFIG = []; + + PILOT_CONFIG = { + callsign: " CLEANFLIGHT! ", + }; } }; \ No newline at end of file diff --git a/js/msp.js b/js/msp.js index 63883216b..cd6dc4a1a 100644 --- a/js/msp.js +++ b/js/msp.js @@ -50,6 +50,9 @@ var MSP_codes = { MSP_CURRENT_METERS: 129, MSP_BATTERY_STATES: 130, + MSP_PILOT: 131, + MSP_SET_PILOT: 222, + // OSD commands MSP_OSD_VIDEO_CONFIG: 180, @@ -1176,6 +1179,16 @@ var MSP = { case MSP_codes.MSP_SET_FAILSAFE_CONFIG: console.log('Failsafe config saved'); break; + case MSP_codes.MSP_PILOT: + var offset = 0; + var length = data.getUint8(offset++); + var callsign = ""; + for (var i = 0; i < (length); i++) { + var c = data.getUint8(offset++); + callsign += String.fromCharCode(c); + } + PILOT_CONFIG.callsign = callsign; + break; // // OSD specific diff --git a/tabs/osd_layout.html b/tabs/osd_layout.html index a49170755..8ddec9a28 100755 --- a/tabs/osd_layout.html +++ b/tabs/osd_layout.html @@ -15,7 +15,7 @@ i18n="tabOSDinfo">

    -
    +
    @@ -31,9 +31,9 @@
    -
    +
    -
    Callsign:
    +
    diff --git a/tabs/osd_layout.js b/tabs/osd_layout.js index 583b0d7d3..075871e77 100755 --- a/tabs/osd_layout.js +++ b/tabs/osd_layout.js @@ -301,6 +301,14 @@ OSD.constants = { name: 'rssiFC', example_value: 'RSSI:100' }, + + // pilot + { + id: 14, + name: 'callsign', + example_value: ' CLEANFLIGHT! ' + }, + ], }; @@ -310,12 +318,23 @@ TABS.osd_layout.initialize = function (callback) { var ui_fields = []; var video_mode = 0; + var callsign_supported = semver.gte(CONFIG.apiVersion, "1.22.0"); + if (GUI.active_tab != 'osd_layout') { GUI.active_tab = 'osd_layout'; googleAnalytics.sendAppView('OSD'); } - MSP.send_message(MSP_codes.MSP_OSD_VIDEO_STATUS, false, false, load_element_summary); + MSP.send_message(MSP_codes.MSP_OSD_VIDEO_STATUS, false, false, load_pilot); + + function load_pilot() { + var next_callback = load_element_summary; + if (callsign_supported) { + MSP.send_message(MSP_codes.MSP_PILOT, false, false, next_callback); + } else { + next_callback(); + } + } function load_element_summary() { MSP.send_message(MSP_codes.MSP_OSD_ELEMENT_SUMMARY, false, false, load_html); @@ -329,6 +348,12 @@ TABS.osd_layout.initialize = function (callback) { // translate to user-selected language localize(); + + if (!callsign_supported) { + $('.callsign_wrapper').hide(); + } else { + $(".callsign").val(PILOT_CONFIG.callsign); + } function on_save_handler() { var elements = []; @@ -357,8 +382,26 @@ TABS.osd_layout.initialize = function (callback) { elements.push(element); }); - MSP.sendOsdLayout(elements, save_to_eeprom); - + MSP.sendOsdLayout(elements, save_pilot); + + function save_pilot() { + var next_callback = save_to_eeprom; + if (callsign_supported) { + var callsign = $(".callsign").val(); + + var buffer = []; + buffer.push(callsign.length); + + for (let i = 0; i < 14; i++) { + buffer.push(callsign.charCodeAt(i)); + } + + MSP.send_message(MSP_codes.MSP_SET_PILOT, buffer, false, next_callback); + } else { + next_callback(); + } + } + function save_to_eeprom() { MSP.send_message(MSP_codes.MSP_EEPROM_WRITE, false, false, function() { GUI.log(chrome.i18n.getMessage('osdLayoutEepromSaved')); From 11991edc72157d4c68678d7702b7260baf43169a Mon Sep 17 00:00:00 2001 From: icdark Date: Fri, 9 Sep 2016 12:32:41 +0200 Subject: [PATCH 71/71] add remote landing page --- manifest.json | 2 ++ tabs/landing.html | 4 +++- tabs/landing.js | 14 ++++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 2c10388af..8ed46ba31 100644 --- a/manifest.json +++ b/manifest.json @@ -30,6 +30,7 @@ "http://*.baseflight.net/", "http://*.cleanflight.com/", "https://*.amazonaws.com/", + "http://configurator.cleanflight.com/main.php", "serial", "usb", "storage", @@ -38,6 +39,7 @@ "fileSystem.retainEntries", "notifications", "alwaysOnTopWindows", + "webview", {"usbDevices": [ {"vendorId": 1155, "productId": 57105} ]} diff --git a/tabs/landing.html b/tabs/landing.html index f1bb26fb3..b81f3f32f 100644 --- a/tabs/landing.html +++ b/tabs/landing.html @@ -1,4 +1,6 @@ -
    + + +
    diff --git a/tabs/landing.js b/tabs/landing.js index cb8ca0aa5..633d62d0f 100644 --- a/tabs/landing.js +++ b/tabs/landing.js @@ -13,6 +13,18 @@ TABS.landing.initialize = function (callback) { // translate to user-selected language localize(); + document.getElementById("online-content").addEventListener('loadabort', function(e) { + if (e.reason == "ERR_INTERNET_DISCONNECTED") { + $("#online-content").hide(); + $("#offline-content").show(); + } + }); + + document.getElementById("online-content").addEventListener('loadstart', function(e) { + $("#online-content").show(); + $("#offline-content").hide(); + }); + // load changelog content $('#changelog .log').load('./changelog.html'); @@ -38,6 +50,8 @@ TABS.landing.initialize = function (callback) { }); GUI.content_ready(callback); + $("#online-content").hide(); + $("#offline-content").hide(); }); };