summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpraxeology_guy <praxeology_guy@protonmail.com>2017-03-07 16:28:49 -0500
committerbitcoindev <bitcoindev@gnusha.org>2017-03-07 21:29:00 +0000
commit87c19535cb961ca7c91979d1afbb28de6f14a60c (patch)
tree705872df24bdb5737e52a2082d3abec8912a171d
parent2f486ef3397310617d2afab746c796589bd9c208 (diff)
downloadpi-bitcoindev-87c19535cb961ca7c91979d1afbb28de6f14a60c.tar.gz
pi-bitcoindev-87c19535cb961ca7c91979d1afbb28de6f14a60c.zip
[bitcoin-dev] A Commitment-suitable UTXO set "Balances" file data structure
-rw-r--r--4b/7f34c6eb561d4b9432f76d8497edc3dcf673db278
1 files changed, 278 insertions, 0 deletions
diff --git a/4b/7f34c6eb561d4b9432f76d8497edc3dcf673db b/4b/7f34c6eb561d4b9432f76d8497edc3dcf673db
new file mode 100644
index 000000000..63283038f
--- /dev/null
+++ b/4b/7f34c6eb561d4b9432f76d8497edc3dcf673db
@@ -0,0 +1,278 @@
+Return-Path: <praxeology_guy@protonmail.com>
+Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
+ [172.17.192.35])
+ by mail.linuxfoundation.org (Postfix) with ESMTPS id 98AD0B7D
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 7 Mar 2017 21:29:00 +0000 (UTC)
+X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
+Received: from mail3.protonmail.ch (mail3.protonmail.ch [185.70.40.25])
+ by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 4C043136
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Tue, 7 Mar 2017 21:28:59 +0000 (UTC)
+Date: Tue, 07 Mar 2017 16:28:49 -0500
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
+ s=default; t=1488922135;
+ bh=OZMN7hUoLdBaxrSkB4pV4ml6Bzbppp3rERXFNlDjOzM=;
+ h=To:From:Reply-To:Subject:Feedback-ID:From;
+ b=rW5xrIZSmzeSljNTL//goEw3STNOEzlrA4O8Dt3Mzs9MFnggKxgvFK22Zo2PN4+cb
+ 62xVpxl8yQS6pOEzLzNX8uORmRq9ZjQ2L6vSRmBpXcaQ91TZrx0k4kElALsBVJIXkZ
+ kj5ZVqnUCBwXRlsD7w1xxuKa9LhNF/UrRO7MNvIU=
+To: "bitcoin-dev@lists.linuxfoundation.org"
+ <bitcoin-dev@lists.linuxfoundation.org>
+From: praxeology_guy <praxeology_guy@protonmail.com>
+Reply-To: praxeology_guy <praxeology_guy@protonmail.com>
+Message-ID: <_Z0S6yfN2uS1b0SYoZzU9LMo3QQ967dyn0e12ep_aXJ8cNw8wTovQWED6mKg3PH0hb2yKEG-5Cv0xH3IC2cG5rczP5qo-xLtrjJMXW1uCss=@protonmail.com>
+Feedback-ID: QNIhwEyXoeVc3U4MfcUYYZvMnUQl3-PbHr6DzMyDyTNHjRI1PsDP75XnKblbXk3lrG73CSsTOH1kyRSbuPf8Gw==:Ext:ProtonMail
+MIME-Version: 1.0
+Content-Type: multipart/alternative;
+ boundary="b1_4bcc52d3ddb14a985aac9beca8a30044"
+X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
+ DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE,
+ MIME_BASE64_BLANKS,
+ RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1
+X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
+ smtp1.linux-foundation.org
+X-Mailman-Approved-At: Tue, 07 Mar 2017 21:38:50 +0000
+Subject: [bitcoin-dev] A Commitment-suitable UTXO set "Balances" file data
+ structure
+X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
+X-Mailman-Version: 2.1.12
+Precedence: list
+List-Id: Bitcoin Protocol Discussion <bitcoin-dev.lists.linuxfoundation.org>
+List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
+List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
+List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
+List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
+List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
+ <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
+X-List-Received-Date: Tue, 07 Mar 2017 21:29:00 -0000
+
+This is a multi-part message in MIME format.
+
+--b1_4bcc52d3ddb14a985aac9beca8a30044
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: base64
+
+QSBDb21taXRtZW50LXN1aXRhYmxlIFVUWE8gc2V0ICJCYWxhbmNlcyIgZmlsZSBkYXRhIHN0cnVj
+dHVyZQotIEFsbG93cyBwcnVuZWQgbm9kZXMgdG8gc2F0aXNmeSBTUFYgbm9kZXMKLSBBbGxvd3Mg
+cHJ1bmVkIG5vZGVzIHRvIHRydXN0bGVzc2x5IHN0YXJ0IHN5bmNocm9uaXppbmcgYXQgYSBCYWxh
+bmNlcyBmaWxlJ3MgYmxvY2sgaGVpZ2h0IGluc3RlYWQgb2YgdGhlIGdlbmVzaXMgYmxvY2sKLSBB
+bGxvd3MgYWxsIG5vZGVzIGluIHRoZSBuZXR3b3JrIHRvIHZlcmlmeSB0aGVpciBVVFhPIHNldCdz
+IGRhdGEgaW50ZWdyaXR5CgpGb3IgdGhpcyB0byB3b3JrLCBCaXRjb2luIHdvdWxkIG5lZWQgYSBu
+ZXcgcG9saWN5OgotIEEgVVRYTyBjb21taXRtZW50IGlzIG1hZGUgZXZlcnkgIkJhbGFuY2VzL1VU
+WE8gQ29tbWl0bWVudCBQZXJpb2QiIChCQ1ApIGJsb2Nrcy4gVGhlIFVUWE8gY29tbWl0bWVudCBp
+cyBtYWRlIG9uIHRoZSBzdGF0ZSBvZiB0aGUgVVRYTyBhdCBCQ1AgYmxvY2tzIGFnby4gRm9yIGV4
+YW1wbGUsIGlmIEJDUCBpcyA1MDAwLCBhbmQgd2UgYXJlIGNyZWF0aW5nIGJsb2NrIDIwLDAwMCwg
+dGhlbiBibG9jayAyMCwwMDAgd291bGQgY29udGFpbiBhIGNvbW1pdG1lbnQgb24gd2hhdCB0aGUg
+c3RhdGUgb2YgdGhlIFVUWE8gd2FzIGF0IGJsb2NrIDE1LDAwMCwgcmlnaHQgYmVmb3JlIGFueSBj
+aGFuZ2VzIGR1ZSB0byBibG9jayAxNSwwMDEuCi0gVGhlIGNvbW1pdG1lbnQgaXMgbWFkZSBvbiB0
+aGUgc3RhdGUgb2YgdGhlIFVUWE8gIkJDUCBibG9ja3MgYWdvIiBpbnN0ZWFkIG9mIHRoZSBVVFhP
+IHN0YXRlIGF0IHRoZSB0aXAgYmVjYXVzZTogMS4gU3VjaCBhIGNvbW1pdG1lbnQgY2FuIGJlIG1h
+ZGUgaW4gYSBiYWNrZ3JvdW5kIHRocmVhZCBhbmQgbm90IGRlbGF5IG1pbmluZy9zeW5jaHJvbml6
+aW5nIG5vZGUgb3BlcmF0aW9uczsgMi4gVGhlIHdvcmsgb2YgY3JlYXRpbmcgdGhlIGNvbW1pdG1l
+bnQgZG9lc24ndCBoYXZlIHRvIGJlIHJlZG9uZSBpbiB0aGUgY2FzZSBvZiBhIGZvcmsuCi0gVGhl
+IGZpbGUvY29tbWl0bWVudCBpcyBtYWRlIGluIGEgYmFja2dyb3VuZCB0aHJlYWQsIHN0YXJ0aW5n
+IGF0IGxlYXN0IEJDUC8yIGJsb2NrcyBhZnRlciB0aGUgbGFzdCBibG9jayBjb250YWluaW5nIGEg
+dXR4byBjb21taXRtZW50LgoKQmFsYW5jZXMgZmlsZSBzdW1tYXJ5Ogp7CkhlYWRlcjogNDggYnl0
+ZXMKewpGaWxlIFR5cGU6IDQgYnl0ZXMKRmlsZSB2ZXJzaW9uOiA0IGJ5dGVzCnNpemUgb2YgYmFs
+YW5jZXM6IDggYnl0ZXMKcm9vdCBoYXNoOiAzMiBieXRlcwp9CmJhbGFuY2VzOiAic2l6ZSBvZiBi
+YWxhbmNlcyIgYnl0ZXMKYmFsYW5jZSBpbmRleDogInBpZWNlIGNvdW50IiAqIChOICsgNCkgYnl0
+ZXMsIE49NCBwcm9wb3NlZAptZXJrbGUgdHJlZSBoYXNoZXM6IH4gMiAqICJwaWVjZSBjb3VudCIg
+KiAzMiBieXRlcwp9CgpiYWxhbmNlczogaXMgYSBsaXN0IG9mIGJhbGFuY2VzIHNvcnRlZCBieSB0
+eGlkOgp7Cmxlbmd0aDogNCBieXRlcwp0eGlkOiAzMiBieXRlcwpDQ29pbnM6IHZhcmlhYmxlIGxl
+bmd0aCwgZGVwZW5kcyBvbiBVVFhPIHNpemUKfQoKQSAicGllY2UiIGlzIGxpa2UgaW4gYml0dG9y
+cmVudCdzIHBpZWNlLiBJIHByb3Bvc2UgcGllY2Ugc2l6ZSA9IDMyKjEwMjQgYnl0ZXMuIDJHQiBv
+ZiBiYWxhbmNlIGRhdGEgd291bGQgdGhlbiBiZSBkaXZpZGVkIGludG8gNjU1MzYgcGllY2VzLgoK
+dHJhbnNhY3Rpb24gaW5kZXggaXMgYW4gYXJyYXkgKHdpdGggInBpZWNlIGNvdW50IiBlbGVtZW50
+cykgb2Y6CnsKdHhpeDogdGhlIGZpcnN0IE4gYnl0ZXMgb2YgYSB0eGlkLiBJJ20gcHJvcG9zaW5n
+IE4gPSA0CnBpZWNlIG9mZnNldDogNCBieXRlcywgbG9jYXRpb24gb2YgdGhlIGZpcnN0IGJhbGFu
+Y2UgaW4gdGhlIHBpZWNlLgp9CgptZXJrbGUgdHJlZSBoYXNoZXM6Ci0gYXJyYXkgb2YgInBpZWNl
+IGNvdW50IiBsZWFmIGhhc2hlcywgaGFzaGluZyB0aGUgYmFsYW5jZSBwaWVjZXMKLSBhcnJheSBv
+ZiAiKGNoaWxkIGxheWVyIGNvdW50ICsgMSkvMiIgbm9kZSBoYXNoZXMsIGhhc2hpbmcgcGFpcnMg
+b2YgY2hpbGQgaGFzaGVzLCBvciBjb3B5aW5nIHVwIGlmIG9ubHkgb25lIGNoaWxkCi0gcmVwZWF0
+IF4gdW50aWwgdGhlIHJvb3QgaGFzaCBpcyB3cml0dGVuCi4uLiBleGNlcHQgcmV2ZXJzZSB0aGUg
+bGF5ZXIgb3JkZXIuIEluIG90aGVyIHdvcmRzLCBpdCBzaG91bGQgYmUgYnJlYWR0aCBmaXJzdC4K
+Cj09PT09PT09PT0KCkRhdGEgc3RydWN0dXJlIGRlc2lnbiBub3RlczoKLSBNb3N0IG9mIHRoZSBm
+aWxlJ3Mgc3BhY2UgaXMgdXNlZCBieSB0aGUgYmFsYW5jZXMuIEZvciBleGFtcGxlLCBnaXZlbiBh
+IDMya0IgcGllY2Ugc2l6ZSBhbmQgMkdCIGJhbGFuY2VzLCB0aGUgbm9uLWJhbGFuY2VzIGRhdGEg
+b25seSBjb25zdW1lcyBhYm91dCA0LjVNQi4gSWYgTiB3YXMgaW5jcmVhc2VkIHRvIDMyLCB+Ni41
+TUIuCi0gcGllY2Ugc2l6ZSBzaG91bGQgYmUgc21hbGwgZW5vdWdoIHRoYXQgbm90IHRoYXQgbXVj
+aCBlZmZvcnQgaXMgd2FzdGVkIHdoZW4gaW52YWxpZCBwaWVjZXMgYXJlIHJlY2VpdmVkLgotIHBp
+ZWNlIHNpemUgc2hvdWxkIGFsc28gYmUgc21hbGwgaW4gdGhlIGNhc2UgdGhhdCB0aGlzIGRhdGEg
+c3RydWN0dXJlIGlzIHVzZWQgaW5zdGVhZCBvZiBibG9jayBoaXN0b3J5IGZvciBTUFYgcHJvb2Yu
+IFRoZW4gcHJ1bmVkIG5vZGVzIGNhbiBzYXRpc2Z5IFNQViBjbGllbnRzLgotIFRoZSBjaGlsZCBj
+b3VudCA9IDIgbWVya2xlIHRyZWUgc3RydWN0dXJlIGlzIG9ubHkgbmVjZXNzYXJ5IGZvciBpZiB0
+aGlzIGRhdGEgc3RydWN0dXJlIGlzIHRvIGJlIHVzZWQgdG8gc2F0aXNmeSBTUFYgY2xpZW50cy4g
+SWYgbm90IHVzZWQgZm9yIHN1Y2ggYSBwdXJwb3NlLCB0aGVuIHRlY2huaWNhbGx5IHRoZSByb290
+IGhhc2ggY291bGQgaGF2ZSB0aGUgbGVhZiBoYXNoZXMgYXMgaXQncyBkaXJlY3QgY2hpbGRyZW4u
+IEJ1dCBwcmFjdGljYWxseSB0aGlzIGRvZXNuJ3QgbWFrZSBhIGRpZmZlcmVuY2U6IG1lcmtsZSB0
+cmVlIHNpemUgaXMgbm90aGluZyBjb21wYXJlZCB0byBzaXplb2YoYmFsYW5jZXMpLgotIFRoZSBv
+bmx5IHB1cnBvc2Ugb2YgdGhlIGJhbGFuY2UgaW5kZXggaXMgdG8gc3VwcG9ydCBTUFYgY2xpZW50
+cwotIHR4aXggaXMgYSB0cnVuY2F0aW9uIG9mIHR4aWQgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZSBm
+b3IgYSBmdWxseSBpbi1tZW1vcnkgaW5kZXggdG8gc3VwcG9ydCBTUFYgbm9kZXMuIE1heWJlIHRo
+aXMgdHJ1bmNhdGlvbiBpc24ndCB3b3J0aHdoaWxlLgoKT3RoZXIgbm90ZXM6Ci0gV2UgY291bGQg
+bWFrZSBCQ1AgNDM4MyBibG9ja3MsIHdoaWNoIHdvdWxkIGJlIDEyIHRpbWVzIHBlciB5ZWFyLCBn
+aXZlbiBibG9jayBwZXJpb2Qgd2FzIGV4YWN0bHkgMTAgbWludXRlcy4gQnV0IHNpbmNlIGJsb2Nr
+IHBlcmlvZCBpcyBub3QgZXhhY3RseSAxMCBtaW51dGVzLCBhbmQgZmlsZSBuYW1lcyBnZW5lcmF0
+ZWQgd2l0aCBwZXJpb2QgNDI4MyBhcmUgbXVjaCBsZXNzIGNvbXByZWhlbnNpYmxlIHRoYW4gZmls
+ZSBuYW1lcyBnZW5lcmF0ZWQgd2l0aCBwZXJpb2QgNTAwMC4uLiBJIHByb3Bvc2UgNTAwMC4KLSBI
+YXZpbmcgYSBzaG9ydGVyIEJDUCBwZXJpb2Qgd291bGQgcmVzdWx0IGluIG1vcmUgZnJlcXVlbnQg
+Y2hlY2tzIG9uIFVUWE8gc2V0IGludGVncml0eSwgYW5kIHBlcm1pdCBuZXcgcHJ1bmluZyBub2Rl
+cyB0byBzdGFydCBzeW5jaGluZyBjbG9zZXIgdG8gdGhlIHRpcC4gQnV0IGl0IG1heSByZXF1aXJl
+IG5vZGVzIHRvIGtlZXAgbW9yZSBjb3BpZXMgb2YgdGhlIGJhbGFuY2VzIGZpbGUgdG8gc2F0aXNm
+eSB0aGUgc2FtZSBiYWNrdXAgcGVyaW9kLCBhbmQgcmVxdWlyZSBtb3JlIGJhY2tncm91bmQgd29y
+ayBvZiBjcmVhdGluZyBtb3JlIGJhbGFuY2VzIGZpbGVzLgoKPT09PT09PT09PT0KClN1Z2dlc3Rl
+ZCBkZXNpZ24gY2hhbmdlIHRvIHRoZSBjaGFpbnN0YXRlICJDQ29pbnNWaWV3REIiIHV0eG8gZGF0
+YWJhc2U6Ci0gQXMgaXQgaXMgZGVzaWduZWQgbm93LCB0aGUgYWJvdmUgcHJvcG9zYWwgd291bGQg
+cmVxdWlyZSBtYWludGFpbmluZyBhIGR1cGxpY2F0ZSBidXQgbGFnZ2luZyBVVFhPIGRhdGFiYXNl
+LgotIEkgcHJvcG9zZSBjaGFuZ2luZyB0aGUgIkNDb2lucyIgZGF0YSBzdHJ1Y3R1cmUgc28gdGhh
+dCBpdCBjYW4ga2VlcCB0cmFjayBvZiBzcGVuZHMgdGhhdCBzaG91bGRuJ3QgYmUgaW5jbHVkZWQg
+aW4gdGhlIGNvbW1pdG1lbnQuIE1heWJlIGNhbGwgaXQgInZ0aXBzcGVuZHMiLgoKVGhlbiB0aGUg
+cHJvY2VzcyBmb3IgdXBkYXRpbmcgdGhlIENDb2luc1ZpZXdEQiB3b3VsZCBiZToKMS4gTWFyayBh
+IHR4byBhcyBzcGVudCBieSBhZGRpbmcgdGhlIHZvdXRfaXggdG8gdnRpcHNwZW5kcy4KMi4gU2V0
+TnVsbCgpIGFuZCBDbGVhbnVwKCkgZHVyaW5nIHRoZSBiYWNrZ3JvdW5kIHRocmVhZCB0aGF0IGNy
+ZWF0ZXMgQmFsYW5jZXMgY29tbWl0bWVudHMuIHZ0aXBzcGVuZHMgd291bGQgYWxzbyBuZWVkIHRv
+IGJlIGNsZWFuZWQuCi0gVGhlIG1ldGhvZCBmb3IgY2hlY2tpbmcgd2hldGhlciBhIHR4byB3YXMg
+c3BlbnQgd291bGQgbmVlZCB0byBiZSBjaGFuZ2VkIHRvIGNoZWNrIHZ0aXBzcGVuZHMuCgpBdCB0
+aGUgc2FtZSB0aW1lLCBJIGtub3cgdGhlcmUgaXMgY3VycmVudGx5IGEgbG90IG9mIGNvZGUgY29t
+cGxleGl0eSB3aXRoIGhhbmRsaW5nIGZvcmtzIGFuZCB0eG8gc3BlbmRzLiBMZXQgbWUgcHJvcG9z
+ZSBzb21ldGhpbmcgdG8gaGFuZGxlIHRoaXMgYmV0dGVyIHRvbzoKLSB2dGlwc3BlbmRzIGNvdWxk
+IGhvbGQge3ZvdXRfaXgsIGJsb2NraGFzaCB9IGluc3RlYWQgb2YganVzdCB2b3V0X2l4LgotIENo
+ZWNraW5nIHdoZXRoZXIgYSB0eG8gaXMgc3BlbnQgd2lsbCB0aGVuIHJlcXVpcmUgYSBwYXJhbWV0
+ZXIgdGhhdCBzcGVjaWZpZXMgdGhlICJmb3JrIHRpcCBoYXNoIiBvciAiZm9yayBjaGFpbiIKClRo
+ZW4gaW4gdGhlIGNhc2Ugb2YgYSBmb3JrLCBubyB3b3JrIGhhcyB0byBiZSBkb25lIHRvIHVwZGF0
+ZSB0aGUgdXR4byBkYXRhYmFzZS4uLiBpdCBpcyBpbW1lZGlhdGVseSByZWFkeSB0byBoYW5kbGUg
+YW5zd2VyaW5nIHNwZW5kIHF1ZXN0aW9ucyBmb3IgYSBkaWZmZXJlbnQgZm9yay4KCkZlZWRiYWNr
+IHdlbGNvbWUuIEZZSSBJIGhhdmUgY29kZWQgdXAgdGhlIGNyZWF0aW9uIG9mIHN1Y2ggYSBmaWxl
+IGFscmVhZHkuLi4gU28gSSBhbSB3b3JraW5nIG9uIHRoZSBpbXBsZW1lbnRhdGlvbiwgbm90IGp1
+c3QgdGhlIHNwZWMuIEknZCByZWFsbHkgbGlrZSB0byBoZWFyIHdoYXQgeW91IGd1eXMgdGhpbmsg
+YWJvdXQgbXkgcHJvcG9zZWQgY2hhbmdlcyB0byBDQ29pbnMuCgpDaGVlcnMsClByYXhlb2xvZ3k=
+
+
+--b1_4bcc52d3ddb14a985aac9beca8a30044
+Content-Type: text/html; charset=UTF-8
+Content-Transfer-Encoding: base64
+
+PGRpdj5BIENvbW1pdG1lbnQtc3VpdGFibGUgVVRYTyBzZXQgIkJhbGFuY2VzIiBmaWxlIGRhdGEg
+c3RydWN0dXJlPGJyPjwvZGl2PjxkaXY+LSBBbGxvd3MgcHJ1bmVkIG5vZGVzIHRvIHNhdGlzZnkg
+U1BWIG5vZGVzPGJyPjwvZGl2PjxkaXY+LSBBbGxvd3MgcHJ1bmVkIG5vZGVzIHRvIHRydXN0bGVz
+c2x5IHN0YXJ0IHN5bmNocm9uaXppbmcgYXQgYSBCYWxhbmNlcyBmaWxlJ3MgYmxvY2sgaGVpZ2h0
+IGluc3RlYWQgb2YgdGhlIGdlbmVzaXMgYmxvY2s8YnI+PC9kaXY+PGRpdj4tIEFsbG93cyBhbGwg
+bm9kZXMgaW4gdGhlIG5ldHdvcmsgdG8gdmVyaWZ5IHRoZWlyIFVUWE8gc2V0J3MgZGF0YSBpbnRl
+Z3JpdHk8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5Gb3IgdGhpcyB0byB3b3JrLCBCaXRj
+b2luIHdvdWxkIG5lZWQgYSBuZXcgcG9saWN5Ojxicj48L2Rpdj48ZGl2Pi0gQSBVVFhPIGNvbW1p
+dG1lbnQgaXMgbWFkZSBldmVyeSAiQmFsYW5jZXMvVVRYTyBDb21taXRtZW50IFBlcmlvZCIgKEJD
+UCkgYmxvY2tzLiZuYnNwOyBUaGUgVVRYTyBjb21taXRtZW50IGlzIG1hZGUgb24gdGhlIHN0YXRl
+IG9mIHRoZSBVVFhPIGF0IEJDUCBibG9ja3MgYWdvLiZuYnNwOyBGb3IgZXhhbXBsZSwgaWYgQkNQ
+IGlzIDUwMDAsIGFuZCB3ZSBhcmUgY3JlYXRpbmcgYmxvY2sgMjAsMDAwLCB0aGVuIGJsb2NrIDIw
+LDAwMCB3b3VsZCBjb250YWluIGEgY29tbWl0bWVudCBvbiB3aGF0IHRoZSBzdGF0ZSBvZiB0aGUg
+VVRYTyB3YXMgYXQgYmxvY2sgMTUsMDAwLCByaWdodCBiZWZvcmUgYW55IGNoYW5nZXMgZHVlIHRv
+IGJsb2NrIDE1LDAwMS48YnI+PC9kaXY+PGRpdj4tIFRoZSBjb21taXRtZW50IGlzIG1hZGUgb24g
+dGhlIHN0YXRlIG9mIHRoZSBVVFhPICJCQ1AgYmxvY2tzIGFnbyIgaW5zdGVhZCBvZiB0aGUgVVRY
+TyBzdGF0ZSBhdCB0aGUgdGlwIGJlY2F1c2U6IDEuIFN1Y2ggYSBjb21taXRtZW50IGNhbiBiZSBt
+YWRlIGluIGEgYmFja2dyb3VuZCB0aHJlYWQgYW5kIG5vdCBkZWxheSBtaW5pbmcvc3luY2hyb25p
+emluZyBub2RlIG9wZXJhdGlvbnM7IDIuIFRoZSB3b3JrIG9mIGNyZWF0aW5nIHRoZSBjb21taXRt
+ZW50IGRvZXNuJ3QgaGF2ZSB0byBiZSByZWRvbmUgaW4gdGhlIGNhc2Ugb2YgYSBmb3JrLjxicj48
+L2Rpdj48ZGl2Pi0gVGhlIGZpbGUvY29tbWl0bWVudCBpcyBtYWRlIGluIGEgYmFja2dyb3VuZCB0
+aHJlYWQsIHN0YXJ0aW5nIGF0IGxlYXN0IEJDUC8yIGJsb2NrcyBhZnRlciB0aGUgbGFzdCBibG9j
+ayBjb250YWluaW5nIGEgdXR4byBjb21taXRtZW50Ljxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48
+ZGl2PkJhbGFuY2VzIGZpbGUgc3VtbWFyeTo8YnI+PC9kaXY+PGRpdj57PGJyPjwvZGl2PjxkaXY+
+SGVhZGVyOiA0OCBieXRlczxicj48L2Rpdj48ZGl2Pns8YnI+PC9kaXY+PGRpdj5GaWxlIFR5cGU6
+IDQgYnl0ZXM8YnI+PC9kaXY+PGRpdj5GaWxlIHZlcnNpb246IDQgYnl0ZXM8YnI+PC9kaXY+PGRp
+dj5zaXplIG9mIGJhbGFuY2VzOiA4IGJ5dGVzPGJyPjwvZGl2PjxkaXY+cm9vdCBoYXNoOiAzMiBi
+eXRlczxicj48L2Rpdj48ZGl2Pn08YnI+PC9kaXY+PGRpdj5iYWxhbmNlczogInNpemUgb2YgYmFs
+YW5jZXMiIGJ5dGVzPGJyPjwvZGl2PjxkaXY+YmFsYW5jZSBpbmRleDogInBpZWNlIGNvdW50IiAq
+IChOICsgNCkgYnl0ZXMsIE49NCBwcm9wb3NlZDxicj48L2Rpdj48ZGl2Pm1lcmtsZSB0cmVlIGhh
+c2hlczogfiAyICogInBpZWNlIGNvdW50IiAqIDMyIGJ5dGVzPGJyPjwvZGl2PjxkaXY+fTxicj48
+L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmJhbGFuY2VzOiBpcyBhIGxpc3Qgb2YgYmFsYW5jZXMg
+c29ydGVkIGJ5IHR4aWQ6PGJyPjwvZGl2PjxkaXY+ezxicj48L2Rpdj48ZGl2Pmxlbmd0aDogNCBi
+eXRlczxicj48L2Rpdj48ZGl2PnR4aWQ6IDMyIGJ5dGVzPGJyPjwvZGl2PjxkaXY+Q0NvaW5zOiB2
+YXJpYWJsZSBsZW5ndGgsIGRlcGVuZHMgb24gVVRYTyBzaXplPGJyPjwvZGl2PjxkaXY+fTxicj48
+L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkEgInBpZWNlIiBpcyBsaWtlIGluIGJpdHRvcnJlbnQn
+cyBwaWVjZS4mbmJzcDsgSSBwcm9wb3NlIHBpZWNlIHNpemUgPSAzMioxMDI0IGJ5dGVzLiZuYnNw
+OyAyR0Igb2YgYmFsYW5jZSBkYXRhIHdvdWxkIHRoZW4gYmUgZGl2aWRlZCBpbnRvIDY1NTM2IHBp
+ZWNlcy48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj50cmFuc2FjdGlvbiBpbmRleCBpcyBh
+biBhcnJheSAod2l0aCAicGllY2UgY291bnQiIGVsZW1lbnRzKSBvZjo8YnI+PC9kaXY+PGRpdj57
+PGJyPjwvZGl2PjxkaXY+dHhpeDogdGhlIGZpcnN0IE4gYnl0ZXMgb2YgYSB0eGlkLiBJJ20gcHJv
+cG9zaW5nIE4gPSA0PGJyPjwvZGl2PjxkaXY+cGllY2Ugb2Zmc2V0OiA0IGJ5dGVzLCBsb2NhdGlv
+biBvZiB0aGUgZmlyc3QgYmFsYW5jZSBpbiB0aGUgcGllY2UuPGJyPjwvZGl2PjxkaXY+fTxicj48
+L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pm1lcmtsZSB0cmVlIGhhc2hlczo8YnI+PC9kaXY+PGRp
+dj4tIGFycmF5IG9mICJwaWVjZSBjb3VudCIgbGVhZiBoYXNoZXMsIGhhc2hpbmcgdGhlIGJhbGFu
+Y2UgcGllY2VzPGJyPjwvZGl2PjxkaXY+LSBhcnJheSBvZiAiKGNoaWxkIGxheWVyIGNvdW50ICsg
+MSkvMiIgbm9kZSBoYXNoZXMsIGhhc2hpbmcgcGFpcnMgb2YgY2hpbGQgaGFzaGVzLCBvciBjb3B5
+aW5nIHVwIGlmIG9ubHkgb25lIGNoaWxkPGJyPjwvZGl2PjxkaXY+LSByZXBlYXQgXiB1bnRpbCB0
+aGUgcm9vdCBoYXNoIGlzIHdyaXR0ZW48YnI+PC9kaXY+PGRpdj4uLi4gZXhjZXB0IHJldmVyc2Ug
+dGhlIGxheWVyIG9yZGVyLiBJbiBvdGhlciB3b3JkcywgaXQgc2hvdWxkIGJlIGJyZWFkdGggZmly
+c3QuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT09PT09PT09PTxicj48L2Rpdj48ZGl2
+Pjxicj48L2Rpdj48ZGl2PkRhdGEgc3RydWN0dXJlIGRlc2lnbiBub3Rlczo8YnI+PC9kaXY+PGRp
+dj4tIE1vc3Qgb2YgdGhlIGZpbGUncyBzcGFjZSBpcyB1c2VkIGJ5IHRoZSBiYWxhbmNlcy4mbmJz
+cDsgRm9yIGV4YW1wbGUsIGdpdmVuIGEgMzJrQiBwaWVjZSBzaXplIGFuZCAyR0IgYmFsYW5jZXMs
+IHRoZSBub24tYmFsYW5jZXMgZGF0YSBvbmx5IGNvbnN1bWVzIGFib3V0IDQuNU1CLiZuYnNwOyBJ
+ZiBOIHdhcyBpbmNyZWFzZWQgdG8gMzIsIH42LjVNQi48YnI+PC9kaXY+PGRpdj4tIHBpZWNlIHNp
+emUgc2hvdWxkIGJlIHNtYWxsIGVub3VnaCB0aGF0IG5vdCB0aGF0IG11Y2ggZWZmb3J0IGlzIHdh
+c3RlZCB3aGVuIGludmFsaWQgcGllY2VzIGFyZSByZWNlaXZlZC48YnI+PC9kaXY+PGRpdj4tIHBp
+ZWNlIHNpemUgc2hvdWxkIGFsc28gYmUgc21hbGwgaW4gdGhlIGNhc2UgdGhhdCB0aGlzIGRhdGEg
+c3RydWN0dXJlIGlzIHVzZWQgaW5zdGVhZCBvZiBibG9jayBoaXN0b3J5IGZvciBTUFYgcHJvb2Yu
+Jm5ic3A7IFRoZW4gcHJ1bmVkIG5vZGVzIGNhbiBzYXRpc2Z5IFNQViBjbGllbnRzLjxicj48L2Rp
+dj48ZGl2Pi0gVGhlIGNoaWxkIGNvdW50ID0gMiBtZXJrbGUgdHJlZSBzdHJ1Y3R1cmUgaXMgb25s
+eSBuZWNlc3NhcnkgZm9yIGlmIHRoaXMgZGF0YSBzdHJ1Y3R1cmUgaXMgdG8gYmUgdXNlZCB0byBz
+YXRpc2Z5IFNQViBjbGllbnRzLiZuYnNwOyBJZiBub3QgdXNlZCBmb3Igc3VjaCBhIHB1cnBvc2Us
+IHRoZW4gdGVjaG5pY2FsbHkgdGhlIHJvb3QgaGFzaCBjb3VsZCBoYXZlIHRoZSBsZWFmIGhhc2hl
+cyBhcyBpdCdzIGRpcmVjdCBjaGlsZHJlbi4gQnV0IHByYWN0aWNhbGx5IHRoaXMgZG9lc24ndCBt
+YWtlIGEgZGlmZmVyZW5jZTogbWVya2xlIHRyZWUgc2l6ZSBpcyBub3RoaW5nIGNvbXBhcmVkIHRv
+IHNpemVvZihiYWxhbmNlcykuPGJyPjwvZGl2PjxkaXY+LSBUaGUgb25seSBwdXJwb3NlIG9mIHRo
+ZSBiYWxhbmNlIGluZGV4IGlzIHRvIHN1cHBvcnQgU1BWIGNsaWVudHM8YnI+PC9kaXY+PGRpdj4t
+IHR4aXggaXMgYSB0cnVuY2F0aW9uIG9mIHR4aWQgdG8gcmVkdWNlIG1lbW9yeSB1c2FnZSBmb3Ig
+YSBmdWxseSBpbi1tZW1vcnkgaW5kZXggdG8gc3VwcG9ydCBTUFYgbm9kZXMuJm5ic3A7IE1heWJl
+IHRoaXMgdHJ1bmNhdGlvbiBpc24ndCB3b3J0aHdoaWxlLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rp
+dj48ZGl2Pk90aGVyIG5vdGVzOjxicj48L2Rpdj48ZGl2Pi0gV2UgY291bGQgbWFrZSBCQ1AgNDM4
+MyBibG9ja3MsIHdoaWNoIHdvdWxkIGJlIDEyIHRpbWVzIHBlciB5ZWFyLCBnaXZlbiBibG9jayBw
+ZXJpb2Qgd2FzIGV4YWN0bHkgMTAgbWludXRlcy4mbmJzcDsgQnV0IHNpbmNlIGJsb2NrIHBlcmlv
+ZCBpcyBub3QgZXhhY3RseSAxMCBtaW51dGVzLCBhbmQgZmlsZSBuYW1lcyBnZW5lcmF0ZWQgd2l0
+aCBwZXJpb2QgNDI4MyBhcmUgbXVjaCBsZXNzIGNvbXByZWhlbnNpYmxlIHRoYW4gZmlsZSBuYW1l
+cyBnZW5lcmF0ZWQgd2l0aCBwZXJpb2QgNTAwMC4uLiZuYnNwOyBJIHByb3Bvc2UgNTAwMC48YnI+
+PC9kaXY+PGRpdj4tIEhhdmluZyBhIHNob3J0ZXIgQkNQIHBlcmlvZCB3b3VsZCByZXN1bHQgaW4g
+bW9yZSBmcmVxdWVudCBjaGVja3Mgb24gVVRYTyBzZXQgaW50ZWdyaXR5LCBhbmQgcGVybWl0IG5l
+dyBwcnVuaW5nIG5vZGVzIHRvIHN0YXJ0IHN5bmNoaW5nIGNsb3NlciB0byB0aGUgdGlwLiZuYnNw
+OyBCdXQgaXQgbWF5IHJlcXVpcmUgbm9kZXMgdG8ga2VlcCBtb3JlIGNvcGllcyBvZiB0aGUgYmFs
+YW5jZXMgZmlsZSB0byBzYXRpc2Z5IHRoZSBzYW1lIGJhY2t1cCBwZXJpb2QsIGFuZCByZXF1aXJl
+IG1vcmUgYmFja2dyb3VuZCB3b3JrIG9mIGNyZWF0aW5nIG1vcmUgYmFsYW5jZXMgZmlsZXMuPGJy
+PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT09PT09PT09PT08YnI+PC9kaXY+PGRpdj48YnI+
+PC9kaXY+PGRpdj5TdWdnZXN0ZWQgZGVzaWduIGNoYW5nZSB0byB0aGUgY2hhaW5zdGF0ZSAiQ0Nv
+aW5zVmlld0RCIiB1dHhvIGRhdGFiYXNlOjxicj48L2Rpdj48ZGl2Pi0gQXMgaXQgaXMgZGVzaWdu
+ZWQgbm93LCB0aGUgYWJvdmUgcHJvcG9zYWwgd291bGQgcmVxdWlyZSBtYWludGFpbmluZyBhIGR1
+cGxpY2F0ZSBidXQgbGFnZ2luZyBVVFhPIGRhdGFiYXNlLjxicj48L2Rpdj48ZGl2Pi0gSSBwcm9w
+b3NlIGNoYW5naW5nIHRoZSAiQ0NvaW5zIiBkYXRhIHN0cnVjdHVyZSBzbyB0aGF0IGl0IGNhbiBr
+ZWVwIHRyYWNrIG9mIHNwZW5kcyB0aGF0IHNob3VsZG4ndCBiZSBpbmNsdWRlZCBpbiB0aGUgY29t
+bWl0bWVudC4gTWF5YmUgY2FsbCBpdCAidnRpcHNwZW5kcyIuPGJyPjwvZGl2PjxkaXY+PGJyPjwv
+ZGl2PjxkaXY+VGhlbiB0aGUgcHJvY2VzcyBmb3IgdXBkYXRpbmcgdGhlIENDb2luc1ZpZXdEQiB3
+b3VsZCBiZTo8YnI+PC9kaXY+PGRpdj4xLiBNYXJrIGEgdHhvIGFzIHNwZW50IGJ5IGFkZGluZyB0
+aGUgdm91dF9peCB0byB2dGlwc3BlbmRzLjxicj48L2Rpdj48ZGl2PjIuIFNldE51bGwoKSBhbmQg
+Q2xlYW51cCgpIGR1cmluZyB0aGUgYmFja2dyb3VuZCB0aHJlYWQgdGhhdCBjcmVhdGVzIEJhbGFu
+Y2VzIGNvbW1pdG1lbnRzLiZuYnNwOyB2dGlwc3BlbmRzIHdvdWxkIGFsc28gbmVlZCB0byBiZSBj
+bGVhbmVkLjxicj48L2Rpdj48ZGl2Pi0gVGhlIG1ldGhvZCBmb3IgY2hlY2tpbmcgd2hldGhlciBh
+IHR4byB3YXMgc3BlbnQgd291bGQgbmVlZCB0byBiZSBjaGFuZ2VkIHRvIGNoZWNrIHZ0aXBzcGVu
+ZHMuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+QXQgdGhlIHNhbWUgdGltZSwgSSBrbm93
+IHRoZXJlIGlzIGN1cnJlbnRseSBhIGxvdCBvZiBjb2RlIGNvbXBsZXhpdHkgd2l0aCBoYW5kbGlu
+ZyBmb3JrcyBhbmQgdHhvIHNwZW5kcy4mbmJzcDsgTGV0IG1lIHByb3Bvc2Ugc29tZXRoaW5nIHRv
+IGhhbmRsZSB0aGlzIGJldHRlciB0b286PGJyPjwvZGl2PjxkaXY+LSB2dGlwc3BlbmRzIGNvdWxk
+IGhvbGQge3ZvdXRfaXgsIGJsb2NraGFzaCB9IGluc3RlYWQgb2YganVzdCB2b3V0X2l4Ljxicj48
+L2Rpdj48ZGl2Pi0gQ2hlY2tpbmcgd2hldGhlciBhIHR4byBpcyBzcGVudCB3aWxsIHRoZW4gcmVx
+dWlyZSBhIHBhcmFtZXRlciB0aGF0IHNwZWNpZmllcyB0aGUgImZvcmsgdGlwIGhhc2giIG9yICJm
+b3JrIGNoYWluIjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZW4gaW4gdGhlIGNhc2Ug
+b2YgYSBmb3JrLCBubyB3b3JrIGhhcyB0byBiZSBkb25lIHRvIHVwZGF0ZSB0aGUgdXR4byBkYXRh
+YmFzZS4uLiBpdCBpcyBpbW1lZGlhdGVseSByZWFkeSB0byBoYW5kbGUgYW5zd2VyaW5nIHNwZW5k
+IHF1ZXN0aW9ucyBmb3IgYSBkaWZmZXJlbnQgZm9yay48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+
+PGRpdj5GZWVkYmFjayB3ZWxjb21lLiZuYnNwOyBGWUkgSSBoYXZlIGNvZGVkIHVwIHRoZSBjcmVh
+dGlvbiBvZiBzdWNoIGEgZmlsZSBhbHJlYWR5Li4uIFNvIEkgYW0gd29ya2luZyBvbiB0aGUgaW1w
+bGVtZW50YXRpb24sIG5vdCBqdXN0IHRoZSBzcGVjLiZuYnNwOyBJJ2QgcmVhbGx5IGxpa2UgdG8g
+aGVhciB3aGF0IHlvdSBndXlzIHRoaW5rIGFib3V0IG15IHByb3Bvc2VkIGNoYW5nZXMgdG8gQ0Nv
+aW5zLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNoZWVycyw8YnI+PC9kaXY+PGRpdj5Q
+cmF4ZW9sb2d5PGJyPjwvZGl2Pg==
+
+
+
+--b1_4bcc52d3ddb14a985aac9beca8a30044--
+
+