#
# add_file "tests/t_merge_6.at"
#
# patch "ChangeLog"
# from [97d760e4023907d790eec7256a96b2f44f4af9de]
# to [012048b71f64fbe18c149bee6bcf99f24011666f]
#
# patch "tests/t_merge_6.at"
# from []
# to [98c527059720ddf78cad7457e859dbeafe60ecf6]
#
# patch "testsuite.at"
# from [603335422124e2e1b3e80ca69540bab23a07f06e]
# to [9f97c7da97779ac806ed852c8236d9ece770447e]
#
--- ChangeLog
+++ ChangeLog
@@ -1,5 +1,11 @@
-2005-04-28 Matt Johnston
+ * tests/t_merge_6.at, testsuite.at: add a new test for the case where
+ duplicate lines appear in a file during a merge. This testcase can
+ be correctly handled by merge(1).
+
+2005-04-28 Matt Johnston
+
* tests/t_i18n_file.at, transforms.cc: OS X expects all paths to be
utf-8, don't try to use other encodings in the test.
--- tests/t_merge_6.at
+++ tests/t_merge_6.at
@@ -0,0 +1,782 @@
+AT_SETUP([test a merge 6])
+MONOTONE_SETUP
+
+# This test is a bug report.
+AT_XFAIL_IF(true)
+
+NEED_UNB64
+
+# Another real merge error. This is the diff between the correct
+# result and the file produced by the merge:
+#
+# --- correct Thu Apr 28 14:52:11 2005
+# +++ testfile Thu Apr 28 14:52:20 2005
+# @@ -277,6 +277,17 @@
+# committing a new revision, rather than the current time. Useful when
+# importing history from another version control system.
+# .TP
+# +\fB--author=\fI\fP
+# +Use the given author as the value of the "author" cert when committing
+# +a new revision, rather than the default author. Useful when
+# +committing a patch on behalf of someone else, or when importing
+# +history from another version control system.
+# +.TP
+# +\fB--date=\fI\fP
+# +Use the given given date and time as value of the "date" cert when
+# +committing a new revision, rather than the current time. Useful when
+# +importing history from another version control system.
+# +.TP
+# \fB--root=\fI\fP
+# Stop the search for a working copy (containing the @file{MT} directory)
+# at the specified root directory rather than at the physical root of the
+
+# merge(1) can handle this merge correctly.
+
+AT_DATA(parent.b64, [
+LlRIICJtb25vdG9uZSIgMQouU0ggTkFNRQptb25vdG9uZSBcLSBkaXN0cmlidXRlZCB2ZXJzaW9u
+IGNvbnRyb2wgc3lzdGVtCi5TSCBTWU5PUFNJUwpcZkJtb25vdG9uZVxmUCBcZklbb3B0aW9uc10g
+PGNvbW1hbmQ+IFtwYXJhbWV0ZXJzXVxmUAouUApPcHRpb25zLCB3aGljaCBhZmZlY3QgZ2xvYmFs
+IGJlaGF2aW9yIG9yIHNldCBkZWZhdWx0IHZhbHVlcywgY29tZQpmaXJzdCBpbiB0aGUgYXJndW1l
+bnQgbGlzdC4gQSBzaW5nbGUgY29tbWFuZCBtdXN0IGZvbGxvdywgaW5kaWNhdGluZwp0aGUgb3Bl
+cmF0aW9uIHRvIHBlcmZvcm0sIGZvbGxvd2VkIGJ5IHBhcmFtZXRlcnMgd2hpY2ggdmFyeSBkZXBl
+bmRpbmcKb24gdGhlIGNvbW1hbmQuCi5TUyBOb3RlClRoaXMgbWFucGFnZSBpcyBhIHN1bW1hcnkg
+b2Ygc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGNvbW1hbmRzIG9mClxmQm1vbm90b25lXGZQLCBi
+dXQgaXQgaXMgbm90IHRoZSBtb3N0IGRldGFpbGVkIHNvdXJjZSBvZiBpbmZvcm1hdGlvbgphdmFp
+bGFibGUuIEZvciBhIGNvbXBsZXRlIGRpc2N1c3Npb24gb2YgdGhlIGNvbmNlcHRzIGFuZCBhIHR1
+dG9yaWFsIG9uCml0cyB1c2UsIHBsZWFzZSByZWZlciB0byB0aGUgdGV4aW5mbyBtYW51YWwgKHZp
+YSB0aGUgXGZCaW5mbwptb25vdG9uZVxmUCBjb21tYW5kLCBvciBvbmxpbmUpLgouU1MgQ29tbWFu
+ZHMKLlRQIApcZkJjb21tZW50XGZQIFxmSTxpZD5cZlAKV3JpdGUgYSBjb21tZW50IGNlcnQgZm9y
+IGEgcmV2aXNpb24uCi5UUApcZkJhcHByb3ZlXGZQIFxmSTxpZD5cZlAKTWFrZSBhICJicmFuY2gi
+IGNlcnQgYXBwcm92aW5nIG9mIGEgcmV2aXNpb24ncyBtZW1iZXJzaGlwIGluIGEgYnJhbmNoLgou
+VFAKXGZCZGlzYXBwcm92ZVxmUCBcZkk8aWQxPlxmUApEaXNhcHByb3ZlIG9mIGEgcmV2aXNpb24s
+IGNvbW1pdHRpbmcgdGhlIGludmVyc2UgY2hhbmdlcyBhcyBhcyBhCmRlc2NlbmRhbnQgb2YgdGhl
+IGRpc2FwcHJvdmVkIHJldmlzaW9uLgouVFAKXGZCdGFnXGZQIFxmSTxpZD4gPHRhZ25hbWU+XGZQ
+ClB1dCBhIHN5bWJvbGljIHRhZyBjZXJ0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJ0ZXN0cmVzdWx0
+XGZQIFxmSTxpZD4gKDB8MXx0cnVlfGZhbHNlfHllc3xub3xwYXNzfGZhaWwpXGZQCkluZGljYXRl
+IGEgcGFzc2luZyBvciBmYWlsaW5nIHRlc3QgcmVzdWx0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJh
+Z3JhcGhcZlAKRHVtcCByZXZpc2lvbiBncmFwaCB0byBzdGRvdXQgaW4gVkNHIGZvcm1hdC4KLlRQ
+ClxmQmRpZmYgXGZJWy0tcmV2aXNpb249PGlkMT4gWy0tcmV2aXNpb249PGlkMj5dIF0gWzxwYXRo
+bmFtZT4uLi5dXGZQClNob3cgZGlmZnMgYmV0d2VlbiB3b3JraW5nIGNvcHkgYW5kIGRhdGFiYXNl
+LgouVFAKXGZCc3RhdHVzIFxmSVs8cGF0aG5hbWU+Li4uXVxmUApTaG93IHN0YXR1cyBvZiB3b3Jr
+aW5nIGNvcHkuCi5UUApcZkJsb2dcZlAgXGZJW2lkXSBcZlAKU2hvdyBoaXN0b3JpY2FsIGxvZyBv
+ZiByZXZpc2lvbnMsIHN0YXJ0aW5nIGZyb20gd29ya2luZyBjb3B5CmJhc2UgcmV2aXNpb24sIG9y
+IFxmSVtpZF1cZlAgaWYgZ2l2ZW4uCi5UUApcZkJjZXJ0XGZQIFxmSTxpZD4gPGNlcnRuYW1lPiBb
+Y2VydHZhbF1cZlAKQ3JlYXRlIGEgY3VzdG9tIGNlcnQgZm9yIGEgcmV2aXNpb24uIFJlYWRzIGNl
+cnQgdmFsdWUKZnJvbSBzdGRpbiBpZiBubyB2YWx1ZSBnaXZlbiBvbiBjb21tYW5kIGxpbmUuCi5U
+UApcZkJnZW5rZXlcZlAgXGZJPGtleWlkPlxmUApHZW5lcmF0ZSBhbiBSU0Ega2V5LXBhaXIgYW5k
+IHN0b3JlIGl0IGluIHRoZSBkYXRhYmFzZS4KLlRQClxjaGtleXBhc3NcZlAgXGZJPGtleWlkPlxm
+UApDaGFuZ2UgcGFzc3BocmFzZSBvZiB0aGUgcHJpdmF0ZSBoYWxmIG9mIGEga2V5LgouVFAKXGZC
+bGlzdCBjZXJ0c1xmUCBcZkk8aWQ+XGZQCkxpc3QgY2VydHMgYXNzb2NpYXRlZCB3aXRoIHJldmlz
+aW9uLgouVFAKXGZCbGlzdCBrZXlzXGZQIFxmSVtwYXJ0aWFsLWlkXVxmUApMaXN0IGtleXMgbWF0
+Y2hpbmcgZ2xvYiwgb3IgbGlzdCBhbGwga2V5cyBpZiBubyBnbG9iIGdpdmVuLgouVFAKXGZCbGlz
+dCBicmFuY2hlc1xmUApMaXN0IGFsbCBicmFuY2hlcy4KLlRQClxmQmxpc3QgdGFnc1xmUApMaXN0
+IGFsbCB0YWdzLgouVFAKXGZCbGlzdCB2YXJzIFxmSVs8ZG9tYWluPl1cZlAKTGlzdCBhbGwgdmFy
+cyAocG9zc2libHkgbGltaXRlZCBieSBkb21haW4pLgouVFAKXGZCbGlzdCB1bmtub3duIFxmSVs8
+cGF0aG5hbWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4gd29ya2luZyBkaXJlY3RvcnksIGJ1dCBub3Qg
+aW4gcmV2aXNpb24ncyBtYW5pZmVzdCBvcgp3b3JrIGxpc3QuCi5UUApcZkJsaXN0IGlnbm9yZWQg
+XGZJWzxwYXRobmFtZS4uLl1cZlAKTGlzdCBmaWxlcyBpbnRlbnRpb25hbGx5IGlnbm9yZWQgZHVl
+IHRvIHRoZSBpZ25vcmVfZmlsZSBob29rLgouVFAKXGZCbGlzdCBtaXNzaW5nIFxmSVs8cGF0aG5h
+bWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4gcmV2aXNpb24ncyBtYW5pZmVzdCwgYnV0IG5vdCBpbiB3
+b3JraW5nIGRpcmVjdG9yeS4KLlRQClxmQmZkYXRhXGZQIFxmSTxpZD5cZlAKV3JpdGUgZmlsZSBk
+YXRhIHBhY2tldCB0byBzdGRvdXQuCi5UUApcZkJmZGVsdGFcZlAgXGZJPG9sZGlkPiA8bmV3aWQ+
+XGZQCldyaXRlIGZpbGUgZGVsdGEgcGFja2V0IHRvIHN0ZG91dC4KLlRQClxmQm1kYXRhXGZQIFxm
+STxpZD5cZlAKV3JpdGUgbWFuaWZlc3QgZGF0YSBwYWNrZXQgdG8gc3Rkb3V0LgouVFAKXGZCbWRl
+bHRhXGZQIFxmSTxvbGRpZD4gPG5ld2lkPlxmUApXcml0ZSBtYW5pZmVzdCBkZWx0YSBwYWNrZXQg
+dG8gc3Rkb3V0LgouVFAKXGZCY2VydHNcZlAgXGZJPGlkPlxmUApXcml0ZSByZXZpc2lvbiBjZXJ0
+IHBhY2tldHMgdG8gc3Rkb3V0LgouVFAKXGZCcmRhdGFcZlAgXGZJPGlkPlxmUApXcml0ZSByZXZp
+c2lvbiBkYXRhIHBhY2tldCB0byBzdGRvdXQuCi5UUApcZkJwcml2a2V5XGZQIFxmSTxpZD5cZlAK
+V3JpdGUgcHJpdmF0ZSBrZXkgcGFja2V0IHRvIHN0ZG91dC4KLlRQClxmQnB1YmtleVxmUCBcZkk8
+aWQ+XGZQCldyaXRlIHB1YmxpYyBrZXkgcGFja2V0IHRvIHN0ZG91dC4KLlRQClxmQnJlYWRcZlAK
+UmVhZCBwYWNrZXRzIGZyb20gc3RkaW4uIAouVFAKXGZCY3ZzX2ltcG9ydFxmUCBcZkk8Y3Zzcm9v
+dD5cZlAKSW1wb3J0IGFsbCB2ZXJzaW9ucyBpbiBDVlMgcmVwb3NpdG9yeS4gUmVjb25zdHJ1Y3Rz
+IHJldmlzaW9ucyBhbmQKY29udmVydHMgbWV0YWRhdGEgdG8gY2VydGlmaWNhdGVzLiBBIHByaXZh
+dGUgc2lnbmluZyBrZXkgbXVzdCBhbHJlYWR5CmV4aXN0IGluIHRoZSBkYXRhYmFzZS4KLlRQClxm
+QnJjc19pbXBvcnRcZlAgXGZJPHJjc2ZpbGU+IC4uLlxmUApJbXBvcnQgYWxsIGZpbGUgdmVyc2lv
+bnMgaW4gUkNTIGZpbGVzLiBEb2VzIG5vdCByZWNvbnN0cnVjdCByZXZpc2lvbnMKYWNyb3NzIHRo
+ZSBlbnRpcmUgdHJlZS4KLlRQClxmQmNoZWNrb3V0XGZQIFxmSVttYW5pZmVzdC1pZF1cZlAgXGZJ
+PGRpcmVjdG9yeVxmUApDaGVjayBvdXQgdHJlZSBzdGF0ZSBmcm9tIGRhdGFiYXNlLgouVFAKXGZC
+Y29cZlAgXGZJW21hbmlmZXN0LWlkXVxmUCBcZkk8ZGlyZWN0b3J5XGZQCkNoZWNrIG91dCB0cmVl
+IHN0YXRlIGZyb20gZGF0YWJhc2U7IGFuIGFsaWFzIGZvciBcZkJjaGVja291dFxmUC4KLlRQClxm
+QmNhdFxmUCBcZkkoZmlsZXxtYW5pZmVzdCkgPGlkPlxmUApXcml0ZSBmaWxlIG9yIG1hbmlmZXN0
+IGZyb20gZGF0YWJhc2UgdG8gc3Rkb3V0LgouVFAKXGZCaGVhZHNcZlAKU2hvdyB1bm1lcmdlZCBo
+ZWFkcyBvZiBicmFuY2gsIG9yIHJlcG9ydCB3aGVuIGJyYW5jaCBpcyBtZXJnZWQuCi5UUApcZkJt
+ZXJnZVxmUApNZXJnZSB1bm1lcmdlZCBoZWFkcyBvZiBicmFuY2guCi5UUApcZkJhZGRcZlAgXGZJ
+PHBhdGhuYW1lPiBbLi4uXVxmUApBZGQgZmlsZXMgdG8gd29ya2luZyBjb3B5LiBhZGRpbmcgYSBm
+aWxlIGRvZXMgbm90IGNvcHkgaXQgaW50byB0aGUgZGF0YWJhc2UsCm1lcmVseSBhZGRzIGl0IHRv
+IHRoZSB3b3JrIGxpc3QuIFlvdSBtdXN0IFxmQmNvbW1pdFxmUCB5b3VyIGNoYW5nZXMgaW4gb3Jk
+ZXIKdG8gY29weSBhZGRlZCBmaWxlcyB0byB0aGUgZGF0YWJhc2UuCi5UUApcZkJkcm9wXGZQIFxm
+STxwYXRobmFtZT4gWy4uLl1cZlAKRHJvcCBmaWxlcyBmcm9tIHdvcmtpbmcgY29weS4gRmlsZXMg
+YXJlIG5vdCBkZWxldGVkIGZyb20gd29ya2luZyBjb3B5LCAKbWVyZWx5IG5vdGVkIGFzIHJlbW92
+YWxzIGluIHRoZSB3b3JrIGxpc3QuCi5UUApcZkJyZW5hbWVcZlAgXGZJPHNyYz4gXGZJPGRzdD5c
+ZlAKUmVuYW1lIGZpbGVzIGZyb20gXGZJPHNyYz4gXGZQIHRvIFxmSTxkc3Q+IFxmUCBpbiB3b3Jr
+aW5nIGNvcHkuCi5UUApcZkJjb21taXRcZlAgXGZJWy0tbWVzc2FnZT08bG9nIG1lc3NhZ2U+XSBb
+PHBhdGhuYW1lPi4uLl1cZlAgCkNvbW1pdCB3b3JraW5nIGNvcHkgdG8gZGF0YWJhc2UuIElmIGEg
+LS1tZXNzYWdlIG9wdGlvbiBpcyBwcm92aWRlZCBvbgp0aGUgY29tbWFuZCBpbmUsIGl0IGlzIHVz
+ZWQ7IG90aGVyd2lzZSBhIGxvZyBtZXNzYWdlIGVkaXRvciB3aWxsIGJlCmludm9rZWQuCi5UUApc
+ZkJ1cGRhdGVcZlAgClVwZGF0ZSB3b3JraW5nIGNvcHkuCi5UUApcZkJwdXNoXGZQIFxmSTxob3N0
+PiA8Y29sbGVjdGlvbj5cZlAgClB1c2ggY29udGVudHMgb2YgXGZJPGNvbGxlY3Rpb24+XGZQIHRv
+IGRhdGFiYXNlIG9uIFxmSTxob3N0PlxmUCAKLlRQClxmQnB1bGxcZlAgXGZJPGhvc3Q+IDxjb2xs
+ZWN0aW9uPlxmUCAKUHVzaCBjb250ZW50cyBvZiBcZkk8Y29sbGVjdGlvbj5cZlAgZnJvbSBkYXRh
+YmFzZSBvbiBcZkk8aG9zdD5cZlAgCi5UUApcZkJzeW5jXGZQIFxmSTxob3N0PiA8Y29sbGVjdGlv
+bj5cZlAgClN5bmMgY29udGVudHMgb2YgXGZJPGNvbGxlY3Rpb24+XGZQIHdpdGggZGF0YWJhc2Ug
+b24gXGZJPGhvc3Q+XGZQIAouVFAKXGZCc2VydmVcZlAgXGZJPGhvc3Q+IDxjb2xsZWN0aW9uPlxm
+UCAKU2VydmUgY29udGVudHMgb2YgXGZJPGNvbGxlY3Rpb24+XGZQIGF0IG5ldHdvcmsgYWRkcmVz
+cyBcZkk8aG9zdD5cZlAgCi5UUApcZkJzZXRcZlAgXGZJPGRvbWFpbj4gPG5hbWU+IDx2YWx1ZT5c
+ZlAgClNldCB0aGUgZGIgdmFyIFxmSTxuYW1lPlxmUCBpbiBkb21haW4gXGZJPGRvbWFpbj5cZlAg
+dG8gdmFsdWUKXGZJPHZhbHVlPlxmUC4gCi5UUApcZkJ1bnNldFxmUCBcZkk8ZG9tYWluPiA8bmFt
+ZT5cZlAgCkRlbGV0ZSBhbnkgc2V0dGluZyBmb3IgZGIgdmFyIFxmSTxuYW1lPlxmUCBpbiBkb21h
+aW4gXGZJPGRvbWFpbj5cZlAuCi5UUApcZkJhdXRvbWF0ZVxmUCBcZkkoaW50ZXJmYWNlX3ZlcnNp
+b258aGVhZHN8ZGVzY2VuZGVudHN8ZXJhc2VfYW5jZXN0b3JzfHRvcG9zb3J0fGFuY2VzdHJ5X2Rp
+ZmZlcmVuY2V8bGVhdmVzKVxmUApTY3JpcHRpbmcgaW50ZXJmYWNlLgouVFAKXGZCZGJcZlAgXGZJ
+KGluaXR8aW5mb3x2ZXJzaW9ufGR1bXB8bG9hZHxtaWdyYXRlfHJlYnVpbGR8ZXhlY3V0ZXxjaGVj
+aylcZlAKTWFuaXB1bGF0ZSBkYXRhYmFzZSBzdGF0ZS4KLlNIIERFU0NSSVBUSU9OCk1vbm90b25l
+IGlzIGEgdmVyc2lvbiBjb250cm9sIHN5c3RlbSwgd2hpY2ggYWxsb3dzIHlvdSB0byBrZWVwIG9s
+ZAp2ZXJzaW9ucyBvZiBmaWxlcywgYXMgd2VsbCBhcyBzcGVjaWFsIFxmSW1hbmlmZXN0IGZpbGVz
+XGZQIHdoaWNoCmRlc2NyaWJlIHRoZSBsb2NhdGlvbiBvZiBmaWxlcyBpbiBhIHRyZWUuIFVubGlr
+ZSBvdGhlciBzeXN0ZW1zLAp2ZXJzaW9ucyBpbiBtb25vdG9uZSBhcmUgXGZJaWRlbnRpZmllZFxm
+UCBieSBjcnlwdG9ncmFwaGljIGhhc2gsIGFuZApvcGVyYXRpb25zIGFyZSBhdXRoZW50aWNhdGVk
+IGJ5IGluZGl2aWR1YWwgdXNlcnMnIGV2YWx1YXRpbmcKY3J5cHRvZ3JhcGhpYyBzaWduYXR1cmVz
+IG9uIG1ldGEtZGF0YSwgcmF0aGVyIHRoYW4gYW55IGNlbnRyYWwKYXV0aG9yaXR5LgoKTW9ub3Rv
+bmUga2VlcHMgYSBjb2xsZWN0aW9uIG9mIHZlcnNpb25zIGluIGEgc2luZ2xlLWZpbGUgcmVsYXRp
+b25hbApkYXRhYmFzZS4gSXQgaXMgZXNzZW50aWFsbHkgc2VydmVybGVzcywgdXNpbmcgbmV0d29y
+ayBzZXJ2ZXJzIG9ubHkgYXMKdW50cnVzdGVkIGNvbW11bmljYXRpb24gZmFjaWxpdGllcy4gQSBt
+b25vdG9uZSBkYXRhYmFzZSBpcyBhIHJlZ3VsYXIKZmlsZSwgd2hpY2ggY29udGFpbnMgYWxsIHRo
+ZSBpbmZvcm1hdGlvbiBuZWVkZWQgdG8gZXh0cmFjdCBwcmV2aW91cwp2ZXJzaW9ucyBvZiBmaWxl
+cywgdmVyaWZ5IHNpZ25hdHVyZXMsIG1lcmdlIGFuZCBtb2RpZnkgdmVyc2lvbnMsIGFuZApjb21t
+dW5pY2F0ZSB3aXRoIG5ldHdvcmsgc2VydmVycy4KLlNIIE9QVElPTlMKLlRQClxmQi0taGVscFxm
+UApQcmludCBoZWxwIG1lc3NhZ2UuCi5UUApcZkItLWRlYnVnXGZQClR1cm4gb24gZGVidWdnaW5n
+IGxvZyBvbiBzdGFuZGFyZCBlcnJvciBzdHJlYW0uIFRoaXMgaXMgdmVyeQp2ZXJib3NlLiBEZWZh
+dWx0IGlzIHRvIGJlIHNpbGVudCwgdW5sZXNzIGFuIGVycm9yIG9jY3VycywgaW4gd2hpY2gKY2Fz
+ZSBmYWlsdXJlIGxvZyBpcyBkdW1wZWQuCi5UUApcZkItLXF1aWV0XGZQClR1cm4gb2ZmIG5vcm1h
+bCBwcm9ncmVzcyBtZXNzYWdlcy4KLlRQClxmQi0tZHVtcD1cZlBcZkk8ZmlsZT5cZlAKRHVtcCBk
+ZWJ1Z2dpbmcgbG9nIHRvIFxmSWZpbGVcZlAgb24gZmFpbHVyZS4KLlRQClxmQi0tbm9zdGRcZlAK
+RG8gbm90IGV2YWx1YXRlICJzdGFuZGFyZCIgbHVhIGhvb2tzIGNvbXBpbGVkIGludG8gXGZCbW9u
+b3RvbmVcZlAuCi5UUApcZkItLW5vcmNcZlAKRG8gbm90IGxvYWQgbHVhIGhvb2tzIGZyb20gdXNl
+cidzIFxmQn4vLm1vbm90b25lcmNcZlAgZmlsZS4KLlRQClxmQi0tcmNmaWxlPVxmUFxmSTxmaWxl
+PlxmUApMb2FkIGV4dHJhIGx1YSBob29rcyBmcm9tIFxmSWZpbGVcZlAgKG1heSBiZSBnaXZlbiBt
+dWx0aXBsZSB0aW1lcykuCi5UUApcZkItLWRiPVxmUFxmSTxmaWxlPlxmUApVc2UgZGF0YWJhc2Ug
+aW4gXGZJZmlsZVxmUC4KLlRQClxmQi0ta2V5PVxmUFxmSTxrZXlpZD5cZlAKVXNlIFxmSWtleWlk
+XGZQIGZvciBvcGVyYXRpb25zIHdoaWNoIHByb2R1Y2UgUlNBIHNpZ25hdHVyZXMuIERlZmF1bHQK
+aXMgaW5mZXJyZWQgZnJvbSBwcmVzZW5jZSBvZiB1bmlxdWUgcHJpdmF0ZSBrZXkgaW4gZGF0YWJh
+c2UuIENhbiBhbHNvCmJlIGN1c3RvbWl6ZWQgb24gYSBwZXItYnJhbmNoIGJhc2lzIHdpdGggaG9v
+ayBmdW5jdGlvbiAKXGZCZ2V0X2JyYW5jaF9rZXkoYnJhbmNobmFtZSlcZlAuCi5UUApcZkIta1xm
+UCBcZkk8a2V5aWQ+XGZQCkFuIGFsaWFzIGZvciBcZkItLWtleT1cZlBcZkk8a2V5aWQ+XGZQCi5U
+UApcZkItLWJyYW5jaD1cZlBcZkk8YnJhbmNobmFtZT5cZlAKVXNlIFxmSWJyYW5jaG5hbWVcZlAg
+Zm9yIG9wZXJhdGlvbnMgb24gYSBicmFuY2guIERlZmF1bHQgaXMgaW5mZXJyZWQKaW4gb3BlcmF0
+aW9ucyBvbiBleGlzdGluZyBicmFuY2hlcyAoY29tbWl0LCB1cGRhdGUsIGV0YykuCi5UUApcZkIt
+YlxmUCBcZkk8YnJhbmNobmFtZT5cZlAKQW4gYWxpYXMgZm9yIFxmQi0tYnJhbmNoPVxmUFxmSTxi
+cmFuY2huYW1lPlxmUAouVFAKXGZCLS10aWNrZXQ9XGZQXGZJZG90fGNvdW50XGZQClVzZSB0aGUg
+Z2l2ZW4gbWV0aG9kIHRvIHByaW50IHRpY2tlcnMuICBUaGUgXGZCY291bnRcZlAgbWV0aG9kIHBy
+aW50cwp0aGUgY291bnQgZm9yIGVhY2ggdGlja2VyIG9uIG9uZSBsaW5lLCBpbmNyZW1lbnRpbmcg
+dGhlIG51bWJlcnMgaW4KcGxhY2UsIHdoaWxlIHRoZSBcZkJkb3RcZlAgbWV0aG9kIHByaW50cyBh
+IGNvbnRpbnVvdXMgc3RyaW5nIG9mCmNoYXJhY3RlcnMgKGxpa2Ugc29tZSBwcm9ncmFtcyBwcm92
+aWRlIGEgcHJvZ3Jlc3MgbGluZSBvZiBkb3RzKS4KVGhlIGRlZmF1bHQgaXMgXGZCY291bnRcZlAu
+Ci5UUApcZkItLXJldmlzaW9uPVxmUFxmSTxpZD5cZlAKQ3VycmVudGx5IHRoaXMgb3B0aW9uIG9u
+bHkgYXBwbGllcyB0byB0aGUgZGlmZiBjb21tYW5kIHdoZXJlIGl0IG1heSBiZQp1c2VkIHRvIGNv
+bXBhcmUgYSB3b3JraW5nIGNvcHkgd2l0aCBhIHNwZWNpZmljIHJldmlzaW9uIG9yIHRvIGNvbXBh
+cmUKdHdvIHNwZWNpZmljIHJldmlzaW9ucy4gSXQgd2lsbCBsaWtlbHkgYXBwbHkgdG8gb3RoZXIg
+Y29tbWFuZHMgaW4gdGhlCmZ1dHVyZS4KLlRQClxmQi1yXGZQIFxmSTxpZD5cZlAKQW4gYWxpYXMg
+Zm9yIFxmQi0tcmV2aXNpb249XGZQXGZJPGlkPlxmUAouVFAKXGZCLS1tZXNzYWdlPVxmSTxsb2cg
+bWVzc2FnZT5cZlAKVXNlIHRoZSBnaXZlbiBtZXNzYWdlIGFzIHRoZSBjaGFuZ2Vsb2cgd2hlbiBj
+b21taXR0aW5nIGEgbmV3IHJldmlzaW9uCnJhdGhlciB0aGFuIGludm9raW5nIHRoZSBsb2cgbWVz
+c2FnZSBlZGl0b3IuIEN1cnJlbnRseSB0aGlzIG9wdGlvbiBvbmx5CmFwcGxpZXMgdG8gdGhlIGNv
+bW1pdCBjb21tYW5kIGJ1dCBpdCBtYXkgYWxzbyBhcHBseSB0byB0aGUgY29tbWVudApjb21tYW5k
+IGluIHRoZSBmdXR1cmUuCi5UUApcZkItbSBcZkk8bG9nIG1lc3NhZ2U+XGZQCkFuIGFsaWFzIGZv
+ciBcZkItLW1lc3NhZ2U9XGZJPGxvZyBtZXNzYWdlPlxmUAouVFAKXGZCLS1yb290PVxmSTxyb290
+IGRpcj5cZlAKU3RvcCB0aGUgc2VhcmNoIGZvciBhIHdvcmtpbmcgY29weSAoY29udGFpbmluZyB0
+aGUgQGZpbGV7TVR9IGRpcmVjdG9yeSkKYXQgdGhlIHNwZWNpZmllZCByb290IGRpcmVjdG9yeSBy
+YXRoZXIgdGhhbiBhdCB0aGUgcGh5c2ljYWwgcm9vdCBvZiB0aGUKZmlsZXN5c3RlbS4KLlRQClxm
+Qi14YXJncz1cZkk8ZmlsZT5cZlAKSW5qZWN0IHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSBpbiBw
+bGFjZSBhbW9uZyB0aGUgY29tbWFuZCBsaW5lCmFyZ3VtZW50cy4gIFRoaXMgbWF5IGJlIHVzZWZ1
+bCBpbiBjYXNlIHRoZSBjb21tYW5kIGxpbmUgd291bGQKb3RoZXJ3aXNlIGJlY29tZSB0b28gbG9u
+ZyBmb3IgeW91ciBzeXN0ZW0uICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZAptb3JlIHRoYW4gb25j
+ZSBpZiBuZWVkZWQuCi5UUApcZkItQCBcZkk8ZmlsZT5cZlAKQW4gYWxpYXMgZm9yIFxmQi0teGFy
+Z3M9XGZJPGZpbGU+XGZQCgouU0ggRU5WSVJPTk1FTlQKLlRQClxmQkVESVRPUlxmUApVc2VkIHRv
+IGVkaXQgY29tbWVudHMsIGxvZyBtZXNzYWdlcywgZXRjLgouVFAKXGZCVklTVUFMXGZQClVzZWQg
+aW4gcHJlZmVyZW5jZSB0byBcZkJFRElUT1JcZlAsIGlmIHNldC4KLlNIIEZJTEVTCi5UUApcZkIk
+SE9NRS8ubW9ub3RvbmVyY1xmUApBIGx1YSBzY3JpcHQsIHVzZWQgYXMgYSBjdXN0b21pemF0aW9u
+IGZpbGUuCi5TSCBOT1RFUwouSVAgXChidQpDb21tYW5kIGxpbmUgb3B0aW9ucyBvdmVycmlkZSBl
+bnZpcm9ubWVudCB2YXJpYWJsZXMgYW5kCnNldHRpbmdzIGluIGx1YSBzY3JpcHRzIChzdWNoIGFz
+IFxmQi5tb25vdG9uZXJjXGZQKQouU0ggIlNFRSBBTFNPIgpcZkJpbmZvIG1vbm90b25lXGZQCi5T
+SCBCVUdTCnNlZSBodHRwOi8vc2F2YW5uYWgubm9uZ251Lm9yZy9idWdzLz9ncm91cD1tb25vdG9u
+ZQouU0ggQVVUSE9SCmdyYXlkb24gaG9hcmUgPGdyYXlkb25AcG9ib3guY29tPgo=
+])
+
+AT_DATA(left.b64, [
+LlRIICJtb25vdG9uZSIgMQouU0ggTkFNRQptb25vdG9uZSBcLSBkaXN0cmlidXRlZCB2ZXJzaW9u
+IGNvbnRyb2wgc3lzdGVtCi5TSCBTWU5PUFNJUwpcZkJtb25vdG9uZVxmUCBcZklbb3B0aW9uc10g
+PGNvbW1hbmQ+IFtwYXJhbWV0ZXJzXVxmUAouUApPcHRpb25zLCB3aGljaCBhZmZlY3QgZ2xvYmFs
+IGJlaGF2aW9yIG9yIHNldCBkZWZhdWx0IHZhbHVlcywgY29tZQpmaXJzdCBpbiB0aGUgYXJndW1l
+bnQgbGlzdC4gQSBzaW5nbGUgY29tbWFuZCBtdXN0IGZvbGxvdywgaW5kaWNhdGluZwp0aGUgb3Bl
+cmF0aW9uIHRvIHBlcmZvcm0sIGZvbGxvd2VkIGJ5IHBhcmFtZXRlcnMgd2hpY2ggdmFyeSBkZXBl
+bmRpbmcKb24gdGhlIGNvbW1hbmQuCi5TUyBOb3RlClRoaXMgbWFucGFnZSBpcyBhIHN1bW1hcnkg
+b2Ygc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGNvbW1hbmRzIG9mClxmQm1vbm90b25lXGZQLCBi
+dXQgaXQgaXMgbm90IHRoZSBtb3N0IGRldGFpbGVkIHNvdXJjZSBvZiBpbmZvcm1hdGlvbgphdmFp
+bGFibGUuIEZvciBhIGNvbXBsZXRlIGRpc2N1c3Npb24gb2YgdGhlIGNvbmNlcHRzIGFuZCBhIHR1
+dG9yaWFsIG9uCml0cyB1c2UsIHBsZWFzZSByZWZlciB0byB0aGUgdGV4aW5mbyBtYW51YWwgKHZp
+YSB0aGUgXGZCaW5mbwptb25vdG9uZVxmUCBjb21tYW5kLCBvciBvbmxpbmUpLgouU1MgQ29tbWFu
+ZHMKLlRQIApcZkJjb21tZW50XGZQIFxmSTxpZD5cZlAKV3JpdGUgYSBjb21tZW50IGNlcnQgZm9y
+IGEgcmV2aXNpb24uCi5UUApcZkJhcHByb3ZlXGZQIFxmSTxpZD5cZlAKTWFrZSBhICJicmFuY2gi
+IGNlcnQgYXBwcm92aW5nIG9mIGEgcmV2aXNpb24ncyBtZW1iZXJzaGlwIGluIGEgYnJhbmNoLgou
+VFAKXGZCZGlzYXBwcm92ZVxmUCBcZkk8aWQxPlxmUApEaXNhcHByb3ZlIG9mIGEgcmV2aXNpb24s
+IGNvbW1pdHRpbmcgdGhlIGludmVyc2UgY2hhbmdlcyBhcyBhcyBhCmRlc2NlbmRhbnQgb2YgdGhl
+IGRpc2FwcHJvdmVkIHJldmlzaW9uLgouVFAKXGZCdGFnXGZQIFxmSTxpZD4gPHRhZ25hbWU+XGZQ
+ClB1dCBhIHN5bWJvbGljIHRhZyBjZXJ0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJ0ZXN0cmVzdWx0
+XGZQIFxmSTxpZD4gKDB8MXx0cnVlfGZhbHNlfHllc3xub3xwYXNzfGZhaWwpXGZQCkluZGljYXRl
+IGEgcGFzc2luZyBvciBmYWlsaW5nIHRlc3QgcmVzdWx0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJh
+Z3JhcGhcZlAKRHVtcCByZXZpc2lvbiBncmFwaCB0byBzdGRvdXQgaW4gVkNHIGZvcm1hdC4KLlRQ
+ClxmQmRpZmYgXGZJWy0tcmV2aXNpb249PGlkMT4gWy0tcmV2aXNpb249PGlkMj5dIF0gWzxwYXRo
+bmFtZT4uLi5dXGZQClNob3cgZGlmZnMgYmV0d2VlbiB3b3JraW5nIGNvcHkgYW5kIGRhdGFiYXNl
+LgouVFAKXGZCc3RhdHVzIFxmSVs8cGF0aG5hbWU+Li4uXVxmUApTaG93IHN0YXR1cyBvZiB3b3Jr
+aW5nIGNvcHkuCi5UUApcZkJpbnZlbnRvcnkgXGZJWzxwYXRobmFtZT4uLi5dXGZQClNob3cgaW52
+ZW50b3J5IG9mIGZpbGVzIGluIHRoZSB3b3JraW5nIGNvcHkuCi5UUApcZkJsb2dcZlAgXGZJW2lk
+XSBcZlAKU2hvdyBoaXN0b3JpY2FsIGxvZyBvZiByZXZpc2lvbnMsIHN0YXJ0aW5nIGZyb20gd29y
+a2luZyBjb3B5CmJhc2UgcmV2aXNpb24sIG9yIFxmSVtpZF1cZlAgaWYgZ2l2ZW4uCi5UUApcZkJj
+ZXJ0XGZQIFxmSTxpZD4gPGNlcnRuYW1lPiBbY2VydHZhbF1cZlAKQ3JlYXRlIGEgY3VzdG9tIGNl
+cnQgZm9yIGEgcmV2aXNpb24uIFJlYWRzIGNlcnQgdmFsdWUKZnJvbSBzdGRpbiBpZiBubyB2YWx1
+ZSBnaXZlbiBvbiBjb21tYW5kIGxpbmUuCi5UUApcZkJnZW5rZXlcZlAgXGZJPGtleWlkPlxmUApH
+ZW5lcmF0ZSBhbiBSU0Ega2V5LXBhaXIgYW5kIHN0b3JlIGl0IGluIHRoZSBkYXRhYmFzZS4KLlRQ
+ClxjaGtleXBhc3NcZlAgXGZJPGtleWlkPlxmUApDaGFuZ2UgcGFzc3BocmFzZSBvZiB0aGUgcHJp
+dmF0ZSBoYWxmIG9mIGEga2V5LgouVFAKXGZCbGlzdCBjZXJ0c1xmUCBcZkk8aWQ+XGZQCkxpc3Qg
+Y2VydHMgYXNzb2NpYXRlZCB3aXRoIHJldmlzaW9uLgouVFAKXGZCbGlzdCBrZXlzXGZQIFxmSVtw
+YXJ0aWFsLWlkXVxmUApMaXN0IGtleXMgbWF0Y2hpbmcgZ2xvYiwgb3IgbGlzdCBhbGwga2V5cyBp
+ZiBubyBnbG9iIGdpdmVuLgouVFAKXGZCbGlzdCBicmFuY2hlc1xmUApMaXN0IGFsbCBicmFuY2hl
+cy4KLlRQClxmQmxpc3QgdGFnc1xmUApMaXN0IGFsbCB0YWdzLgouVFAKXGZCbGlzdCB2YXJzIFxm
+SVs8ZG9tYWluPl1cZlAKTGlzdCBhbGwgdmFycyAocG9zc2libHkgbGltaXRlZCBieSBkb21haW4p
+LgouVFAKXGZCbGlzdCB1bmtub3duIFxmSVs8cGF0aG5hbWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4g
+d29ya2luZyBkaXJlY3RvcnksIGJ1dCBub3QgaW4gcmV2aXNpb24ncyBtYW5pZmVzdCBvcgp3b3Jr
+IGxpc3QuCi5UUApcZkJsaXN0IGlnbm9yZWQgXGZJWzxwYXRobmFtZS4uLl1cZlAKTGlzdCBmaWxl
+cyBpbnRlbnRpb25hbGx5IGlnbm9yZWQgZHVlIHRvIHRoZSBpZ25vcmVfZmlsZSBob29rLgouVFAK
+XGZCbGlzdCBtaXNzaW5nIFxmSVs8cGF0aG5hbWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4gcmV2aXNp
+b24ncyBtYW5pZmVzdCwgYnV0IG5vdCBpbiB3b3JraW5nIGRpcmVjdG9yeS4KLlRQClxmQmZkYXRh
+XGZQIFxmSTxpZD5cZlAKV3JpdGUgZmlsZSBkYXRhIHBhY2tldCB0byBzdGRvdXQuCi5UUApcZkJm
+ZGVsdGFcZlAgXGZJPG9sZGlkPiA8bmV3aWQ+XGZQCldyaXRlIGZpbGUgZGVsdGEgcGFja2V0IHRv
+IHN0ZG91dC4KLlRQClxmQm1kYXRhXGZQIFxmSTxpZD5cZlAKV3JpdGUgbWFuaWZlc3QgZGF0YSBw
+YWNrZXQgdG8gc3Rkb3V0LgouVFAKXGZCbWRlbHRhXGZQIFxmSTxvbGRpZD4gPG5ld2lkPlxmUApX
+cml0ZSBtYW5pZmVzdCBkZWx0YSBwYWNrZXQgdG8gc3Rkb3V0LgouVFAKXGZCY2VydHNcZlAgXGZJ
+PGlkPlxmUApXcml0ZSByZXZpc2lvbiBjZXJ0IHBhY2tldHMgdG8gc3Rkb3V0LgouVFAKXGZCcmRh
+dGFcZlAgXGZJPGlkPlxmUApXcml0ZSByZXZpc2lvbiBkYXRhIHBhY2tldCB0byBzdGRvdXQuCi5U
+UApcZkJwcml2a2V5XGZQIFxmSTxpZD5cZlAKV3JpdGUgcHJpdmF0ZSBrZXkgcGFja2V0IHRvIHN0
+ZG91dC4KLlRQClxmQnB1YmtleVxmUCBcZkk8aWQ+XGZQCldyaXRlIHB1YmxpYyBrZXkgcGFja2V0
+IHRvIHN0ZG91dC4KLlRQClxmQnJlYWRcZlAKUmVhZCBwYWNrZXRzIGZyb20gc3RkaW4uIAouVFAK
+XGZCY3ZzX2ltcG9ydFxmUCBcZkk8Y3Zzcm9vdD5cZlAKSW1wb3J0IGFsbCB2ZXJzaW9ucyBpbiBD
+VlMgcmVwb3NpdG9yeS4gUmVjb25zdHJ1Y3RzIHJldmlzaW9ucyBhbmQKY29udmVydHMgbWV0YWRh
+dGEgdG8gY2VydGlmaWNhdGVzLiBBIHByaXZhdGUgc2lnbmluZyBrZXkgbXVzdCBhbHJlYWR5CmV4
+aXN0IGluIHRoZSBkYXRhYmFzZS4KLlRQClxmQnJjc19pbXBvcnRcZlAgXGZJPHJjc2ZpbGU+IC4u
+LlxmUApJbXBvcnQgYWxsIGZpbGUgdmVyc2lvbnMgaW4gUkNTIGZpbGVzLiBEb2VzIG5vdCByZWNv
+bnN0cnVjdCByZXZpc2lvbnMKYWNyb3NzIHRoZSBlbnRpcmUgdHJlZS4gIFlvdSBkbyBub3Qgd2Fu
+dCB0aGlzIGNvbW1hbmQsIGl0IGlzIGZvcgpkZWJ1Z2dpbmc7IHVzZSBjdnNfaW1wb3J0LgouVFAK
+XGZCY2hlY2tvdXRcZlAgXGZJW21hbmlmZXN0LWlkXVxmUCBcZkk8ZGlyZWN0b3J5XGZQCkNoZWNr
+IG91dCB0cmVlIHN0YXRlIGZyb20gZGF0YWJhc2UuCi5UUApcZkJjb1xmUCBcZklbbWFuaWZlc3Qt
+aWRdXGZQIFxmSTxkaXJlY3RvcnlcZlAKQ2hlY2sgb3V0IHRyZWUgc3RhdGUgZnJvbSBkYXRhYmFz
+ZTsgYW4gYWxpYXMgZm9yIFxmQmNoZWNrb3V0XGZQLgouVFAKXGZCY2F0XGZQIFxmSShmaWxlfG1h
+bmlmZXN0KSA8aWQ+XGZQCldyaXRlIGZpbGUgb3IgbWFuaWZlc3QgZnJvbSBkYXRhYmFzZSB0byBz
+dGRvdXQuCi5UUApcZkJoZWFkc1xmUApTaG93IHVubWVyZ2VkIGhlYWRzIG9mIGJyYW5jaCwgb3Ig
+cmVwb3J0IHdoZW4gYnJhbmNoIGlzIG1lcmdlZC4KLlRQClxmQm1lcmdlXGZQCk1lcmdlIHVubWVy
+Z2VkIGhlYWRzIG9mIGJyYW5jaC4KLlRQClxmQmFkZFxmUCBcZkk8cGF0aG5hbWU+IFsuLi5dXGZQ
+CkFkZCBmaWxlcyB0byB3b3JraW5nIGNvcHkuIGFkZGluZyBhIGZpbGUgZG9lcyBub3QgY29weSBp
+dCBpbnRvIHRoZSBkYXRhYmFzZSwKbWVyZWx5IGFkZHMgaXQgdG8gdGhlIHdvcmsgbGlzdC4gWW91
+IG11c3QgXGZCY29tbWl0XGZQIHlvdXIgY2hhbmdlcyBpbiBvcmRlcgp0byBjb3B5IGFkZGVkIGZp
+bGVzIHRvIHRoZSBkYXRhYmFzZS4KLlRQClxmQmRyb3BcZlAgXGZJPHBhdGhuYW1lPiBbLi4uXVxm
+UApEcm9wIGZpbGVzIGZyb20gd29ya2luZyBjb3B5LiBGaWxlcyBhcmUgbm90IGRlbGV0ZWQgZnJv
+bSB3b3JraW5nIGNvcHksIAptZXJlbHkgbm90ZWQgYXMgcmVtb3ZhbHMgaW4gdGhlIHdvcmsgbGlz
+dC4KLlRQClxmQnJlbmFtZVxmUCBcZkk8c3JjPiBcZkk8ZHN0PlxmUApSZW5hbWUgZmlsZXMgZnJv
+bSBcZkk8c3JjPiBcZlAgdG8gXGZJPGRzdD4gXGZQIGluIHdvcmtpbmcgY29weS4KLlRQClxmQmNv
+bW1pdFxmUCBcZklbLS1tZXNzYWdlPTxsb2cgbWVzc2FnZT5dIFs8cGF0aG5hbWU+Li4uXVxmUCAK
+Q29tbWl0IHdvcmtpbmcgY29weSB0byBkYXRhYmFzZS4gSWYgYSAtLW1lc3NhZ2Ugb3B0aW9uIGlz
+IHByb3ZpZGVkIG9uCnRoZSBjb21tYW5kIGluZSwgaXQgaXMgdXNlZDsgb3RoZXJ3aXNlIGEgbG9n
+IG1lc3NhZ2UgZWRpdG9yIHdpbGwgYmUKaW52b2tlZC4KLlRQClxmQnVwZGF0ZVxmUCAgXGZJW3Jl
+dmlzaW9uLWlkXVxmUApVcGRhdGUgd29ya2luZyBjb3B5LgouVFAKXGZCdXBkYXRlX2lub2RlcHJp
+bnRzXGZQIApUdXJuIG9uIGlub2RlcHJpbnRzIG1vZGUsIGFuZCBmb3JjZSBhIGNhY2hlIHJlZnJl
+c2guCi5UUApcZkJwdXNoXGZQIFxmSVs8aG9zdD4gWzxjb2xsZWN0aW9uPl1dXGZQIApQdXNoIGNv
+bnRlbnRzIG9mIFxmSTxjb2xsZWN0aW9uPlxmUCB0byBkYXRhYmFzZSBvbiBcZkk8aG9zdD5cZlAg
+Ci5UUApcZkJwdWxsXGZQIFxmSVs8aG9zdD4gWzxjb2xsZWN0aW9uPl1dXGZQIApQdXNoIGNvbnRl
+bnRzIG9mIFxmSTxjb2xsZWN0aW9uPlxmUCBmcm9tIGRhdGFiYXNlIG9uIFxmSTxob3N0PlxmUCAK
+LlRQClxmQnN5bmNcZlAgXGZJPGhvc3Q+IDxjb2xsZWN0aW9uPlxmUCAKU3luYyBjb250ZW50cyBv
+ZiBcZkk8Y29sbGVjdGlvbj5cZlAgd2l0aCBkYXRhYmFzZSBvbiBcZkk8aG9zdD5cZlAgCi5UUApc
+ZkJzZXJ2ZVxmUCBcZkk8aG9zdD4gPGNvbGxlY3Rpb24+XGZQIApTZXJ2ZSBjb250ZW50cyBvZiBc
+Zkk8Y29sbGVjdGlvbj5cZlAgYXQgbmV0d29yayBhZGRyZXNzIFxmSTxob3N0PlxmUCAKLlRQClxm
+QnNldFxmUCBcZkk8ZG9tYWluPiA8bmFtZT4gPHZhbHVlPlxmUCAKU2V0IHRoZSBkYiB2YXIgXGZJ
+PG5hbWU+XGZQIGluIGRvbWFpbiBcZkk8ZG9tYWluPlxmUCB0byB2YWx1ZQpcZkk8dmFsdWU+XGZQ
+LiAKLlRQClxmQnVuc2V0XGZQIFxmSTxkb21haW4+IDxuYW1lPlxmUCAKRGVsZXRlIGFueSBzZXR0
+aW5nIGZvciBkYiB2YXIgXGZJPG5hbWU+XGZQIGluIGRvbWFpbiBcZkk8ZG9tYWluPlxmUC4KLlRQ
+ClxmQmF1dG9tYXRlXGZQIFxmSShpbnRlcmZhY2VfdmVyc2lvbnxoZWFkc3xkZXNjZW5kZW50c3xl
+cmFzZV9hbmNlc3RvcnN8dG9wb3NvcnR8YW5jZXN0cnlfZGlmZmVyZW5jZXxsZWF2ZXMpXGZQClNj
+cmlwdGluZyBpbnRlcmZhY2UuCi5UUApcZkJkYlxmUCBcZkkoaW5pdHxpbmZvfHZlcnNpb258ZHVt
+cHxsb2FkfG1pZ3JhdGV8cmVidWlsZHxleGVjdXRlfGNoZWNrKVxmUApNYW5pcHVsYXRlIGRhdGFi
+YXNlIHN0YXRlLgouU0ggREVTQ1JJUFRJT04KTW9ub3RvbmUgaXMgYSB2ZXJzaW9uIGNvbnRyb2wg
+c3lzdGVtLCB3aGljaCBhbGxvd3MgeW91IHRvIGtlZXAgb2xkCnZlcnNpb25zIG9mIGZpbGVzLCBh
+cyB3ZWxsIGFzIHNwZWNpYWwgXGZJbWFuaWZlc3QgZmlsZXNcZlAgd2hpY2gKZGVzY3JpYmUgdGhl
+IGxvY2F0aW9uIG9mIGZpbGVzIGluIGEgdHJlZS4gVW5saWtlIG90aGVyIHN5c3RlbXMsCnZlcnNp
+b25zIGluIG1vbm90b25lIGFyZSBcZklpZGVudGlmaWVkXGZQIGJ5IGNyeXB0b2dyYXBoaWMgaGFz
+aCwgYW5kCm9wZXJhdGlvbnMgYXJlIGF1dGhlbnRpY2F0ZWQgYnkgaW5kaXZpZHVhbCB1c2Vycycg
+ZXZhbHVhdGluZwpjcnlwdG9ncmFwaGljIHNpZ25hdHVyZXMgb24gbWV0YS1kYXRhLCByYXRoZXIg
+dGhhbiBhbnkgY2VudHJhbAphdXRob3JpdHkuCgpNb25vdG9uZSBrZWVwcyBhIGNvbGxlY3Rpb24g
+b2YgdmVyc2lvbnMgaW4gYSBzaW5nbGUtZmlsZSByZWxhdGlvbmFsCmRhdGFiYXNlLiBJdCBpcyBl
+c3NlbnRpYWxseSBzZXJ2ZXJsZXNzLCB1c2luZyBuZXR3b3JrIHNlcnZlcnMgb25seSBhcwp1bnRy
+dXN0ZWQgY29tbXVuaWNhdGlvbiBmYWNpbGl0aWVzLiBBIG1vbm90b25lIGRhdGFiYXNlIGlzIGEg
+cmVndWxhcgpmaWxlLCB3aGljaCBjb250YWlucyBhbGwgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0
+byBleHRyYWN0IHByZXZpb3VzCnZlcnNpb25zIG9mIGZpbGVzLCB2ZXJpZnkgc2lnbmF0dXJlcywg
+bWVyZ2UgYW5kIG1vZGlmeSB2ZXJzaW9ucywgYW5kCmNvbW11bmljYXRlIHdpdGggbmV0d29yayBz
+ZXJ2ZXJzLgouU0ggT1BUSU9OUwouVFAKXGZCLS1oZWxwXGZQClByaW50IGhlbHAgbWVzc2FnZS4K
+LlRQClxmQi0tZGVidWdcZlAKVHVybiBvbiBkZWJ1Z2dpbmcgbG9nIG9uIHN0YW5kYXJkIGVycm9y
+IHN0cmVhbS4gVGhpcyBpcyB2ZXJ5CnZlcmJvc2UuIERlZmF1bHQgaXMgdG8gYmUgc2lsZW50LCB1
+bmxlc3MgYW4gZXJyb3Igb2NjdXJzLCBpbiB3aGljaApjYXNlIGZhaWx1cmUgbG9nIGlzIGR1bXBl
+ZC4KLlRQClxmQi0tcXVpZXRcZlAKVHVybiBvZmYgbm9ybWFsIHByb2dyZXNzIG1lc3NhZ2VzLgou
+VFAKXGZCLS1kdW1wPVxmUFxmSTxmaWxlPlxmUApEdW1wIGRlYnVnZ2luZyBsb2cgdG8gXGZJZmls
+ZVxmUCBvbiBmYWlsdXJlLgouVFAKXGZCLS1ub3N0ZFxmUApEbyBub3QgZXZhbHVhdGUgInN0YW5k
+YXJkIiBsdWEgaG9va3MgY29tcGlsZWQgaW50byBcZkJtb25vdG9uZVxmUC4KLlRQClxmQi0tbm9y
+Y1xmUApEbyBub3QgbG9hZCBsdWEgaG9va3MgZnJvbSB1c2VyJ3MgXGZCfi8ubW9ub3RvbmVyY1xm
+UCBmaWxlLgouVFAKXGZCLS1yY2ZpbGU9XGZQXGZJPGZpbGU+XGZQCkxvYWQgZXh0cmEgbHVhIGhv
+b2tzIGZyb20gXGZJZmlsZVxmUCAobWF5IGJlIGdpdmVuIG11bHRpcGxlIHRpbWVzKS4KLlRQClxm
+Qi0tZGI9XGZQXGZJPGZpbGU+XGZQClVzZSBkYXRhYmFzZSBpbiBcZklmaWxlXGZQLgouVFAKXGZC
+LS1rZXk9XGZQXGZJPGtleWlkPlxmUApVc2UgXGZJa2V5aWRcZlAgZm9yIG9wZXJhdGlvbnMgd2hp
+Y2ggcHJvZHVjZSBSU0Egc2lnbmF0dXJlcy4gRGVmYXVsdAppcyBpbmZlcnJlZCBmcm9tIHByZXNl
+bmNlIG9mIHVuaXF1ZSBwcml2YXRlIGtleSBpbiBkYXRhYmFzZS4gQ2FuIGFsc28KYmUgY3VzdG9t
+aXplZCBvbiBhIHBlci1icmFuY2ggYmFzaXMgd2l0aCBob29rIGZ1bmN0aW9uIApcZkJnZXRfYnJh
+bmNoX2tleShicmFuY2huYW1lKVxmUC4KLlRQClxmQi1rXGZQIFxmSTxrZXlpZD5cZlAKQW4gYWxp
+YXMgZm9yIFxmQi0ta2V5PVxmUFxmSTxrZXlpZD5cZlAKLlRQClxmQi0tYnJhbmNoPVxmUFxmSTxi
+cmFuY2huYW1lPlxmUApVc2UgXGZJYnJhbmNobmFtZVxmUCBmb3Igb3BlcmF0aW9ucyBvbiBhIGJy
+YW5jaC4gRGVmYXVsdCBpcyBpbmZlcnJlZAppbiBvcGVyYXRpb25zIG9uIGV4aXN0aW5nIGJyYW5j
+aGVzIChjb21taXQsIHVwZGF0ZSwgZXRjKS4KLlRQClxmQi1iXGZQIFxmSTxicmFuY2huYW1lPlxm
+UApBbiBhbGlhcyBmb3IgXGZCLS1icmFuY2g9XGZQXGZJPGJyYW5jaG5hbWU+XGZQCi5UUApcZkIt
+LXRpY2tldD1cZlBcZklkb3R8Y291bnRcZlAKVXNlIHRoZSBnaXZlbiBtZXRob2QgdG8gcHJpbnQg
+dGlja2Vycy4gIFRoZSBcZkJjb3VudFxmUCBtZXRob2QgcHJpbnRzCnRoZSBjb3VudCBmb3IgZWFj
+aCB0aWNrZXIgb24gb25lIGxpbmUsIGluY3JlbWVudGluZyB0aGUgbnVtYmVycyBpbgpwbGFjZSwg
+d2hpbGUgdGhlIFxmQmRvdFxmUCBtZXRob2QgcHJpbnRzIGEgY29udGludW91cyBzdHJpbmcgb2YK
+Y2hhcmFjdGVycyAobGlrZSBzb21lIHByb2dyYW1zIHByb3ZpZGUgYSBwcm9ncmVzcyBsaW5lIG9m
+IGRvdHMpLgpUaGUgZGVmYXVsdCBpcyBcZkJjb3VudFxmUC4KLlRQClxmQi0tcmV2aXNpb249XGZQ
+XGZJPGlkPlxmUApDdXJyZW50bHkgdGhpcyBvcHRpb24gb25seSBhcHBsaWVzIHRvIHRoZSBkaWZm
+IGNvbW1hbmQgd2hlcmUgaXQgbWF5IGJlCnVzZWQgdG8gY29tcGFyZSBhIHdvcmtpbmcgY29weSB3
+aXRoIGEgc3BlY2lmaWMgcmV2aXNpb24gb3IgdG8gY29tcGFyZQp0d28gc3BlY2lmaWMgcmV2aXNp
+b25zLiBJdCB3aWxsIGxpa2VseSBhcHBseSB0byBvdGhlciBjb21tYW5kcyBpbiB0aGUKZnV0dXJl
+LgouVFAKXGZCLXJcZlAgXGZJPGlkPlxmUApBbiBhbGlhcyBmb3IgXGZCLS1yZXZpc2lvbj1cZlBc
+Zkk8aWQ+XGZQCi5UUApcZkItLW1lc3NhZ2U9XGZJPGxvZyBtZXNzYWdlPlxmUApVc2UgdGhlIGdp
+dmVuIG1lc3NhZ2UgYXMgdGhlIGNoYW5nZWxvZyB3aGVuIGNvbW1pdHRpbmcgYSBuZXcgcmV2aXNp
+b24KcmF0aGVyIHRoYW4gaW52b2tpbmcgdGhlIGxvZyBtZXNzYWdlIGVkaXRvci4gQ3VycmVudGx5
+IHRoaXMgb3B0aW9uIG9ubHkKYXBwbGllcyB0byB0aGUgY29tbWl0IGNvbW1hbmQgYnV0IGl0IG1h
+eSBhbHNvIGFwcGx5IHRvIHRoZSBjb21tZW50CmNvbW1hbmQgaW4gdGhlIGZ1dHVyZS4KLlRQClxm
+Qi1tIFxmSTxsb2cgbWVzc2FnZT5cZlAKQW4gYWxpYXMgZm9yIFxmQi0tbWVzc2FnZT1cZkk8bG9n
+IG1lc3NhZ2U+XGZQCi5UUApcZkItLWF1dGhvcj1cZkk8YXV0aG9yIGVtYWlsPlxmUApVc2UgdGhl
+IGdpdmVuIGF1dGhvciBhcyB0aGUgdmFsdWUgb2YgdGhlICJhdXRob3IiIGNlcnQgd2hlbiBjb21t
+aXR0aW5nCmEgbmV3IHJldmlzaW9uLCByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCBhdXRob3IuICBV
+c2VmdWwgd2hlbgpjb21taXR0aW5nIGEgcGF0Y2ggb24gYmVoYWxmIG9mIHNvbWVvbmUgZWxzZSwg
+b3Igd2hlbiBpbXBvcnRpbmcKaGlzdG9yeSBmcm9tIGFub3RoZXIgdmVyc2lvbiBjb250cm9sIHN5
+c3RlbS4KLlRQClxmQi0tZGF0ZT1cZkk8ZGF0ZSBhbmQgdGltZT5cZlAKVXNlIHRoZSBnaXZlbiBn
+aXZlbiBkYXRlIGFuZCB0aW1lIGFzIHZhbHVlIG9mIHRoZSAiZGF0ZSIgY2VydCB3aGVuCmNvbW1p
+dHRpbmcgYSBuZXcgcmV2aXNpb24sIHJhdGhlciB0aGFuIHRoZSBjdXJyZW50IHRpbWUuICBVc2Vm
+dWwgd2hlbgppbXBvcnRpbmcgaGlzdG9yeSBmcm9tIGFub3RoZXIgdmVyc2lvbiBjb250cm9sIHN5
+c3RlbS4KLlRQClxmQi0tcm9vdD1cZkk8cm9vdCBkaXI+XGZQClN0b3AgdGhlIHNlYXJjaCBmb3Ig
+YSB3b3JraW5nIGNvcHkgKGNvbnRhaW5pbmcgdGhlIEBmaWxle01UfSBkaXJlY3RvcnkpCmF0IHRo
+ZSBzcGVjaWZpZWQgcm9vdCBkaXJlY3RvcnkgcmF0aGVyIHRoYW4gYXQgdGhlIHBoeXNpY2FsIHJv
+b3Qgb2YgdGhlCmZpbGVzeXN0ZW0uCi5UUApcZkItLXhhcmdzPVxmSTxmaWxlPlxmUApJbmplY3Qg
+dGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlIGluIHBsYWNlIGFtb25nIHRoZSBjb21tYW5kIGxpbmUK
+YXJndW1lbnRzLiAgVGhpcyBtYXkgYmUgdXNlZnVsIGluIGNhc2UgdGhlIGNvbW1hbmQgbGluZSB3
+b3VsZApvdGhlcndpc2UgYmVjb21lIHRvbyBsb25nIGZvciB5b3VyIHN5c3RlbS4gIFRoaXMgb3B0
+aW9uIGNhbiBiZSB1c2VkCm1vcmUgdGhhbiBvbmNlIGlmIG5lZWRlZC4KLlRQClxmQi1AIFxmSTxm
+aWxlPlxmUApBbiBhbGlhcyBmb3IgXGZCLS14YXJncz1cZkk8ZmlsZT5cZlAKLlRQClxmQi0tYWxs
+LWZpbGVzXGZQCkluY2x1ZGUgZXZlcnkgZmlsZSBhdmFpbGFibGUgaW4gdGhlIHdvcmtpbmcgY29w
+eSBpbiB0aGUgaW52ZW50b3J5Cmxpc3QuIEJ5IGRlZmF1bHQgaW52ZW50b3J5IG9ubHkgbGlzdHMg
+YGBpbnRlcmVzdGluZycnIGZpbGVzLiBUaGlzIG9wdGlvbgppcyBzcGVjaWZpYyB0byB0aGUgQGNv
+bW1hbmR7aW52ZW50b3J5fSBjb21tYW5kLgoKLlNIIEVOVklST05NRU5UCi5UUApcZkJFRElUT1Jc
+ZlAKVXNlZCB0byBlZGl0IGNvbW1lbnRzLCBsb2cgbWVzc2FnZXMsIGV0Yy4KLlRQClxmQlZJU1VB
+TFxmUApVc2VkIGluIHByZWZlcmVuY2UgdG8gXGZCRURJVE9SXGZQLCBpZiBzZXQuCi5TSCBGSUxF
+UwouVFAKXGZCJEhPTUUvLm1vbm90b25lcmNcZlAKQSBsdWEgc2NyaXB0LCB1c2VkIGFzIGEgY3Vz
+dG9taXphdGlvbiBmaWxlLgouU0ggTk9URVMKLklQIFwoYnUKQ29tbWFuZCBsaW5lIG9wdGlvbnMg
+b3ZlcnJpZGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZApzZXR0aW5ncyBpbiBsdWEgc2NyaXB0
+cyAoc3VjaCBhcyBcZkIubW9ub3RvbmVyY1xmUCkKLlNIICJTRUUgQUxTTyIKXGZCaW5mbyBtb25v
+dG9uZVxmUAouU0ggQlVHUwpzZWUgaHR0cDovL3NhdmFubmFoLm5vbmdudS5vcmcvYnVncy8/Z3Jv
+dXA9bW9ub3RvbmUKLlNIIEFVVEhPUgpncmF5ZG9uIGhvYXJlIDxncmF5ZG9uQHBvYm94LmNvbT4K
+])
+
+AT_DATA(right.b64, [
+LlRIICJtb25vdG9uZSIgMQouU0ggTkFNRQptb25vdG9uZSBcLSBkaXN0cmlidXRlZCB2ZXJzaW9u
+IGNvbnRyb2wgc3lzdGVtCi5TSCBTWU5PUFNJUwpcZkJtb25vdG9uZVxmUCBcZklbb3B0aW9uc10g
+PGNvbW1hbmQ+IFtwYXJhbWV0ZXJzXVxmUAouUApPcHRpb25zLCB3aGljaCBhZmZlY3QgZ2xvYmFs
+IGJlaGF2aW9yIG9yIHNldCBkZWZhdWx0IHZhbHVlcywgY29tZQpmaXJzdCBpbiB0aGUgYXJndW1l
+bnQgbGlzdC4gQSBzaW5nbGUgY29tbWFuZCBtdXN0IGZvbGxvdywgaW5kaWNhdGluZwp0aGUgb3Bl
+cmF0aW9uIHRvIHBlcmZvcm0sIGZvbGxvd2VkIGJ5IHBhcmFtZXRlcnMgd2hpY2ggdmFyeSBkZXBl
+bmRpbmcKb24gdGhlIGNvbW1hbmQuCi5TUyBOb3RlClRoaXMgbWFucGFnZSBpcyBhIHN1bW1hcnkg
+b2Ygc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGNvbW1hbmRzIG9mClxmQm1vbm90b25lXGZQLCBi
+dXQgaXQgaXMgbm90IHRoZSBtb3N0IGRldGFpbGVkIHNvdXJjZSBvZiBpbmZvcm1hdGlvbgphdmFp
+bGFibGUuIEZvciBhIGNvbXBsZXRlIGRpc2N1c3Npb24gb2YgdGhlIGNvbmNlcHRzIGFuZCBhIHR1
+dG9yaWFsIG9uCml0cyB1c2UsIHBsZWFzZSByZWZlciB0byB0aGUgdGV4aW5mbyBtYW51YWwgKHZp
+YSB0aGUgXGZCaW5mbwptb25vdG9uZVxmUCBjb21tYW5kLCBvciBvbmxpbmUpLgouU1MgQ29tbWFu
+ZHMKLlRQIApcZkJjb21tZW50XGZQIFxmSTxpZD5cZlAKV3JpdGUgYSBjb21tZW50IGNlcnQgZm9y
+IGEgcmV2aXNpb24uCi5UUApcZkJhcHByb3ZlXGZQIFxmSTxpZD5cZlAKTWFrZSBhICJicmFuY2gi
+IGNlcnQgYXBwcm92aW5nIG9mIGEgcmV2aXNpb24ncyBtZW1iZXJzaGlwIGluIGEgYnJhbmNoLgou
+VFAKXGZCZGlzYXBwcm92ZVxmUCBcZkk8aWQxPlxmUApEaXNhcHByb3ZlIG9mIGEgcmV2aXNpb24s
+IGNvbW1pdHRpbmcgdGhlIGludmVyc2UgY2hhbmdlcyBhcyBhcyBhCmRlc2NlbmRhbnQgb2YgdGhl
+IGRpc2FwcHJvdmVkIHJldmlzaW9uLgouVFAKXGZCdGFnXGZQIFxmSTxpZD4gPHRhZ25hbWU+XGZQ
+ClB1dCBhIHN5bWJvbGljIHRhZyBjZXJ0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJ0ZXN0cmVzdWx0
+XGZQIFxmSTxpZD4gKDB8MXx0cnVlfGZhbHNlfHllc3xub3xwYXNzfGZhaWwpXGZQCkluZGljYXRl
+IGEgcGFzc2luZyBvciBmYWlsaW5nIHRlc3QgcmVzdWx0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJh
+Z3JhcGhcZlAKRHVtcCByZXZpc2lvbiBncmFwaCB0byBzdGRvdXQgaW4gVkNHIGZvcm1hdC4KLlRQ
+ClxmQmRpZmYgXGZJWy0tcmV2aXNpb249PGlkMT4gWy0tcmV2aXNpb249PGlkMj5dIF0gWzxwYXRo
+bmFtZT4uLi5dXGZQClNob3cgZGlmZnMgYmV0d2VlbiB3b3JraW5nIGNvcHkgYW5kIGRhdGFiYXNl
+LgouVFAKXGZCc3RhdHVzIFxmSVs8cGF0aG5hbWU+Li4uXVxmUApTaG93IHN0YXR1cyBvZiB3b3Jr
+aW5nIGNvcHkuCi5UUApcZkJsb2dcZlAgXGZJW2lkXSBcZlAKU2hvdyBoaXN0b3JpY2FsIGxvZyBv
+ZiByZXZpc2lvbnMsIHN0YXJ0aW5nIGZyb20gd29ya2luZyBjb3B5CmJhc2UgcmV2aXNpb24sIG9y
+IFxmSVtpZF1cZlAgaWYgZ2l2ZW4uCi5UUApcZkJjZXJ0XGZQIFxmSTxpZD4gPGNlcnRuYW1lPiBb
+Y2VydHZhbF1cZlAKQ3JlYXRlIGEgY3VzdG9tIGNlcnQgZm9yIGEgcmV2aXNpb24uIFJlYWRzIGNl
+cnQgdmFsdWUKZnJvbSBzdGRpbiBpZiBubyB2YWx1ZSBnaXZlbiBvbiBjb21tYW5kIGxpbmUuCi5U
+UApcZkJnZW5rZXlcZlAgXGZJPGtleWlkPlxmUApHZW5lcmF0ZSBhbiBSU0Ega2V5LXBhaXIgYW5k
+IHN0b3JlIGl0IGluIHRoZSBkYXRhYmFzZS4KLlRQClxjaGtleXBhc3NcZlAgXGZJPGtleWlkPlxm
+UApDaGFuZ2UgcGFzc3BocmFzZSBvZiB0aGUgcHJpdmF0ZSBoYWxmIG9mIGEga2V5LgouVFAKXGZC
+bGlzdCBjZXJ0c1xmUCBcZkk8aWQ+XGZQCkxpc3QgY2VydHMgYXNzb2NpYXRlZCB3aXRoIHJldmlz
+aW9uLgouVFAKXGZCbGlzdCBrZXlzXGZQIFxmSVtwYXJ0aWFsLWlkXVxmUApMaXN0IGtleXMgbWF0
+Y2hpbmcgZ2xvYiwgb3IgbGlzdCBhbGwga2V5cyBpZiBubyBnbG9iIGdpdmVuLgouVFAKXGZCbGlz
+dCBicmFuY2hlc1xmUApMaXN0IGFsbCBicmFuY2hlcy4KLlRQClxmQmxpc3QgdGFnc1xmUApMaXN0
+IGFsbCB0YWdzLgouVFAKXGZCbGlzdCB2YXJzIFxmSVs8ZG9tYWluPl1cZlAKTGlzdCBhbGwgdmFy
+cyAocG9zc2libHkgbGltaXRlZCBieSBkb21haW4pLgouVFAKXGZCbGlzdCB1bmtub3duIFxmSVs8
+cGF0aG5hbWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4gd29ya2luZyBkaXJlY3RvcnksIGJ1dCBub3Qg
+aW4gcmV2aXNpb24ncyBtYW5pZmVzdCBvcgp3b3JrIGxpc3QuCi5UUApcZkJsaXN0IGlnbm9yZWQg
+XGZJWzxwYXRobmFtZS4uLl1cZlAKTGlzdCBmaWxlcyBpbnRlbnRpb25hbGx5IGlnbm9yZWQgZHVl
+IHRvIHRoZSBpZ25vcmVfZmlsZSBob29rLgouVFAKXGZCbGlzdCBtaXNzaW5nIFxmSVs8cGF0aG5h
+bWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4gcmV2aXNpb24ncyBtYW5pZmVzdCwgYnV0IG5vdCBpbiB3
+b3JraW5nIGRpcmVjdG9yeS4KLlRQClxmQmZkYXRhXGZQIFxmSTxpZD5cZlAKV3JpdGUgZmlsZSBk
+YXRhIHBhY2tldCB0byBzdGRvdXQuCi5UUApcZkJmZGVsdGFcZlAgXGZJPG9sZGlkPiA8bmV3aWQ+
+XGZQCldyaXRlIGZpbGUgZGVsdGEgcGFja2V0IHRvIHN0ZG91dC4KLlRQClxmQm1kYXRhXGZQIFxm
+STxpZD5cZlAKV3JpdGUgbWFuaWZlc3QgZGF0YSBwYWNrZXQgdG8gc3Rkb3V0LgouVFAKXGZCbWRl
+bHRhXGZQIFxmSTxvbGRpZD4gPG5ld2lkPlxmUApXcml0ZSBtYW5pZmVzdCBkZWx0YSBwYWNrZXQg
+dG8gc3Rkb3V0LgouVFAKXGZCY2VydHNcZlAgXGZJPGlkPlxmUApXcml0ZSByZXZpc2lvbiBjZXJ0
+IHBhY2tldHMgdG8gc3Rkb3V0LgouVFAKXGZCcmRhdGFcZlAgXGZJPGlkPlxmUApXcml0ZSByZXZp
+c2lvbiBkYXRhIHBhY2tldCB0byBzdGRvdXQuCi5UUApcZkJwcml2a2V5XGZQIFxmSTxpZD5cZlAK
+V3JpdGUgcHJpdmF0ZSBrZXkgcGFja2V0IHRvIHN0ZG91dC4KLlRQClxmQnB1YmtleVxmUCBcZkk8
+aWQ+XGZQCldyaXRlIHB1YmxpYyBrZXkgcGFja2V0IHRvIHN0ZG91dC4KLlRQClxmQnJlYWRcZlAK
+UmVhZCBwYWNrZXRzIGZyb20gc3RkaW4uIAouVFAKXGZCY3ZzX2ltcG9ydFxmUCBcZkk8Y3Zzcm9v
+dD5cZlAKSW1wb3J0IGFsbCB2ZXJzaW9ucyBpbiBDVlMgcmVwb3NpdG9yeS4gUmVjb25zdHJ1Y3Rz
+IHJldmlzaW9ucyBhbmQKY29udmVydHMgbWV0YWRhdGEgdG8gY2VydGlmaWNhdGVzLiBBIHByaXZh
+dGUgc2lnbmluZyBrZXkgbXVzdCBhbHJlYWR5CmV4aXN0IGluIHRoZSBkYXRhYmFzZS4KLlRQClxm
+QnJjc19pbXBvcnRcZlAgXGZJPHJjc2ZpbGU+IC4uLlxmUApJbXBvcnQgYWxsIGZpbGUgdmVyc2lv
+bnMgaW4gUkNTIGZpbGVzLiBEb2VzIG5vdCByZWNvbnN0cnVjdCByZXZpc2lvbnMKYWNyb3NzIHRo
+ZSBlbnRpcmUgdHJlZS4gIFlvdSBkbyBub3Qgd2FudCB0aGlzIGNvbW1hbmQsIGl0IGlzIGZvcgpk
+ZWJ1Z2dpbmc7IHVzZSBjdnNfaW1wb3J0LgouVFAKXGZCY2hlY2tvdXRcZlAgXGZJW21hbmlmZXN0
+LWlkXVxmUCBcZkk8ZGlyZWN0b3J5XGZQCkNoZWNrIG91dCB0cmVlIHN0YXRlIGZyb20gZGF0YWJh
+c2UuCi5UUApcZkJjb1xmUCBcZklbbWFuaWZlc3QtaWRdXGZQIFxmSTxkaXJlY3RvcnlcZlAKQ2hl
+Y2sgb3V0IHRyZWUgc3RhdGUgZnJvbSBkYXRhYmFzZTsgYW4gYWxpYXMgZm9yIFxmQmNoZWNrb3V0
+XGZQLgouVFAKXGZCY2F0XGZQIFxmSShmaWxlfG1hbmlmZXN0KSA8aWQ+XGZQCldyaXRlIGZpbGUg
+b3IgbWFuaWZlc3QgZnJvbSBkYXRhYmFzZSB0byBzdGRvdXQuCi5UUApcZkJoZWFkc1xmUApTaG93
+IHVubWVyZ2VkIGhlYWRzIG9mIGJyYW5jaCwgb3IgcmVwb3J0IHdoZW4gYnJhbmNoIGlzIG1lcmdl
+ZC4KLlRQClxmQm1lcmdlXGZQCk1lcmdlIHVubWVyZ2VkIGhlYWRzIG9mIGJyYW5jaC4KLlRQClxm
+QmFkZFxmUCBcZkk8cGF0aG5hbWU+IFsuLi5dXGZQCkFkZCBmaWxlcyB0byB3b3JraW5nIGNvcHku
+IGFkZGluZyBhIGZpbGUgZG9lcyBub3QgY29weSBpdCBpbnRvIHRoZSBkYXRhYmFzZSwKbWVyZWx5
+IGFkZHMgaXQgdG8gdGhlIHdvcmsgbGlzdC4gWW91IG11c3QgXGZCY29tbWl0XGZQIHlvdXIgY2hh
+bmdlcyBpbiBvcmRlcgp0byBjb3B5IGFkZGVkIGZpbGVzIHRvIHRoZSBkYXRhYmFzZS4KLlRQClxm
+QmRyb3BcZlAgXGZJPHBhdGhuYW1lPiBbLi4uXVxmUApEcm9wIGZpbGVzIGZyb20gd29ya2luZyBj
+b3B5LiBGaWxlcyBhcmUgbm90IGRlbGV0ZWQgZnJvbSB3b3JraW5nIGNvcHksIAptZXJlbHkgbm90
+ZWQgYXMgcmVtb3ZhbHMgaW4gdGhlIHdvcmsgbGlzdC4KLlRQClxmQnJlbmFtZVxmUCBcZkk8c3Jj
+PiBcZkk8ZHN0PlxmUApSZW5hbWUgZmlsZXMgZnJvbSBcZkk8c3JjPiBcZlAgdG8gXGZJPGRzdD4g
+XGZQIGluIHdvcmtpbmcgY29weS4KLlRQClxmQmNvbW1pdFxmUCBcZklbLS1tZXNzYWdlPTxsb2cg
+bWVzc2FnZT5dIFs8cGF0aG5hbWU+Li4uXVxmUCAKQ29tbWl0IHdvcmtpbmcgY29weSB0byBkYXRh
+YmFzZS4gSWYgYSAtLW1lc3NhZ2Ugb3B0aW9uIGlzIHByb3ZpZGVkIG9uCnRoZSBjb21tYW5kIGlu
+ZSwgaXQgaXMgdXNlZDsgb3RoZXJ3aXNlIGEgbG9nIG1lc3NhZ2UgZWRpdG9yIHdpbGwgYmUKaW52
+b2tlZC4KLlRQClxmQnVwZGF0ZVxmUCAKVXBkYXRlIHdvcmtpbmcgY29weS4KLlRQClxmQnB1c2hc
+ZlAgXGZJPGhvc3Q+IDxjb2xsZWN0aW9uPlxmUCAKUHVzaCBjb250ZW50cyBvZiBcZkk8Y29sbGVj
+dGlvbj5cZlAgdG8gZGF0YWJhc2Ugb24gXGZJPGhvc3Q+XGZQIAouVFAKXGZCcHVsbFxmUCBcZkk8
+aG9zdD4gPGNvbGxlY3Rpb24+XGZQIApQdXNoIGNvbnRlbnRzIG9mIFxmSTxjb2xsZWN0aW9uPlxm
+UCBmcm9tIGRhdGFiYXNlIG9uIFxmSTxob3N0PlxmUCAKLlRQClxmQnN5bmNcZlAgXGZJPGhvc3Q+
+IDxjb2xsZWN0aW9uPlxmUCAKU3luYyBjb250ZW50cyBvZiBcZkk8Y29sbGVjdGlvbj5cZlAgd2l0
+aCBkYXRhYmFzZSBvbiBcZkk8aG9zdD5cZlAgCi5UUApcZkJzZXJ2ZVxmUCBcZkk8aG9zdD4gPGNv
+bGxlY3Rpb24+XGZQIApTZXJ2ZSBjb250ZW50cyBvZiBcZkk8Y29sbGVjdGlvbj5cZlAgYXQgbmV0
+d29yayBhZGRyZXNzIFxmSTxob3N0PlxmUCAKLlRQClxmQnNldFxmUCBcZkk8ZG9tYWluPiA8bmFt
+ZT4gPHZhbHVlPlxmUCAKU2V0IHRoZSBkYiB2YXIgXGZJPG5hbWU+XGZQIGluIGRvbWFpbiBcZkk8
+ZG9tYWluPlxmUCB0byB2YWx1ZQpcZkk8dmFsdWU+XGZQLiAKLlRQClxmQnVuc2V0XGZQIFxmSTxk
+b21haW4+IDxuYW1lPlxmUCAKRGVsZXRlIGFueSBzZXR0aW5nIGZvciBkYiB2YXIgXGZJPG5hbWU+
+XGZQIGluIGRvbWFpbiBcZkk8ZG9tYWluPlxmUC4KLlRQClxmQmF1dG9tYXRlXGZQIFxmSShpbnRl
+cmZhY2VfdmVyc2lvbnxoZWFkc3xkZXNjZW5kZW50c3xlcmFzZV9hbmNlc3RvcnN8dG9wb3NvcnR8
+YW5jZXN0cnlfZGlmZmVyZW5jZXxsZWF2ZXMpXGZQClNjcmlwdGluZyBpbnRlcmZhY2UuCi5UUApc
+ZkJkYlxmUCBcZkkoaW5pdHxpbmZvfHZlcnNpb258ZHVtcHxsb2FkfG1pZ3JhdGV8cmVidWlsZHxl
+eGVjdXRlfGNoZWNrKVxmUApNYW5pcHVsYXRlIGRhdGFiYXNlIHN0YXRlLgouU0ggREVTQ1JJUFRJ
+T04KTW9ub3RvbmUgaXMgYSB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtLCB3aGljaCBhbGxvd3MgeW91
+IHRvIGtlZXAgb2xkCnZlcnNpb25zIG9mIGZpbGVzLCBhcyB3ZWxsIGFzIHNwZWNpYWwgXGZJbWFu
+aWZlc3QgZmlsZXNcZlAgd2hpY2gKZGVzY3JpYmUgdGhlIGxvY2F0aW9uIG9mIGZpbGVzIGluIGEg
+dHJlZS4gVW5saWtlIG90aGVyIHN5c3RlbXMsCnZlcnNpb25zIGluIG1vbm90b25lIGFyZSBcZklp
+ZGVudGlmaWVkXGZQIGJ5IGNyeXB0b2dyYXBoaWMgaGFzaCwgYW5kCm9wZXJhdGlvbnMgYXJlIGF1
+dGhlbnRpY2F0ZWQgYnkgaW5kaXZpZHVhbCB1c2VycycgZXZhbHVhdGluZwpjcnlwdG9ncmFwaGlj
+IHNpZ25hdHVyZXMgb24gbWV0YS1kYXRhLCByYXRoZXIgdGhhbiBhbnkgY2VudHJhbAphdXRob3Jp
+dHkuCgpNb25vdG9uZSBrZWVwcyBhIGNvbGxlY3Rpb24gb2YgdmVyc2lvbnMgaW4gYSBzaW5nbGUt
+ZmlsZSByZWxhdGlvbmFsCmRhdGFiYXNlLiBJdCBpcyBlc3NlbnRpYWxseSBzZXJ2ZXJsZXNzLCB1
+c2luZyBuZXR3b3JrIHNlcnZlcnMgb25seSBhcwp1bnRydXN0ZWQgY29tbXVuaWNhdGlvbiBmYWNp
+bGl0aWVzLiBBIG1vbm90b25lIGRhdGFiYXNlIGlzIGEgcmVndWxhcgpmaWxlLCB3aGljaCBjb250
+YWlucyBhbGwgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0byBleHRyYWN0IHByZXZpb3VzCnZlcnNp
+b25zIG9mIGZpbGVzLCB2ZXJpZnkgc2lnbmF0dXJlcywgbWVyZ2UgYW5kIG1vZGlmeSB2ZXJzaW9u
+cywgYW5kCmNvbW11bmljYXRlIHdpdGggbmV0d29yayBzZXJ2ZXJzLgouU0ggT1BUSU9OUwouVFAK
+XGZCLS1oZWxwXGZQClByaW50IGhlbHAgbWVzc2FnZS4KLlRQClxmQi0tZGVidWdcZlAKVHVybiBv
+biBkZWJ1Z2dpbmcgbG9nIG9uIHN0YW5kYXJkIGVycm9yIHN0cmVhbS4gVGhpcyBpcyB2ZXJ5CnZl
+cmJvc2UuIERlZmF1bHQgaXMgdG8gYmUgc2lsZW50LCB1bmxlc3MgYW4gZXJyb3Igb2NjdXJzLCBp
+biB3aGljaApjYXNlIGZhaWx1cmUgbG9nIGlzIGR1bXBlZC4KLlRQClxmQi0tcXVpZXRcZlAKVHVy
+biBvZmYgbm9ybWFsIHByb2dyZXNzIG1lc3NhZ2VzLgouVFAKXGZCLS1kdW1wPVxmUFxmSTxmaWxl
+PlxmUApEdW1wIGRlYnVnZ2luZyBsb2cgdG8gXGZJZmlsZVxmUCBvbiBmYWlsdXJlLgouVFAKXGZC
+LS1ub3N0ZFxmUApEbyBub3QgZXZhbHVhdGUgInN0YW5kYXJkIiBsdWEgaG9va3MgY29tcGlsZWQg
+aW50byBcZkJtb25vdG9uZVxmUC4KLlRQClxmQi0tbm9yY1xmUApEbyBub3QgbG9hZCBsdWEgaG9v
+a3MgZnJvbSB1c2VyJ3MgXGZCfi8ubW9ub3RvbmVyY1xmUCBmaWxlLgouVFAKXGZCLS1yY2ZpbGU9
+XGZQXGZJPGZpbGU+XGZQCkxvYWQgZXh0cmEgbHVhIGhvb2tzIGZyb20gXGZJZmlsZVxmUCAobWF5
+IGJlIGdpdmVuIG11bHRpcGxlIHRpbWVzKS4KLlRQClxmQi0tZGI9XGZQXGZJPGZpbGU+XGZQClVz
+ZSBkYXRhYmFzZSBpbiBcZklmaWxlXGZQLgouVFAKXGZCLS1rZXk9XGZQXGZJPGtleWlkPlxmUApV
+c2UgXGZJa2V5aWRcZlAgZm9yIG9wZXJhdGlvbnMgd2hpY2ggcHJvZHVjZSBSU0Egc2lnbmF0dXJl
+cy4gRGVmYXVsdAppcyBpbmZlcnJlZCBmcm9tIHByZXNlbmNlIG9mIHVuaXF1ZSBwcml2YXRlIGtl
+eSBpbiBkYXRhYmFzZS4gQ2FuIGFsc28KYmUgY3VzdG9taXplZCBvbiBhIHBlci1icmFuY2ggYmFz
+aXMgd2l0aCBob29rIGZ1bmN0aW9uIApcZkJnZXRfYnJhbmNoX2tleShicmFuY2huYW1lKVxmUC4K
+LlRQClxmQi1rXGZQIFxmSTxrZXlpZD5cZlAKQW4gYWxpYXMgZm9yIFxmQi0ta2V5PVxmUFxmSTxr
+ZXlpZD5cZlAKLlRQClxmQi0tYnJhbmNoPVxmUFxmSTxicmFuY2huYW1lPlxmUApVc2UgXGZJYnJh
+bmNobmFtZVxmUCBmb3Igb3BlcmF0aW9ucyBvbiBhIGJyYW5jaC4gRGVmYXVsdCBpcyBpbmZlcnJl
+ZAppbiBvcGVyYXRpb25zIG9uIGV4aXN0aW5nIGJyYW5jaGVzIChjb21taXQsIHVwZGF0ZSwgZXRj
+KS4KLlRQClxmQi1iXGZQIFxmSTxicmFuY2huYW1lPlxmUApBbiBhbGlhcyBmb3IgXGZCLS1icmFu
+Y2g9XGZQXGZJPGJyYW5jaG5hbWU+XGZQCi5UUApcZkItLXRpY2tldD1cZlBcZklkb3R8Y291bnRc
+ZlAKVXNlIHRoZSBnaXZlbiBtZXRob2QgdG8gcHJpbnQgdGlja2Vycy4gIFRoZSBcZkJjb3VudFxm
+UCBtZXRob2QgcHJpbnRzCnRoZSBjb3VudCBmb3IgZWFjaCB0aWNrZXIgb24gb25lIGxpbmUsIGlu
+Y3JlbWVudGluZyB0aGUgbnVtYmVycyBpbgpwbGFjZSwgd2hpbGUgdGhlIFxmQmRvdFxmUCBtZXRo
+b2QgcHJpbnRzIGEgY29udGludW91cyBzdHJpbmcgb2YKY2hhcmFjdGVycyAobGlrZSBzb21lIHBy
+b2dyYW1zIHByb3ZpZGUgYSBwcm9ncmVzcyBsaW5lIG9mIGRvdHMpLgpUaGUgZGVmYXVsdCBpcyBc
+ZkJjb3VudFxmUC4KLlRQClxmQi0tcmV2aXNpb249XGZQXGZJPGlkPlxmUApDdXJyZW50bHkgdGhp
+cyBvcHRpb24gb25seSBhcHBsaWVzIHRvIHRoZSBkaWZmIGNvbW1hbmQgd2hlcmUgaXQgbWF5IGJl
+CnVzZWQgdG8gY29tcGFyZSBhIHdvcmtpbmcgY29weSB3aXRoIGEgc3BlY2lmaWMgcmV2aXNpb24g
+b3IgdG8gY29tcGFyZQp0d28gc3BlY2lmaWMgcmV2aXNpb25zLiBJdCB3aWxsIGxpa2VseSBhcHBs
+eSB0byBvdGhlciBjb21tYW5kcyBpbiB0aGUKZnV0dXJlLgouVFAKXGZCLXJcZlAgXGZJPGlkPlxm
+UApBbiBhbGlhcyBmb3IgXGZCLS1yZXZpc2lvbj1cZlBcZkk8aWQ+XGZQCi5UUApcZkItLW1lc3Nh
+Z2U9XGZJPGxvZyBtZXNzYWdlPlxmUApVc2UgdGhlIGdpdmVuIG1lc3NhZ2UgYXMgdGhlIGNoYW5n
+ZWxvZyB3aGVuIGNvbW1pdHRpbmcgYSBuZXcgcmV2aXNpb24KcmF0aGVyIHRoYW4gaW52b2tpbmcg
+dGhlIGxvZyBtZXNzYWdlIGVkaXRvci4gQ3VycmVudGx5IHRoaXMgb3B0aW9uIG9ubHkKYXBwbGll
+cyB0byB0aGUgY29tbWl0IGNvbW1hbmQgYnV0IGl0IG1heSBhbHNvIGFwcGx5IHRvIHRoZSBjb21t
+ZW50CmNvbW1hbmQgaW4gdGhlIGZ1dHVyZS4KLlRQClxmQi1tIFxmSTxsb2cgbWVzc2FnZT5cZlAK
+QW4gYWxpYXMgZm9yIFxmQi0tbWVzc2FnZT1cZkk8bG9nIG1lc3NhZ2U+XGZQCi5UUApcZkItLWF1
+dGhvcj1cZkk8YXV0aG9yIGVtYWlsPlxmUApVc2UgdGhlIGdpdmVuIGF1dGhvciBhcyB0aGUgdmFs
+dWUgb2YgdGhlICJhdXRob3IiIGNlcnQgd2hlbiBjb21taXR0aW5nCmEgbmV3IHJldmlzaW9uLCBy
+YXRoZXIgdGhhbiB0aGUgZGVmYXVsdCBhdXRob3IuICBVc2VmdWwgd2hlbgpjb21taXR0aW5nIGEg
+cGF0Y2ggb24gYmVoYWxmIG9mIHNvbWVvbmUgZWxzZSwgb3Igd2hlbiBpbXBvcnRpbmcKaGlzdG9y
+eSBmcm9tIGFub3RoZXIgdmVyc2lvbiBjb250cm9sIHN5c3RlbS4KLlRQClxmQi0tZGF0ZT1cZkk8
+ZGF0ZSBhbmQgdGltZT5cZlAKVXNlIHRoZSBnaXZlbiBnaXZlbiBkYXRlIGFuZCB0aW1lIGFzIHZh
+bHVlIG9mIHRoZSAiZGF0ZSIgY2VydCB3aGVuCmNvbW1pdHRpbmcgYSBuZXcgcmV2aXNpb24sIHJh
+dGhlciB0aGFuIHRoZSBjdXJyZW50IHRpbWUuICBVc2VmdWwgd2hlbgppbXBvcnRpbmcgaGlzdG9y
+eSBmcm9tIGFub3RoZXIgdmVyc2lvbiBjb250cm9sIHN5c3RlbS4KLlRQClxmQi0tcm9vdD1cZkk8
+cm9vdCBkaXI+XGZQClN0b3AgdGhlIHNlYXJjaCBmb3IgYSB3b3JraW5nIGNvcHkgKGNvbnRhaW5p
+bmcgdGhlIEBmaWxle01UfSBkaXJlY3RvcnkpCmF0IHRoZSBzcGVjaWZpZWQgcm9vdCBkaXJlY3Rv
+cnkgcmF0aGVyIHRoYW4gYXQgdGhlIHBoeXNpY2FsIHJvb3Qgb2YgdGhlCmZpbGVzeXN0ZW0uCi5U
+UApcZkIteGFyZ3M9XGZJPGZpbGU+XGZQCkluamVjdCB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUg
+aW4gcGxhY2UgYW1vbmcgdGhlIGNvbW1hbmQgbGluZQphcmd1bWVudHMuICBUaGlzIG1heSBiZSB1
+c2VmdWwgaW4gY2FzZSB0aGUgY29tbWFuZCBsaW5lIHdvdWxkCm90aGVyd2lzZSBiZWNvbWUgdG9v
+IGxvbmcgZm9yIHlvdXIgc3lzdGVtLiAgVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQKbW9yZSB0aGFu
+IG9uY2UgaWYgbmVlZGVkLgouVFAKXGZCLUAgXGZJPGZpbGU+XGZQCkFuIGFsaWFzIGZvciBcZkIt
+LXhhcmdzPVxmSTxmaWxlPlxmUAoKLlNIIEVOVklST05NRU5UCi5UUApcZkJFRElUT1JcZlAKVXNl
+ZCB0byBlZGl0IGNvbW1lbnRzLCBsb2cgbWVzc2FnZXMsIGV0Yy4KLlRQClxmQlZJU1VBTFxmUApV
+c2VkIGluIHByZWZlcmVuY2UgdG8gXGZCRURJVE9SXGZQLCBpZiBzZXQuCi5TSCBGSUxFUwouVFAK
+XGZCJEhPTUUvLm1vbm90b25lcmNcZlAKQSBsdWEgc2NyaXB0LCB1c2VkIGFzIGEgY3VzdG9taXph
+dGlvbiBmaWxlLgouU0ggTk9URVMKLklQIFwoYnUKQ29tbWFuZCBsaW5lIG9wdGlvbnMgb3ZlcnJp
+ZGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZApzZXR0aW5ncyBpbiBsdWEgc2NyaXB0cyAoc3Vj
+aCBhcyBcZkIubW9ub3RvbmVyY1xmUCkKLlNIICJTRUUgQUxTTyIKXGZCaW5mbyBtb25vdG9uZVxm
+UAouU0ggQlVHUwpzZWUgaHR0cDovL3NhdmFubmFoLm5vbmdudS5vcmcvYnVncy8/Z3JvdXA9bW9u
+b3RvbmUKLlNIIEFVVEhPUgpncmF5ZG9uIGhvYXJlIDxncmF5ZG9uQHBvYm94LmNvbT4K
+])
+
+AT_DATA(correct.b64, [
+LlRIICJtb25vdG9uZSIgMQouU0ggTkFNRQptb25vdG9uZSBcLSBkaXN0cmlidXRlZCB2ZXJzaW9u
+IGNvbnRyb2wgc3lzdGVtCi5TSCBTWU5PUFNJUwpcZkJtb25vdG9uZVxmUCBcZklbb3B0aW9uc10g
+PGNvbW1hbmQ+IFtwYXJhbWV0ZXJzXVxmUAouUApPcHRpb25zLCB3aGljaCBhZmZlY3QgZ2xvYmFs
+IGJlaGF2aW9yIG9yIHNldCBkZWZhdWx0IHZhbHVlcywgY29tZQpmaXJzdCBpbiB0aGUgYXJndW1l
+bnQgbGlzdC4gQSBzaW5nbGUgY29tbWFuZCBtdXN0IGZvbGxvdywgaW5kaWNhdGluZwp0aGUgb3Bl
+cmF0aW9uIHRvIHBlcmZvcm0sIGZvbGxvd2VkIGJ5IHBhcmFtZXRlcnMgd2hpY2ggdmFyeSBkZXBl
+bmRpbmcKb24gdGhlIGNvbW1hbmQuCi5TUyBOb3RlClRoaXMgbWFucGFnZSBpcyBhIHN1bW1hcnkg
+b2Ygc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGNvbW1hbmRzIG9mClxmQm1vbm90b25lXGZQLCBi
+dXQgaXQgaXMgbm90IHRoZSBtb3N0IGRldGFpbGVkIHNvdXJjZSBvZiBpbmZvcm1hdGlvbgphdmFp
+bGFibGUuIEZvciBhIGNvbXBsZXRlIGRpc2N1c3Npb24gb2YgdGhlIGNvbmNlcHRzIGFuZCBhIHR1
+dG9yaWFsIG9uCml0cyB1c2UsIHBsZWFzZSByZWZlciB0byB0aGUgdGV4aW5mbyBtYW51YWwgKHZp
+YSB0aGUgXGZCaW5mbwptb25vdG9uZVxmUCBjb21tYW5kLCBvciBvbmxpbmUpLgouU1MgQ29tbWFu
+ZHMKLlRQIApcZkJjb21tZW50XGZQIFxmSTxpZD5cZlAKV3JpdGUgYSBjb21tZW50IGNlcnQgZm9y
+IGEgcmV2aXNpb24uCi5UUApcZkJhcHByb3ZlXGZQIFxmSTxpZD5cZlAKTWFrZSBhICJicmFuY2gi
+IGNlcnQgYXBwcm92aW5nIG9mIGEgcmV2aXNpb24ncyBtZW1iZXJzaGlwIGluIGEgYnJhbmNoLgou
+VFAKXGZCZGlzYXBwcm92ZVxmUCBcZkk8aWQxPlxmUApEaXNhcHByb3ZlIG9mIGEgcmV2aXNpb24s
+IGNvbW1pdHRpbmcgdGhlIGludmVyc2UgY2hhbmdlcyBhcyBhcyBhCmRlc2NlbmRhbnQgb2YgdGhl
+IGRpc2FwcHJvdmVkIHJldmlzaW9uLgouVFAKXGZCdGFnXGZQIFxmSTxpZD4gPHRhZ25hbWU+XGZQ
+ClB1dCBhIHN5bWJvbGljIHRhZyBjZXJ0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJ0ZXN0cmVzdWx0
+XGZQIFxmSTxpZD4gKDB8MXx0cnVlfGZhbHNlfHllc3xub3xwYXNzfGZhaWwpXGZQCkluZGljYXRl
+IGEgcGFzc2luZyBvciBmYWlsaW5nIHRlc3QgcmVzdWx0IG9uIGEgcmV2aXNpb24uCi5UUApcZkJh
+Z3JhcGhcZlAKRHVtcCByZXZpc2lvbiBncmFwaCB0byBzdGRvdXQgaW4gVkNHIGZvcm1hdC4KLlRQ
+ClxmQmRpZmYgXGZJWy0tcmV2aXNpb249PGlkMT4gWy0tcmV2aXNpb249PGlkMj5dIF0gWzxwYXRo
+bmFtZT4uLi5dXGZQClNob3cgZGlmZnMgYmV0d2VlbiB3b3JraW5nIGNvcHkgYW5kIGRhdGFiYXNl
+LgouVFAKXGZCc3RhdHVzIFxmSVs8cGF0aG5hbWU+Li4uXVxmUApTaG93IHN0YXR1cyBvZiB3b3Jr
+aW5nIGNvcHkuCi5UUApcZkJpbnZlbnRvcnkgXGZJWzxwYXRobmFtZT4uLi5dXGZQClNob3cgaW52
+ZW50b3J5IG9mIGZpbGVzIGluIHRoZSB3b3JraW5nIGNvcHkuCi5UUApcZkJsb2dcZlAgXGZJW2lk
+XSBcZlAKU2hvdyBoaXN0b3JpY2FsIGxvZyBvZiByZXZpc2lvbnMsIHN0YXJ0aW5nIGZyb20gd29y
+a2luZyBjb3B5CmJhc2UgcmV2aXNpb24sIG9yIFxmSVtpZF1cZlAgaWYgZ2l2ZW4uCi5UUApcZkJj
+ZXJ0XGZQIFxmSTxpZD4gPGNlcnRuYW1lPiBbY2VydHZhbF1cZlAKQ3JlYXRlIGEgY3VzdG9tIGNl
+cnQgZm9yIGEgcmV2aXNpb24uIFJlYWRzIGNlcnQgdmFsdWUKZnJvbSBzdGRpbiBpZiBubyB2YWx1
+ZSBnaXZlbiBvbiBjb21tYW5kIGxpbmUuCi5UUApcZkJnZW5rZXlcZlAgXGZJPGtleWlkPlxmUApH
+ZW5lcmF0ZSBhbiBSU0Ega2V5LXBhaXIgYW5kIHN0b3JlIGl0IGluIHRoZSBkYXRhYmFzZS4KLlRQ
+ClxjaGtleXBhc3NcZlAgXGZJPGtleWlkPlxmUApDaGFuZ2UgcGFzc3BocmFzZSBvZiB0aGUgcHJp
+dmF0ZSBoYWxmIG9mIGEga2V5LgouVFAKXGZCbGlzdCBjZXJ0c1xmUCBcZkk8aWQ+XGZQCkxpc3Qg
+Y2VydHMgYXNzb2NpYXRlZCB3aXRoIHJldmlzaW9uLgouVFAKXGZCbGlzdCBrZXlzXGZQIFxmSVtw
+YXJ0aWFsLWlkXVxmUApMaXN0IGtleXMgbWF0Y2hpbmcgZ2xvYiwgb3IgbGlzdCBhbGwga2V5cyBp
+ZiBubyBnbG9iIGdpdmVuLgouVFAKXGZCbGlzdCBicmFuY2hlc1xmUApMaXN0IGFsbCBicmFuY2hl
+cy4KLlRQClxmQmxpc3QgdGFnc1xmUApMaXN0IGFsbCB0YWdzLgouVFAKXGZCbGlzdCB2YXJzIFxm
+SVs8ZG9tYWluPl1cZlAKTGlzdCBhbGwgdmFycyAocG9zc2libHkgbGltaXRlZCBieSBkb21haW4p
+LgouVFAKXGZCbGlzdCB1bmtub3duIFxmSVs8cGF0aG5hbWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4g
+d29ya2luZyBkaXJlY3RvcnksIGJ1dCBub3QgaW4gcmV2aXNpb24ncyBtYW5pZmVzdCBvcgp3b3Jr
+IGxpc3QuCi5UUApcZkJsaXN0IGlnbm9yZWQgXGZJWzxwYXRobmFtZS4uLl1cZlAKTGlzdCBmaWxl
+cyBpbnRlbnRpb25hbGx5IGlnbm9yZWQgZHVlIHRvIHRoZSBpZ25vcmVfZmlsZSBob29rLgouVFAK
+XGZCbGlzdCBtaXNzaW5nIFxmSVs8cGF0aG5hbWUuLi5dXGZQCkxpc3QgZmlsZXMgaW4gcmV2aXNp
+b24ncyBtYW5pZmVzdCwgYnV0IG5vdCBpbiB3b3JraW5nIGRpcmVjdG9yeS4KLlRQClxmQmZkYXRh
+XGZQIFxmSTxpZD5cZlAKV3JpdGUgZmlsZSBkYXRhIHBhY2tldCB0byBzdGRvdXQuCi5UUApcZkJm
+ZGVsdGFcZlAgXGZJPG9sZGlkPiA8bmV3aWQ+XGZQCldyaXRlIGZpbGUgZGVsdGEgcGFja2V0IHRv
+IHN0ZG91dC4KLlRQClxmQm1kYXRhXGZQIFxmSTxpZD5cZlAKV3JpdGUgbWFuaWZlc3QgZGF0YSBw
+YWNrZXQgdG8gc3Rkb3V0LgouVFAKXGZCbWRlbHRhXGZQIFxmSTxvbGRpZD4gPG5ld2lkPlxmUApX
+cml0ZSBtYW5pZmVzdCBkZWx0YSBwYWNrZXQgdG8gc3Rkb3V0LgouVFAKXGZCY2VydHNcZlAgXGZJ
+PGlkPlxmUApXcml0ZSByZXZpc2lvbiBjZXJ0IHBhY2tldHMgdG8gc3Rkb3V0LgouVFAKXGZCcmRh
+dGFcZlAgXGZJPGlkPlxmUApXcml0ZSByZXZpc2lvbiBkYXRhIHBhY2tldCB0byBzdGRvdXQuCi5U
+UApcZkJwcml2a2V5XGZQIFxmSTxpZD5cZlAKV3JpdGUgcHJpdmF0ZSBrZXkgcGFja2V0IHRvIHN0
+ZG91dC4KLlRQClxmQnB1YmtleVxmUCBcZkk8aWQ+XGZQCldyaXRlIHB1YmxpYyBrZXkgcGFja2V0
+IHRvIHN0ZG91dC4KLlRQClxmQnJlYWRcZlAKUmVhZCBwYWNrZXRzIGZyb20gc3RkaW4uIAouVFAK
+XGZCY3ZzX2ltcG9ydFxmUCBcZkk8Y3Zzcm9vdD5cZlAKSW1wb3J0IGFsbCB2ZXJzaW9ucyBpbiBD
+VlMgcmVwb3NpdG9yeS4gUmVjb25zdHJ1Y3RzIHJldmlzaW9ucyBhbmQKY29udmVydHMgbWV0YWRh
+dGEgdG8gY2VydGlmaWNhdGVzLiBBIHByaXZhdGUgc2lnbmluZyBrZXkgbXVzdCBhbHJlYWR5CmV4
+aXN0IGluIHRoZSBkYXRhYmFzZS4KLlRQClxmQnJjc19pbXBvcnRcZlAgXGZJPHJjc2ZpbGU+IC4u
+LlxmUApJbXBvcnQgYWxsIGZpbGUgdmVyc2lvbnMgaW4gUkNTIGZpbGVzLiBEb2VzIG5vdCByZWNv
+bnN0cnVjdCByZXZpc2lvbnMKYWNyb3NzIHRoZSBlbnRpcmUgdHJlZS4gIFlvdSBkbyBub3Qgd2Fu
+dCB0aGlzIGNvbW1hbmQsIGl0IGlzIGZvcgpkZWJ1Z2dpbmc7IHVzZSBjdnNfaW1wb3J0LgouVFAK
+XGZCY2hlY2tvdXRcZlAgXGZJW21hbmlmZXN0LWlkXVxmUCBcZkk8ZGlyZWN0b3J5XGZQCkNoZWNr
+IG91dCB0cmVlIHN0YXRlIGZyb20gZGF0YWJhc2UuCi5UUApcZkJjb1xmUCBcZklbbWFuaWZlc3Qt
+aWRdXGZQIFxmSTxkaXJlY3RvcnlcZlAKQ2hlY2sgb3V0IHRyZWUgc3RhdGUgZnJvbSBkYXRhYmFz
+ZTsgYW4gYWxpYXMgZm9yIFxmQmNoZWNrb3V0XGZQLgouVFAKXGZCY2F0XGZQIFxmSShmaWxlfG1h
+bmlmZXN0KSA8aWQ+XGZQCldyaXRlIGZpbGUgb3IgbWFuaWZlc3QgZnJvbSBkYXRhYmFzZSB0byBz
+dGRvdXQuCi5UUApcZkJoZWFkc1xmUApTaG93IHVubWVyZ2VkIGhlYWRzIG9mIGJyYW5jaCwgb3Ig
+cmVwb3J0IHdoZW4gYnJhbmNoIGlzIG1lcmdlZC4KLlRQClxmQm1lcmdlXGZQCk1lcmdlIHVubWVy
+Z2VkIGhlYWRzIG9mIGJyYW5jaC4KLlRQClxmQmFkZFxmUCBcZkk8cGF0aG5hbWU+IFsuLi5dXGZQ
+CkFkZCBmaWxlcyB0byB3b3JraW5nIGNvcHkuIGFkZGluZyBhIGZpbGUgZG9lcyBub3QgY29weSBp
+dCBpbnRvIHRoZSBkYXRhYmFzZSwKbWVyZWx5IGFkZHMgaXQgdG8gdGhlIHdvcmsgbGlzdC4gWW91
+IG11c3QgXGZCY29tbWl0XGZQIHlvdXIgY2hhbmdlcyBpbiBvcmRlcgp0byBjb3B5IGFkZGVkIGZp
+bGVzIHRvIHRoZSBkYXRhYmFzZS4KLlRQClxmQmRyb3BcZlAgXGZJPHBhdGhuYW1lPiBbLi4uXVxm
+UApEcm9wIGZpbGVzIGZyb20gd29ya2luZyBjb3B5LiBGaWxlcyBhcmUgbm90IGRlbGV0ZWQgZnJv
+bSB3b3JraW5nIGNvcHksIAptZXJlbHkgbm90ZWQgYXMgcmVtb3ZhbHMgaW4gdGhlIHdvcmsgbGlz
+dC4KLlRQClxmQnJlbmFtZVxmUCBcZkk8c3JjPiBcZkk8ZHN0PlxmUApSZW5hbWUgZmlsZXMgZnJv
+bSBcZkk8c3JjPiBcZlAgdG8gXGZJPGRzdD4gXGZQIGluIHdvcmtpbmcgY29weS4KLlRQClxmQmNv
+bW1pdFxmUCBcZklbLS1tZXNzYWdlPTxsb2cgbWVzc2FnZT5dIFs8cGF0aG5hbWU+Li4uXVxmUCAK
+Q29tbWl0IHdvcmtpbmcgY29weSB0byBkYXRhYmFzZS4gSWYgYSAtLW1lc3NhZ2Ugb3B0aW9uIGlz
+IHByb3ZpZGVkIG9uCnRoZSBjb21tYW5kIGluZSwgaXQgaXMgdXNlZDsgb3RoZXJ3aXNlIGEgbG9n
+IG1lc3NhZ2UgZWRpdG9yIHdpbGwgYmUKaW52b2tlZC4KLlRQClxmQnVwZGF0ZVxmUCAgXGZJW3Jl
+dmlzaW9uLWlkXVxmUApVcGRhdGUgd29ya2luZyBjb3B5LgouVFAKXGZCdXBkYXRlX2lub2RlcHJp
+bnRzXGZQIApUdXJuIG9uIGlub2RlcHJpbnRzIG1vZGUsIGFuZCBmb3JjZSBhIGNhY2hlIHJlZnJl
+c2guCi5UUApcZkJwdXNoXGZQIFxmSVs8aG9zdD4gWzxjb2xsZWN0aW9uPl1dXGZQIApQdXNoIGNv
+bnRlbnRzIG9mIFxmSTxjb2xsZWN0aW9uPlxmUCB0byBkYXRhYmFzZSBvbiBcZkk8aG9zdD5cZlAg
+Ci5UUApcZkJwdWxsXGZQIFxmSVs8aG9zdD4gWzxjb2xsZWN0aW9uPl1dXGZQIApQdXNoIGNvbnRl
+bnRzIG9mIFxmSTxjb2xsZWN0aW9uPlxmUCBmcm9tIGRhdGFiYXNlIG9uIFxmSTxob3N0PlxmUCAK
+LlRQClxmQnN5bmNcZlAgXGZJPGhvc3Q+IDxjb2xsZWN0aW9uPlxmUCAKU3luYyBjb250ZW50cyBv
+ZiBcZkk8Y29sbGVjdGlvbj5cZlAgd2l0aCBkYXRhYmFzZSBvbiBcZkk8aG9zdD5cZlAgCi5UUApc
+ZkJzZXJ2ZVxmUCBcZkk8aG9zdD4gPGNvbGxlY3Rpb24+XGZQIApTZXJ2ZSBjb250ZW50cyBvZiBc
+Zkk8Y29sbGVjdGlvbj5cZlAgYXQgbmV0d29yayBhZGRyZXNzIFxmSTxob3N0PlxmUCAKLlRQClxm
+QnNldFxmUCBcZkk8ZG9tYWluPiA8bmFtZT4gPHZhbHVlPlxmUCAKU2V0IHRoZSBkYiB2YXIgXGZJ
+PG5hbWU+XGZQIGluIGRvbWFpbiBcZkk8ZG9tYWluPlxmUCB0byB2YWx1ZQpcZkk8dmFsdWU+XGZQ
+LiAKLlRQClxmQnVuc2V0XGZQIFxmSTxkb21haW4+IDxuYW1lPlxmUCAKRGVsZXRlIGFueSBzZXR0
+aW5nIGZvciBkYiB2YXIgXGZJPG5hbWU+XGZQIGluIGRvbWFpbiBcZkk8ZG9tYWluPlxmUC4KLlRQ
+ClxmQmF1dG9tYXRlXGZQIFxmSShpbnRlcmZhY2VfdmVyc2lvbnxoZWFkc3xkZXNjZW5kZW50c3xl
+cmFzZV9hbmNlc3RvcnN8dG9wb3NvcnR8YW5jZXN0cnlfZGlmZmVyZW5jZXxsZWF2ZXMpXGZQClNj
+cmlwdGluZyBpbnRlcmZhY2UuCi5UUApcZkJkYlxmUCBcZkkoaW5pdHxpbmZvfHZlcnNpb258ZHVt
+cHxsb2FkfG1pZ3JhdGV8cmVidWlsZHxleGVjdXRlfGNoZWNrKVxmUApNYW5pcHVsYXRlIGRhdGFi
+YXNlIHN0YXRlLgouU0ggREVTQ1JJUFRJT04KTW9ub3RvbmUgaXMgYSB2ZXJzaW9uIGNvbnRyb2wg
+c3lzdGVtLCB3aGljaCBhbGxvd3MgeW91IHRvIGtlZXAgb2xkCnZlcnNpb25zIG9mIGZpbGVzLCBh
+cyB3ZWxsIGFzIHNwZWNpYWwgXGZJbWFuaWZlc3QgZmlsZXNcZlAgd2hpY2gKZGVzY3JpYmUgdGhl
+IGxvY2F0aW9uIG9mIGZpbGVzIGluIGEgdHJlZS4gVW5saWtlIG90aGVyIHN5c3RlbXMsCnZlcnNp
+b25zIGluIG1vbm90b25lIGFyZSBcZklpZGVudGlmaWVkXGZQIGJ5IGNyeXB0b2dyYXBoaWMgaGFz
+aCwgYW5kCm9wZXJhdGlvbnMgYXJlIGF1dGhlbnRpY2F0ZWQgYnkgaW5kaXZpZHVhbCB1c2Vycycg
+ZXZhbHVhdGluZwpjcnlwdG9ncmFwaGljIHNpZ25hdHVyZXMgb24gbWV0YS1kYXRhLCByYXRoZXIg
+dGhhbiBhbnkgY2VudHJhbAphdXRob3JpdHkuCgpNb25vdG9uZSBrZWVwcyBhIGNvbGxlY3Rpb24g
+b2YgdmVyc2lvbnMgaW4gYSBzaW5nbGUtZmlsZSByZWxhdGlvbmFsCmRhdGFiYXNlLiBJdCBpcyBl
+c3NlbnRpYWxseSBzZXJ2ZXJsZXNzLCB1c2luZyBuZXR3b3JrIHNlcnZlcnMgb25seSBhcwp1bnRy
+dXN0ZWQgY29tbXVuaWNhdGlvbiBmYWNpbGl0aWVzLiBBIG1vbm90b25lIGRhdGFiYXNlIGlzIGEg
+cmVndWxhcgpmaWxlLCB3aGljaCBjb250YWlucyBhbGwgdGhlIGluZm9ybWF0aW9uIG5lZWRlZCB0
+byBleHRyYWN0IHByZXZpb3VzCnZlcnNpb25zIG9mIGZpbGVzLCB2ZXJpZnkgc2lnbmF0dXJlcywg
+bWVyZ2UgYW5kIG1vZGlmeSB2ZXJzaW9ucywgYW5kCmNvbW11bmljYXRlIHdpdGggbmV0d29yayBz
+ZXJ2ZXJzLgouU0ggT1BUSU9OUwouVFAKXGZCLS1oZWxwXGZQClByaW50IGhlbHAgbWVzc2FnZS4K
+LlRQClxmQi0tZGVidWdcZlAKVHVybiBvbiBkZWJ1Z2dpbmcgbG9nIG9uIHN0YW5kYXJkIGVycm9y
+IHN0cmVhbS4gVGhpcyBpcyB2ZXJ5CnZlcmJvc2UuIERlZmF1bHQgaXMgdG8gYmUgc2lsZW50LCB1
+bmxlc3MgYW4gZXJyb3Igb2NjdXJzLCBpbiB3aGljaApjYXNlIGZhaWx1cmUgbG9nIGlzIGR1bXBl
+ZC4KLlRQClxmQi0tcXVpZXRcZlAKVHVybiBvZmYgbm9ybWFsIHByb2dyZXNzIG1lc3NhZ2VzLgou
+VFAKXGZCLS1kdW1wPVxmUFxmSTxmaWxlPlxmUApEdW1wIGRlYnVnZ2luZyBsb2cgdG8gXGZJZmls
+ZVxmUCBvbiBmYWlsdXJlLgouVFAKXGZCLS1ub3N0ZFxmUApEbyBub3QgZXZhbHVhdGUgInN0YW5k
+YXJkIiBsdWEgaG9va3MgY29tcGlsZWQgaW50byBcZkJtb25vdG9uZVxmUC4KLlRQClxmQi0tbm9y
+Y1xmUApEbyBub3QgbG9hZCBsdWEgaG9va3MgZnJvbSB1c2VyJ3MgXGZCfi8ubW9ub3RvbmVyY1xm
+UCBmaWxlLgouVFAKXGZCLS1yY2ZpbGU9XGZQXGZJPGZpbGU+XGZQCkxvYWQgZXh0cmEgbHVhIGhv
+b2tzIGZyb20gXGZJZmlsZVxmUCAobWF5IGJlIGdpdmVuIG11bHRpcGxlIHRpbWVzKS4KLlRQClxm
+Qi0tZGI9XGZQXGZJPGZpbGU+XGZQClVzZSBkYXRhYmFzZSBpbiBcZklmaWxlXGZQLgouVFAKXGZC
+LS1rZXk9XGZQXGZJPGtleWlkPlxmUApVc2UgXGZJa2V5aWRcZlAgZm9yIG9wZXJhdGlvbnMgd2hp
+Y2ggcHJvZHVjZSBSU0Egc2lnbmF0dXJlcy4gRGVmYXVsdAppcyBpbmZlcnJlZCBmcm9tIHByZXNl
+bmNlIG9mIHVuaXF1ZSBwcml2YXRlIGtleSBpbiBkYXRhYmFzZS4gQ2FuIGFsc28KYmUgY3VzdG9t
+aXplZCBvbiBhIHBlci1icmFuY2ggYmFzaXMgd2l0aCBob29rIGZ1bmN0aW9uIApcZkJnZXRfYnJh
+bmNoX2tleShicmFuY2huYW1lKVxmUC4KLlRQClxmQi1rXGZQIFxmSTxrZXlpZD5cZlAKQW4gYWxp
+YXMgZm9yIFxmQi0ta2V5PVxmUFxmSTxrZXlpZD5cZlAKLlRQClxmQi0tYnJhbmNoPVxmUFxmSTxi
+cmFuY2huYW1lPlxmUApVc2UgXGZJYnJhbmNobmFtZVxmUCBmb3Igb3BlcmF0aW9ucyBvbiBhIGJy
+YW5jaC4gRGVmYXVsdCBpcyBpbmZlcnJlZAppbiBvcGVyYXRpb25zIG9uIGV4aXN0aW5nIGJyYW5j
+aGVzIChjb21taXQsIHVwZGF0ZSwgZXRjKS4KLlRQClxmQi1iXGZQIFxmSTxicmFuY2huYW1lPlxm
+UApBbiBhbGlhcyBmb3IgXGZCLS1icmFuY2g9XGZQXGZJPGJyYW5jaG5hbWU+XGZQCi5UUApcZkIt
+LXRpY2tldD1cZlBcZklkb3R8Y291bnRcZlAKVXNlIHRoZSBnaXZlbiBtZXRob2QgdG8gcHJpbnQg
+dGlja2Vycy4gIFRoZSBcZkJjb3VudFxmUCBtZXRob2QgcHJpbnRzCnRoZSBjb3VudCBmb3IgZWFj
+aCB0aWNrZXIgb24gb25lIGxpbmUsIGluY3JlbWVudGluZyB0aGUgbnVtYmVycyBpbgpwbGFjZSwg
+d2hpbGUgdGhlIFxmQmRvdFxmUCBtZXRob2QgcHJpbnRzIGEgY29udGludW91cyBzdHJpbmcgb2YK
+Y2hhcmFjdGVycyAobGlrZSBzb21lIHByb2dyYW1zIHByb3ZpZGUgYSBwcm9ncmVzcyBsaW5lIG9m
+IGRvdHMpLgpUaGUgZGVmYXVsdCBpcyBcZkJjb3VudFxmUC4KLlRQClxmQi0tcmV2aXNpb249XGZQ
+XGZJPGlkPlxmUApDdXJyZW50bHkgdGhpcyBvcHRpb24gb25seSBhcHBsaWVzIHRvIHRoZSBkaWZm
+IGNvbW1hbmQgd2hlcmUgaXQgbWF5IGJlCnVzZWQgdG8gY29tcGFyZSBhIHdvcmtpbmcgY29weSB3
+aXRoIGEgc3BlY2lmaWMgcmV2aXNpb24gb3IgdG8gY29tcGFyZQp0d28gc3BlY2lmaWMgcmV2aXNp
+b25zLiBJdCB3aWxsIGxpa2VseSBhcHBseSB0byBvdGhlciBjb21tYW5kcyBpbiB0aGUKZnV0dXJl
+LgouVFAKXGZCLXJcZlAgXGZJPGlkPlxmUApBbiBhbGlhcyBmb3IgXGZCLS1yZXZpc2lvbj1cZlBc
+Zkk8aWQ+XGZQCi5UUApcZkItLW1lc3NhZ2U9XGZJPGxvZyBtZXNzYWdlPlxmUApVc2UgdGhlIGdp
+dmVuIG1lc3NhZ2UgYXMgdGhlIGNoYW5nZWxvZyB3aGVuIGNvbW1pdHRpbmcgYSBuZXcgcmV2aXNp
+b24KcmF0aGVyIHRoYW4gaW52b2tpbmcgdGhlIGxvZyBtZXNzYWdlIGVkaXRvci4gQ3VycmVudGx5
+IHRoaXMgb3B0aW9uIG9ubHkKYXBwbGllcyB0byB0aGUgY29tbWl0IGNvbW1hbmQgYnV0IGl0IG1h
+eSBhbHNvIGFwcGx5IHRvIHRoZSBjb21tZW50CmNvbW1hbmQgaW4gdGhlIGZ1dHVyZS4KLlRQClxm
+Qi1tIFxmSTxsb2cgbWVzc2FnZT5cZlAKQW4gYWxpYXMgZm9yIFxmQi0tbWVzc2FnZT1cZkk8bG9n
+IG1lc3NhZ2U+XGZQCi5UUApcZkItLWF1dGhvcj1cZkk8YXV0aG9yIGVtYWlsPlxmUApVc2UgdGhl
+IGdpdmVuIGF1dGhvciBhcyB0aGUgdmFsdWUgb2YgdGhlICJhdXRob3IiIGNlcnQgd2hlbiBjb21t
+aXR0aW5nCmEgbmV3IHJldmlzaW9uLCByYXRoZXIgdGhhbiB0aGUgZGVmYXVsdCBhdXRob3IuICBV
+c2VmdWwgd2hlbgpjb21taXR0aW5nIGEgcGF0Y2ggb24gYmVoYWxmIG9mIHNvbWVvbmUgZWxzZSwg
+b3Igd2hlbiBpbXBvcnRpbmcKaGlzdG9yeSBmcm9tIGFub3RoZXIgdmVyc2lvbiBjb250cm9sIHN5
+c3RlbS4KLlRQClxmQi0tZGF0ZT1cZkk8ZGF0ZSBhbmQgdGltZT5cZlAKVXNlIHRoZSBnaXZlbiBn
+aXZlbiBkYXRlIGFuZCB0aW1lIGFzIHZhbHVlIG9mIHRoZSAiZGF0ZSIgY2VydCB3aGVuCmNvbW1p
+dHRpbmcgYSBuZXcgcmV2aXNpb24sIHJhdGhlciB0aGFuIHRoZSBjdXJyZW50IHRpbWUuICBVc2Vm
+dWwgd2hlbgppbXBvcnRpbmcgaGlzdG9yeSBmcm9tIGFub3RoZXIgdmVyc2lvbiBjb250cm9sIHN5
+c3RlbS4KLlRQClxmQi0tcm9vdD1cZkk8cm9vdCBkaXI+XGZQClN0b3AgdGhlIHNlYXJjaCBmb3Ig
+YSB3b3JraW5nIGNvcHkgKGNvbnRhaW5pbmcgdGhlIEBmaWxle01UfSBkaXJlY3RvcnkpCmF0IHRo
+ZSBzcGVjaWZpZWQgcm9vdCBkaXJlY3RvcnkgcmF0aGVyIHRoYW4gYXQgdGhlIHBoeXNpY2FsIHJv
+b3Qgb2YgdGhlCmZpbGVzeXN0ZW0uCi5UUApcZkItLXhhcmdzPVxmSTxmaWxlPlxmUApJbmplY3Qg
+dGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlIGluIHBsYWNlIGFtb25nIHRoZSBjb21tYW5kIGxpbmUK
+YXJndW1lbnRzLiAgVGhpcyBtYXkgYmUgdXNlZnVsIGluIGNhc2UgdGhlIGNvbW1hbmQgbGluZSB3
+b3VsZApvdGhlcndpc2UgYmVjb21lIHRvbyBsb25nIGZvciB5b3VyIHN5c3RlbS4gIFRoaXMgb3B0
+aW9uIGNhbiBiZSB1c2VkCm1vcmUgdGhhbiBvbmNlIGlmIG5lZWRlZC4KLlRQClxmQi1AIFxmSTxm
+aWxlPlxmUApBbiBhbGlhcyBmb3IgXGZCLS14YXJncz1cZkk8ZmlsZT5cZlAKLlRQClxmQi0tYWxs
+LWZpbGVzXGZQCkluY2x1ZGUgZXZlcnkgZmlsZSBhdmFpbGFibGUgaW4gdGhlIHdvcmtpbmcgY29w
+eSBpbiB0aGUgaW52ZW50b3J5Cmxpc3QuIEJ5IGRlZmF1bHQgaW52ZW50b3J5IG9ubHkgbGlzdHMg
+YGBpbnRlcmVzdGluZycnIGZpbGVzLiBUaGlzIG9wdGlvbgppcyBzcGVjaWZpYyB0byB0aGUgQGNv
+bW1hbmR7aW52ZW50b3J5fSBjb21tYW5kLgoKLlNIIEVOVklST05NRU5UCi5UUApcZkJFRElUT1Jc
+ZlAKVXNlZCB0byBlZGl0IGNvbW1lbnRzLCBsb2cgbWVzc2FnZXMsIGV0Yy4KLlRQClxmQlZJU1VB
+TFxmUApVc2VkIGluIHByZWZlcmVuY2UgdG8gXGZCRURJVE9SXGZQLCBpZiBzZXQuCi5TSCBGSUxF
+UwouVFAKXGZCJEhPTUUvLm1vbm90b25lcmNcZlAKQSBsdWEgc2NyaXB0LCB1c2VkIGFzIGEgY3Vz
+dG9taXphdGlvbiBmaWxlLgouU0ggTk9URVMKLklQIFwoYnUKQ29tbWFuZCBsaW5lIG9wdGlvbnMg
+b3ZlcnJpZGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZApzZXR0aW5ncyBpbiBsdWEgc2NyaXB0
+cyAoc3VjaCBhcyBcZkIubW9ub3RvbmVyY1xmUCkKLlNIICJTRUUgQUxTTyIKXGZCaW5mbyBtb25v
+dG9uZVxmUAouU0ggQlVHUwpzZWUgaHR0cDovL3NhdmFubmFoLm5vbmdudS5vcmcvYnVncy8/Z3Jv
+dXA9bW9ub3RvbmUKLlNIIEFVVEhPUgpncmF5ZG9uIGhvYXJlIDxncmF5ZG9uQHBvYm94LmNvbT4K
+])
+
+UNB64(parent.b64, parent)
+UNB64(left.b64, left)
+UNB64(right.b64, right)
+UNB64(correct.b64, correct)
+
+AT_CHECK(cp -f parent testfile)
+AT_CHECK(MONOTONE add testfile, [], [ignore], [ignore])
+COMMIT(testbranch)
+PARENT_SHA=`BASE_REVISION`
+
+AT_CHECK(cp -f left testfile)
+COMMIT(testbranch)
+
+REVERT_TO($PARENT_SHA)
+
+AT_CHECK(cp -f right testfile)
+COMMIT(testbranch)
+
+AT_CHECK(MONOTONE --branch=testbranch merge, [], [ignore], [ignore])
+
+AT_CHECK(MONOTONE update, [], [ignore], [ignore])
+AT_CHECK(cmp testfile correct)
+
+AT_CLEANUP
--- testsuite.at
+++ testsuite.at
@@ -589,3 +589,4 @@
m4_include(tests/t_select_cert.at)
m4_include(tests/t_automate_select.at)
m4_include(tests/t_update_inodeprints.at)
+m4_include(tests/t_merge_6.at)