ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2RldmVsb3AudHh0IGIvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQKaW5kZXggMGE0YzAzYS4uNTFkNjUzYiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQKKysrIGIvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQKQEAgLTEsNCArMSw0IEBACi0qZGV2ZWxvcC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEyIEphbiAxMAorKmRldmVsb3AudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBBcHIgMjcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTIwLDYgKzIwLDcgQEAKIFZpbSBpcyBvcGVuIHNvdXJjZSBzb2Z0d2FyZS4gIEV2ZXJ5Ym9keSBpcyBlbmNvdXJhZ2VkIHRvIGNvbnRyaWJ1dGUgdG8gaGVscAogaW1wcm92aW5nIFZpbS4gIEZvciBzZW5kaW5nIHBhdGNoZXMgYSBjb250ZXh0IGRpZmYgImRpZmYgLWMiIGlzIHByZWZlcnJlZC4KIEFsc28gc2VlIGh0dHA6Ly93d3cudmltLm9yZy90aXBzL3RpcC5waHA/dGlwX2lkPTYxOC4KK0Fsc28gc2VlIGh0dHA6Ly92aW0ud2lraWEuY29tL3dpa2kvSG93X3RvX21ha2VfYW5kX3N1Ym1pdF9hX3BhdGNoLgogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDEuIERlc2lnbiBnb2FscwkJCQkJCSpkZXNpZ24tZ29hbHMqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ldmFsLnR4dCBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CmluZGV4IDYwZjAxYjQuLjBiNzQ3MDggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2V2YWwudHh0CisrKyBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKmV2YWwudHh0KglGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTMgTWFyIDE5CisqZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBNYXkgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTE1MCw3ICsxMTUwLDcgQEAKIAk6ICAgIHVubGV0IHM6W2tdCiAJOmVuZGZvcgogPAotCQkJCQkJKmJ1ZmZlci12YXJpYWJsZSogKmI6dmFyKgorCQkJCQkJKmJ1ZmZlci12YXJpYWJsZSogKmI6dmFyKiAqYjoqCiBBIHZhcmlhYmxlIG5hbWUgdGhhdCBpcyBwcmVjZWRlZCB3aXRoICJiOiIgaXMgbG9jYWwgdG8gdGhlIGN1cnJlbnQgYnVmZmVyLgogVGh1cyB5b3UgY2FuIGhhdmUgc2V2ZXJhbCAiYjpmb28iIHZhcmlhYmxlcywgb25lIGZvciBlYWNoIGJ1ZmZlci4KIFRoaXMga2luZCBvZiB2YXJpYWJsZSBpcyBkZWxldGVkIHdoZW4gdGhlIGJ1ZmZlciBpcyB3aXBlZCBvdXQgb3IgZGVsZXRlZCB3aXRoCkBAIC0xMTY3LDcgKzExNjcsNyBAQAogCQkgICAgOgljYWxsIE15X1VwZGF0ZSgpCiAJCSAgICA6ZW5kaWYKIDwKLQkJCQkJCSp3aW5kb3ctdmFyaWFibGUqICp3OnZhcioKKwkJCQkJCSp3aW5kb3ctdmFyaWFibGUqICp3OnZhciogKnc6KgogQSB2YXJpYWJsZSBuYW1lIHRoYXQgaXMgcHJlY2VkZWQgd2l0aCAidzoiIGlzIGxvY2FsIHRvIHRoZSBjdXJyZW50IHdpbmRvdy4gIEl0CiBpcyBkZWxldGVkIHdoZW4gdGhlIHdpbmRvdyBpcyBjbG9zZWQuCiAKQEAgLTExNzYsMTIgKzExNzYsMTIgQEAKIEl0IGlzIGRlbGV0ZWQgd2hlbiB0aGUgdGFiIHBhZ2UgaXMgY2xvc2VkLiB7bm90IGF2YWlsYWJsZSB3aGVuIGNvbXBpbGVkCiB3aXRob3V0IHRoZSB8K3dpbmRvd3N8IGZlYXR1cmV9CiAKLQkJCQkJCSpnbG9iYWwtdmFyaWFibGUqICpnOnZhcioKKwkJCQkJCSpnbG9iYWwtdmFyaWFibGUqICpnOnZhciogKmc6KgogSW5zaWRlIGZ1bmN0aW9ucyBnbG9iYWwgdmFyaWFibGVzIGFyZSBhY2Nlc3NlZCB3aXRoICJnOiIuICBPbWl0dGluZyB0aGlzIHdpbGwKIGFjY2VzcyBhIHZhcmlhYmxlIGxvY2FsIHRvIGEgZnVuY3Rpb24uCUJ1dCAiZzoiIGNhbiBhbHNvIGJlIHVzZWQgaW4gYW55IG90aGVyCiBwbGFjZSBpZiB5b3UgbGlrZS4KIAotCQkJCQkJKmxvY2FsLXZhcmlhYmxlKiAqbDp2YXIqCisJCQkJCQkqbG9jYWwtdmFyaWFibGUqICpsOnZhciogKmw6KgogSW5zaWRlIGZ1bmN0aW9ucyBsb2NhbCB2YXJpYWJsZXMgYXJlIGFjY2Vzc2VkIHdpdGhvdXQgcHJlcGVuZGluZyBhbnl0aGluZy4KIEJ1dCB5b3UgY2FuIGFsc28gcHJlcGVuZCAibDoiIGlmIHlvdSBsaWtlLiAgSG93ZXZlciwgd2l0aG91dCBwcmVwZW5kaW5nICJsOiIKIHlvdSBtYXkgcnVuIGludG8gcmVzZXJ2ZWQgdmFyaWFibGUgbmFtZXMuICBGb3IgZXhhbXBsZSAiY291bnQiLiAgQnkgaXRzZWxmIGl0CkBAIC0xMjY0LDcgKzEyNjQsNyBAQAogdmFyaWFibGVzIGZvciBlYWNoIGJ1ZmZlci4gIFVzZSBsb2NhbCBidWZmZXIgdmFyaWFibGVzIGluc3RlYWQgfGI6dmFyfC4KIAogCi1QcmVkZWZpbmVkIFZpbSB2YXJpYWJsZXM6CQkJKnZpbS12YXJpYWJsZSogKnY6dmFyKgorUHJlZGVmaW5lZCBWaW0gdmFyaWFibGVzOgkJCSp2aW0tdmFyaWFibGUqICp2OnZhciogKnY6KgogCiAJCQkJCSp2OmJldmFsX2NvbCogKmJldmFsX2NvbC12YXJpYWJsZSoKIHY6YmV2YWxfY29sCVRoZSBudW1iZXIgb2YgdGhlIGNvbHVtbiwgb3ZlciB3aGljaCB0aGUgbW91c2UgcG9pbnRlciBpcy4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX3B5dGgudHh0IGIvcnVudGltZS9kb2MvaWZfcHl0aC50eHQKaW5kZXggMDQ0ZDkyYS4uYTZiYjU1YyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaWZfcHl0aC50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfcHl0aC50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfcHl0aC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIEZlYiAwMworKmlmX3B5dGgudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBNYXkgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgUGF1bCBNb29yZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW5kZXgudHh0IGIvcnVudGltZS9kb2MvaW5kZXgudHh0CmluZGV4IDdjZTg3Y2YuLjU0NTY2MTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luZGV4LnR4dAorKysgYi9ydW50aW1lL2RvYy9pbmRleC50eHQKQEAgLTEsNCArMSw0IEBACi0qaW5kZXgudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIEZlYiAyOAorKmluZGV4LnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBNYXkgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTcyNSw2ICs3MjUsNyBAQAogCQkJCSAgIGN1cnNvciBOIHRpbWVzLCBsZWF2ZSB0aGUgY3Vyc29yIGFmdGVyIGl0CiB8Z1F8CQlnUQkJICAgIHN3aXRjaCB0byAiRXgiIG1vZGUgd2l0aCBWaW0gZWRpdGluZwogfGdSfAkJZ1IJCTIgIGVudGVyIFZpcnR1YWwgUmVwbGFjZSBtb2RlCit8Z1R8CQlnVAkJICAgZ28gdG8gdGhlIHByZXZpb3VzIHRhYiBwYWdlCiB8Z1V8CQlnVXttb3Rpb259CTIgIG1ha2UgTm1vdmUgdGV4dCB1cHBlcmNhc2UKIHxnVnwJCWdWCQkgICBkb24ndCByZXNlbGVjdCB0aGUgcHJldmlvdXMgVmlzdWFsIGFyZWEKIAkJCQkgICB3aGVuIGV4ZWN1dGluZyBhIG1hcHBpbmcgb3IgbWVudSBpbiBTZWxlY3QKQEAgLTc2Miw2ICs3NjMsNyBAQAogfGdxfAkJZ3F7bW90aW9ufQkyICBmb3JtYXQgTm1vdmUgdGV4dAogfGdyfAkJZ3J7Y2hhcn0JMiAgdmlydHVhbCByZXBsYWNlIE4gY2hhcnMgd2l0aCB7Y2hhcn0KIHxnc3wJCWdzCQkgICBnbyB0byBzbGVlcCBmb3IgTiBzZWNvbmRzIChkZWZhdWx0IDEpCit8Z3R8CQlndAkJICAgZ28gdG8gdGhlIG5leHQgdGFiIHBhZ2UKIHxndXwJCWd1e21vdGlvbn0JMiAgbWFrZSBObW92ZSB0ZXh0IGxvd2VyY2FzZQogfGd2fAkJZ3YJCSAgIHJlc2VsZWN0IHRoZSBwcmV2aW91cyBWaXN1YWwgYXJlYQogfGd3fAkJZ3d7bW90aW9ufQkyICBmb3JtYXQgTm1vdmUgdGV4dCBhbmQga2VlcCBjdXJzb3IKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21hcC50eHQgYi9ydW50aW1lL2RvYy9tYXAudHh0CmluZGV4IDU5YzY2MWQuLjAzOWI3N2IgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21hcC50eHQKKysrIGIvcnVudGltZS9kb2MvbWFwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptYXAudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTIgQXByIDEzCisqbWFwLnR4dCogICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIE1heSAwNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDksNyArNDksNyBAQAogOm5tW2FwXQl7bGhzfSB7cmhzfQkJfG1hcG1vZGUtbnwJCSo6bm0qICo6bm1hcCoKIDp2bVthcF0Je2xoc30ge3Joc30JCXxtYXBtb2RlLXZ8CQkqOnZtKiAqOnZtYXAqCiA6eG1bYXBdCXtsaHN9IHtyaHN9CQl8bWFwbW9kZS14fAkJKjp4bSogKjp4bWFwKgotOnNtYXAJe2xoc30ge3Joc30JCXxtYXBtb2RlLXN8CQkgICAgICAqOnNtYXAqCis6c21hcAl7bGhzfSB7cmhzfQkJfG1hcG1vZGUtc3wJCSAgICAqOnNtYXAqCiA6b21bYXBdCXtsaHN9IHtyaHN9CQl8bWFwbW9kZS1vfAkJKjpvbSogKjpvbWFwKgogOm1hcCEJe2xoc30ge3Joc30JCXxtYXBtb2RlLWljfAkJKjptYXAhKgogOmltW2FwXQl7bGhzfSB7cmhzfQkJfG1hcG1vZGUtaXwJCSo6aW0qICo6aW1hcCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0IGIvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKaW5kZXggYzNlOTFlZC4uNjNhYzE2ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKKysrIGIvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBBcHIgMDUKKypvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIEFwciAyNwogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yNzcsOCArMjc3LDEwIEBACiB2YWx1ZSwgIjpzZXRsb2NhbCBsaXN0IiBvbmx5IGNoYW5nZXMgdGhlIGxvY2FsIHZhbHVlIGFuZCAiOmUgdHdvIiBnZXRzIHRoZQogZ2xvYmFsIHZhbHVlLiAgTm90ZSB0aGF0IGlmIHlvdSBkbyB0aGlzIG5leHQ6ID4KIAk6ZSBvbmUKLVlvdSB3aWxsIG5vdCBnZXQgYmFjayB0aGUgJ2xpc3QnIHZhbHVlIGFzIGl0IHdhcyB0aGUgbGFzdCB0aW1lIHlvdSBlZGl0ZWQKLSJvbmUiLiAgVGhlIG9wdGlvbnMgbG9jYWwgdG8gYSB3aW5kb3cgYXJlIG5vdCByZW1lbWJlcmVkIGZvciBlYWNoIGJ1ZmZlci4KK1lvdSB3aWxsIGdldCBiYWNrIHRoZSAnbGlzdCcgdmFsdWUgYXMgaXQgd2FzIHRoZSBsYXN0IHRpbWUgeW91IGVkaXRlZCAib25lIi4KK1RoZSBvcHRpb25zIGxvY2FsIHRvIGEgd2luZG93IGFyZSByZW1lbWJlcmVkIGZvciBlYWNoIGJ1ZmZlci4gIFRoaXMgYWxzbworaGFwcGVucyB3aGVuIHRoZSBidWZmZXIgaXMgbm90IGxvYWRlZCwgYnV0IHRoZXkgYXJlIGxvc3Qgd2hlbiB0aGUgYnVmZmVyIGlzCit3aXBlZCBvdXQgfDpid2lwZXwuCiAKIAkJCQkJCQkqOnNldGwqICo6c2V0bG9jYWwqCiA6c2V0bFtvY2FsXSAuLi4JCUxpa2UgIjpzZXQiIGJ1dCBzZXQgb25seSB0aGUgdmFsdWUgbG9jYWwgdG8gdGhlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzIGIvcnVudGltZS9kb2MvdGFncwppbmRleCBjOWI3MTQwLi4yNzc1ZTg4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzCisrKyBiL3J1bnRpbWUvZG9jL3RhZ3MKQEAgLTQ3NzcsNiArNDc3Nyw3IEBACiBhewltb3Rpb24udHh0CS8qYXsqCiBhfQltb3Rpb24udHh0CS8qYX0qCiBiCW1vdGlvbi50eHQJLypiKgorYjoJZXZhbC50eHQJLypiOioKIGI6Y2hhbmdlZHRpY2sJZXZhbC50eHQJLypiOmNoYW5nZWR0aWNrKgogYjpjaGFuZ2Vsb2dfbmFtZQlmaWxldHlwZS50eHQJLypiOmNoYW5nZWxvZ19uYW1lKgogYjpjdXJyZW50X3N5bnRheC12YXJpYWJsZQlzeW50YXgudHh0CS8qYjpjdXJyZW50X3N5bnRheC12YXJpYWJsZSoKQEAgLTU4MDUsNiArNTgwNiw3IEBACiBnLQl1bmRvLnR4dAkvKmctKgogZzAJbW90aW9uLnR4dAkvKmcwKgogZzgJdmFyaW91cy50eHQJLypnOCoKK2c6CWV2YWwudHh0CS8qZzoqCiBnOk5ldHJ3VG9wTHZsTWVudQlwaV9uZXRydy50eHQJLypnOk5ldHJ3VG9wTHZsTWVudSoKIGc6TmV0cndfY29yZWhhbmRsZXIJcGlfbmV0cncudHh0CS8qZzpOZXRyd19jb3JlaGFuZGxlcioKIGc6TmV0cndfZnVuY3JlZglwaV9uZXRydy50eHQJLypnOk5ldHJ3X2Z1bmNyZWYqCkBAIC02NTcyLDYgKzY1NzQsNyBAQAoga2V5cygpCWV2YWwudHh0CS8qa2V5cygpKgoga25vd24tYnVncwl0b2RvLnR4dAkvKmtub3duLWJ1Z3MqCiBsCW1vdGlvbi50eHQJLypsKgorbDoJZXZhbC50eHQJLypsOioKIGw6dmFyCWV2YWwudHh0CS8qbDp2YXIqCiBsQ3Vyc29yCW1ieXRlLnR4dAkvKmxDdXJzb3IqCiBsYWNlLnZpbQlzeW50YXgudHh0CS8qbGFjZS52aW0qCkBAIC03MzI5LDYgKzczMzIsNyBAQAogcHl0aG9uLWV2YWwJaWZfcHl0aC50eHQJLypweXRob24tZXZhbCoKIHB5dGhvbi1leGFtcGxlcwlpZl9weXRoLnR4dAkvKnB5dGhvbi1leGFtcGxlcyoKIHB5dGhvbi1pbnB1dAlpZl9weXRoLnR4dAkvKnB5dGhvbi1pbnB1dCoKK3B5dGhvbi1vcHRpb25zCWlmX3B5dGgudHh0CS8qcHl0aG9uLW9wdGlvbnMqCiBweXRob24tb3V0cHV0CWlmX3B5dGgudHh0CS8qcHl0aG9uLW91dHB1dCoKIHB5dGhvbi1weWV2YWwJaWZfcHl0aC50eHQJLypweXRob24tcHlldmFsKgogcHl0aG9uLXJhbmdlCWlmX3B5dGgudHh0CS8qcHl0aG9uLXJhbmdlKgpAQCAtODI0Miw2ICs4MjQ2LDcgQEAKIHV0Zi04LXR5cGluZwltYnl0ZS50eHQJLyp1dGYtOC10eXBpbmcqCiB1dGY4CW1ieXRlLnR4dAkvKnV0ZjgqCiB2CXZpc3VhbC50eHQJLyp2KgordjoJZXZhbC50eHQJLyp2OioKIHY6YmV2YWxfYnVmbnIJZXZhbC50eHQJLyp2OmJldmFsX2J1Zm5yKgogdjpiZXZhbF9jb2wJZXZhbC50eHQJLyp2OmJldmFsX2NvbCoKIHY6YmV2YWxfbG51bQlldmFsLnR4dAkvKnY6YmV2YWxfbG51bSoKQEAgLTg1MzUsNiArODU0MCw3IEBACiB3CW1vdGlvbi50eHQJLyp3KgogdzMyLWNsaWVudHNlcnZlcglyZW1vdGUudHh0CS8qdzMyLWNsaWVudHNlcnZlcioKIHczMi14cG0tc3VwcG9ydAlndWlfdzMyLnR4dAkvKnczMi14cG0tc3VwcG9ydCoKK3c6CWV2YWwudHh0CS8qdzoqCiB3OmN1cnJlbnRfc3ludGF4CXN5bnRheC50eHQJLyp3OmN1cnJlbnRfc3ludGF4KgogdzpxdWlja2ZpeF90aXRsZQlxdWlja2ZpeC50eHQJLyp3OnF1aWNrZml4X3RpdGxlKgogdzp2YXIJZXZhbC50eHQJLyp3OnZhcioKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggODM4MWU2Yi4uMmNmZTYzYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIEFwciAyNAorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBNYXkgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDgsNiArNDgsOCBAQAogCiBKYXZhc2NyaXB0IGZpbGUgd2hlcmUgaW5kZW50IGdldHMgc3R1Y2sgb246IEdhbGF4eU1hc3RlciwgMjAxMiBNYXkgMy4KIAorTmVkZXJsYW5kc2UgdmVydGFsaW5nIHR1dG9yLiAoUm9iIEJpc2hvZmYsIDIwMTMgQXByIDI0KQorCiBUaGUgQ29tcGxldGVEb25lIGF1dG9jb21tYW5kIG5lZWRzIHNvbWUgaW5mbyBwYXNzZWQgdG8gaXQ6CiAtIFRoZSB3b3JkIHRoYXQgd2FzIHNlbGVjdGVkIChlbXB0eSBpZiBhYmFuZG9uZWQgY29tcGxldGUpCiAtIFR5cGUgb2YgY29tcGxldGlvbjogdGFnLCBvbW5pZnVuYywgdXNlciBmdW5jLgpAQCAtNzYsOCArNzgsMjIgQEAKIAogUGF0Y2ggdG8gbWFrZSB2aW0uYmluZGV2YWwoKSBpbiBQeXRob24gd29yay4gKFl1a2loaXJvIE5ha2FkYWlyYSwgMjAxMyBNYXIgMjUpCiAKK1BhdGNoIHRvIGF2b2lkIHdyb25nIGVycm9yIG1lc3NhZ2UgZm9yIDEuMFswXS4gKFlhc3VoaXJvIE1hdHN1bW90bywgMjAxMyBNYXkKKzEpCisKK1BhdGNoIHRvIGludmVydCBjaGFyYWN0ZXJzIGRpZmZlcmVudGx5IGluIEdUSy4gKFl1a2loaXJvIE5ha2FkYWlyYSwgMjAxMyBNYXkKKzUpCisKK1BhdGNoIGZvciAnYmFja3VwY29weScgZGVmYXVsdCBiZWhhdmlvciBmb3Igc3ltbGlua3Mgb24gV2luZG93cy4gKERhdmlkIFBvcGUsCisyMDEyIE1hciAyMSwgdXBkYXRlIE1hciAzMSkKK1dpdGggZml4IGZvciBtZW1vcnkgbGVhazogS2VuIFRha2F0YSwgMjAxMiBBdWcgMjQKK0Fub3RoZXIgdXBkYXRlIFNlcCAyNC4KK0Fsc28gcGF0Y2ggZnJvbSBKb2VyZyBCb3JuZW1hbm4sIDIwMTMgQXByIDMwLgorCiBEbyBhbGxvdyByZWFsIHRhZ3MgYWJvdmUgdGhlICFfVEFHIGVudHJpZXMuIFVuZG8gb2xkZXIgcGF0Y2guIElzc3VlIDkwLgogCitQYXRjaCB0byBhZGQgdGhlIGJ1ZmZlcmxpc3QoKSBmdW5jdGlvbi4gKFllZ2FwcGFuIExha3NobWFuYW4sIDIwMTMgTWF5IDUpCisKIFBhdGNoIHRvIHN1cHBvcnQgJ3UnIGluIGludGVyYWN0aXZlIHN1YnN0aXR1dGUuIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTIgU2VwCiAyOCkgIFdpdGggdGVzdHM6IE9jdCA5LgogCkBAIC05NCw2ICsxMTAsMzAgQEAKIAogSXNzdWUgNTQ6IGRvY3VtZW50IGJlaGF2aW9yIG9mIC1jb21wbGV0ZSwgYWxzbyBleHBhbmRzIGFyZy4KIAorUHl0aG9uIHBhdGNoIDc6IG1vdmUgbW9yZSB0byBpZl9weV9ib3R5LiAoWnlYIDIwMTMgQXByIDI2KQorUHl0aG9uIHBhdGNoIDg6IGFkZCB2aW0ud2luZG93Lm51bWJlci4gKFp5WCAyMDEzIEFwciAyNikKK1B5dGhvbiBwYXRjaCA5OiByZW1vdmUgdXNlbGVzcyBjYWxscy4uIChaeVggMjAxMyBBcHIgMjYpCitQeXRob24gcGF0Y2ggMTA6IHdpbmRvdyBwb3NpdGlvbi4gKFp5WCAyMDEzIEFwciAyNikKK1B5dGhvbiBwYXRjaCAxMTogcmVvcmRlciBjb2RlIGluIGlmX3B5X2JvdGggKFp5WCAyMDEzIEFwciAyOCkKK1B5dGhvbiBwYXRjaCAxMjogZml4IFNFR1ZzIChaeVggMjAxMyBBcHIgMjgpCitQeXRob24gcGF0Y2ggMTM6IG5lZ2F0aXZlIGluZGljZXMgd2VyZSBmYWlsaW5nIChaeVggMjAxMyBBcHIgMjgpCitQeXRob24gcGF0Y2ggMTQ6IHRlc3RzIGZvciBwcmV2aW91cyBmaXhlcyAoWnlYIDIwMTMgQXByIDI4KQorUHl0aG9uIHBhdGNoIDE1OiBtYWtlIGJ1Zmxpc3QgYSBidWZtYXAgKFp5WCAyMDEzIEFwciAyOCkgIGluY29tcGF0aWJsZT8KK1B5dGhvbiBwYXRjaCAxNjogZml4IG5hbWUgb2YgRnVuY3Rpb25UeXBlIChaeVggMjAxMyBBcHIgMjgpCitQeXRob24gcGF0Y2ggMTc6IGFkZCBpdGVyYXRvcnMgKFp5WCAyMDEzIEFwciAyOCkKK1B5dGhvbiBwYXRjaCAxODogUHl0aG9uIDIuMiBzdXBwb3J0IChaeVggMjAxMyBBcHIgMjgpCitQeXRob24gcGF0Y2ggMTk6IGRyb3Agc3VwcG9ydCBmb3Igb2xkIFB5dGhvbnMgKFp5WCAyMDEzIEFwciAyOCkKK1B5dGhvbiBwYXRjaCAyMDogdGVzdHMgZm9yIHZpbS5idWZmZXJzIChaeVggMjAxMyBBcHIgMjgsIHNlY29uZCBvbmUpCitQeXRob24gcGF0Y2ggMjBhOiB0ZXN0cyBmb3IgdmltLmJ1ZmZlcmxpc3QgKFp5WCAyMDEzIE1heSAxKQorUHl0aG9uIHBhdGNoIDIxOiBhZGQgdmltLnRhYnBhZ2VzIGFuZCB2aW0uY3VycmVudC50YWJwYWdlIChaeVggMjAxMyBNYXkgMSkKK1B5dGhvbiBwYXRjaCAyMjogbWFrZSBLZXlFcnJvcnMgdXNlIFB5RXJyX1NldE9iamVjdCAoWnlYIDIwMTMgTWF5IDEpCitQeXRob24gcGF0Y2ggMjM6IHRyYW5zZm9ybSBhbmQgY2xlYW4gcHl0aG9uIGV4Y2VwdGlvbnMgKFp5WCAyMDEzIE1heSAxKQorUHl0aG9uIHBhdGNoIDI0OiBhZGQgYWJpbGl0eSB0byBhc3NpZ24gdG8gbW9yZSB2aW0uY3VycmVudCBhdHRyaWJ1dGVzIChaeVgKKwkJMjAxMyBNYXkgMSkKK1B5dGhvbiBwYXRjaCAyNTogbWFrZSB2aW0uZXJyb3IgRXhjZXB0aW9uIHN1YmNsYXNzIChaeVggMjAxMyBNYXkgMSkKK1B5dGhvbiBwYXRjaCAyNjogY2hlY2sgd2hldGhlciBQeU9iamVjdF9Jc1RydWUgZmFpbGVkIChaeVggMjAxMyBNYXkgMSkKK1B5dGhvbiBwYXRjaCAyNzogYWRkIHRlc3RzIGZvciB2YXJpb3VzIHB5dGhvbiBpbnRlcmZhY2VzIChaeVggMjAxMyBNYXkgMSkKKwogTWF0Y2hlcyBtaWdodCBiZSBoaWdobGlnaHRlZCBjb3JyZWN0bHkuIEluZWZmaWNpZW50IHBhdGNoIGJ5IENocmlzdGlhbgogQnJhYmFuZHQsIDIwMTMgRmViIDI2LgogCkBAIC0xMTgsNiArMTU4LDggQEAKIAogUGF0Y2ggdG8gY2hlY2sgaWYgJ2ZvbGRleHByJyBzZXRzIGRpZF9lbXNnLiAoQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEzIE1hciAyMCkKIAorTm8gY29tcGxldGlvbiBmb3IgOnhtYXAgYW5kIDpzbWFwLiAoWXVraWhpcm8gTmFrYWRhaXJhLCAyMDEzIE1heSA1KQorCiBQYXRjaCB0byBzZXQgYW50aWFsaWFzaW5nIHN0eWxlIG9uIFdpbmRvd3MuIChPbmRyZWogQmFsYXosIDIwMTMgTWFyIDE0KQogTmVlZHMgYSBkaWZmZXJlbnQgY2hlY2sgZm9yIENMRUFSVFlQRV9RVUFMSVRZLgogCkBAIC0yMzUsMTEgKzI3Nyw2IEBACiBmb3IgYSB1c2VyIGFjdGlvbiB3aXRob3V0IGEgcHJvbXB0LiAoTWFhcnRlbiBCaWxsZW1vbnQsIDIwMTIgRmViIDMpCiBEbyBnaXZlIHRoZSBwcm9tcHQ/IFF1aXQgd2l0aCBhbiBlcnJvcj8KIAotUGF0Y2ggZm9yICdiYWNrdXBjb3B5JyBkZWZhdWx0IGJlaGF2aW9yIGZvciBzeW1saW5rcyBvbiBXaW5kb3dzLiAoRGF2aWQgUG9wZSwKLTIwMTIgTWFyIDIxLCB1cGRhdGUgTWFyIDMxKQotV2l0aCBmaXggZm9yIG1lbW9yeSBsZWFrOiBLZW4gVGFrYXRhLCAyMDEyIEF1ZyAyNAotQW5vdGhlciB1cGRhdGUgU2VwIDI0LgotCiBQYXRjaCB0byBsaXN0IHVzZXIgZGlncmFwaHMuIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTIgQXByIDE0KQogCiBQYXRjaCBmb3IgaW5wdXQgbWV0aG9kIHN0YXR1cy4gKEhpcm9oaXRvIEhpZ2FzaGksIDIwMTIgQXByIDE4KQpAQCAtNDE2OSw3ICs0MjA2LDcgQEAKIDggICBJbiBibG9ja3dpc2UgbW9kZSwgdHlwZWQgY2hhcmFjdGVycyBhcmUgaW5zZXJ0ZWQgaW4gZnJvbnQgb2YgdGhlIGJsb2NrLAogICAgIGJhY2tzcGFjZSBkZWxldGVzIGEgY29sdW1uIGJlZm9yZSB0aGUgYmxvY2suIChTdGV2ZSBIYWxsKQogNyAgIEFsdC1sZWZ0bW91c2Ugc3RhcnRzIGJsb2NrIG1vZGUgc2VsZWN0aW9uIGluIE1TIFdvcmQuCi0gICAgU2VlIGh0dHA6Ly93d3cudmltLm9yZy90aXBzL3RpcC5waHA/dGlwX2lkPTc0MworICAgIFNlZSBodHRwOi8vdmltLndpa2lhLmNvbS93aWtpL1VzZV9BbHQtTW91c2VfdG9fc2VsZWN0X2Jsb2Nrd2lzZS4KIDcgICBBZGQgQ21kbGluZS1zZWxlY3QgbW9kZS4gIExpa2UgU2VsZWN0IG1vZGUsIGJ1dCB1c2VkIG9uIHRoZSBjb21tYW5kIGxpbmUuCiAgICAgLSBDaGFuZ2UgZ3VpX3NlbmRfbW91c2VfZXZlbnQoKSB0byBwYXNzIG9uIG1vdXNlIGV2ZW50cyB3aGVuICdtb3VzZScKICAgICAgIGNvbnRhaW5zICdDJyBvciAnQScuCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jbGVhbi52aW0gYi9ydW50aW1lL3N5bnRheC9jbGVhbi52aW0KaW5kZXggMTBkYzljYS4uN2JkYWNmYyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2xlYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NsZWFuLnZpbQpAQCAtMiw3ICsyLDggQEAKICIgTGFuZ3VhZ2U6CQlDbGVhbgogIiBBdXRob3I6CQlQaWV0ZXIgdmFuIEVuZ2VsZW4gPHBpZXRlcmVAc2NpLmt1bi5ubD4KICIgQ28tQXV0aG9yOglBcnRodXIgdmFuIExlZXV3ZW4gPGFydGh1cnZsQHNjaS5rdW4ubmw+Ci0iIExhc3QgQ2hhbmdlOgkyMDExIERlYyAyNSBieSBUaGlsbyBTaXgKKyIgUHJldmlvdXMgQ2hhbmdlOgkyMDExIERlYyAyNSBieSBUaGlsbyBTaXgKKyIgTGFzdCBDaGFuZ2U6CTIwMTMgQXByIDI1IGJ5IEp1cnJpw6tuIFN0dXR0ZXJoZWltCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCkBAIC0xOCw3ICsxOSw3IEBACiAiIFNvbWUgQ2xlYW4ta2V5d29yZHMKIHN5biBrZXl3b3JkIGNsZWFuQ29uZGl0aW9uYWwgaWYgY2FzZQogc3luIGtleXdvcmQgY2xlYW5MYWJlbCBsZXQhIHdpdGggd2hlcmUgaW4gb2YKLXN5biBrZXl3b3JkIGNsZWFuSW5jbHVkZSBmcm9tIGltcG9ydAorc3luIGtleXdvcmQgY2xlYW5JbmNsdWRlIGZyb20gaW1wb3J0IHF1YWxpZmllZAogc3luIGtleXdvcmQgY2xlYW5TcGVjaWFsIFN0YXJ0CiBzeW4ga2V5d29yZCBjbGVhbktleXdvcmQgaW5maXhsIGluZml4ciBpbmZpeAogc3luIGtleXdvcmQgY2xlYW5CYXNpY1R5cGUgSW50IFJlYWwgQ2hhciBCb29sIFN0cmluZwpkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci9NYWtlZmlsZSBiL3J1bnRpbWUvdHV0b3IvTWFrZWZpbGUKaW5kZXggZWQ3NDVkMi4uMzVmZTgyMSAxMDA2NDQKLS0tIGEvcnVudGltZS90dXRvci9NYWtlZmlsZQorKysgYi9ydW50aW1lL3R1dG9yL01ha2VmaWxlCkBAIC0xOCw2ICsxOCw3IEBACiAJdHV0b3IuaXQudXRmLTggXAogCXR1dG9yLmphLnNqaXMgdHV0b3IuamEuZXVjIFwKIAl0dXRvci5rby5ldWMgXAorCXR1dG9yLm5sIFwKIAl0dXRvci5uby51dGYtOCBcCiAJdHV0b3IubmIgXAogCXR1dG9yLm5iLnV0Zi04IFwKQEAgLTczLDYgKzc0LDkgQEAKIHR1dG9yLmtvLmV1YzogdHV0b3Iua28udXRmLTgKIAlpY29udiAtZiBVVEYtOCAtdCBFVUMtS1IgdHV0b3Iua28udXRmLTggPiB0dXRvci5rby5ldWMKIAordHV0b3Iubmw6IHR1dG9yLm5sLnV0Zi04CisJaWNvbnYgLWYgVVRGLTggLXQgSVNPLTg4NTktMSB0dXRvci5ubC51dGYtOCA+IHR1dG9yLm5sCisKIHR1dG9yLm5vLnV0Zi04OiB0dXRvci5ubwogCWljb252IC1mIElTTy04ODU5LTEgLXQgVVRGLTggdHV0b3Iubm8gPiB0dXRvci5uby51dGYtOAogCmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLm5sIGIvcnVudGltZS90dXRvci90dXRvci5ubApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjRkMzkyCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS90dXRvci90dXRvci5ubApAQCAtMCwwICsxLDk1MCBAQAorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorICA9ICAgIFcgZSBsIGsgbyBtICAgYiBpIGogICBkIGUgICBWIEkgTSAgIGwgZSBzIHMgZSBuICAgLSAgIFZlcnNpZSAxLjcgICAgPQorICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCisgIFZpbSBpcyBlZW4ga3JhY2h0aWdlIGVkaXRvciBtZXQgdmVlbCBjb21tYW5kbydzLCB0ZSB2ZWVsIG9tIHVpdCB0ZSBsZWdnZW4KKyAgaW4gbGVzc2VuIHpvYWxzIGRlemUuIERlemUgbGVzc2VuIHppam4gYmVkb2VsZCBvbSB2b2xkb2VuZGUgY29tbWFuZG8ncyB0ZQorICBiZWhhbmRlbGVuIG9tIGplIGluIHN0YWF0IHRlIHN0ZWxsZW4gbWV0IFZpbSB0ZSB3ZXJrZW4gYWxzIGVlbiBlZGl0b3Igdm9vcgorICBhbGdlbWVlbiBnZWJydWlrLgorCisgIERlemUgbGVzc2VuIHp1bGxlbiAyNSB0b3QgMzAgbWludXRlbiBpbiBiZXNsYWcgbmVtZW4sIGFmaGFua2VsaWprIHZhbiBkZQorICB0aWpkIGRpZSB3b3JkdCBiZXN0ZWVkIGFhbiBoZXQgdWl0cHJvYmVyZW4gdmFuIGRlIGNvbW1hbmRvJ3MuCisKKyAgTEVUIE9QOgorICBEb29yIGRlIGNvbW1hbmRvJ3MgaW4gZGV6ZSBsZXNzZW4gdmVyYW5kZXJ0IGRlIHRla3N0LiBNYWFrIGVlbiBrb3BpZSB2YW4KKyAgZGl0IGJlc3RhbmQgb20gbWVlIHRlIG9lZmVuZW4gKGFscyBqZSAidmltdHV0b3IiIHVpdHZvZXJkZSwgaXMgZGl0IGFsIGVlbgorICBrb3BpZSkuCisKKyAgRGV6ZSBsZXNzZW4gemlqbiBiZWRvZWxkIG9tIGFsIGRvZW5kZSB0ZSBsZXJlbi4gRGF0IGJldGVrZW50IGRhdCBqZSBkZQorICBjb21tYW5kbydzIG1vZXQgdWl0dm9lcmVuIG9tIHplIGdvZWQgdGUgbGVyZW4ga2VubmVuLiBBbHMgamUgZGUgdGVrc3QKKyAgYWxsZWVuIG1hYXIgZG9vcmxlZXN0LCB6YWwgamUgZGUgY29tbWFuZG8ncyBuaWV0IGxlcmVuIQorCisgIFpvcmcgZXJ2b29yIGRhdCBkZSA8Q2FwcyBMb2NrPiB0b2V0cyBOSUVUIGlzIGluZ2VkcnVrdCBlbiBkcnVrIHZhYWsgZ2Vub2VnCisgIG9wIGRlIGotdG9ldHMgb20gZGUgY3Vyc29yIHpvIHRlIGJld2VnZW4gZGF0IGxlcyAxLjEgdm9sbGVkaWcgb3AgaGV0CisgIHNjaGVybSBzdGFhdC4KKworICBMRVQgT1A6IEluIGRlemUgbGVzc2VuIHdvcmRlbiBvbXdpbGxlIHZhbiBkZSBkdWlkZWxpamtoZWlkIHZhYWsgc3BhdGllcworICBnZWJydWlrdCBiaW5uZW4gZWVuIGNvbW1hbmRvIChidi4gIjQwIEciIG9mICJvcGVyYXRvciBbZ2V0YWxdIGJld2VnaW5nIikuCisgIFRpayBkZXplIHNwYXRpZXMgZWNodGVyIE5JRVQuIFplIHZlcnN0b3JlbiBkZSB3ZXJraW5nLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAxLjE6ICBWRVJQTEFBVFMgREUgQ1VSU09SCisKKyAgKiogRGUgY3Vyc29yIHdvcmR0IHZlcnBsYWF0c3QgbWV0IGRlIHRvZXRzZW4gaCwgaiwgaywgbCB6b2FscyBhYW5nZWdldmVuLiAqKgorICAgICAgICAgIF4KKyAgICAgICAgICBrICAgICAgIEhpbnQ6ICBEZSBoIGlzIGRlIG1lZXN0IGxpbmtzZSBlbiBiZXdlZWd0IG5hYXIgbGlua3MuCisgICAgICA8IGggICBsID4gICAgICAgICAgRGUgbCBpcyBkZSBtZWVzdCByZWNodHNlIGVuIGJld2VlZ3QgbmFhciByZWNodHMuCisgICAgICAgICAgaiAgICAgICAgICAgICAgRGUgaiBsaWprdCBvcCBlZW4gcGlqbCBuYWFyIGJlbmVkZW4uCisgICAgICAgICAgdgorCisgIDEuIEJld2VlZyBkZSBjdXJzb3Igb3ZlciBoZXQgc2NoZXJtIG9tIGVyIHZlcnRyb3V3ZCBtZWUgdGUgcmFrZW4uCisKKyAgMi4gRHJ1ayBkZSBvbWxhYWctdG9ldHMgKGopIHRvdCBoaWogcmVwZXRlZXJ0LgorICAgICBOdSB3ZWV0IGplIGhvZSBqZSBkZSB2b2xnZW5kZSBsZXMgYmVyZWlrdC4KKworICAzLiBHZWJydWlrIGRlIG9tbGFhZy10b2V0cyBvbSBuYWFyIGxlcyAxLjIgdGUgZ2Fhbi4KKworICBPUE1FUktJTkc6IEFscyBqZSB0d2lqZmVsdCBhYW4gd2F0IGplIHRpa3RlLCBkcnVrIDxFU0M+IG9tIGluIGRlIG9wZHJhY2h0LQorICAgICAgICAgICAgIG1vZHVzIHRlIGtvbWVuLiBUaWsgZGFhcm5hIGhldCBjb21tYW5kbyBkYXQgYmVkb2VsZCB3b3JkdC4KKworICBPUE1FUktJTkc6IFBpamx0amVzLXRvZXRzZW4gd2Vya2VuIG9vay4gTWV0IGRlIGhqa2wtdG9ldHNlbiBrYW4gamUgc25lbGxlcgorICAgICAgICAgICAgIHJvbmRiZXdlZ2VuLCBhbHMgamUgZXIgZWVubWFhbCBhYW4gZ2V3ZW5kIGJlbnQuIEVjaHQgd2FhciEKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMS4yOiBWSU0gQUZTTFVJVEVOCisKKyAgICAgICEhIExFVCBPUDogTGVlcyBkZXplIGxlcyBnb2VkIGRvb3Igdm9vcmRhdCBqZSBpZXRzIHVpdHZvZXJ0ISEKKworICAxLiBEcnVrIGRlIDxFU0M+IHRvZXRzIChvbSB6ZWtlciBpbiBkZSBvcGRyYWNodG1vZHVzIHRlIHppdHRlbikuCisKKyAgMi4gVGlrICAgOnEhIDxFTlRFUj4KKyAgICAgSGllcm1lZSB3b3JkdCBkZSBlZGl0b3IgYWZnZXNsb3Rlbi4gQWxsZSB2ZXJhbmRlcmluZ2VuIGdhYW4gVkVSTE9SRU4uCisKKyAgMy4gTnUgemllIGplIGRlIHNoZWxsLXByb21wdC4gVGlrIGhldCBjb21tYW5kbyB3YWFybWVlIGplIGRlemUgbGVzc2VuCisgICAgIGhlYnQgb3BnZXJvZXBlbi4gRGF0IGlzIG5vcm1hYWwgZ2VzcHJva2VuOiAgdmltdHV0b3IgPEVOVEVSPgorCisgIDQuIEFscyBqZSBkZXplIHN0YXBwZW4gZ29lZCBoZWJ0IGRvb3JnZWxlemVuLCB2b2VyIGRhbiBkZSBzdGFwcGVuIDEgdG90IDMKKyAgICAgdWl0IG9tIGRlIGVkaXRvciB0ZSB2ZXJsYXRlbiBlbiB3ZWVyIG9wIHRlIHN0YXJ0ZW4uCisKKyAgTEVUIE9QOiA6cSEgPEVOVEVSPiB2ZXJ3ZXJwdCBhbGxlIHZlcmFuZGVyaW5nZW4gZGllIGplIGFhbmJyYWNodC4gRWVuIHBhYXIKKyAgICAgICAgICBsZXNzZW4gdmVyZGVyIHphbCBqZSBsZXJlbiBob2UgdmVyYW5kZXJpbmdlbiB3b3JkZW4gb3BnZXNsYWdlbiBpbgorICAgICAgICAgIGVlbiBiZXN0YW5kLgorCisgIDUuIEJld2VlZyBkZSBjdXJzb3Igb21sYWFnIG5hYXIgbGVzIDEuMy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMS4zOiBURUtTVCBCRVdFUktFTiAtIFdJU1NFTgorCisgICAgICAgICAgKiogVGlrICB4ICBvbSBoZXQgdGVrZW4gb25kZXIgZGUgY3Vyc29yIHRlIHdpc3Nlbi4gKioKKworICAxLiBHYSBtZXQgZGUgY3Vyc29yIG5hYXIgZGUgcmVnZWwgdmVyZGVyb3AgbWV0IC0tLT4uCisKKyAgMi4gWmV0IGRlIGN1cnNvciBvcCBlZW4gdGVrZW4gZGF0IG1vZXQgd29yZGVuIGdld2lzdCBvbSBlZW4gZm91dCB0ZQorICAgICBoZXJzdGVsbGVuLgorCisgIDMuIFRpayAgeCAgb20gaGV0IG9uZ2V3ZW5zdGUgdGVrZW4gdGUgd2lzc2VuLgorCisgIDQuIEhlcmhhYWwgZGV6ZSBzdGFwcGVuIHRvdCBkZSByZWdlbCBnb2VkIGlzLgorCisgIC0tLT4gVmkga2tlbnQgZWVubiBvcGRyYWNjY2NodG1vZHVzIGVuIGVlbiBpbnZvb2VnbW1tbW9kdXMuCisKKyAgNS4gTnUgZGUgcmVnZWwgZ2Vjb3JyaWdlZXJkIGlzIGthbiBqZSBuYWFyIGxlcyAxLjQgZ2Fhbi4KKworICBMRVQgT1A6IFByb2JlZXIgZGUgbGVzc2VuIG5pZXQgdWl0IGplIGhvb2ZkIHRlIGxlcmVuLiBMZWVyIGFsIGRvZW5kZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMS40OiBURUtTVCBCRVdFUktFTiAtIElOVk9FR0VOCisKKyAgICAgICAgICAgICAgKiogVGlrICBpICAoJ2luc2VydCcpIG9tIHRla3N0IGluIHRlIHZvZWdlbi4gKioKKworICAxLiBHYSBtZXQgZGUgY3Vyc29yIG5hYXIgZGUgZWVyc3RlIHJlZ2VsIHZlcmRlcm9wIG1ldCAtLS0+LgorCisgIDIuIE1hYWsgZGUgZWVyc3RlIHJlZ2VsIGdlbGlqayBhYW4gZGUgdHdlZWRlLiBaZXQgZGFhcnZvb3IgZGUgY3Vyc29yIG9wCisgICAgIGRlIHBsYWF0cyB3YWFyIHRla3N0IG1vZXQgd29yZGVuIGluZ2V2b2VnZC4KKworICAzLiBUaWsgIGkgIGVuIGRhYXJuYSBkZSBub2RpZ2UgYWFudnVsbGluZ2VuLgorCisgIDQuIFRpayA8RVNDPiBuYSBlbGtlIGhlcnN0ZWxkZSBmb3V0IG9tIHRlcnVnIHRlIGtlcmVuIGluIGRlIG9wZHJhY2h0bW9kdXMuCisgICAgIEhlcmhhYWwgZGUgc3RhcHBlbiAyIHRvdCA0IG9tIGRlIHppbiB0ZSB2ZXJiZXRlcmVuLgorCisgIC0tLT4gQWFuIHJlZ2VsIG9udGVrdCB3YXQgLgorICAtLS0+IEFhbiBkZXplIHJlZ2VsIG9udGJyZWVrdCB3YXQgdGVrc3QuCisKKyAgNS4gR2EgbmFhciBsZXMgMS41IGFscyBqZSBnZXdlbmQgYmVudCBhYW4gaGV0IGludm9lZ2VuIHZhbiB0ZWtzdC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMS41OiBURUtTVCBCRVdFUktFTiAtIFRPRVZPRUdFTgorCisgICAgICAgICAgICAgKiogVGlrICBBICAoJ2FwcGVuZCcpIG9tIHRla3N0IHRvZSB0ZSB2b2VnZW4uICoqCisKKyAgMS4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGRlIGVlcnN0ZSByZWdlbCB2ZXJkZXJvcCBtZXQgLS0tPi4KKyAgICAgSGV0IG1hYWt0IG5pZXQgdWl0IHdhYXIgZGUgY3Vyc29yIGluIGRlemUgcmVnZWwgc3RhYXQuCisKKyAgMi4gVGlrIGhvb2ZkbGV0dGVyICBBICBlbiB0aWsgZGUgbm9kaWdlIGFhbnZ1bGxpbmdlbi4KKworICAzLiBUaWsgPEVTQz4gbmFkYXQgZGUgdGVrc3QgaXMgYWFuZ2V2dWxkLiBabyBrZWVyIGplIHRlcnVnIGluIGRlCisgICAgIG9wZHJhY2h0bW9kdXMuCisKKyAgNC4gR2EgbmFhciBkZSB0d2VlZGUgcmVnZWwgdmVyZGVyb3AgbWV0IC0tLT4gZW4gaGVyaGFhbCBzdGFwIDIgZW4gMworICAgICBvbSBkZXplIHppbiB0ZSBjb3JyaWdlcmVuLgorCisgIC0tLT4gRXIgb250YnJlZWt0IHdhdCB0ZWtzdCBhYW4gZGUKKyAgICAgICBFciBvbnRicmVla3Qgd2F0IHRla3N0IGFhbiBkZXplIHJlZ2VsLgorICAtLS0+IEhpZXIgb250YnJlZWt0IG9vayB3CisgICAgICAgSGllciBvbnRicmVla3Qgb29rIHdhdCB0ZWtzdC4KKworICA1LiBHYSBuYWFyIGxlcyAxLjYgYWxzIGplIHZlcnRyb3V3ZCBiZW50IGdlcmFha3QgYWFuIGhldCB0b2V2b2VnZW4KKyAgICAgdmFuIHRla3N0LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAxLjY6IEVFTiBCRVNUQU5EIEVESVRURU4KKworICAgICoqIEdlYnJ1aWsgIDp3cSAgb20gZWVuIGJlc3RhbmQgb3AgdGUgc2xhYW4gZW4gZGUgZWRpdG9yIHRlIHZlcmxhdGVuLiAqKgorCisgICEhIExFVCBPUDogTGVlcyBkZXplIGxlcyBoZWxlbWFhbCBkb29yIHZvb3JkYXQgamUgZWVuIHZhbiBkZSB2b2xnZW5kZQorICAgICAgICAgICAgIHN0YXBwZW4gdWl0dm9lcnQhIQorCisgIDEuIFZlcmxhYXQgZGV6ZSBsZXMgem9hbHMgamUgaW4gbGVzIDEuMiBkZWVkOiAgOnEhCisgICAgIE9mIGdlYnJ1aWsgZWVuIGFuZGVyZSB0ZXJtaW5hbCBhbHMgamUgZGFhciBkZSBiZXNjaGlra2luZyBvdmVyIGhlYnQuIERvZQorICAgICBkYWFyIGhldCB2b2xnZW5kZS4KKworICAyLiBUaWsgaGV0IHZvbGdlbmRlIGNvbW1hbmRvIG5hIGRlIHNoZWxsLXByb21wdDogIHZpbSBsZXMgPEVOVEVSPgorICAgICAndmltJyAodmFhayBvb2sgJ3ZpJykgaXMgaGV0IGNvbW1hbmRvIG9tIGRlIFZpbS1lZGl0b3IgdGUgc3RhcnRlbiwKKyAgICAgJ2xlcycgaXMgZGUgbmFhbSB2YW4gaGV0IGJlc3RhbmQsIGRhdCBqZSBnYWF0IGJld2Vya2VuLiBLaWVzIGVlbiBhbmRlcmUKKyAgICAgbmFhbSBhbHMgZXIgYWwgZWVuIGJlc3RhbmQgJ2xlcycgYmVzdGFhdCwgZGF0IG5pZXQgdmVyYW5kZXJkIG1hZyB3b3JkZW4uCisKKyAgMy4gVm9lZyBuYWFyIGVpZ2VuIGtldXMgdGVrc3QgdG9lLCB6b2FscyBqZSBnZWxlZXJkIGhlYnQgaW4gZWVyZGVyZSBsZXNzZW4uCisKKyAgNC4gU2xhIGhldCBiZXN0YW5kIG1ldCBkZSB3aWp6aWdpbmdlbiBvcCBlbiB2ZXJsYWF0IFZpbSBtZXQgIDp3cSA8RU5URVI+CisKKyAgNS4gSGVyc3RhcnQgdmltdHV0b3IgYWxzIGplIGRlemUgYmlqIHN0YXAgMSBoZWJ0IHZlcmxhdGVuIGVuIGdhIHZlcmRlciBtZXQKKyAgICAgZGUgdm9sZ2VuZGUgc2FtZW52YXR0aW5nLgorCisgIDYuIFZvZXIgZGV6ZSBzdGFwcGVuIHVpdCBuYWRhdCBqZSB6ZSBoZWJ0IGdlbGV6ZW4gZW4gYmVncmVwZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgU0FNRU5WQVRUSU5HIExlcyAxCisKKyAgMS4gRGUgY3Vyc29yIHdvcmR0IGJld29nZW4gbWV0IGRlIHBpamx0amVzdG9ldHNlbiBvZiBkZSBoamtsLXRvZXRzZW4uCisgICAgICAgaCAobGlua3MpICAgaiAob21sYWFnKSAgayAob21ob29nKSAgbCAocmVjaHRzKQorCisgIDIuIFN0YXJ0IFZpbSB2YW4gZGUgc2hlbGwtcHJvbXB0LiBUaWs6ICB2aW0gQkVTVEFORFNOQUFNIDxFTlRFUj4KKworICAzLiBTbHVpdCBWaW0gYWYgbWV0ICA8RVNDPiA6cSEgPEVOVEVSPiAgb20gZGUgdmVyYW5kZXJpbmdlbiB3ZWcgdGUgZ29vaWVuLgorICAgICAgICAgICAgICAgT0YgdGlrICA8RVNDPiA6d3EgPEVOVEVSPiAgb20gZGUgdmVyYW5kZXJpbmdlbiB0ZSBiZXdhcmVuLgorCisgIDQuIFdpcyBoZXQgdGVrZW4gb25kZXIgZGUgY3Vyc29yIG1ldDogIHgKKworICA1LiBJbnZvZWdlbiBvZiB0b2V2b2VnZW4gdmFuIHRla3N0LCB0aWs6CisgICAgIGkgIGVuIGRhYXJuYSBkZSBpbiB0ZSB2b2VnZW4gdGVrc3QgIDxFU0M+ICAgdm9lZyBpbiB2YW5hZiBkZSBjdXJzb3IKKyAgICAgQSAgZW4gZGFhcm5hIGRlIHRvZSB0ZSB2b2VnZW4gdGVrc3QgIDxFU0M+ICB2b2VnIHRvZSBhY2h0ZXIgZGUgcmVnZWwKKworICBPUE1FUktJTkc6IE1ldCA8RVNDPiBrb20gamUgdGVydWcgaW4gb3BkcmFjaHRtb2R1cyBlbiB3b3JkdCBlZW4gb25nZXdlbnN0CisgICAgICAgICAgICAgb2YgZ2VkZWVsdGVsaWprIHVpdGdldm9lcmQgY29tbWFuZG8gYWZnZWJyb2tlbi4KKworICBHYSBudSB2ZXJkZXIgbWV0IGxlcyAyLjEuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDIuMTogV0lTLUNPTU1BTkRPJ1MKKworICAgICAgICoqIFRpayAgZHcgICgnZGVsZXRlIHdvcmQnKSBvbSBlZW4gd29vcmQgdGUgd2lzc2VuLiAqKgorCisgIDEuIERydWsgb3AgPEVTQz4gb20gemVrZXIgaW4gZGUgb3BkcmFjaHRtb2R1cyB0ZSB6aWpuLgorCisgIDIuIEdhIG5hYXIgZGUgcmVnZWwgaGllcm9uZGVyLCBkaWUgbWV0IC0tLT4gYmVnaW50LgorCisgIDMuIEdhIG1ldCBkZSBjdXJzb3IgbmFhciBoZXQgYmVnaW4gdmFuIGVlbiB3b29yZCBkYXQgbW9ldCB3b3JkZW4gZ2V3aXN0LgorCisgIDQuIE1ldCBoZXQgdGlra2VuIHZhbiAgZHcgIHZlcmR3aWpudCBoZXQgd29vcmQuCisKKyAgT1BNRVJLSU5HOiBEZSBsZXR0ZXIgIGQgIHZlcnNjaGlqbnQgb3AgZGUgbGFhdHN0ZSByZWdlbCB2YW4gaGV0IHNjaGVybQorICAgICAgICAgICAgIHpvZHJhIGplIGhlbSB0aWt0LiBWaW0gaXMgYWFuIGhldCB3YWNodGVuIHRvdCBqZSBkZSAgdyAgdGlrdC4KKyAgICAgICAgICAgICBBbHMgamUgZWVuIGFuZGVyIHRla2VuIGRhbiAgZCAgemlldCwgaGViIGplIGlldHMgdmVya2VlcmRzCisgICAgICAgICAgICAgZ2V0aWt0LiBEcnVrIG9wIDxFU0M+IGVuIGJlZ2luIG9wbmlldXcuCisKKyAgTk9HIEVFTiBPUE1FUktJTkc6IERpdCB3ZXJrdCBhbGxlZW4gYWxzIGRlIG9wdGllICdzaG93Y21kJyBpcyBpbmdlc2NoYWtlbGQuCisgICAgICAgICAgICAgICAgICAgICBEYXQgZ2ViZXVydCBtZXQgIDpzZXQgc2hvd2NtZCA8RU5URVI+CisKKyAgLS0tPiBFciB6aWpuIGVlbiBoZXQgcGFhciBnZ2cgd29vcmRlbiwgZGllIG5pZXQgaW4gZGV6ZSBsZW4gemluIHRodWlzaG9yZW4uCisKKyAgNS4gSGVyaGFhbCBkZSBzdGFwcGVuIDMgZW4gNCB0b3QgZGUgemluIGdvZWQgaXMgZW4gZ2EgbmFhciBsZXMgMi4yLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAyLjI6IE1FRVIgV0lTLUNPTU1BTkRPJ1MKKworICAgICAgICAqKiBUaWsgIGQkICBvbSB0ZSB3aXNzZW4gdG90IGhldCBlaW5kZSB2YW4gZGUgcmVnZWwuICoqCisKKyAgMS4gRHJ1ayBvcCA8RVNDPiBvbSB6ZWtlciBpbiBkZSBvcGRyYWNodG1vZHVzIHRlIHppam4uCisKKyAgMi4gR2EgbmFhciBkZSByZWdlbCBoaWVyb25kZXIsIGRpZSBtZXQgLS0tPiBiZWdpbnQuCisKKyAgMy4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGhldCBlaW5kZSB2YW4gZGUgY29ycmVjdGUgcmVnZWwgKE5BIGRlIGVlcnN0ZSAgLiApLgorCisgIDQuIFRpayAgZCQgIG9tIHRlIHdpc3NlbiB0b3QgaGV0IGVpbmRlIHZhbiBkZSByZWdlbC4KKworICAtLS0+IEllbWFuZCBoZWVmdCBoZXQgZWluZGUgdmFuIGRlemUgcmVnZWwgZHViYmVsIGdldGlrdC4gZHViYmVsIGdldGlrdC4KKworICA1LiBHYSBuYWFyIGxlcyAyLjMgdm9vciB1aXRsZWcuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDIuMzogT1ZFUiBPUEVSQVRPUkVOIEVOIEJFV0VHSU5HRU4KKworICBWZWVsIGNvbW1hbmRvJ3MgZGllIGRlIHRla3N0IHZlcmFuZGVyZW4sIGJlc3RhYW4gdWl0IGVlbiBvcGVyYXRvciBlbiBlZW4KKyAgYmV3ZWdpbmcuIERlIHNhbWVuc3RlbGxpbmcgdmFuIGVlbiB3aXMtY29tbWFuZG8gbWV0IGRlIG9wZXJhdG9yICBkICBpczoKKyAgICBkICBiZXdlZ2luZworCisgIERhYXJiaWogaXM6CisgICAgZCAgICAgICAgLSBkZSB3aXMtb3BlcmF0b3IKKyAgICBiZXdlZ2luZyAtIGhldCBiZXJlaWsgd2Fhcm9wIGRlIG9wZXJhdG9yIHdlcmt0ICh6aWUgaGV0IGxpanN0amUgaGllcm9uZGVyKQorCisgIEVlbiBrb3J0ZSBsaWpzdCB2YW4gYmV3ZWdpbmdlbiB2YW5hZiBkZSBjdXJzb3I6CisgICAgdyAtIHRvdCBoZXQgYmVnaW4gdmFuIGhldCB2b2xnZW5kZSB3b29yZCwgWk9OREVSIGhldCBlZXJzdGUgdGVrZW4gZGFhcnZhbi4KKyAgICBlIC0gdG90IGhldCBlaW5kZSB2YW4gaGV0IGh1aWRpZ2Ugd29vcmQsIElOQ0xVU0lFRiBoZXQgbGFhdHN0ZSB0ZWtlbi4KKyAgICAkIC0gdG90IGhldCBlaW5kZSB2YW4gZGUgcmVnZWwsIElOQ0xVU0lFRiBoZXQgbGFhdHN0ZSB0ZWtlbi4KKworICBIZXQgdGlra2VuIHZhbiAgZGUgIHdpc3QgdGVrc3QgdmFuYWYgZGUgY3Vyc29yIHRvdCBoZXQgZWluZCB2YW4gaGV0IHdvb3JkLgorCisgIE9QTUVSS0lORzogSGV0IGludGlra2VuIHZhbiBhbGxlZW4gbWFhciBkZSBiZXdlZ2luZywgem9uZGVyIGVlbiBvcGVyYXRvciwKKyAgICAgICAgICAgICBpbiBkZSBvcGRyYWNodG1vZHVzIGJld2VlZ3QgZGUgY3Vyc29yIChyZXNwZWN0aWV2ZWxpamsgbmFhciBoZXQKKyAgICAgICAgICAgICB2b2xnZW5kZSB3b29yZCwgbmFhciBoZXQgZWluZCB2YW4gaGV0IGh1aWRpZ2Ugd29vcmQgZW4gbmFhciBoZXQKKyAgICAgICAgICAgICBlaW5kIHZhbiBkZSByZWdlbCkuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDIuNDogR0VCUlVJSyBWQU4gRUVOIFRFTExFUiBCSUogRUVOIEJFV0VHSU5HCisKKyAgICoqIEVlbiBnZXRhbCB2b29yIGVlbiBiZXdlZ2luZyBoZXJoYWFsdCBoZXQgem92ZWVsIGtlZXIuICoqCisKKyAgMS4gR2EgbmFhciBkZSByZWdlbCBoaWVyb25kZXIsIGRpZSBtZXQgLS0tPiBiZWdpbnQuCisKKyAgMi4gVGlrICAydyAgem9kYXQgZGUgY3Vyc29yIHR3ZWUgd29vcmRlbiB2b29ydWl0IGdhYXQuCisKKyAgMy4gVGlrICAzZSAgem9kYXQgZGUgY3Vyc29yIG5hYXIgaGV0IGVpbmRlIHZhbiBoZXQgZGVyZGUgd29vcmQgZ2FhdC4KKworICA0LiBUaWsgIDAgIChudWwpIG9tIG5hYXIgaGV0IGJlZ2luIHZhbiBkZSByZWdlbCB0ZSBnYWFuLgorCisgIDUuIEhlcmhhYWwgZGUgc3RhcHBlbiAyIGVuIDMgbWV0IGFuZGVyZSBnZXRhbGxlbi4KKworICAtLS0+IERpdCBpcyBlZW4gcmVnZWwgbWV0IHdvb3JkZW4gd2FhcmluIGplIGhlZW4gZW4gd2VlciBrYW4gYmV3ZWdlbi4KKworICA2LiBHYSB2ZXJkZXIgbWV0IGxlcyAyLjUuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDIuNTogR0VCUlVJSyBFRU4gVEVMTEVSIE9NIE1FRVIgVEUgV0lTU0VOCisKKyAgKiogRWVuIGdldGFsIG1ldCBlZW4gb3BlcmF0b3Igem9yZ3QgZGF0IGRlemUgem92ZWVsIGtlZXIgd29yZHQgaGVyaGFhbGQuICoqCisKKyAgQmlqIGRlIGNvbWJpbmF0aWUgdmFuIHdpcy1vcGVyYXRvciBlbiBiZXdlZ2luZyBrYW4gamUgdm9vciBkZSBiZXdlZ2luZyBlZW4KKyAgdGVsbGVyIHpldHRlbiBvbSBtZWVyIHRlIHdpc3NlbjoKKyAgICAgICAgIGQgIFt0ZWxsZXJdICBiZXdlZ2luZworCisgIDEuIEdhIG5hYXIgaGV0IGVlcnN0ZSB3b29yZCBpbiBIT09GRExFVFRFUlMgaW4gZGUgcmVnZWwgbmEgLS0tPi4KKworICAyLiBNZXQgIGQydyAgd29yZGVuIHR3ZWUgd29vcmRlbiAoaW4gZGl0IHZvb3JiZWVsZCBpbiBob29mZGxldHRlcnMpIGdld2lzdC4KKworICAzLiBIZXJoYWFsIGRlIHN0YXBwZW4gMSBlbiAyIG1ldCB2ZXJzY2hpbGxlbmRlIHRlbGxlcnMgb20gZGUgdmVyc2NoaWxsZW5kZQorICAgICB3b29yZGVuIGluIGhvb2ZkbGV0dGVycyBtZXQg6eluIGNvbW1hbmRvIHRlIHdpc3Nlbi4KKworICAtLS0+IGRlemUgQUJDIERFIHJlZ2VsIEZHSEkgSksgTE1OIE9QIGlzIFFaIFJTIG9udGRhYW4gdmFuIHJvbW1lbC4KKworICBPUE1FUktJTkc6IERlIHRlbGxlciBrYW4gb29rIGFhbiBoZXQgYmVnaW4gc3RhYW46IGQydyBlbiAyZHcgd2Vya2VuIGFsbGViZWkuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDIuNjogQkVXRVJLSU5HIFZBTiBIRUxFIFJFR0VMUworCisgICAgICAgICAgICAgICAqKiBUaWsgIGRkICBvbSBlZW4gaGVsZSByZWdlbCB0ZSB3aXNzZW4uICoqCisKKyAgT21kYXQgaGV0IHdpc3NlbiB2YW4gZWVuIGhlbGUgcmVnZWwgdmFhayB2b29ya29tdCwgYmVzbG90ZW4gZGUgb250d2VycGVycworICB2YW4gVmkgZGF0IG1ldCBoZXQgdGlra2VuIHZhbiAgZGQgIHNpbXBlbHdlZyBlZW4gaGVsZSByZWdlbCBnZXdpc3Qgd29yZHQuCisKKyAgMS4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGRlIHR3ZWVkZSByZWdlbCB2YW4gZGUgemlubmV0amVzIGhpZXJvbmRlci4KKworICAyLiBUaWsgIGRkICBvbSBkZSByZWdlbCB0ZSB3aXNzZW4uCisKKyAgMy4gR2EgbnUgbmFhciBkZSB2aWVyZGUgcmVnZWwuCisKKyAgNC4gVGlrICAyZGQgIG9tIHR3ZWUgcmVnZWxzIHRlIHdpc3Nlbi4KKworICAtLS0+ICAxKSAgUm96ZW4gemlqbiByb29kLgorICAtLS0+ICAyKSAgTW9kZGVyIGlzIGxldWsuCisgIC0tLT4gIDMpICBWaW9vbHRqZXMgemlqbiBibGF1dy4KKyAgLS0tPiAgNCkgIElrIGhlYiBlZW4gYXV0by4KKyAgLS0tPiAgNSkgIERlIGtsb2sgc2xhYXQgZGUgdGlqZC4KKyAgLS0tPiAgNikgIFN1aWtlciBpcyB6b2V0LgorICAtLS0+ICA3KSAgRW4gZGF0IGJlbiBqaWogb29rLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAyLjc6IEhFVCBDT01NQU5ETyBIRVJTVEVMCisKKyAgKiogdSAgbWFha3QgaGV0IGxhYXRzdGUgY29tbWFuZG8gb25nZWRhYW4sICBVICBoZXJzdGVsdCBlZW4gaGVsZSByZWdlbC4gKioKKworICAxLiBHYSBtZXQgZGUgY3Vyc29yIG5hYXIgZGUgcmVnZWwgaGllcm9uZGVyIG1ldCAtLS0+IGVuIHpldCBoZW0KKyAgICAgb3AgZGUgZWVyc3RlIGZvdXQuCisKKyAgMi4gVGlrICB4ICBvbSBoZXQgZWVyc3RlIG9uZ2V3ZW5zdGUgdGVrZW4gdGUgd2lzc2VuLgorCisgIDMuIFRpayBudSAgdSAgZW4gbWFhayBkYWFybWVlIGhldCB2b3JpZ2UgY29tbWFuZG8gb25nZWRhYW4uCisKKyAgNC4gSGVyc3RlbCBudSBhbGxlIGZvdXRlbiBpbiBkZSByZWdlbCBtZXQgaGV0ICB4ICBjb21tYW5kby4KKworICA1LiBUaWsgZWVuIGhvb2ZkbGV0dGVyICBVICBvbSBkZSByZWdlbCBpbiB6J24gb29yc3Byb25rZWxpamtlIHN0YWF0IHRlcnVnCisgICAgIHRlIGJyZW5nZW4uCisKKyAgNi4gVGlrIG51IGVlbiBwYWFyIGtlZXIgIHUgIGVuIGhlcnN0ZWwgZGFhcm1lZSBkZSAgVSAgZW4gZWVyZGVyZSBjb21tYW5kbydzLgorCisgIDcuIFRpayBudSBlZW4gcGFhciBrZWVyIENUUkwtUiAoQ3RybC10b2V0cyBpbmdlZHJ1a3QgaG91ZGVuIGVuIFIgdGlra2VuKSBlbgorICAgICB2b2VyIGRhYXJtZWUgZGUgY29tbWFuZG8ncyBvcG5pZXV3IHVpdDogJ3JlZG8nIG9mdGV3ZWwgJ3VuZG8gZGUgdW5kbydzJy4gCisKKyAgLS0tPiBIZWVyc3RlbCBkZSBmb3V0ZW4gaW5uIGRlZXplIHJlZ2VsIGVuIGJyZW5uZyB6ZSB3ZWVyIHRlcnVnZyBtZXQgdW5kby4KKworICA4LiBEaXQgemlqbiBoZWVsIG51dHRpZ2UgY29tbWFuZG8ncy4gR2EgdmVyZGVyIG1ldCBzYW1lbnZhdHRpbmcgdmFuIGxlcyAyLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIFNBTUVOVkFUVElORyBMZXMgMgorCisgIDEuIFdpcyB2YW4gZGUgY3Vyc29yIHRvdCBoZXQgdm9sZ2VuZGUgd29vcmQgbWV0ICAgIGR3CisKKyAgMi4gV2lzIHZhbiBkZSBjdXJzb3IgdG90IGhldCBlaW5kIHZhbiBkZSByZWdlbCBtZXQgZCQKKworICAzLiBXaXMgZGUgaGVsZSByZWdlbCBtZXQgICAgICAgICAgICAgICAgICAgICAgICAgICBkZAorCisgIDQuIEhlcmhhYWwgZWVuIGJld2VnaW5nIGRvb3IgZXIgZWVuIGdldGFsIHZvb3IgdGUgemV0dGVuOiAgMncKKworICA1LiBEZSBvcGJvdXcgdmFuIGVlbiB3aWp6aWdpbmdzY29tbWFuZG8gaXM6CisgICAgICAgb3BlcmF0b3IgIFtnZXRhbF0gIGJld2VnaW5nCisgICAgIGRhYXJiaWogaXM6CisgICAgICAgb3BlcmF0b3IgLSB3YXQgZXIgbW9ldCBnZWJldXJlbiwgYmlqdm9vcmJlZWxkICBkICBvbSB0ZSB3aXNzZW4KKyAgICAgICBbZ2V0YWxdICAtIGVlbiAobmlldC12ZXJwbGljaHRlKSB0ZWxsZXIgb20gJ2Jld2VnaW5nJyB0ZSBoZXJoYWxlbgorICAgICAgIGJld2VnaW5nIC0gZWVuIGJld2VnaW5nIGRvb3IgZGUgdGUgd2lqemlnZW4gdGVrc3Qgem9hbHMgdyAod29vcmQpCisgICAgICAgICAgICAgICAgICBvZiAkICh0b3QgaGV0IGVpbmRlIHZhbiBkZSByZWdlbCkgZW56LgorCisgIDYuIEdhIG5hYXIgaGV0IGJlZ2luIHZhbiBkZSByZWdlbCBtZXQgbnVsOiAgMAorCisgIDcuIFVuZG8gZGUgdm9vcmdhYW5kZSBhY3RpZSBtZXQgICAgICAgICAgICAgIHUgKGtsZWluZSBsZXR0ZXIpCisgICAgIFVuZG8gYWxsZSB2ZXJhbmRlcmluZ2VuIGluIGVlbiByZWdlbCBtZXQgIFUgKGhvb2ZkbGV0dGVyKQorICAgICBVbmRvIGRlIHVuZG8ncyBtZXQgICAgICAgICAgICAgICAgICAgICAgICBDVFJMLVIKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMy4xOiBIRVQgQ09NTUFORE8gUExBSworCisgICoqIFRpayAgcCAgKCdwdXQnKSBlbiBwbGFrIGRhYXJtZWUgem9qdWlzdCBnZXdpc3RlIHRla3N0IG5hIHRlIGN1cnNvci4gKioKKworICAxLiBHYSBtZXQgZGUgY3Vyc29yIG5hYXIgZGUgZWVyc3RlIHJlZ2VsIG1ldCAtLS0+IGhpZXJuYS4KKworICAyLiBXaXMgZGUgcmVnZWwgbWV0ICBkZCAgZW4gYmV3YWFyIGhlbSB6b2RvZW5kZSBpbiBlZW4gVmltLXJlZ2lzdGVyLgorCisgIDMuIEdhIG5hYXIgZGUgYy1yZWdlbCwgd2FhciBkZSBnZXdpc3RlIHJlZ2VsIE9OREVSIG1vZXQga29tZW4uCisKKyAgNC4gVGlrICBwICBvbSBkZSByZWdlbCB0ZXJ1ZyB0ZSB6ZXR0ZW4gb25kZXIgZGUgcmVnZWwgbWV0IGRlIGN1cnNvci4KKworICA1LiBIZXJoYWFsIGRlIHN0YXBwZW4gMiB0b3QgNCBvbSBkZSByZWdlbHMgaW4gZGUgZ29lZGUgdm9sZ29yZGUgdGUgemV0dGVuLgorCistLS0+IGQpIEtyaWpnIGplIGhldCBvb2sgb25kZXIgZGUga25pZT8KKy0tLT4gYikgVmlvb2x0amVzIHppam4gYmxhdXcsCistLS0+IGMpIEJlZ3JpcCBpcyB0ZSBsZXJlbiwKKy0tLT4gYSkgUm96ZW4gemlqbiByb29kLAorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAzLjI6IEhFVCBDT01NQU5ETyBWRVJWQU5HCisKKyAgKiogVGlrIHJ4ICgncmVwbGFjZScpIG9tIGhldCB0ZWtlbiBvbmRlciBkZSBjdXJzb3IgdGUgdmVydmFuZ2VuIGRvb3IgeC4gKioKKworICAxLiBHYSBuYWFyIGRlIGVlcnN0ZSByZWdlbCBoaWVyb25kZXIgbWV0IC0tLT4uCisKKyAgMi4gWmV0IGRlIGN1cnNvciBvcCBkZSBlZXJzdGUgZm91dC4KKworICAzLiBUaWsgIHIgIGVuIGRhbiBoZXQgdGVrZW4gZGF0IGVyIGhvb3J0IHRlIHN0YWFuLgorCisgIDQuIEhlcmhhYWwgZGUgc3RhcHBlbiAyIGVuIDMgdG90IGRlIGVlcnN0ZSByZWdlbCBnZWxpamsgaXMgYWFuIGRlIHR3ZWVkZS4KKworICAtLS0+ICBCaWogaGV0IHRva2tlbiB2YW4gZGV6ZiBoZWdlbCBoZWVmdCBpZW1hbWQgdmVya2xlcmRlIGxldHRlcnMgZ2V0aWt0LgorICAtLS0+ICBCaWogaGV0IHRpa2tlbiB2YW4gZGV6ZSByZWdlbCBoZWVmdCBpZW1hbmQgdmVya2VlcmRlIGxldHRlcnMgZ2V0aWt0LgorCisgIDUuIEdhIG51IG5hYXIgbGVzIDMuMy4KKworICBMRVQgT1A6IERvb3IgaGV0IHRlIGRvZW4sIGxlZXIgamUgYmV0ZXIgZGFuIGRvb3IgaGV0IHVpdCBqZSBob29mZCB0ZSBsZXJlbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMy4zOiBIRVQgQ09NTUFORE8gVkVSQU5ERVIKKworICAgICAqKiBUaWsgIGNlICBvbSB0ZSB2ZXJhbmRlcmVuIHRvdCBoZXQgZWluZGUgdmFuIGVlbiB3b29yZC4gKioKKworICAxLiBHYSBtZXQgZGUgY3Vyc29yIG5hYXIgZGUgZWVyc3RlIHJlZ2VsIGhpZXJvbmRlciBtZXQgLS0tPi4KKworICAyLiBaZXQgZGUgY3Vyc29yIG9wIGRlICB1ICB2YW4gcnVjaC4KKworICAzLiBUaWsgIGNlICBlbiBkZSBqdWlzdGUgbGV0dGVycyAoaW4gZGl0IGdldmFsICJlZ2VsIikuCisKKyAgNC4gRHJ1ayA8RVNDPiBlbiBnYSBuYWFyIGhldCB2b2xnZW5kZSB0ZWtlbiBkYXQgbW9ldCB3b3JkZW4gdmVyYW5kZXJkLgorCisgIDUuIEhlcmhhYWwgZGUgc3RhcHBlbiAzIGVuIDQgdG90IGRlIGVlcnN0ZSByZWdlbCBnZWxpamsgaXMgYWFuIGRlIHR3ZWVkZS4KKworICAtLS0+IEluIGRlemUgcnVjaCBzdGFhbiBlZW4gcGFhciB3ZWVkcmltIGRpZSB2ZXJhbmRlcmQgbW91ZCB3b3JkZW4uCisgIC0tLT4gSW4gZGV6ZSByZWdlbCBzdGFhbiBlZW4gcGFhciB3b29yZGVuIGRpZSB2ZXJhbmRlcmQgbW9ldGVuIHdvcmRlbi4KKworICBMRVQgT1A6IE1ldCAgY2UgIHdvcmR0IChoZXQgbGFhdHN0ZSBkZWVsIHZhbikgZWVuIHdvb3JkIGdld2lzdCBlbiBrb20gamUKKyAgICAgICAgICBpbiBkZSBpbnZvZWdtb2R1cy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMy40OiBNRUVSIFZFUkFOREVSSU5HRU4gTUVUIGMKKworICAxLiBIZXQgY29tbWFuZG8gdmVyYW5kZXIgKCdjaGFuZ2UnKSB3ZXJrdCBvcCBkZXplbGZkZSBtYW5pZXIgYWxzIHdpcy4gRGUKKyAgICAgb3Bib3V3IGlzOgorICAgICAgICAgYyAgW3RlbGxlcl0gIGJld2VnaW5nCisKKyAgMi4gRGUgYmV3ZWdpbmdlbiB6aWpuIGhldHplbGZkZSwgem9hbHMgIHcgICh3b29yZCkgZW4gICQgIChlaW5kZSByZWdlbCkuCisKKyAgMy4gR2EgbmFhciBkZSBlZXJzdGUgcmVnZWwgaGllcm9uZGVyIG1ldCAtLS0+LgorCisgIDQuIFpldCBkZSBjdXJzb3Igb3AgZGUgZWVyc3RlIGZvdXQuCisKKyAgNS4gVGlrICBjJCAgZW4gdGlrIGRlIHJlc3QgdmFuIGRlIHJlZ2VsIHpvZGF0IGhpaiBnZWxpamsgd29yZHQgYWFuIGRlCisgICAgIHR3ZWVkZSBlbiBzbHVpdCBhZiBtZXQgPEVTQz4uCisKKyAgLS0tPiBIZXQgZWluZGUgdmFuIGRlemUgcmVnZWwgbW9ldCBwcmVjaWVzIHpvIHdvcmRlbiBhbHMgZGUgdHdlZWRlIHJlZ2VsLgorICAtLS0+IEhldCBlaW5kZSB2YW4gZGV6ZSByZWdlbCBtb2V0IGdlY29ycmlnZWVyZCB3b3JkZW4gbWV0IGhldCBjb21tYW5kbyBjJC4KKworICBPUE1FUktJTkc6IEplIGthbiBkZSB0b2V0cyA8QkFDS1NQQUNFPiBnZWJydWlrZW4gb20gdGlrZm91dGVuIHRlIGhlcnN0ZWxsZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgU0FNRU5WQVRUSU5HIExlcyAzIAorCisgIDEuIFRpayAgcCAgb20gdGVrc3QgdGVydWcgdGUgcGxha2tlbiwgZGllIHpvanVpc3QgaXMgZ2V3aXN0LiBEaXQgemV0IGRlCisgICAgIGdld2lzdGUgdGVrc3QgQUNIVEVSIGRlIGN1cnNvciAoYWxzIGVlbiBoZWxlIHJlZ2VsIGlzIGdld2lzdCBrb210IGRlemUKKyAgICAgb3AgZGUgcmVnZWwgT05ERVIgZGUgY3Vyc29yLgorCisgIDIuIEhldCB0ZWtlbiB3YWFyb3AgZGUgY3Vyc29yIHN0YWF0IHdvcmR0IHZlcnZhbmdlbiBtZXQgIHIgIGdldm9sZ2QgZG9vcgorICAgICBoZXQgdGVrZW4gZGF0IGplIGRhYXIgd2lsdCBoZWJiZW4uCisKKyAgMy4gSGV0IGNvbW1hbmRvICd2ZXJhbmRlcicgc3RlbHQgamUgaW4gc3RhYXQgb20gdGVrc3QgdGUgdmVyYW5kZXJlbiB2YW5hZgorICAgICBkZSBjdXJzb3IgdG90IHdhYXIgZGUgJ2Jld2VnaW5nJyBqZSBicmVuZ3QuIERhdCB3aWwgemVnZ2VuOiB0aWsgIGNlICBvbQorICAgICB0ZSB2ZXJhbmRlcmVuIHZhbmFmIGRlIGN1cnNvciB0b3QgaGV0IGVpbmRlIHZhbiBoZXQgd29vcmQsICBjJCAgb20gdGUKKyAgICAgdmVyYW5kZXJlbiB0b3QgaGV0IGVpbmRlIHZhbiBkZSByZWdlbC4KKworICA0LiBEZSBvcGJvdXcgdmFuIGhldCBjb21tYW5kbyB2ZXJhbmRlciBpczoKKyAgICAgICAgIGMgIFt0ZWxsZXJdICBiZXdlZ2luZworCisgIEdhIG51IG5hYXIgZGUgdm9sZ2VuZGUgbGVzLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA0LjE6IFBMQUFUUyBWQU4gREUgQ1VSU09SIEVOIFNUQVRVUyBWQU4gSEVUIEJFU1RBTkQKKworICAqKiBDVFJMLUcgbGFhdCB6aWVuIHdhYXIgKHJlZ2VsbnVtbWVyKSBqZSBqZSBiZXZpbmR0IGVuIHdhdCBkZSBzdGF0dXMgdmFuCisgICAgIGhldCBiZXN0YW5kIGlzLiBNZXQgW251bW1lcl0gRyAgZ2EgamUgbmFhciBlZW4gYmVwYWFsZGUgcmVnZWwuICoqCisKKyAgTEVUIE9QOiBMZWVzIGRlIGhlbGUgbGVzIHZvb3JkYXQgamUgZWVuIHN0YXAgdWl0dm9lcnQhIQorCisgIDEuIEhvdSBkZSBDdHJsLXRvZXRzIGluZ2VkcnVrdCBlbiB0aWsgIGcgLiBEaXQgbm9lbWVuIHdlIENUUkwtRy4KKyAgICAgT25kZXJhYW4gZGUgcGFnaW5hIHZlcnNjaGlqbnQgZWVuIGJvb2RzY2hhcCBtZXQgZGUgYmVzdGFuZHNuYWFtIGVuIGRlCisgICAgIHBvc2l0aWUgaW4gaGV0IGJlc3RhbmQuIE9udGhvdSBoZXQgcmVnZWxudW1tZXIgdm9vciBzdGFwIDMuCisKKyAgT1BNRVJLSU5HOiBBbHMgZGUgb3B0aWUgJ3J1bGVyJyBhYW4gc3RhYXQsIHdvcmR0IGRlIHBvc2l0aWUgdmFuIGRlIGN1cnNvcgorICAgICAgICAgICAgIChyZWdlbG51bW1lciwga29sb20pIHN0ZWVkcyBpbiBkZSByZWNodGVyLW9uZGVyaG9layB2YW4gaGV0CisgICAgICAgICAgICAgc2NoZXJtIHZlcm1lbGQuIEluIGRpdCBnZXZhbCB2ZXJtZWxkdCBDVFJMLUcgZ2VlbiByZWdlbG51bW1lci4KKyAgICAgICAgICAgICBDVFJMLUcgZ2VlZnQgb29rIGRlIHN0YXR1cyBhYW4sIG5hbWVsaWprIG9mIGRlIHRla3N0IHZlcmFuZGVyZAorICAgICAgICAgICAgIGlzICgnbW9kaWZpZWQnKSBzaW5kcyBoZXQgZGUgbGFhdHN0ZSBrZWVyIGlzIG9wZ2VzbGFnZW4uICAKKworICAyLiBUaWsgaG9vZmRsZXR0ZXIgIEcgIG9tIG5hYXIgaGV0IGVpbmRlIHZhbiBoZXQgYmVzdGFuZCB0ZSBnYWFuLgorICAgICBUaWsgIGdnICBvbSBuYWFyIGhldCBiZWdpbiB2YW4gaGV0IGJlc3RhbmQgdGUgZ2Fhbi4KKworICAzLiBUaWsgaGV0IHJlZ2VsbnVtbWVyIHdhYXIgamUgYmlqIHN0YXAgMSB3YXMgZW4gZGFhcm5hICBHIC4gRGl0IGJyZW5ndCBqZQorICAgICB0ZXJ1ZyBuYWFyIGRlIHJlZ2VsIHdhYXIgamUgd2FzIHRvZW4gamUgZGUgZWVyc3RlIGtlZXIgQ1RSTC1HIHRpa3RlLgorCisgIDQuIFZvZXIgZGUgc3RhcHBlbiAxIHRvdCAzIHVpdCBhbHMgamUgZGl0IGdvZWQgaGVidCBnZWxlemVuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA0LjI6IEhFVCBDT01NQU5ETyBaT0VLRU4KKworICAqKiBNZXQgIC9aT0VLICB3b3JkdCBuYWFyIGRlIHpvZWt0ZXJtICjp6W4gb2YgbWVlciB3b29yZGVuKSBnZXpvY2h0LiAqKgorCisgIDEuIFRpayBpbiBkZSBvcGRyYWNodG1vZHVzIGhldCB0ZWtlbiAgLyAuIEplIHppZXQgZGF0IGhldCBtZXQgZGUgY3Vyc29yCisgICAgIGFhbiBkZSBvbmRlcmthbnQgdmFuIGhldCBzY2hlcm0gdmVyc2NoaWpudCwgem9hbHMgYmlqIGhldCA6LWNvbW1hbmRvLgorCisgIDIuIFRpayBudSAnZmZvdXV0JyA8RU5URVI+LiBEaXQgaXMgaGV0IHdvb3JkIHdhYXJuYWFyIGdlem9jaHQgd29yZHQuCisKKyAgMy4gVGlrICBuICBvbSB2ZXJkZXIgdGUgem9la2VuIG1ldCBkZXplbGZkZSB6b2VrdGVybS4KKyAgICAgWm9layBtZXQgIE4gIG1ldCBkZXplbGZkZSB6b2VrdGVybSBpbiBkZSB0ZWdlbm92ZXJnZXN0ZWxkZSByaWNodGluZy4KKworICA0LiBab2VrIGluIGFjaHRlcndhYXJ0c2UgcmljaHRpbmcgbWV0ID96b2VrdGVybSBpbiBwbGFhdHMgdmFuICAvIC4KKworICA1LiBLZWVyIHRlcnVnIG5hYXIgZGUgdm9yaWdlIGhpdCBtZXQgQ1RSTC1PIChob3UgQ3RybC10b2V0cyBpbmdlZHJ1a3QgZW4KKyAgICAgdGlrIGxldHRlciBvKS4gSGVyaGFhbCBvbSB2ZXJkZXIgdGVydWcgdGUgZ2Fhbi4gQ1RSTC1JIGdhYXQgdm9vcnVpdC4KKworICAtLS0+ICJmZm91dXQiIGlzIG5pZXQgZGUganVpc3RlIHNwZWxsaW5nIHZhbiBmb3V0LCBmZm91dXQgaXMgZWVuIGZvdXQuCisKKyAgT1BNRVJLSU5HOiBBbHMgem9la2VuIGhldCBlaW5kZSB2YW4gaGV0IGJlc3RhbmQgYmVyZWlrdCwgd29yZHQgdmFuYWYgaGV0CisgICAgICAgICAgICAgYmVnaW4gZG9vcmdlem9jaHQsIHRlbnppaiBkZSBvcHRpZSAnd3JhcHNjYW4nIGlzIHVpdGdlc2NoYWtlbGQuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDQuMzogR0EgTkFBUiBDT1JSRVNQT05ERVJFTkRFIEhBQUtKRVMKKworICAgICAgICAgICAgKiogVGlrICAlICBvbSBuYWFyIGNvcnJlc3BvbmRlcmVuZGUgKSwgXSBvZiB9IHRlIGdhYW4uICoqCisKKyAgMS4gWmV0IGRlIGN1cnNvciBvcCBlZW4gKCwgWyBvZiB7IGluIGRlIHJlZ2VsIGhpZXJvbmRlciBtZXQgLS0tPi4KKworICAyLiBUaWsgZGFuIGhldCB0ZWtlbiAgJSAuCisKKyAgMy4gRGUgY3Vyc29yIGdhYW4gbmFhciBoZXQgb3ZlcmVlbmtvbXN0aWdlIGhhYWtqZS4KKworICA0LiBNZXQgb3BuaWV1dyAgJSAgZ2FhdCBkZSBjdXJzb3IgdGVydWcgbmFhciBoZXQgZWVyc3RlIGhhYWtqZS4KKworICA1LiBQbGFhdHMgZGUgY3Vyc29yIG9wIGVlbiBhbmRlciBoYWFramUgZW4gYmVraWprIHdhdCAgJSAgZG9ldC4KKworICAtLS0+IERpdCAoIGlzIGVlbiB0ZXN0cmVnZWwgbWV0ICAoJ3MsIFsncyBdIGVuIHsncyB9IGVyaW4uICkpCisKKyAgT1BNRVJLSU5HOiBEaXQgaXMgbnV0dGlnIGJpaiBoZXQgZGVidWdnZW4gdmFuIGVlbiBwcm9ncmFtbWEgd2FhcmluIGhhYWtqZXMKKyAgICAgICAgICAgICBuaWV0IGNvcnJlc3BvbmRlcmVuLiBNZXQgZGUgb3B0aWUgJ3Nob3dtYXRjaCcgd29yZHQgb29rCisgICAgICAgICAgICAgYWFuZ2VnZXZlbiBvZiBoYWFramVzIGNvcnJlc3BvbmRlcmVuLCBtYWFyIGRlIGN1cnNvciB3b3JkdCBuaWV0CisgICAgICAgICAgICAgKGJsaWp2ZW5kKSB2ZXJwbGFhdHN0LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA0LjQ6IEhFVCBWRVJWQU5HIENPTU1BTkRPCisKKyAgICAgICoqIFRpayAgOnMvb3VkL25pZXV3L2cgIG9tICdvdWQnIGRvb3IgJ25pZXV3JyB0ZSB2ZXJ2YW5nZW4uICoqCisKKyAgMS4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGRlIHJlZ2VsIGhpZXJvbmRlciBtZXQgLS0tPi4KKworICAyLiBUaWsgIDpzL2RlZS9kZSA8RU5URVI+LiBab2FscyBqZSB6aWV0LCB2ZXJ2YW5ndCAoJ3N1YnN0aXR1dGUnKSBkaXQKKyAgICAgY29tbWFuZG8gYWxsZWVuIGRlIGVlcnN0ZSAiZGVlIiBpbiBkZSByZWdlbC4KKworICAzLiBUaWsgbnUgIDpzL2RlZS9kZS9nIC4gTWV0IGRlIGctdmxhZyAoJ2dsb2JhbCcpIHdvcmR0IGVsa2UgImRlZSIgaW4gZGUKKyAgICAgcmVnZWwgdmVydmFuZ2VuLgorCisgIC0tLT4gZGVlIGJlc3RlIHRpamQgb20gZGVlIGJsb2VtZW4gdGUgemllbiBpcyBpbiBkZWUgbGVudGUuCisKKyAgNC4gT20gaW4gKGVlbiBkZWVsIHZhbikgZWVuIHRla3N0IGVsayAnb3VkJyB0ZSB2ZXJ2YW5nZW4gZG9vciAnbmlldXcnOgorICAgICB0aWsgICA6Iywjcy9vdWQvbmlldXcvZyAgIHdhYXIgIywjIGRlIHJlZ2VsbnVtbWVycyB6aWpuIGRpZSBoZXQgZ2ViaWVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVncmVuemVuIHdhYXJpbiB3b3JkdCB2ZXJ2YW5nZW4uCisgICAgIHRpayAgIDolcy9vdWQvbmlldXcvZyAgICAgb20gYWxsZXMgdGUgdmVydmFuZ2VuIGluIGhldCBoZWxlIGJlc3RhbmQuCisgICAgIHRpayAgIDolcy9vdWQvbmlldXcvZ2MgICAgb20gZWxrZSAnb3VkJyBpbiBoZXQgaGVsZSBiZXN0YW5kIHRlIHZpbmRlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIHRlIHZyYWdlbiBvZiBlciB2ZXJ2YW5nZW4gbW9ldCB3b3JkZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgU0FNRU5WQVRUSU5HIExlcyA0CisKKyAgMS4gQ1RSTC1HICAgbGFhdCBwb3NpdGllIGluIGhldCBiZXN0YW5kIHppZW4gZW4gZGUgc3RhdHVzIHZhbiBoZXQgYmVzdGFuZC4KKyAgICAgRyAgICAgICAgdmVycGxhYXRzdCBqZSBuYWFyIGhldCBlaW5kZSB2YW4gaGV0IGJlc3RhbmQuCisgICAgIG51bW1lciBHIHZlcnBsYWF0c3QgamUgbmFhciByZWdlbG51bW1lci4KKyAgICAgZ2cgICAgICAgdmVycGxhYXRzdCBqZSBuYWFyIGRlIGVlcnN0ZSByZWdlbC4KKworICAyLiBNZXQgIC8gIGVuIGVlbiB6b2VrdGVybSB3b3JkdCBWT09SV0FBUlRTIGdlem9jaHQgbmFhciBkZSB0ZXJtLgorICAgICBNZXQgID8gIGVuIGVlbiB6b2VrdGVybSB3b3JkdCBBQ0hURVJXQUFSVFMgZ2V6b2NodCBuYWFyIGRlIHRlcm0uCisgICAgIFRpayAgbiAgbmEgZWVuIHpvZWtvcGRyYWNodCBvbSBkZSB2b2xnZW5kZSBoaXQgdGUgdmluZGVuLAorICAgICBvZiB0aWsgIE4gIG9tIGluIGRlIGFuZGVyZSByaWNodGluZyB0ZSB6b2VrZW4uCisgICAgIENUUkwtTyAgYnJlbmd0IGplIG5hYXIgZWVyZGVyZSBoaXQsICBDVFJMLUkgbmFhciBuaWV1d2VyZS4KKworICAzLiBUaWsgICUgIHRlcndpamwgZGUgY3Vyc29yIG9wIGVlbiBoYWFramUgKFt7fV0pIHN0YWF0LCBvbSBuYWFyIGhldAorICAgICBjb3JyZXNwb25kZXJlbmRlIGhhYWtqZSB0ZSBnYWFuLgorCisgIDQuIDpzL291ZC9uaWV1dyAgICAgIHZlcnZhbmd0IGhldCBlZXJzdGUgJ291ZCcgaW4gZWVuIHJlZ2VsIGRvb3IgJ25pZXV3Jy4KKyAgICAgOnMvb3VkL25pZXV3L2cgICAgdmVydmFuZ3QgZWxrICdvdWQnIGluIGVlbiByZWdlbCBkb29yICduaWV1dycuCisgICAgIDojLCNzL291ZC9uaWV1dy9nIHZlcnZhbmd0IGVsayAnb3VkJyBkb29yICduaWV1dycgdHVzc2VuIGRlIHJlZ2VsbnVtbWVycy4KKyAgICAgOiVzL291ZC9uaWV1dy9nICAgIHZlcnZhbmd0IGVsayAnb3VkJyBkb29yICduaWV1dycgaW4gaGV0IGhlbGUgYmVzdGFuZC4KKyAgICAgVm9lZyAgYyAgdG9lICg6JXMvb3VkL25pZXV3L2djKSBvbSBlbGtlIGtlZXIgb20gYmV2ZXN0aWdpbmcKKyAgICAgKCdjb25maXJtYXRpb24nKSB0ZSB2cmFnZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDUuMTogSE9FIEVFTiBFWFRFUk4gQ09NTUFORE8gV09SRFQgVUlUR0VWT0VSRAorCisgICAgICoqIFRpayAgOiEgIGdldm9sZ2QgZG9vciBlZW4gZXh0ZXJuIGNvbW1hbmRvIG9tIGRhdCB1aXQgdGUgdm9lcmVuLiAqKgorCisgIDEuIFRpayBoZXQgY29tbWFuZG8gIDogIHdhYXJtZWUgZGUgY3Vyc29yIG9wIGRlIG9uZGVyc3RlIHJlZ2VsIHZhbiBoZXQKKyAgICAgc2NoZXJtIGtvbXQgdGUgc3RhYW4uIE51IGthbiBqZSBlZW4gb3BkcmFjaHQgZ2V2ZW4gdmlhIGRlIGNvbW1hbmRvLXJlZ2VsLgorCisgIDIuIFRpayBlZW4gICEgICh1aXRyb2VwdGVrZW4pLiBEaXQgc3RlbHQgamUgaW4gc3RhYXQgb20gZWxrIHNoZWxsLWNvbW1hbmRvCisgICAgIHVpdCB0ZSB2b2VyZW4uCisKKyAgMy4gVGlrIGJpanZvb3JiZWVsZCAgbHMgIG5hIGhldCB1aXRyb2VwdGVrZW4gZW4gZGFhcm5hIDxFTlRFUj4uIEhpZXJtZWUKKyAgICAga3JpamcgamUgZGUgaW5ob3VkIHZhbiBqZSBtYXAgdGUgemllbiwgbmV0IGFsc29mIGplIGRlIG9wZHJhY2h0IGdhZgorICAgICB2YW5hZiBkZSBzaGVsbC1wcm9tcHQuIFByb2JlZXIgIDohZGlyICBhbHMgaGV0IG5pZXQgd2Vya3QuCisKKyAgT1BNRVJLSU5HOiBFbGsgZXh0ZXJuIGNvbW1hbmRvIGthbiBvcCBkZXplIG1hbmllciB1aXRnZXZvZXJkIHdvcmRlbiwgb29rCisgICAgICAgICAgICAgbWV0IGFyZ3VtZW50ZW4uCisKKyAgT1BNRVJLSU5HOiBBbGxlIGNvbW1hbmRvJ3MgbmEgIDogIG1vZXRlbiB3b3JkZW4gYWZnZXNsb3RlbiBtZXQgPEVOVEVSPi4KKyAgICAgICAgICAgICBWYW5hZiBudSB6dWxsZW4gd2UgZGF0IG5pZXQgbWVlciBhbHRpamQgdmVybWVsZGVuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA1LjI6IE1FRVIgT1ZFUiBIRVQgT1BTTEFBTiBWQU4gQkVTVEFOREVOCisKKyAgICAgKiogVGlrIDp3IEJFU1RBTkRTTkFBTSBvbSBkZSB0ZWtzdCBt6HQgdmVyYW5kZXJpbmdlbiBvcCB0ZSBzbGFhbi4gKioKKworICAxLiBUaWsgIDohZGlyICBvZiAgOiFscyAgb20gZGUgaW5ob3VkIHZhbiBqZSBtYXAgdGUgdG9uZW4uIEplIHdlZXQKKyAgICAgaW5taWRkZWxzIGRhdCBqZSBkYWFybmEgZWVuIDxFTlRFUj4gbW9ldCB0aWtrZW4uCisKKyAgMi4gS2llcyBlZW4gYmVzdGFuZHNuYWFtIGRpZSBub2cgbmlldCBiZXN0YWF0LCBiaWp2b29yYmVlbGQgVEVTVC4KKworICAzLiBUaWsgbnU6ICA6dyBURVNUICAoYWxzIGplIGRlIG5hYW0gVEVTVCBoZWJ0IGdla296ZW4pLgorCisgIDQuIEhpZXJkb29yIHdvcmR0IGhldCBoZWxlIGJlc3RhbmQgKGRlIFZJTSBsZXNzZW4pIG9wZ2VzbGFnZW4gb25kZXIgZGUKKyAgICAgbmFhbSBURVNULiBUaWsgd2VlciAgOiFkaXIgIG9mICA6IWxzICBvbSBkaXQgdGUgY29udHJvbGVyZW4uCisKKyAgT1BNRVJLSU5HOiBBbHMgamUgVmltIHpvdSB2ZXJsYXRlbiBlbiBvcG5pZXV3IHpvdSBzdGFydGVuIG1ldCAgdmltIFRFU1QgIGlzCisgICAgICAgICAgICAgaGV0IGJlc3RhbmQgZWVuIGV4YWN0ZSBrb3BpZSB2YW4gZGUgbGVzc2VuLCB6b2FscyBqZSB6ZSBvcHNsb2VnLgorCisgIDUuIFdpcyBoZXQgYmVzdGFuZCBudSBtZXQgZGUgb3BkcmFjaHQgKE1TLURPUykgIDohZGVsIFRFU1QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIChVbml4KSAgOiFybSBURVNUCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDUuMzogRUVOIERFRUwgVkFOIERFIFRFS1NUIE9QU0xBQU4KKworICAgICAqKiBTbGEgZWVuIGRlZWwgdmFuIGhldCBiZXN0YW5kIG9wIG1ldCAgdiBiZXdlZ2luZyA6dyBCRVNUQU5EU05BQU0gKioKKworICAxLiBHYSBuYWFyIGRlemUgcmVnZWwuCisKKyAgMi4gVGlrICB2ICBlbiBnYSBtZXQgZGUgY3Vyc29yIG5hYXIgc3RhcCA1IGhpZXJvbmRlci4gSmUgemlldCBkYXQgZGUKKyAgICAgdGVrc3Qgb3BsaWNodC4KKworICAzLiBUaWsgIDogLiBPbmRlcmFhbiBoZXQgc2NoZXJtIHphbCAgOic8LCc+ICB2ZXJzY2hpam5lbi4KKworICA0LiBUaWsgIHcgVEVTVCAgLCB3YWFyIFRFU1QgZWVuIGJlc3RhbmRzbmFhbSBpcywgZGllIG5vZyBuaWV0IGJlc3RhYXQuCisgICAgIENvbnRyb2xlZXIgZGF0IGplICA6JzwsJz53IFRFU1QgIHppZXQgc3RhYW4gdm9vcmRhdCBqZSA8RU5URVI+IHRpa3QuCisKKyAgNS4gVmltIHNsYWF0IG51IGRlIGdlc2VsZWN0ZWVyZGUgcmVnZWxzIG9wIGluIGhldCBiZXN0YW5kIFRFU1QuIE1ldAorICAgICA6IWRpciAgb2YgICFscyAga2FuIGplIGRhdCB6aWVuLiBXaXMgaGV0IG5vZyBuaWV0ISBXZSB6dWxsZW4gaGV0IGluCisgICAgIGRlIHZvbGdlbmRlIGxlcyBnZWJydWlrZW4uCisKKyAgT1BNRVJLSU5HOiBIZXQgdGlra2VuIHZhbiAgdiAgemV0IHppY2h0YmFyZSBtb2R1cyAoJ3Zpc3VhbCBzZWxlY3Rpb24nKSBhYW4uCisgICAgICAgICAgICAgSmUga2FuIGRlIGN1cnNvciByb25kYmV3ZWdlbiBvbSBkZSBzZWxlY3RpZSBncm90ZXIgb2Yga2xlaW5lcgorICAgICAgICAgICAgIHRlIG1ha2VuLiBWZXJ2b2xnZW5zIGthbiBqZSBlZW4gY29tbWFuZG8gZ2VicnVpa2VuIG9tIGlldHMgbWV0CisgICAgICAgICAgICAgZGUgdGVrc3QgdGUgZG9lbi4gTWV0ICBkICBiaWp2b29yYmVlbGQgd2lzIGplIGRlIHRla3N0LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA1LjQ6IE9QSEFMRU4gRU4gU0FNRU5WT0VHRU4gVkFOIEJFU1RBTkRFTgorCisgICAgICoqIFRpayAgOnIgQkVTVEFORFNOQUFNIG9tIGRlIGluaG91ZCB2YW4gZWVuIGJlc3RhbmQgaW4gdGUgdm9lZ2VuLiAqKgorCisgIDEuIFpldCBkZSBjdXJzb3IgcHJlY2llcyBib3ZlbiBkZXplIHJlZ2VsLgorCisgIE9QTUVSS0lORzogTmEgaGV0IHVpdHZvZXJlbiB2YW4gc3RhcCAyIHppZSBqZSB0ZWtzdCB2YW4gbGVzIDUuMy4gU2Nyb2wKKyAgICAgICAgICAgICBkYWFybmEgbmFhciBiZW5lZGVuIG9tIGRlemUgbGVzIHdlZXIgdGUgemllbi4KKworICAyLiBIYWFsIG51IGhldCBiZXN0YW5kIFRFU1Qgb3AgbWV0IGhldCBjb21tYW5kbyAgOnIgVEVTVCAuCisgICAgIEhldCBiZXN0YW5kIGRhdCBqZSBvcGhhYWx0IGtvbXQgb25kZXIgZGUgcmVnZWwgd2FhcmluIGRlIGN1cnNvciBzdGFhdC4KKworICAzLiBDb250cm9sZWVyIGRhdCBlciBlZW4gYmVzdGFuZCBpcyBvcGdlaGFhbGQuIEdhIG1ldCBkZSBjdXJzb3Igb21ob29nLgorICAgICBEYW4gemllIGplIGRlIHRla3N0IHZhbiBsZXMgNS4zIGR1YmJlbCwgaGV0IG9yaWdpbmVlbCBlbiBkZSB2ZXJzaWUgdWl0CisgICAgIGhldCBiZXN0YW5kLgorCisgIE9QTUVSS0lORzogSmUga2FuIG9vayBkZSB1aXR2b2VyIHZhbiBlZW4gZXh0ZXJuIGNvbW1hbmRvIGlubGV6ZW4uIE9tIGVlbgorICAgICAgICAgICAgIHZvb3JiZWVsZCB0ZSBnZXZlbjogIDpyICFscyAgbGVlc3QgZGUgdWl0dm9lciB2YW4gaGV0IGNvbW1hbmRvCisgICAgICAgICAgICAgbHMgZW4gemV0IGRhdCBvbmRlciBkZSByZWdlbCB3YWFyaW4gZGUgY3Vyc29yIHN0YWF0LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIFNBTUVOVkFUVElORyBMZXMgNQorCisgIDEuIDohQ09NTUFORE8gIHZvZXJ0IGVlbiBleHRlcm4gY29tbWFuZG8gdWl0LgorICAgICBFbmtlbGUgYnJ1aWtiYXJlIHZvb3JiZWVsZGVuIHppam46CisgICAgICAgIChNUy1ET1MpICAgICAgICAgKFVuaXgpCisgICAgICAgICA6IWRpciAgICAgICAgICAgIDohbHMgICAgICAgICAgLSBsYWF0IGRlIGluaG91ZCB2YW4gZWVuIG1hcCB6aWVuCisgICAgICAgICA6IWRlbCBCRVNUQU5EICAgIDohcm0gQkVTVEFORCAgLSB3aXN0IGJlc3RhbmQgQkVTVEFORAorCisgIDIuIDp3IEJFU1RBTkRTTkFBTSAgc2NocmlqZnQgaGV0IGh1aWRpZ2UgVmltLWJlc3RhbmQgbmFhciBkaXNrIG1ldCBkZQorICAgICBuYWFtIEJFU1RBTkRTTkFBTS4KKworICAzLiB2IGJld2VnaW5nIDp3IEJFU1RBTkRTTkFBTSAgbGFhdCBqZSBpbiB6aWNodGJhcmUgbW9kdXMgZWVuIGZyYWdtZW50CisgICAgIHNlbGVjdGVyZW4sIGRhdCB3b3JkdCBvcGdlc2xhZ2VuIGluIGhldCBiZXN0YW5kIEJFU1RBTkRTTkFBTS4KKworICA0LiA6ciBCRVNUQU5EU05BQU0gIGhhYWx0IGhldCBiZXN0YW5kIEJFU1RBTkRTTkFBTSBvcCBlbiB2b2VndCBoZXQgb25kZXIKKyAgICAgZGUgY3Vyc29yLXBvc2l0aWUgaW4gZGUgdGVrc3QgaW4uCisKKyAgNS4gOnIgIWRpciAgbGVlc3QgZGUgdWl0dm9lciB2YW4gaGV0IGV4dGVybmUgY29tbWFuZG8gZGlyIGVuIHpldCBoZXQgb25kZXIKKyAgICAgZGUgY3Vyc29yLXBvc2l0aWUuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDYuMTogSEVUIENPTU1BTkRPIE9QRU4KKworICAgICAqKiBUaWsgIG8gIG9tIGVlbiByZWdlbCBvbmRlciBkZSBjdXJzb3IgdGUgb3BlbmVuIGluIGludm9lZ21vZHVzLiAqKgorCisgIDEuIEdhIG5hYXIgZGUgZWVyc3RlIHJlZ2VsIGJlbmVkZW4gbWV0IC0tLT4uCisKKyAgMi4gVGlrIGRlIGtsZWluZSBsZXR0ZXIgIG8gIGVuIG9wZW4gZGFhcm1lZSBlZW4gcmVnZWwgT05ERVIgZGUgY3Vyc29yIGVuCisgICAgIGdhIG5hYXIgZGUgaW52b2VnbW9kdXMuCisKKyAgMy4gVGlrIHdhdCB0ZWtzdCBpbiBlbiBzbHVpdCBhZiBtZXQgPEVTQz4gb20gZGUgaW52b2VnbW9kdXMgdGUgdmVybGF0ZW4uCisKKyAgLS0tPiBBbHMgamUgIG8gIHRpa3QsIGtvbXQgZGUgY3Vyc29yIGluIGVlbiBuaWV1d2UgcmVnZWwgaW4gaW52b2VnbW9kdXMuCisKKyAgNC4gT20gZWVuIHJlZ2VsIEJPVkVOIGRlIGN1cnNvciB0ZSBvcGVuZW4sIG1vZXQgamUgZ2V3b29uIGVlbiBob29mZGxldHRlcgorICAgICBPICB0aWtrZW4gaW4gcGxhYXRzIHZhbiBlZW4ga2xlaW5lIGxldHRlci4gUHJvYmVlciBkYXQgdmFuYWYgZGUgdm9sZ2VuZGUKKyAgICAgcmVnZWwuCisKKyAgLS0tPiBPcGVuIGVlbiByZWdlbCBoaWVyYm92ZW4uIFRpayBlZW4gTyB0ZXJ3aWpsIGRlIGN1cnNvciBoaWVyIHN0YWF0LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA2LjI6IEhFVCBDT01NQU5ETyBUT0VWT0VHRU4KKworICAgICAgICAqKiBUaWsgIGEgIG9tIHRla3N0IHRvZSB0ZSB2b2VnZW4gQUNIVEVSIGRlIGN1cnNvci4gKioKKworICAxLiBHYSBuYWFyIGhldCBiZWdpbiB2YW4gZGUgcmVnZWwgYmVuZWRlbiBtZXQgLS0tPi4KKyAKKyAgMi4gVGlrICBlICB0b3QgZGUgY3Vyc29yIG9wIGhldCBlaW5kZSB2YW4gICJzdGUiICBzdGFhdC4KKworICAzLiBUaWsgZWVuIChrbGVpbmUgbGV0dGVyKSAgYSAgKCdhcHBlbmQnKSBvbSB0b2UgdGUgdm9lZ2VuIEFDSFRFUiBkZSBjdXJzb3IuCisKKyAgNC4gVnVsIGhldCB3b29yZCBhYW4gem9hbHMgaW4gZGUgdm9sZ2VuZGUgcmVnZWwuIERydWsgPEVTQz4gb20gZGUKKyAgICAgaW52b2VnbW9kdXMgdGUgdmVybGF0ZW4uCisKKyAgNS4gR2EgbWV0ICBlICBuYWFyIGhldCBlaW5kZSB2YW4gaGV0IHZvbGdlbmRlIG9udm9sbGVkaWdlIHdvb3JkIGVuIGhlcmhhYWwKKyAgICAgZGUgc3RhcHBlbiAzIGVuIDQuCisKKyAgLS0tPiBEZXplIHJlZ2VsIHN0ZSBqZSBpbiBzdGFhdCBvbSB0ZSBvZWYgaW4gaGV0IHRvZXZvIHZhbiB0ZWtzdC4gCisgICAgICAgRGV6ZSByZWdlbCBzdGVsdCBqZSBpbiBzdGFhdCBvbSB0ZSBvZWZlbmVuIGluIGhldCB0b2V2b2VnZW4gdmFuIHRla3N0LiAKKworICBPUE1FUktJTkc6IGEsIGkgZW4gQSBvcGVuZW4gYWxsZW1hYWwgZGV6ZWxmZGUgaW52b2VnbW9kdXMsIGhldCBlbmlnZQorICAgICAgICAgICAgIHZlcnNjaGlsIGlzIHdhYXIgdGVrZW5zIHdvcmRlbiBpbmdldm9lZ2QuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDYuMzogVkVSVkFOR0VOIE9QIEVFTiBBTkRFUkUgTUFOSUVSCisKKyAgICAgICoqIFRpayBlZW4gaG9vZmRsZXR0ZXIgIFIgIG9tIG1lZXIgZGFuIOnpbiB0ZWtlbiB0ZSB2ZXJ2YW5nZW4uICoqCisKKyAgMS4gR2EgbmFhciBkZSBlZXJzdGUgcmVnZWwgYmVuZWRlbiBtZXQgLS0tPi4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGhldAorICAgICBiZWdpbiB2YW4gZGUgZWVyc3RlICAieHh4IiAuCisKKyAgMi4gVGlrIG51ICBSICBlbiBkYWFybmEgaGV0IGdldGFsIGVyb25kZXIgaW4gZGUgdHdlZWRlIHJlZ2VsLCB6b2RhdCAgeHh4CisgICAgIHdvcmR0IHZlcnZhbmdlbi4KKworICAzLiBEcnVrIDxFU0M+IG9tIGRlIHZlcnZhbmdtb2R1cyB0ZSB2ZXJsYXRlbi4gSmUgemlldCBkYXQgZGUgcmVzdCB2YW4gZGUKKyAgICAgcmVnZWwgb25nZXdpanppZ2QgYmxpamZ0LgorCisgIDQuIEhlcmhhYWwgZGUgc3RhcHBlbiBvbSBkZSBvdmVyZ2VibGV2ZW4gIHh4eCAgdGUgdmVydmFuZ2VuLgorCisgIC0tLT4gT3B0ZWxsZW4gdmFuIDEyMyBlbiB4eHggZ2VlZnQgamUgeHh4LgorICAtLS0+IE9wdGVsbGVuIHZhbiAxMjMgZW4gNDU2IGdlZWZ0IGplIDU3OS4KKworICBPUE1FUktJTkc6IFZlcnZhbmdtb2R1cyBsaWprdCBvcCBpbnZvZWdtb2R1cywgbWFhciBlbGsgdGVrZW4gZGF0IGplIHRpa3QsCisgICAgICAgICAgICAgdmVydmFuZ3QgZWVuIGJlc3RhYW5kIHRla2VuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA2LjQ6IFRFS1NUIEtPUEnLUkVOIEVOIFBMQUtLRU4KKworICAgICAgICAqKiBHZWJydWlrICB5ICBvbSB0ZWtzdCB0ZSBrb3Bp63JlbiBlbiAgcCAgb20gdGUgcGxha2tlbi4gKioKKworICAxLiBHYSBuYWFyIGRlIHJlZ2VsIGJlbmVkZW4gbWV0IC0tLT4gZW4gemV0IGRlIGN1cnNvciBhY2h0ZXIgImEpIi4KKworICAyLiBaZXQgemljaHRiYXJlIG1vZHVzIGFhbiBtZXQgIHYgIGVuIHpldCBkZSBjdXJzb3IganVpc3Qgdm9vciAiZWVyc3RlIi4KKworICAzLiBUaWsgIHkgICgneWFuaycpIG9tIGRlIG9wZ2VsaWNodGUgdGVrc3QgKCJkaXQgaXMgaGV0IikgdGUga29waetyZW4uCisKKyAgNC4gR2EgbWV0ICBqJCAgbWV0IGRlIGN1cnNvciBuYWFyIGhldCBlaW5kZSB2YW4gZGUgdm9sZ2VuZGUgcmVnZWwuCisKKyAgNS4gUGxhayBkZSBnZWtvcGllZXJkZSB0ZWtzdCBtZXQgIHAgIGVuIHRpayAgYSB0d2VlZGUgPEVTQz4uCisKKyAgNi4gU2VsZWN0ZWVyIGluIHppY2h0YmFyZSBtb2R1cyAib25kZXJkZWVsIiwga29waWVlciBoZXQgbWV0ICB5ICBlbgorICAgICBnYSBtZXQgIGokICBuYWFyIGhldCBlaW5kZSB2YW4gZGUgdHdlZWRlIHJlZ2VsLiBQbGFrIGRlIHRla3N0IGRhYXIKKyAgICAgbWV0ICBwIC4KKworICAtLS0+ICBhKSBkaXQgaXMgaGV0IGVlcnN0ZSBvbmRlcmRlZWwKKyAgICAgICAgYikKKworICBPUE1FUktJTkc6IEplIGthbiAgeSAgb29rIGFscyBvcGVyYXRvciBnZWJydWlrZW47ICB5dyAga29waWVlcnQgZWVuIHdvb3JkLAorICAgICAgICAgICAgIHl5ICBlZW4gaGVsZSByZWdlbC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNi41OiBPUFRJRVMgR0VCUlVJS0VOCisKKyAgICAgKiogR2VicnVpayBlZW4gb3B0aWUgdm9vciBhbCBkYW4gbmlldCBob29mZGxldHRlcmdldm9lbGlnIHpvZWtlbi4gKioKKworICAxLiBab2VrIG5hYXIgJ2hvb2ZkbGV0dGVyZ2V2b2VsaWcnIG1ldCAgL2hvb2ZkbGV0dGVyZ2V2b2VsaWcgPEVOVEVSPgorICAgICBIZXJoYWFsIGhldCB6b2VrZW4gZW5rZWxlIGtlcmVuIGRvb3IgIG4gIHRlIHRpa2tlbi4KKyAKKyAgMi4gU2NoYWtlbCBkZSBvcHRpZSAnaWMnICgnaWdub3JlIGNhc2UnLCBuaWV0LWhvb2ZkbGV0dGVyZ2V2b2VsaWcpIGluCisgICAgIG1ldCAgOnNldCBpYworCisgIDMuIFpvZWsgbWV0ICBuICBvcG5pZXV3IG5hYXIgJ2hvb2ZkbGV0dGVyZ2V2b2VsaWcnLiBKZSB6aWV0IGRhdAorICAgICBIb29mZGxldHRlcmdldm9lbGlnIGVuIEhPT0ZETEVUVEVSR0VWT0VMSUcgbnUgb29rIGdldm9uZGVuIHdvcmRlbi4KKworICA0LiBTY2hha2VsIGRlIG9wdGllcyAnaGxzZWFyY2gnICh0cmVmZmVycyBvcGxpY2h0ZW4pIGVuICdpbmNzZWFyY2gnICh0b29uCisgICAgIGdlZGVlbHRlbGlqa2UgdHJlZmZlcnMgYmlqIGludGlra2VuKSBpbiBtZXQgIDpzZXQgaGxzIGlzCisKKyAgNS4gVGlrIHdlZXIgL2hvb2ZkbGV0dGVyZ2V2b2VsaWcgPEVOVEVSPiBlbiBraWprIHdhdCBlciBnZWJldXJ0LgorCisgIDYuIFNjaGFrZWwgJ2hvb2ZkbGV0dGVyZ2V2b2VsaWcnIHdlZXIgaW4gbWV0ICA6c2V0IG5vaWMKKworICBPUE1FUktJTkc6IFNjaGFrZWwgaGV0IG9wbGljaHRlbiB2YW4gdHJlZmZlcnMgdWl0IG1ldCAgOm5vaGxzZWFyY2gKKworICBPUE1FUktJTkc6IE9tIGJpaiBlZW4gZW5rZWwgem9lay1jb21tYW5kbyBkZSBob29mZGxldHRlcmdldm9lbGlnaGVpZCBvbQorICAgICAgICAgICAgIHRlIGRyYWFpZW4ga2FuICBcYyAgd29yZGVuIGdlYnJ1aWt0IG5hIGRlIHpvZWt0ZXJtOgorICAgICAgICAgICAgIC9ob29mZGxldHRlcmdldm9lbGlnXGMgPEVOVEVSPi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBTQU1FTlZBVFRJTkcgTGVzIDYKKworICAxLiBUaWsgIG8gIG9tIGVlbiByZWdlbCB0ZSBvcGVuZW4gT05ERVIgZGUgY3Vyc29yIGVuIGludm9lZ21vZHVzIHRlIHN0YXJ0ZW4uCisgICAgIFRpayAgTyAgb20gZWVuIHJlZ2VsIHRlIG9wZW5lbiBCT1ZFTiBkZSBjdXJzb3IuCisKKyAgMi4gVGlrICBhICBvbSB0ZWtzdCB0b2UgdGUgdm9lZ2VuIE5BIGRlIGN1cnNvci4KKyAgICAgVGlrICBBICBvbSB0ZWtzdCB0b2UgdGUgdm9lZ2VuIGFhbiBoZXQgZWluZGUgdmFuIGRlIHJlZ2VsLgorCisgIDMuIEhldCBjb21tYW5kbyAgZSAgYmV3ZWVndCBkZSBjdXJzb3IgbmFhciBoZXQgZWluZGUgdmFuIGVlbiB3b29yZC4KKworICA0LiBEZSBvcGVyYXRvciAgeSAgeWFua3QgKGtvcGllZXJ0KSB0ZWtzdCwgIHAgIHpldCBoZXQgdGVydWcgKHBsYWt0KS4KKworICA1LiBNZXQgaG9vZmRsZXR0ZXIgIFIgIHdvcmR0IGRlIHZlcnZhbmdtb2R1cyBnZW9wZW5kLCBtZXQgPEVTQz4gYWZnZXNsb3Rlbi4KKworICA2LiBNZXQgIDpzZXQgeHh4ICB3b3JkdCBvcHRpZSAneHh4JyBpbmdlc2NoYWtlbGQuIE9wdGllcyB6aWpuIGJpanZvb3JiZWVsZDoKKyAgICAgICBpYyAgIGlnbm9yZWNhc2UgIGdlZW4gdmVyc2NoaWwgaG9vZmRsZXR0ZXJzL2tsZWluZSBsZXR0ZXJzIGJpaiB6b2VrZW4KKyAgICAgICBpcyAgIGluY3NlYXJjaCAgIHRvb24gZ2VkZWVsdGVsaWprZSB0cmVmZmVycyB0aWpkZW5zIGludGlra2VuIHpvZWt0ZXJtIAorICAgICAgIGhscyAgaGxzZWFyY2ggICAgbGFhdCBhbGxlIHRyZWZmZXJzIG9wbGljaHRlbgorICAgICBKZSBrYW4gem93ZWwgZGUgbGFuZ2UgYWxzIGRlIGtvcnRlIG5hYW0gdmFuIGVlbiBvcHRpZSBnZWJydWlrZW4uCisgIAorICA3LiBaZXQgJ25vJyB2b29yIGRlIG5hYW0gb20gZWVuIG9wdGllIHVpdCB0ZSBzY2hha2VsZW46ICA6c2V0IG5vaWMKKyAgICAgc2NoYWtlbHQgJ2ljJyB1aXQuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDcuMTogSFVMUCBJTlJPRVBFTgorCisgICAgICAgICAgICoqIEhldCBnZWJydWlrIHZhbiBpbmdlYm91d2RlIGh1bHAuICoqCisKKyAgVmltIGhlZWZ0IGVlbiB1aXRnZWJyZWlkIGluZ2Vib3V3ZCBodWxwc3lzdGVlbS4gUHJvYmVlciwgb20gdGUgYmVnaW5uZW4sCisgIOnpbiB2YW4gZGV6ZSBkcmllOgorICAgIC0gZHJ1ayBkZSA8SEVMUD4gdG9ldHMgKGFscyBqZSBkaWUgaGVidCkKKyAgICAtIGRydWsgZGUgPEYxPiB0b2V0cyAoYWxzIGplIGRpZSBoZWJ0KQorICAgIC0gdGlrICA6aGVscCA8RU5URVI+CisKKyAgTGVlcyBkZSB0ZWtzdCBpbiBoZXQgaGVscC12ZW5zdGVyIG9tIHRlIGxlcmVuIGhvZSAnaGVscCcgd2Vya3QuCisgIFRpayAgQ1RSTC1XIENUUkwtVyAgb20gdmFuIGhldCBlbmUgdmVuc3RlciBuYWFyIGhldCBhbmRlcmUgdGUgZ2Fhbi4KKyAgTWV0ICA6cSA8RU5URVI+ICB3b3JkdCBoZXQgaGVscC12ZW5zdGVyIGdlc2xvdGVuLgorCisgIEplIGthbiBodWxwIHZpbmRlbiBvdmVyIG5hZ2Vub2VnIGVsayBvbmRlcndlcnAgZG9vciBlZW4gYXJndW1lbnQgYWFuIGhldAorICBjb21tYW5kbyAgOmhlbHAgIHRvZSB0ZSB2b2VnZW4uIFByb2JlZXIgZGV6ZSAoZW4gdmVyZ2VldCA8RU5URVI+IG5pZXQpOgorICAgIDpoZWxwIHcKKyAgICA6aGVscCBjX0NUUkwtRAorICAgIDpoZWxwIGluc2VydC1pbmRleAorICAgIDpoZWxwIHVzZXItbWFudWFsCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDcuMjogU0NIUklKRiBFRU4gQ09ORklHVVJBVElFQkVTVEFORAorCisgICAgICAgICAgICAgICAgICAgICoqIE1vZ2VsaWpraGVkZW4gdmFuIFZpbSB1aXRicmVpZGVuLiAqKgorCisgIFZpbSBrZW50IHZlZWwgbWVlciBtb2dlbGlqa2hlZGVuIGRhbiBWaSwgbWFhciBkZSBtZWVzdGUgemlqbiBzdGFuZGFhcmQKKyAgdWl0Z2VzY2hha2VsZC4gT20gbWVlciBmdW5jdGllcyB0ZSBnZWJydWlrZW4gbW9ldCBqZSBlZW4gJ3ZpbXJjJy1iZXN0YW5kCisgIHNjaHJpanZlbi4KKworICAxLiBCZXdlcmsgaGV0IGJlc3RhbmQgJ3ZpbXJjJy4gSG9lIGRhdCBtb2V0IGhhbmd0IGFmIHZhbiBqZSBzeXN0ZWVtOgorICAgICAgOmUgfi8udmltcmMJCXZvb3IgVW5peAorICAgICAgOmUgJFZJTS9fdmltcmMJCXZvb3IgTVMtV2luZG93cworCisgIDIuIExlZXMgZGUgaW5ob3VkIHZhbiBoZXQgdm9vcmJlZWxkLWJlc3RhbmQ6CisgICAgICA6ciAkVklNUlVOVElNRS92aW1yY19leGFtcGxlLnZpbQorCisgIDMuIFNsYSBoZXQgYmVzdGFuZCBvcCBtZXQgIDp3CisKKyAgRGUgdm9sZ2VuZGUga2VlciBkYXQgamUgVmltIHN0YXJ0IHdvcmR0ICdzeW50YXhpc2tsZXVyaW5nJyBnZWJydWlrZW4uCisgIEplIGthbiBhbCBqZSB2b29ya2V1cnNpbnN0ZWxsaW5nZW4gdG9ldm9lZ2VuIGFhbiBkaXQgJ3ZpbXJjJy1iZXN0YW5kLgorICBUaWsgIDpoZWxwIHZpbXJjLWludHJvICB2b29yIG1lZXIgaW5mb3JtYXRpZS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNy4zOiBBQU5WVUxMRU4KKworICAgICAgKiogQWFudnVsbGVuIHZhbiBkZSAnY29tbWFuZCBsaW5lJyBtZXQgQ1RSTC1EIGVuIDxUQUI+LiAqKgorCisgIDEuIFpvcmcgZGF0IFZpbSBuaWV0IGluICdjb21wYXRpYmxlIG1vZGUnIGlzIG1ldCAgOnNldCBub2NwCisKKyAgMi4gS2lqayB3ZWxrZSBiZXN0YW5kZW4gemljaCBpbiBkZSBtYXAgYmV2aW5kZW4gbWV0ICA6IWxzICBvZiAgOiFkaXIKKworICAzLiBUaWsgaGV0IGJlZ2luIHZhbiBlZW4gY29tbWFuZG86ICA6ZQorCisgIDQuIE1ldCAgQ1RSTC1EICB0b29udCBWaW0gZWVuIGxpanN0IGNvbW1hbmRvJ3MsIGRpZSBtZXQgImUiIGJlZ2lubmVuLgorCisgIDUuIERydWsgZW5rZWxlIGtlcmVuIDxUQUI+LiBWaW0gbGFhdCBhYW52dWxsaW5nZW4gemllbiwgem9hbHMgIjplZGl0IiwKKyAgICAgZGF0IHdlIGhpZXIgZ2VicnVpa2VuLgorCisgIDYuIFZvZWcgZWVuIHNwYXRpZSB0b2UgZW4gZGUgZWVyc3RlIGxldHRlcihzKSB2YW4gZWVuIGJlc3RhYW5kZQorICAgICBiZXN0YW5kc25hYW06ICA6ZWRpdCBCRVNUQU5ECisKKyAgNy4gRHJ1ayA8VEFCPi4gVmltIHZ1bHQgZGUgbmFhbSBhYW4gKGFscyBoaWogdW5pZWsgaXMpLgorCisgIE9QTUVSS0lORzogQWFudnVsbGVuIHdlcmt0IGJpaiB0YWwgdmFuIGNvbW1hbmRvJ3MuIFByb2JlZXIgZ2V3b29uIENUUkwtRAorICAgICAgICAgICAgIGVuIDxUQUI+LiBIZXQgaXMgYmlqem9uZGVyIG51dHRpZyBiaWogIDpoZWxwIC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBTQU1FTlZBVFRJTkcgTGVzIDcKKworICAxLiBUaWsgIDpoZWxwICBvZiBkcnVrIDxGMT4gb2YgPEhlbHA+ICBvbSBlZW4gaGVscC12ZW5zdGVyIHRlIG9wZW5lbi4KKworICAyLiBUaWsgIDpoZWxwIENNRCAgdm9vciBodWxwIG92ZXIgIENNRCAuCisKKyAgMy4gVGlrICBDVFJMLVcgQ1RSTC1XICBvbSBuYWFyIGVlbiBhbmRlciB2ZW5zdGVyIHRlIGdhYW4uCisKKyAgNC4gVGlrICA6cSAgb20gaGV0IGhlbHAtdmVuc3RlciB0ZSBzbHVpdGVuLgorCisgIDUuIE1hYWsgZWVuIGJlc3RhbmQgbWV0IGRlIG5hYW0gJ3ZpbXJjJyB2b29yIGplIHZvb3JrZXVyc2luc3RlbGxpbmdlbi4KKworICA2LiBEcnVrIENUUkwtRCB0aWpkZW5zIGhldCBpbnRpa2tlbiB2YW4gZWVuIDotY29tbWFuZG8gb20gbW9nZWxpamtlCisgICAgIGFhbnZ1bGxpbmdlbiB0ZSB6aWVuLiBEcnVrIDxUQUI+IG9tIGFhbnZ1bGxlbiB0ZSBnZWJydWlrZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgIEhpZXJtZWUga29tZW4gZGUgVmltLWxlc3NlbiB0b3QgZWVuIGVpbmRlLiBaZSB3YXJlbiBiZWRvZWxkIG9tIGVlbiBrb3J0CisgIG92ZXJ6aWNodCB0ZSBnZXZlbiB2YW4gZGUgVmltLWVkaXRvciwganVpc3Qgdm9sZG9lbmRlIG9tIGRlIGVkaXRvcgorICByZWRlbGlqayBtYWtrZWxpamsgdGUgZ2VicnVpa2VuLiBEZXplIGxlc3NlbiB6aWpuIHZlcnJlIHZhbiB2b2xsZWRpZy4gVmltCisgIGtlbnQgdmVlbCBtZWVyIGNvbW1hbmRvJ3MuIExlZXMgaGllcm5hIGRlIGhhbmRsZWlkaW5nIHZvb3IgZ2VicnVpa2VyczoKKyAgIjpoZWxwIHVzZXItbWFudWFsIi4KKworICBWb29yIHZlcmRlcmUgc3R1ZGllIHdvcmR0IGFhbmJldm9sZW46CisgICAgICBWaW0gLSBWaSBJbXByb3ZlZCAtIGRvb3IgU3RldmUgT3VhbGxpbmUKKyAgICAgIFVpdGdldmVyOiBOZXcgUmlkZXJzCisgIERpdCBpcyBoZXQgZWVyc3RlIGJvZWsgZGF0IGdlaGVlbCBhYW4gVmltIGlzIGdld2lqZC4gU3BlY2lhYWwgZ2VzY2hpa3QKKyAgdm9vciBiZWdpbm5lcnMuIE1ldCB2ZWVsIHZvb3JiZWVsZGVuIGVuIGFmYmVlbGRpbmdlbi4KKyAgWmllIGh0dHA6Ly9pY2NmLWhvbGxhbmQub3JnL2NsaWNrNS5odG1sCisKKyAgSGV0IHZvbGdlbmRlIGJvZWsgaXMgb3VkZXIgZW4gZ2FhdCBtZWVyIG92ZXIgVmkgZGFuIFZpbSwgbWFhciBoZXQgd29yZHQKKyAgdG9jaCBhYW5iZXZvbGVuOgorICAgICAgTGVhcm5pbmcgdGhlIFZpIEVkaXRvciAtIGRvb3IgTGluZGEgTGFtYgorICAgICAgVWl0Z2V2ZXI6IE8nUmVpbGx5ICYgQXNzb2NpYXRlcyBJbmMuCisgIEhldCBpcyBlZW4gZ29lZCBib2VrIG9tIG5hZ2Vub2VnIGFsbGVzIHRlIHdldGVuIHRlIGtvbWVuIGRhdCBqZSBtZXQgVmkKKyAgem91IHdpbGxlbiBkb2VuLiBEZSB6ZXNkZSBlbiB2b29yYWwgZGUgbmlldXdlIHpldmVuZGUgZHJ1ayAob25kZXIgZGUKKyAgdGl0ZWwgTGVhcm5pbmcgdGhlIFZpIGFuZCBWaW0gRWRpdG9ycyBkb29yIEFybm9sZCBSb2JiaW5zLCBFbGJlcnQgSGFubmFoCisgICYgTGluZGEgTGFtYikgYmV2YXQgb29rIGluZm9ybWF0aWUgb3ZlciBWaW0uCisKKyAgRGV6ZSBsZXNzZW4gemlqbiBnZXNjaHJldmVuIGRvb3IgTWljaGFlbCBDLiBQaWVyY2UgZW4gUm9iZXJ0IEsuIFdhcmUsCisgIENvbG9yYWRvIFNjaG9vbCBvZiBNaW5lcyBtZXQgZ2VicnVpa21ha2luZyB2YW4gaWRlZetuIHZhbiBDaGFybGVzIFNtaXRoCisgIHZhbiBkZSBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBBYW5nZXBhc3Qgdm9vciBWaW0gZG9vciBCcmFtIE1vb2xlbmFhci4KKworICBOZWRlcmxhbmRzZSB2ZXJ0YWxpbmcgZG9vciBSb2IgQmlzaG9mZiwgYXByaWwgMjAxMgorICBlLW1haWw6IHJvYi5iaXNob2ZmQGhjY25ldC5ubCkKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IubmwudXRmLTggYi9ydW50aW1lL3R1dG9yL3R1dG9yLm5sLnV0Zi04Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNWM4ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLm5sLnV0Zi04CkBAIC0wLDAgKzEsOTUwIEBACisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisgID0gICAgVyBlIGwgayBvIG0gICBiIGkgaiAgIGQgZSAgIFYgSSBNICAgbCBlIHMgcyBlIG4gICAtICAgVmVyc2llIDEuNyAgICA9CisgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyAgVmltIGlzIGVlbiBrcmFjaHRpZ2UgZWRpdG9yIG1ldCB2ZWVsIGNvbW1hbmRvJ3MsIHRlIHZlZWwgb20gdWl0IHRlIGxlZ2dlbgorICBpbiBsZXNzZW4gem9hbHMgZGV6ZS4gRGV6ZSBsZXNzZW4gemlqbiBiZWRvZWxkIG9tIHZvbGRvZW5kZSBjb21tYW5kbydzIHRlCisgIGJlaGFuZGVsZW4gb20gamUgaW4gc3RhYXQgdGUgc3RlbGxlbiBtZXQgVmltIHRlIHdlcmtlbiBhbHMgZWVuIGVkaXRvciB2b29yCisgIGFsZ2VtZWVuIGdlYnJ1aWsuCisKKyAgRGV6ZSBsZXNzZW4genVsbGVuIDI1IHRvdCAzMCBtaW51dGVuIGluIGJlc2xhZyBuZW1lbiwgYWZoYW5rZWxpamsgdmFuIGRlCisgIHRpamQgZGllIHdvcmR0IGJlc3RlZWQgYWFuIGhldCB1aXRwcm9iZXJlbiB2YW4gZGUgY29tbWFuZG8ncy4KKworICBMRVQgT1A6CisgIERvb3IgZGUgY29tbWFuZG8ncyBpbiBkZXplIGxlc3NlbiB2ZXJhbmRlcnQgZGUgdGVrc3QuIE1hYWsgZWVuIGtvcGllIHZhbgorICBkaXQgYmVzdGFuZCBvbSBtZWUgdGUgb2VmZW5lbiAoYWxzIGplICJ2aW10dXRvciIgdWl0dm9lcmRlLCBpcyBkaXQgYWwgZWVuCisgIGtvcGllKS4KKworICBEZXplIGxlc3NlbiB6aWpuIGJlZG9lbGQgb20gYWwgZG9lbmRlIHRlIGxlcmVuLiBEYXQgYmV0ZWtlbnQgZGF0IGplIGRlCisgIGNvbW1hbmRvJ3MgbW9ldCB1aXR2b2VyZW4gb20gemUgZ29lZCB0ZSBsZXJlbiBrZW5uZW4uIEFscyBqZSBkZSB0ZWtzdAorICBhbGxlZW4gbWFhciBkb29ybGVlc3QsIHphbCBqZSBkZSBjb21tYW5kbydzIG5pZXQgbGVyZW4hCisKKyAgWm9yZyBlcnZvb3IgZGF0IGRlIDxDYXBzIExvY2s+IHRvZXRzIE5JRVQgaXMgaW5nZWRydWt0IGVuIGRydWsgdmFhayBnZW5vZWcKKyAgb3AgZGUgai10b2V0cyBvbSBkZSBjdXJzb3Igem8gdGUgYmV3ZWdlbiBkYXQgbGVzIDEuMSB2b2xsZWRpZyBvcCBoZXQKKyAgc2NoZXJtIHN0YWF0LgorCisgIExFVCBPUDogSW4gZGV6ZSBsZXNzZW4gd29yZGVuIG9td2lsbGUgdmFuIGRlIGR1aWRlbGlqa2hlaWQgdmFhayBzcGF0aWVzCisgIGdlYnJ1aWt0IGJpbm5lbiBlZW4gY29tbWFuZG8gKGJ2LiAiNDAgRyIgb2YgIm9wZXJhdG9yIFtnZXRhbF0gYmV3ZWdpbmciKS4KKyAgVGlrIGRlemUgc3BhdGllcyBlY2h0ZXIgTklFVC4gWmUgdmVyc3RvcmVuIGRlIHdlcmtpbmcuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDEuMTogIFZFUlBMQUFUUyBERSBDVVJTT1IKKworICAqKiBEZSBjdXJzb3Igd29yZHQgdmVycGxhYXRzdCBtZXQgZGUgdG9ldHNlbiBoLCBqLCBrLCBsIHpvYWxzIGFhbmdlZ2V2ZW4uICoqCisgICAgICAgICAgXgorICAgICAgICAgIGsgICAgICAgSGludDogIERlIGggaXMgZGUgbWVlc3QgbGlua3NlIGVuIGJld2VlZ3QgbmFhciBsaW5rcy4KKyAgICAgIDwgaCAgIGwgPiAgICAgICAgICBEZSBsIGlzIGRlIG1lZXN0IHJlY2h0c2UgZW4gYmV3ZWVndCBuYWFyIHJlY2h0cy4KKyAgICAgICAgICBqICAgICAgICAgICAgICBEZSBqIGxpamt0IG9wIGVlbiBwaWpsIG5hYXIgYmVuZWRlbi4KKyAgICAgICAgICB2CisKKyAgMS4gQmV3ZWVnIGRlIGN1cnNvciBvdmVyIGhldCBzY2hlcm0gb20gZXIgdmVydHJvdXdkIG1lZSB0ZSByYWtlbi4KKworICAyLiBEcnVrIGRlIG9tbGFhZy10b2V0cyAoaikgdG90IGhpaiByZXBldGVlcnQuCisgICAgIE51IHdlZXQgamUgaG9lIGplIGRlIHZvbGdlbmRlIGxlcyBiZXJlaWt0LgorCisgIDMuIEdlYnJ1aWsgZGUgb21sYWFnLXRvZXRzIG9tIG5hYXIgbGVzIDEuMiB0ZSBnYWFuLgorCisgIE9QTUVSS0lORzogQWxzIGplIHR3aWpmZWx0IGFhbiB3YXQgamUgdGlrdGUsIGRydWsgPEVTQz4gb20gaW4gZGUgb3BkcmFjaHQtCisgICAgICAgICAgICAgbW9kdXMgdGUga29tZW4uIFRpayBkYWFybmEgaGV0IGNvbW1hbmRvIGRhdCBiZWRvZWxkIHdvcmR0LgorCisgIE9QTUVSS0lORzogUGlqbHRqZXMtdG9ldHNlbiB3ZXJrZW4gb29rLiBNZXQgZGUgaGprbC10b2V0c2VuIGthbiBqZSBzbmVsbGVyCisgICAgICAgICAgICAgcm9uZGJld2VnZW4sIGFscyBqZSBlciBlZW5tYWFsIGFhbiBnZXdlbmQgYmVudC4gRWNodCB3YWFyIQorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAxLjI6IFZJTSBBRlNMVUlURU4KKworICAgICAgISEgTEVUIE9QOiBMZWVzIGRlemUgbGVzIGdvZWQgZG9vciB2b29yZGF0IGplIGlldHMgdWl0dm9lcnQhIQorCisgIDEuIERydWsgZGUgPEVTQz4gdG9ldHMgKG9tIHpla2VyIGluIGRlIG9wZHJhY2h0bW9kdXMgdGUgeml0dGVuKS4KKworICAyLiBUaWsgICA6cSEgPEVOVEVSPgorICAgICBIaWVybWVlIHdvcmR0IGRlIGVkaXRvciBhZmdlc2xvdGVuLiBBbGxlIHZlcmFuZGVyaW5nZW4gZ2FhbiBWRVJMT1JFTi4KKworICAzLiBOdSB6aWUgamUgZGUgc2hlbGwtcHJvbXB0LiBUaWsgaGV0IGNvbW1hbmRvIHdhYXJtZWUgamUgZGV6ZSBsZXNzZW4KKyAgICAgaGVidCBvcGdlcm9lcGVuLiBEYXQgaXMgbm9ybWFhbCBnZXNwcm9rZW46ICB2aW10dXRvciA8RU5URVI+CisKKyAgNC4gQWxzIGplIGRlemUgc3RhcHBlbiBnb2VkIGhlYnQgZG9vcmdlbGV6ZW4sIHZvZXIgZGFuIGRlIHN0YXBwZW4gMSB0b3QgMworICAgICB1aXQgb20gZGUgZWRpdG9yIHRlIHZlcmxhdGVuIGVuIHdlZXIgb3AgdGUgc3RhcnRlbi4KKworICBMRVQgT1A6IDpxISA8RU5URVI+IHZlcndlcnB0IGFsbGUgdmVyYW5kZXJpbmdlbiBkaWUgamUgYWFuYnJhY2h0LiBFZW4gcGFhcgorICAgICAgICAgIGxlc3NlbiB2ZXJkZXIgemFsIGplIGxlcmVuIGhvZSB2ZXJhbmRlcmluZ2VuIHdvcmRlbiBvcGdlc2xhZ2VuIGluCisgICAgICAgICAgZWVuIGJlc3RhbmQuCisKKyAgNS4gQmV3ZWVnIGRlIGN1cnNvciBvbWxhYWcgbmFhciBsZXMgMS4zLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAxLjM6IFRFS1NUIEJFV0VSS0VOIC0gV0lTU0VOCisKKyAgICAgICAgICAqKiBUaWsgIHggIG9tIGhldCB0ZWtlbiBvbmRlciBkZSBjdXJzb3IgdGUgd2lzc2VuLiAqKgorCisgIDEuIEdhIG1ldCBkZSBjdXJzb3IgbmFhciBkZSByZWdlbCB2ZXJkZXJvcCBtZXQgLS0tPi4KKworICAyLiBaZXQgZGUgY3Vyc29yIG9wIGVlbiB0ZWtlbiBkYXQgbW9ldCB3b3JkZW4gZ2V3aXN0IG9tIGVlbiBmb3V0IHRlCisgICAgIGhlcnN0ZWxsZW4uCisKKyAgMy4gVGlrICB4ICBvbSBoZXQgb25nZXdlbnN0ZSB0ZWtlbiB0ZSB3aXNzZW4uCisKKyAgNC4gSGVyaGFhbCBkZXplIHN0YXBwZW4gdG90IGRlIHJlZ2VsIGdvZWQgaXMuCisKKyAgLS0tPiBWaSBra2VudCBlZW5uIG9wZHJhY2NjY2h0bW9kdXMgZW4gZWVuIGludm9vZWdtbW1tb2R1cy4KKworICA1LiBOdSBkZSByZWdlbCBnZWNvcnJpZ2VlcmQgaXMga2FuIGplIG5hYXIgbGVzIDEuNCBnYWFuLgorCisgIExFVCBPUDogUHJvYmVlciBkZSBsZXNzZW4gbmlldCB1aXQgamUgaG9vZmQgdGUgbGVyZW4uIExlZXIgYWwgZG9lbmRlLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAxLjQ6IFRFS1NUIEJFV0VSS0VOIC0gSU5WT0VHRU4KKworICAgICAgICAgICAgICAqKiBUaWsgIGkgICgnaW5zZXJ0Jykgb20gdGVrc3QgaW4gdGUgdm9lZ2VuLiAqKgorCisgIDEuIEdhIG1ldCBkZSBjdXJzb3IgbmFhciBkZSBlZXJzdGUgcmVnZWwgdmVyZGVyb3AgbWV0IC0tLT4uCisKKyAgMi4gTWFhayBkZSBlZXJzdGUgcmVnZWwgZ2VsaWprIGFhbiBkZSB0d2VlZGUuIFpldCBkYWFydm9vciBkZSBjdXJzb3Igb3AKKyAgICAgZGUgcGxhYXRzIHdhYXIgdGVrc3QgbW9ldCB3b3JkZW4gaW5nZXZvZWdkLgorCisgIDMuIFRpayAgaSAgZW4gZGFhcm5hIGRlIG5vZGlnZSBhYW52dWxsaW5nZW4uCisKKyAgNC4gVGlrIDxFU0M+IG5hIGVsa2UgaGVyc3RlbGRlIGZvdXQgb20gdGVydWcgdGUga2VyZW4gaW4gZGUgb3BkcmFjaHRtb2R1cy4KKyAgICAgSGVyaGFhbCBkZSBzdGFwcGVuIDIgdG90IDQgb20gZGUgemluIHRlIHZlcmJldGVyZW4uCisKKyAgLS0tPiBBYW4gcmVnZWwgb250ZWt0IHdhdCAuCisgIC0tLT4gQWFuIGRlemUgcmVnZWwgb250YnJlZWt0IHdhdCB0ZWtzdC4KKworICA1LiBHYSBuYWFyIGxlcyAxLjUgYWxzIGplIGdld2VuZCBiZW50IGFhbiBoZXQgaW52b2VnZW4gdmFuIHRla3N0LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAxLjU6IFRFS1NUIEJFV0VSS0VOIC0gVE9FVk9FR0VOCisKKyAgICAgICAgICAgICAqKiBUaWsgIEEgICgnYXBwZW5kJykgb20gdGVrc3QgdG9lIHRlIHZvZWdlbi4gKioKKworICAxLiBHYSBtZXQgZGUgY3Vyc29yIG5hYXIgZGUgZWVyc3RlIHJlZ2VsIHZlcmRlcm9wIG1ldCAtLS0+LgorICAgICBIZXQgbWFha3QgbmlldCB1aXQgd2FhciBkZSBjdXJzb3IgaW4gZGV6ZSByZWdlbCBzdGFhdC4KKworICAyLiBUaWsgaG9vZmRsZXR0ZXIgIEEgIGVuIHRpayBkZSBub2RpZ2UgYWFudnVsbGluZ2VuLgorCisgIDMuIFRpayA8RVNDPiBuYWRhdCBkZSB0ZWtzdCBpcyBhYW5nZXZ1bGQuIFpvIGtlZXIgamUgdGVydWcgaW4gZGUKKyAgICAgb3BkcmFjaHRtb2R1cy4KKworICA0LiBHYSBuYWFyIGRlIHR3ZWVkZSByZWdlbCB2ZXJkZXJvcCBtZXQgLS0tPiBlbiBoZXJoYWFsIHN0YXAgMiBlbiAzCisgICAgIG9tIGRlemUgemluIHRlIGNvcnJpZ2VyZW4uCisKKyAgLS0tPiBFciBvbnRicmVla3Qgd2F0IHRla3N0IGFhbiBkZQorICAgICAgIEVyIG9udGJyZWVrdCB3YXQgdGVrc3QgYWFuIGRlemUgcmVnZWwuCisgIC0tLT4gSGllciBvbnRicmVla3Qgb29rIHcKKyAgICAgICBIaWVyIG9udGJyZWVrdCBvb2sgd2F0IHRla3N0LgorCisgIDUuIEdhIG5hYXIgbGVzIDEuNiBhbHMgamUgdmVydHJvdXdkIGJlbnQgZ2VyYWFrdCBhYW4gaGV0IHRvZXZvZWdlbgorICAgICB2YW4gdGVrc3QuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDEuNjogRUVOIEJFU1RBTkQgRURJVFRFTgorCisgICAgKiogR2VicnVpayAgOndxICBvbSBlZW4gYmVzdGFuZCBvcCB0ZSBzbGFhbiBlbiBkZSBlZGl0b3IgdGUgdmVybGF0ZW4uICoqCisKKyAgISEgTEVUIE9QOiBMZWVzIGRlemUgbGVzIGhlbGVtYWFsIGRvb3Igdm9vcmRhdCBqZSBlZW4gdmFuIGRlIHZvbGdlbmRlCisgICAgICAgICAgICAgc3RhcHBlbiB1aXR2b2VydCEhCisKKyAgMS4gVmVybGFhdCBkZXplIGxlcyB6b2FscyBqZSBpbiBsZXMgMS4yIGRlZWQ6ICA6cSEKKyAgICAgT2YgZ2VicnVpayBlZW4gYW5kZXJlIHRlcm1pbmFsIGFscyBqZSBkYWFyIGRlIGJlc2NoaWtraW5nIG92ZXIgaGVidC4gRG9lCisgICAgIGRhYXIgaGV0IHZvbGdlbmRlLgorCisgIDIuIFRpayBoZXQgdm9sZ2VuZGUgY29tbWFuZG8gbmEgZGUgc2hlbGwtcHJvbXB0OiAgdmltIGxlcyA8RU5URVI+CisgICAgICd2aW0nICh2YWFrIG9vayAndmknKSBpcyBoZXQgY29tbWFuZG8gb20gZGUgVmltLWVkaXRvciB0ZSBzdGFydGVuLAorICAgICAnbGVzJyBpcyBkZSBuYWFtIHZhbiBoZXQgYmVzdGFuZCwgZGF0IGplIGdhYXQgYmV3ZXJrZW4uIEtpZXMgZWVuIGFuZGVyZQorICAgICBuYWFtIGFscyBlciBhbCBlZW4gYmVzdGFuZCAnbGVzJyBiZXN0YWF0LCBkYXQgbmlldCB2ZXJhbmRlcmQgbWFnIHdvcmRlbi4KKworICAzLiBWb2VnIG5hYXIgZWlnZW4ga2V1cyB0ZWtzdCB0b2UsIHpvYWxzIGplIGdlbGVlcmQgaGVidCBpbiBlZXJkZXJlIGxlc3Nlbi4KKworICA0LiBTbGEgaGV0IGJlc3RhbmQgbWV0IGRlIHdpanppZ2luZ2VuIG9wIGVuIHZlcmxhYXQgVmltIG1ldCAgOndxIDxFTlRFUj4KKworICA1LiBIZXJzdGFydCB2aW10dXRvciBhbHMgamUgZGV6ZSBiaWogc3RhcCAxIGhlYnQgdmVybGF0ZW4gZW4gZ2EgdmVyZGVyIG1ldAorICAgICBkZSB2b2xnZW5kZSBzYW1lbnZhdHRpbmcuCisKKyAgNi4gVm9lciBkZXplIHN0YXBwZW4gdWl0IG5hZGF0IGplIHplIGhlYnQgZ2VsZXplbiBlbiBiZWdyZXBlbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBTQU1FTlZBVFRJTkcgTGVzIDEKKworICAxLiBEZSBjdXJzb3Igd29yZHQgYmV3b2dlbiBtZXQgZGUgcGlqbHRqZXN0b2V0c2VuIG9mIGRlIGhqa2wtdG9ldHNlbi4KKyAgICAgICBoIChsaW5rcykgICBqIChvbWxhYWcpICBrIChvbWhvb2cpICBsIChyZWNodHMpCisKKyAgMi4gU3RhcnQgVmltIHZhbiBkZSBzaGVsbC1wcm9tcHQuIFRpazogIHZpbSBCRVNUQU5EU05BQU0gPEVOVEVSPgorCisgIDMuIFNsdWl0IFZpbSBhZiBtZXQgIDxFU0M+IDpxISA8RU5URVI+ICBvbSBkZSB2ZXJhbmRlcmluZ2VuIHdlZyB0ZSBnb29pZW4uCisgICAgICAgICAgICAgICBPRiB0aWsgIDxFU0M+IDp3cSA8RU5URVI+ICBvbSBkZSB2ZXJhbmRlcmluZ2VuIHRlIGJld2FyZW4uCisKKyAgNC4gV2lzIGhldCB0ZWtlbiBvbmRlciBkZSBjdXJzb3IgbWV0OiAgeAorCisgIDUuIEludm9lZ2VuIG9mIHRvZXZvZWdlbiB2YW4gdGVrc3QsIHRpazoKKyAgICAgaSAgZW4gZGFhcm5hIGRlIGluIHRlIHZvZWdlbiB0ZWtzdCAgPEVTQz4gICB2b2VnIGluIHZhbmFmIGRlIGN1cnNvcgorICAgICBBICBlbiBkYWFybmEgZGUgdG9lIHRlIHZvZWdlbiB0ZWtzdCAgPEVTQz4gIHZvZWcgdG9lIGFjaHRlciBkZSByZWdlbAorCisgIE9QTUVSS0lORzogTWV0IDxFU0M+IGtvbSBqZSB0ZXJ1ZyBpbiBvcGRyYWNodG1vZHVzIGVuIHdvcmR0IGVlbiBvbmdld2Vuc3QKKyAgICAgICAgICAgICBvZiBnZWRlZWx0ZWxpamsgdWl0Z2V2b2VyZCBjb21tYW5kbyBhZmdlYnJva2VuLgorCisgIEdhIG51IHZlcmRlciBtZXQgbGVzIDIuMS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMi4xOiBXSVMtQ09NTUFORE8nUworCisgICAgICAgKiogVGlrICBkdyAgKCdkZWxldGUgd29yZCcpIG9tIGVlbiB3b29yZCB0ZSB3aXNzZW4uICoqCisKKyAgMS4gRHJ1ayBvcCA8RVNDPiBvbSB6ZWtlciBpbiBkZSBvcGRyYWNodG1vZHVzIHRlIHppam4uCisKKyAgMi4gR2EgbmFhciBkZSByZWdlbCBoaWVyb25kZXIsIGRpZSBtZXQgLS0tPiBiZWdpbnQuCisKKyAgMy4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGhldCBiZWdpbiB2YW4gZWVuIHdvb3JkIGRhdCBtb2V0IHdvcmRlbiBnZXdpc3QuCisKKyAgNC4gTWV0IGhldCB0aWtrZW4gdmFuICBkdyAgdmVyZHdpam50IGhldCB3b29yZC4KKworICBPUE1FUktJTkc6IERlIGxldHRlciAgZCAgdmVyc2NoaWpudCBvcCBkZSBsYWF0c3RlIHJlZ2VsIHZhbiBoZXQgc2NoZXJtCisgICAgICAgICAgICAgem9kcmEgamUgaGVtIHRpa3QuIFZpbSBpcyBhYW4gaGV0IHdhY2h0ZW4gdG90IGplIGRlICB3ICB0aWt0LgorICAgICAgICAgICAgIEFscyBqZSBlZW4gYW5kZXIgdGVrZW4gZGFuICBkICB6aWV0LCBoZWIgamUgaWV0cyB2ZXJrZWVyZHMKKyAgICAgICAgICAgICBnZXRpa3QuIERydWsgb3AgPEVTQz4gZW4gYmVnaW4gb3BuaWV1dy4KKworICBOT0cgRUVOIE9QTUVSS0lORzogRGl0IHdlcmt0IGFsbGVlbiBhbHMgZGUgb3B0aWUgJ3Nob3djbWQnIGlzIGluZ2VzY2hha2VsZC4KKyAgICAgICAgICAgICAgICAgICAgIERhdCBnZWJldXJ0IG1ldCAgOnNldCBzaG93Y21kIDxFTlRFUj4KKworICAtLS0+IEVyIHppam4gZWVuIGhldCBwYWFyIGdnZyB3b29yZGVuLCBkaWUgbmlldCBpbiBkZXplIGxlbiB6aW4gdGh1aXNob3Jlbi4KKworICA1LiBIZXJoYWFsIGRlIHN0YXBwZW4gMyBlbiA0IHRvdCBkZSB6aW4gZ29lZCBpcyBlbiBnYSBuYWFyIGxlcyAyLjIuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDIuMjogTUVFUiBXSVMtQ09NTUFORE8nUworCisgICAgICAgICoqIFRpayAgZCQgIG9tIHRlIHdpc3NlbiB0b3QgaGV0IGVpbmRlIHZhbiBkZSByZWdlbC4gKioKKworICAxLiBEcnVrIG9wIDxFU0M+IG9tIHpla2VyIGluIGRlIG9wZHJhY2h0bW9kdXMgdGUgemlqbi4KKworICAyLiBHYSBuYWFyIGRlIHJlZ2VsIGhpZXJvbmRlciwgZGllIG1ldCAtLS0+IGJlZ2ludC4KKworICAzLiBHYSBtZXQgZGUgY3Vyc29yIG5hYXIgaGV0IGVpbmRlIHZhbiBkZSBjb3JyZWN0ZSByZWdlbCAoTkEgZGUgZWVyc3RlICAuICkuCisKKyAgNC4gVGlrICBkJCAgb20gdGUgd2lzc2VuIHRvdCBoZXQgZWluZGUgdmFuIGRlIHJlZ2VsLgorCisgIC0tLT4gSWVtYW5kIGhlZWZ0IGhldCBlaW5kZSB2YW4gZGV6ZSByZWdlbCBkdWJiZWwgZ2V0aWt0LiBkdWJiZWwgZ2V0aWt0LgorCisgIDUuIEdhIG5hYXIgbGVzIDIuMyB2b29yIHVpdGxlZy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMi4zOiBPVkVSIE9QRVJBVE9SRU4gRU4gQkVXRUdJTkdFTgorCisgIFZlZWwgY29tbWFuZG8ncyBkaWUgZGUgdGVrc3QgdmVyYW5kZXJlbiwgYmVzdGFhbiB1aXQgZWVuIG9wZXJhdG9yIGVuIGVlbgorICBiZXdlZ2luZy4gRGUgc2FtZW5zdGVsbGluZyB2YW4gZWVuIHdpcy1jb21tYW5kbyBtZXQgZGUgb3BlcmF0b3IgIGQgIGlzOgorICAgIGQgIGJld2VnaW5nCisKKyAgRGFhcmJpaiBpczoKKyAgICBkICAgICAgICAtIGRlIHdpcy1vcGVyYXRvcgorICAgIGJld2VnaW5nIC0gaGV0IGJlcmVpayB3YWFyb3AgZGUgb3BlcmF0b3Igd2Vya3QgKHppZSBoZXQgbGlqc3RqZSBoaWVyb25kZXIpCisKKyAgRWVuIGtvcnRlIGxpanN0IHZhbiBiZXdlZ2luZ2VuIHZhbmFmIGRlIGN1cnNvcjoKKyAgICB3IC0gdG90IGhldCBiZWdpbiB2YW4gaGV0IHZvbGdlbmRlIHdvb3JkLCBaT05ERVIgaGV0IGVlcnN0ZSB0ZWtlbiBkYWFydmFuLgorICAgIGUgLSB0b3QgaGV0IGVpbmRlIHZhbiBoZXQgaHVpZGlnZSB3b29yZCwgSU5DTFVTSUVGIGhldCBsYWF0c3RlIHRla2VuLgorICAgICQgLSB0b3QgaGV0IGVpbmRlIHZhbiBkZSByZWdlbCwgSU5DTFVTSUVGIGhldCBsYWF0c3RlIHRla2VuLgorCisgIEhldCB0aWtrZW4gdmFuICBkZSAgd2lzdCB0ZWtzdCB2YW5hZiBkZSBjdXJzb3IgdG90IGhldCBlaW5kIHZhbiBoZXQgd29vcmQuCisKKyAgT1BNRVJLSU5HOiBIZXQgaW50aWtrZW4gdmFuIGFsbGVlbiBtYWFyIGRlIGJld2VnaW5nLCB6b25kZXIgZWVuIG9wZXJhdG9yLAorICAgICAgICAgICAgIGluIGRlIG9wZHJhY2h0bW9kdXMgYmV3ZWVndCBkZSBjdXJzb3IgKHJlc3BlY3RpZXZlbGlqayBuYWFyIGhldAorICAgICAgICAgICAgIHZvbGdlbmRlIHdvb3JkLCBuYWFyIGhldCBlaW5kIHZhbiBoZXQgaHVpZGlnZSB3b29yZCBlbiBuYWFyIGhldAorICAgICAgICAgICAgIGVpbmQgdmFuIGRlIHJlZ2VsKS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMi40OiBHRUJSVUlLIFZBTiBFRU4gVEVMTEVSIEJJSiBFRU4gQkVXRUdJTkcKKworICAgKiogRWVuIGdldGFsIHZvb3IgZWVuIGJld2VnaW5nIGhlcmhhYWx0IGhldCB6b3ZlZWwga2Vlci4gKioKKworICAxLiBHYSBuYWFyIGRlIHJlZ2VsIGhpZXJvbmRlciwgZGllIG1ldCAtLS0+IGJlZ2ludC4KKworICAyLiBUaWsgIDJ3ICB6b2RhdCBkZSBjdXJzb3IgdHdlZSB3b29yZGVuIHZvb3J1aXQgZ2FhdC4KKworICAzLiBUaWsgIDNlICB6b2RhdCBkZSBjdXJzb3IgbmFhciBoZXQgZWluZGUgdmFuIGhldCBkZXJkZSB3b29yZCBnYWF0LgorCisgIDQuIFRpayAgMCAgKG51bCkgb20gbmFhciBoZXQgYmVnaW4gdmFuIGRlIHJlZ2VsIHRlIGdhYW4uCisKKyAgNS4gSGVyaGFhbCBkZSBzdGFwcGVuIDIgZW4gMyBtZXQgYW5kZXJlIGdldGFsbGVuLgorCisgIC0tLT4gRGl0IGlzIGVlbiByZWdlbCBtZXQgd29vcmRlbiB3YWFyaW4gamUgaGVlbiBlbiB3ZWVyIGthbiBiZXdlZ2VuLgorCisgIDYuIEdhIHZlcmRlciBtZXQgbGVzIDIuNS4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMi41OiBHRUJSVUlLIEVFTiBURUxMRVIgT00gTUVFUiBURSBXSVNTRU4KKworICAqKiBFZW4gZ2V0YWwgbWV0IGVlbiBvcGVyYXRvciB6b3JndCBkYXQgZGV6ZSB6b3ZlZWwga2VlciB3b3JkdCBoZXJoYWFsZC4gKioKKworICBCaWogZGUgY29tYmluYXRpZSB2YW4gd2lzLW9wZXJhdG9yIGVuIGJld2VnaW5nIGthbiBqZSB2b29yIGRlIGJld2VnaW5nIGVlbgorICB0ZWxsZXIgemV0dGVuIG9tIG1lZXIgdGUgd2lzc2VuOgorICAgICAgICAgZCAgW3RlbGxlcl0gIGJld2VnaW5nCisKKyAgMS4gR2EgbmFhciBoZXQgZWVyc3RlIHdvb3JkIGluIEhPT0ZETEVUVEVSUyBpbiBkZSByZWdlbCBuYSAtLS0+LgorCisgIDIuIE1ldCAgZDJ3ICB3b3JkZW4gdHdlZSB3b29yZGVuIChpbiBkaXQgdm9vcmJlZWxkIGluIGhvb2ZkbGV0dGVycykgZ2V3aXN0LgorCisgIDMuIEhlcmhhYWwgZGUgc3RhcHBlbiAxIGVuIDIgbWV0IHZlcnNjaGlsbGVuZGUgdGVsbGVycyBvbSBkZSB2ZXJzY2hpbGxlbmRlCisgICAgIHdvb3JkZW4gaW4gaG9vZmRsZXR0ZXJzIG1ldCDDqcOpbiBjb21tYW5kbyB0ZSB3aXNzZW4uCisKKyAgLS0tPiBkZXplIEFCQyBERSByZWdlbCBGR0hJIEpLIExNTiBPUCBpcyBRWiBSUyBvbnRkYWFuIHZhbiByb21tZWwuCisKKyAgT1BNRVJLSU5HOiBEZSB0ZWxsZXIga2FuIG9vayBhYW4gaGV0IGJlZ2luIHN0YWFuOiBkMncgZW4gMmR3IHdlcmtlbiBhbGxlYmVpLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyAyLjY6IEJFV0VSS0lORyBWQU4gSEVMRSBSRUdFTFMKKworICAgICAgICAgICAgICAgKiogVGlrICBkZCAgb20gZWVuIGhlbGUgcmVnZWwgdGUgd2lzc2VuLiAqKgorCisgIE9tZGF0IGhldCB3aXNzZW4gdmFuIGVlbiBoZWxlIHJlZ2VsIHZhYWsgdm9vcmtvbXQsIGJlc2xvdGVuIGRlIG9udHdlcnBlcnMKKyAgdmFuIFZpIGRhdCBtZXQgaGV0IHRpa2tlbiB2YW4gIGRkICBzaW1wZWx3ZWcgZWVuIGhlbGUgcmVnZWwgZ2V3aXN0IHdvcmR0LgorCisgIDEuIEdhIG1ldCBkZSBjdXJzb3IgbmFhciBkZSB0d2VlZGUgcmVnZWwgdmFuIGRlIHppbm5ldGplcyBoaWVyb25kZXIuCisKKyAgMi4gVGlrICBkZCAgb20gZGUgcmVnZWwgdGUgd2lzc2VuLgorCisgIDMuIEdhIG51IG5hYXIgZGUgdmllcmRlIHJlZ2VsLgorCisgIDQuIFRpayAgMmRkICBvbSB0d2VlIHJlZ2VscyB0ZSB3aXNzZW4uCisKKyAgLS0tPiAgMSkgIFJvemVuIHppam4gcm9vZC4KKyAgLS0tPiAgMikgIE1vZGRlciBpcyBsZXVrLgorICAtLS0+ICAzKSAgVmlvb2x0amVzIHppam4gYmxhdXcuCisgIC0tLT4gIDQpICBJayBoZWIgZWVuIGF1dG8uCisgIC0tLT4gIDUpICBEZSBrbG9rIHNsYWF0IGRlIHRpamQuCisgIC0tLT4gIDYpICBTdWlrZXIgaXMgem9ldC4KKyAgLS0tPiAgNykgIEVuIGRhdCBiZW4gamlqIG9vay4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMi43OiBIRVQgQ09NTUFORE8gSEVSU1RFTAorCisgICoqIHUgIG1hYWt0IGhldCBsYWF0c3RlIGNvbW1hbmRvIG9uZ2VkYWFuLCAgVSAgaGVyc3RlbHQgZWVuIGhlbGUgcmVnZWwuICoqCisKKyAgMS4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGRlIHJlZ2VsIGhpZXJvbmRlciBtZXQgLS0tPiBlbiB6ZXQgaGVtCisgICAgIG9wIGRlIGVlcnN0ZSBmb3V0LgorCisgIDIuIFRpayAgeCAgb20gaGV0IGVlcnN0ZSBvbmdld2Vuc3RlIHRla2VuIHRlIHdpc3Nlbi4KKworICAzLiBUaWsgbnUgIHUgIGVuIG1hYWsgZGFhcm1lZSBoZXQgdm9yaWdlIGNvbW1hbmRvIG9uZ2VkYWFuLgorCisgIDQuIEhlcnN0ZWwgbnUgYWxsZSBmb3V0ZW4gaW4gZGUgcmVnZWwgbWV0IGhldCAgeCAgY29tbWFuZG8uCisKKyAgNS4gVGlrIGVlbiBob29mZGxldHRlciAgVSAgb20gZGUgcmVnZWwgaW4geiduIG9vcnNwcm9ua2VsaWprZSBzdGFhdCB0ZXJ1ZworICAgICB0ZSBicmVuZ2VuLgorCisgIDYuIFRpayBudSBlZW4gcGFhciBrZWVyICB1ICBlbiBoZXJzdGVsIGRhYXJtZWUgZGUgIFUgIGVuIGVlcmRlcmUgY29tbWFuZG8ncy4KKworICA3LiBUaWsgbnUgZWVuIHBhYXIga2VlciBDVFJMLVIgKEN0cmwtdG9ldHMgaW5nZWRydWt0IGhvdWRlbiBlbiBSIHRpa2tlbikgZW4KKyAgICAgdm9lciBkYWFybWVlIGRlIGNvbW1hbmRvJ3Mgb3BuaWV1dyB1aXQ6ICdyZWRvJyBvZnRld2VsICd1bmRvIGRlIHVuZG8ncycuIAorCisgIC0tLT4gSGVlcnN0ZWwgZGUgZm91dGVuIGlubiBkZWV6ZSByZWdlbCBlbiBicmVubmcgemUgd2VlciB0ZXJ1Z2cgbWV0IHVuZG8uCisKKyAgOC4gRGl0IHppam4gaGVlbCBudXR0aWdlIGNvbW1hbmRvJ3MuIEdhIHZlcmRlciBtZXQgc2FtZW52YXR0aW5nIHZhbiBsZXMgMi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBTQU1FTlZBVFRJTkcgTGVzIDIKKworICAxLiBXaXMgdmFuIGRlIGN1cnNvciB0b3QgaGV0IHZvbGdlbmRlIHdvb3JkIG1ldCAgICBkdworCisgIDIuIFdpcyB2YW4gZGUgY3Vyc29yIHRvdCBoZXQgZWluZCB2YW4gZGUgcmVnZWwgbWV0IGQkCisKKyAgMy4gV2lzIGRlIGhlbGUgcmVnZWwgbWV0ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGQKKworICA0LiBIZXJoYWFsIGVlbiBiZXdlZ2luZyBkb29yIGVyIGVlbiBnZXRhbCB2b29yIHRlIHpldHRlbjogIDJ3CisKKyAgNS4gRGUgb3Bib3V3IHZhbiBlZW4gd2lqemlnaW5nc2NvbW1hbmRvIGlzOgorICAgICAgIG9wZXJhdG9yICBbZ2V0YWxdICBiZXdlZ2luZworICAgICBkYWFyYmlqIGlzOgorICAgICAgIG9wZXJhdG9yIC0gd2F0IGVyIG1vZXQgZ2ViZXVyZW4sIGJpanZvb3JiZWVsZCAgZCAgb20gdGUgd2lzc2VuCisgICAgICAgW2dldGFsXSAgLSBlZW4gKG5pZXQtdmVycGxpY2h0ZSkgdGVsbGVyIG9tICdiZXdlZ2luZycgdGUgaGVyaGFsZW4KKyAgICAgICBiZXdlZ2luZyAtIGVlbiBiZXdlZ2luZyBkb29yIGRlIHRlIHdpanppZ2VuIHRla3N0IHpvYWxzIHcgKHdvb3JkKQorICAgICAgICAgICAgICAgICAgb2YgJCAodG90IGhldCBlaW5kZSB2YW4gZGUgcmVnZWwpIGVuei4KKworICA2LiBHYSBuYWFyIGhldCBiZWdpbiB2YW4gZGUgcmVnZWwgbWV0IG51bDogIDAKKworICA3LiBVbmRvIGRlIHZvb3JnYWFuZGUgYWN0aWUgbWV0ICAgICAgICAgICAgICB1IChrbGVpbmUgbGV0dGVyKQorICAgICBVbmRvIGFsbGUgdmVyYW5kZXJpbmdlbiBpbiBlZW4gcmVnZWwgbWV0ICBVIChob29mZGxldHRlcikKKyAgICAgVW5kbyBkZSB1bmRvJ3MgbWV0ICAgICAgICAgICAgICAgICAgICAgICAgQ1RSTC1SCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDMuMTogSEVUIENPTU1BTkRPIFBMQUsKKworICAqKiBUaWsgIHAgICgncHV0JykgZW4gcGxhayBkYWFybWVlIHpvanVpc3QgZ2V3aXN0ZSB0ZWtzdCBuYSB0ZSBjdXJzb3IuICoqCisKKyAgMS4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGRlIGVlcnN0ZSByZWdlbCBtZXQgLS0tPiBoaWVybmEuCisKKyAgMi4gV2lzIGRlIHJlZ2VsIG1ldCAgZGQgIGVuIGJld2FhciBoZW0gem9kb2VuZGUgaW4gZWVuIFZpbS1yZWdpc3Rlci4KKworICAzLiBHYSBuYWFyIGRlIGMtcmVnZWwsIHdhYXIgZGUgZ2V3aXN0ZSByZWdlbCBPTkRFUiBtb2V0IGtvbWVuLgorCisgIDQuIFRpayAgcCAgb20gZGUgcmVnZWwgdGVydWcgdGUgemV0dGVuIG9uZGVyIGRlIHJlZ2VsIG1ldCBkZSBjdXJzb3IuCisKKyAgNS4gSGVyaGFhbCBkZSBzdGFwcGVuIDIgdG90IDQgb20gZGUgcmVnZWxzIGluIGRlIGdvZWRlIHZvbGdvcmRlIHRlIHpldHRlbi4KKworLS0tPiBkKSBLcmlqZyBqZSBoZXQgb29rIG9uZGVyIGRlIGtuaWU/CistLS0+IGIpIFZpb29sdGplcyB6aWpuIGJsYXV3LAorLS0tPiBjKSBCZWdyaXAgaXMgdGUgbGVyZW4sCistLS0+IGEpIFJvemVuIHppam4gcm9vZCwKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgMy4yOiBIRVQgQ09NTUFORE8gVkVSVkFORworCisgICoqIFRpayByeCAoJ3JlcGxhY2UnKSBvbSBoZXQgdGVrZW4gb25kZXIgZGUgY3Vyc29yIHRlIHZlcnZhbmdlbiBkb29yIHguICoqCisKKyAgMS4gR2EgbmFhciBkZSBlZXJzdGUgcmVnZWwgaGllcm9uZGVyIG1ldCAtLS0+LgorCisgIDIuIFpldCBkZSBjdXJzb3Igb3AgZGUgZWVyc3RlIGZvdXQuCisKKyAgMy4gVGlrICByICBlbiBkYW4gaGV0IHRla2VuIGRhdCBlciBob29ydCB0ZSBzdGFhbi4KKworICA0LiBIZXJoYWFsIGRlIHN0YXBwZW4gMiBlbiAzIHRvdCBkZSBlZXJzdGUgcmVnZWwgZ2VsaWprIGlzIGFhbiBkZSB0d2VlZGUuCisKKyAgLS0tPiAgQmlqIGhldCB0b2trZW4gdmFuIGRlemYgaGVnZWwgaGVlZnQgaWVtYW1kIHZlcmtsZXJkZSBsZXR0ZXJzIGdldGlrdC4KKyAgLS0tPiAgQmlqIGhldCB0aWtrZW4gdmFuIGRlemUgcmVnZWwgaGVlZnQgaWVtYW5kIHZlcmtlZXJkZSBsZXR0ZXJzIGdldGlrdC4KKworICA1LiBHYSBudSBuYWFyIGxlcyAzLjMuCisKKyAgTEVUIE9QOiBEb29yIGhldCB0ZSBkb2VuLCBsZWVyIGplIGJldGVyIGRhbiBkb29yIGhldCB1aXQgamUgaG9vZmQgdGUgbGVyZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDMuMzogSEVUIENPTU1BTkRPIFZFUkFOREVSCisKKyAgICAgKiogVGlrICBjZSAgb20gdGUgdmVyYW5kZXJlbiB0b3QgaGV0IGVpbmRlIHZhbiBlZW4gd29vcmQuICoqCisKKyAgMS4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGRlIGVlcnN0ZSByZWdlbCBoaWVyb25kZXIgbWV0IC0tLT4uCisKKyAgMi4gWmV0IGRlIGN1cnNvciBvcCBkZSAgdSAgdmFuIHJ1Y2guCisKKyAgMy4gVGlrICBjZSAgZW4gZGUganVpc3RlIGxldHRlcnMgKGluIGRpdCBnZXZhbCAiZWdlbCIpLgorCisgIDQuIERydWsgPEVTQz4gZW4gZ2EgbmFhciBoZXQgdm9sZ2VuZGUgdGVrZW4gZGF0IG1vZXQgd29yZGVuIHZlcmFuZGVyZC4KKworICA1LiBIZXJoYWFsIGRlIHN0YXBwZW4gMyBlbiA0IHRvdCBkZSBlZXJzdGUgcmVnZWwgZ2VsaWprIGlzIGFhbiBkZSB0d2VlZGUuCisKKyAgLS0tPiBJbiBkZXplIHJ1Y2ggc3RhYW4gZWVuIHBhYXIgd2VlZHJpbSBkaWUgdmVyYW5kZXJkIG1vdWQgd29yZGVuLgorICAtLS0+IEluIGRlemUgcmVnZWwgc3RhYW4gZWVuIHBhYXIgd29vcmRlbiBkaWUgdmVyYW5kZXJkIG1vZXRlbiB3b3JkZW4uCisKKyAgTEVUIE9QOiBNZXQgIGNlICB3b3JkdCAoaGV0IGxhYXRzdGUgZGVlbCB2YW4pIGVlbiB3b29yZCBnZXdpc3QgZW4ga29tIGplCisgICAgICAgICAgaW4gZGUgaW52b2VnbW9kdXMuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDMuNDogTUVFUiBWRVJBTkRFUklOR0VOIE1FVCBjCisKKyAgMS4gSGV0IGNvbW1hbmRvIHZlcmFuZGVyICgnY2hhbmdlJykgd2Vya3Qgb3AgZGV6ZWxmZGUgbWFuaWVyIGFscyB3aXMuIERlCisgICAgIG9wYm91dyBpczoKKyAgICAgICAgIGMgIFt0ZWxsZXJdICBiZXdlZ2luZworCisgIDIuIERlIGJld2VnaW5nZW4gemlqbiBoZXR6ZWxmZGUsIHpvYWxzICB3ICAod29vcmQpIGVuICAkICAoZWluZGUgcmVnZWwpLgorCisgIDMuIEdhIG5hYXIgZGUgZWVyc3RlIHJlZ2VsIGhpZXJvbmRlciBtZXQgLS0tPi4KKworICA0LiBaZXQgZGUgY3Vyc29yIG9wIGRlIGVlcnN0ZSBmb3V0LgorCisgIDUuIFRpayAgYyQgIGVuIHRpayBkZSByZXN0IHZhbiBkZSByZWdlbCB6b2RhdCBoaWogZ2VsaWprIHdvcmR0IGFhbiBkZQorICAgICB0d2VlZGUgZW4gc2x1aXQgYWYgbWV0IDxFU0M+LgorCisgIC0tLT4gSGV0IGVpbmRlIHZhbiBkZXplIHJlZ2VsIG1vZXQgcHJlY2llcyB6byB3b3JkZW4gYWxzIGRlIHR3ZWVkZSByZWdlbC4KKyAgLS0tPiBIZXQgZWluZGUgdmFuIGRlemUgcmVnZWwgbW9ldCBnZWNvcnJpZ2VlcmQgd29yZGVuIG1ldCBoZXQgY29tbWFuZG8gYyQuCisKKyAgT1BNRVJLSU5HOiBKZSBrYW4gZGUgdG9ldHMgPEJBQ0tTUEFDRT4gZ2VicnVpa2VuIG9tIHRpa2ZvdXRlbiB0ZSBoZXJzdGVsbGVuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIFNBTUVOVkFUVElORyBMZXMgMyAKKworICAxLiBUaWsgIHAgIG9tIHRla3N0IHRlcnVnIHRlIHBsYWtrZW4sIGRpZSB6b2p1aXN0IGlzIGdld2lzdC4gRGl0IHpldCBkZQorICAgICBnZXdpc3RlIHRla3N0IEFDSFRFUiBkZSBjdXJzb3IgKGFscyBlZW4gaGVsZSByZWdlbCBpcyBnZXdpc3Qga29tdCBkZXplCisgICAgIG9wIGRlIHJlZ2VsIE9OREVSIGRlIGN1cnNvci4KKworICAyLiBIZXQgdGVrZW4gd2Fhcm9wIGRlIGN1cnNvciBzdGFhdCB3b3JkdCB2ZXJ2YW5nZW4gbWV0ICByICBnZXZvbGdkIGRvb3IKKyAgICAgaGV0IHRla2VuIGRhdCBqZSBkYWFyIHdpbHQgaGViYmVuLgorCisgIDMuIEhldCBjb21tYW5kbyAndmVyYW5kZXInIHN0ZWx0IGplIGluIHN0YWF0IG9tIHRla3N0IHRlIHZlcmFuZGVyZW4gdmFuYWYKKyAgICAgZGUgY3Vyc29yIHRvdCB3YWFyIGRlICdiZXdlZ2luZycgamUgYnJlbmd0LiBEYXQgd2lsIHplZ2dlbjogdGlrICBjZSAgb20KKyAgICAgdGUgdmVyYW5kZXJlbiB2YW5hZiBkZSBjdXJzb3IgdG90IGhldCBlaW5kZSB2YW4gaGV0IHdvb3JkLCAgYyQgIG9tIHRlCisgICAgIHZlcmFuZGVyZW4gdG90IGhldCBlaW5kZSB2YW4gZGUgcmVnZWwuCisKKyAgNC4gRGUgb3Bib3V3IHZhbiBoZXQgY29tbWFuZG8gdmVyYW5kZXIgaXM6CisgICAgICAgICBjICBbdGVsbGVyXSAgYmV3ZWdpbmcKKworICBHYSBudSBuYWFyIGRlIHZvbGdlbmRlIGxlcy4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNC4xOiBQTEFBVFMgVkFOIERFIENVUlNPUiBFTiBTVEFUVVMgVkFOIEhFVCBCRVNUQU5ECisKKyAgKiogQ1RSTC1HIGxhYXQgemllbiB3YWFyIChyZWdlbG51bW1lcikgamUgamUgYmV2aW5kdCBlbiB3YXQgZGUgc3RhdHVzIHZhbgorICAgICBoZXQgYmVzdGFuZCBpcy4gTWV0IFtudW1tZXJdIEcgIGdhIGplIG5hYXIgZWVuIGJlcGFhbGRlIHJlZ2VsLiAqKgorCisgIExFVCBPUDogTGVlcyBkZSBoZWxlIGxlcyB2b29yZGF0IGplIGVlbiBzdGFwIHVpdHZvZXJ0ISEKKworICAxLiBIb3UgZGUgQ3RybC10b2V0cyBpbmdlZHJ1a3QgZW4gdGlrICBnIC4gRGl0IG5vZW1lbiB3ZSBDVFJMLUcuCisgICAgIE9uZGVyYWFuIGRlIHBhZ2luYSB2ZXJzY2hpam50IGVlbiBib29kc2NoYXAgbWV0IGRlIGJlc3RhbmRzbmFhbSBlbiBkZQorICAgICBwb3NpdGllIGluIGhldCBiZXN0YW5kLiBPbnRob3UgaGV0IHJlZ2VsbnVtbWVyIHZvb3Igc3RhcCAzLgorCisgIE9QTUVSS0lORzogQWxzIGRlIG9wdGllICdydWxlcicgYWFuIHN0YWF0LCB3b3JkdCBkZSBwb3NpdGllIHZhbiBkZSBjdXJzb3IKKyAgICAgICAgICAgICAocmVnZWxudW1tZXIsIGtvbG9tKSBzdGVlZHMgaW4gZGUgcmVjaHRlci1vbmRlcmhvZWsgdmFuIGhldAorICAgICAgICAgICAgIHNjaGVybSB2ZXJtZWxkLiBJbiBkaXQgZ2V2YWwgdmVybWVsZHQgQ1RSTC1HIGdlZW4gcmVnZWxudW1tZXIuCisgICAgICAgICAgICAgQ1RSTC1HIGdlZWZ0IG9vayBkZSBzdGF0dXMgYWFuLCBuYW1lbGlqayBvZiBkZSB0ZWtzdCB2ZXJhbmRlcmQKKyAgICAgICAgICAgICBpcyAoJ21vZGlmaWVkJykgc2luZHMgaGV0IGRlIGxhYXRzdGUga2VlciBpcyBvcGdlc2xhZ2VuLiAgCisKKyAgMi4gVGlrIGhvb2ZkbGV0dGVyICBHICBvbSBuYWFyIGhldCBlaW5kZSB2YW4gaGV0IGJlc3RhbmQgdGUgZ2Fhbi4KKyAgICAgVGlrICBnZyAgb20gbmFhciBoZXQgYmVnaW4gdmFuIGhldCBiZXN0YW5kIHRlIGdhYW4uCisKKyAgMy4gVGlrIGhldCByZWdlbG51bW1lciB3YWFyIGplIGJpaiBzdGFwIDEgd2FzIGVuIGRhYXJuYSAgRyAuIERpdCBicmVuZ3QgamUKKyAgICAgdGVydWcgbmFhciBkZSByZWdlbCB3YWFyIGplIHdhcyB0b2VuIGplIGRlIGVlcnN0ZSBrZWVyIENUUkwtRyB0aWt0ZS4KKworICA0LiBWb2VyIGRlIHN0YXBwZW4gMSB0b3QgMyB1aXQgYWxzIGplIGRpdCBnb2VkIGhlYnQgZ2VsZXplbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNC4yOiBIRVQgQ09NTUFORE8gWk9FS0VOCisKKyAgKiogTWV0ICAvWk9FSyAgd29yZHQgbmFhciBkZSB6b2VrdGVybSAow6nDqW4gb2YgbWVlciB3b29yZGVuKSBnZXpvY2h0LiAqKgorCisgIDEuIFRpayBpbiBkZSBvcGRyYWNodG1vZHVzIGhldCB0ZWtlbiAgLyAuIEplIHppZXQgZGF0IGhldCBtZXQgZGUgY3Vyc29yCisgICAgIGFhbiBkZSBvbmRlcmthbnQgdmFuIGhldCBzY2hlcm0gdmVyc2NoaWpudCwgem9hbHMgYmlqIGhldCA6LWNvbW1hbmRvLgorCisgIDIuIFRpayBudSAnZmZvdXV0JyA8RU5URVI+LiBEaXQgaXMgaGV0IHdvb3JkIHdhYXJuYWFyIGdlem9jaHQgd29yZHQuCisKKyAgMy4gVGlrICBuICBvbSB2ZXJkZXIgdGUgem9la2VuIG1ldCBkZXplbGZkZSB6b2VrdGVybS4KKyAgICAgWm9layBtZXQgIE4gIG1ldCBkZXplbGZkZSB6b2VrdGVybSBpbiBkZSB0ZWdlbm92ZXJnZXN0ZWxkZSByaWNodGluZy4KKworICA0LiBab2VrIGluIGFjaHRlcndhYXJ0c2UgcmljaHRpbmcgbWV0ID96b2VrdGVybSBpbiBwbGFhdHMgdmFuICAvIC4KKworICA1LiBLZWVyIHRlcnVnIG5hYXIgZGUgdm9yaWdlIGhpdCBtZXQgQ1RSTC1PIChob3UgQ3RybC10b2V0cyBpbmdlZHJ1a3QgZW4KKyAgICAgdGlrIGxldHRlciBvKS4gSGVyaGFhbCBvbSB2ZXJkZXIgdGVydWcgdGUgZ2Fhbi4gQ1RSTC1JIGdhYXQgdm9vcnVpdC4KKworICAtLS0+ICJmZm91dXQiIGlzIG5pZXQgZGUganVpc3RlIHNwZWxsaW5nIHZhbiBmb3V0LCBmZm91dXQgaXMgZWVuIGZvdXQuCisKKyAgT1BNRVJLSU5HOiBBbHMgem9la2VuIGhldCBlaW5kZSB2YW4gaGV0IGJlc3RhbmQgYmVyZWlrdCwgd29yZHQgdmFuYWYgaGV0CisgICAgICAgICAgICAgYmVnaW4gZG9vcmdlem9jaHQsIHRlbnppaiBkZSBvcHRpZSAnd3JhcHNjYW4nIGlzIHVpdGdlc2NoYWtlbGQuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDQuMzogR0EgTkFBUiBDT1JSRVNQT05ERVJFTkRFIEhBQUtKRVMKKworICAgICAgICAgICAgKiogVGlrICAlICBvbSBuYWFyIGNvcnJlc3BvbmRlcmVuZGUgKSwgXSBvZiB9IHRlIGdhYW4uICoqCisKKyAgMS4gWmV0IGRlIGN1cnNvciBvcCBlZW4gKCwgWyBvZiB7IGluIGRlIHJlZ2VsIGhpZXJvbmRlciBtZXQgLS0tPi4KKworICAyLiBUaWsgZGFuIGhldCB0ZWtlbiAgJSAuCisKKyAgMy4gRGUgY3Vyc29yIGdhYW4gbmFhciBoZXQgb3ZlcmVlbmtvbXN0aWdlIGhhYWtqZS4KKworICA0LiBNZXQgb3BuaWV1dyAgJSAgZ2FhdCBkZSBjdXJzb3IgdGVydWcgbmFhciBoZXQgZWVyc3RlIGhhYWtqZS4KKworICA1LiBQbGFhdHMgZGUgY3Vyc29yIG9wIGVlbiBhbmRlciBoYWFramUgZW4gYmVraWprIHdhdCAgJSAgZG9ldC4KKworICAtLS0+IERpdCAoIGlzIGVlbiB0ZXN0cmVnZWwgbWV0ICAoJ3MsIFsncyBdIGVuIHsncyB9IGVyaW4uICkpCisKKyAgT1BNRVJLSU5HOiBEaXQgaXMgbnV0dGlnIGJpaiBoZXQgZGVidWdnZW4gdmFuIGVlbiBwcm9ncmFtbWEgd2FhcmluIGhhYWtqZXMKKyAgICAgICAgICAgICBuaWV0IGNvcnJlc3BvbmRlcmVuLiBNZXQgZGUgb3B0aWUgJ3Nob3dtYXRjaCcgd29yZHQgb29rCisgICAgICAgICAgICAgYWFuZ2VnZXZlbiBvZiBoYWFramVzIGNvcnJlc3BvbmRlcmVuLCBtYWFyIGRlIGN1cnNvciB3b3JkdCBuaWV0CisgICAgICAgICAgICAgKGJsaWp2ZW5kKSB2ZXJwbGFhdHN0LgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA0LjQ6IEhFVCBWRVJWQU5HIENPTU1BTkRPCisKKyAgICAgICoqIFRpayAgOnMvb3VkL25pZXV3L2cgIG9tICdvdWQnIGRvb3IgJ25pZXV3JyB0ZSB2ZXJ2YW5nZW4uICoqCisKKyAgMS4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGRlIHJlZ2VsIGhpZXJvbmRlciBtZXQgLS0tPi4KKworICAyLiBUaWsgIDpzL2RlZS9kZSA8RU5URVI+LiBab2FscyBqZSB6aWV0LCB2ZXJ2YW5ndCAoJ3N1YnN0aXR1dGUnKSBkaXQKKyAgICAgY29tbWFuZG8gYWxsZWVuIGRlIGVlcnN0ZSAiZGVlIiBpbiBkZSByZWdlbC4KKworICAzLiBUaWsgbnUgIDpzL2RlZS9kZS9nIC4gTWV0IGRlIGctdmxhZyAoJ2dsb2JhbCcpIHdvcmR0IGVsa2UgImRlZSIgaW4gZGUKKyAgICAgcmVnZWwgdmVydmFuZ2VuLgorCisgIC0tLT4gZGVlIGJlc3RlIHRpamQgb20gZGVlIGJsb2VtZW4gdGUgemllbiBpcyBpbiBkZWUgbGVudGUuCisKKyAgNC4gT20gaW4gKGVlbiBkZWVsIHZhbikgZWVuIHRla3N0IGVsayAnb3VkJyB0ZSB2ZXJ2YW5nZW4gZG9vciAnbmlldXcnOgorICAgICB0aWsgICA6Iywjcy9vdWQvbmlldXcvZyAgIHdhYXIgIywjIGRlIHJlZ2VsbnVtbWVycyB6aWpuIGRpZSBoZXQgZ2ViaWVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVncmVuemVuIHdhYXJpbiB3b3JkdCB2ZXJ2YW5nZW4uCisgICAgIHRpayAgIDolcy9vdWQvbmlldXcvZyAgICAgb20gYWxsZXMgdGUgdmVydmFuZ2VuIGluIGhldCBoZWxlIGJlc3RhbmQuCisgICAgIHRpayAgIDolcy9vdWQvbmlldXcvZ2MgICAgb20gZWxrZSAnb3VkJyBpbiBoZXQgaGVsZSBiZXN0YW5kIHRlIHZpbmRlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuIHRlIHZyYWdlbiBvZiBlciB2ZXJ2YW5nZW4gbW9ldCB3b3JkZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgU0FNRU5WQVRUSU5HIExlcyA0CisKKyAgMS4gQ1RSTC1HICAgbGFhdCBwb3NpdGllIGluIGhldCBiZXN0YW5kIHppZW4gZW4gZGUgc3RhdHVzIHZhbiBoZXQgYmVzdGFuZC4KKyAgICAgRyAgICAgICAgdmVycGxhYXRzdCBqZSBuYWFyIGhldCBlaW5kZSB2YW4gaGV0IGJlc3RhbmQuCisgICAgIG51bW1lciBHIHZlcnBsYWF0c3QgamUgbmFhciByZWdlbG51bW1lci4KKyAgICAgZ2cgICAgICAgdmVycGxhYXRzdCBqZSBuYWFyIGRlIGVlcnN0ZSByZWdlbC4KKworICAyLiBNZXQgIC8gIGVuIGVlbiB6b2VrdGVybSB3b3JkdCBWT09SV0FBUlRTIGdlem9jaHQgbmFhciBkZSB0ZXJtLgorICAgICBNZXQgID8gIGVuIGVlbiB6b2VrdGVybSB3b3JkdCBBQ0hURVJXQUFSVFMgZ2V6b2NodCBuYWFyIGRlIHRlcm0uCisgICAgIFRpayAgbiAgbmEgZWVuIHpvZWtvcGRyYWNodCBvbSBkZSB2b2xnZW5kZSBoaXQgdGUgdmluZGVuLAorICAgICBvZiB0aWsgIE4gIG9tIGluIGRlIGFuZGVyZSByaWNodGluZyB0ZSB6b2VrZW4uCisgICAgIENUUkwtTyAgYnJlbmd0IGplIG5hYXIgZWVyZGVyZSBoaXQsICBDVFJMLUkgbmFhciBuaWV1d2VyZS4KKworICAzLiBUaWsgICUgIHRlcndpamwgZGUgY3Vyc29yIG9wIGVlbiBoYWFramUgKFt7fV0pIHN0YWF0LCBvbSBuYWFyIGhldAorICAgICBjb3JyZXNwb25kZXJlbmRlIGhhYWtqZSB0ZSBnYWFuLgorCisgIDQuIDpzL291ZC9uaWV1dyAgICAgIHZlcnZhbmd0IGhldCBlZXJzdGUgJ291ZCcgaW4gZWVuIHJlZ2VsIGRvb3IgJ25pZXV3Jy4KKyAgICAgOnMvb3VkL25pZXV3L2cgICAgdmVydmFuZ3QgZWxrICdvdWQnIGluIGVlbiByZWdlbCBkb29yICduaWV1dycuCisgICAgIDojLCNzL291ZC9uaWV1dy9nIHZlcnZhbmd0IGVsayAnb3VkJyBkb29yICduaWV1dycgdHVzc2VuIGRlIHJlZ2VsbnVtbWVycy4KKyAgICAgOiVzL291ZC9uaWV1dy9nICAgIHZlcnZhbmd0IGVsayAnb3VkJyBkb29yICduaWV1dycgaW4gaGV0IGhlbGUgYmVzdGFuZC4KKyAgICAgVm9lZyAgYyAgdG9lICg6JXMvb3VkL25pZXV3L2djKSBvbSBlbGtlIGtlZXIgb20gYmV2ZXN0aWdpbmcKKyAgICAgKCdjb25maXJtYXRpb24nKSB0ZSB2cmFnZW4uCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDUuMTogSE9FIEVFTiBFWFRFUk4gQ09NTUFORE8gV09SRFQgVUlUR0VWT0VSRAorCisgICAgICoqIFRpayAgOiEgIGdldm9sZ2QgZG9vciBlZW4gZXh0ZXJuIGNvbW1hbmRvIG9tIGRhdCB1aXQgdGUgdm9lcmVuLiAqKgorCisgIDEuIFRpayBoZXQgY29tbWFuZG8gIDogIHdhYXJtZWUgZGUgY3Vyc29yIG9wIGRlIG9uZGVyc3RlIHJlZ2VsIHZhbiBoZXQKKyAgICAgc2NoZXJtIGtvbXQgdGUgc3RhYW4uIE51IGthbiBqZSBlZW4gb3BkcmFjaHQgZ2V2ZW4gdmlhIGRlIGNvbW1hbmRvLXJlZ2VsLgorCisgIDIuIFRpayBlZW4gICEgICh1aXRyb2VwdGVrZW4pLiBEaXQgc3RlbHQgamUgaW4gc3RhYXQgb20gZWxrIHNoZWxsLWNvbW1hbmRvCisgICAgIHVpdCB0ZSB2b2VyZW4uCisKKyAgMy4gVGlrIGJpanZvb3JiZWVsZCAgbHMgIG5hIGhldCB1aXRyb2VwdGVrZW4gZW4gZGFhcm5hIDxFTlRFUj4uIEhpZXJtZWUKKyAgICAga3JpamcgamUgZGUgaW5ob3VkIHZhbiBqZSBtYXAgdGUgemllbiwgbmV0IGFsc29mIGplIGRlIG9wZHJhY2h0IGdhZgorICAgICB2YW5hZiBkZSBzaGVsbC1wcm9tcHQuIFByb2JlZXIgIDohZGlyICBhbHMgaGV0IG5pZXQgd2Vya3QuCisKKyAgT1BNRVJLSU5HOiBFbGsgZXh0ZXJuIGNvbW1hbmRvIGthbiBvcCBkZXplIG1hbmllciB1aXRnZXZvZXJkIHdvcmRlbiwgb29rCisgICAgICAgICAgICAgbWV0IGFyZ3VtZW50ZW4uCisKKyAgT1BNRVJLSU5HOiBBbGxlIGNvbW1hbmRvJ3MgbmEgIDogIG1vZXRlbiB3b3JkZW4gYWZnZXNsb3RlbiBtZXQgPEVOVEVSPi4KKyAgICAgICAgICAgICBWYW5hZiBudSB6dWxsZW4gd2UgZGF0IG5pZXQgbWVlciBhbHRpamQgdmVybWVsZGVuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA1LjI6IE1FRVIgT1ZFUiBIRVQgT1BTTEFBTiBWQU4gQkVTVEFOREVOCisKKyAgICAgKiogVGlrIDp3IEJFU1RBTkRTTkFBTSBvbSBkZSB0ZWtzdCBtw6h0IHZlcmFuZGVyaW5nZW4gb3AgdGUgc2xhYW4uICoqCisKKyAgMS4gVGlrICA6IWRpciAgb2YgIDohbHMgIG9tIGRlIGluaG91ZCB2YW4gamUgbWFwIHRlIHRvbmVuLiBKZSB3ZWV0CisgICAgIGlubWlkZGVscyBkYXQgamUgZGFhcm5hIGVlbiA8RU5URVI+IG1vZXQgdGlra2VuLgorCisgIDIuIEtpZXMgZWVuIGJlc3RhbmRzbmFhbSBkaWUgbm9nIG5pZXQgYmVzdGFhdCwgYmlqdm9vcmJlZWxkIFRFU1QuCisKKyAgMy4gVGlrIG51OiAgOncgVEVTVCAgKGFscyBqZSBkZSBuYWFtIFRFU1QgaGVidCBnZWtvemVuKS4KKworICA0LiBIaWVyZG9vciB3b3JkdCBoZXQgaGVsZSBiZXN0YW5kIChkZSBWSU0gbGVzc2VuKSBvcGdlc2xhZ2VuIG9uZGVyIGRlCisgICAgIG5hYW0gVEVTVC4gVGlrIHdlZXIgIDohZGlyICBvZiAgOiFscyAgb20gZGl0IHRlIGNvbnRyb2xlcmVuLgorCisgIE9QTUVSS0lORzogQWxzIGplIFZpbSB6b3UgdmVybGF0ZW4gZW4gb3BuaWV1dyB6b3Ugc3RhcnRlbiBtZXQgIHZpbSBURVNUICBpcworICAgICAgICAgICAgIGhldCBiZXN0YW5kIGVlbiBleGFjdGUga29waWUgdmFuIGRlIGxlc3Nlbiwgem9hbHMgamUgemUgb3BzbG9lZy4KKworICA1LiBXaXMgaGV0IGJlc3RhbmQgbnUgbWV0IGRlIG9wZHJhY2h0IChNUy1ET1MpICA6IWRlbCBURVNUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiAoVW5peCkgIDohcm0gVEVTVAorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA1LjM6IEVFTiBERUVMIFZBTiBERSBURUtTVCBPUFNMQUFOCisKKyAgICAgKiogU2xhIGVlbiBkZWVsIHZhbiBoZXQgYmVzdGFuZCBvcCBtZXQgIHYgYmV3ZWdpbmcgOncgQkVTVEFORFNOQUFNICoqCisKKyAgMS4gR2EgbmFhciBkZXplIHJlZ2VsLgorCisgIDIuIFRpayAgdiAgZW4gZ2EgbWV0IGRlIGN1cnNvciBuYWFyIHN0YXAgNSBoaWVyb25kZXIuIEplIHppZXQgZGF0IGRlCisgICAgIHRla3N0IG9wbGljaHQuCisKKyAgMy4gVGlrICA6IC4gT25kZXJhYW4gaGV0IHNjaGVybSB6YWwgIDonPCwnPiAgdmVyc2NoaWpuZW4uCisKKyAgNC4gVGlrICB3IFRFU1QgICwgd2FhciBURVNUIGVlbiBiZXN0YW5kc25hYW0gaXMsIGRpZSBub2cgbmlldCBiZXN0YWF0LgorICAgICBDb250cm9sZWVyIGRhdCBqZSAgOic8LCc+dyBURVNUICB6aWV0IHN0YWFuIHZvb3JkYXQgamUgPEVOVEVSPiB0aWt0LgorCisgIDUuIFZpbSBzbGFhdCBudSBkZSBnZXNlbGVjdGVlcmRlIHJlZ2VscyBvcCBpbiBoZXQgYmVzdGFuZCBURVNULiBNZXQKKyAgICAgOiFkaXIgIG9mICAhbHMgIGthbiBqZSBkYXQgemllbi4gV2lzIGhldCBub2cgbmlldCEgV2UgenVsbGVuIGhldCBpbgorICAgICBkZSB2b2xnZW5kZSBsZXMgZ2VicnVpa2VuLgorCisgIE9QTUVSS0lORzogSGV0IHRpa2tlbiB2YW4gIHYgIHpldCB6aWNodGJhcmUgbW9kdXMgKCd2aXN1YWwgc2VsZWN0aW9uJykgYWFuLgorICAgICAgICAgICAgIEplIGthbiBkZSBjdXJzb3Igcm9uZGJld2VnZW4gb20gZGUgc2VsZWN0aWUgZ3JvdGVyIG9mIGtsZWluZXIKKyAgICAgICAgICAgICB0ZSBtYWtlbi4gVmVydm9sZ2VucyBrYW4gamUgZWVuIGNvbW1hbmRvIGdlYnJ1aWtlbiBvbSBpZXRzIG1ldAorICAgICAgICAgICAgIGRlIHRla3N0IHRlIGRvZW4uIE1ldCAgZCAgYmlqdm9vcmJlZWxkIHdpcyBqZSBkZSB0ZWtzdC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNS40OiBPUEhBTEVOIEVOIFNBTUVOVk9FR0VOIFZBTiBCRVNUQU5ERU4KKworICAgICAqKiBUaWsgIDpyIEJFU1RBTkRTTkFBTSBvbSBkZSBpbmhvdWQgdmFuIGVlbiBiZXN0YW5kIGluIHRlIHZvZWdlbi4gKioKKworICAxLiBaZXQgZGUgY3Vyc29yIHByZWNpZXMgYm92ZW4gZGV6ZSByZWdlbC4KKworICBPUE1FUktJTkc6IE5hIGhldCB1aXR2b2VyZW4gdmFuIHN0YXAgMiB6aWUgamUgdGVrc3QgdmFuIGxlcyA1LjMuIFNjcm9sCisgICAgICAgICAgICAgZGFhcm5hIG5hYXIgYmVuZWRlbiBvbSBkZXplIGxlcyB3ZWVyIHRlIHppZW4uCisKKyAgMi4gSGFhbCBudSBoZXQgYmVzdGFuZCBURVNUIG9wIG1ldCBoZXQgY29tbWFuZG8gIDpyIFRFU1QgLgorICAgICBIZXQgYmVzdGFuZCBkYXQgamUgb3BoYWFsdCBrb210IG9uZGVyIGRlIHJlZ2VsIHdhYXJpbiBkZSBjdXJzb3Igc3RhYXQuCisKKyAgMy4gQ29udHJvbGVlciBkYXQgZXIgZWVuIGJlc3RhbmQgaXMgb3BnZWhhYWxkLiBHYSBtZXQgZGUgY3Vyc29yIG9taG9vZy4KKyAgICAgRGFuIHppZSBqZSBkZSB0ZWtzdCB2YW4gbGVzIDUuMyBkdWJiZWwsIGhldCBvcmlnaW5lZWwgZW4gZGUgdmVyc2llIHVpdAorICAgICBoZXQgYmVzdGFuZC4KKworICBPUE1FUktJTkc6IEplIGthbiBvb2sgZGUgdWl0dm9lciB2YW4gZWVuIGV4dGVybiBjb21tYW5kbyBpbmxlemVuLiBPbSBlZW4KKyAgICAgICAgICAgICB2b29yYmVlbGQgdGUgZ2V2ZW46ICA6ciAhbHMgIGxlZXN0IGRlIHVpdHZvZXIgdmFuIGhldCBjb21tYW5kbworICAgICAgICAgICAgIGxzIGVuIHpldCBkYXQgb25kZXIgZGUgcmVnZWwgd2FhcmluIGRlIGN1cnNvciBzdGFhdC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBTQU1FTlZBVFRJTkcgTGVzIDUKKworICAxLiA6IUNPTU1BTkRPICB2b2VydCBlZW4gZXh0ZXJuIGNvbW1hbmRvIHVpdC4KKyAgICAgRW5rZWxlIGJydWlrYmFyZSB2b29yYmVlbGRlbiB6aWpuOgorICAgICAgICAoTVMtRE9TKSAgICAgICAgIChVbml4KQorICAgICAgICAgOiFkaXIgICAgICAgICAgICA6IWxzICAgICAgICAgIC0gbGFhdCBkZSBpbmhvdWQgdmFuIGVlbiBtYXAgemllbgorICAgICAgICAgOiFkZWwgQkVTVEFORCAgICA6IXJtIEJFU1RBTkQgIC0gd2lzdCBiZXN0YW5kIEJFU1RBTkQKKworICAyLiA6dyBCRVNUQU5EU05BQU0gIHNjaHJpamZ0IGhldCBodWlkaWdlIFZpbS1iZXN0YW5kIG5hYXIgZGlzayBtZXQgZGUKKyAgICAgbmFhbSBCRVNUQU5EU05BQU0uCisKKyAgMy4gdiBiZXdlZ2luZyA6dyBCRVNUQU5EU05BQU0gIGxhYXQgamUgaW4gemljaHRiYXJlIG1vZHVzIGVlbiBmcmFnbWVudAorICAgICBzZWxlY3RlcmVuLCBkYXQgd29yZHQgb3BnZXNsYWdlbiBpbiBoZXQgYmVzdGFuZCBCRVNUQU5EU05BQU0uCisKKyAgNC4gOnIgQkVTVEFORFNOQUFNICBoYWFsdCBoZXQgYmVzdGFuZCBCRVNUQU5EU05BQU0gb3AgZW4gdm9lZ3QgaGV0IG9uZGVyCisgICAgIGRlIGN1cnNvci1wb3NpdGllIGluIGRlIHRla3N0IGluLgorCisgIDUuIDpyICFkaXIgIGxlZXN0IGRlIHVpdHZvZXIgdmFuIGhldCBleHRlcm5lIGNvbW1hbmRvIGRpciBlbiB6ZXQgaGV0IG9uZGVyCisgICAgIGRlIGN1cnNvci1wb3NpdGllLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA2LjE6IEhFVCBDT01NQU5ETyBPUEVOCisKKyAgICAgKiogVGlrICBvICBvbSBlZW4gcmVnZWwgb25kZXIgZGUgY3Vyc29yIHRlIG9wZW5lbiBpbiBpbnZvZWdtb2R1cy4gKioKKworICAxLiBHYSBuYWFyIGRlIGVlcnN0ZSByZWdlbCBiZW5lZGVuIG1ldCAtLS0+LgorCisgIDIuIFRpayBkZSBrbGVpbmUgbGV0dGVyICBvICBlbiBvcGVuIGRhYXJtZWUgZWVuIHJlZ2VsIE9OREVSIGRlIGN1cnNvciBlbgorICAgICBnYSBuYWFyIGRlIGludm9lZ21vZHVzLgorCisgIDMuIFRpayB3YXQgdGVrc3QgaW4gZW4gc2x1aXQgYWYgbWV0IDxFU0M+IG9tIGRlIGludm9lZ21vZHVzIHRlIHZlcmxhdGVuLgorCisgIC0tLT4gQWxzIGplICBvICB0aWt0LCBrb210IGRlIGN1cnNvciBpbiBlZW4gbmlldXdlIHJlZ2VsIGluIGludm9lZ21vZHVzLgorCisgIDQuIE9tIGVlbiByZWdlbCBCT1ZFTiBkZSBjdXJzb3IgdGUgb3BlbmVuLCBtb2V0IGplIGdld29vbiBlZW4gaG9vZmRsZXR0ZXIKKyAgICAgTyAgdGlra2VuIGluIHBsYWF0cyB2YW4gZWVuIGtsZWluZSBsZXR0ZXIuIFByb2JlZXIgZGF0IHZhbmFmIGRlIHZvbGdlbmRlCisgICAgIHJlZ2VsLgorCisgIC0tLT4gT3BlbiBlZW4gcmVnZWwgaGllcmJvdmVuLiBUaWsgZWVuIE8gdGVyd2lqbCBkZSBjdXJzb3IgaGllciBzdGFhdC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNi4yOiBIRVQgQ09NTUFORE8gVE9FVk9FR0VOCisKKyAgICAgICAgKiogVGlrICBhICBvbSB0ZWtzdCB0b2UgdGUgdm9lZ2VuIEFDSFRFUiBkZSBjdXJzb3IuICoqCisKKyAgMS4gR2EgbmFhciBoZXQgYmVnaW4gdmFuIGRlIHJlZ2VsIGJlbmVkZW4gbWV0IC0tLT4uCisgCisgIDIuIFRpayAgZSAgdG90IGRlIGN1cnNvciBvcCBoZXQgZWluZGUgdmFuICAic3RlIiAgc3RhYXQuCisKKyAgMy4gVGlrIGVlbiAoa2xlaW5lIGxldHRlcikgIGEgICgnYXBwZW5kJykgb20gdG9lIHRlIHZvZWdlbiBBQ0hURVIgZGUgY3Vyc29yLgorCisgIDQuIFZ1bCBoZXQgd29vcmQgYWFuIHpvYWxzIGluIGRlIHZvbGdlbmRlIHJlZ2VsLiBEcnVrIDxFU0M+IG9tIGRlCisgICAgIGludm9lZ21vZHVzIHRlIHZlcmxhdGVuLgorCisgIDUuIEdhIG1ldCAgZSAgbmFhciBoZXQgZWluZGUgdmFuIGhldCB2b2xnZW5kZSBvbnZvbGxlZGlnZSB3b29yZCBlbiBoZXJoYWFsCisgICAgIGRlIHN0YXBwZW4gMyBlbiA0LgorCisgIC0tLT4gRGV6ZSByZWdlbCBzdGUgamUgaW4gc3RhYXQgb20gdGUgb2VmIGluIGhldCB0b2V2byB2YW4gdGVrc3QuIAorICAgICAgIERlemUgcmVnZWwgc3RlbHQgamUgaW4gc3RhYXQgb20gdGUgb2VmZW5lbiBpbiBoZXQgdG9ldm9lZ2VuIHZhbiB0ZWtzdC4gCisKKyAgT1BNRVJLSU5HOiBhLCBpIGVuIEEgb3BlbmVuIGFsbGVtYWFsIGRlemVsZmRlIGludm9lZ21vZHVzLCBoZXQgZW5pZ2UKKyAgICAgICAgICAgICB2ZXJzY2hpbCBpcyB3YWFyIHRla2VucyB3b3JkZW4gaW5nZXZvZWdkLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA2LjM6IFZFUlZBTkdFTiBPUCBFRU4gQU5ERVJFIE1BTklFUgorCisgICAgICAqKiBUaWsgZWVuIGhvb2ZkbGV0dGVyICBSICBvbSBtZWVyIGRhbiDDqcOpbiB0ZWtlbiB0ZSB2ZXJ2YW5nZW4uICoqCisKKyAgMS4gR2EgbmFhciBkZSBlZXJzdGUgcmVnZWwgYmVuZWRlbiBtZXQgLS0tPi4gR2EgbWV0IGRlIGN1cnNvciBuYWFyIGhldAorICAgICBiZWdpbiB2YW4gZGUgZWVyc3RlICAieHh4IiAuCisKKyAgMi4gVGlrIG51ICBSICBlbiBkYWFybmEgaGV0IGdldGFsIGVyb25kZXIgaW4gZGUgdHdlZWRlIHJlZ2VsLCB6b2RhdCAgeHh4CisgICAgIHdvcmR0IHZlcnZhbmdlbi4KKworICAzLiBEcnVrIDxFU0M+IG9tIGRlIHZlcnZhbmdtb2R1cyB0ZSB2ZXJsYXRlbi4gSmUgemlldCBkYXQgZGUgcmVzdCB2YW4gZGUKKyAgICAgcmVnZWwgb25nZXdpanppZ2QgYmxpamZ0LgorCisgIDQuIEhlcmhhYWwgZGUgc3RhcHBlbiBvbSBkZSBvdmVyZ2VibGV2ZW4gIHh4eCAgdGUgdmVydmFuZ2VuLgorCisgIC0tLT4gT3B0ZWxsZW4gdmFuIDEyMyBlbiB4eHggZ2VlZnQgamUgeHh4LgorICAtLS0+IE9wdGVsbGVuIHZhbiAxMjMgZW4gNDU2IGdlZWZ0IGplIDU3OS4KKworICBPUE1FUktJTkc6IFZlcnZhbmdtb2R1cyBsaWprdCBvcCBpbnZvZWdtb2R1cywgbWFhciBlbGsgdGVrZW4gZGF0IGplIHRpa3QsCisgICAgICAgICAgICAgdmVydmFuZ3QgZWVuIGJlc3RhYW5kIHRla2VuLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA2LjQ6IFRFS1NUIEtPUEnDi1JFTiBFTiBQTEFLS0VOCisKKyAgICAgICAgKiogR2VicnVpayAgeSAgb20gdGVrc3QgdGUga29wacOrcmVuIGVuICBwICBvbSB0ZSBwbGFra2VuLiAqKgorCisgIDEuIEdhIG5hYXIgZGUgcmVnZWwgYmVuZWRlbiBtZXQgLS0tPiBlbiB6ZXQgZGUgY3Vyc29yIGFjaHRlciAiYSkiLgorCisgIDIuIFpldCB6aWNodGJhcmUgbW9kdXMgYWFuIG1ldCAgdiAgZW4gemV0IGRlIGN1cnNvciBqdWlzdCB2b29yICJlZXJzdGUiLgorCisgIDMuIFRpayAgeSAgKCd5YW5rJykgb20gZGUgb3BnZWxpY2h0ZSB0ZWtzdCAoImRpdCBpcyBoZXQiKSB0ZSBrb3Bpw6tyZW4uCisKKyAgNC4gR2EgbWV0ICBqJCAgbWV0IGRlIGN1cnNvciBuYWFyIGhldCBlaW5kZSB2YW4gZGUgdm9sZ2VuZGUgcmVnZWwuCisKKyAgNS4gUGxhayBkZSBnZWtvcGllZXJkZSB0ZWtzdCBtZXQgIHAgIGVuIHRpayAgYSB0d2VlZGUgPEVTQz4uCisKKyAgNi4gU2VsZWN0ZWVyIGluIHppY2h0YmFyZSBtb2R1cyAib25kZXJkZWVsIiwga29waWVlciBoZXQgbWV0ICB5ICBlbgorICAgICBnYSBtZXQgIGokICBuYWFyIGhldCBlaW5kZSB2YW4gZGUgdHdlZWRlIHJlZ2VsLiBQbGFrIGRlIHRla3N0IGRhYXIKKyAgICAgbWV0ICBwIC4KKworICAtLS0+ICBhKSBkaXQgaXMgaGV0IGVlcnN0ZSBvbmRlcmRlZWwKKyAgICAgICAgYikKKworICBPUE1FUktJTkc6IEplIGthbiAgeSAgb29rIGFscyBvcGVyYXRvciBnZWJydWlrZW47ICB5dyAga29waWVlcnQgZWVuIHdvb3JkLAorICAgICAgICAgICAgIHl5ICBlZW4gaGVsZSByZWdlbC4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNi41OiBPUFRJRVMgR0VCUlVJS0VOCisKKyAgICAgKiogR2VicnVpayBlZW4gb3B0aWUgdm9vciBhbCBkYW4gbmlldCBob29mZGxldHRlcmdldm9lbGlnIHpvZWtlbi4gKioKKworICAxLiBab2VrIG5hYXIgJ2hvb2ZkbGV0dGVyZ2V2b2VsaWcnIG1ldCAgL2hvb2ZkbGV0dGVyZ2V2b2VsaWcgPEVOVEVSPgorICAgICBIZXJoYWFsIGhldCB6b2VrZW4gZW5rZWxlIGtlcmVuIGRvb3IgIG4gIHRlIHRpa2tlbi4KKyAKKyAgMi4gU2NoYWtlbCBkZSBvcHRpZSAnaWMnICgnaWdub3JlIGNhc2UnLCBuaWV0LWhvb2ZkbGV0dGVyZ2V2b2VsaWcpIGluCisgICAgIG1ldCAgOnNldCBpYworCisgIDMuIFpvZWsgbWV0ICBuICBvcG5pZXV3IG5hYXIgJ2hvb2ZkbGV0dGVyZ2V2b2VsaWcnLiBKZSB6aWV0IGRhdAorICAgICBIb29mZGxldHRlcmdldm9lbGlnIGVuIEhPT0ZETEVUVEVSR0VWT0VMSUcgbnUgb29rIGdldm9uZGVuIHdvcmRlbi4KKworICA0LiBTY2hha2VsIGRlIG9wdGllcyAnaGxzZWFyY2gnICh0cmVmZmVycyBvcGxpY2h0ZW4pIGVuICdpbmNzZWFyY2gnICh0b29uCisgICAgIGdlZGVlbHRlbGlqa2UgdHJlZmZlcnMgYmlqIGludGlra2VuKSBpbiBtZXQgIDpzZXQgaGxzIGlzCisKKyAgNS4gVGlrIHdlZXIgL2hvb2ZkbGV0dGVyZ2V2b2VsaWcgPEVOVEVSPiBlbiBraWprIHdhdCBlciBnZWJldXJ0LgorCisgIDYuIFNjaGFrZWwgJ2hvb2ZkbGV0dGVyZ2V2b2VsaWcnIHdlZXIgaW4gbWV0ICA6c2V0IG5vaWMKKworICBPUE1FUktJTkc6IFNjaGFrZWwgaGV0IG9wbGljaHRlbiB2YW4gdHJlZmZlcnMgdWl0IG1ldCAgOm5vaGxzZWFyY2gKKworICBPUE1FUktJTkc6IE9tIGJpaiBlZW4gZW5rZWwgem9lay1jb21tYW5kbyBkZSBob29mZGxldHRlcmdldm9lbGlnaGVpZCBvbQorICAgICAgICAgICAgIHRlIGRyYWFpZW4ga2FuICBcYyAgd29yZGVuIGdlYnJ1aWt0IG5hIGRlIHpvZWt0ZXJtOgorICAgICAgICAgICAgIC9ob29mZGxldHRlcmdldm9lbGlnXGMgPEVOVEVSPi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBTQU1FTlZBVFRJTkcgTGVzIDYKKworICAxLiBUaWsgIG8gIG9tIGVlbiByZWdlbCB0ZSBvcGVuZW4gT05ERVIgZGUgY3Vyc29yIGVuIGludm9lZ21vZHVzIHRlIHN0YXJ0ZW4uCisgICAgIFRpayAgTyAgb20gZWVuIHJlZ2VsIHRlIG9wZW5lbiBCT1ZFTiBkZSBjdXJzb3IuCisKKyAgMi4gVGlrICBhICBvbSB0ZWtzdCB0b2UgdGUgdm9lZ2VuIE5BIGRlIGN1cnNvci4KKyAgICAgVGlrICBBICBvbSB0ZWtzdCB0b2UgdGUgdm9lZ2VuIGFhbiBoZXQgZWluZGUgdmFuIGRlIHJlZ2VsLgorCisgIDMuIEhldCBjb21tYW5kbyAgZSAgYmV3ZWVndCBkZSBjdXJzb3IgbmFhciBoZXQgZWluZGUgdmFuIGVlbiB3b29yZC4KKworICA0LiBEZSBvcGVyYXRvciAgeSAgeWFua3QgKGtvcGllZXJ0KSB0ZWtzdCwgIHAgIHpldCBoZXQgdGVydWcgKHBsYWt0KS4KKworICA1LiBNZXQgaG9vZmRsZXR0ZXIgIFIgIHdvcmR0IGRlIHZlcnZhbmdtb2R1cyBnZW9wZW5kLCBtZXQgPEVTQz4gYWZnZXNsb3Rlbi4KKworICA2LiBNZXQgIDpzZXQgeHh4ICB3b3JkdCBvcHRpZSAneHh4JyBpbmdlc2NoYWtlbGQuIE9wdGllcyB6aWpuIGJpanZvb3JiZWVsZDoKKyAgICAgICBpYyAgIGlnbm9yZWNhc2UgIGdlZW4gdmVyc2NoaWwgaG9vZmRsZXR0ZXJzL2tsZWluZSBsZXR0ZXJzIGJpaiB6b2VrZW4KKyAgICAgICBpcyAgIGluY3NlYXJjaCAgIHRvb24gZ2VkZWVsdGVsaWprZSB0cmVmZmVycyB0aWpkZW5zIGludGlra2VuIHpvZWt0ZXJtIAorICAgICAgIGhscyAgaGxzZWFyY2ggICAgbGFhdCBhbGxlIHRyZWZmZXJzIG9wbGljaHRlbgorICAgICBKZSBrYW4gem93ZWwgZGUgbGFuZ2UgYWxzIGRlIGtvcnRlIG5hYW0gdmFuIGVlbiBvcHRpZSBnZWJydWlrZW4uCisgIAorICA3LiBaZXQgJ25vJyB2b29yIGRlIG5hYW0gb20gZWVuIG9wdGllIHVpdCB0ZSBzY2hha2VsZW46ICA6c2V0IG5vaWMKKyAgICAgc2NoYWtlbHQgJ2ljJyB1aXQuCisKK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisgICAgICAgICAgICAgICAgICAgTGVzIDcuMTogSFVMUCBJTlJPRVBFTgorCisgICAgICAgICAgICoqIEhldCBnZWJydWlrIHZhbiBpbmdlYm91d2RlIGh1bHAuICoqCisKKyAgVmltIGhlZWZ0IGVlbiB1aXRnZWJyZWlkIGluZ2Vib3V3ZCBodWxwc3lzdGVlbS4gUHJvYmVlciwgb20gdGUgYmVnaW5uZW4sCisgIMOpw6luIHZhbiBkZXplIGRyaWU6CisgICAgLSBkcnVrIGRlIDxIRUxQPiB0b2V0cyAoYWxzIGplIGRpZSBoZWJ0KQorICAgIC0gZHJ1ayBkZSA8RjE+IHRvZXRzIChhbHMgamUgZGllIGhlYnQpCisgICAgLSB0aWsgIDpoZWxwIDxFTlRFUj4KKworICBMZWVzIGRlIHRla3N0IGluIGhldCBoZWxwLXZlbnN0ZXIgb20gdGUgbGVyZW4gaG9lICdoZWxwJyB3ZXJrdC4KKyAgVGlrICBDVFJMLVcgQ1RSTC1XICBvbSB2YW4gaGV0IGVuZSB2ZW5zdGVyIG5hYXIgaGV0IGFuZGVyZSB0ZSBnYWFuLgorICBNZXQgIDpxIDxFTlRFUj4gIHdvcmR0IGhldCBoZWxwLXZlbnN0ZXIgZ2VzbG90ZW4uCisKKyAgSmUga2FuIGh1bHAgdmluZGVuIG92ZXIgbmFnZW5vZWcgZWxrIG9uZGVyd2VycCBkb29yIGVlbiBhcmd1bWVudCBhYW4gaGV0CisgIGNvbW1hbmRvICA6aGVscCAgdG9lIHRlIHZvZWdlbi4gUHJvYmVlciBkZXplIChlbiB2ZXJnZWV0IDxFTlRFUj4gbmlldCk6CisgICAgOmhlbHAgdworICAgIDpoZWxwIGNfQ1RSTC1ECisgICAgOmhlbHAgaW5zZXJ0LWluZGV4CisgICAgOmhlbHAgdXNlci1tYW51YWwKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgICAgICAgICAgICAgICAgICBMZXMgNy4yOiBTQ0hSSUpGIEVFTiBDT05GSUdVUkFUSUVCRVNUQU5ECisKKyAgICAgICAgICAgICAgICAgICAgKiogTW9nZWxpamtoZWRlbiB2YW4gVmltIHVpdGJyZWlkZW4uICoqCisKKyAgVmltIGtlbnQgdmVlbCBtZWVyIG1vZ2VsaWpraGVkZW4gZGFuIFZpLCBtYWFyIGRlIG1lZXN0ZSB6aWpuIHN0YW5kYWFyZAorICB1aXRnZXNjaGFrZWxkLiBPbSBtZWVyIGZ1bmN0aWVzIHRlIGdlYnJ1aWtlbiBtb2V0IGplIGVlbiAndmltcmMnLWJlc3RhbmQKKyAgc2NocmlqdmVuLgorCisgIDEuIEJld2VyayBoZXQgYmVzdGFuZCAndmltcmMnLiBIb2UgZGF0IG1vZXQgaGFuZ3QgYWYgdmFuIGplIHN5c3RlZW06CisgICAgICA6ZSB+Ly52aW1yYwkJdm9vciBVbml4CisgICAgICA6ZSAkVklNL192aW1yYwkJdm9vciBNUy1XaW5kb3dzCisKKyAgMi4gTGVlcyBkZSBpbmhvdWQgdmFuIGhldCB2b29yYmVlbGQtYmVzdGFuZDoKKyAgICAgIDpyICRWSU1SVU5USU1FL3ZpbXJjX2V4YW1wbGUudmltCisKKyAgMy4gU2xhIGhldCBiZXN0YW5kIG9wIG1ldCAgOncKKworICBEZSB2b2xnZW5kZSBrZWVyIGRhdCBqZSBWaW0gc3RhcnQgd29yZHQgJ3N5bnRheGlza2xldXJpbmcnIGdlYnJ1aWtlbi4KKyAgSmUga2FuIGFsIGplIHZvb3JrZXVyc2luc3RlbGxpbmdlbiB0b2V2b2VnZW4gYWFuIGRpdCAndmltcmMnLWJlc3RhbmQuCisgIFRpayAgOmhlbHAgdmltcmMtaW50cm8gIHZvb3IgbWVlciBpbmZvcm1hdGllLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIExlcyA3LjM6IEFBTlZVTExFTgorCisgICAgICAqKiBBYW52dWxsZW4gdmFuIGRlICdjb21tYW5kIGxpbmUnIG1ldCBDVFJMLUQgZW4gPFRBQj4uICoqCisKKyAgMS4gWm9yZyBkYXQgVmltIG5pZXQgaW4gJ2NvbXBhdGlibGUgbW9kZScgaXMgbWV0ICA6c2V0IG5vY3AKKworICAyLiBLaWprIHdlbGtlIGJlc3RhbmRlbiB6aWNoIGluIGRlIG1hcCBiZXZpbmRlbiBtZXQgIDohbHMgIG9mICA6IWRpcgorCisgIDMuIFRpayBoZXQgYmVnaW4gdmFuIGVlbiBjb21tYW5kbzogIDplCisKKyAgNC4gTWV0ICBDVFJMLUQgIHRvb250IFZpbSBlZW4gbGlqc3QgY29tbWFuZG8ncywgZGllIG1ldCAiZSIgYmVnaW5uZW4uCisKKyAgNS4gRHJ1ayBlbmtlbGUga2VyZW4gPFRBQj4uIFZpbSBsYWF0IGFhbnZ1bGxpbmdlbiB6aWVuLCB6b2FscyAiOmVkaXQiLAorICAgICBkYXQgd2UgaGllciBnZWJydWlrZW4uCisKKyAgNi4gVm9lZyBlZW4gc3BhdGllIHRvZSBlbiBkZSBlZXJzdGUgbGV0dGVyKHMpIHZhbiBlZW4gYmVzdGFhbmRlCisgICAgIGJlc3RhbmRzbmFhbTogIDplZGl0IEJFU1RBTkQKKworICA3LiBEcnVrIDxUQUI+LiBWaW0gdnVsdCBkZSBuYWFtIGFhbiAoYWxzIGhpaiB1bmllayBpcykuCisKKyAgT1BNRVJLSU5HOiBBYW52dWxsZW4gd2Vya3QgYmlqIHRhbCB2YW4gY29tbWFuZG8ncy4gUHJvYmVlciBnZXdvb24gQ1RSTC1ECisgICAgICAgICAgICAgZW4gPFRBQj4uIEhldCBpcyBiaWp6b25kZXIgbnV0dGlnIGJpaiAgOmhlbHAgLgorCit+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorICAgICAgICAgICAgICAgICAgIFNBTUVOVkFUVElORyBMZXMgNworCisgIDEuIFRpayAgOmhlbHAgIG9mIGRydWsgPEYxPiBvZiA8SGVscD4gIG9tIGVlbiBoZWxwLXZlbnN0ZXIgdGUgb3BlbmVuLgorCisgIDIuIFRpayAgOmhlbHAgQ01EICB2b29yIGh1bHAgb3ZlciAgQ01EIC4KKworICAzLiBUaWsgIENUUkwtVyBDVFJMLVcgIG9tIG5hYXIgZWVuIGFuZGVyIHZlbnN0ZXIgdGUgZ2Fhbi4KKworICA0LiBUaWsgIDpxICBvbSBoZXQgaGVscC12ZW5zdGVyIHRlIHNsdWl0ZW4uCisKKyAgNS4gTWFhayBlZW4gYmVzdGFuZCBtZXQgZGUgbmFhbSAndmltcmMnIHZvb3IgamUgdm9vcmtldXJzaW5zdGVsbGluZ2VuLgorCisgIDYuIERydWsgQ1RSTC1EIHRpamRlbnMgaGV0IGludGlra2VuIHZhbiBlZW4gOi1jb21tYW5kbyBvbSBtb2dlbGlqa2UKKyAgICAgYWFudnVsbGluZ2VuIHRlIHppZW4uIERydWsgPFRBQj4gb20gYWFudnVsbGVuIHRlIGdlYnJ1aWtlbi4KKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyAgSGllcm1lZSBrb21lbiBkZSBWaW0tbGVzc2VuIHRvdCBlZW4gZWluZGUuIFplIHdhcmVuIGJlZG9lbGQgb20gZWVuIGtvcnQKKyAgb3ZlcnppY2h0IHRlIGdldmVuIHZhbiBkZSBWaW0tZWRpdG9yLCBqdWlzdCB2b2xkb2VuZGUgb20gZGUgZWRpdG9yCisgIHJlZGVsaWprIG1ha2tlbGlqayB0ZSBnZWJydWlrZW4uIERlemUgbGVzc2VuIHppam4gdmVycmUgdmFuIHZvbGxlZGlnLiBWaW0KKyAga2VudCB2ZWVsIG1lZXIgY29tbWFuZG8ncy4gTGVlcyBoaWVybmEgZGUgaGFuZGxlaWRpbmcgdm9vciBnZWJydWlrZXJzOgorICAiOmhlbHAgdXNlci1tYW51YWwiLgorCisgIFZvb3IgdmVyZGVyZSBzdHVkaWUgd29yZHQgYWFuYmV2b2xlbjoKKyAgICAgIFZpbSAtIFZpIEltcHJvdmVkIC0gZG9vciBTdGV2ZSBPdWFsbGluZQorICAgICAgVWl0Z2V2ZXI6IE5ldyBSaWRlcnMKKyAgRGl0IGlzIGhldCBlZXJzdGUgYm9layBkYXQgZ2VoZWVsIGFhbiBWaW0gaXMgZ2V3aWpkLiBTcGVjaWFhbCBnZXNjaGlrdAorICB2b29yIGJlZ2lubmVycy4gTWV0IHZlZWwgdm9vcmJlZWxkZW4gZW4gYWZiZWVsZGluZ2VuLgorICBaaWUgaHR0cDovL2ljY2YtaG9sbGFuZC5vcmcvY2xpY2s1Lmh0bWwKKworICBIZXQgdm9sZ2VuZGUgYm9layBpcyBvdWRlciBlbiBnYWF0IG1lZXIgb3ZlciBWaSBkYW4gVmltLCBtYWFyIGhldCB3b3JkdAorICB0b2NoIGFhbmJldm9sZW46CisgICAgICBMZWFybmluZyB0aGUgVmkgRWRpdG9yIC0gZG9vciBMaW5kYSBMYW1iCisgICAgICBVaXRnZXZlcjogTydSZWlsbHkgJiBBc3NvY2lhdGVzIEluYy4KKyAgSGV0IGlzIGVlbiBnb2VkIGJvZWsgb20gbmFnZW5vZWcgYWxsZXMgdGUgd2V0ZW4gdGUga29tZW4gZGF0IGplIG1ldCBWaQorICB6b3Ugd2lsbGVuIGRvZW4uIERlIHplc2RlIGVuIHZvb3JhbCBkZSBuaWV1d2UgemV2ZW5kZSBkcnVrIChvbmRlciBkZQorICB0aXRlbCBMZWFybmluZyB0aGUgVmkgYW5kIFZpbSBFZGl0b3JzIGRvb3IgQXJub2xkIFJvYmJpbnMsIEVsYmVydCBIYW5uYWgKKyAgJiBMaW5kYSBMYW1iKSBiZXZhdCBvb2sgaW5mb3JtYXRpZSBvdmVyIFZpbS4KKworICBEZXplIGxlc3NlbiB6aWpuIGdlc2NocmV2ZW4gZG9vciBNaWNoYWVsIEMuIFBpZXJjZSBlbiBSb2JlcnQgSy4gV2FyZSwKKyAgQ29sb3JhZG8gU2Nob29sIG9mIE1pbmVzIG1ldCBnZWJydWlrbWFraW5nIHZhbiBpZGVlw6tuIHZhbiBDaGFybGVzIFNtaXRoCisgIHZhbiBkZSBDb2xvcmFkbyBTdGF0ZSBVbml2ZXJzaXR5LiBFLW1haWw6IGJ3YXJlQG1pbmVzLmNvbG9yYWRvLmVkdS4KKworICBBYW5nZXBhc3Qgdm9vciBWaW0gZG9vciBCcmFtIE1vb2xlbmFhci4KKworICBOZWRlcmxhbmRzZSB2ZXJ0YWxpbmcgZG9vciBSb2IgQmlzaG9mZiwgYXByaWwgMjAxMgorICBlLW1haWw6IHJvYi5iaXNob2ZmQGhjY25ldC5ubCkKKworfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K