summaryrefslogtreecommitdiff
path: root/ad
diff options
context:
space:
mode:
authorrhavar <rhavar@protonmail.com>2018-08-30 20:24:58 +0000
committerbitcoindev <bitcoindev@gnusha.org>2018-08-30 20:25:13 +0000
commit770a8fa5fa260669c0e8930328d769cb660b9a25 (patch)
tree63645ed705d20c7813ef1b368aa69648524673f6 /ad
parent8c63687cb4f48e1459c74de19ea613236ddcfc6c (diff)
downloadpi-bitcoindev-770a8fa5fa260669c0e8930328d769cb660b9a25.tar.gz
pi-bitcoindev-770a8fa5fa260669c0e8930328d769cb660b9a25.zip
[bitcoin-dev] bustapay BIP :: a practical sender/receiver coinjoin protocol
Diffstat (limited to 'ad')
-rw-r--r--ad/091ca5b910a6037900346799bc0bbd4a128ef9283
1 files changed, 283 insertions, 0 deletions
diff --git a/ad/091ca5b910a6037900346799bc0bbd4a128ef9 b/ad/091ca5b910a6037900346799bc0bbd4a128ef9
new file mode 100644
index 000000000..f5922c89c
--- /dev/null
+++ b/ad/091ca5b910a6037900346799bc0bbd4a128ef9
@@ -0,0 +1,283 @@
+Return-Path: <rhavar@protonmail.com>
+Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
+ [172.17.192.35])
+ by mail.linuxfoundation.org (Postfix) with ESMTPS id A2507CED
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Thu, 30 Aug 2018 20:25:13 +0000 (UTC)
+X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6
+Received: from mail1.protonmail.ch (mail1.protonmail.ch [185.70.40.18])
+ by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 4CBCD2C5
+ for <bitcoin-dev@lists.linuxfoundation.org>;
+ Thu, 30 Aug 2018 20:25:12 +0000 (UTC)
+Date: Thu, 30 Aug 2018 20:24:58 +0000
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com;
+ s=default; t=1535660709;
+ bh=EPnKkLmvBov1+q1cPcExG9kW1P1LOxy6xdF0N/8cPSY=;
+ h=Date:To:From:Reply-To:Subject:Feedback-ID:From;
+ b=Kcr1+y2qWbjvv3KmBDsci+POYEjCGLpjD+Ll2gG7hoa28Tk8O2h11dNpvMWVYL5gR
+ 6XZSjWUKbl2ot6P4UHtVuiWo/r1tBa7dB3b++HGJ9nV2mGqcSLH5vbdAfnabJXVTwg
+ B2+UAsZ5OwC7HtaIxDc9emRhpgcEbSBJXXhFBTzA=
+To: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
+From: rhavar@protonmail.com
+Reply-To: rhavar@protonmail.com
+Message-ID: <TtjH2zicjKr8PBVCMOvA7ryt2z_XXvtrpC4y1wuWSxexNwMdbPGE7vPmu6UnzmfYqYBMxZ8NNoz4VUnODdIcjR4j-E1sYz_FA6ZZMjKHtuM=@protonmail.com>
+Feedback-ID: RdfuD--Ffc-FNb_4UIG1XA3s5stj1f6Yt84KENdha_3WoiW3STYpu7X5uGR72LvTfQZpxEhSRHGSlNfV5XM5RA==:Ext:ProtonMail
+MIME-Version: 1.0
+Content-Type: multipart/alternative;
+ boundary="b1_54bd8b1a0cb99abf131b426cc300b672"
+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: Thu, 30 Aug 2018 20:29:03 +0000
+Subject: [bitcoin-dev] bustapay BIP :: a practical sender/receiver coinjoin
+ protocol
+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: Thu, 30 Aug 2018 20:25:13 -0000
+
+This is a multi-part message in MIME format.
+
+--b1_54bd8b1a0cb99abf131b426cc300b672
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: base64
+
+SSd2ZSBqdXN0IGZpbmlzaGVkIHdyaXRpbmcgYW4gaW1wbGVtZW50aW5nIG9mIHRoaXMsIGFuZCBl
+eHRyZW1lbHkgaGFwcHkgd2l0aCBob3cgaXQgdHVybmVkIG91dC4gU28gSSdkIGxpa2UgdG8gZ28g
+YW5kIHRyeSBnbyBkb3duIHRoZSBwYXRoIG9mIG1vcmUgZm9ybWFsbHkgZGVzY3JpYmluZyBpdCBh
+bmQgZ2V0dGluZyBzb21lIGNvbW1lbnRzIGFuZCB1bHRpbWF0ZWx5IGVuY291cmFnZSBpdHMgd2lk
+ZS1zcHJlYWQgdXNlLgoKPT1BYnN0cmFjdD09CgpUaGUgd2F5IGJpdGNvaW4gdHJhbnNhY3Rpb25z
+IGFyZSBvdmVyd2hlbG1pbmcgdXNlZCBpcyBrbm93biB0byBsZWFrIG1vcmUKaW5mb3JtYXRpb24g
+dGhhbiBkZXNpcmFibGUuIFRoaXMgaGFzIGxlYWQgdG8gZnVuZ2liaWxpdHkgY29uY2VybnMgaW4g
+Yml0Y29pbgphbmQgYSByYWlzZSBvZiB1bnJlYXNvbmFibHkgZWZmZWN0aXZlIGJsb2NrY2hhaW4g
+YW5hbHlzaXMuCgpCdXN0YXBheSBwcm9wb3NlcyBhIHNpbXBsZSwgcHJhY3RpY2FsIHdheSB0byBi
+dXN0IHRoZXNlIGFzc3VtcHRpb25zIHRvIGltbWVkaWF0ZQpiZW5lZml0IG9mIHRoZSBzZW5kZXIg
+YW5kIHJlY2lldmVycy4gRnVydGhlcm1vcmUgaXQgZG9lcyBzbyBpbiBzdWNoIGEgd2F5IHRoYXQK
+aGVscHMgcmVjaWV2ZXJzIGF2b2lkIHV0eG8gYmxvYXQsIGEgY29uc3RhbnQgcHJvYmxlbSBmb3Ig
+Yml0Y29pbiBtZXJjaGFudHMuCgo9PUNvcHlyaWdodD09CgpUaGlzIEJJUCBpcyBpbiB0aGUgcHVi
+bGljIGRvbWFpbi4KCj09TW90aXZhdGlvbj09CgpPbmUgb2YgdGhlIG1vc3QgcG93ZXJmdWwgaGV1
+cmlzdGljJ3MgZW1wbG95ZWQgYnkgdGhvc2Ugd2hvc2UgZ29hbCBpcyB0byB1bmRlcm1pbmUKYml0
+Y29pbidzIGZ1bmdpYmxpdHkgaGFzIGJlZW4gdG8gYXNzdW1lIGFsbCBpbnB1dHMgb2YgYSB0cmFu
+c2FjdGlvbiBhcmUgc2lnbmVkIGJ5CmEgc2luZ2xlIHBhcnR5LiBJbiB0aGUgZmV3IGNhc2VzIHRo
+aXMgYXNzdW1wdGlvbiBkb2VzIG5vdCBob2xkLCBpdCBpcyBnZW5lcmFsbHkKcmVhZGlibHkgcmVj
+b2duaXphYmxlIChlLmcuIHRyYWRpdGlvbmFsIGNvaW5qb2lucyBoYXZlIGEgdmVyeSBvYnZpb3Vz
+IHN0cnVjdHVyZSwKb3IgbXVsdGlzaWcgb3V0cHV0cyBhcmUgbW9zdCBmcmVxdWVudGx5IHZhbGlk
+YXRlZCBvbmNoYWluKS4KCkJ1c3RhcGF5IHJlcXVpcmVzIG5vIGNoYW5nZXMgdG8gYml0Y29pbiBh
+bmQgY3JlYXRlcyBiaXRjb2luIHRyYW5zYWN0aW9ucyB0aGF0IGFyZQppbmRpc3Rpbmd1aXNoYWJs
+ZSBmcm9tIG5vcm1hbCBvbmVzLgoKSXQgaXMgd29ydGggbm90aW5nIHRoYXQgdGhpcyBzcGVjaWZp
+Y2F0aW9uIGhhcyBiZWVuIGludGVudGlvbmFsbHkga2VwdCBhcyBzaW1wbGUKYXMgcG9zc2libGUg
+dG8gZW5jb3VyYWdlIGFkb3B0aW9uLiBUaGVyZSBhcmUgYWxtb3N0IGFuIGVuZGxlc3MgYW1vdW50
+IG9mIGV4dGVuc2lvbnMKcG9zc2libGUgYnV0IHRoZSBoYXJkZXIgdGhlIGltcGxlbWVudGF0aW9u
+IG9mIGNsaWVudHMvc2VydmVyIHRoZSBsZXNzIGxpa2VseSBpdAp3aWxsIGV2ZXIgYmUgZG9uZS4g
+U2hvdWxkIGJ1c3RhcGF5IGVuam95IHdpZGVzcHJlYWQgYWRvcHRpb24sIGEgInYyIiBzcGVjaWZp
+Y2F0aW9uCndpbGwgYmUgY3JlYXRlZCB3aXRoIGRlc2lyZWQgZXh0ZW5zaW9ucy4KCj09U3BlY2lm
+aWNhdGlvbj09CgpBIGJ1c3RhcGF5IHBheW1lbnQgaXMgbWFkZSBmcm9tIGEgc2VuZGVyIHRvIGEg
+cmVjZWl2ZXIuCgpTdGVwIDEuIFNlbmRlciBjcmVhdGVzIGEgYml0Y29pbiB0cmFuc2FjdGlvbiBw
+YXlpbmcgdGhlIHJlY2VpdmVyCgpUaGlzIHRyYW5zYWN0aW9uIG11c3QgYmUgZnVsbHkgdmFsaWQs
+IHNpZ25lZCBhbmQgYWxsIGlucHV0cyBtdXN0IHVzZSBzZWd3aXQuIFRoaXMgdHJhbnNhY3Rpb24g
+aXMga25vd24gYXMgdGhlICJ0ZW1wbGF0ZSB0cmFuc2FjdGlvbiIuIFRoaXMgdHJhbnNhY3Rpb24g
+bXVzdCBub3QgYmUgcHJvcGFnYXRlZCBvbiB0aGUgYml0Y29pbiBuZXR3b3JrLgoKU3RlcCAyLiBT
+ZW5kZXIgZ2l2ZXMgdGhlICJ0ZW1wbGF0ZSB0cmFuc2FjdGlvbiIgdG8gdGhlIHJlY2VpdmVyCgpU
+aGlzIHdvdWxkIGdlbmVyYWxseSBiZSBkb25lIGFzIGFuIEhUVFAgUE9TVC4gVGhlIGV4YWN0IFVS
+TCB0byBzdWJtaXQgaXQgdG8gY291bGQgYmUgc3BlY2lmaWVkIHdpdGggYSBiaXAyMSBlbmNvZGVk
+IGFkZHJlc3MuIFN1Y2ggYXMgYml0Y29pbjoyTkFCYlVyOXllUkNwMW9VQ3RWbWdKRjhIR1JDbzNp
+ZnBUVD9idXN0YXBheT1odHRwczovL2JwLmJ1c3RhYml0LmNvbS9zdWJtaXQgYW5kIHRoZSBIVFRQ
+IGJvZHkgc2hvdWxkIGJlIHRoZSByYXcgdHJhbnNhY3Rpb24gaGV4IGVuY29kZWQgYXMgdGV4dC4K
+ClN0ZXAgMy4gUmVjZWl2ZXIgcHJvY2Vzc2VzIHRoZSB0cmFuc2FjdGlvbiBhbmQgcmV0dXJucyBh
+IHBhcnRpYWxseSBzaWduZWQgY29pbmpvaW4KClRoZSByZWNlaXZlciB2YWxpZGF0ZXMgdGhlIHRy
+YW5zYWN0aW9uIGlzIHZhbGlkLCBwYXlzIGhpbXNlbGYgYW5kIGlzIGVsaWdpYmxlIGZvciBwcm9w
+YXRpb24uIFRoZSByZWNlaXZlciB0aGVuIGFkZHMgb25lIG9mIGhpcyBvd24gaW5wdXRzIChrbm93
+biBhcyB0aGUgImNvbnRyaWJ1dGVkIGlucHV0IikgYW5kIGluY3JlYXNlIHRoZSBvdXRwdXQgdGhh
+dCBwYXlzIGhpbXNlbGYgYnkgdGhlIGNvbnRyaWJ1dGVkIGlucHV0IGFtb3VudC4gRG9pbmcgc28g
+d2lsbCBpbnZhbGlkYXRlIHRoZSAidGVtcGxhdGUgdHJhbnNhY3Rpb24iJ3Mgb3JpZ2luYWwgaW5w
+dXQgc2lnbmF0dXJlcywgc28gdGhlIHNlbmRlciBuZWVkcyB0byByZXR1cm4gdGhpcyAicGFydGlh
+bCB0cmFuc2FjdGlvbiIgYmFjayB0byB0aGUgcmVjZWl2ZXIgdG8gc2lnbi4gVGhpcyBpcyByZXR1
+cm5lZCBhcyBhIGhleC1lbmNvZGVkIHJhdyB0cmFuc2FjdGlvbiBhIHJlc3BvbnNlIHRvIHRoZSBv
+cmlnaW5hbCBIVFRQIFBPU1QgcmVxdWVzdC4KClN0ZXAgNC4gUmVjZWl2ZXIgdmFsaWRhdGVzLCBy
+ZS1zaWducywgYW5kIHByb3BhZ2F0ZXMgb24gdGhlIGJpdGNvaW4gbmV0d29yawoKVGhlIHJlY2Vp
+dmVyIGlzIHJlc3BvbnNpYmxlIGluIG1ha2luZyBzdXJlIHRoZSAicGFydGlhbCB0cmFuc2FjdGlv
+biIgcmV0dXJuZWQgYnkgdGhlIHNlbmRlciB3YXMgY2hhbmdlZCBjb3JyZWN0bHkgKGl0IHNob3Vs
+ZCBhc3N1bWUgdGhlIGNvbm5lY3Rpb24gaGFzIGJlZW4gTUlUTSdkIGFuZCBhY3QgYWNjb3JkaW5n
+bHkpLCByZXNpZ24gaXRzIG9yaWdpbmFsIGlucHV0cyBhbmQgcHJvcGFnYXRlcyB0aGlzIHRyYW5z
+YWN0aW9uIG92ZXIgdGhlIGJpdGNvaW4gbmV0d29yay4gVGhlIGNsaWVudCBtdXN0IGJlIGF3YXJl
+IHRoYXQgdGhlIHNlcnZlciBjYW4gcmVvcmRlciBpbnB1dHMgYW5kIG91dHB1dHMuCgpTdGVwIDUu
+IFJlY2VpdmVyIG9ic2VydmVzIHRoZSBmaW5hbGl6ZWQgdHJhbnNhY3Rpb24gb24gdGhlIGJpdGNv
+aW4gbmV0d29yawoKT25jZSB0aGUgcmVjZWl2ZXIgaGFzIHNlZW4gdGhlIGZpbmFsaXplZCB0cmFu
+c2FjdGlvbnMgb24gdGhlIG5ldHdvcmsgKGFuZCBoYXMgZW5vdWdoIGNvbmZpcm1hdGlvbnMpIGl0
+IGNhbiBwcm9jZXNzIGl0IGxpa2UgYSBub3JtYWwgcGF5bWVudCBmb3IgdGhlIHNlbnQgYW1vdW50
+IChhcyBvcHBvc2VkIHRvIHRoZSBhbW91bnQgdGhhdCBpdCBsb29rcyBsaWtlIG9uIHRoZSBuZXR3
+b3JrKS4gSWYgdGhlIHJlY2VpdmVyIGRvZXMgbm90IHNlZSB0aGUgZmluYWxpemVkIHRyYW5zYWN0
+aW9uIGFmdGVyIGEgdGltZW91dCB3aWxsIHByb3BhZ2F0ZSB0aGUgb3JpZ2luYWwgInRlbXBsYXRl
+IHRyYW5zYWN0aW9uIiB0byBlbnN1cmUgdGhlIHBheW1lbnQgaGFwcGVucyBhbmQgZnVuY3Rpb24g
+YSBzdHJvbmcgYW50aS1Eb1MgbWVjaGFuaXNtLgoKPT09IEltcGxlbWVudGF0aW9uIE5vdGVzID09
+PQpGb3IgYW55b25lIHdhbnRpbmcgdG8gaW1wbGVtZW50IGJ1c3RhcGF5IHBheW1lbnRzLCBoZXJl
+IGFyZSBzb21lIG5vdGVzIGZvciByZWNlaXZlcnM6CgoqIEEgdHJhbnNhY3Rpb24gY2FuIGVhc2ls
+eSBiZSBjaGVja2VkIGlmIGl0J3Mgc3VpdGFibGUgZm9yIHRoZSBtZW1wb29sIHdpdGggdGVzdG1l
+bXBvb2xhY2NlcHQgaW4gYml0Y29pbiBjb3JlIDAuMTcKKiBUcmFja2luZyB0cmFuc2FjdGlvbnMg
+YnkgdHhpZCBpcyBwcmVjYXJpb3VzLiBUbyBrZWVwIHlvdXIgc2FuaXR5IG1ha2Ugc3VyZSBhbGwg
+aW5wdXRzIGFyZSBzZWd3aXQuIEJ1dCByZW1lbWJlciBzZWd3aXQgZG9lcyBub3QgcHJldmVudCB0
+eGlkIG1hbGxlYWJpbGl0eSB1bmxlc3MgeW91IHZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbi4gU28g
+cmVhbGx5IG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGVzdG1lbXBvb2xhY2NlcHQgYXQgdGhlIHZl
+cnkgbGVhc3QKKiBCdXN0YXBheSBjb3VsZCBiZSBhYnVzZWQgYnkgYSBtYWxpY2lvdXMgcGFydHkg
+dG8gcXVlcnkgaWYgeW91IG93biBhIGRlcG9zaXQgYWRkcmVzcyBvciBub3QuIFNvIG5ldmVyIGFj
+Y2VwdCBhIGJ1c3RhcGF5IHRyYW5zYWN0aW9uIHRoYXQgcGF5cyBhbiBhbHJlYWR5IHVzZWQgZGVw
+b3NpdCBhZGRyZXNzCiogWW91IHdpbGwgbmVlZCB0byBrZWVwIGEgbWFwcGluZyBvZiB3aGljaCB1
+dHhvcyBwZW9wbGUgaGF2ZSBzaG93ZWQgeW91IGFuZCB3aGljaCB5b3UgcmV2ZWFsZWQuIFNvIGlm
+IHlvdSBzZWUgdGhlbSBhZ2FpbiwgeW91IGNhbiByZXZlYWwgdGhlIHNhbWUgb25lIG9mIHlvdXIg
+b3duCiogQ2hlY2sgaWYgdGhlIHRyYW5zYWN0aW9uIHdhcyBhbHJlYWR5IHNvcnRlZCBhY2NvcmRp
+bmcgdG8gQklQNjksIGlmIHNvIGVuc3VyZSB0aGUgcmVzdWx0IHN0YXlzIHRoYXQgd2F5LiBPdGhl
+cndpc2UgcHJvYmFibHkganVzdCBzaHVmZmxlIHRoZSBpbnB1dHMvb3V0cHVzCgpOb3RlcyBmb3Ig
+c2VuZGluZyBhcHBsaWNhdGlvbnM6CgoqIFRoZSBIVFRQIHJlc3BvbnNlIG11c3QgKm5vdCogYmUg
+dHJ1c3RlZC4gSXQgc2hvdWxkIGJlIGZ1bGx5IHZhbGlkYXRlZCB0aGF0IG5vIHVuZXhwZWN0ZWQg
+Y2hhbmdlcyBoYXZlIGJlZW4gbWFkZSB0byB0aGUgdHJhbnNhY3Rpb24uCiogVGhlIHNlbmRlciBz
+aG91bGQgYmUgYXdhcmUgdGhlIG9yaWdpbmFsICJ0ZW1wbGF0ZSB0cmFuc2FjdGlvbiIgbWF5IGJl
+IHByb3BhZ2F0ZWQgYXQgYW55IHRpbWUsIGFuZCBpbiBmYWN0IGNhbiBpbnRlbnRpb25hbGx5IGJl
+CiAgZG9uZSBzbyBmb3IgdGhlIHB1cnBvc2Ugb2YgUkJGIGFzIGl0IHNob3VsZCBoYXZlIGEgc2xp
+Z2h0bHkgaGlnaGVyIGZlZSByYXRlLgoKPT0gQ3JlZGl0cyA9PQpUaGUgaWRlYSBpcyBvYnZpb3Vz
+bHkgYmFzZWQgdXBvbiBEci4gTWF4d2VsbCdzIHNlbWluYWwgQ29pbkpvaW4gcHJvcG9zYWwsIGFu
+ZCByZWR1Y2VkIHNjb3BlIGluc3BpcmVkIGJ5IGEgc2ltcGxpZmljYXRpb24gb2YgdGhlICJwYXkg
+MiBlbmRwb2ludCIgKG5vdyBvZmZsaW5lKSBibG9nIHBvc3QgYnkgYmxvY2tzdHJlYW0uCgotUnlh
+bg==
+
+
+--b1_54bd8b1a0cb99abf131b426cc300b672
+Content-Type: text/html; charset=UTF-8
+Content-Transfer-Encoding: base64
+
+PGRpdj48ZGl2PkkndmUganVzdCBmaW5pc2hlZCB3cml0aW5nIGFuIGltcGxlbWVudGluZyBvZiB0
+aGlzLCBhbmQgZXh0cmVtZWx5IGhhcHB5IHdpdGggaG93IGl0IHR1cm5lZCBvdXQuIFNvIEknZCBs
+aWtlIHRvIGdvIGFuZCB0cnkgZ28gZG93biB0aGUgcGF0aCBvZiBtb3JlIGZvcm1hbGx5IGRlc2Ny
+aWJpbmcgaXQgYW5kIGdldHRpbmcgc29tZSBjb21tZW50cyBhbmQgdWx0aW1hdGVseSBlbmNvdXJh
+Z2UgaXRzIHdpZGUtc3ByZWFkIHVzZS48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48YnI+
+PC9kaXY+PGRpdj49PUFic3RyYWN0PT08YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PC9kaXY+PGRp
+dj5UaGUgd2F5IGJpdGNvaW4gdHJhbnNhY3Rpb25zIGFyZSBvdmVyd2hlbG1pbmcgdXNlZCBpcyBr
+bm93biB0byBsZWFrIG1vcmU8YnI+PC9kaXY+PGRpdj5pbmZvcm1hdGlvbiB0aGFuIGRlc2lyYWJs
+ZS4gVGhpcyBoYXMgbGVhZCB0byBmdW5naWJpbGl0eSBjb25jZXJucyBpbiBiaXRjb2luPGJyPjwv
+ZGl2PjxkaXY+YW5kIGEgcmFpc2Ugb2YgdW5yZWFzb25hYmx5IGVmZmVjdGl2ZSBibG9ja2NoYWlu
+IGFuYWx5c2lzLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkJ1c3RhcGF5IHByb3Bvc2Vz
+IGEgc2ltcGxlLCBwcmFjdGljYWwgd2F5IHRvIGJ1c3QgdGhlc2UgYXNzdW1wdGlvbnMgdG8gaW1t
+ZWRpYXRlPGJyPjwvZGl2PjxkaXY+YmVuZWZpdCBvZiB0aGUgc2VuZGVyIGFuZCByZWNpZXZlcnMu
+IEZ1cnRoZXJtb3JlIGl0IGRvZXMgc28gaW4gc3VjaCBhIHdheSB0aGF0PGJyPjwvZGl2PjxkaXY+
+aGVscHMgcmVjaWV2ZXJzIGF2b2lkIHV0eG8gYmxvYXQsIGEgY29uc3RhbnQgcHJvYmxlbSBmb3Ig
+Yml0Y29pbiBtZXJjaGFudHMuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT1Db3B5cmln
+aHQ9PTxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoaXMgQklQIGlzIGluIHRoZSBwdWJs
+aWMgZG9tYWluLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pj09TW90aXZhdGlvbj09PGJy
+PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+T25lIG9mIHRoZSBtb3N0IHBvd2VyZnVsIGhldXJp
+c3RpYydzIGVtcGxveWVkIGJ5IHRob3NlIHdob3NlIGdvYWwgaXMgdG8gdW5kZXJtaW5lPGJyPjwv
+ZGl2PjxkaXY+Yml0Y29pbidzIGZ1bmdpYmxpdHkgaGFzIGJlZW4gdG8gYXNzdW1lIGFsbCBpbnB1
+dHMgb2YgYSB0cmFuc2FjdGlvbiBhcmUgc2lnbmVkIGJ5PGJyPjwvZGl2PjxkaXY+YSBzaW5nbGUg
+cGFydHkuIEluIHRoZSBmZXcgY2FzZXMgdGhpcyBhc3N1bXB0aW9uIGRvZXMgbm90IGhvbGQsIGl0
+IGlzIGdlbmVyYWxseTxicj48L2Rpdj48ZGl2PnJlYWRpYmx5IHJlY29nbml6YWJsZSAoZS5nLiB0
+cmFkaXRpb25hbCBjb2luam9pbnMgaGF2ZSBhIHZlcnkgb2J2aW91cyBzdHJ1Y3R1cmUsPGJyPjwv
+ZGl2PjxkaXY+b3IgbXVsdGlzaWcgb3V0cHV0cyBhcmUgbW9zdCBmcmVxdWVudGx5IHZhbGlkYXRl
+ZCBvbmNoYWluKS48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5CdXN0YXBheSByZXF1aXJl
+cyBubyBjaGFuZ2VzIHRvIGJpdGNvaW4gYW5kIGNyZWF0ZXMgYml0Y29pbiB0cmFuc2FjdGlvbnMg
+dGhhdCBhcmU8YnI+PC9kaXY+PGRpdj5pbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIG5vcm1hbCBvbmVz
+Ljxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pkl0IGlzIHdvcnRoIG5vdGluZyB0aGF0IHRo
+aXMgc3BlY2lmaWNhdGlvbiBoYXMgYmVlbiBpbnRlbnRpb25hbGx5IGtlcHQgYXMgc2ltcGxlPGJy
+PjwvZGl2PjxkaXY+YXMgcG9zc2libGUgdG8gZW5jb3VyYWdlIGFkb3B0aW9uLiBUaGVyZSBhcmUg
+YWxtb3N0IGFuIGVuZGxlc3MgYW1vdW50IG9mIGV4dGVuc2lvbnM8YnI+PC9kaXY+PGRpdj5wb3Nz
+aWJsZSBidXQgdGhlIGhhcmRlciB0aGUgaW1wbGVtZW50YXRpb24gb2YgY2xpZW50cy9zZXJ2ZXIg
+dGhlIGxlc3MgbGlrZWx5IGl0PGJyPjwvZGl2PjxkaXY+d2lsbCBldmVyIGJlIGRvbmUuIFNob3Vs
+ZCBidXN0YXBheSBlbmpveSB3aWRlc3ByZWFkIGFkb3B0aW9uLCBhICJ2MiIgc3BlY2lmaWNhdGlv
+bjxicj48L2Rpdj48ZGl2PndpbGwgYmUgY3JlYXRlZCB3aXRoIGRlc2lyZWQgZXh0ZW5zaW9ucy48
+YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj49PVNwZWNpZmljYXRpb249PTxicj48L2Rpdj48
+ZGl2Pjxicj48L2Rpdj48ZGl2PkEgYnVzdGFwYXkgcGF5bWVudCBpcyBtYWRlIGZyb20gYSBzZW5k
+ZXIgdG8gYSByZWNlaXZlci48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TdGVwIDEuIFNl
+bmRlciBjcmVhdGVzIGEgYml0Y29pbiB0cmFuc2FjdGlvbiBwYXlpbmcgdGhlIHJlY2VpdmVyPGJy
+PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhpcyB0cmFuc2FjdGlvbiBtdXN0IGJlIGZ1bGx5
+IHZhbGlkLCBzaWduZWQgYW5kIGFsbCBpbnB1dHMgbXVzdCB1c2Ugc2Vnd2l0LiBUaGlzIHRyYW5z
+YWN0aW9uIGlzIGtub3duIGFzIHRoZSAidGVtcGxhdGUgdHJhbnNhY3Rpb24iLiBUaGlzIHRyYW5z
+YWN0aW9uIG11c3Qgbm90IGJlIHByb3BhZ2F0ZWQgb24gdGhlIGJpdGNvaW4gbmV0d29yay48YnI+
+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TdGVwIDIuIFNlbmRlciBnaXZlcyB0aGUgInRlbXBs
+YXRlIHRyYW5zYWN0aW9uIiB0byB0aGUgcmVjZWl2ZXI8YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+
+PGRpdj5UaGlzIHdvdWxkIGdlbmVyYWxseSBiZSBkb25lIGFzIGFuIEhUVFAgUE9TVC4gVGhlIGV4
+YWN0IFVSTCB0byBzdWJtaXQgaXQgdG8gY291bGQgYmUgc3BlY2lmaWVkIHdpdGggYSBiaXAyMSBl
+bmNvZGVkIGFkZHJlc3MuIFN1Y2ggYXMgYml0Y29pbjoyTkFCYlVyOXllUkNwMW9VQ3RWbWdKRjhI
+R1JDbzNpZnBUVD9idXN0YXBheT08YSBocmVmPSJodHRwczovL2JwLmJ1c3RhYml0LmNvbS9zdWJt
+aXQiPmh0dHBzOi8vYnAuYnVzdGFiaXQuY29tL3N1Ym1pdDwvYT4gYW5kIHRoZSBIVFRQIGJvZHkg
+c2hvdWxkIGJlIHRoZSByYXcgdHJhbnNhY3Rpb24gaGV4IGVuY29kZWQgYXMgdGV4dC48YnI+PC9k
+aXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TdGVwIDMuIFJlY2VpdmVyIHByb2Nlc3NlcyB0aGUgdHJh
+bnNhY3Rpb24gYW5kIHJldHVybnMgYSBwYXJ0aWFsbHkgc2lnbmVkIGNvaW5qb2luPGJyPjwvZGl2
+PjxkaXY+PGJyPjwvZGl2PjxkaXY+VGhlIHJlY2VpdmVyIHZhbGlkYXRlcyB0aGUgdHJhbnNhY3Rp
+b24gaXMgdmFsaWQsIHBheXMgaGltc2VsZiBhbmQgaXMgZWxpZ2libGUgZm9yIHByb3BhdGlvbi4g
+VGhlIHJlY2VpdmVyIHRoZW4gYWRkcyBvbmUgb2YgaGlzIG93biBpbnB1dHMgKGtub3duIGFzIHRo
+ZSAiY29udHJpYnV0ZWQgaW5wdXQiKSBhbmQgaW5jcmVhc2UgdGhlIG91dHB1dCB0aGF0IHBheXMg
+aGltc2VsZiBieSB0aGUgY29udHJpYnV0ZWQgaW5wdXQgYW1vdW50LiBEb2luZyBzbyB3aWxsIGlu
+dmFsaWRhdGUgdGhlICJ0ZW1wbGF0ZSB0cmFuc2FjdGlvbiIncyBvcmlnaW5hbCBpbnB1dCBzaWdu
+YXR1cmVzLCBzbyB0aGUgc2VuZGVyIG5lZWRzIHRvIHJldHVybiB0aGlzICJwYXJ0aWFsIHRyYW5z
+YWN0aW9uIiBiYWNrIHRvIHRoZSByZWNlaXZlciB0byBzaWduLiBUaGlzIGlzIHJldHVybmVkIGFz
+IGEgaGV4LWVuY29kZWQgcmF3IHRyYW5zYWN0aW9uIGEgcmVzcG9uc2UgdG8gdGhlIG9yaWdpbmFs
+IEhUVFAgUE9TVCByZXF1ZXN0Ljxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlN0ZXAgNC4g
+UmVjZWl2ZXIgdmFsaWRhdGVzLCByZS1zaWducywgYW5kIHByb3BhZ2F0ZXMgb24gdGhlIGJpdGNv
+aW4gbmV0d29yazxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoZSByZWNlaXZlciBpcyBy
+ZXNwb25zaWJsZSBpbiBtYWtpbmcgc3VyZSB0aGUgInBhcnRpYWwgdHJhbnNhY3Rpb24iIHJldHVy
+bmVkIGJ5IHRoZSBzZW5kZXIgd2FzIGNoYW5nZWQgY29ycmVjdGx5IChpdCBzaG91bGQgYXNzdW1l
+IHRoZSBjb25uZWN0aW9uIGhhcyBiZWVuIE1JVE0nZCBhbmQgYWN0IGFjY29yZGluZ2x5KSwgcmVz
+aWduIGl0cyBvcmlnaW5hbCBpbnB1dHMgYW5kIHByb3BhZ2F0ZXMgdGhpcyB0cmFuc2FjdGlvbiBv
+dmVyIHRoZSBiaXRjb2luIG5ldHdvcmsuIFRoZSBjbGllbnQgbXVzdCBiZSBhd2FyZSB0aGF0IHRo
+ZSBzZXJ2ZXIgY2FuIHJlb3JkZXIgaW5wdXRzIGFuZCBvdXRwdXRzLjxicj48L2Rpdj48ZGl2Pjxi
+cj48L2Rpdj48ZGl2PlN0ZXAgNS4gUmVjZWl2ZXIgb2JzZXJ2ZXMgdGhlIGZpbmFsaXplZCB0cmFu
+c2FjdGlvbiBvbiB0aGUgYml0Y29pbiBuZXR3b3JrPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk
+aXY+T25jZSB0aGUgcmVjZWl2ZXIgaGFzIHNlZW4gdGhlIGZpbmFsaXplZCB0cmFuc2FjdGlvbnMg
+b24gdGhlIG5ldHdvcmsgKGFuZCBoYXMgZW5vdWdoIGNvbmZpcm1hdGlvbnMpIGl0IGNhbiBwcm9j
+ZXNzIGl0IGxpa2UgYSBub3JtYWwgcGF5bWVudCBmb3IgdGhlIHNlbnQgYW1vdW50IChhcyBvcHBv
+c2VkIHRvIHRoZSBhbW91bnQgdGhhdCBpdCBsb29rcyBsaWtlIG9uIHRoZSBuZXR3b3JrKS4gSWYg
+dGhlIHJlY2VpdmVyIGRvZXMgbm90IHNlZSB0aGUgZmluYWxpemVkIHRyYW5zYWN0aW9uIGFmdGVy
+IGEgdGltZW91dCB3aWxsIHByb3BhZ2F0ZSB0aGUgb3JpZ2luYWwgInRlbXBsYXRlIHRyYW5zYWN0
+aW9uIiB0byBlbnN1cmUgdGhlIHBheW1lbnQgaGFwcGVucyBhbmQgZnVuY3Rpb24gYSBzdHJvbmcg
+YW50aS1Eb1MgbWVjaGFuaXNtLjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rp
+dj48ZGl2Pj09PSBJbXBsZW1lbnRhdGlvbiBOb3RlcyA9PT08YnI+PC9kaXY+PGRpdj5Gb3IgYW55
+b25lIHdhbnRpbmcgdG8gaW1wbGVtZW50IGJ1c3RhcGF5IHBheW1lbnRzLCBoZXJlIGFyZSBzb21l
+IG5vdGVzIGZvciByZWNlaXZlcnM6PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+KiBBIHRy
+YW5zYWN0aW9uIGNhbiBlYXNpbHkgYmUgY2hlY2tlZCBpZiBpdCdzIHN1aXRhYmxlIGZvciB0aGUg
+bWVtcG9vbCB3aXRoIHRlc3RtZW1wb29sYWNjZXB0IGluIGJpdGNvaW4gY29yZSAwLjE3PGJyPjwv
+ZGl2PjxkaXY+KiBUcmFja2luZyB0cmFuc2FjdGlvbnMgYnkgdHhpZCBpcyBwcmVjYXJpb3VzLiBU
+byBrZWVwIHlvdXIgc2FuaXR5IG1ha2Ugc3VyZSBhbGwgaW5wdXRzIGFyZSBzZWd3aXQuIEJ1dCBy
+ZW1lbWJlciBzZWd3aXQgZG9lcyBub3QgcHJldmVudCB0eGlkIG1hbGxlYWJpbGl0eSB1bmxlc3Mg
+eW91IHZhbGlkYXRlIHRoZSB0cmFuc2FjdGlvbi4gU28gcmVhbGx5IG1ha2Ugc3VyZSB5b3UncmUg
+dXNpbmcgdGVzdG1lbXBvb2xhY2NlcHQgYXQgdGhlIHZlcnkgbGVhc3Q8YnI+PC9kaXY+PGRpdj4q
+IEJ1c3RhcGF5IGNvdWxkIGJlIGFidXNlZCBieSBhIG1hbGljaW91cyBwYXJ0eSB0byBxdWVyeSBp
+ZiB5b3Ugb3duIGEgZGVwb3NpdCBhZGRyZXNzIG9yIG5vdC4gU28gbmV2ZXIgYWNjZXB0IGEgYnVz
+dGFwYXkgdHJhbnNhY3Rpb24gdGhhdCBwYXlzIGFuIGFscmVhZHkgdXNlZCBkZXBvc2l0IGFkZHJl
+c3M8YnI+PC9kaXY+PGRpdj4qIFlvdSB3aWxsIG5lZWQgdG8ga2VlcCBhIG1hcHBpbmcgb2Ygd2hp
+Y2ggdXR4b3MgcGVvcGxlIGhhdmUgc2hvd2VkIHlvdSBhbmQgd2hpY2ggeW91IHJldmVhbGVkLiBT
+byBpZiB5b3Ugc2VlIHRoZW0gYWdhaW4sIHlvdSBjYW4gcmV2ZWFsIHRoZSBzYW1lIG9uZSBvZiB5
+b3VyIG93bjxicj48L2Rpdj48ZGl2PiogQ2hlY2sgaWYgdGhlIHRyYW5zYWN0aW9uIHdhcyBhbHJl
+YWR5IHNvcnRlZCBhY2NvcmRpbmcgdG8gQklQNjksIGlmIHNvIGVuc3VyZSB0aGUgcmVzdWx0IHN0
+YXlzIHRoYXQgd2F5LiBPdGhlcndpc2UgcHJvYmFibHkganVzdCBzaHVmZmxlIHRoZSBpbnB1dHMv
+b3V0cHVzPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+Tm90ZXMgZm9yIHNlbmRpbmcgYXBw
+bGljYXRpb25zOjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiogVGhlIEhUVFAgcmVzcG9u
+c2UgbXVzdCAqbm90KiBiZSB0cnVzdGVkLiBJdCBzaG91bGQgYmUgZnVsbHkgdmFsaWRhdGVkIHRo
+YXQgbm8gdW5leHBlY3RlZCBjaGFuZ2VzIGhhdmUgYmVlbiBtYWRlIHRvIHRoZSB0cmFuc2FjdGlv
+bi48YnI+PC9kaXY+PGRpdj4qIFRoZSBzZW5kZXIgc2hvdWxkIGJlIGF3YXJlIHRoZSBvcmlnaW5h
+bCAidGVtcGxhdGUgdHJhbnNhY3Rpb24iIG1heSBiZSBwcm9wYWdhdGVkIGF0IGFueSB0aW1lLCBh
+bmQgaW4gZmFjdCBjYW4gaW50ZW50aW9uYWxseSBiZTxicj48L2Rpdj48ZGl2PiZuYnNwOyBkb25l
+IHNvIGZvciB0aGUgcHVycG9zZSBvZiBSQkYgYXMgaXQgc2hvdWxkIGhhdmUgYSBzbGlnaHRseSBo
+aWdoZXIgZmVlIHJhdGUuPGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PT0gQ3JlZGl0cyA9
+PTxicj48L2Rpdj48ZGl2PlRoZSBpZGVhIGlzIG9idmlvdXNseSBiYXNlZCB1cG9uIERyLiBNYXh3
+ZWxsJ3Mgc2VtaW5hbCBDb2luSm9pbiBwcm9wb3NhbCwgYW5kIHJlZHVjZWQgc2NvcGUgaW5zcGly
+ZWQgYnkgYSBzaW1wbGlmaWNhdGlvbiBvZiB0aGUgInBheSAyIGVuZHBvaW50IiAobm93IG9mZmxp
+bmUpIGJsb2cgcG9zdCBieSBibG9ja3N0cmVhbS48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp
+dj48YnI+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2siPjxkaXYg
+Y2xhc3M9InByb3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLXVzZXIiPjxkaXY+LVJ5YW48YnI+PC9k
+aXY+PC9kaXY+PGRpdiBjbGFzcz0icHJvdG9ubWFpbF9zaWduYXR1cmVfYmxvY2stcHJvdG9uIHBy
+b3Rvbm1haWxfc2lnbmF0dXJlX2Jsb2NrLWVtcHR5Ij48YnI+PC9kaXY+PC9kaXY+PGRpdj48YnI+
+PC9kaXY+
+
+
+
+--b1_54bd8b1a0cb99abf131b426cc300b672--
+
+