SGFsbG8genVzYW1tZW4gKEZyZXVuZCwgMjEuIE5vdiAxOTk3LCAxMDozMDo1Mik6CkhpLAoKYXVmIHZpZWxmYWNoZW4gV3Vuc2NoIGdpYnQgZXMgamV0enQgYXVjaCBlaW5lIFJ1YnJpayBmdWVyIGRhcyBGaWViZXIsIHdhcwpnZXJhZGUgdW1nZWh0Li4uIDotKQoKRnJldW5kLCBhdWNoIGluZml6aWVydC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoTmFzaW0sIDIxLiBOb3YgMTk5NywgMTA6MzM6MDcpOgp+IyEgb249TmFzaW0gb3Q9ODgwMTA0NjI2IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49UmFmZmkgcnQ9ODgwMTAwNzE2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MDA1Nzk1NQpFcyBnaWJ0IGVpbmVuIGV4dHJhIENsaWVudCBmdWVyIFdpbjk1LCBkZXIgbnVyIGhpZGRlbiBsYWV1ZnQgLSBpc3QgZWluIGV4dHJhCkFyY2hpdiwgcmM1NjQwMS13aW45NWhpZGRlbi14ODYtY2xpLnppcC4gRGFzIFByb2dyYW1tIGhlaXNzdCBlaW5mYWNoIG51cgpyYzU2NC5leGUgdW5kIGhpbnRlcmxhZXNzdCwgc293ZWl0IGljaCBnZXNlaGVuIGhhYmUsIGtlaW5lIHNpY2h0YmFyZW4gU3B1cmVuCmF1ZiBkZXIgT2JlcmZsYWVjaGUuIAoKR3J1c3MsIE5hc2ltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozMzoyNSk6Cn4jISBvbj1BbmFraW4gb3Q9ODc4NTY5NzMxIG9nPWhhcmRzb2Z0d2FyZQpIaSwKCmljaCBoYWIgZWluIHBhYXIgQW5mcmFnZW4gYmVrb21tZW4gd2VnZW4gZGVtCmRldXRzY2hlbiBNdWRUZWFtIHp1ciByYzUtNjRCaXQgQ2hhbGxlbmdlLgpJbmZvcyBnaWJ0IGVzIHVudGVyIHd3dy5kaXN0cmlidXRlZC5uZXQKQWxzbyBlcyBnaWJ0IGVpbiBUZWFtIG11ZC5kZSAoVGVhbU5yLiA1NzYpLgpXZW5uIGlociBtaXRtYWNoZW4gd29sbHQgaXN0IGZvbGdlbmRlcwp6dSBiZWFjaHRlbjoKCmEpIGRlbiBDbGllbnQgaG9sZW4gZGVyIGRhcyBaZXVnIGF1c3JlY2huZXQuCiAgIHZvbiBodHRwOi8vd3d3LmRpc3RyaWJ1dGVkLm5ldC9yYzUvcmM1djItY2xpZW50cy5odG1sCgpiKSBkYXMgVGVpbCBhdXNwYWNrZW4gdW5kIG1pdCAtY29uZmlnIGF1ZnJ1ZmVuCiAgIGpldHp0IDEpIGF1c3dhZWhsZW4gdW5kIG51biBhbHMgYWRyZXNzZQogICByYzVAbXVkLmRlIGVpbmdlYmVuLgoKYykgbWl0IHJjNTY0IChvZGVyIHdpZSBhdWNoIGltbWVyIGRhcyBhdXNmdWVyaGJhcmUKICAgUHJvZ3JhbW0gaGVpc3N0KSBhdWZydWZlbi4KCkRhcyBUZWlsIG51dHp0IHdpcmtsaWNoIG51ciBkaWUgSWRsZXplaXQgZGVzIFJlY2huZXJzCnVuZCBlcyBpc3Qga2VpbmUgQmVlaW50cmFlY2h0aWd1bmcgZGVzIEFyYmVpdGVucwp6dSBzcHVlcmVuLgoKSGFwcHkgQ3JhY2tpbmcKCgpBbmFraW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozMzoyNyk6Cn4jISBvbj1BbmFraW4gb3Q9ODc4NTkxOTIwIG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49QW5ha2luIHJ0PTg3ODU2OTczMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKSGksCgp3ZW5uIGplbWFuZCBtaXRtYWNoZW4gc29sbHRlIGthbm4gZXIgbWFsCmVpbmUgRU1haWwgYW4gbWljaCBzY2hyZWliZW4sIGljaCB3aWxsIG5vY2gKbmUgV2Vic2VpdGUgbWFjaGVuIHdvIGFsbGUgZHJhdWZzdGVoZW4gZGllCm1pdG1hY2hlbi4KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzM6MjkpOgp+IyEgb249QmFib29uIG90PTg3ODYyOTEzOSBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUFuYWtpbiBydD04Nzg1OTE5MjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4NTY5NzMxCldlbm4gbWlyIGplbWFuZCBlaW5lIFN0YW5kbGVpdHVuZyBzY2hlbmt0IHN0ZWxsZSBpY2ggYXVjaCBnZXJuZSBtZWluZW4gQW1pZ2EKNTAwIHp1ciBWZXJmdWVndW5nLiA6LSkKCkJhYm9vbigpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzM6MzApOgp+IyEgb249QW5ha2luIG90PTg3ODYzMDAwNCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUJhYm9vbiBydD04Nzg2MjkxMzkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4NTY5NzMxCkR1IGJyYXVjaHN0IGtlaW5lIFN0YW5kbGVpdHVuZywgbWFuIGthbm4gc2ljaCBhdWNoIDIwMCBCbG9lY2tlCmhvbGVuLCBzaWNoIHZvbSBOZXR6IHRyZW5uZW4sIGF1c3JlY2huZW4gdW5kIGJlaSBuZXh0ZW4gY29ubmVjdAp3ZXJkZW4gZGllc2UgdWViZXJ0cmFnZW4gOykKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjMzOjMxKToKfiMhIG9uPUZyZXVuZCBvdD04Nzg2NDE5MDAgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1BbmFraW4gcnQ9ODc4NjMwMDA0IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpHZW5hdSwgZGFzIG1hY2hlIGljaC4gOi0pCgpGcmV1bmQgLSBhdWNoIG1hbCBkYWJlaS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjMzOjU0KToKfiMhIG9uPU15c3RlcmlvdXMgb3Q9ODc4NjU4MTk2IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49RnJldW5kIHJ0PTg3ODY0MTkwMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKbmkgaGFvISEKCmphdSwgbWVpbiByZWNobmEgbGFldWZ0IGF1Y2ggc2Nob24gc2VpdCBoZXV0ZSBtaWRkYWNoIHVuZCBjcmFja3QgZ2FueiBmbGVpc3NpZwo6KQoKKmhvZWZsaWNoIHZlcm5laWdlbmQqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNToxMyk6Cn4jISBvbj1SYWZmaSBvdD04NzkxODQ1ODkgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1NeXN0ZXJpb3VzIHJ0PTg3ODY1ODE5NiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKSGF0cyBzY2hvbiBqZW1hbmQgZ2VzY2hhZnQgZGVuIFdpbk5UIENsaWVudCB1ZWJlciBuZW4gRmlyZXdhbGwgYXJiZWl0ZW4genUKbGFzc2VuID8KCldhcyBpc3QgZGEgYWxzIGVpbnN0ZWxsdW5nIGZ1ZXIgZGVuIEtleXNlcnZlciBub2V0aWcgPwoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM1OjE1KToKfiMhIG9uPVJhZmZpIG90PTg3OTE5NTUzMCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg3OTE4NDU4OSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKUC5TLjogTWFsIGh0dHA6Ly93d3cuZGlzdHJpYnV0ZWQubmV0L3Nsb2dhbnMvIGFuc2NoYXVlbiAhCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzU6MjMpOgp+IyEgb249QWNyaW1vbiBvdD04NzkyNTk4MTEgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1SYWZmaSBydD04NzkxODQ1ODkgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4NTY5NzMxCi4gbyBPICggRGEgdmVyZ2V3YWx0aWd0IGplbWFuZCBlaW5lbiBOZXR6d2VyayEgTlQgYWxzIENsaWVudCBvZGVyIFNlcnZlciEgRGFzCmthbm4gbnVyIHNjaGllZmdlaGVuLiApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV44OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNToyNSk6Cn4jISBvbj1SYWZmaSBvdD04NzkyNzA4NDMgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1BY3JpbW9uIHJ0PTg3OTI1OTgxMSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKClNhZyBkYXMgbWFsIG1laW5lbSBDaGVmIC4uLiBvZGVyIHNvbnN0d2VtIC4uLiBhbGxlcyBXaW5kb3dzZ2xhZXViaWdlIC4uLiBpY2gKYmluIHVtemluZ2VsdCB2b24gQWxpZW5zICEKCkggSSBMIEYgRSAhCgpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzU6NDUpOgp+IyEgb249UmFmZmkgb3Q9ODc5NDQ2NzE5IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49UmFmZmkgcnQ9ODc5MjcwODQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpTb28gZGllIGVyc3RlbiAyNTYgQmxvY2tzIHVuZCA3MmggcmVjaGVuemVpdCBzaW5kIGdlc2NoaWNodGUgOikKTWFsIHNlaGVuLi4uLi4uCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTA6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjA5KToKfiMhIG9uPVJhZmZpIG90PTg3OTk2NzI5NCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg3OTQ0NjcxOSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKWndpc2NoZW5lcmdlYm5pc3M6ClRlYW0gISBUZWFtIE5hbWUgISAgVG90YWwgISAgICBUaW1lICEgICBMYXN0ICEgIEtleSBSYXRlClJhbmsgISAgICAgICAgICAgISBCbG9ja3MgISBXb3JraW5nICEgIEJsb2NrICEga2tleXMvc2VjCi0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tCjI2MCAgIW11ZC5kZSAgICAgISAgMjE4NzQgISAyMCBkYXlzICEgMTktTm92ICEgICAzMjM2LjIwCgpHYW56IG5ldHQsYWJlciBkYXMgbXVzcyBtZWhyIHdlcmRlbi4gRGEgaWNoIHVuZ2VmYWVyIDI2MiBra2V5cy9zCnNjaGFmZmUgc2luZCBkYSBnZXJhZGUgbWFsIG5vY2ggMTIgd2VpdGVyZSBSZWNobmVyIHdpZSBkZXIgaGllcgooUDIwMCkgdGFldGlnIC0gRGFzIGlzdCB6dSB3ZW5pZy4gV2VpdGVyIGFscyBiaXMgUGxhdHogMTAwIGtvbW1lbgp3aXIgZGEgbmljaHQsIHVuZCB1bnNlcmUgQ2hhbmNlbiBzaW5kIG51bm1hbCBQcm9wb3J0aW9uYWwgenVyCk1lbmdlIGRlciBkdXJjaHN1Y2h0ZW4gS2V5cyBpc3Qgc2NoYXV0cyBzY2hsZWNodCBmdWVyIGRpZSBNdWQvClBhcnR5c3BlbmRlIGF1cyA6KAoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxMCk6Cn4jISBvbj1SYWZmaSBvdD04Nzk5Njc5MDUgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1SYWZmaSBydD04Nzk5NjcyOTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4NTY5NzMxCk5hY2h0cmFnCgpOb2NobWFsIGZ1ZXIgYWxsIGRpZSB3aWxsaWdlbiwgZGllIHNpY2ggYmlzaGVyIGF1ZiBGYWxzY2hlcyBCZXRydWdzc3lzdGVtLApvZGVyIGZlaGxlbmRlbiBJbnRlcm5ldGFuc2NobHVzcyByYXVzZ2VyZWRldCBoYWJlbjogZGFzIERpbmcgZnVua3Rpb25pZXJ0CnVudGVyIGZhc3QgamVkZW0gZ2FlbmdpZ2VuIEJldHJpZWJzc3lzdGVtLCB1bmQgYnJhdWNodCBhdWNoIGtlaW5lbiBkYXVlcm5kZW4KSW50ZXJuZXRhbnNjaGx1c3MgLSBEZXIgQ2xpZW50IGhhdCBlaW5lbiBQdWZmZXIgdm9uIEJpcyB6dSAyMDAgS2V5YmxvZWNrZW4sCndhcyBiZWkgZWluZW0gUDIwMCBldHdhIDUwLTU1IFN0dW5kZW4gUmVjaGVuemVpdCBzaW5kLCBkLmguIGFsbGUgMiB0YWdlIG1hbApmdWVyIDEwLTE1IE1pbnV0ZW4gb25saW5lZ2VoZW4uCgpFcyBtdWVzc3RlIHNvZ2FyIGdlaGVuIHNpY2ggZGllIGJsb2NrcyBhbiBkZXIgVW5pIHp1IHNhdWdlbiwgdW5kIGRhbm4gcGVyCkRpc2tldHRlIG5hY2ggaGF1c2UgenUgbmVobWVuLCBkb3J0IGRhbm4gMiB0YWdlIHJlY2huZW4gKGxhbmdzYW1tZSBSZWNobmVyCmxhZW5nZXIpIHVuZCBkYW5uIHdpZWRlciBhbiBkZXIgVW5pIHp1cnVlY2tzY2hpY2tlbi4gMjAwIEtleWJsb2NrcyBzaW5kIGV0d2EKMjUgS0IuCgpVbmQgQU9MLCBvZGVyIEFuZGVyZSBPZmZsaW5lcHJvdmlkZXIgc2luZCBhdWNoIGtlaW4gSGluZGVybmlzcyAuLi4gZXMgcmVpY2h0CmVpbmUgSFRUUCAoV1dXKSBWZXJiaW5kdW5nIHVtIEtleXMgYXVzenV0dGF1c2NoZW4gLi4uIGFsc28sIHJhbm4gYW4gZGVuIFNwZWNrLgoKR3J1c3MKSC4KClAuUy46IE5pY2h0IHZvciBkZW0gTXVkIGVpbmtuYWNrZW4gLSBGdWVyIGRhcyBtdWQgUkM1LTY0IGtuYWNrZW4hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMjogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MTEpOgp+IyEgb249QmFicyBvdD04Nzk5NzIzNDMgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1SYWZmaSBydD04Nzk5Njc5MDUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4NTY5NzMxCkhpbmRlcm5pcyBpc3QsIGRhcyBlcyBrZWluIFByb2dyYW1tIGdpYnQsIHdhcyB1bnRlciBOVCBvZGVyIDk1IG9obmUKQWRtaW5yZWNodGUgenVtIExhdWZlbiB6dSBicmluZ2VuIGlzdCA7LVAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjEzOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxMik6Cn4jISBvbj1EZW50aSBvdD04Nzk5NzI5MjMgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1CYWJzIHJ0PTg3OTk3MjM0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKClVudGVyIFdpbjk1IGdpYnQgZXMgdWViZXJoYXVwdCBrZWluZSBQcm9ibGVtZSBtaXQgZGVuIEFkbWluLVJlY2h0ZW4sIApkYSBlcyBnYXIga2VpbmUgbmVubmVuc3dlcnRlIEFic2Nob3R0dW5nIGRlcyBTeXN0ZW1zIGdpYnQsIHNvIGRhc3MgZHUgCnNvZ2FyIGRlbiBDTGllbnQgc28gaW5zdGFsbGllcmVuIGthbm5zdCwgZGFzcyBkZXIgQWRtaW4gbmljaHRzIG1pdC0KYmVrb21tdCAoYXVzc2VyLCBkYXNzIGRpZSBDUFUgcGVybWFuZW50IHp1IDEwMCAlIGF1c2dlbGFzdGV0IGlzdCkuClVudGVyIE5UIGthbm5zdCBEdSBkZW4gQ0xpZW50IHp1bWluZGVzdCB3YWVocmVuIER1IGFyYmVpdGVzdCBsYXVmZW4gCmxhc3NlbiwgYWxsZXJkaW5ncyBrYW5uc3QgRHUgbm9ybWFsZXJ3ZWlzZSBkZW4gU2VydmljZSBuaWNodCBvaG5lCkFkbWluLVJlY2h0ZSBpbnN0YWxsaWVyZW4uCgpEZW50aQoKUFM6IEljaCBsYXNzZSBkZXJ6ZWl0IHBlcm1hbmVudCBlaW5lbiBQb3dlck1hYywgZWluZW4gTlQtU2VydmVyCm1pdCBlaW5lbSBQMTUwIHVuZCBlaW5lbiBtaXQgMiBQMTUwIHVuZCBlaW5lbiBOVCBBbHBoYSBBWFAgMzAwLVNlcnZlcgpsYXVmZW4sIGRhenUga29tbWVuIG5vY2ggYmlzIHp1IDUgUElJLTI2NiwgZGllIGFsbGVyZGluZ3MgbnVyIHRlaWx6ZWl0CmFyYmVpdGVuIHVuZCBtZWluIHByaXZhdGVyIFBDLCBkZXIgbnVyIHRhZ3N1ZWJlciBsYWV1ZnQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MTMpOgp+IyEgb249UmluZ29yIG90PTg3OTk3Mzc1OCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg3OTk2NzI5NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKTnVuLCBkYXNzIHdpciBtZWhyIExldXRlIGJyYXVjaGVuLCBpc3Qga2xhci4gKlZpZWwqIG1laHIgTGV1dGUgc29nYXIuIAoKQWJlciBkYXMgbWVpbmUgaWNoIG5pY2h0IG51ciBhdWYgbXVkLmRlIGJlem9nZW4sIHNvbmRlcm4gaW5zZ2VzYW10LiBXYXMgYnJpbmd0CmVzLCBkYXMgYmVzdGUgVGVhbSB6dSBzZWluLCB3ZW5uIHdpciBtaXQgZGVyIG1vbWVudGFuZW4gUmVjaGVubGVpc3R1bmcKdHJvdHpkZW0gbm9jaCBzYXR0IHVlYmVyIDEwMCBKYWhyZSAoISkgYnJhdWNoZW4sIHVtIGRlbiBLZXlzcGFjZSB6dQpkdXJjaHN1Y2hlbj8KCkRhIGJyaW5ndCBlcyB2aWVsbGVpY2h0IGRvY2ggbWVociwgaGV1dGUgemVobiBEb2xsYXIgZmVzdCBhbnp1bGVnZW4gdW5kIGZ1ZXIKaHVuZGVydCBKYWhyZSBaaW5zZW4genUga2Fzc2llcmVuIDstKQoKUmluZ29yCgpQLlMuOiBkaWUgaHVuZGVydCBKYWhyZSBiZXppZWhlbiBzaWNoIG5pY2h0IGF1ZiBkYXMgVGVhbSBtdWQuZGUsIHNvbmRlcm4gYXVmCmFsbGUgbW9tZW50YW4gZnVlciBkaXN0cmlidXRlZC5uZXQga25hY2tlbmRlbiBSZWNobmVyLiBVbmQgZGFzIHNpbmQgbW9tZW50YW4KaW1tZXJoaW4gdWViZXIgemVobnRhdXNlbmQgdmVyc2NoaWVkZW5lIGVNYWlsLUFkcmVzc2VuIC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjE0KToKfiMhIG9uPUJhYnMgb3Q9ODc5OTg2MzM2IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49RGVudGkgcnQ9ODc5OTcyOTIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpOYWphLCBlamRlbmZhbGxzIGhhYiBpY2ggYXVzIE5ldWdpZXIgbWFsIGRpZSBTYWZ0d2FyZSBnZXNhdWd0LCBhYmVyCmF1ZiBOVCBicmljaHQgZGFubiBzY2hvbiBkYXMgSW5zdGFsbGF0aW9uc3Byb2dyYW1tIGFiLCB3ZWlsIGVzIHVuYmVkaW5ndApkYXJhdWYgYmVzdGVodCwgaW4gaXJnZW5kIGVpbiBTeXN0ZW12ZXJ6ZWljaG5pcyByZWluenVzY2hyZWliZW4sIHdvIGljaAprZWluZSBSZWNodGUgZHJhdWYgaGFiLgpEYSBrYW5uIGljaCBhbHNvIGF1Y2ggd2VubiBpY2ggZ3JhZCBhbSBQQyBhcmJlaXQgbml4IG1hY2hlbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE1OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjoxNSk6Cn4jISBvbj1BbmFraW4gb3Q9ODgwMDA5OTM5IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49QmFicyBydD04Nzk5ODYzMzYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODc4NTY5NzMxCkhpLAoKaW4gZGVyIGxldHp0ZW4gTWVsZHVuZyBoYWJlbiBkaWUgdm9tIHJjNSBnZXNhZ3QgZXMgd3VyZGVuIAplaW4gcGFhciBCbG9ja3MgdmVyc2NobHVja3QgdW5kIG5pY2h0IGluIGRlciBTdGF0aXN0aWsKYW5nZXplaWd0LiBJY2ggc2VsYnN0IGxhc3NlIG1pdCBjYS4gMS0yIG1rZXlzL3MgcmVjaG5lbgpqZSBuYWNoIFJlY2huZXJsYWdlLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTY6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjE2KToKfiMhIG9uPUFuYWtpbiBvdD04ODAwMTAyNDIgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1BbmFraW4gcnQ9ODgwMDA5OTM5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpIaSwKCmljaCBzZWhlIGdlcmFkZSwgZ2VzdGVybiBoYXR0ZW4gd2lyIDU0ODEga2tleXMvcy4gRXMgd2lyZCBsYW5nc2FtCm1laHIgOikKCkFuYWtpbi4KCk5hY2h6dWxlc2VuIGF1ZjoKaHR0cDovL3JjNXN0YXRzLmRpc3RyaWJ1dGVkLm5ldC90bXN1bW1hcnkuaWRjP1RNPTU3NgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTQ6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjE3KToKfiMhIG9uPU1vcmdvdGggb3Q9ODgwMDEyMjgwIG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49RGVudGkgcnQ9ODc5OTcyOTIzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpVbmQgd2VubiBEdSBqZXR6dCBub2NoIHNhZ3N0IHdvIER1IHdvaG5zdCwgdG9ldGUgaWNoIERpY2ggdW5kIGVyYmUgRGVpbmUKUmVjaG5lci4gOy0pKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTc6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjE4KToKfiMhIG9uPUNhdHdlYXpsZSBvdD04ODAwMTUwNjIgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1BbmFraW4gcnQ9ODgwMDEwMjQyIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpEYXMga2xpbmd0IHdpcmtsaWNoIG5hY2ggdmllbC4KSWNoIHd1ZXJkIGphIGdlcm4gdW5zZXIgTWF0aGVuZXR6IG1pdHJlY2huZW4gbGFzc2VuLCBhYmVyIGRhcyBtYWNodCBsZWlkZXIKc2Nob24gZWluIGFuZGVyZXIgU3VwcG9ydGVyIHZvbiB1bnMgbWl0IHNlaW5lciBQcml2YXRhZHJlc3NlLiAKV2lyIGtvbW1lbiBkYW1pdCBpbW1lcmhpbiBhdWYgUGxhdHogNjAgbWl0IGNhLiA3NTAwIGtrZXlzL3MuCllUQwpQUzogSWNoIGtvZW5udGUgTUcgbWl0IHJlaW5oYWVuZ2VuIDotKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMTU6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjE5KToKfiMhIG9uPVJhZmZpIG90PTg4MDAyMTk3MiBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPU1vcmdvdGggcnQ9ODgwMDEyMjgwIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQo+IG5pbW0gcmVjaG5lciBhdXMgbGVpY2hlCkR1IG5pbW1zdCBlaW5lbiBQQy1YVCBhdXMgZGVyIExlaWNoZS4KCkdyaW5zCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xODogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6MjApOgp+IyEgb249UmFmZmkgb3Q9ODgwMDIyNTk1IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MDAxNTA2MiByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKYSkgTlQgUHJvZ3JhbW06IERhcyBQcm9ncmFtbSBicmF1Y2h0IGtlaW5lcmxlaSBSb290cmVjaHRlLCB1bmQgYXVjaCBzb25uc3QKICAgbml4LiBlaW5mYWNoIHJjNTY0MDEtd2luMzIteDg2LWd1aS56aXAgKDIxNi44ODUgQnl0ZXMpIHppZWhlbiwgZW50emlwZW4sCiAgIHVuZCByYzU2NGd1aS5leGUgc3RhcnRlbi4gZGVuIFNldHVwYnV0dG9uIGFua2xpY2tlbiBkaWUgZmVobGVuZGVuIHdlcnRlCiAgIGVpbnRyYWdlbiAoZ2dmLiBkaWUgUmVhZG1lIGxlc2VuKSB1bmQgZmVydGljaC4gIE51bGwgUHJvYmxlbW8gLSBJY2gga2FubgogICBtaXIgbmljaHQgdm9yc3RlbGxlbiBkYXMgZXMgaXJnZW5kZWluZSBLb25maWd1cmF0aW9uIGdpYnRyIHdvIGRhcyBuaWNodAogICBsYWV1ZnQsIG5hY2hkZW1zIHNvZ2FyIHVlYmVyIG1laW5lbiBkb29mZW4gZG9wcGVsdGVuIEZpcmV3YWxsIGZ1bnp0IChpY2gKICAgdmVyd2VuZGUgZGllIEhUVFAgVHVubmVsdW5nIDopLgoKYikgU3VjaHplaXQ6IEdlc3Rlcm4gaGF0dGUgZGVyIFNlcnZlciB1bmdlZmFlciA3LjAwMG1rZXlzL3MgYW5nZXplaWd0LgogICBkYXMgaGVpc3N0IGRhcyBwcm8gdGFnIGZhc3QgNDAgQml0IGR1cmNoc3VjaHQgd2VyZGVuLiBEYW5uIGtvbW1lbiB3aXIgYXVmCiAgIDJeMTQgdGFnZSBkaWUgZGFzIGRpbmcgbGF1ZmVuIG11c3MgLSB3YXMgZXR3YSA0NCBKYWhyZSBlbnRzcHJpY2h0LgogICBEZWluZSBaaW5zaWRlZSBzY2hhdXQgc2Nob24gc2NobGVjaHRlciBhdXMgLSBhdXNzZXJkZW0gc29sbGUKICAgZGVyIHRyZWZmZXIgamEgYmVyZWl0cyBydW5kIHVtIGRpZSBoYWVsZnRlIGRlciB1bnRlcnN1Y2h0ZW4ga2V5cyBhdWZ0cmV0ZW4KICAgKGphamEsIGljaCB3ZWlzcyBzdGF0aXN0aXNjaGUgV2lsZHNhdSB1bmQgdW52ZXJiZXNzZXJsaWNoZXIgT3B0dGltaXN0KS4KCmMpIFdJUiBCUkFVQ0hFTiBNRUhSIFJFQ0hFTkxFSVNUVU5HCgpHcnVzcwpILgooSWNoIGxhc3MgamV0enQgbmFjaHRlbnMgbm9jaCA0IHdlaXRlcmUgUDIwMCBtaXRyZWNobmVuLikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjE5OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo0Nyk6Cn4jISBvbj1HcmltbWJvcm4gb3Q9ODgwMDI0NzIwIG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49UmFmZmkgcnQ9ODgwMDIyNTk1IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpJY2ggc3RldWVyZSBtb21lbnRhbiBlaW5lbiBQOTAgYmVpLgpXZW5uIG1pciBqZW1hbmQgZXJ6YWVobHQsIHdpZSBtYW4gc2ljaCBhbiBlaW4gVGVhbSByYW5oYWVuZ3Qgd3VlcmRlIGljaCBkYXMgamEKdHVuLCB1bmQgYXVjaCBkZW4gZWluZW4gb2RlciBhbmRlcmVuIHdlaXRlcmVuIFJlY2huZXIgYmVpc3RldWVybiAoZGEgZ2lidHMgZWluCnBhYXIgdW50ZXJiZXNjaGFlZnRpZ3RlIHVsdHJhc3BhcmNzLi4uKS4KCkdkQQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhdGlzdGlrIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6NDkpOgp+IyEgb249VGFuZ2FsdXIgb3Q9ODgwMDI0ODY0IG9nPWhhcmRzb2Z0d2FyZQpSYW5rCVRlYW0vRW1haWwJVG90YWwJVGltZQlUaW1lCUtleSByYXRlCiAgICAgICAgICAgICAgICBCbG9ja3MgCVdvcmtpbmcgQmxvY2sJa2tleXMvc2VjCgogIDQ0OQlyYzVAbXVkLmRlCTE2NTE5CTE3IGRheXMJMjAtTm92CTI4NTEuMjYKIDE0NTQJZGVudGlAbWcubXVkLmRlCSA2MjY4ICAgMTQgZGF5cwkyMC1Ob3YgIDEyOTguMjcKMTA0MzEgICBsZW9AbXVkLmRlCSAgMzg0CTEwIGRheXMJMTktTm92CSAxMTkuMzAKMTM5NTIJbXVkLmRlCQkgICA4NwkyMSBkYXlzCSAzLU5vdgkgIDU0LjA2CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhdGlzdGlrIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6NTApOgp+IyEgb249U2lsdmFuYSBvdD04ODAwMjU3MjAgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1UYW5nYWx1ciBydD04ODAwMjQ4NjQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDI0ODY0CkhtbW0sIHdlbm4gbWlyIGEpIGplbWFuZCBlcmtsYWVydCwgdW0gd2FzIGVzIGVpZ2VudGxpY2ggZ2VodCB1bmQgYikgbWlyCmplbWFuZCBkZW4gQ29kZSBlbnRzcHJlY2hlbmQgdW1zY2hyZWlidCwga29lbm50ZSBpY2ggdmVyc3VjaGVuLCB1bnNlcmUKU1NQMjAwMCBtYWwgZnVlciBkYXMgZWluZSBvZGVyIGFuZGVyZSBXb2NoZW5lbmRlIGRyYW4gYXJiZWl0ZW4genUgbGFzc2VuLgpJY2ggc2NoYWV0emUsIGRhcyBUZWlsIGJyaW5ndCBuZW4gYmlzc2NoZW4gbWVociBSZWNoZW5sZWlzdHVuZy4uLiA6KQoKICBTaWx2YW5hIChnZWh0IGRhbm4gbWFsIGRhcyBSWiBldHdhcyBuZXJ2ZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjUxKToKfiMhIG9uPUFuYWtpbiBvdD04ODAwMjY2MTcgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1TaWx2YW5hIHJ0PTg4MDAyNTcyMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwMjQ4NjQKSGksCgp3ZW5uIGplbWFuZCBmdWVyIHNlaW4gT1MgZGFzIFByb2dyYW1tIGJyYXVjaHQ6Cmh0dHA6Ly93d3cuZGlzdHJpYnV0ZWQubmV0L3JjNS9yYzV2Mi1jbGllbnRzLmh0bWwKCkluZm9zIGZ1ZXIgZGFzIFByb2plY3QgZ2lidCBlcyB1bnRlcjoKaHR0cDovL3d3dy5kaXN0cmlidXRlZC5uZXQvCgpBbmFraW4uIAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU3RhdGlzdGlrIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6NTIpOgp+IyEgb249QW5ha2luIG90PTg4MDAyNjg1NyBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUFuYWtpbiBydD04ODAwMjY2MTcgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDI0ODY0Ck5vY2h3YXMuLi4KCmZhbGxzIGplbWFuZCBtaXRtYWNoZW4gd2lsbCwgZWluZmFjaCBhbHMgRW1haWxhZHJlc3NlCnJjNUBtdWQuZGUgaW0gU2V0dXAvQ29uZmlnIGVpbnN0ZWxsZW4sIGRhbm4gaXN0IG1hbgpiZWkgdW5zIGRhYmVpLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3Bhc3MgbWl0IGRlbSBJbnRlcm5ldCBFeHBsb2RlciAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjUzKToKfiMhIG9uPVJ1bWF0YSBvdD04ODAwMjk1OTIgb2c9aGFyZHNvZnR3YXJlCkF1cyBkZW0gd2FocmVuIExlYmVuIC0gaXN0IG1pciAqc2VsYnN0KiBwYXNzaWVydCEKIApEYSBkZW5rZSBpY2gsIHNvIHNjaGxpbW0sIHdpZSBhbGxlIExldXRlIHNhZ2VuLCBrYW5uIGRlciBJRSA0MCBqYSBuaWNodApzZWluLCB1bmQgdm9yZ2VzdGVybiBmYW5kIGljaCBoZXJhdXMsIGRhc3MgZXMgZGFzIGd1dGUgU3R1ZWNrIHNvZ2FyIGZ1ZXIKU29sYXJpcyBnaWJ0LiBHZXNhZ3QsIGdldGFuLCBpY2ggbGFkZSBtaXIgZGFzIERpbmcgaGVydW50ZXIgKGdpbmcgbmljaHQKbWl0IE5ldHNjYXBlIDQuMDIsIHNvbmRlcm4gbnVyIG1pdCBOZXRzY2FwZSAzLngsIGFiZXIgZGFzIGlzdCBqYSBrZWluClByb2JsZW0pLiBOYWNoIGRlbSBTdGFydCBwYWNrdCBzaWNoIGRhcyBQcm9ncmFtbSBhdWNoIGdlbmF1IGRhIGhpbiwgd28KaWNoIGVzIHNhZ2UgLSBmYXN0IG5vY2ggYmVzc2VyIGFscyBUY2wvVGsgaW5zdGFsbGllcmVuLiBJY2ggc3RhcnRlIGRhcyAKUHJvZ3JhbW0gdW5kIHdhcyBwYXNzaWVydD8gTmFjaCBldHdhIDUgTWludXRlbiBGb250ZGF0ZW4gTGFkZW4gc2VtbWVsdAptZWluIFggYWIgdW5kIGljaCBiaW4gYXVzZ2Vsb2dndC4KIApOYWphLCBtZWluIFhjbGllbnQgaXN0IGphIG5pY2h0IGdlcmFkZSBidWdmcmVpLCBhbHMgdmVyc3VjaGUgaWNoIGVzIG1pdApuaWVkaWdlbSBsb2FkIG5vY2ggZWlubWFsLiBXaWVkZXIgZHJhdXNzZW4uIEhtbSwgbGllYmVyIG9sdndtIHN0YXR0IGFmdGVyc3RlcApuZWhtZW4/IEljaCBmbGllZ2Ugbm9jaCB2b3IgZGVyIEluc3RhbGxhdGlvbiBkZXMgRm9udGNhY2hlcyByYXVzLiBPaywKSUU0MCBkZWluc3RhbGxpZXJlbiwgbmV1IGluc3RhbGxpZXJlbiB1bmQgbm9jaG1hbC4gV2llZGVyIGRyYXVzc2VuLgogCk5hY2hkZW0gaWNoIGFsbGVzIG5hY2ggL2Rldi9udWxsIHZlcnNjaG9iZW4gaGF0dGUgdW5kIG1pY2ggbWFsIHdpZWRlciBhbiBkZW4Kb2x2d20gZ2V3b2VobnQgaGF0dGUsIHN0ZWxsdGUgaWNoIGFtIG5hZWNoc3RlbiBUYWcgZmVzdCwgZGEgbWVpbiBSZWNobmVyCnVuZ2V3b2VobmxpY2ggbGEobilnc2FtIHdhci4gRWluIHBzIGVyZ2FiIHZpZXIgbGF1ZmVuZGUgSW50ZXJuZXRleHBsb3Jlci4KIApIdXQgYWIgdm9yIE1pY3Jvc29mdCwgZWluIFByb2dyYW1tIHp1IHNjaHJlaWJlbiwgZGFzcyBlaW5lbiBBYnN0dXJ6IGRlcwpYU2VydmVycyB1ZWJlcmxlYnQuIFdlaXRlciBzbywgdmllbGxlaWNodCBzY2hhZmZ0IGlociBlcyBkb2NoIG5vY2gsIGF1Y2gKVW5peCBSZWNobmVyIGltIFN0dW5kZW50YWt0IHp1bSBCb290ZW4genUgYmVrb21tZW4uCgpSdW1hdGEsIGRlciBlcyBtYWwgd2lya2xpY2ggb2huZSBWb3J1dGVpbGUgdmVyc3VjaHQgaGF0dGUuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTdGF0aXN0aWsgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo1NCk6Cn4jISBvbj1BbmFraW4gb3Q9ODgwMDMwMDU2IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49QW5ha2luIHJ0PTg4MDAyNjg1NyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwMjQ4NjQKTnVyIG5vY2ggbmUgS2xlaW5pZ2tlaXQuIERhIG1pY2ggc2Nob24gZWluaWdlIGdlZnJhZ3QgaGFiZW4KaGFiIGljaCBuZSBrbGVpbmUgRkFRIHp1c2FtbWVuZ2ViYXN0ZWx0LgotPiBodHRwOi8vd3d3LmFlaS1wb3RzZGFtLm1wZy5kZS9+d2VocmVucy9yYzUvCldlciBub2NoIElkZWVuIGhhdCB3YXMgcmVpbiBzb2xsLiBNYWlsIG1lLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU3RhdGlzdGlrIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6MzY6NTUpOgp+IyEgb249S2V5IG90PTg4MDAzODE5NCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUFuYWtpbiBydD04ODAwMzAwNTYgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDI0ODY0Cldlbm4gbWFsIHdlciBzbyBuZXR0IHdhZXJlIHVuZCBnZW5hdSB1bmQgdm9yIGFsbGVtIGF1ZiBERVVUU0NIIGFsbGVzIGVya2xhZXJlbgprb2VubnRlLCBrb2VubnRlbiBoaWVyIG5lbiBwYWFyIHJlY2huZXIgbWl0bWFjaGVuIGRpZSBlaCBpbW1lciBhbiBzZWluIC4uLgoKQXV0c2NoIHdhcyB3aW4gZGV1dHNjaCBpY2gga29lbm5lbiBzcHJlY2hlbiBoZXV0ZSA7KSkKCktleSBuaXggdmVyc3RlaG4gaW5nbGlzY2ggOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjU2KToKfiMhIG9uPVRhbmdhbHVyIG90PTg4MDAzODU2MyBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUtleSBydD04ODAwMzgxOTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDI0ODY0CklzdCBkYXMgZGVubiBzb29vb28gc2Nod2VyID8KRGllIFNlaXRlIGlzdCBkb2NoIG51biBlY2h0IGd1dCBnZW1hY2h0LgpFbyBFaW5mYWNoIGZ1ZXIgZGVuIGVudHNwcmVjaGVuZGVuIFJlY2huZXIvQmV0cmllYnNzeXN0ZW0KZGllIFNvZnR3YXJlIGRvd25sb2FkZW4gdW5kIGluc3RhbGxpZXJlbi4KQWxzIGUtbWFpbCBhZHJlc3NlIGdpYnN0IHJjNUBtdWQuZGUgYW5nZWJlbi4gRmVydGlnICEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjU3KToKfiMhIG9uPUtleSBvdD04ODAwMzkwNjggb2c9aGFyZHNvZnR3YXJlCn4jISBybj1UYW5nYWx1ciBydD04ODAwMzg1NjMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDI0ODY0CkphIGRpZSBrbGVpbmVuIEdyYWZpa2VuIHNpbmQgZWNodCBuaWVkbGljaCwgdW5kIG1laHIgd2Vpc3MgaWNoIHZvbiBkZW0gdGVpbApuZXQuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM2OjU4KToKfiMhIG9uPUdub21lIG90PTg4MDAzOTEzMSBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUtleSBydD04ODAwMzgxOTQgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDI0ODY0CmFhYWFhbHNvOgplcyBnZWh0IGRhcnVtLCBkYXNzIFJDNSAoZmlybWEgb2RlciBzby4uKSBlaW5lbiB3ZXR0YmV3ZXJiIHZlcmFuc3RhbHRldCwKZWluZW4gY29kZSB6dSBrbmFja2VuLiBkaWVzZXIgd2lyZCBtaXQgaW1tZXIgbGFlbmdlcmVuIHNjaGx1ZXNzZWxuIGNvZGllcnQKKHouWnQuIDY0IEJpdCkuIGRlciBsZXR6dGUgaGF0dGUgNTYgQml0IHVuZCB3dXJkZSBpbm5lcmhhbGIgdm9uIGVpbiBwYWFyCm1vbmF0ZW4gZ2VrbmFja3QsIG5hdHVlcmxpY2ggZ2VodCBkYXMgbmljaHQgYWxsZWluZSwgZGFubiB3dWVyZGUgbWFuIGRhCjEwMDAgamFocmUgZHJhbnNpdHplbiwgYWJlciB3ZW5uIHZpZWxlIG1pdG1hY2hlbiAodWViZXJzIEludGVybmV0KSwgZGFubgpnZWh0IGRhcyByZWNodCBmaXguIGQuaC4gbWFuIGhvbHQgc2ljaCBzbyBlaW5lbiBjbGllbnQgKHNpZWhlIGFua2lucwphZHJlc3NlbmFuZ2FiZSBpbiBlaW5lciBkZXIgYXJ0aWtlbCBkYXZvcikgZW50c3ByZWNoZW5kIHNlaW5lcyBzeXN0ZW1zCmRhbm4gaW5zdGFsbGllcmVuIHVuZCBsYXVmZW5sYXNzZW4uIHdlciBuZSBzdGFuZGxlaXR1bmcgaGF0LCBrYW5uIGVzCmRlbiBnYW56ZW4gdGFnIGxhdWZlbiBsYXNzZW4sIHdlciBuaWNodCwgZGVyIGthbm4gc2ljaCBlaW4gcGFhciBibG9ja3MKaG9sZW4sIGRlbiByZWNobmVyIHJlY2huZW4gbGFzc2VuIChkYXp1IGJyYXVjaHQgbWFuIGtlaW5lIGludC12ZXJiaW5kdW5nCm1laHIpLCBkYW5uIGRpZSBhdXNnZXJlY2huZXRlbiBibG9ja3Mgd2llZGVyIGhpbnNjaGlja2VuLCB3aWVkZXIgZWluIHBhYXIKaG9sZW4gZXRjLiBXSUNIVElHOiB3aXIgYnJhdWNoZW4gbmF0dWVybGljaCBzb3ZpZWwgd2llIG1vZWdsaWNoIHJlY2hlbi0KbGVpc3R1bmcsIE5PQ0ggV0lDSFRJR0VSOiBkYW1pdCBXSVIgKGFscyB0ZWFtICJtdWQuZGUiKSB2aWVsbGVpY2h0IGdld2luLQpuZW4gKGphLCBlcyBnaWJ0IGF1Y2ggZWluZW4gZ2VsZHByZWlzIDopLCBtdXNzIGFscyBhZHJlc3NlbmFuZ2FiZSBkb3J0OgoicmM1QG11ZC5kZSIgc3RlaGVuLCBkYW1pdCBkaWUgYXVzZ2VyZWNobmV0ZW4gYmxvY2tzIGF1ZiB1bnNlciBrb250byBnZWhlbiEKd2VyIGVzIG5vY2ggZ2VuYXVlciBoYWJlbiBtb2VjaHRlIC0+IG1haWwgYW5ha2luIDopCgpnbk9tZQoKcC5zLiBhY2hzbywgZGFzIGdhbnplIGhhdCBhdWNoIGVpbmVuIHNpbm46IG5hZW1saWNoIHVtIHp1IHplaWdlbiwgZGFzcwogICAgIDY0LUJpdC1TY2hsdWVzc2VsIG1vbWVudGFuIG5pY2h0IHNpY2hlciBzaW5kIHVuZCBkZXNoYWxiIGVpbiBwYWFyCiAgICAgZ2VzZXR6ZSBnZWFlbmRlcnQgd2VyZGVuIHNvbGx0ZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBTdGF0aXN0aWsgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNjo1OSk6Cn4jISBvbj1BbmF0b2wgb3Q9ODgwMDM5NDkwIG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49R25vbWUgcnQ9ODgwMDM5MTMxIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MDAyNDg2NApHdXRlIEF1c2Z1ZWhydW5nLCBudXIgZWluZXMgaGFiZSBpY2ggbmljaHQgZ2FueiB2ZXJzdGFuZGVuLi4uOgpEZXIgNTZiaXQtU2NobHVlc3NlbCB3dXJkZSBpbiAyNzAgVGFnZW4gZ2VrbmFja3QuIFdlbm4gd2lyIGRhdm9uIGF1c2dlaGVuLCAKZGFzcyBkaWUgV2FocnNjaGVpbmxpY2hrZWl0IGdlbmF1c28gYmVpbSA2NGJpdC1TY2hsdWVzc2VsIHp1c2NobGFlZ3QsIGR1ZXJmdGUKZGFzIGRhbm4gZG9jaCAyNzAgVGFnZSAqIDJeKDY0LTU2KSAtIGFsc28gYW4gZGllIDcwMDAwIFRhZ2Ugc2Vpbi4gCgpKYWFhLCBvaywgbWFuIGJyYXVjaHQgYWxzbyBtZWhyIFJlY2hlbmxlaXN0dW5nLiBBYmVyIGljaCBiZXp3ZWlmbGUgaXJnZW5kd2llLCAKZGFzcyBtYW4gbG9ja2VyZmxvY2tpZyBkYXMgMjU2LWZhY2hlIGF1ZiBkaWUgQmVpbmUgYnJpbmd0IHdpZSBiZWltIGxldHp0ZW4gCm1hbC4gT2RlciB0YWV1c2NoZSBpY2ggbWljaCBpbiBpcmdlbmRlaW5lciBkaWVzZXIgWmFobGVuLi4uPwoKQW5hdG9sLCB3ZWlzcyBlcyBuaWNodAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFN0YXRpc3RpayAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjAwKToKfiMhIG9uPUdub21lIG90PTg4MDAzOTc5MSBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUFuYXRvbCBydD04ODAwMzk0OTAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDI0ODY0CmltIHByaW56aXAgaGFzdCBkdSByZWNodC4KZGVzaGFsYjogbWVociByZWNoZW5sZWlzdHVuZyEgZGVubiBtaXQgamVkZW0gcmVjaG5lciBtZWhyIGVyaG9laHQgc2ljaApkaWUgd2FocnNjaGVpbmxpY2hrZWl0LCBkYXNzIHdpciBkZW4gY29kZWtuYWNrZXIgYXVjaCBub2NoIGVybGViZW4KZHVlcmZlbi4uLiA7LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIwOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowMSk6Cn4jISBvbj1SYWZmaSBvdD04ODAwNDA0NDMgb2c9aGFyZHNvZnR3YXJlCkFsc28gbm9jaG1hbCBmdWVyIHVuc2VyIFNjaGx1ZXNzZWxjaGVuOgoKRXMgZ2VodCBkYXJ1bSBlaW5lIDY0LUJpdCBTY2hsdWVzc2VsIHp1IGtuYWNrZW4gLSBzbyByaWNodGlnIG1pdCBicnV0ZS1mb3JjZQouLi4gYWxzIE1ldHplbG1hZXNzaWcuIERhZnVlciB3ZXJkZW4gbGV1dGUgZ2VzdWNodCBkaWUgaWhyZSBSZWNobmVyIHdhcmVuZCBzaWUKZ2VyYWRlIG5peCB6dSB0dW4gaGFiZW4gbWV0emVsbiBsYXNzZW4gLSBhbHNvIHByYWt0aXNjaCBzb3dhcyB3aWUKdGYtTWV0emVsc2NyaXB0ZSA6KQoKSXJnZW5kd28gaW4gZGVuIFdlaXRlbiBEZXMgSW50ZXJuZXRzIHN0ZWh0IGVpbiBrbGVpbmVyIFNlcnZlciBydW0sIGRlciBhbiBBbGwKZGllIE1ldHplbHdpbGxpZ2VuIFNjaGx1ZXNzZWxiZXJlaWNoZSB2ZXJ0ZWlsdCwgdW5kIGRpZSBlcmdlYm5pc3NlIGRlciBTdWNoZQp3aWVkZXIgZW50Z2VnZW5uaW1tdC4KCkplZGVyIGthbm4gc2ljaCBlaW4gc29sY2hlcyBLZXktTWV0emVsLVNjcmlwdC1Qcm9ncmFtbSBydW50ZXJsYWRlbiB1bmQKbG9zbGF1ZmVubGFzc2VuIC0gRWluemlnZSBCZWRpbmd1bmcgaXN0LCBkYXMgRGllIENQVSBtZWhyIGxlaXN0dW5nIGFscyBFaW5lCldhc2NobWFzY2hpZW5lIGhhdCwgdW5kIGF1c3NlcmRlbSBhYiB1bmQgenUgenVncmlmZiBhdWZzIEludGVybmV0LgoKRGVyIFNlcnZlciB2ZXJtZXJrdCBmdWVyIGplZGVuIGRlciBtaXRtYWNodCB3ZWxjaGUgQmxvY2tzIGRlciBkdXJjaHN1Y2h0IGhhdCwKdW5kIHdpZXZpZWwuIFRlaWxuZWhtZXIga29lbm5lbiBzaWNoIHp1IE1ldHplbHRlYW1zIHp1c2FtbWVuc2NobGllc3NlbiwgdW5kIHNvCmlocmUgR2V3aW5uY2hhbmNlbiBFcmhvZWhlbi4KCihBY2ggamEsIEdld2lubmNoYW5jZW46IFdlciBkZW4gU2NobHVlc3NlbCBrbmFja3QgYmVrb21tdCAxMC4wMDAgRVAgYWVoIFVTRAptZWluIGljaCkKCkFuYWtpbiBoYXQgdm9yIDMgd29jaGVuIGRhcyBtdWQuZGUgdGVhbSBpbml0aWllcnQsIHVuZCB3aXIgaGFiZW4gdW5zIGJlcmVpdHMKYXVmIHJhbmcgMjIwIGRlciBoaXRsaXN0ZSBob2NoZ2VzcGllbHQuIChKbywgQmVzdGVubGlzdGVuIGdpYnRzIGRhIGRhbm4gYXVjaAo6KQoKV2FzIGJyYXVjaHN0IGR1IG5vY2ggYW4gSW5mbyA/CgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjE6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjAyKToKfiMhIG9uPVJhZmZpIG90PTg4MDA0MTUyMCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg4MDA0MDQ0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwNDA0NDMKTmFjaHRyYWc6CgpEYSBHZWxkIGlzdCBmdWVyIGRpZSBuYWNoc3RlIE11ZHBhcnR5IHZvcmdlc2VoZW4gLSB3ZSBtaXRjcmFja3Qga3JpZWd0CmJlc3NlcmVzIEJpZXIsIGJlc3NlcmUgV3VlcnNjaHRlbCwgdW5kIFN1cGVyQmVkaWVudW5nIDopCgpBbmF0b2w6IGpvLCBtZWhyIHJlY2huZXIsIG1laHIgcmVjaG5lciwgbWVociBSZWNobmVyLgpUYXRzYWNoZSBpc3QgZGFzIGVzIGpldHp0IHNjaG9uIGZhc3QgZGllIGRvcHBlbHRlIHJlY2huZWxlaXN0dW5nIGlzdCB3aWUgYmVpbQpSQzUtNTYuCgpHcnVzcwpILgoKUC5TLjogd2VyIGlzdCBlaWdlbnRsaWNoIHNvcHBlQHVuaS1tdWVuc3Rlci5kZSA/IC0gRGllIGhhYmVuIHNjaGVpbmJhciBuZQpyaWNodGlnIGdyb3NzZSBSZWNoZW5sZWlzdHVuZyAtIHVlYmVyIDcuMDAwIGtrZXlzL3Nla3VuZGUgaW4gbXVlbnN0ZXIgLi4uIGthbm4KZGEgbmljaHQgbWFsIGVpbmVyIHNjaGF1ZW4gb2IgbWFuIGRpZSBpbnMgdGVhbSBicmluZ3QgPwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIxOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowMyk6Cn4jISBvbj1aZXBoeXIgb3Q9ODgwMDQxOTA0IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49UmFmZmkgcnQ9ODgwMDQwNDQzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MDA0MDQ0MwoKRWluIEtleS1NZXR6ZWwtU2tyaXB0LVByb2dyYW1tPyBMYWV1ZnQgZGFzIG5pY2h0IGF1ZiBQbGF5ZXJraWxsIHJhdXM/CgpaZXBoLCBtYWwgd2llZGVyIGtvbWlzY2ggZHJhdWYKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowNCk6Cn4jISBvbj1BbmF0b2wgb3Q9ODgwMDQxOTUyIG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49WmVwaHlyIHJ0PTg4MDA0MTkwNCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwNDA0NDMKV2llIGhhZXR0ZSBlciBzb25zdCB6dSBzZWluZW4gMzc1IFRvZGVuIGtvbW1lbiBzb2xsZW4uLi4/CgpBbmF0b2wgLSB1bmQgd28gaXN0IEdyaW1tYm9ybiBoaW4/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjI6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjA1KToKfiMhIG9uPUNhdHdlYXpsZSBvdD04ODAwNDIyOTMgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1SYWZmaSBydD04ODAwNDE1MjAgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDQwNDQzClp1bSBQUzoKR2VuYXUgZGFzIGlzdCBlaW5lciB1bnNlcmVyIFN1cHBvcnRlci4gCldpciBoYWJlbiBjYS4gMTMwIFN1bnMgdm9uIGRlbmVuIHJ1bmQgZGllIEhhZWxmdGUgdm9uIDIwOjAwIGJpcyA2OjAwIFVociBhbgpkZW0gcmM1NjQgcmVjaG5ldC4gSWNoIHdlcmRlIGlobiBmcmFnZW4sIG9kZXIgYml0dGVuIGVzIGF1c3p1c3RlbGxlbiwgZGFubgptZWxkZSBpY2ggZGFzIGF1ZiByYzVAbXVkLmRlIGFuLgoKWW91cnMgdHJ1bHksCiAgICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjA2KToKfiMhIG9uPVJhZmZpIG90PTg4MDA0MjQ3MSBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPUNhdHdlYXpsZSBydD04ODAwNDIyOTMgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDQwNDQzClN1cGEgLSBNaXQgZGVtIHp1c2FtbWVuIGhhZXR0ZW4gd2lyIGJhbGQgbmUgcmF0ZSB2b24gdWViZXIgMTEuMDAwIGtrZXlzL3MgLi4uCmRhcyBoZWJ0IGRpZSBjaGFuY2VuIGJldHJhZWNodGxpY2guCgpEYXMgbGFuZ3QgZnVlciBlaW5lbiBwbGF0eiB1bnRlciBkZW4gZXJzdGVuIDMwIC4uLiAKCkdyaW5zCkguCihGcmV1dCBzaWNoIHNjaG9uIGF1ZiBkaWUgUGFydHkpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MDcpOgp+IyEgb249S2V5IG90PTg4MDA0MjQ3NyBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg4MDA0MDQ0MyByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwNDA0NDMKSG1tIGphIGRvY2ggLi4uIApXZXIgaGF0IGRhcyBzY3JpcHQgZ2VzY2hyaWViZW4/IHVuZCBpc3QgZGFzIG5ldCB2ZXJib3Rlbj8KQXVzc2VyZGVtIHdlciBzcGVuZGllcnQgbWlyIGRpZSBtdWVuemVuIGZ1ZXJzIHRhbmtlbj8gLikKCktleSBzY2htYXJybmVuZCB1bmQgc2VpbmVuIHJlY2huZXIgc2Nob24gZHJhbmdlc2V0enQgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjIyOiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzowOCk6Cn4jISBvbj1SYWZmaSBvdD04ODAwNDI1OTQgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1LZXkgcnQ9ODgwMDQyNDc3IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MDA0MDQ0MwoKSWNoIHNjaGFldHogbWFsIER1IGhhc3QgenV2aWVsZSBLdWVoZSBhdWYgZGVtIEJhdWVybmhvZiBnZWtpbGx0LCB1bmQgbnUgaGFiZW4KZGllIHNpY2ggenVzYW1tZW5nZXNldHp0ICh3d3cuYm92aW5lLm5ldCkgdW5kIGVpbiBLZXktTWV0emVsLVNjcmlwdC1Qcm9ncmFtbQpnZWJhc3RlbHQuIEZ1ZXIgZGllIFRhbmttdWVuemVuIGZyYWcgbWFsIGRlaW5lbiBsb2NhbCBpbnRlbCBkZWFsZXIuCgpHcmlucwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjA5KToKfiMhIG9uPUtleSBvdD04ODAwNDI1OTYgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgwMDQyMjkzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MDA0MDQ0MwoxMzAgU3Vucz8/Pz8gVWZmCgpLZXkgZ2VodCBtYWwgc2VpbmUgS29sbGVnZW4gZnJhZ2VuIG9iIGRlcmVuIFJlY2huZXIgdW50ZXJiZWxhc3RldCBzaW5kLiA6KQoKUC5TLjogQWVoIFJhZmZpIGhhYiBkb2NoIG5vY2ggd2FzIC4uLiB3ZW5uIG1hbiBkYXMgdGVpbCB1bnRlciBkb3MgbGF1ZmVuCmxhZXNzdCwgdW5kIGRhbm4gd2luIHN0YXJ0ZXQsIHN0b2VocnQgZGFzIGRhcyBwcm9nPyBvZGVyIHVtZ2VrZWhydD8gYWxzbyB3ZW5ucwp1bnRlciB3aW4gbGFldWZ0IHVuZCBtYW4gZGFzIGFic2NoYWx0ZXQgOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzoxMCk6Cn4jISBvbj1SYWZmaSBvdD04ODAwNDI2NjMgb2c9aGFyZHNvZnR3YXJlCn4jISBybj1LZXkgcnQ9ODgwMDQyNTk2IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MDA0MDQ0MwpVbnRlciBEb3MgbGF1ZmVuIGxhc3NlbiB1bmQgZGFubiBXaW5kb3dzIHN0YXJ0ZW4gPyBTY2hhZXR6ZSBkYXMgZ2VodCBuaWNodApndXQuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjU6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjExKToKfiMhIG9uPVNpbHZhbmEgb3Q9ODgwMDQ0Mzc3IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49UmFmZmkgcnQ9ODgwMDQyNjYzIHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg4MDA0MDQ0MwouLi51bmQgYW5kZXJlc3J1bSBnZWh0cyBnYXJhbnRpZXJ0IHNjaGllZiEKICBTaWx2YW5hCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xOTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTIpOgp+IyEgb249QXZhbG9uIG90PTg4MDA0NDU2NSBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg4MDAyMjU5NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKRGllIDQ0IEphaHJlIGdlaGVuIHZvbiBkZXIgZGVyemVpdGlnZW4gUmVjaGVubGVpc3R1bmcgYXVzLiBXZW5uIHdpcgpiZXJ1ZWNrc2ljaHRpZ2VuLCBkYXNzIHNpY2ggc2VsYmlnZSBhYmVyIGltIFNjaG5pdHQgYWxsZSAyIEphaHJlCnZlcmRvcHBlbHQsLi4uLi4gc2luZCB3aXIgYmFsZCBmZXJ0aWcgOikKCmkuVi4sIHdvb2R5Li0gW3NvcnJ5LCB0ZWFtIGF1c3RyaWFdCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMDogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTMpOgp+IyEgb249UmFmZmkgb3Q9ODgwMDQ1NzQ0IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49QXZhbG9uIHJ0PTg4MDA0NDU2NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKV2FhYWFhYWFoIGVpbiBzcGlvbiAuLi4uIGFlaCBuZWUgZmFsc2NoZXIgYW5zYXR6IC0gZXVjaCBob2hsZW4gd2lyIGVyc3RtYWwKaGVpbSBpbnMgcmVpY2ggIQoKR3JpbnMKSC4KUC5TLjogd2VyIHNlaW5lbiByZWNobmVyIHVuZCBzZWluZSBXb3Jrc3RhdGlvbiBub2NoIG5pY2h0IHJlY2huZW4gbGFlc3N0IGJpdHRlCmJlaSBtaXIgKG9kZXIgYW5ha2luIG9kZXIgR3JpbW1ib3JuKSBtZWxkZW4gLi4uLiBkYXMgbXVzcyBnZWFlbmRlcnQgd2VyZGVuIC0Kd2VyIGFiZW5kcyA1IHN0dW5kZW4gdm9yIG5lciB1bml4LVdvcmtzdGF0aW9uIG9kZXIgZWluZW0gUEMgc2l0enQga2FubgpwYXJhbGxlbCBhdWNoIEtleXMtTWV0emVsbi4gVEYgb2RlciB0ZWxuZXQgd2lyZCBkYXZvbiBwcmFrdGlzY2ggbmljaHQgZ2VzdG9lcnQKLSBmcmFndCBPcmt0b2V0ZXIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMTogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTQpOgp+IyEgb249Q2F0d2VhemxlIG90PTg4MDA1MTIzMCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg4MDA0NTc0NCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKR3VnZ3VnIQoKTWljaCB3dWVyZCBpbnRlcmVzc2llcmVuLCB3aWV2aWVsZSBiZXJlaXRzIGluIHVuc2VyZXIgR3J1cHBlIG1pdG1hY2hlbi4KSW5zYmVzb25kZXJlLCBvYiBtZWluZSBEYXRlbiBhbmtvbW1lbiA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMjogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTUpOgp+IyEgb249UmFmZmkgb3Q9ODgwMDUxODE4IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MDA1MTIzMCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKYWxzbyBtaXRtYWNoZW4gdHVuIG1laW5lcyBXaXNzZW5zOgpBbmFraW4KQ2F0d2VhemxlCkRlbnRpIChtaXQgZWlnZW5lciBNYWlsYWRyZXNzZSkKRWlzaQpHbm9tZQpHcmltbWJvcm4KS2Fyb2wKS2V5Ck9ya3RvZXRlClJhZmZpCgpIbW0gYWVoIG1laHIgZmFsbGVuIG1pciBhdWYgZGllIHNjaG5lbGxlIG5pY2h0IGVpbi4KCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4yMzogcmM1IChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTYpOgp+IyEgb249RnJldW5kIG90PTg4MDA1NTQxOSBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg4MDA1MTgxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKTnVyIGRlciBWb2xsc3RhZW5kaWdrZWl0IGhhbGJlci4uLgoKRnJldW5kIG1hY2h0IGF1Y2ggbWl0LiA6LSkKCkRlcnNlbGJlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKQW5tZXJrdW5nIGZ1ZXIgeDg2LUJlbnV0emVyIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MTcpOgp+IyEgb249UmluZ29yIG90PTg4MDA1Nzk1NSBvZz1oYXJkc29mdHdhcmUKSGlobyEKCldlaWwgZ2VyYWRlIGRpZSBGcmFnZSBhdWYgLXJjNSBrYW0gdW5kIGRhcyBiaXNoZXIgbmljaHQgZXJ3YWVobnQgd3VyZGU6IGF1ZgpJbnRlbC1LaXN0ZW4gdW5kIENsb25lcyBrYW5uIHJjNTY0IG5pY2h0IGltbWVyIHp1dmVybGFlc3NpZyBmZXN0c3RlbGxlbiwKd2VsY2hlIENQVSAgZ2VuYXUgaW0gUmVjaG5lciBzdGVja3QuIFVuZCBkYSBkYXMgUHJvZ3JhbW0gamUgbmFjaCBDUFUgc3BlemllbGxlCk9wdGltaWVydW5nZW4gdm9ybmltbXQsIGthbm4gZHVyY2ggZGllIGZhbHNjaGUgRWluc3RlbGx1bmcgd2VydHZvbGxlClJlY2hlbnplaXQgdmVyc2Nod2VuZGV0IHdlcmRlbiA7LSkKCkFsc28gZWluZmFjaCBtYWwgJ3JjNTY0IC1jb25maWcnIGF1ZnJ1ZmVuIChiencgcmM1IG9kZXIgd2llIGF1Y2ggc29uc3QgZGFzCkZpbGUgaGVpc3N0KSB1bmQgdW50ZXIgUHVua3QgMTUgZGllIHZvcmhhbmRlbmUgQ1BVIGVpbnN0ZWxsZW4uCgpVbmQgZnVlciBMZXV0ZSwgZGllIGRpZSBCaWxkc2NoaXJtYXVzZ2FiZW4gbmljaHQgaGFiZW4gd29sbGVuICh2b3IgYWxsZW0sIHdlbm4KZGVyIFByb3plc3MgaW0gSGludGVyZ3J1bmQgd2VpdGVybGF1ZmVuIHNvbGwsIG5hY2hkZW0gbWFuIHNpY2ggYXVmIGRlciBLaXN0ZQphdXNnZWxvZ2d0IGhhdCksIGVtcGZpZWhsdCBzaWNoIGFscyBBdWZydWYgZ2VuZXJlbGwgJ25vaHVwIHJjNTY0ID4vZGV2L251bGwmJwooZ2lsdCBmdWVyIExpbnV4IHVuZCBhbmRlcmUgVW5pY2VzKS4KCkZ1ZXIgZGllIE5ldWdpZXJpZ2VuLCBkaWUgdHJvdHpkZW0gd2lzc2VuIHdvbGxlbiwgd2FzIGRhcyBQcm9ncmFtbSBpbiBkZXIKWndpc2NoZW56ZWl0IHNvIGdlbWFjaHQgaGF0LCBlbXBmaWVobHQgZXMgc2ljaCwgdW50ZXIgUHVua3QgNyBlaW5lbiBOYW1lbiBmdWVyCmVpbiBMb2dmaWxlIGFuenVnZWJlbi4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IHJjNSAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjE4KToKfiMhIG9uPU5hc2ltIG90PTg4MDA1ODc3NCBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJhZmZpIHJ0PTg4MDA1MTgxOCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04Nzg1Njk3MzEKPEF1ZnplaWc+IEhpZXIuIE1vbWVudGFuIG51ciBtaXQgMTI1a2tleS9zIHJ1bmQgdW0gZGllIFVociwgd2lyZCBhYmVyCmRlbW5hZWNoc3QgbWVociEgCgpOYXNpbQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjE5KToKfiMhIG9uPU5hc2ltIG90PTg4MDA1OTA5MiBvZz1oYXJkc29mdHdhcmUKfiMhIHJuPVJpbmdvciBydD04ODAwNTc5NTUgcmc9aGFyZHNvZnR3YXJlCn4jISB0aWQ9ODgwMDU3OTU1ClNlaHIgc2Nob2VuIGlzdCBhdWNoIGRlciBoaWRkZW4tQ2xpZW50IGZ1ZXIgU2lubmxvcyA5NSAtIHRhdWNodCB3aXJrbGljaApuaXJnZW5kd28gYXVmLCBlcyBzZWkgZGVubiwgd2ludG9wIGF1cyBkZW4ga2VybmVsdG95cyBpc3QgaW5zdGFsbGllcnQuCkFjaHR1bmcsIGRhcyBEaW5nIGJyYXVjaHQgZWluZSByYzU2NC5pbmkgLSBkaWUgbGVndCBlcyBiZWltIGVyc3RlbiBTdGFydApzZWxic3RhZW5kaWcgYW4sIGFsbGVyZGluZ3MgbWl0IGRlciBmYWxzY2hlbiBFTWFpbC1BZHJlc3NlLiBBbHNvIFJlY2huZXIKc2NobmVsbCBuZXUgYm9vdGVuIChvZGVyIG1pdCB3aW50b3AgZGVuIFByb3plc3MgYWJzY2hpZXNzZW4pIHVuZCBkaWUgaW5pCmVkaXRpZXJlbi4KCk5hc2ltIChtYWNodCBoYXJtbG9zZSBNaXRhcmJlaXRlciB6dSBDcmFja2VybikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBbm1lcmt1bmcgZnVlciB4ODYtQmVudXR6ZXIgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzoyMCk6Cn4jISBvbj1BdmFsb24gb3Q9ODgwMDc1OTQwIG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49UmluZ29yIHJ0PTg4MDA1Nzk1NSByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwNTc5NTUKS2xlaW5lcyBOb3RhIGJlbmUgYW0gUmFuZGU6IERlciBBTUQgSzYgKC0yMDAgZ2V0ZXN0ZXQpIGxhZXVmdAptaXQgZGVyIEVpbnN0ZWxsdW5nIDM4Ni80ODYgc2NobmVsbGVyIGFscyBtaXQgZGVyIEs2LUVpbnN0ZWxsdW5nLApicmluZ3QgaW4gc2VsYmlnZXIgbmFlbWxpY2ggMzA1ayBzdGF0dCAyODZrIGtleXMvc2VjLgoKaVYuIHdvb2R5Li0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQW5tZXJrdW5nIGZ1ZXIgeDg2LUJlbnV0emVyIChHcmltbWJvcm4sIDIxLiBOb3YgMTk5NywgMTA6Mzc6MjEpOgp+IyEgb249UmFmZmkgb3Q9ODgwMTAwNzE2IG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49QXZhbG9uIHJ0PTg4MDA3NTk0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwNTc5NTUKV2VsY2hlcyBCUyA/IHVudGVyIFdpbkRvb2Y5NS9OVCBicmluZ3QgZGVyIEs2MjAwIHJ1bmQgMzE1IC0gYWxzIEs2LgoKTmFzaW06IGthbm5zIHNlaW4gZGFzIGR1IGVpbmVuIGFuZGVyZW4gZWluc2V0enQgYWxzIGljaCA/IHdlbm4gaWNoIGF1ZiBoaWRkZW4KZ2VoZSBrb21tdCBpbiBkZXIgU3RhdHVzbGVpc3RlLCBsaW5rcyB1bnRlbiwgZWluIGtsZWluZXIgUmluZGVyc2NoYWVkZWwsIHVlYmVyCndlbGNoZW4gbWFuIGRlbiByYzU2NCB3aWVkZXIgaG9jaGhvbGVuIGthbm4gLi4uIGF1c3NlcmRlbSBnZWh0IGRpZQpLb25maWd1cmF0aW9uIHNjaG9lbiB1ZWJlciBkYXMgcmM1NjRndWkuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBBbm1lcmt1bmcgZnVlciB4ODYtQmVudXR6ZXIgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzoyMik6Cn4jISBvbj1GcmV1bmQgb3Q9ODgwMTAzNzIwIG9nPWhhcmRzb2Z0d2FyZQp+IyEgcm49QXZhbG9uIHJ0PTg4MDA3NTk0MCByZz1oYXJkc29mdHdhcmUKfiMhIHRpZD04ODAwNTc5NTUKU29ycnksCgpiZWkgbWlyIGJyaW5ndCBkZXIgSzYtMjAwIDMxMjUwMCBrZXlzL3Nlay4gCgpNZXJrc2FtLi4uCkZyZXVuZC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjI0OiByYzUgKEdyaW1tYm9ybiwgMjEuIE5vdiAxOTk3LCAxMDozNzoyMyk6Cn4jISBvbj1UYW5nYWx1ciBvdD04ODAxMDM3Nzggb2c9aGFyZHNvZnR3YXJlCn4jISBybj1GcmV1bmQgcnQ9ODgwMDU1NDE5IHJnPWhhcmRzb2Z0d2FyZQp+IyEgdGlkPTg3ODU2OTczMQpUYW5nYWx1ciBtYWNodCBhdWNoIG1pdCA6LSkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXRpc3RpayAyMS0xMS05NyAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM3OjI0KToKfiMhIG9uPVRhbmdhbHVyIG90PTg4MDEwMzg3NSBvZz1oYXJkc29mdHdhcmUKRW1haWwJVGVhbS9FbWFpbAlUb3RhbAlUaW1lCSAgTGFzdAkgIEtleSByYXRlClJhbmsgICAgICAgICAgICAgICAgICAgIEJsb2NrcyAJV29ya2luZyAgIEJsb2NrCSAga2tleXMvc2VjCgogIDQwNyAgICByYzVAbXVkLmRlICAgICAgMTg1NjMgICAxOCBkYXlzICAgMjEtTm92ICAgMzAzNS40MwogMTM4OSAgIGRlbnRpQG1nLm11ZC5kZSAgIDY5MTYgICAxNSBkYXlzICAgMjEtTm92ICAgMTM0Mi45NQoxMDcwNCAgICBsZW9AbXVkLmRlICAgICAgICAzODQgICAxMSBkYXlzICAgMTktTm92ICAgIDExOS4zMAoxNDI3MyAgICAgICAgbXVkLmRlICAgICAgICAgODcgICAyMiBkYXlzICAgIDMtTm92ICAgICA1NC4wNgoxNjcyNSByYzVAbWcubXVkLmRlICAgICAgICAgMTEgICAgMSBkYXlzICAgMjAtTm92ICAgICAzNC4xOAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YXRpc3RpayAyMS0xMS05NyAoR3JpbW1ib3JuLCAyMS4gTm92IDE5OTcsIDEwOjM5OjU0KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODAxMDUwNDQgcmc9cmM1Cn4jISB0aWQ9ODgwMTA1MDQ0ClByb3Rlc3RlIHdlZ2VuIGRlciBWZXJsZWdlb3JnaWUgYml0dGUgbnVyIHVudGVyIEJlaWxlZ3VuZyB2b24gbWluZGVzdGVucyBmdWVuZgplcmxlZGlndGVuIEJsb2Vja2VuLi4uCgpVbmQgZGFtaXQgZGVyIHJlcGx5IGF1Y2ggU2lubiBoYXQ6IFNvbGx0ZSBtYW4gbmljaHQgZGllIGdhbnplbiBtdWQuZGVzCnp1c2FtbWVuZmFzc2VuIGF1ZiByYzVAbXVkLmRlPyBPZGVyIG1hY2hlbiB3aXIgYXV0b21hdGlzY2ggc28sIGRhc3MgYWxsZSwgZGllCkBtdWQuZGUgYW5nZWJlbiwgZGFzIEdlbGQgZGVyIFBhcnR5IHp1ciBWZXJmdWVndW5nIHN0ZWxsZW4gbXVlc3N0ZW4/IDstKQoKR3JpbW1ib3JuIGRlciBWZXJsZWdlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmM1LUtvZWxuIChPcmt0b2V0ZXIsIDIxLiBOb3YgMTk5NywgMTI6Mzk6MzMpOgpISSAhCkFuIGFsbGUsIGRpZSBpbiBLb2VsbiBub2NoIGVpbmUgV29ya3N0YXRpb24gZHJhbmhhZW5nZW4gd29sbGVuICh2b3IgYWxsZW0sCnNvbGNoZSwgZGllIGFsbGdlbWVpbiB6dWdhZW5nbGljaCBzaW5kKSwgc2NoYXV0IGRvY2ggYml0dGUgZXJzdCBtYWwgbWl0IGRlbQpiZWZlaGwgdG9wICwgb2IgbmljaHQgZXZ0bCBzY2hvbiBqZW1hbmQgZGllc2VuIFJlY2huZXIgZnVlciBnZW5hdSBkZW4gWndlY2sKbnV0ei4KV2VubiBuaWNodCwgbmF0dWVybGljaCBzb2ZvcnQgYmVzY2hsYWduYWhtZW4uCnNtYWlsIDIgdW5kIDMgc2luZCBiZXJlaXRzIGJlbGVndCwgc21haWwxIGlzdCBpbiBBcmJlaXQuCnNwYXJjdzEgaXN0IGJlbGVndCwgaHB3MSBhdWNoCgpPcmtULgoKUFMgd29yazIgYXJiZWl0ZSBpY2ggZ2VyYWRlIGRyYW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogcmM1LUtvZWxuIChBbmF0b2wsIDIxLiBOb3YgMTk5NywgMTQ6Mjc6MDEpOgp+IyEgcm49T3JrdG9ldGVyIHJ0PTg4MDExMjM3MyByZz1yYzUKfiMhIHRpZD04ODAxMTIzNzMKVW5kIHdlciBoYWVuZ3Qgc2ljaCBhbiBkaWUgS29lbG5lciBTdGFyZmlyZT8gOykKCkFuYXRvbCwgd2l0dGVydCBMZWlzdHVuZwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogcmM1LUtvZWxuIChSYWZmaSwgMjEuIE5vdiAxOTk3LCAxNTowMToxOCk6Cn4jISBybj1BbmF0b2wgcnQ9ODgwMTE4ODIxIHJnPXJjNQp+IyEgdGlkPTg4MDExMjM3MwpKdXV1dUh1dXV1IEdyaW1tYm9ybiAuLi4uLi4KCkdyaW5zCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpLb2Vsbi4uLi4gKFRhbmdhbHVyLCAyMS4gTm92IDE5OTcsIDE1OjA2OjU2KToKenVyIFplaXQgcmVjaG5ldCBhdWNoIGVpbmUgSW5keSBtaXQuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IEFubWVya3VuZyBmdWVyIHg4Ni1CZW51dHplciAoQXZhbG9uLCAyMS4gTm92IDE5OTcsIDE2OjE1OjQxKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODAxMDUwNDIgcmc9cmM1Cn4jISB0aWQ9ODgwMDU3OTU1CkljaCBoYWJlIGRpZXNlIEJlb2JhY2h0dW5nIG5hY2h2b2xsemllaGJhciB1bnRlciBMaW51eCBnZW1jYWh0LAphbGxlcmRpbmdzIHZvciBlaW5lbSBNb25hdCBvZGVyIHNvLCBlcyBrYW5uIHNlaW4sIGRhc3MgZGllCkNsaWVudHMgaW56d2lzY2hlbiB2ZXJiZXNzZXJ0IHd1cmRlbi4gTWFpbmJvYXJkIGlzdCBlaW4gQXN1cwpQMlQ0IFJldiAzLjEgKEhYKSwgNTEyayBDYWNoZSwgNDggTUIgNjBucyBub24tRURPIFNJTU1zLCB3ZW5uCmRhcyBlaW5lIEVya2xhZXJ1bmcgaXN0Li4uCgphdmFsb24uLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdGF0aXN0aWsgMjEtMTEtOTcgKFJpbmdvciwgMjEuIE5vdiAxOTk3LCAxNjoxODo0MSk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODgwMTA1MTk0IHJnPXJjNQp+IyEgdGlkPTg4MDEwNTA0NApEYXMgVmVyZmFocmVuLCBhbGxlIHVlYmVyIGRpZXNlbGJlIGVNYWlsLUFkcmVzc2UgenUgZWluZW0gVGVhbQp6dXNhbW1lbnp1ZmFzc2VuLCBpc3QgZWggJ2V0d2FzJyB2ZXJlaW5mYWNodC4KCkF1ZiBkaWUgV2Vpc2UgaGF0IGRhcyBUZWFtIG5hZW1saWNoIG51ciBlaW5lbiBlaW56aWdlbiBUZWlsbmVobWVyLCBkZXIgaGFsdAptaXQgcmVjaHQgdmllbGVuIE1hc2NoaW5lbiByZWNobmV0LgoKRXMga2FubiBqZWRlciB1bnRlciBzZWluZXIgZWlnZW5lbiBlTWFpbC1BZHJlc3NlIHRlaWxuZWhtZW4uIE1hbiBrYW5uIGF1ZiBkZXIKU3RhdGlzdGlrc2VpdGUgdm9uIGRpc3RyaWJ1dGVkLm5ldCB1bnRlciBzZWluZXIgZU1haWwtQWRyZXNzZSBlaW4gUGFzc3dvcnQKYW5mb3JkZXJuIChiencuIG1hbiBiZWtvbW10IGVzIG5hY2ggbmVyIFdlaWxlIGF1dG9tYXRpc2NoIHp1Z2VzY2hpY2t0KS4gTWl0CmRpZXNlbSBQVyBrYW5uIG1hbiBzaWNoIGRhbm4gb2ZmaXppZWxsIGJlaSBlaW5lbSBUZWFtIGFubWVsZGVuIC0gZWJlbmZhbGxzIGF1ZgpkZXIgU3RhdGlzdGlrc2VpdGUuCgpEYWR1cmNoIHdhZXJlIGRpZSBUZWlsbmVobWVyemFobCBiZWkgZGVtIFRlYW0gZW5kbGljaCBrb3JyZWt0LCBtYW4ga29lbm50ZQpoaW50ZXJoZXIgU3RhdGlzdGlrZW4gdWViZXIgZGllIGVpbnplbG5lbiBUZWlsbmVobWVyIGJla29tbWVuLCBzaWVodCBnZW5hdSwKd2VyIGpldHp0IGFsbGVzIG1pdG1hY2h0IGV0Yy4KClJpbmdvcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKMTYgYml0IHdpbjMuMSAoUmF0eiwgMjEuIE5vdiAxOTk3LCAxOTozOTowNik6CmhhbGxvLAp6dXIgemVpdCByZWNobmVuIGhpZXIgMSBwMTIwLCAyIHA5MCwgdW5kIDEgNDg2ZHgzMyBtaXQuIApJY2ggc3VjaGUgbm9jaCBlaW5lbiBjbGllbnQgZnVlciAxNiBiaXQgd2luMy4xCmdydXNzIHJhdHoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJDNSAhIChCYW1idWxrbywgMjIuIE5vdiAxOTk3LCAwMDo1NjoyMyk6CkhhdCBlaWdlbnRsaWNoIG1hbCBqZW1hbmQgZ2VwcnVlZnQsIHdhcyBkYXMgUHJvZ3JhbW0gbWFjaHQ/IE5pY2h0IGRhc3MgaWNoCmhpZXIgYXVmIGV0bGljaGVuIFJlY2huZXJuIGlyZ2VuZG5lbiBTY2hlaXNzIGluc3RhbGxpZXJlLCBkZXIgbmFlY2hzdGUgV29jaGUKZGllIGdhbnplbiBGZXN0cGxhdHRlbiBsb2VzY2h0LgpXZW5uIG1hbiBkYW5uIHJhdXNmaW5kZXQsIGRhc3MgaWNoIGFsbCBkaWUgUmVjaG5lciBsYWhtZ2VsZWd0IGhhYmUsIHdpcmQgZGFzCnNpY2hlciByaWVzZW4gQWVyZ2VyIGdlYmVuLiBWaWVsZWljaHQgaXN0IGRhcyBqYSBlaW4gTWFya2V0aW5nLXRyaWNrIHZvbiBCaWxsCkdhdGVzLCBkZXIgZGFtaXQgYWxsZSBuaWNodCBEb3NcV2luIFJlY2huZXIgbGFobWxlZ3QgOi0pKSkKCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJDNSAhIChEZW50aSwgMjIuIE5vdiAxOTk3LCAwMDo1NzoxMyk6Cn4jISBybj1CYW1idWxrbyBydD04ODAxNTY1ODMgcmc9cmM1Cn4jISB0aWQ9ODgwMTU2NTgzCgpIaWhpLCBiZWkgbGFldWZ0IGVzIHNlaXQgMiB3b2NoZW4gYXVmIGRpdmVyc2VuIHJlY2huZXJuLCBpY2ggaGFiZSBhdXNzZXIKY29yZS1kdW1wcyBrZWluZSBwcm9ibGVtZSBnZWhhYnQgOykKCkRlbnRpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJDNSAhIChCYW1idWxrbywgMjIuIE5vdiAxOTk3LCAwMTowMDowMyk6Cn4jISBybj1EZW50aSBydD04ODAxNTY2MzMgcmc9cmM1Cn4jISB0aWQ9ODgwMTU2NTgzCk5hamEgYWJlciBpY2ggd2Vpc3MgaW1tZXIgbm9jaCBuaWNodCwgb2IgaWNoIG5pY2h0IGlyZ2VuZHdlbGNoZW4gTXVlbGwKYXVzcmVjaG5lLCBmdWVyIGRpZSBqZW1hbmQgc29uc3QgdmllbCBtZWhyIGFscyBkaWUgMTBrJCBQcmVpc2dlbGQgYmV6YWhsZW4KbXVlc3N0ZS4KS2FubiBqYSBzZWluLCBkYXNzIGRpZSBBbWlzIHNvIGlocmUgbmV1ZW4gQS1Cb21lbi1TaW11bGF0aW9uZW4gYXVzcmVjaGVuLiBEaWUKc2luZCBqYSBhdWNoIGFtIHNwYXJlbiB3aWUgYmVrbG9wcHQgOi0pKSkpCgpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMjM6IHJjNSAoS3JlbGxqYSwgMjIuIE5vdiAxOTk3LCAxMToxNTowNik6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODgwMTA1MDM1IHJnPXJjNQp+IyEgdGlkPTg3ODU2OTczMQpUdWUgYXVjaCBtaXQKICAgS3JlbGxqYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTWVociBSZWNobmVyLi4uIChKaW1kaWdyaXosIDIyLiBOb3YgMTk5NywgMTM6MTg6MjYpOgpIb2ksCmljaCBoYWJlIGhldXRlIG1hbCAxMTggSFBzIHJlaW5nZWhhZW5ndCwgYWxsZXJkaW5ncyBzaW5kIDExMyBkYXZvbiAKaW4gZWluZW0gbmljaHQtenVnYWVuZ2xpY2hlbiBOZXR6IHVuZCB2ZXJ3ZW5kZW4gZGVzaGFsYiBodHRwLCBkYW1pdCBoYXR0ZQppY2ggYWJlciBzY2hvbiBvZWZ0ZXJzIHByb2JsZW1lIEtleXMgenUgYmVrb21tZW4gOigsIG1vbWVudGFuIHNjaGVpbnRzIGFiZXIgenUKa2xhcHBlbgpFcyBoYW5kZWx0IHNpY2ggZGFiZWkgdW0gNzIwZXIgdW5kIGVpbiBwYWFyIDcxNWVyLCBlaW5lIDcxMiB1bmQgc29nYXIKZWluZSA3NTUgdW5kIHp3ZWkgNzc4ZXIuCgpJY2gga2FubiB2ZXJtdXRsaWNoIG5vY2ggbWVociB3b3Jrc3RhdGlvbnMgYXVmdHJlaWJlbiwgdW5kIHdlbm4KZWluZXIgZWluZW4gY2xpZW50IGZ1ZXIgVW5pY29zIDggc2NocmVpYnQgdmllbGxlaWNodApqYSBzb2dhciBuZSBDcmF5IFQ5MCA6KQoKQ2lhbywKIEppbSBEaUdyaXoKUC5TLjogQW5ha2luLCBzY2hyZWlic3QgRHUgbWljaCBpY2ggZGllIExpc3RlIG1pdCByZWluID8gKGVtYWlsOiBkbEBsZW8ub3JnKQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGluZ2VucyAoR3VuZHVyLCAyMi4gTm92IDE5OTcsIDIwOjAzOjIzKToKSGkKV2VubiBpY2hzIHJpY2h0aWcgZ2VzZWhlbiBoYWIgaXN0IG11ZC5kZSBhdWYgUGxhdHogMTc3Li5ndXQgZ2VsbD8gOi0pCkdydXNzCkd1bmR1cgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRpbmdlbnMgKEd1bmR1ciwgMjIuIE5vdiAxOTk3LCAyMDowNzozNCk6Cn4jISBybj1HdW5kdXIgcnQ9ODgwMjI1NDAzIHJnPXJjNQp+IyEgdGlkPTg4MDIyNTQwMwpBY2hqYSB1bmQgZ2VzdGVybiB3YXJlbiB3aXIgYXVmIFBsYXR6IDc0IC4uLgpIb2VydCBzaWNoIGRvY2ggbm9jaCBiZXNzZXIgYW4gb2Rlcj8KR3J1c3MKRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmRpbmdlbnMgKEd1bmR1ciwgMjMuIE5vdiAxOTk3LCAxMjo0ODo1Mik6ClBsYXR6IDE2MCBmdWVyIG11ZC5kZSAuLgouLi4KRy4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXRpc3RpayEgKEJhbWJ1bGtvLCAyNC4gTm92IDE5OTcsIDA5OjU1OjMxKToKClBsYXR6IDExNCBmdWVyIG11ZC5kZQoKVW5kIGluIGRlciBUb3AtMTAwLVllc3RlcmRheSB3YXJlbiB3aXIgc29nYXIgc2Nob24gYXVmIFBsYXR6IDE0ICEhISEhCgpzY2hvbiBtYWwgZGllIFBhcnR5IHZvci4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU3RhdGlzdGlrISAoS2V5LCAyNC4gTm92IDE5OTcsIDA5OjU5OjI1KToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTg4MDM2MTczMSByZz1yYzUKfiMhIHRpZD04ODAzNjE3MzEKSW1tZXIgbGFuZ3NhbSAuLi4KSW1tZXJoaW4gd2FyZW4gYW0gV0UgUmVjaG5lciBkcmFuIGRpZSB1ZWJlciBkaWUgV29jaGUgbmljaHQgbGF1ZmVuIC4uLi4KCktleQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKcmM1IFNUUklLRVMhIChDYXR3ZWF6bGUsIDI0LiBOb3YgMTk5NywgMTA6MTY6NTgpOgpNb2luIQoKRGFzIFRlYW0gTXVkLmRlIGhhdCBkaWVzZXMgV0UgZWluZSBnZXJhZGV6dSB1bmdsYXVibGljaGUgTGVpc3R1bmcgZ2VicmFjaHQhCk5hY2ggZWluIF9iaXNzY2hlbl8gTW90aXZhdGlvbiBEb25uZXJzdGFnIHVuZCBGcmVpdGFnIGhhYmVuIGFsbGUgbW9lZ2xpY2hlbgpMZXV0ZSBpaHJlIFJlY2huZXJwYXJrcyBtaXRhbmdlc2NobG9zc2VuIChzaWVoZSBmcnVlaGVyZSBNYWlscykuIERhcyBFcmdlYm5pczoKV2lyIHNpbmQgc2VpdCBGcmVpdGFnIHVtIDE3MCBQbGFldHplIHZvbiAyODAgYXVmIDExMCBnZXN0aWVnZW4hISBJY2ggc2NoYWV0emUsCmRhcyB3aXIgaGV1dGUgTmFjaG1pdHRhZyBpbiBkaWUgVG9wMTAwIGF1ZnN0ZWlnZW4gd2VyZGVuLgpXaXIgaGFiZW4gYmVyZWl0cyA3MDAwMCBCbG9lY2tlIGJlcmVjaG5ldCwgZGF2b24gcnVuZCA0NTAwMCBkaWVzZXMgV29jaGVuZW5kZSwKZGFzIHZlcnNwcmljaHQgYWxsZWluIGJlaSBrb25zdGFudGVyIExlaXN0dW5nIGVpbmVuIHZlcmRhbW10IGd1dGVuIFBsYXR6LgpBYmVyISBFcyBrb2VubmVuIGphIGltbWVyIG5vY2ggbWVociBtaXRtYWNoZW4hCkFsc28gbG9zLiBIYXN0IER1IG5vY2ggbmVuIFJlY2huZXIgZnJlaT8gSGFzdCBEdSBadWdhbmcgenUgbWVocmVyZW4gUmVjaG5lcm4/CkplZGVyIEJsb2NrIHphZWhsdC4gUHJvZ3JhbW0gaG9sZW4sIGJpc3NjaGVuIGtvbmZpZ3VyaWVyZW4sIHVuZCBsb3MhCkhpbGZlc3RlbGx1bmcgbGVpc3RlbiBSYWZmaSwgQW5ha2luLCBpY2ggbm5kIHZpZWxlIG1laHIsIEZyYWdlbiBrb2VubmVuIGF1ZiAKZGVtIHJjNS1LYW5hbCBnZXN0ZWxsdCB3ZXJkZW4uIApZb3VycyB0cnVseSwKICAgICBDYXR3ZWF6bGUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCnVwZGF0ZSAoQW5ha2luLCAyNC4gTm92IDE5OTcsIDEwOjMzOjMzKToKSGksCgpKZXR6dCBzaW5kIGVuZGxpY2ggU3RhdGlzdGlrZW4gZnVlciB1bnMgdmVyZnVlZ2Jhci4gTWFuIGthbm4gc2VoZW4Kd2VyIHdlaXZpZWwgcmVjaG5ldCwgd2VubiBtYW4gc2VpbmUgZWlnZW5lIEVtYWlsIGFuZ2lidC4KU2llaGUgaHR0cDovL3d3dy5hZWktcG90c2RhbS5tcGcuZGUvfndlaHJlbnMvcmM1Ly4KCmJ0dy4gUGxhdHogMTE0IHVuZCBQbGF0eiAxNCB5ZXN0ZXJkYXkgbWl0IGtuYXBwIDUwIE1LZXlzL3MhISEKCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXRpc3RpayAyNC0xMS05NyAoVGFuZ2FsdXIsIDI0LiBOb3YgMTk5NywgMTE6NTQ6NDEpOgpFbWFpbCAgICBUZWFtL0VtYWlsICAgICAgICAgICAgICBUb3RhbCAgICBUaW1lICAgICAgTGFzdCAgICAgS2V5IHJhdGUKUmFuayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tzICAgV29ya2luZyAgIEJsb2NrICAgIGtrZXlzL3NlYwoKIDEwNyAgICAgRGlzdHJpYnV0ZWQgQ29tcHV0aW5nICAgNzM3MTEgICAgMzIgZGF5cyAgIDI0LU5vdiAgICA2OTM5Ljc2CiAgICAgICAgIENvbW11bml0eQogMTA4ICAgICBUcmlnZ2VyIEludGVybmV0ICAgICAgICA3MjcxOCAgICAzMCBkYXlzICAgMjQtTm92ICAgIDcyODcuOTcKICAgICAgICAgU2VydmljZXMgICAgICAgICAgICAgICAgICAgCiAxMDkgICAgIFJvYmVydC5OZXQgICAgICAgICAgICAgIDcyNTM2ICAgIDMyIGRheXMgICAyNC1Ob3YgICAgNjgyOS4xNAogMTEwICAgICBtdWQuZGUgICAgICAgICAgICAgICAgICA3MjMyOSAgICAyNSBkYXlzICAgMjQtTm92ICAgIDg2NDMuMDEKIDExMSAgICAgVGVsaWEgSW50ZXJuZXQgICAgICAgICAgNzEzMTUgICAgMzIgZGF5cyAgIDI0LU5vdiAgICA2NzE0LjE4CiAgICAgICAgIEluY2lkZW50IFJlc3BvbnNlCiAgICAgICAgIFRlYW0JCSAgICAgICAgICAgIAogMTEyICAgICBUZWFtIFdvbyBJSSAgICAgICAgICAgICA3MTAxOCAgICAzMiBkYXlzICAgMjQtTm92ICAgIDY2ODYuMjIKIDExMyAgICAgQW5rYXQgICAgICAgICAgICAgICAgICAgNzAwMDUgICAgMzIgZGF5cyAgIDI0LU5vdiAgICA2NTkwLjg1CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogdXBkYXRlIChNb3Jnb3RoLCAyNC4gTm92IDE5OTcsIDEyOjMxOjA1KToKfiMhIHJuPUFuYWtpbiBydD04ODAzNjQwMTMgcmc9cmM1Cn4jISB0aWQ9ODgwMzY0MDEzCldvIGdhYnMgbm9jaG1hbCBkaWUgRkFRIChuaWNodCBpbSBXV1cpLCB3aWUgZGFzIG1pdCBkZXIgZWlnZW5lbiBlTWFpbApmdW5rdGlvbmllcnQ/IE1pY2ggd3VlcmQgc2Nob24gaW50ZXJlc3NpZXJlbiwgd2lldmllbCBkaWUgR3Vya2VuIGhpZXIgdm9tClRlbGxlciB6aWVoZW4uIEltIE1vbWVudCBzaW5kIHZvbiBtaXIgYWt0aXZpZXJ0OiAyIExpbnV4IFAxNjYsIDIgV0lOOTUgUDE2Ni4KTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogdXBkYXRlIChQaWxncmltLCAyNC4gTm92IDE5OTcsIDEzOjAyOjExKToKfiMhIHJuPU1vcmdvdGggcnQ9ODgwMzcxMDY1IHJnPXJjNQp+IyEgdGlkPTg4MDM2NDAxMwpIbW1tLAoKaWNoIGhhYiBtYWwgYmVpIG1pciByYzVAbXVkLmRlIGFuZ2VnZWJlbiwgdW5kIGxhc3MgbWlyIHBhcmFsbGVsIG5lbiBsb2ctZmlsZQphdXNnZWJlbiAod2FyIGRhIGlyZ2VudHdvIGltIFNldHVwCm1vZWdsaWNoIChsaW51eCkpIC4uLgoKaG9mZmUsIGRhcyBpc3QgcmljaHRpZyBzbyAuLi4KClBpbGdyaW0gKHJlY2huZXQgYXVjaCBuZW4gYmlzY2hlbCkKfgpQLlM6OiBhbHNvIGRlbiBVbnRlcnNjaGllZCB6aXNjaGVuIEdydXBwZSB1bmQgZS1tYWlsIGlzdCBtaXIgKGhvZmZlbnRsaWNoKWtsYXIKLi4uIGFiZXIgd28gc3RlbGx0IG1hbiBkYXMgZWluID8/Pz8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHVwZGF0ZSAoQmFtYnVsa28sIDI0LiBOb3YgMTk5NywgMTM6MDU6MTIpOgp+IyEgcm49UGlsZ3JpbSBydD04ODAzNzI5MzEgcmc9cmM1Cn4jISB0aWQ9ODgwMzY0MDEzCldlbm4gbWFuIHNlaW5lIGVpZ2VuZSBlLW1haWwgYWxzIEFkcmVzc2UgdW5kIG5pY2h0IHJjNUBtdWQuZGUgaW0gY29uZmlnCmFuZ2lidCwgYmVrb21tdCBtYW4gbmFjaCBlaW5lciB3ZWlsZSAxLTIgU3R1bmRlbi4gTmUgZS1tYWlsIHZvbgpkaXN0cmlidXRlZC5uZXQgbWl0IGVpbmVtIFBhc3N3b3J0LgpXZW5uIG1hbiBkYW5uIGF1ZiBkaWUgU3RhdC1TZWl0ZSBnZWh0IHVuZCBuYWNoIHNlaW5lciBlaWdlbmVuIEFkcmVzc2Ugc3VjaHQsCmthbm4gbWFuIGRvcnQgbWl0IGRpZXNlbSBQYXNzd29ydCBzZWluZSBCbG9lY2tlIGFuIGVpbiBUZWFtIGdlYmVuLgoKU28gc2llaHQgbWFuIGdlbmF1LCB3aWV2aWVsZSBCbG9lY2tlIG1hbiBzZWxiZXIgcmVjaG5ldC4gKDEwMCBsb2dmaWxlcyB6dQpkdXJjaHN1Y2hlbiBpc3Qgd2FzIG5lcnZpZykgdW5kIHNjaGVua3QgZGllIEJsb2Vja2UgYW4ncyB0ZWFtLgoKZ3J1c3MKQmFtYnVsa28KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IHVwZGF0ZSAoSGlnaGxhbmRlciwgMjQuIE5vdiAxOTk3LCAxMzo0NTowNyk6Cn4jISBybj1QaWxncmltIHJ0PTg4MDM3MjkzMSByZz1yYzUKfiMhIHRpZD04ODAzNjQwMTMKRWluZ2VuZSBlbWFpbCBlaW5zdGVsbGVuLiBEYW5hY2ggYXVmIGRpZSBTdGF0aXN0aWstU2VpdGUgYmVpIGRpc3RyaWJ1dGVkLmV0CnNvbGwgbmF0dWVybGljaCBuZXQgaGVpc3Nlbi4gVW50ZW4gbm9jaG1hbCBTdGF0aXN0aWNzCmFua2xpY2tlbi4gTmFjaCBkZXIgZWlnZW5lbiBlbWFpbCBzdWNoZW4uIFNpY2ggZWluIHBhc3N3b3JkIG1haWxlbiBsYXNzZW4uCldpZWRlciBhdWYgZGllIFNlaXRlbiBnZWhlbiwgZWlnZW5lIGVtYWlsIHN1Y2hlbiwgZGFubiBhbmtsaWNrZW4uCkpldHp0IHVudGVuIHBhc3N3b3JkIGVpbmdlYmVuIHVuZCBtb2RpZnkgd2FlaGxlbi4KVGVhbW51bW1lciA1NzYgYW5nZWJlbi4gQWVuZGVybiBrbGlja2VuLgpEZWluZSBlbWFpbCBlcnNjaGVpbnQgZWluaWdlIFplaXQsIG5hY2hkZW0gRHUgYmxvY2tzCmdlc2NoaWNrdCBoYXN0LCBhbHNvIG5pY2h0IGdsZWljaCB2ZXJ6d2VpZmVsbiA6PgogICBIclQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCldpbl9OVCAoQmFtYnVsa28sIDI0LiBOb3YgMTk5NywgMTQ6NTc6MDApOgpLZW5udCBzaWNoIGhpZXIgamVtYW5kIG1pdCBXaW5fTlQgYXVzPwpLYW5uIGljaCBpcmdlbmR3aWUgZGVuIENsaWVudCBsYXVmZW4gbGFzc2VuLCBuYWNoZGVtIGljaCBtaWNoIGF1c2dlbG9nZ3QgaGFiZT8KRGFubiBrb2VubnRlIGljaCBoaWVyIG5vY2ggY2EuIDMwIFBlbnRpdW1zIG1pdCBqZSAyOTAga2tleXMvc2VjLiBhbnNjaGxpZXNzZW4uCgpEYW5rZQpCYW1idWxrbwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKbm9jaG1laHIgSHBzIChKaW1kaWdyaXosIDI0LiBOb3YgMTk5NywgMTU6MTg6MTMpOgpNb2luLAoKaWNoIGtvbm50ZSBub2NoIG1laHIgSHBzIGRyYW5oYWVuZ2Ugc28gbm9jaG1hbCAyMCBkYWZ1ZXIgc3RhZXJrZXJlLgpMZWlkZXIgZGFyZiBlaW4gUHJvemVzcyBudXIgMWggQ1BVIFplaXQgbmVobWVuIGRhbm4gd2lyZCBlciBnZWtpbGx0LAppY2ggbXVzcyBkaWUgYXVmIGRpZXNlbiByZWNobmVyIGltbWVyIHdpZWRlciBuZXUgc3RhcnRlbiwgYWxzbwpzaW5kIGRpZSBuaWNodCBwZXJtYW1lbnQgZHJhbi4KCk1pY2ggd3VlcmRlIG1hbCBpbnRlcmVzc2llcmVuLCB3aWUgZGllIGluIGRlciBTdGF0aXN0aWsKYW5nZWdlYmVuZSBzdXN0YWluZWQta2V5cmF0ZSBtaXQgZGVyIHdpcmtsaWNoa2VpdAphdXNzaWVodC4gYXVndXN0YS5kZSBzY2hhZmZ0IGx0IExpc3RlIHNvIDY3MDBra2V5cy9zIE1hamVzdGl4CmhhdCBtaXIgYWJlciBlcnphZWhsdCwgZGFzcyBzaWUgaW4gZWNodCB1ZWJlciAxNU1rZXlzL3Mgc2NoYWZmZW4uCgpXaXIgc2luZCB1ZWJyaWdlbnMgbnVyIGtuYXBwIHZvciBkZW5lbiwgYWxzbyBzdHJlbmd0IEV1Y2ggbWFsIGFuLgoKQ2lhbywKIEppbSBEaUdyaXogKDI1MTdra2V5cy9zKSAKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJDNSAhIChSYWZmaSwgMjQuIE5vdiAxOTk3LCAxNTozNDowOCk6Cn4jISBybj1CYW1idWxrbyBydD04ODAxNTY4MDMgcmc9cmM1Cn4jISB0aWQ9ODgwMTU2NTgzCkEtQm9tYmVuc2ltdWxhdGlvbiAuLi4gb2gsIGdvaWwsIGRhIHdpbGwgaWNoIGF1Y2ggbWl0cmVjaG5lbiAuLi4ga3JpZ3QgbWFuCmRhbm4gYXVjaCBkYXMgZXJnZWJuaXNzIGFscyBWaWRlbyAoTVBFRyBmdWVyIG1laW5lbiBXaW5WaWRlby1QbGF5ZXIpPwoKR3JpbnMKSC4KLm5uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJDNSAhIChBc21vZGlzLCAyNC4gTm92IDE5OTcsIDE4OjQxOjIxKToKfiMhIHJuPURlbnRpIHJ0PTg4MDE1NjYzMyByZz1yYzUKfiMhIHRpZD04ODAxNTY1ODMKSWNoIHNhY2h0ZSBkb2NoLCBkZXIgaW5zdGFsbGllcnQgZGVuIFdlaWhuYWNodHMtVmlydXMuCldhcyBkZXIgdHV0LCBtZXJrc3RlIGRhbm4gYW0gMjQuIERlemVtYmVyIDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpJY2gga3JpY2gga2VpbmUgTWFpbCAqKndlaW4qKiAoTW9yZ290aCwgMjUuIE5vdiAxOTk3LCAwNzoxOTo1Nyk6CkRhIGljaCBnZXN0ZXJuIGVpbmUgTWFpbCB2b24gQmFtYnVsa28gYmVrb21tZW4gaGFiLCBpbiBkZXIgZXJrbGFlcnQgd2FyLCB3aWUKbWFuIG1pdCBzZWluZXIgZWlnZW5lbiBlbWFpbCBmdWVyIGRhcyBtdWQtdGVhbSByZWNobmV0LCBoYWIgaWNoIGRhcyBuYXR1ZXJsaWNoCnNvZm9ydCBhdXNwcm9iaWVydC4gRGEgc29sbHRlIG5hY2ggZ2VyYXVtZXIgemVpdCAoMSBzdHVuZGUpIG5hY2ggdmVyc2NoaWNrZW4KZGVzIG5hZWNoc3RlbiBidWZmZXJzIGVpbmUgbWFpbCBrb21tZW4sIGluIGRlciBlaW4gcGFzc3dvcnQgc3RlaHQuIE51biwgYWxsZQptZWluZSByZWNobmVyIGhhYmVuIHNjaG9uIGZsZWlzc2lnIGJ1ZmZlcnMgZ2VzY2hpY2t0LCBhYmVyIGljaCBoYWIga2VpbmUgbWFpbC4KV3VhaGhoICEhISBXYXMgaXN0IGRhIGxvcz8/PwpNKiwgZ2FueiB2ZXJ6d2VpZmVsdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEljaCBrcmljaCBrZWluZSBNYWlsICoqd2VpbioqIChEZW50aSwgMjUuIE5vdiAxOTk3LCAwODoyNjoyNSk6Cn4jISBybj1Nb3Jnb3RoIHJ0PTg4MDQzODc5NyByZz1yYzUKfiMhIHRpZD04ODA0Mzg3OTcKCgpEdSBtdXNzdCBkaWVzZSBtYWlsIGVudHdlZGVyIGFuZm9yZGVybiwgb2RlciBEdSBiZWtvbW1zdCBzaWUgbmFjaCAKY2EgZHJlaSBXb2NoZW4gYXV0b21hdGlzY2guIEFub3JkZXJuIGthbm5zdCBEdSBzaWUsIHdlbm4gRHUgYXVmIGRlcgpTdGF0aXN0aWtzZWl0ZSBuYWNoIGRlaW5lciBlbWFpbCBzdWNoc3QgdW5kIGRhbm4gYXVmIApzZW5kIFBhc3N3b3JkIGtsaWNrc3QuIEFsbGVyZGluZ3Mga29lbm50ZSBlcyBzZWluLCBkYXNzIER1IHNpZSBuaWNodApiZWtvbW1zdCwgd2VubiBzaWUgaW5zIE1HIGdlaGVuIHNvbGwsIGRhIGRhcyBNRy1NYWlsc3lzdGVtIGltbWVyIAp3aWVkZXIgUHJvYmxlbWUgbWFjaHQuCgpEZW50aQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRi5BLlEuIChBbmFraW4sIDI2LiBOb3YgMTk5NywgMTY6NTk6MDMpOgpIaSwKCndlbm4gamVtYW5kIEZyYWdlbiB6dSByYzUgaGF0LCB6LkIuIAoKLSBXaWUga2FubiBpY2ggbWl0bWFjaGVuPwotIFdpZSBrYW5uIGljaCBtZWluZSBlaWdlbmUgRU1haWxhZHJlc3NlIGFuZ2ViZW4gdW5kIGltCiAgIFRlYW0gbXVkLmRlIG1pdG1hY2hlbj8KCmV0Yy4KCmRhbm4gc29sbHRlIGVyIHp1ZXJzdCBodHRwOi8vd3d3LmFlaS1wb3RzZGFtLm1wZy5kZS9+d2VocmVucy9yYzUvCmxlc2VuLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhdGlzdGlrIHZvbSAyOC4xMS45NyAoR3JpbW1ib3JuLCAyOC4gTm92IDE5OTcsIDExOjI0OjQ2KToKR2VzdGVybjoKCiAgICAgVGVhbSAgICAgICAgICAgICAgICAgICBUb3QuIEJsb2NrcyAgIGtrZXlzL3MKMTAgQml0QnVja2V0IFJDNSBUZWFtICAgICAgICAgMzAzMDYgICAgICA5NDE1Ny40NgoxMSBtdWQuZGUgICAgICAgICAgICAgICAgICAgICAyOTMyOSAgICAgIDkxMTIyLjAzCjEyIFRlYW0gRnJlZUJTRCAgICAgICAgICAgICAgIDIyNDY1ICAgICAgNjk3OTYuMzMKCkluc2dlc2FtdDoKICAgICBUZWFtICAgICAgICAgICAgICAgICAgIFRvdC4gQmxvY2tzICBzZWl0ICAgICBra2V5cy9zIAo0MiBQdWdldHNvdW5kIFJDNSBDb25zb3J0aXVtIDE4ODIyNiAgICAgMzUgZGF5cyAgMTYyNDQuMzgKNDMgbXVkLmRlICAgICAgICAgICAgICAgICAgICAxNzk4ODAgICAgIDI4IGRheXMgIDE5MjcxLjMwCjQ0IFBBQyAgICAgICAgICAgICAgICAgICAgICAgMTc2OTA2ICAgICAzNSBkYXlzICAxNTI2Ny40NAoKTWVociBSZWNoZW5sZWlzdHVuZyEKCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YXRpc3RpayB2b20gMjguMTEuOTcgKFRhbmdhbHVyLCAyOC4gTm92IDE5OTcsIDE0OjMxOjA5KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODA3MTI2ODYgcmc9cmM1Cn4jISB0aWQ9ODgwNzEyNjg2CldpciBicmF1Y2hlbiBkcmluZ2VuZCBtZWhyIFJFQ0hFTkxFSVNUVU5HCnNlaXQgdm9yZ2VzdGVybiBzaW5rdCBkaWUgUmF0ZSBzdGV0aWcgYWIgdm9uIDMzLjAwMCBhdWYgamV0eiAyOS4wMDAKCnNvcnJ5IGZ1ZXIgZGFzIExheW91dCB0aXBwZSBkZW4gQXJ0aWtlbCBlaW4gb2huZSB6dSBzZWhlbgp3YXMgaWNoIHNjaHJlaWJlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU2F0aXN0aWsgMS0xMi0xOTk3IChUYW5nYWx1ciwgIDEuIERleiAxOTk3LCAxMDoxODoyOSk6ClRlYW0gU3VtbWFyeSBmb3IgbXVkLmRlIAoKVGhpcyB0ZWFtIGlzIFRlYW0gSUQgIzU3NgoKQ3VycmVudCBSYW5raW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDM4ClRvdGFsIGJsb2NrcyB0byBzZWFyY2g6ICAgICAgICAgICA2ODcxOTQ3NjczNgpUb3RhbCBibG9ja3MgY2hlY2tlZDogICAgICAgICAgICAgICAgICAyMzQyNzYKS2V5c3BhY2UgRXhoYXVzdGVkOiAgICAgICAgICAgICAgICAgIDAuMDAwMzQxJQpUb3RhbCBrZXlzIGNoZWNrZWQ6ICAgICAgICAgICAgICAgIDYzIFRyaWxsaW9uClRpbWUgV29ya2luZzogICAgICAgICAgICAgICAgICAgICAgICAgIDM1IGRheXMKT3ZlcmFsbCBSYXRlOiAgICAgICAgICAgICAgICAgICAgICAgICAyMDIxOC42MiBra2V5cy9zZWMKCjEzNzY1IGJsb2NrcyB3ZXJlIGNvbXBsZXRlZCB5ZXN0ZXJkYXkgKCAwLjAwMDAyMDAzJSBvZiB0aGUga2V5c3BhY2UpCmF0IGEgc3VzdGFpbmVkIHJhdGUgb2YgNDI3NjYga2tleXMvc2VjIQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClNhdGlzdGlrIN8yLTEyLTE5OTcgKFRhbmdhbHVyLCAgMi4gRGV6IDE5OTcsIDA5OjU5OjE0KToKVGhpcyB0ZWFtIGlzIFRlYW0gSUQgIzU3NgoKQ3VycmVudCBSYW5raW5nICAgICAgICAgICAgICAgICAgICAgICAgICAzNwpUb3RhbCBibG9ja3MgdG8gc2VhcmNoOiAgICAgICAgIDY4NzE5NDc2NzM2ClRvdGFsIGJsb2NrcyBjaGVja2VkOiAgICAgICAgICAgICAgICAyNDc1MTcKS2V5c3BhY2UgRXhoYXVzdGVkOiAgICAgICAgICAgICAgICAwLjAwMDM2MCUKVG90YWwga2V5cyBjaGVja2VkOiAgICAgICAgICAgICAgNjYgVHJpbGxpb24KVGltZSBXb3JraW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDM2IGRheXMKT3ZlcmFsbCBSYXRlOiAgICAgICAgICAgICAyMDc4NC4wMSBra2V5cy9zZWMKCjExODkyIGJsb2NrcyB3ZXJlIGNvbXBsZXRlZCB5ZXN0ZXJkYXkgKCAwLjAwMDAxNzMxJSBvZiB0aGUga2V5c3BhY2UpCmF0IGEgc3VzdGFpbmVkIHJhdGUgb2YgMzY5NDcga2tleXMvc2VjIQoKaG1tbSBuaWNoIHNvIGRvbGxlIGRhcyBnYW56ZSAhCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogU2F0aXN0aWsg3zItMTItMTk5NyAoS2V5LCAgMi4gRGV6IDE5OTcsIDEwOjA0OjMwKToKfiMhIHJuPVRhbmdhbHVyIHJ0PTg4MTA1MzE1NCByZz1yYzUKfiMhIHRpZD04ODEwNTMxNTQKQWxzbyBsYW5nc2FtIC4uLi4KSmVkZXIgZGVyIG1pdG1hY2h0IGdpYnQgc2ljaCBNdWVoZSwgYWJlciBkYXMgZWluemlnc3RlIHdhcyBtYW4genUgaG9lcmVuCmJla29tbXQgaXN0IE1laHIgUmVjaGVubGVpc3R1bmcsIGtvZW5udGUgYmVzc2VyIHNlaW4sIG5pY2ggc28gZG9sbGUsIHVuZCB3YXMKd2Vpc3MgaWNoIQpXaWUgd2FlcmUgZXMgbWFsIHdlbm4gZWluaWdlIGhpZXIgbmVuIGJpc3NlcmwgcG9zaXRpdmVyIHNlaGVuPwpPZGVydCB2aWVsbGVpY2h0IGhvZXJlbiB3aXIgYXVjaCBnbGVpY2ggYXVmLCBzY2hlaW5iYXIgc2luZCBqYSBlaW5pZ2UgbmllCnp1ZnJpZWRlbi4KCktleSBoYXQgbml4IHVlYnJpZyBmdWVyIHNvbiBkdW1tZXMgZ2VsYWJlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXRpc3RpayDfMi0xMi0xOTk3IChHcmltbWJvcm4sICAyLiBEZXogMTk5NywgMTA6MTE6MTgpOgp+IyEgcm49S2V5IHJ0PTg4MTA1MzQ3MCByZz1yYzUKfiMhIHRpZD04ODEwNTMxNTQKRHUgc2NocmVpYnN0ICJ3aXIiLiBXaWV2aWVsZSBCbG9lY2tlIHNpbmQgZGVubiB2b24gRGlyPyBBbnNvbnN0ZW4gZ2lsdCBpbQpnZXNhbXRlbiBpbmZvcm1hdGlzY2hlbiBCZXJlaWNoOiBXZXIgenVmcmllZGVuIGlzdCBnZWh0IHVudGVyLiBTaWVoZQpNYWNJbnRvc2gsIGRpZSBhdWNoIG1pdCBpaHJlbSBTeXN0ZW0genVmcmllZGVuIHdhcmVuLCBuaWNodHMgbWVociBkcmFuIGdldGFuCmhhYmVuIHVuZCBqZXR6dCB1bnRlcmdlaGVuLiBQbGF0eiAzNyBpc3QgamEgc2Nob2VuLCBhYmVyIGRhcyBoZWlzc3QsIGRhIHNpbmQKbm9jaCAzNiBUZWFtcyB2b3IgZWluZW0uIFVuZCBkaWUgZ2VyZWNobmV0ZW4gU2NobHVlc3NlbCBnZWhlbiBhdWNoIHJ1bnRlciwgd2lyCndhcmVuIHNjaG9uIGF1ZiB1ZWJlciA0ME1rZXkvcy4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2F0aXN0aWsg3zItMTItMTk5NyAoS2V5LCAgMi4gRGV6IDE5OTcsIDEwOjE0OjM4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODEwNTM4Nzggcmc9cmM1Cn4jISB0aWQ9ODgxMDUzMTU0CldpZXZpZWxlIEJsb2Vja2Ugdm9uIG1pciBzaW5kPyBOZXQgdmllbCwgYWJlciB3ZW5pZ3N0ZW5zIGV0d2FzLiAKTmF1bmQ/IHVuZCB3ZW5uIG5vY2ggMTAwIFRlYW1zIHZvciB1bnMgd2FlcmVuLCB3aWUgd2FlcmUgZXMgbWFsIG1pdCBuZXIKYXVzc2FnZSB3ZWl0ZXIgc28sIG9kZXIgc293YXMgaW4gZGVyIGFydD8KTmVpbiBtYW4gbXVzcyBlcyBuYXR1ZXJsaWNoIG5lZ2F0aXYgYXVzZHJ1ZWNrZW4uCk1vZW5zY2ggTGV1dGNoZW4hIERhcyBpc3QgbmVuIGtsZWluZXIgV2V0dGJld2VyYiB1bmQgbmV0eSBkaWUgT2x5bWJpYWRlIG9kZXIKc29uc3Qgd2FzLgpKYSBzY2hvZW4sIHVuZCB3ZW5uIHdpciBhdWYgMTAwTWtleS9zZWMgZ2V3ZXNlbiB3YWVyZW4gLi4uIGVzIGdpYnQgYXVjaCBsZXV0ZQpkaWUgcHJvYnMga3JpZWdlbiB3ZW5uIHNpZSBkYXMgcHJvZyBsYXVmZW4gbGFzc2VuIHd1ZXJkZW4uIFdlciB3YXIgZGFzIG5vY2gKZ2xlaWNoIGRlciBzZWluZW4gYWNjb3VudCBkZXNoYWxiIHZlcmxvcmVuIGhhdD8KCktleQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFNhdGlzdGlrIN8yLTEyLTE5OTcgKEtleSwgIDIuIERleiAxOTk3LCAxMDoyMDoyMCk6Cn4jISBybj1LZXkgcnQ9ODgxMDU0MDc4IHJnPXJjNQp+IyEgdGlkPTg4MTA1MzE1NApTbyBub2NoIGVpbmUga2xlaW5lIEVyaW5uZXJ1bmc6CldpciB3YXJlbiBuYWNoIDE3IFRhZ2VybiBhdWYgUGxhdHogNTAwc291bmRzb3ZpZWwgLi4uIHVuZCBqZXR6dCBzaW5kIHdpciBhdWYKcGxhdHogMzcKSWNoIGZ1ZXIgbWVpbmVuIFRlaWwgZmluZGUgZGFzIGVpbmUgemllbWxpY2ggZ2VpbGUgTGVpc3R1bmcuCgpLZXkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCm5ldHpwcm9ibGVtZSAoRnl0LCAgMi4gRGV6IDE5OTcsIDEwOjM0OjE0KToKCkljaCByZWNobmUgc2Nob24gc2VpdCBkcmVpIFRhZ2VuIFJhbmRvbWJsb2Vja2UgdW5kIGtyaWVnIGRpZSBuaWNodCBtYWwgbG9zLgpBbiBtZWluZXIgS29uZmlndXJhdGlvbiBoYXQgc2ljaCBtZWluZXIgTWVpbnVuZyBuYWNoIG5peCBnZWFlbmRlcnQsIGhhdApqZW1hbmQgbmUgQWhudW5nLCB3b3JhbiBkYXMgbGllZ2VuIGthbm4/CgpGeXQsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBTYXRpc3RpayDfMi0xMi0xOTk3IChUYW5nYWx1ciwgIDIuIERleiAxOTk3LCAxMDo0MTozOSk6Cn4jISBybj1LZXkgcnQ9ODgxMDU0NDIwIHJnPXJjNQp+IyEgdGlkPTg4MTA1MzE1NApBbHNvIGVyc3RtYWwgc2luZCBkYXMgbnVyIGRpZSByZWluZSBaYWhsZW4sIGRpZSBpY2ggZGEgdm9uIGRlciBTdGF0aXN0aWsgU2VpdGUKZ2V6b2dlbiBoYWJlIHVuZCBpY2ggaGFiZSBuZSBnYW56ZSBXZWlsZSB1ZWJlcmxlZ3Qgb2IgaWNoIGRhIG5vY2ggZWluZW4KS29tbWVudGFyIHp1IHNjaHJlaWJlIG9kZXIgbmljaHQuIERhcyBrYW5uc3QgRHUgbWlyIGdsYXViZW4gS2V5ICEKQWJlciBudSBhdWNoIG1hbCB3YXMgcG9zaXRpdmVzLCB3ZW5uIER1IERpciBtYWwgYW5zY2hhdXN0IHdlciBkYSBhbGxlcwppbnp3aXNjaGVuIG1pdG1hY2h0IGlzdCBkYXMgc2Nob24gcmVjaHQgYmVlaW5kcnVja2VuZCB1bmQgZ2VuYXVzbyBrbGFyIGlzdHMgb2IKRHUgZGEgbnVuIGVpbmVuIHNjaG5lbGxlbiBvZGVyIGxhbmdzYW1lbiBSZWNobmVyIGhhc3QsIGplZGVyIEJsb2NrIHphZWhsdCAhCklzdCBoYWx0IHNvIGVpbiBiaXNjaGVuIHdpZSBiZWkgT2x5bXBpYSBkYXMgZ2FuemUuIEFiIGpldHp0IHdpcmRzIGRpZQpTdGF0aXN0aWsgd2VubiAodWViZXJoYXVwdCBnZXd1ZW5zY2h0KSBvaG5lIGlyZ2VuZHdlbGNoZSBLb21tZW50YXJlIGdlYmVuLgpFaW5lIFJlaW0ga2FubiBzaWNoIGRhbm4gamVkZXIgc2VsYmVyIGRyYXVmIG1hY2hlbi4KClRhbmdhbHVyIEZldWVydGF0egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogU2F0aXN0aWsg3zItMTItMTk5NyAoTW9yZ290aCwgIDIuIERleiAxOTk3LCAxMDo0ODo1Nik6Cn4jISBybj1LZXkgcnQ9ODgxMDU0NDIwIHJnPXJjNQp+IyEgdGlkPTg4MTA1MzE1NApZZXAsIAppY2ggYmluIGluIDYgVGFnZW4gdm9uIEdhbnphbUFyc2NoIGJpcyBhdWYgUGxhdHogNjY5MiBhdWZnZXN0aWVnZW4sIG1pdCAxOTM1CkJsb2NrcyB1bmQgY2EuIDY3MGtreWVzL3MuIEljaCBmaW5kIGRhcyBzY2hvbiBvaywgYWJlciBtZWhyIGlzdCBiZWkgbWlyIG5pY2h0CmRyaW4gOy0oLgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogU2F0aXN0aWsg3zItMTItMTk5NyAoSGFuZ292ZXIsICAyLiBEZXogMTk5NywgMTQ6MDg6NDEpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MTA1Mzg3OCByZz1yYzUKfiMhIHRpZD04ODEwNTMxNTQKTW9pbiEKCkFiZXIgc29uc3QgaGFidCBpaHIga2VpbmUgUHJvYmxlbWU/IEljaCBoYWIgUkM1IGVoZXIgYWxzIFNwYXNzYWt0aW9uIG1pdAplaW5lbSBtYWVzc2lnIGVybnN0ZW4gSGludGVyZ3J1bmQgZ2VzZWhlbiwgYWJlciB3ZW5uIGRhcyBoaWVyIHNjaG9uIAp3aWVkZXIgaW4gU2Nod2FjaG1hdGlzbXVzIHVuZCBkdW1tZXMgR2VzdWVsemUgYXVzYXJ0ZXQsIHVlYmVyd2llZ3QgZWhlcgpkaWUgQWJzY2hyZWNrdW5nLi4uCgpIYW5nb3ZlcgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IG5ldHpwcm9ibGVtZSAoTXlzdGVyaW91cywgIDIuIERleiAxOTk3LCAxODoyMTowMik6Cn4jISBybj1GeXQgcnQ9ODgxMDU1MjU0IHJnPXJjNQp+IyEgdGlkPTg4MTA1NTI1NApuaSBoYW8hCgpobW0uLi4uCgppcyB2aWVsbGVpY2h0IG5lIHVlYmVyZmx1ZXNzaWdlIGZyYWdlLCAKCmFiZXIgYmlzdCBkdSBzaWNoZXIsIGRhc3MgZGVpbmUgbmV0enZlcmJpbmR1bmcgYXVjaCBrbGFwcHQ/PwoKYmVpIG1pciBnYWJzIG51ciByYW5kb20tYmxvZWNrZSwgYWxzIGljaCB1ZWJlciBkaWUgZmlyZXdhbGwgbm9jaCBuaWNoCnJ1ZWJlcmthbSAoYWJlciBqZXR6dCBncmFiIGljaCBtaWNoIHVudGVuIGR1cmNoKS4uLgoKdmllbGxlaWNodCB3dXJkZSBqYSBpbnp3aXNjaGVuIHNvd2FzIGJlaSBldWNoIGluc3RhbGxpZXJ0PyAoaG1tLi4uIGFiZXIgZGFzCmhhZXR0ZXN0IGR1IHNpY2hlcmxpY2ggYmVtZXJrdCA+OikKCmxvZXNjaCBkb2NoIG1hbCBkaWUgYnVmZmVyLCBzdGFydGUgZGVuIGNsaWVudCBuZXUgdW5kIHNjaGF1IGdlbmF1LCB3YXMgZXIgZGlyCmZ1ZXIgbWVsZHVuZ2VuIGF1c3dpcmZ0IChwZXIgbG9nZmlsZSkgdW5kIHBvc3RlIGRhcyBnYW56ZSBtYWwgaGllcmhlci4uLgoKaXJnZW5kd28gZ2lidCBlcyBhdWNoIG5lIG1haWxpbmctbGlzdGUgZGF6dSAobXVzc3RlIG1hbCBiZWkgZGlzdHJpYnV0ZWQKc3VjaGVuKS4uCgoqaG9lZmxpY2ggdmVybmVpZyoKICAgICAgIGRBIG15c1RlUmlPdXMKCnAucy46IGhhdCBqZW1hbmQgc2Nob24gZGVuIDAyLWNsaWVudCBnZXByb2JidD8gYnJpbmd0IGRlciB3YXMgZ2VnZW51ZWJlciBkZW0KMDFlcj8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBTYXRpc3RpayDfMi0xMi0xOTk3IChKaW1kaWdyaXosICAyLiBEZXogMTk5NywgMTg6NDI6NTgpOgp+IyEgcm49S2V5IHJ0PTg4MTA1NDA3OCByZz1yYzUKfiMhIHRpZD04ODEwNTMxNTQKTW9pbiwKCmFsc28gd2lyIHdhcmVuIGRlZmluaXRpdiBzY2hvbiB1ZWJlciAxMDVNa2V5cy9zIHN1c3RhaW5lZCEKTWl0dGxlcndlaWxlIGlzdCBlcyBsZWlkZXIgd2llZGVyIHVudGVyIGRpZSBoYWVsZnRlIGFiZ2VzdW5rZW4gOigoCktsYXIgZGllIFdlbHQgZ2VodCBhdWNoIHNvIHVudGVyIDspLCBhYmVyIGNvb2wgd2FlcnMKd2VubiB3aXIgd2llZGVyIHp1IHVuc2VyZXIgYWx0ZW4gRm9ybSBmaW5kZW4uCldvcmFuIGtvZW5udGUgZXMgZGVubiBsaWVnZW4gPyAKVmllbGxlaWNodCBoYWJlbiBqYSBlaW5pZ2UgYWxsZQpJaHJlIGNsaWVudHMgc2Nob24gbGFlbmdlciBuaWNodCBtZWhyIHVlYmVycHJ1ZWZ0IG9iCnNpZSBub2NoIGxhdWZlbiA/IChpY2ggbXVzcyB0YWVnbGljaCB3ZWxjaGUgbmV1IHN0YXJ0ZW4sCndlaWwgZGllIFJlY2huZXIgaGFsdCBhdWNoIG1hbCByZWJvb3RlbikKCkljaCBkcnVlY2sgdW5zIHdlaXRlciBkaWUgRGF1bWVuIDotKQoKQ2lhbywKIEppbSBEaUdyaXogLSBjYSA1TWtleXMvcyBzdXN0YWluZWQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogbmV0enByb2JsZW1lIChGeXQsICAyLiBEZXogMTk5NywgMTk6MjA6NTMpOgp+IyEgcm49TXlzdGVyaW91cyBydD04ODEwODMyNjIgcmc9cmM1Cn4jISB0aWQ9ODgxMDU1MjU0CgpQcm9ibGVtIGdlbG9lc3QuLi4gbGV0enRsaWNoIHdhciBkaWUgVXJzYWNoZSBuZSBLb21iaW5hdGlvbiBhdXMgQXVzZmFlbGxlbiBpbQpSZWNoZW56ZW50cnVtIGhpZXIgdW5kIG1laW5lciBVbmZhZWhpZ2tlaXQsIG1pY2ggZGVuIG5ldWVuIEJlZGluZ3VuZ2VuCmFuenVwYXNzZW4gOy0pCgpGeXQuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBuZXR6cHJvYmxlbWUgKFJhZmZpLCAgMi4gRGV6IDE5OTcsIDE5OjM3OjQ4KToKfiMhIHJuPUZ5dCBydD04ODEwODY4NTMgcmc9cmM1Cn4jISB0aWQ9ODgxMDU1MjU0ClVuZCB3YXMgbGVybmVuIHdpciBkYXJhdXMgPwoKSW5idWZmZXIgZ3Jvc3MgZ2VudWcgZGltZW5zaW9uaWVyZW4hIEplZGVzIE5ldHoga2FubiBtYWwgYWJnZWllcm4uCgpBbSBiZXN0ZW4gSW5idWZmID0yMDAuCgpHcnVzcwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTYXRpc3RpayDfMi0xMi0xOTk3IChMYXJpc3NhLCAgMy4gRGV6IDE5OTcsIDA5OjUxOjM0KToKfiMhIHJuPUtleSBydD04ODEwNTM0NzAgcmc9cmM1Cn4jISB0aWQ9ODgxMDUzMTU0CkpvLCBtZWluZSBNZWludW5nIQoKV2VubiBtYW4gYmVkZW5rdCwgZGFzIG1pdCBlaW5lciAnTG9lc3VuZycgZXJzdCBpbiBtZWhyZXJlbiBNb25hdGVuCnp1IHJlY2huZW4gaXN0Li4uCkFsc28gdW5kIChKb2YgdW5kIG1pcikgbWFjaHRzIGVpbmZhY2ggU3Bhc3MgZGFiZWkgenUgc2VpbiB1bmQgZGllCnRhZWdsaWNoZW4gRm9ydHNjaHJpdHRlIHp1IGJlb2JhY2h0ZW4uCgpHcnVlc2UsIExhcmkKOikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClN0YXRpc3RpayAoR3JpbW1ib3JuLCAgOS4gRGV6IDE5OTcsIDE3OjU0OjA0KToKTnVyIGt1cnogendpc2NoZW5kdXJjaDoKR2VzZXJuIGhhdHRlIG11ZC5kZSBndXRlIDUwTWtleS9zIHVuZCB3YXIgZGFtaXQgYXVmIFBsYXR6IDE0LiBEYXMgVGVhbSBhdWYKUGxhdHogMSByZWNobmV0IHJ1bmQgMTVtYWwgc292aWVsLCBuYWVtbGljaCA3OTBNa2V5L3MuIEJlZWluZHJ1Y2tlbmQuLi4gKHp1bWFsCmRhcyBzbyBlaW4ga29taXNjaGVzIE1hYy1UZWFtIGlzdCkuCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGF0aXN0aWsgKFJhZmZpLCAgOS4gRGV6IDE5OTcsIDE4OjE5OjA4KToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODE2ODY0NDQgcmc9cmM1Cn4jISB0aWQ9ODgxNjg2NDQ0CldlciB3ZWlzIHdhcyBmdWVyIGVpbmUgUG93ZXItUEMtQmFuayBkaWUgaGFiZW4gOikKCkFiZXIgYW0gV0Ugd2FyZW4gd2lyIGphIHNvZ2FyIFBsYXR6IDEyIC0gMyBwbGFldHplIFZPUiB1bmkuZGUgLi4uIHdvbGxlbiB3aXIKbmljaHQgZW5kbGljaCBncmFlZGlnIHNlaW4gdW5kIHNpZSBpbiB1bnNlciBUZWFtIGF1Zm5laG1lbiA/CgpHcmlucwpILgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YXRpc3RpayAoRGVudGksICA5LiBEZXogMTk5NywgMjE6Mjg6NTIpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTg4MTY4NjQ0NCByZz1yYzUKfiMhIHRpZD04ODE2ODY0NDQKCktvbWlzY2hlcyBNYWMtVGVhbSA7KSkKCkljaCBrYW5uIGRhenUgbnVyIHNhZ2VuLCBkYXNzIGVpbiBQb3dlci1NYWMgZXh0cmVtIHNjaG5lbGwgdW5kIGd1dCBrbmFja3QsIAptZWluIFBQQyA2MDQtMTIwIChvZGVyIFBvd2VyTWFjIDg1MDAtMTIwKSBtYWNodCBzbyB1bSAzNDBra2V5cy9zLCBkYSBlcyAKaW56d2lzY2hlbiB2b24gZGllc2VtIFByb3plc3NvcnR5cCBWYXJpYW50ZW4gYmlzIG1pbmRlc3RlbiAzMDAgTWh6IHVuZCBtaXQKYmlzIHp1IDQgUHJvemVzc29yZW4gcHJvIE1hYyBnaWJ0LCBpc3QgbWFuIHNlaHIgc2NobmVsbCBiZWkgZWluZXIgZXh0cmVtIApob2hlbiBLZXlyYXRlLiBJbnp3aXNjaGVuIGdpYnQgZXMgYXVzc2VyZGVtIGRlbiBOYWNoZm9sZ2UtUHJvemVzc29yLCBkZXIgbm9jaAptYWwgYmVkZXV0ZW5kIHNjaG5lbGxlciBpc3QuCgpEYXMgVGVhbSBhdWYgUGxhdHogMSAoTWFjLUV2YW5nZWxpc3RhIG9kZXIgc28pIGlzdCB3b2hsIGVpbiBUZWFtIHZvbiBBcHBsZQpzZWxiZXIsIGV2ZW50dWVsbCBlaW4gaW5vZmZpemllbGxlcywgbWFuIGRhdm9uIGF1c2dlaGVuLCBkYXNzIGRpZSBlaW5mYWNoIApzZWhyIHZpZWxlIE1hY3MgbmljaHRzIGFuZGVyZXMgdHVuIGxhc3Nlbi4KCk51ciBzbyBhbHMga2xlaW5lIFJhbmQtaW5mbwoKRGVudGkgbGFlc3N0IHNlaW5lbiBNYWMgYXVjaCBuaWNodHMgYW5kZXJlcyB0dW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFN0YXRpc3RpayAoTWFyY3VzLCAxMC4gRGV6IDE5OTcsIDEzOjM1OjUxKToKfiMhIHJuPURlbnRpIHJ0PTg4MTY5OTMzMiByZz1yYzUKfiMhIHRpZD04ODE2ODY0NDQKVW5kIGF1c3NlcmRlbSBnZWhvZXJ0IE1BQyBtaXQgenUgZGVuZW4sIGRpZSBSQzUgcmljaHRpZyBzY2huZWxsIGJlcmVjaG5lbgprb2VubmVuICh3aWUgZGllIEludGVsIHg4NiBQcm96ZXNzb3JlbiksIHVuZCBkYWR1cmNoIHNlbGJzdCB3ZXNlbnRsaWNoIG1laHIKTGVpc3R1bmcgYWxzIGRpZSBnYW56ZW4gU3BhcmNzIHVuZCBIUHMgaGFiZW4uLi4KCkNpYW8sIE1hcmN1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTmV1ZXIgQ2xpZW50IGZ1ZXIgTWFjcyAoTmVyZGFuZWwsIDEwLiBEZXogMTk5NywgMTQ6NTM6MzkpOgpGdWVyIG1hY3MgZ2lidHMgc2VpdCB2b3JnZXN0ZXJuIGVpbmVuIENsaWVudCwgZGVyIGF1ZiA2MDMgdW5kIDYwNCBQcm96ZXNzb3Jlbgp1bSAxMSUgc2NobmVsbGVyIGlzdC4gWnVkZW0ga2FubiBtYW4gZGFtaXQgMTAwMCBCbG9lY2tlIGJ1ZmZlcm4uIEFsc28gc29mb3J0CmhlcnVudGVybGFkZW4gOy0pClNpZWhlIGh0dHA6Ly93d3cuZGlzdHJpYnV0ZWQtbWFjLm5ldC9jbGllbnRzL2luZGV4Lmh0bWwKCk4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKENhdHdlYXpsZSwgMTYuIERleiAxOTk3LCAxMzowNTozNik6Cn4jISBvbj1MaSBvdD04ODIyNzEyMzcgb2c9YWxsZ2VtZWluZXMKfiMhIHJuPUNhdHdlYXpsZSBydD04ODIyNjk3ODcgcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIyNjk3ODcKS2FubiBtaXIgbWFsIGplbWFuZCBlcmtsYWVyZW4sIHdhcnVtIGRhcyBuaWNodCBzaWNoZXIgc2VpbiBzb2xsPyBXZW5uIGRhcwpnYW56ZSBJbnRlcm5ldCB2ZXJzdWNodCwgZGVuIENvZGUgaGVyYXVzenViZWtvbW1lbiwgdW5kIGRhc3NpY2hlcmxpY2ggYXVjaAppcmdlbmR3YW5uIHNjaGFmZnQsIGhlaXNzdCBkYSBkb2NoIG5pY2h0LCBkYXNzIGFpY2ggZWluemVsbmUgSGFja2VyCmRhc3NjaGFmZmVuLCBvZGVyIGlycmUgaWNoIG1pY2ggZGE/CmJpbiBpY2ggenUgZG9vZiwgdW0gZGFzenUga2FwaWVyZW4sIG9kZXIgaXN0IGRhcyBudXIgZWluIG5ldWVzIHNjaGlja2VzLAphdWZnZWJsYWVodGVzICJFdmVudCIgaW0gSW50ZXJuZXQ/CkljaCBtZWluLCBkYXMgUHJlaXNnZWxkLCBvaywgYWJlciBzb25zdD8KTGkgCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChDYXR3ZWF6bGUsIDE2LiBEZXogMTk5NywgMTM6MDU6NDQpOgp+IyEgb249TGFyaXNzYSBvdD04ODIyNzE4OTggb2c9YWxsZ2VtZWluZXMKfiMhIHJuPUxpIHJ0PTg4MjI3MTIzNyByZz1hbGxnZW1laW5lcwp+IyEgdGlkPTg4MjI2OTc4NwpBbHNvLAppY2ggZGVua2UgZXMgZ2FodCBkYXJ1bSB6dSB6ZWlnZW4sIGRhc3MgZXMgbW9lZ2xpY2ggaXN0Cm1pdCBnZW51ZWdlbmQgUmVjaG5lcm4gc3BpcmNoIEdlbGQgZWluZW4gQ29kZSB6dSBrbmFja2VuLApkZXIgd2FzX3dlaXNzX2ljaF93YXMgZnVlciB0b2xsZSBSZWdpZXJ1bmdzL01pbGl0YWVyL1NvbnN0d2FzLQpHZWhlaW1uaXNzZSBiZWh1ZXRldC4KClVuZCBkYXMgc29sbCBqYSBuaWNodCwgZ2VsbGU/CgpMYXJpLCBtYWNodCBhdWNoIG1pdC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChDYXR3ZWF6bGUsIDE2LiBEZXogMTk5NywgMTM6MDU6NTgpOgp+IyEgb249Q2F0d2VhemxlIG90PTg4MjI3Mzc4MCBvZz1hbGxnZW1laW5lcwp+IyEgcm49TGFyaXNzYSBydD04ODIyNzE4OTggcmc9YWxsZ2VtZWluZXMKfiMhIHRpZD04ODIyNjk3ODcKCmV4YWt0IQoKRGFtYWxzICwgYWxzIGRpZSBhbmdlZmFuZ2VuIGhhYmVuLCBoYXQgbmV0c2NhcGUgc2VpbmUgVmVyY3J5cHR1bmdzc2FjaGVuIG5vY2gKbWl0IDQwYml0IHZlcnNjaGx1ZXNzZWx0LiBEZXIgd3VyZGUgaW4gY2EuIDMuNSBTdHVuZGVuIGdla25hY2t0IQpLdXJ6IGRhcmF1ZiBoYXQgbmV0c2NhcGUgYXVjaCBob2VoZXIgdmVyc2NobHVlc3NlbHQuIFp1c2FldGxpY2ggZ2lidCBlcyBpbgpBbWVyaWthIHNvIGVpbiBzZWx0c2FtZXMgZXhwb3J0LWdlc2V0eiwgbmFjaGRlbSBtYW4gYmVzdGltbXRlIHZlcnNjaGx1ZXNzZWx0ZQpTYWNoZW4gbmljaHQgZXhwb3J0aWVyZW4gZGFyZi4gQWJlciBkYSBrZW5uIGljaCBtaWNoIG5pY2h0IGdlbmF1IGF1cywgZGEKbXVlc3N0ZSBzaWNoIG1hbCBlaW4gUHJvZmkgenUgZXJrbGFlcmVuLgpBdWNoIGRhZ2VnZW4gZ2VodCBkaWVzZSByYzUta2FtcGFnbmUuCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKENhdHdlYXpsZSwgMTYuIERleiAxOTk3LCAxMzowNzoxMyk6Cn4jISBvbj1ZZW5kaSBvdD04ODIyNzQwMDMgb2c9YWxsZ2VtZWluZXMKfiMhIHJuPUxhcmlzc2EgcnQ9ODgyMjcxODk4IHJnPWFsbGdlbWVpbmVzCn4jISB0aWQ9ODgyMjY5Nzg3CgouLi4uIGF1c3NlcmRlbSBpc3QgZGF2b24gYXVzenVnZWhlbiwgZGFzcyBSZWdpZXJ1bmcvTWlsaXRhZXIvU29uc3R3YXMgc2VsYmVyCmVpbmUgTWVuZ2UgUmVjaG5lciBoYXQsIGRpZSBhdWNoIHp1bSBTY2hsdWVzc2Vsa25hY2tlbiBlaW5nZXNldHp0IHdlcmRlbgprb2VubmVuLiAKCkljaCB3dWVyZGUgbWljaCBzaWNoZXJlciBmdWVobGVuLCB3ZW5uIGljaCB3dWVzc3RlLCBkYXNzIGVzIGVpbmVuIFNjaGx1ZXNzZWwKZ2lidCwgZGVuIHNlbGJzdCAzNyBaaWxsaW9uZW4gTmV0enVzZXIgbWl0IHZlcmVpbnRlbiBLcmFlZnRlbiBlcnN0IG5hY2ggMTkKV29jaGVuIGdla25hY2t0IGhhYmVuIC0tIGRhbm4gcmVjaG5lIGljaCBtaXIgYXVzLCBkYXNzIGRpZSBIZXJyZW4gaW4gZGVuClRyZW5jaGNvYXRzIHdvaGwgYXVjaCBlaW5lbiBoYWxiZW4gTW9uYXQgYnJhdWNoZW4gd2VyZGVuLi4uCgpZZW5kaSAtLQogICAgICAgICBoYXQgbmljaHRzIHp1IHZlcmJlcmdlbiwgYWJlciB3ZW5uLCBkYW5uIHdpbGwgZXIgZXMgd2VuaWdzdGVucyB2b3IKICAgICAgICAgX2FsbGVuXyB2ZXJiZXJnZW4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFBhdHJ5biwgMTYuIERleiAxOTk3LCAxNDo1Nzo0Nyk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODgyMjczOTQ0IHJnPXJjNQp+IyEgdGlkPTg4MjI2OTc4NwppY2ggZGVuayBtYWwsIGRlciBjb250ZXN0IHdpcmQgZGFzIGdlZ2VudGVpbCB2b24gZGVtIGVycmVpY2hlbiwgd2FzIGVyCmVpZ2VudGxpY2ggYmV6d2Vja3QuIHp1bSBkZXJ6ZWl0aWdlbiB6ZWl0cHVua3Qga2FubiBtYW4gZWluZW4gNjRiaXQKc2NobHVlc3NlbCBkdXJjaGF1cyBhbHMgc2ljaGVyIGJldHJhY2h0ZW4sIGRlbm4gZGllIHdpcmtsaWNoIGdlaGVpbWVuCmRhdGVuIHdlcmRlbiBhdWNoIHdpcmtsaWNoIGJlc3NlciB2ZXNjaGx1ZXNzZWx0IDopCndlbm4gZGVyIGNvZGUgaW4gaGlucmVpY2hlbmQgdmVybnVlbmZ0aWdlciB6ZWl0IGdla25hY2t0IHdlcmRlbiBzb2xsLCBkYW5uCmlzdCBzZWxic3QgbWl0IGRlciBkZXJ6ZWl0aWdlbiBnZWJhbGx0ZW4gcmVjaGVucG93ZXIgZWluIGhlZnRpZ2VyCmdsdWVja3N0cmVmZmVyIG5vZXRpZywgd2llIG1hbiBhbiBkZW4gemFobGVuIGxlaWNodCBlcmtlbm5lbiBrYW5uLgpmdWVyIGJhbmtnZXNjaGFlZnRlLCBwb3N0LCBwZXJzb2VubGljaGUgZGF0ZW4gaXN0IGVzIG1laHIgYWxzIGF1c3JlaWNoZW5kLgpkYSBnaWJ0IGJlcXVlbWVyZSBhbnNhdHpwdW5rdGUsIHVtIHNvIGV0d2FzIGF1c3p1c3BpZW9uaWVyZW4sCmxlaXR1bmdlbiB1bWxlaXRlbiwgZWxla3Ryb21hZ25ldGlzY2hlIGVtaXNzaW9uZW4gYW5hbHlzaWVyZW4gKG1vbml0b3JlIHpCKSwKa2xhc3Npc2NoZSBzcGlvbmFnZXRlY2huaWtlbiA7KQoKLS0tLS0tCnBhdHJ5bgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFd1cnplbCwgMTYuIERleiAxOTk3LCAxOTowMjo0Mik6Cn4jISBybj1QYXRyeW4gcnQ9ODgyMjgwNjY3IHJnPXJjNQp+IyEgdGlkPTg4MjI2OTc4Nwo+ZGllIHdpcmtsaWNoIGdlaGVpbWVuIGRhdGVuIHdlcmRlbiBhdWNoIHdpcmtsaWNoIGJlc3NlciB2ZXNjaGx1ZXNzZWx0IDopCgpzdGltbXQuIGJlaSBkZXIgZ2FuemVuIGRpc2t1c3Npb24gd2lyZCBpbW1lciB3aWVkZXIgbGVpY2h0IHVlYmVyc2VoZW4sIGRhc3MKZXMgYXVjaCB1bmtuYWNrYmFyZSB2ZXJzY2hsdWVzc2VsdW5nZW4gZ2lidC4gZGllIHNpbmQgbnVyIG5pY2h0IHNvIGxlaWNodApwcm9ncmFtbXRlY2huaXNjaCB6dSByZWFsaXNpZXJlbiB3aWUgZGFzLCB3YXMgZGEgamV0enQgZ2VrbmFja3Qgd2VyZGVuIHNvbGwuCm1pdCBicnV0ZSBmb3JjZSBnZWh0IGViZW4gbnVyIF9mYXN0XyBhbGxlcy4KCnd1cnplbAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFJvY2h1cywgMTYuIERleiAxOTk3LCAxOTowNTo0NSk6Cn4jISBybj1XdXJ6ZWwgcnQ9ODgyMjk1MzYyIHJnPXJjNQp+IyEgdGlkPTg4MjI2OTc4NwpEYXMgZWluemlnZSBWZXJzY2hsdWVzc2VsdW5nc3ZlcmZhaHJlbiwgdm9uIGRlbSBCRVdJRVNFTiBpc3QsIGRhc3MgZXMKdW5rbmFja2JhciBpc3QsIGlzdCBzZWhyIGxlaWNodCBwcm9ncmFtbXRlY2huaXNjaCB6dSByZWFsaXNpZXJlbi4KTnVyIGRlciBTY2hsdWVzc2VsYXVzdGF1c2NoIGlzdCBkYXMgUHJvYmxlbSA6KQoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChBdmFsb24sIDE2LiBEZXogMTk5NywgMjI6NDk6MDIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4MjI3Mzk1OCByZz1yYzUKfiMhIHRpZD04ODIyNjk3ODcKSGksCgppY2ggeml0aWVyIG1hbCBuIHdlbmlnIGF1cyBuZXIgVm9ybGVzdW5nIHZvbiBoZXV0ZS4uLgpzaW5uZ2VtYWVzcywgdmVyc3RlaHQgc2ljaC4gRXMgYmVnYWIgc2ljaCwgZGFzcyBkaWVzZXMgdm9uIERpcgphbmdlc3Byb2NoZW5lIEV4cG9ydGdlc2V0eiAoVmVyc2NobHVlc3NlbHVuZ3NhbGdvcml0aG1lbiBmYWxsZW4KZGVtZ2VtYWVzcyBpbiBkaWUgS2F0ZWdvcmllICdXYWZmZW5tdW5pdGlvbicpIGRhenUgZnVlaHJ0ZSwgZGFzcwooRXVyb3BhZWVyIHNpbmQgamEgYXVjaCBuaWNodCBibG9lZCkgaW4gRXVyb3BhIHZlcm1laHJ0IEZpcm1lbgphdXMgZGVtIEJvZGVuIHd1Y2hzZW4sIGRpZSBlYmVuc29sY2hlIGVudHdpY2tlbHRlbiB1bmQgdmVyLQprYXVmdGVuLiBVbmQgZGFzcyBGaXJtZW4gaW4gQW1lcmlrYSBudW4gaWhyZXJzZWl0cyB6dW5laG1lbmRzCkFuZ3N0IHVtIGlocmUgUHJvZHVrdGUgYmVrYW1lbiwgenVtaW5kZXN0IHVlYmVyIGRlcmVuIEFic2F0egppbiBub24tVVNBLiBVbmQgdmVybWVocnQgRHJ1Y2sgYXVmIGlocmUgR2VzZXR6Z2ViZXIgYXVzdWVidGVuLgpTb2Rhc3MgZGllc2UgRXhwb3J0YmVzY2hyYWVua3VuZ2VuIG51biBuYWNoIHVuZCBuYWNoIGdlbG9ja2VydAp3dXJkZW4gdW5kIHdlcmRlbiAtIGFuZ2VibGljaCBiZXJlaXRzIGltIEJhbmtlbmJlcmVpY2gsIHdvIGVzCnVtIHZpZWwgR2VsZCBnZWh0IChuaWNodCBudXIgd29lcnRsaWNoKS4gVW5kIHNvIHdpcmQgZXMgc2ljaAp3b2hsIGJlZ2ViZW4sIGRhc3MgZGllIFdpcnRzY2hhZnQgZGFzIGxldHp0ZSBXb3J0IGhhYmVuIHdpcmQuClVuZCBuaWNodCBkaWUgUG9saXRpay4KCndvb2R5Li0KClBTLiBJY2ggd3VlcmRlIGRpZSBWb3JsZXN1bmcgamEgbGllYmVuZCBnZXJuIHdlaXRlcmVtcGZlaGxlbiwKICAgIGFiZXIgZGllIHdlbmlnc3RlbiB3ZXJkZW4gbmFjaCBXaWVuIGtvbW1lbiB3b2xsZW4gOiksIHVuZAogICAgenVkZW0gZ2lidHMgbnVyIG5vY2ggZWluZW4gQmxvY2sgaW0gSmFlbm5lci4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNDogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKEhlbHZhLCAxNy4gRGV6IDE5OTcsIDE4OjMxOjM2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODIyNzM5NTggcmc9cmM1Cn4jISB0aWQ9ODgyMjY5Nzg3ClNvIHdlaXQgaWNoIHdlaXNzLCB2ZXJ3ZW5kZW4gZGllIEFtaXMgZWluZW4gMTQyLWJpdCBjb2RlIChhdWYgamVkZW4gRmFsbCB1YmVyCjE0MCBiaXQsIGljaCBtZWluZSB3aXJrbGljaCAxNDItIG9kZXIgZ2VodCBkYXMgYXVzIG1hdGhlbWF0aXNjaGVuIEdydWVuZGVuCm5pY2h0LSBzb3JyeSwgYmluIGtlaW4gTmF0d2kgb2RlciBzbyBldHdzLCBkZXIgZGFzIGdsZWljaCB1ZWJlcmJsaWNrdCA7KSApLgpIZWx2YQpQLlMuIGJlaSBlcm5zdGhhZnRlbSBJbnRlcmVzc2Ugc2NoYXVlIGljaCBkaWUgQml0emFobCBhdWNoIG5vY2htYWwgbmFjaC4uLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeNTogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFBhdHJ5biwgMTcuIERleiAxOTk3LCAxODo0MDo1Nyk6Cn4jISBybj1IZWx2YSBydD04ODIzNzk4OTYgcmc9cmM1Cn4jISB0aWQ9ODgyMjY5Nzg3CmRhIGplZGUgc2NobHVlc3NlbGxhZW5nZSBkZW5rYmFyIGlzdCwgZ2lidCBlcyBuaWNodCAnZGVuIGNvZGUsIGRlbiBkaWUgYW1pcwp2ZXJ3ZW5kZW4nLiBkaWUgaGFiZW4gYWxsZXMgbW9lZ2xpY2hlIGltIGVpbnNhdHosIGR1IHdpcnN0IGRvcnQgenVtaW5kZXN0CmthdW0gYXVmIGVpbmVyIGtyZWRpdGthcnRlIGVpbmVuIDEyOCBiaXQtY29kZSBmaW5kZW4sIHVlaWJyaWdlbnMgZWluZQpkZXJ6ZWl0IG1laHIgYWxzIGF1c3JlaWNoZW5kZSBzY2hsdWVzc2VsbGFlbmdlLCBtaXQgZGVyIG1hbiBkaWUKZ2FuemUgZGlza3VzaW9uIGVyc2NobGFnZW4ga29lbm50ZS4gbGVpZGVyIGhhYmVuIGRpZSBnZWhlaW1kaWVuc3RlIGRlcgp3ZWx0IGRvcnQgYXVjaCBlaW4gd29lcnRjaGVuIG1pdHp1cmVkZW4uIGF1c3NlcmRlbSBzdGVpZ3QgZGVyIHJlY2hlbmF1ZndhbmQKZnVlciBncm9lc3NlcmUgc2NobHVlc3NlbGxhZW5nZW4gYXVjaCwgd2VubiBkZXIgc2NobHVlc3NlbCBiZWthbm50IGlzdCwKendhciBudXIgc2VociBiZXNjaGVpZGVuIGltIHZlcmdsZWljaCB6dW0gZHVyY2hwcm9iaWVyZW4sIGFiZXIgaW1tZXJoaW4Kc28gc3RhcmssIGRhc3MgZWluIDEsNTAgRE0gcHJvemVzc29yIGluIGRpZSBrbmllIGdlaHQuCgotLS0tLS0KcGF0cnluCgpQUzogc29sbHRlIGplbWFscyBqZW1hbmQgZWluZW4gZ2VzY2hsb3NzZW5lbiBhdXNkcnVjayBmaW5kZW4sIHVtIHp1IGVpbmVyCiAgICBwcmltemFobCBzZWluZW4gendpbGxpbmcgaGVyYXVzenVmaW5kZW4gb2RlciBhdWNoIG51ciBlaW5lbgogICAgcHJpbXphaGx0ZXN0IG9obmUgZHVyY2hwcm9iaWVyZW4sIGRhbm4gc29sbHRlIGVyIGVzIGJlc3NlciBmdWVyIHNpY2gKICAgIGJlaGFsdGVuLCBzZWluIGxlYmVuIGlzdCBkYW5uIGJlc3RpbW10IG5pY2h0IG1laHIgdmllbCB3ZXJ0IDopCgpQU1M6IGVpbiBuaWNodCBhdWYgcHJpbXphaGxlbiBiYXNpZXJlbmRlcyB2ZXJmYWhyZW4sIHdlbGNoZXMgbWF0aGVtYXRpc2NoCiAgICAgYmV3ZWlzc2JhciBzaWNoZXIgaXN0LCBicmF1Y2h0IGVpbmVuIHN0b2Vyc2VuZGVyLCB3ZWxjaGVyIHp1ZmFsbHNmb2xnZW4KICAgICB2b24gemFobGVuIGxpZWZlcnQuIGRlciBhdWZ3YW5kIGlzdCBkZXNoYWxiIHJlY2h0IGhvY2gsIGRlbm4gZGllCiAgICAgc2NobHVlc3NlbCBhZW5kZXJuIHNpY2ggaW0gcHJpbnppcCB1bnVudGVyYnJvY2hlbiB1bmQgc293b2hsIHNlbmRlcgogICAgIGFscyBhdWNoIGVtcGZhZW5nZXIgYnJhdWNoZW4gZ2xlaWNoemVpdGlnZW4genVncmlmZiBkYXJhdWYuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoRW5kZXIsIDE4LiBEZXogMTk5NywgMDk6Mzk6MzQpOgp+IyEgcm49UGF0cnluIHJ0PTg4MjM4MDQ1NyByZz1yYzUKfiMhIHRpZD04ODIyNjk3ODcKWndpbGxpbmcgZWluZXIgUHJpbXphaGwKCkRhcyBoYWJlIGljaCBuaWNodCB2ZXJzdGFuZGVuLCBvYndvaGwgaWNoIHdlaXNzLCB3YXMgbmUgUHJpbXphaGwgaXN0LgpWaWVsZWljaHQga2FubnN0IER1IGRhcyBtYWwgZXJsYWV1dGVybi4gSWNoIHdpbGwgbWFsIHNlaGVuIG9iIGljaCBlaW5lbiBmaW5kZW4Ka2Fubi4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoUm9uZGEsIDE4LiBEZXogMTk5NywgMDk6NDM6MDQpOgp+IyEgcm49RW5kZXIgcnQ9ODgyNDM0Mzc0IHJnPXJjNQp+IyEgdGlkPTg4MjI2OTc4NwpFcyBnZWh0IGRhcnVtLCBlaW5lIG1vZWdsaWNoc3QgZ3Jvc3NlIFByaW16YWhsIHggenUgZmluZGVuLCBiZWkgZGVyIGF1Y2ggeCsyCmVpbmUgUHJpbSBpc3QuLi4KRGllIERpbmdlciB3ZXJkZW4sIGplIGhvZWhlciBEdSBnZWhzdCwgaW1tZXIgc2VsdGVuZXIuLi4KQmVudXR6dCBtYW4gZ2xhdWIgY2kgaGFjdWggZnVlciBWZXJzY2hsdWVzc2VsdW5nZW4/Pz8KClJvbmRhICp1bndpc3NlbmQgYWJlciBtaXQgZ2VzdW5kZXIgSGFsYmJpbGR1bmcgOikqCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV42OiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoQWNyaW1vbiwgMTkuIERleiAxOTk3LCAxOTo1OToyOSk6Cn4jISBybj1QYXRyeW4gcnQ9ODgyMzgwNDU3IHJnPXJjNQp+IyEgdGlkPTg4MjI2OTc4NwpXYXJ1bSBzb2xsdGUgamVtYW5kZXMgTGViZW4sIGRlciBlaW5lbiBzY2huZWxsZW4gUHJpbXphaGx0ZXN0IGZpbmRldCwgbmljaHQKbWVociB2aWVsIHdlcnQgc2Vpbj8KCkVzIGlzdCBub2NoIGtlaW5lciBkYXJhbiBnZXN0b3JiZW4sIGRhc3ogZXIgZGllIEZhc3QtRm91cmllci1UcmFuc2Zvcm1hdGlvbgplbnRkZWNrdCBoYXQuCgpBY3JpbW9uLCBkZXIgUm90ZSBSaXR0ZXIKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjc6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChHcmltbWJvcm4sIDE5LiBEZXogMTk5NywgMjA6MTU6MjApOgp+IyEgcm49QWNyaW1vbiBydD04ODI1NTc5Njkgcmc9cmM1Cn4jISB0aWQ9ODgyMjY5Nzg3Cldlbm4gRHUgZWluZSBNZXRob2RlIGZpbmRlc3QsIG1pdCBkZXIgRHUgcHJha3Rpc2NoIHNhZW10bGljaGUgR2VoZWltZGllbnN0ZQp1bmQgTWlsaXRhZXJzIGRpZXNlciBFcmRlIGhvZWNoc3RncmFkaWcgZ2VmYWVocmRlc3QsIGRhbm4gX2lzdF8gRGVpbiBMZWJlbgpuaWNodCBtZWhyIHZpZWwgd2VydC4gRGVyIE1laW51bmcgYmluIGljaCBhbGxlcmRpbmdzIGF1Y2guCldhcnVtPyBXZWlsIGVzIHdvaGwga2VpbiBQcm9ibGVtIGlzdCwgSW5mbyB2b20gIkZlaW5kIiBpbiBkaWUgRmluZ2VyIHp1CmJla29tbWVuLiBNYW4ga2FubiBzaWUgbnVyIGljaHQgZW50c2NobHVlc3NlbG4uIFVuZCBtYWNoIGRhcyB2b24gaGV1dGUgYXVmCm1vcmdlbiBlbnRzY2hsdWVzc2VsYmFyLi4uCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IFJDNSBrYW5uIGltbWVyIG5ldWUgUmVjaG5lciBnZWJyYXVjaGVuISBIYWVuZyBEaWNoIHJlaW4hIChBY3JpbW9uLCAxOS4gRGV6IDE5OTcsIDIwOjQzOjAwKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODI1NTg5MjAgcmc9cmM1Cn4jISB0aWQ9ODgyMjY5Nzg3ClNhZ2VuIHdpciwgR3JpbW1ib3JuIGhhdCBpbiBlaW5lbSBHZWlzdGVzYmxpdHogZWluZW4gc2NobmVsbGVuIFByaW16YWhsdGVzdApnZWZ1bmRlbi4KCkRhbm4gaXN0IEdyaW1tYm9ybnMgTGViZW4gYWxsZXJkaW5ncyBudXIgc28gbGFuZ2UgZ2VmYWVocmRldCwgd2llIGVyIGRpZXNlcwpWZXJmYWhyZW4gbm9jaCBfbmljaHRfIHZlcm9lZmZlbnRsaWNodCBoYXQuCgpXZW5uIGVyIGVzIGRhbm4gdmVyb2VmZmVudGxpY2h0IGhhdCwgZGFubiBzaW5kIGRpZSBHZWhlaW1kaWVuc3RlIG5pY2h0IG1laHIKYXVmIHNlaW5lbiBUb2QgZXJwaWNodCwgd2VpbCBzaWUgZGFubiBkdXJjaCBzZWluZW4gVG9kIGRhcyBCZWthbm50d2VyZGVuCmRpZXNlcyBBbGdvcml0aG11cyBuaWNodCBtZWhyIHZlcmhpbmRlcm4ga29lbm5lbi4KCihTaWUga29lbm50ZW4gaG9lY2hzdGVucyBlaW5lbSB6d2VpdGVuIEdyaW1tYm9ybnNjaGVuIEdlaXN0ZXNibGl0eiB2b3JiZXVnZW4uKQoKQWNyaW1vbiwgZGVyIFJvdGUgUml0dGVyCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV45OiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoUmFmZmksIDE5LiBEZXogMTk5NywgMjI6MTY6NTMpOgp+IyEgcm49QWNyaW1vbiBydD04ODI1NjA1ODAgcmc9cmM1Cn4jISB0aWQ9ODgyMjY5Nzg3CkR1IHZlcmdpc3N0IGRhcyBNZW5zY2hlbiBpbSBhbGxnZW1laW5lbiBiZWkgc293YXMgcmVjaHQga2xlaW5saWNoIHVuZApOYWNodHJhZ2VuZCBzaW5kIC4uLiB6dW0gYW5kZXJlbiBkZW5rZSBpY2ggZ2lidHMgZ2FyYW50aWVydCBrZWluZQpEaWVuc3RhbndlaXN1bmcgZnVlcnMgbmljaHR1bWJyaW5nZW4gOikKCkdydXNzCkguCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSQzUgKFJhZmZpLCAxOS4gRGV6IDE5OTcsIDIyOjE3OjQxKToKQWNoIGphIC0gc2Nob2VuZXMgV0UgLSB1bmQgYWxsZSBkaWUgaGV1dGUgbGV0enRtYWxpZyB2b3IgaWhyZW0gUmVjaG5lciBzaXR6ZW46ClJlY2huZXIgbWl0IFJDNSB1ZWJlciBXZWlobmFjaHRlbiBEdXJjaGxhdWZlbiBsYXNzZW4gIQoKR3J1c3MKSC4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSQzUgKEFuYXRvbCwgMTkuIERleiAxOTk3LCAyMjoyMTozNyk6Cn4jISBybj1SYWZmaSBydD04ODI1NjYyNjEgcmc9cmM1Cn4jISB0aWQ9ODgyNTY2MjYxClZlcmdpc3MgZXMuIERpZSAiIENsaWVudC1Qcm9ncmFtbWllcmVyIHNpbmQgc2ljaCB3b2hsIHp1IHNjaGFkZSwgaWhyZW4KQ2xpZW50IGF1Y2ggZnVlciBOZVhUIG1hY2gtaTM4NiB6dSB1ZWJlcnNldHplbi4uLi4gaWNoIGhhZXR0ZSBlaW4gRHV6ZW5kClBlbnRpdW1zIHJlY2huZW4gbGFzc2VuIGtvZW5uZW4uLi4gRGFzcyBkZXIgQUlYLUNsaWVudCBudXIgdW50ZXIgQUlYIDQuKgpsYWV1ZnQsIG11c3MgaWNoIHZlcm11dGxpY2ggbmljaHQgZXJ3YWVobmVuLgoKVGphLCBzY2hhZGUgOikKQW5hdG9sCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKTkVVIC0gREVTIElJIChNaWthLCAyMi4gRGV6IDE5OTcsIDEwOjIxOjMzKToKSXQncyBhIGdvLgoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzdHJpYnV0ZWQubmV0IHdpbGwgYmUgYWNjZXB0aW5nIHRoZSBSU0EgREVTCklJIENoYWxsZW5nZS4gV2UgYXJlIHZlcnkgbXVjaAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbiB0b3Agb2YgaXQsIGFuZCBjbGllbnRzIHdpbGwgYmUgcmVhZHkgYW5kCnRlc3RlZCBiZWZvcmUgOTowMCBBTSAoUFNUKSBvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDEydGgsIDE5OTggd2hlbiB0aGUgY29udGVzdCBzdGFydHMuIE5ldwpjbGllbnRzIHdpbGwgYmUgZW5oYW5jZWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBhIGR1YWwgJ2NvcmUnIGFuZCBvbiBKYW4gMTJ0aCB3ZSdsbCBzdGFydApzZW5kaW5nIG91dCBERVMgZGF0YSBpbnN0ZWFkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIFJDNS02NCBkYXRhLiBTZXZlcmFsIHYzIGZlYXR1cmVzIHdpbGwgYWxzbwpiZSB0ZXN0ZWQgb3V0IGluIHRoZSBoeWJyaWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50cyB0byBzZWUgaG93IHRoZXkgd2lsbCBwZXJmb3JtLiBXZSBhcmUKYWxzbyB3b3JraW5nIG9uIGdldHRpbmcgdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1cHBvcnQgb2YgdGhlIFNPTE5ldCBjb29yZGluYXRvciBhbmQgdGhlCkRFU0NIQUxMIEd1cnUgYXMgd2VsbC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHdlIGNhbiBnZXQgdGhlIGZ1bGwgc3VwcG9ydCBvZiB0aGUKZGlzdHJpYnV0ZWQubmV0IGNvbW11bml0eSwgd2Ugc2hvdWxkCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIGFibGUgdG8gYmVhdCBERVMgYWdhaW4gYW5kIHNob3cganVzdCBob3cKd2VhayBERVMgcmVhbGx5IGlzIGluIDE5OTgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFyZWQgdG8gdGhlIHBoZW5vbWVuYWwgY29tcHV0aW5nIHBvd2VyIG9mCmRpc3RyaWJ1dGVkLm5ldAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV0YWlscyB3aWxsIGJlIHBsYWNlZCBvbgpodHRwOi8vd3d3LmRpc3RyaWJ1dGVkLm5ldC9kZXMvIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcyB0aGV5IGJlY29tZSBhdmFpbGFibGUuCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLUFkYW0gTC4gQmViZXJnIAoKU29ycnkgZnVlciBkYXMgbWllc2UgRm9ybWF0Li4uCgpNaWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4xMDogUkM1IGthbm4gaW1tZXIgbmV1ZSBSZWNobmVyIGdlYnJhdWNoZW4hIEhhZW5nIERpY2ggcmVpbiEgKFllbmRpLCAyMi4gRGV6IDE5OTcsIDE0OjM1OjU3KToKfiMhIHJuPVJhZmZpIHJ0PTg4MjU2NjIxMyByZz1yYzUKfiMhIHRpZD04ODIyNjk3ODcKTmEsIHdlbm4gR3JpbW1pIGRpZSBLbmFja2VyLUZvcm1lbCB2ZXJvZWZmZW50bGljaHQsIGJldm9yIGVpbiBHZWhlaW1kaWVuc3QgaWhuCnVtYnJpbmdlbiBrb25udGUsIGRhbm4gd2VyZGVuIGRpZSBIZXJyZW4gaW4gZGVuIFRyZW5jaGNvYXRzIGlobiB2ZXJtdXRsaWNoCmZ1ZXIgaWhyZW4gUmVjaG5lcnBhcmsgYW5oZXVlcm4gd29sbGVuIC0tIGZ1ZXIgMTBLRE0gaW0gTW9uYXQsIERpZW5zdHdhZ2VuLApEaWVuc3R3b2hudW5nLCBHZXNwaWVsaW5uZW4sIEx1c3RrbmFiZW4sIExhZW1tZXIgb2RlciBNZWxvbmVuIG5hY2ggR3VzdG8gZnJlaQpIYXVzLCBhYmVyIEJJVFRFQklUVEUsIGhhYiBub2NoIGVpbm1hbCBzbyBlaW5lIElkZWUuLi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjExOiBSQzUga2FubiBpbW1lciBuZXVlIFJlY2huZXIgZ2VicmF1Y2hlbiEgSGFlbmcgRGljaCByZWluISAoQXVncmEsIDIyLiBEZXogMTk5NywgMTk6MDk6MTgpOgp+IyEgcm49WWVuZGkgcnQ9ODgyNzk3NzU3IHJnPXJjNQp+IyEgdGlkPTg4MjI2OTc4NwpXZXIgc29sbCBiZWkgZGVyIGdhbnplbiBBYmxlbmt1bmcgbm9jaCBtYWwgbmUgZ3V0ZSBJZGVlIGhhYmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IE5FVSAtIERFUyBJSSAoR3JpbW1ib3JuLCAyMi4gRGV6IDE5OTcsIDIwOjA3OjM3KToKfiMhIHJuPU1pa2EgcnQ9ODgyNzgyNDkzIHJnPXJjNQp+IyEgdGlkPTg4Mjc4MjQ5MwpLbGVpbmVyIFRpcDogU29uIFpldWNocyBlcnN0IGluIGVpbmVuIEVkaXRvciBwYXN0ZW4sIG5ldSBmb3JtYXRpZXJlbiwgdW5kIGVyc3QKZGFubiBpbiBkaWUgbXBhIHBhc3RlbiB1bmQgYWxsZSBzaW5kIGdsdWVja2xpY2guCgpHcmltbWJvcm4gZGVyIEF0aGVpc3QKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBTdGF0aXN0aWsgKENoZWFzeSwgMjUuIERleiAxOTk3LCAxOTozODoyOCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODgxNjg2NDQ0IHJnPXJjNQp+IyEgdGlkPTg4MTY4NjQ0NApEYXMgbWFjLXRlYW0gaGF0IG5lbiBrbGFyZW4gVm9ydGVpbDogd2VzZW50bGljaCBtZWhyIHJlZ2lzdGVyIHBybyBwcm96ZXNzb3IsCnVuZCB3ZXNlbnRsaWNoIHNjaG5lbGxlcmUgcHJvemVzc29yZW4uIHdlbm4gaWNoIG1pY2ggbmljaHQgaXJyZSwgbGFldWZ0IGRlcgpnZXNhbXRlIGtleS1BbGdvcml0aG11cyB2b2xsc3RhZW5kaWcgaW0gY2FjaGUsIHNhZW10bGljaGUgdmFyaWFibGVuIGxpZWdlbiBpbgpyZWdpc3Rlcm4uIE5hamEsIGcnc2NoZWl0ZSBwcm96ZXNzb3JlbiBicmluZ2VuIG1laHIgYWxzIG11bHRpbWVkaWEgOi0pKSkKLUNoZWFzeQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2VyIGZhZWxzY2h0IGRpZSBzY2hvZW5zdGUgU3RhdGlzdGlrPyAoWGVudSwgMjcuIERleiAxOTk3LCAxNjo1NDozNyk6CihBbGxlIExlc2VyIG1pdCBha3V0ZXIgTWF0aGUtcGhvYmllIG1vZWdlbiBiaXR0ZSBuaWNodCB3ZWl0ZXJsZXNlbiA6KQpXZWl0ZXN0Z2VoZW5kIGJla2FubnQgaXN0LCBkYXNzIGRpZSBTdGF0cyBpbW1lciBub2NoIGJlaW0gMTYuMTIuIGhhZW5nZW4uClppdGF0OgonV29yayBvbiBzdGF0cyBoYXMgbm93IHJlc3VtZWQsIGFuZCB3ZSBleHBlY3QgdGhlbSB0byBiZSBiYWNrIGluIG9wZXJhdGlvbiAKIGFmdGVyIHRoaXMgd2Vla2VuZC4nICAgKHJjNXN0YXRzLmRpc3RyaWJ1dGVkLm5ldC9zdGF0c21zZy5odG1sKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIApBYmVyIGV4dHJhcG9saWVyZW4ga2FubiBtYW4gamEgdHJvdHpkZW06CgpBbHNvIGJlaSBrb25zdGFudCBibGVpYmVuZGVyIEtleXJhdGUgcj0xMDc2NTc4MSBra2V5cy9zZWMgZXJnaWJ0IHNpY2gKZWluZSBTY2hsdWVzc2VsZnVua3Rpb24gayh0KT0gcip0CmQuaC4gZGVyKGRpZT8vZGFzPykgS2V5c3BhY2UgaXN0IGRhbm4gbmFjaCBjYS4gNTQgSmFocmVuIGVyc2Nob2VwZnQuCihkYXMgc29sbHRlbiBkaWUgbWVpc3RlbiB2b24gdW5zIGRvY2ggd29obCBub2NoIGVybGViZW4uIDotKQoKQmVpIGRlciBBbm5haG1lLCBkYXNzIGRpZSBSZWNoZW5sZWlzdHVuZyByKHQpIGdsZWljaG1hZXNzaWcgYW5zdGVpZ3QsCmthbm4gbWFuIGsodCk9YSp0KnQrYip0IGFuc2V0emVuLgpadXNhbW1lbiBtaXQgZGVuIGsoNTQgZCk9MTI0NzMyODk1IEJsb2Vja2VuIHNvd2llIHIoNTQgZCkgd2llIG9iZW4ga29tbWUgaWNoCmF1ZiBudXIgbm9jaCBjYS4gMTc2NSBUYWdlIGJpcyAxMDAlIGVycmVpY2h0IHNpbmQuCihadW0gVmVyZ2xlaWNoIGZhbGxzIGVpbmVyIG5hY2hyZWNobmVuIHdpbGw6IGE9MjE0MDAgQmwuL2QvZCAgYj0xMTU1MDAwIEJsLi9kKQpBbHNvIG51ciBldHdhIDQgSmFocmUgdW5kIDEwIE1vbmF0ZSEKClVuZCBzY2hsaWVzc2xpY2ggZ2lidCBlcyBqYSBhdWNoIG5vY2ggZXhwb25lbnRpZWxsZXMgV2FjaHN0dW0sCihldHdhICdNci4gR2F0ZXMgKFVuLSlWZXJtb2VnZW4gdmVyZG9wcGVsdCBzaWNoIGFsbGUgMTUgTW9uYXRlIC4uLicpCndlbm4gaWNoIGFsc28gZGllIFdlcnRlIG5hY2ggNTQgVGFnZW4gaW4Kayh0KT1BKihleHAoQip0KS0xKSBlaW5zZXR6ZSAoZGllIC0xIGJyYXVjaGUgaWNoIGZ1ZXIgaygwKT0wKSwKZXJnZWJlbiBzaWNoIG51ciBjYS4gNDExIFRhZ2UgKHZvbiBkZW5lbiA2MCBzY2hvbiB2b3JiZWkgc2luZCkuCkRlbXp1Zm9sZ2UgbXVlc3N0ZSBkZXIgRXJmb2xnIG5vY2ggaW4gJzk4IGtvbW1lbi4gOi0wCihBPTg5MzcwMDAwIEJsLiAgICBCPTAsMDE2MTgvZCkKCgpVbmQgZGFzIGlzdCBhbGxlcyBNYXRoZW1hdGlrLCBhbHNvIHdhaHIgOy0pLgoKClhlbnUsIApNUEEtT2ZmbGluZS1MZXNlciwgbGllYnQgU3RhdGlzdGlrZW4gb2huZSBGZWhsZXJiZXRyYWNodHVuZy4uLgogIApQLlMuCkNhdHdlYXpsZSBoYXQsIHdlbm4gaWNoIHJpY2h0aWcgZ2Vob2VydCBoYWJlLCBhdWNoIG5vY2ggZWluZSBWZXJzaW9uIG1pdCAKOCBKYWhyZW4sIHVudGVyIGRlciBQcmFlbWlzc2UsIGRhc3Mgc2ljaCBkaWUgSGFyZHdhcmVsZWlzdHVuZyBhbGxlIAoxOCBNb25hdGUgdmVyZG9wcGVsdCAoTW9vcmVzIEdlc2V0eikuCgpVbmQgc2NobGllc3NsaWNoIGthbm4gbWFuIGRpZSBUaGVzZSBuaWNodCB2b2VsbGlnIHZvbiBkZXIgSGFuZCB3ZWlzZW4sIApkaWUgZ2VzYW10ZSBSZWNoZW5sZWlzdHVuZyB3dWVyZGUgc2ljaCBpbiBldHdhIHdpZSBkaWUgTWVuZ2UgZGVyIHp1CnJvdXRlbmRlbiBEYXRlbiBlbnR3aWNrZWxuIChWZXJkb3BwbHVuZyBhbGxlIDYgTW9uYXRlIGx0LiBjJ3QgSGVmdCAxNiBTLjE1MCkKClAuUC5TCmFiZXIgdW5pLmRlIHNjaGxhZ2VuIHdpciBkb2NoIGxvY2tlciA7LSkpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdGF0aXN0aWsgKFhlbnUsIDI3LiBEZXogMTk5NywgMTY6NTk6MzcpOgp+IyEgcm49Q2hlYXN5IHJ0PTg4MzA3NTEwOCByZz1yYzUKfiMhIHRpZD04ODE2ODY0NDQKClRhdHNhZWNobGljaCBrbmFja3QgZWluIFBvd2VyUEMgYmVzdGVuZmFsbHMgY2EuIDI1JSBzY2huZWxsZXIgYWxzIGVpbgpnbGVpY2hzY2huZWxsIGdldGFrdGV0ZXIgSW50ZWwuIChzaWVoZSBSQzVzIHNwZWVkIHBhZ2VzKQoKVW0gRXZhbmdlTGlzdGEncyBTdGF0aXN0aWsgenUgZXJyZWljaGVuIGR1ZXJmdGVuIGtuYXBwZSAKNjIwIFBvd2VyTWFjJ3MgKDMwMCBNSHopIDI0IFN0dW5kZW4gYW0gVGFnIG5pY2h0cyBhbmRlcmVzIG1laHIgdHVuLgoKCkRpZSBlaWdlbnRsaWNoZSBTdGFlcmtlIHZvbiBkZW0gImtvbWlzY2hlbiBNYWMtVGVhbSIgbGllZ3Qgd29hbmRlcnM6CgoiRXZhbmdlTGlzdCBzdGFydGVkIGFzIGEgbGlzdHNlcnZlciB0byBnZXQgaW5mb3JtYXRpb24gYW5kIGdvb2QgbmV3cyB0byB0aGUgCm9mZmljaWFsIGFuZCB1bm9mZmljaWFsLCBwYWlkIGFuZCB1bnBhaWQgZXZhbmdlbGlzdHMgb2YgTWFjaW50b3NoLCBQaXBwaW4sIApOZXd0b24sIGFuZCBBcHBsZSBDb21wdXRlci4KICAgICBJdCBoYXMgZXhwbG9kZWQgaW4gc2l6ZSBhbmQgaW5mbHVlbmNlLiBBcyBvZiBKdWx5LCAxOTk2IHRoZXJlIGFyZSAKYWJvdXQgNDAsMDAwIGRpcmVjdCBzdWJzY3JpYmVycyB0byB0aGUgbGlzdC4gVXNpbmcgQWRhbSBFbmdzdCdzIHJ1bGUgb2YgCnRodW1iIHRoYXQgNyBwZW9wbGUgcmVhZCB0aGUgbWVzc2FnZXMgb24gYSBsaXN0c2VydmVyIGZvciBldmVyeSAxIHRoYXQgaXMgCmRpcmVjdGx5IHN1YnNjcmliZWQsIGFib3V0IDI4MCwwMDAgcGVvcGxlIHJlYWQgRXZhbmdlTGlzdC4KICAgICBFdmFuZ2VMaXN0IGlzIG5vdCBhIGxpc3Qgc2VydmVyIHRvIHRhbGsgdG8gb3RoZXJzLiBBbGwgdGhlIHBvc3RpbmdzIApjb21lIGZyb20gR3V5IEthd2FzYWtpLiBIaXMgZ29hbCBpcyB0byBoZWxwIHlvdSBzcHJlYWQgdGhlIHdvcmQgYWJvdXQgQXBwbGUncwppbnNhbmVseSBncmVhdCBjb21wdXRlcnMgYW5kIFBEQXMsIHNvIHRoZXJlIGlzIG5vICJza3ktaXMtZmFsbGluZyIganVuayAKb24gRXZhbmdlTGlzdC4gKFlvdSBjYW4gZ2V0IHRoYXQgaW4gbWFueSBvdGhlciBwbGFjZXMuKSIKKHd3dy5ldmFuZ2VsaXN0Lm1hY2FkZGljdC5jb20vaW50cm8uaHRtbCkKCk1pdCBhbmRlcmVuIFdvcnRlbjoKV2VyIGF1Y2ggaW1tZXIgc2ljaCBkYXp1IGJlcnVmZW4gZnVlaGx0LCBkZW0gUmVzdCBkZXIgV2VsdCB6dSBQcmVkaWdlbiwKZGFzcyBBcHBsZSBkaWUgYmVzdGVuIENvbXB1dGVyIHVlYmVyaGF1cHQgaGVyc3RlbGx0LCB3aXJkIG1pdCBob2hlciAKV2FocnNjaGVpbmxpY2hrZWl0IGZydWVoZXIgb2RlciBzcGFldGVyIGF1ZiBkaWVzZW4gIk5hY2hyaWNodGVuZGllbnN0IgpzdG9zc2VuLgpVbmQgUkM1IGVpZ25ldCBzaWNoIGRhIG5hdHVlcmxpY2ggb3B0aW1hbCBhbHMgQmV3ZWlzbWl0dGVsLgoKTWl0IHNvdmllbCBQdXRlcidwb3dlciB1bmQgSWRlYWxpc211cyBrYW5uIHdvaGwga2F1bSBlaW4gYW5kZXJlcyBUZWFtCmtvbmt1cnJpZXJlbi4KCgogICAuLi4uLm9vb29vT09PT09DQ0NDQ0lJSUlJLy8vLy9cL1wvXC9cL1wvIFggWCBYIFggWGVudQoKY2V0ZXJ1bSBjZW5zZW8gdW5pdmVyc2l0YW0uZGUgZXNzZSBkZWZlbmRhbS4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpuYWNocmljaHQgKExvbmRvLCAgMi4gSmFuIDE5OTgsIDA0OjMyOjA2KToKa3VyeiB1bmQgc2NobWVyemxvczoKd2llIG1hY2h0IG1hbiBtaXQ/CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogbmFjaHJpY2h0IChDYXR3ZWF6bGUsICAyLiBKYW4gMTk5OCwgMTA6MTE6NDMpOgp+IyEgcm49TG9uZG8gcnQ9ODgzNzExOTI2IHJnPXJjNQp+IyEgdGlkPTg4MzcxMTkyNgpodHRwOi8vd3d3LmFlaS1wb3RzZGFtLm1wZy5kZS9+d2VocmVucy9yYzUvCgpZVEMgKGh1Y2gsIGVpbiBFaW56ZWlsZXIgOi0pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpNb3JnZW4gc3RhcnRldCBkZXIgREVTLUNoYWxsZW5nZSEhISEgKENhdHdlYXpsZSwgMTIuIEphbiAxOTk4LCAxMjoyNjoxOCk6CgpHcmVldGluZ3MKCmRpc3RyaWJ1dGVkLm5ldCBnb2VzIHRvIFdhciBhZ2FpbnN0IERFUyBJSToKClRoZSBjb250ZXN0IHN0YXJ0cyBKYW4gMTN0aCwgMTk5OCwgYXQgOUFNIFBTVCAoR01ULTgpCgpDbGllbnRzIGFuZCBwcm94aWVzIHdpbGwgYmUgYXZhaWFsYWJsZSBtb25kYXkuIFBsZWFzZSB3YXRjaCB0aGUgY2xpZW50cyBwYWdlIApjbG9zZWx5IGZvciB0aGVtIGFuZCB1cGRhdGUgeW91ciBtYWNoaW5lcyBhcyBzb29uIGFzIHlvdSBjYW4uCgpOb3RlIHRoYXQgdGhlIG9sZCBjbGllbnRzIHdpbGwgdGFsayB0byBhIG5ldyBwcm94eSwgYnV0IG5vdCB0aGUgb3RoZXIgd2F5CmFyb3VuZCwgc28geW91IG5lZWQgdG8gdXBkYXRlIHlvdXIgcGVyc29uYWwgcHJveHkgaWYgeW91IHVzZSBvbmUgRklSU1QuCgpXZSBuZWVkIGFsbCB0aGUgcG93ZXIgd2UgY2FuIGdldCwgYXMgcXVpY2tseSBhcyB3ZSBjYW4gZ2V0IGl0LiBUaGlzIGlzIGEKc2hvcnQgdGVybSBwcm9qZWN0IHRoYXQgd2UgaG9wZSB0byBDUlVTSCBpbiBsZXNzIHRoZW4gMyB3ZWVrcy4gVGVsbCB5b3VyCmZyaWVuZHMsIHRlbGwgeW91ciBmYW1pbHksIHRlbGwgdGhlIGdlZWsgbmV4dCBkb29yLgoKVGhpcyBpcyBhYm91dCBob3cgZmFzdCB3ZSBjYW4gZ2V0IExPVFMgb2YgcGVvcGxlIGFuZCB0aGVpciBjb21wdXRlcnMgcnVubmluZwp0aGUgbmV3IGNsaWVudHMgdG8gY3JhY2sgREVTLiBERVMgSUkgaXNuJ3QgbG9uZyBlbm91Z2ggdG8gd29ycnkgYWJvdXQgb3VyCmluZGl2aWR1YWwgb3IgdGVhbSBzdGF0cywgb25seSB0aGUgZnVsbCBzdGF0cyBvZiBkaXN0cmlidXRlZC5uZXQKCiAgQWRhbSBMLiBCZWJlcmcKICBiZWJlcmdAZGlzdHJpYnV0ZWQubmV0CiAgZGlzdHJpYnV0ZWQubmV0IGZvdW5kZXIKICBodHRwOi8vd3d3LmlpdC5lZHUvfmJlYmVyZy8KLS0tLS0KCktsaW5ndCBqYSBnYXIgbmljaHQgc2NobGVjaHQsIDMgV09jaGVuIDotKQpBbHNvIExldXRlLCBoYWVuZ3QgRXVjaCByZWluLi4uCgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBNb3JnZW4gc3RhcnRldCBkZXIgREVTLUNoYWxsZW5nZSEhISEgKEFuYXRvbCwgMTIuIEphbiAxOTk4LCAxNjoyNTozMSk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODg0NjA0Mzc4IHJnPXJjNQp+IyEgdGlkPTg4NDYwNDM3OApXYXMgbnU/IFJDNS02NCBvZGVyIERFUz8gS29lbm50IGlociBldWNoIG5pY2h0IG1hbCBlaW5pZ2VuPwoKQW5hdG9sCgpQUzogRGEgaGF0IHNpY2ggZGVyIFN5c3RlbWFkbWluaXN0cmF0b3IgZGVyIEluZm9ybWF0aWsgc2ljaCB2b3JoaW4gZG9jaAogICAgZ2xhdHQgZGFmdWVyIGVudHNjaHVsZGlndCwgZGFzcyBzaWUgZGFzIE5ldHogbmV1IGJvb3RlbiBtdXNzdGVuIHVuZAogICAgbWVpbmUgcmM1LWNsaWVudGVuIGRhYmVpIHRlcm1pbmllcnQgd3VyZGVuLi4uICpzY2htdW56ZWwqIEljaCBtYWcgZGVuCiAgICBUeXAsIHdpcmtsaWNoIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFdlciBmYWVsc2NodCBkaWUgc2Nob2Vuc3RlIFN0YXRpc3Rpaz8gKEZ5dCwgMTIuIEphbiAxOTk4LCAxNzo1MDoyMyk6Cn4jISBybj1YZW51IHJ0PTg4MzIzODA3NyByZz1yYzUKfiMhIHRpZD04ODMyMzgwNzcKCkRlaW5lIFphaGxlbiBoYWJlbiBhbGxlbmZhbGxzIHdhcyBtaXQgU3RhdGlzdGlrIHp1IHR1bi4KCkZ5dCwgd2lzc2VuZCwgd2FydW0gZGllIG1laXN0ZW4gZW5nbGlzY2hlbiBVbmliaWJsaW90aGVrZW4gU3RhdGlzdGlrYnVlY2hlcgp3ZWl0IHdlZyB2b24gTWF0aGVtYXRpa2J1ZWNoZXJuIGF1ZmJld2FocmVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGVzY2xpZW50PyByYz8gKEJpZXJjaGVuLCAxNC4gSmFuIDE5OTgsIDAyOjQ2OjAyKToKTW9pbiwgCmtvZW5udGUgbWFsIGRhcyBqZW1hbmQga29vcmRpbmllcmVuPyB3ZWxjaGVuIHdldHRiZXdlcmIgc29sbGVuIHdpciBudW4KdW50ZXJzdHVldHplbiwgd2VsY2hlbiBuaWNodCwgd2VsY2hlIHplaXRzcGFubmUsIHdhcyB0cmFlZ3QgbWFuIHdvIGJlaSBkZW0KbmV1ZW4gZWluLi4gZXRjLiBvZGVyIHdlcmRlbiBoaWVyIG51ciBnZXJ1ZWNodGUgdm9uIHNwYWx0ZXJuIHVudGVyIGRpZSBsZXV0ZQpnZWJyYWNodCwgZGVubiBtZWhyIGFscyBnZXJ1ZWNodGUgdW5kIGR1bW1lIHNwcnVlY2hlIGhhYmUgaWNoIGJpc2hlciBuaWNodAp2ZXJub21tZW4uLi4gYWxzbzogcmM1IG9kZXIgZGFzIGRlc2NsaWVudCB0ZWlsPyB1bmQgd2VubiBkZXMsIHdpZSBmdW5rdGlvbmllcnQKZGFzIGRpbmc/IHp1bWluZGVzdCBiZWkgbWlyIHdhciBrZWluZXIgZGVyIGtleXNlcnZlciBlcnJlaWNoYmFyLi4uLgpncnVzcyAtIEJpZXJjaGVuIC0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBkZXNjbGllbnQ/IHJjPyAoQ2F0d2VhemxlLCAxNC4gSmFuIDE5OTgsIDEyOjI0OjExKToKfiMhIHJuPUJpZXJjaGVuIHJ0PTg4NDc0MjM2MiByZz1yYzUKfiMhIHRpZD04ODQ3NDIzNjIKW0FbQgpBYWFsc28hCgpERVMgb2RlciByYzUtNjQ/Ci0tLS0tLS0tLS0tLS0tLS0KRGVyIHJjNS02NC1jb250ZXN0IGhhdCBiaXMgaGV1dGUgKDE0LjEuOTgpIGNhLiAzIFByb21pbGxlIGRlcyBLZXlzcGFjZXMKZHVyY2hnZXJlY2huZXQuIER1IGthbm5zdCBEaXIgb2huZSB2ZXJzY2hvZW50ZSBBbm5haG1lbiBsZWljaHQgYXVzcmVjaG5lbiwKd2llIGxhbmdlIGVzIG5vY2ggbm9jaCBkYXVlcnQsIGJpcyBkZXIgcmljaHRpZ2UgS2V5IGdlZnVuZGVuIGlzdCwgbmFlbWxpY2gKSmFocmUuIApEZXIgREVTLUNvbnRlc3QgaGF0IG51ciBlaW5lbiA1Ni1iaXR0aWdlbiBTY2hsdWVzc2VsLCBpc3QgYWxzbyAyXjggbWFsCnNjaG5lbGxlciB6dSBkdXJjaGZvcnN0ZW4uIEplbWFuZCBiZWkgQm92aW5lIGhhdCBhdXNnZXJlY2huZXQsIGRhcyBtaXQKZGVyIGFrdHVlbGxlbiBSZWNoZW5wb3dlciBkZXIga2V5IGluIDI1LjYgdGFnZW4genUga25hY2tlbiBpc3QsIHZvcnJhdXMtCmdlc2V0enQgbmF0dWVybGljaCwgX2FsbGVfIFRlaWxuZWhtZXIgd3VlcmRlbiBERVMgc3RhdHQgcmM1IHJlY2huZW4uCkVzIGlzdCBhbHNvIGtlaW4gUHJvYmxlbSwgZGVuIHJjNTY0IGZ1ZXIgNCBXb2NoZW4genUgcGF1c2llcmVuIHVuZCBhbSBERVMKdGVpbHp1bmVobWVuLCBlciB2ZXJzcHJpY2h0IGluIHZpZWwga3VlcnplcmVyIFplaXQgbWVociBFcmZvbGcuCkFtIGJlc3RlbiBhbHNvIGpldHp0IGF1ZiBERVMgYXVmcnVlc3RlbiwgdW5kIGRhbmFjaCBhbSByYzU2NCB3ZWl0ZXJyZWNobmVuLgoKV2llIHN0ZWxsIGljaCB1bSBhdWYgREVTPwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCk51biwgZHUgYnJhdWNoc3QgZWluZW4gbmV1ZW4gQ2xpZW50IFZlcnNpb24gMi43LCBkaWVzZXIgYmVoZXJyc2NodCBkaWUgCkRFUy1SZWNobnVuZy4gTGVpZGVyIGdpYnQgZXMgZGVuIGJpc2hlciAoMTQuMS45OCwgMTE6MTUpIG51ciBmdWVyIFBDcy4KV2VubiBEdSBhbHNvIG5pY2h0IGF1ZiBlaW5lbSBQQyByZWNobmVzdCBibGVpYnQgZnVlciBEaWNoIGFsbGVzIGJlaW0gYWx0ZW4sCmZhbGxzIG5pY2h0LCBzb2xsdGVzdCBEdSBpbiBkZW4gbmFlY2hzdGVuIHRhZ2VuIG1hbCBiZWkgYm92aW5lIG5hY2hzZWhlbiwKb2IgZWluIGZ1ZXIgRGljaCBwYXNzZW5kZXIgQ2xpZW50IGRhIGlzdC4KCkNsaWVudCAyLjcwMDEKLS0tLS0tLS0tLS0tCkRlciBuZXVlIENsaWVudCBpc3QgbXVsdGlmdW5rdGlvbmFsIHVuZCBiZWhlcnNjaHQgZGllIEJlcmVjaG51bmcgdm9uIApiZWlkZW4gQmxvY2stQXJ0ZW4sIHNvd29obCByYzU2NCwgYWxzIGF1Y2ggREVTLiBKZSBuYWNoZGVtLCB3ZWxjaGUgCkJsb2Vja2UgZXIgdm9tIFByb3h5IGJla29tbXQsIHNjaGFsdGV0IGVyIHVtLiAKCldhcyBtdXNzIGljaCBiZWkgVjIuNyBuZXUgZWluc3RlbGxlbj8KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpadXNhZXR6bGljaCB6dW0gdWVibGljaGVuIEtyYW0sIGthbm4gbWFuIGJlaSA0cmM1ZGVzIC1jb25maWc0IG5vY2ggZWluCnBhYXIgZXh0cmEtT3B0aW9uZW4gZWluc3RlbGxlbi4gClp1YWxsZXJlcnN0IGhhYmVuIGRpZSBERVMtQmxvZWNrZSBlaWdlbmUgQnVmZmVyZmlsZXMgYnVmZi1pbi5kZXMgdW5kIApidWZmLW91dC5kZXMuIERhcmluIHdlcmRlbiB1bmFiaGFlbmdpZyB2b20gcmM1IGRpZSBCbG9lY2tlIHZlcndhbHRldC4KTWFuIGthbm4gYXVjaCBlaW5zdGVsbGVuLCB3aWUgZ3Jvc3MgZGllIEJsb2Vja2Ugc2VpbiBzb2xsZW4sIGRpZSAKbWFuIGJlcmVjaG5lbiB3aWxsICgyNzogUHJlZmVycmVkIEJsb2NrIFNpemUpLCBhYmVyIGRhIHd1ZXJkZSBpY2ggbmljaHQKZHJhbmdlaGVuLgpEaWUgQmVyZWNobnVuZyBlaW5lcyBERVMtQmxvY2tzIGRhdWVydCBpbiBldHdhcyBkcmVpbWFsIHNvIGxhbmdlLCB3aWUgCmVpbiByYzUtYmxvY2ssIGFsc28gd3VlcmRlIGljaCBlbXBmZWhsZW4sIGRpZSBERVMtQnVmZmVyIChwdW5rdCAzKQpnZWdlbnVlYmVyIGRlbiByYzUtYnVmZmVyd2VydGVuIHp1IGRyaXR0ZWxuLCBtdXNzIG1hbiBhYmVyIG5pY2h0LgpJbiBQdW5rdCAyNyBrYW5uIG1hbiBlaW5lIFByaW9yaXRhZXQgYW5nZWJlbiwgb2IgbWFuIHJjNS0gb2RlciBERVMtCkJsb2Vja2UgcmVjaG5lbiB3aWxsLiBEaWVzIHNvbGx0ZSBtYW4gYXVmIDIgU3RlbGxlbiAoREVTKS4KCk11c3MgaWNoIHdhcyBhZW5kZXJuLCB3ZW5uIERFUyBnZWtuYWNrdCBpc3Q/Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCktsYXJlcyBOZWluLgpXZW5uIGRlciBTY2hsdWVzc2VsIGdla25hY2t0IGlzdCwga29tbWVuIHZvbSBQcm94eSBrZWluZSBuZXVlbiAKREVTLUJsb2Vja2UgbWVociBuYWNoLCB1bmQgZGVyIENsaWVudCBmYWVuZ3QgYW4gd2VpdGVyIGFuIGRlbiByYzUtCkJsb2Vja2VuIHp1IHJlY2huZW4uIApXZW5uIGljaCBkYXMgcmljaHRpZyB2ZXJzdGFuZGVuIGhhYmUsIGJla29tbXQgZGVyIENMaWVudCBzb2dhciBuZSAKTmFjaHJpY2h0IHZvbSBQcm94eSB1bmQgd2lyZnQgZGllIHJlc3RsaWNoZW4gREVTLUJsb2Vja2Ugd2VnLgpEaWUgUHJpb3JpdHkgRGVpbmVzIENsaWVudHMgYnJhdWNoc3QgRHUgYXVjaCBuaWNodCB6dSBhZW5kZXJuLCBpaG4KYXVmIFByaW86REVTIHp1IGxhc3NlbiBpc3Qgc29nYXIgc2lubnZvbGwsIGRhIERFUyB3b2hsIGFsbGUgaGFsYmUKSmFocmUgbmV1IGF1c2dlc2NocmllYmVuIHdpcmQsIGRhbm4gZ2VodCBkZXIgZ2FuemUgU3Bhc3Mgdm9uIHZvcm5lCmxvcyA6LSkKClVuZCB3YXMgYnJpbmd0IERFUz8KLS0tLS0tLS0tLS0tLS0tLS0tLQpEZXIgREVTLUtleSBicmluZ3QgYXVjaCBLb2hsZSwgamUgZnJ1ZWhlciBlciBnZWtuYWNrdCB3aXJkLCBkZXN0byAKaG9laGVyIGRlciBHZXdpbm46CjIyLjUgVGFnZTogMTAwMDAkCjQ1IFRhZ2U6ICAgNTAwMCQKNjcuNSBUYWdlOiAxMDAwJApEYW5hY2ggZ2lidHMgbml4IG1laHIuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpQdXRCdWZmZXJFcnJvciAoQ2F0d2VhemxlLCAxNC4gSmFuIDE5OTgsIDEzOjQ4OjMyKToKTW9pbiEKCkhtLCBkZXIgbmV1ZSBDbGllbnQgMi43MDAxIGlzdCBNaXN0LCBiencuIGJ1Z2d5LiBNYW4ga2FubiBkYW1pdCBrZWluZSAKUkM1LUJsb2Vja2UgbWVociByZWNobmVuLCBiZWltIFdlZ3NjaHJlaWJlbiBkZXMgQmxvY2tzIG1hY2h0IGVyIApuZW4gUHV0QnVmZmVyRXJyb3IgdW5kIHNjaG1laXNzdCBkZW4gQmxvY2sgd2VnIDooCkljaCBoYWIgZGVuIEJ1ZyBzY2hvbiBhbiBCb3ZpbmUgZ2VtZWxkZXQsIHdhbm4gc2ljaCB3YXMgdHV0IGthbm4gaWNoCm5hdHVlcmxpY2ggbmljaHQgc2FnZW4uCk1hbiBrYW5uIGFuc3RhbmRzbG9zIERFUy1CbG9lY2tlIHJlY2huZW4sIGRhZnVlciBpc3QgZXIgZ2VlaWduZXQuIApEdSBzb2xsdGVzdCBEaXIgZGFubiBhYmVyIHJlY2h0emVpdGlnLCAgYmV2b3IgZXMgbWl0IHJjNSB3ZWl0ZXJnZWh0IGVpbmUKbmV1ZSBWZXJzaW9uIGdlaG9sdCBoYWJlbi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkZXNjbGllbnQ/IHJjPyAoR3JpbW1ib3JuLCAxNC4gSmFuIDE5OTgsIDE0OjE1OjM0KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODQ3NzcwNTEgcmc9cmM1Cn4jISB0aWQ9ODg0NzQyMzYyCk1laW5zdCBEdSBtaXQgImNsaWVudCBnaWJ0IGVzIG51ciBmdWVyIFBDIiAiY2xpZW50IGdpYnQgZXMgbnVyIGZ1ZXIgUEMiIG9kZXIKImNsaWVudCBnaWJ0IGVzIG51ciBmdWVyIFBDLWJhc2llcnRlIE1pY3Jvc29mdC1TeXN0ZW1lIj8KRC5oLiB3aWUgc2llaHRzIG1pdCBMaW51eCwgRnJlZUJTRCwgeDg2LVNvbGFyaXMsIE9TLzIuLi4gYXVzPwoKR3JpbW1ib3JuIGRlciBBdGhlaXN0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBkZXNjbGllbnQ/IHJjPyAoQ2F0d2VhemxlLCAxNC4gSmFuIDE5OTgsIDE0OjI0OjUzKToKfiMhIHJuPUdyaW1tYm9ybiBydD04ODQ3ODM3MzQgcmc9cmM1Cn4jISB0aWQ9ODg0NzQyMzYyCkhtLCBtaXQgUEMgbWVpbmUgaWNoIGRlbiBQcm96ZXNzb3IsIGFsc28ga29ua3JldGVyIHg4Ni4KQ2xpZW50cyBmdWVyIExpbnV4LCBGcmVlQlNEIHVucyBPUy8yIHNpbmQgZ2VuYXVzbyB3aWUgZGllIGZ1ZXIKTWljcm9zb2Z0LVByb2R1a3RlIHZvcmhhbmRlbi4KWDg2LVNvbGFyaXMgd29obCBub2NoIG5pY2h0LgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQdXRCdWZmZXJFcnJvciAoQ2F0d2VhemxlLCAxNC4gSmFuIDE5OTgsIDIxOjQzOjI0KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODQ3ODIxMTIgcmc9cmM1Cn4jISB0aWQ9ODg0NzgyMTEyCkhtLCBkYXMgUHJvYmxlbSBpc3QgZ2VrbGFlcnQuCkRlciBuZXVlIENsaWVudCBrb21tdCBtaXQgZGVuIGFsdGVuIGJ1ZmZlcm4gbmljaHQga2xhciwgbWFuIGthbm4gZGFtaXQgYWxzbwprZWluZSBCbG9lY2tlIGJlcmVjaG5lbiwgZGllIG1hbiBzY2hvbiBoYXQuIApFcmdvOiBFcnN0IGFsbGUgcmM1LWJsb2Vja2UgenVlbmRlIHJlY2huZW4sIGRhbm4gYXVmIGRlbiBuZXVlbiBjbGllbnQgCnVtc3RlaWdlbi4KRGFzIGRhcyBtZWdtYWVzc2lnZXIgTWlzdCBpc3QsIGJyYXVjaCBpY2ggd29obCBrZWluZW0genUgc2FnZW4gOigKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpyYzUgc3BlZWQgKEFuYWtpbiwgMjguIEphbiAxOTk4LCAxMDoyMzoxMCk6CkhpLAoKaWNoIHd1ZXJkZSBnZXJuZSBtYWwgd2lzc2VuLCB3ZWxjaGUgcHJvemVzc29yZW4vb3MvcmM1ZGVzIHZlcnNpb24KaWhyIGVpbnNldHp0IHVuZCB3aWV2aWVsZSBta2V5cyBkYXMgdGVpbCBkYW5uIHNjaGFmZnQuCkljaCBzYW1tZWwgZGllIGRhdGVuIHVuZCBkYW5uIG1hY2ggaWNoIG5vY2ggbmUgd2Vic2VpdGUgZGF2b24uCgpOZW4gQXBsaGEgNDMzIHVudGVyIERpZ2l0YWwgVW5peCA0LjAgbWl0IFJDNURFUyB2Mi43MDA1LjM4NyBtYWNodCAKZG9jaCB0YXRzYWVjaGxpY2ggMjUwMTk0OC41NCBLZXlzL3MuIAoKQW0gYmVzdGVuIGFscyBtYWlsIG9kZXIgaGllciBpbiBkaWUgcnVicmlrLgoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IHJjNSBzcGVlZCAoQW5ha2luLCAyOC4gSmFuIDE5OTgsIDExOjM2OjM2KToKfiMhIHJuPUFuYWtpbiBydD04ODU5NzkzOTAgcmc9cmM1Cn4jISB0aWQ9ODg1OTc5MzkwCkFjaGphLi4uCgpkaWUgV2VydGUgd2VyZGVuIGF1ZiBodHRwOi8vd3d3LmFlaS1wb3RzZGFtLm1wZy5kZS9+d2VocmVucy9yYzUvc3BlZWQuaHRtbApzdGVoZW4uCgpBbmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBcnRpa2VsIExhdGVzdCBhbm5vdW5jZSAoQ2F0d2VhemxlLCAgMy4gRmViIDE5OTgsIDA5OjIyOjMxKToKTW9pbiEKCkhpZXIgZGllIG5ldWVzdGUgTmFjaHJpY2h0IHZvbiBkZW4gcmM1LUp1bmdzLgpEYSBkaWUgMjIuNS1UYWdlLUZyaXN0IGZhc3Qgdm9yYmVpIGlzdCwgc29sbHRldCBpaHIgYWxsZSBpbmFrdGl2ZW4KUmVjaG5lciwgZGllIG1pdHJlY2huZW4sIHNwYWV0ZXN0ZW5zIG1vcmdlbiBlbnRsZWVyZW4sIGZhbGxzIGRhIApqYSBkb2NoIGRlciBLZXkgYmVpIGlzdCA6LSkuCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQotLS0tLQogCkdyZWV0aW5ncy4uLgogCkFzIG9mIHRvZGF5IHdlIGhhdmUgY29tcGxldGVkIDI1LjclIGFuZCB0aGUgREVTQ0hBTEwgY2xpZW50cyBoYXZlCmNvbXBsZXRlZCAwLjklIGJyaW5naW5nIHVzIHRvIDI2LjYlIHRocm91Z2ggdGhlIERFU0lJIGtleXNwYWNlIGF0IGEgcmF0ZQpvZiAxOE1rZXlzL3NlYyBvciAyLjElL2RheS4KIApBcyBvZiB0aGlzIHdyaXRpbmcsIG9ubHkgNTEgaG91cnMgcmVtYWluIHVudGlsIHRoZSAyMi41IGRheSBkZWFkbGluZS4KSG9wZWZ1bGx5IHdlJ2xsIGdldCBsdWNreSwgb3RoZXJ3aXNlIFJTQSBnZXRzIGFsbCB0aGF0IGZyZWUgcHVibGljaXR5CmF0IG91ciBleHBlbnNlIGZvciAxLzIgdGhlIHByaWNlLgogCldlJ3ZlIGFkZGVkIFNvZnR3YXJlIGluIHRoZSBQdWJsaWMgSW50ZXJlc3QgdG8gdGhlIG5vbi1wcm9maXRzIGxpc3QgYW5kCnRoZSBsaXN0aW5nIG9mIG5vbi1wcm9maXRzIGlzIHN1YmplY3QgdG8gY2hhbmdlIG92ZXIgdGltZSwgc28gcGxlYXNlIGJlCnN1cmUgdG8ga2VlcCBhbiBleWUgb24gaXQgYXMgdGhlIGNvbnRlc3QgcHJvZ3Jlc3NlcyBiZWNhdXNlIHlvdSBtYXkgd2lzaAp0byBjaGFuZ2UgeW91ciB2b3RlLiBQbGVhc2UgdmlzaXQgdGhlIHZvdGluZyBjZW50ZXIgYXQKaHR0cDovL2Rlc3N0YXRzLmRpc3RyaWJ1dGVkLm5ldC9tb25leS5odG1sIGFuZCBjYXN0IHlvdXIgdm90ZS4KIApUaGFuayB0byB0aGUgdXNlcnMgdGhhdCBwYXJ0aWNpcGF0ZWQgaW4gdGhlIHByb2plY3QgZmxhZ3MKbWljcm8tZm9jdXMgZ3JvdXAuIFRoZXkgY2FtZSB1cCB3aXRoIGEgY291cGxlIG1vcmUgdXNlZnVsIGZsYWdzCmZvciB2MyBwcm9qZWN0IHNlbGVjdGlvbi4KIApNYW55IHRoYW5rcyBhcyB3ZWxsIHRvIFJvY2tlIFZlcnNlciBmb3IgbGljZW5zZSB0byB1c2UgdGhlIERFU0NIQUxMCnMtYm94ZXMgaW4gdGhlIGRpc3RyaWJ1dGVkLm5ldCBjbGllbnRzLCBvdXIgY2xpZW50cyBub3cgc3BlZWQgYWxvbmcKYXMgYWxsIHRoZSBNYWMgdXNlcnMgaGF2ZSBhbHJlYWR5IG5vdGljZWQuIEFuZHJldyBNZWdncyBhbHNvIG1hZGUKYSBzdXJwcmlzZSByZWFwcGVhcmFuY2UgYW5kIGNvZGVkIGEgZmV3IG1vcmUga2tleXMvc2VjIG91dCBvZiBpdC4KLS0tLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBBcnRpa2VsIExhdGVzdCBhbm5vdW5jZSAoQ2F0d2VhemxlLCAgMy4gRmViIDE5OTgsIDA5OjI0OjQ2KToKfiMhIHJuPUNhdHdlYXpsZSBydD04ODY0OTQxNTEgcmc9cmM1Cn4jISB0aWQ9ODg2NDk0MTUxCkZ1ZXIgZGVuIHZvcmhlcmdlaGVuZGVuIEFydGlrZWwgZ2lidCBlcyB1ZWJyaWdlbnMgZWluZSBkZXV0c2NoZQpVZWJlcnNldHp1bmcsIGRpZSBpY2ggRXVjaCBuaWNodCB2b3JlbnRoYWx0ZW4gbW9lY2h0ZSA6LSkKWVRDCi0tLS0tCiMjIyBHZXJtYW4gdHJhbnNsYXRpb24gYnkgbWFjaGluZSAjIyMKIApUaGVtYTogWyBBRE1JTiBdIFp1c3RhbmQgZGVyIGRpc3RyaWJ1dGVkLm5ldC1BZHJlc3NlIC0gRmViLCAxLiAxOTk4IAogCkdyZS4uLiwgCiAKQWIgaGV1dGlnZW0gVGFnIGhhYmVuIHdpciAyNSw3JSBkdXJjaGdlZmhydCB1bmQgZGllIERFU0NIQUxMLUtsaWVudGVuCmhhYmVuIDAsOSUgdW5zIGJpcyAyNiw2JSBkdXJjaCBkYXMgREVTSUktS0VZU1BBQ0UgbWl0IGVpbmVyIEtpbmV0aWsgdm9uCjE4TWtleXMvc2VjIG9kZXIgdm9uIDIuMSUvZGF5IGhvbGVuZCBkdXJjaGdlZmhydC4gCiAKQWIgZGllc2VtIFNjaHJlaWJlbiBibGVpYmVuIG51ciA1MSBTdHVuZGVuIGJpcyBkZW4gMjIsNSBUYWdlc3N0aWNodGFnLgpIb2ZmbnVuZ3N2b2xsIGVyaGFsdGVuIHdpciBnbGNrbGljaCwgYW5kZXJuZmFsbHMgZXJobHQgUlNBIGFsbGVzLCBkYXMKV2VyYnVuZyBhbiB1bnNlcmVuIFVua29zdGVuIGZyIDEvMiBkZXIgUHJlaXMgZnJlaWdlYmVuLiAKIApXaXIgaGFiZW4gU29mdHdhcmUgaW0gYWxsZ2VtZWluZW4gSW50ZXJlc3NlIG5pY2h0LXByb2ZpdGllcmVuIExpc3RlCmhpbnp1Z2VmZ3QgdW5kIGRpZSBMaXN0ZW4gdm9uIG5pY2h0LXByb2ZpdGllcmVuIHNpbmQgYWJobmdpZyB2b24KbmRlcnVuZyBiZXIgWmVpdCwgZ2VmYWxsZW4gc28gc2luZCBzaWNoZXIsIGVpbiBBdWdlIGF1ZiBpaHIgenUKaGFsdGVuLCB3aHJlbmQgZGVyIFdldHRiZXdlcmIgd2VpdGVya29tbXQsIHdlaWwgU2llIG1jaHRlbiBJaHJlClN0aW1tZSBuZGVybiBrbm5lbi4gQmVzdWNoZW4gU2llIGJpdHRlIGRpZSBXaGxlbm1pdHRlIGFuCmh0dHA6Ly9kZXNzdGF0cy5kaXN0cmlidXRlZC5uZXQvbW9uZXkuaHRtbCB1bmQgZ2ViZW4gU2llIElocmUgU3RpbW1lIGFiLiAKIApEYW5rZW4gU2llIHp1IGRlbiBCZW51dHplcm4sIGRpZSBhbiBkZXIgUHJvamVrdG1hcmtpZXJ1bmdzZmFobmVuLU1pa3JvLQpGb2t1c2dydXBwZSB0ZWlsbmFobWVuLiBTaWUga2FtZW4gb2JlbiBtaXQgbnR6bGljaGVyZW4gTWFya2llcnVuZ3NmYWhuZW4KZWluZXMgUGFhcmVzIGZyIEF1c3dhaGwgZGVzIFByb2pla3RlcyB2My4gCiAKVmllbCBEYW5rIGF1ZXJkZW0gUm9ja2UgVmVyc2VyIGZyIExpemVueiwgZGllIERFU0NIQUxMLVNrc3RlbiBpbgpkZW4gZGlzdHJpYnV0ZWQubmV0LUtsaWVudGVuIHp1IGJlbnV0emVuLCB1bnNlcmUgS2xpZW50ZW4KYmVzY2hsZXVuaWd0IGpldHp0IGVudGxhbmcgYWxzIGFsbGUgTWFjYmVudXR6ZXIgaGF0IGJlYWNodGV0CmJlcmVpdHMuIEFuZHJldyBNZWdncyBhdWNoIGJpbGRldGUgZWluIGJlcnJhc2NodW5nc3JlYXBwZWFyYW5jZQp1bmQgY29kaWVydGUgZWluaWdlIG1laHIga2tleXMvc2VjIGF1cyBpaG0gaGVyYXVzLiAKLS0tLS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCmFydGlrZWwgQW5ub3VuY2VtZW50IHZvbSAxNS5GZWJydWFyIChDYXR3ZWF6bGUsIDE4LiBGZWIgMTk5OCwgMDk6NDE6NTcpOgpCZXRyZWZmOiBbQURNSU5dIEJlcmljaHQgdWViZXIgZGllIEFrdGl2aXRhZXRlbiB2b24gZGlzdHJpYnV0ZWQubmV0IC0KMTUuMi4xOTk4CgoqKiogTW9tZW50YW5lIExhZ2UgKioqCgpXYWVocmVuZCBTaWUgZGllc2UgTmFjaHJpY2h0IGxlc2VuLCB3ZXJkZW4gd2lyIG1laHIgYWxzIDY1JSBkZXMgREVTLUlJClNjaGx1ZXNzZWxyYXVtZXMgbWl0IHVlYmVyIDI1R2tleXMvcyBnZXRlc3RldCBoYWJlbi4KCkRlciBIYXVwdHNlcnZlciBoYXQgYmVpbmFoZSBkZW4gZ2VzYW10ZW4gREVTLUlJIFNjaGx1ZXNzZWxyYXVtIGVpbgplcnN0ZXMgTWFsIGF1c2dlZ2ViZW4gdW5kIG1pdCBkZW0gIlJlY3ljbGluZyIgZGVyIEJsb2NrcyBiZWdvbm5lbi4gRGFzCmhlaXNzdCwgZGFzcyBCbG9ja3MsIHdlbGNoZSB6dXZvciBzY2hvbiBlaW5tYWwgdmVyZ2ViZW4sIGFiZXIgbmljaHQKZ2V0ZXN0ZXQgb2RlciBuaWNodCB6dXJ1ZWNrZ2VzYW5kdCB3b3JkZW4gc2luZCwgZXJuZXV0IHZlcmdlYmVuIHdlcmRlbi4KCkJpcyBqZXR6dCBpc3QgbnVyIGVpbiBzZWhyIGtsZWluZXIgVGVpbCBkZXMgU2NobHVlc3NlbHJhdW1lcyBuZXUKdmVyZ2ViZW4gd29yZGVuLiBBYmVyIG1pdCBkZXIgWmVpdCwgd2VubiB3aXIgZGVtIHJpY2h0aWdlbiBTY2hsdWVzc2VsCm5hZWhlciBnZWtvbW1lbiBzaW5kLCB3aXJkIGRlciBTZXJ2ZXIgaW1tZXIgbWVociBkZXIgZXJzdCBrdWVyemxpY2gKdmVyZ2ViZW5lbiBCbG9ja3MgZWluIHdlaXRlcmVzIE1hbCB2ZXJnZWJlbi4KClVtIGRlbiBBcmJlaXRzYXVmd2FuZCBtb2VnbGljaHN0IGdlcmluZyB6dSBoYWx0ZW4sIHNvbGx0ZW4gU2llIElocmUKT3V0cHV0LVB1ZmZlciBqZXR6dCBsZWVyZW4uIEZhbGxzIFNpZSBub2NoIGdyb3NzZSBJbnB1dC1QdWZmZXIgdm9tCkJlZ2lubiBkZXMgV2V0dGJld2VyYmVzIGhhYmVuLCBkaWUgbm9jaCBuaWNodCBnZXRlc3RldCB3b3JkZW4gc2luZCwKc29sbHRlbiBTaWUgZGllc2UgamV0enQgbG9lc2NoZW4gdW5kIG5ldWUgQmxvY2tzIGhlcnVudGVybGFkZW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogYXJ0aWtlbCBBbm5vdW5jZW1lbnQgdm9tIDE1LkZlYnJ1YXIgKEFzbW9kaXMsIDIxLiBGZWIgMTk5OCwgMDE6NTA6MTMpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg4Nzc5MTMxNyByZz1yYzUKfiMhIHRpZD04ODc3OTEzMTcKSG1tLCBtaXIgc2luZCBtYWwgNjAgQmxvZWNrZSB2ZXJsb3JlbmdlZ2FuZ2VuLCBvYiBkYSBkZXIgcmljaHRpZ2UKU2NobHVlc3NlbCBkYWJlaXdhciA/IDopCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpERVMtSUkgaXN0IGdla25hY2t0ISAoQ2F0d2VhemxlLCAyNS4gRmViIDE5OTgsIDEwOjQ2OjQ2KToKU3ViamVjdDogW0FOTk9VTkNFXSBbQURNSU5dIFRoZSBzZWNyZXQgbWVzc2FnZSBpcy4uLgoKCk9uY2UgYWdhaW4gSSBoYXZlIHRoZSBncmVhdCBwcml2aWxlZ2Ugb2YgY29taW5nIHRvIHlvdSB3aXRoIGdvb2QgbmV3cy4KCkl0IGlzIHdpdGggZ3JlYXQgcGxlYXN1cmUgKGFuZCBhIHNpZ2ggb2YgcmVsaWVmKSB0aGF0IEkgY2FuIG5vdyBpbmZvcm0geW91CnRoYXQgdGhlIERFUy1JSS0xIGNoYWxsZW5nZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgbWV0IGJ5IGRpc3RyaWJ1dGVkLm5ldC4KClRoZSB3aW5uaW5nIGtleSB0byB0aGUgY2hhbGxlbmdlIHdhcyBkZXRlY3RlZCBhbmQgc3VibWl0dGVkIHRvIFJTQSBMYWJzCmF0IDAyOjI2IEdNVCBvbiBNb25kYXksIDIzLUZlYi0xOTk4LgoKVGhlIGNvcnJlY3Qga2V5LCA3NiA5RSA4QyBEOSBGMiAyRiA1RCBFQSwgcmV2ZWFsZWQgdGhlIHdvcmRzIHdoaWNoIHdlJ3ZlCmJlZW4gYW50aWNpcGF0aW5nIHRoZXNlIHBhc3QgMzkgZGF5czoKCiJUaGUgc2VjcmV0IG1lc3NhZ2UgaXM6IE1hbnkgaGFuZHMgbWFrZSBsaWdodCB3b3JrLiIKCihJZiB5b3UgYXNrIG1lLCB0aGlzIGlzIGEgbmljZSBub2QgaW4gb3VyIGRpcmVjdGlvbi4gIFRoYW5rcywgUlNBIExhYnMhKQoKSW4gYWRkaXRpb24gdG8gcHJvdmluZyB0aGF0IDU2LWJpdCBERVMgaXMgbm8gbG9uZ2VyIHN1ZmZpY2llbnQgZm9yIHByb3RlY3RpbmcKdmFsdWFibGUgaW5mb3JtYXRpb24sIHdlJ3ZlIG5vdyBhbHNvIHByb3ZlZCB0aGF0IGJsaW5kIGx1Y2sgbmVlZCBub3QgYmUgYQpmYWN0b3IgaW4gYnJ1dGUtZm9yY2UgZGVjcnlwdGlvbiBhdHRhY2tzLiAgVGhlIG9yaWdpbmFsIERFUyBDaGFsbGVuZ2UgYW5kIHRoZQptb3JlIHJlY2VudCBSQzUtNTYgd2lucyB3ZXJlIGZvcnR1bmF0ZSBhbmQgZGlkIG5vdCBoYXZlIHRvIHN3ZWVwIGEgc2lnbmlmaWNhbnQKcG9ydGlvbiBvZiB0aGUga2V5c3BhY2UuICBUaGlzIHRpbWUgYXJvdW5kLCBob3dldmVyLCB3ZSBtYW5hZ2VkIHRvIGNvbXBsZXRlCmFsbW9zdCA5MCUgb2YgdGhlIGtleXNwYWNlIGFuZCBoYXZlIG5vdyBwcm92ZW4gdGhhdCBldmVuIHdoZW4gdGhlIGxhdyBvZgphdmVyYWdlcyBjaG9vc2VzIHRvIGNhdGNoIHVwIHRvIHVzIGFuZCBmb3JjZXMgdXMgdG8gcGF5IG91ciBkdWVzLCB3ZSBhcmUgc3RpbGwKYW4gdW5zdG9wcGFibGUgZm9yY2UuICBPdXIgY29sbGVjdGl2ZSB2aWN0b3J5IGlzIGFsbCB0aGUgbW9yZSBpbXByZXNzaXZlIHdoZW4KeW91IGNvbnNpZGVyIHdoYXQgd2UgaGFkIHRvIGFjY29tcGxpc2ggdG8gYWNoaWV2ZSBpdC4KCldlIHRlc3RlZCBzaXh0eS10aHJlZSBxdWFkcmlsbGlvbiBrZXlzLiAgVGhhdCBudW1iZXIgaXMgc2ltcGx5IHN0YWdnZXJpbmcuCgpBc3N1bWluZyAqMCogZ3Jvd3RoIGJldHdlZW4gbm93IGFuZCBKdWx5LCB3ZSdsbCBiZSBhYmxlIHRvIHN3ZWVwIHRoZSBlbnRpcmUKREVTLUlJLTIga2V5c3BhY2UgaW4ganVzdCB1bmRlciAyOSBkYXlzLiAgVGhhdCdzIGFzc3VtaW5nIHRoYXQgd2UgZG8gbm90CnJlY3J1aXQgYW5vdGhlciBwZXJzb24sIGRvbid0IGFkZCBhbnkgbW9yZSBtYWNoaW5lcywgYW5kIGFyZSBldmVuIG1vcmUgdW5sdWNreQpuZXh0IHRpbWUuICBJIGRhcmVzYXkgYXQgbGVhc3Qgb25lIG9mIHRob3NlIGFzc3VtcHRpb25zIGlzIHByb2JhYmx5IGZhbHNlLgoKSSdkIGludml0ZSBhbGwgb2YgeW91IHRvIGpvaW4gdXMgaW4gSVJDIChlZm5ldCwgI2Rpc3RyaWJ1dGVkKSBmb3IgYSByb3dkeQp2aWN0b3J5IHBhcnR5LiAgVGFrZSBhIGJyZWF0aGVyLiAgU2l0IGJhY2sgYW5kIHdhdGNoIHlvdXIgY2xpZW50cwphdXRvbWF0aWNhbGx5CnJvbGwgb3ZlciB0byBSQzUtNjQuCgpUaGUgb25seSBvdGhlciBpc3N1ZSBhdCBoYW5kIGlzICp3aG8qIGZvdW5kIHRoZSBrZXkuICBUaGUgcGVyc29uIHdobyBmb3VuZCB0aGUKd2lubmluZyBrZXkgaGFzIHBvbGl0ZWx5IGFza2VkIHRvIHJlbWFpbiBhbm9ueW1vdXMuICBSZXN0IGFzc3VyZWQsIEkndmUgYmVlbgppbiBjb250YWN0IHdpdGggdGhlbSBhbmQgdGhleSBrbm93IHRoZXkndmUgd29uLiAgVGhleSB3aWxsIGJlIHJlY2VpdmluZyB0aGVpcgpmdWxsIHNoYXJlIG9mIHRoZSBwcml6ZSBhbmQgYXJlIHF1aXRlIGV4Y2l0ZWQgYWJvdXQgdGhlIHZpY3RvcnkuICBBbGwgSSdkIGFzawppcyB0aGF0IHdlIGFsbCByZXNwZWN0IHRoaXMgcGVyc29uJ3Mgd2lzaGVzIGFuZCBub3QgYm90aGVyIHRoZSBsaXN0IHdpdGggCnB1YmxpYyBzcGVjdWxhdGlvbiBhcyB0byB0aGVpciBpZGVudGl0eS4gIEknbSBzdXJlIHdlIGFsbCBhcHByZWNpYXRlIGp1c3QKaG93IGltcG9ydGFudCBwcml2YWN5IGFuZCBhbm9ueW1pdHkgY2FuIGJlLgoKSGVyZSBhcmUgc29tZSBudW1iZXJzIHRvIGNoZXcgb24gd2hpbGUgdGhlIHN0YXRzIGFyZSBkb3duOgoKUHJvamVjdCBzdGF0aXN0aWNzOgogICAgICAgIFN0YXJ0IG9mIGNvbnRlc3Q6ICAgICAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDEzLCAxOTk4IGF0IDA5OjAwIFBTVAogICAgICAgIFN0YXJ0IG9mIGRpc3RyaWJ1dGVkLm5ldCBlZmZvcnQ6ICAgICAgICBKYW51YXJ5IDEzLCAxOTk4IGF0IDA5OjA4IFBTVAogICAgICAgIEVuZCBvZiBDb250ZXN0OiAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAyMywgMTk5OCBhdCAwMjoyNgpQU1QKCiAgICAgICAgU2l6ZSBvZiBrZXlzcGFjZTogICAgICAgICAgICAgICAgICAgICAgIDcyLDA1Nyw1OTQsMDM3LDkyNyw5MzYKICAgICAgICBBcHByb3hpbWF0ZSBrZXlzIHRlc3RlZDogICAgICAgICAgICAgICAgNjMsNjg2LDAwMCwwMDAsMDAwLDAwMAoKICAgICAgICBOdW1iZXIgb2YgMl4zMCAoYXZlcmFnZSkga2V5YmxvY2tzOiAgICAgICAgICAgICAgICAgNjcsMTA4LDg2NAogICAgICAgIE51bWJlciBvZiBrZXlzIGluIGF2ZXJhZ2Uga2V5YmxvY2s6ICAgICAgICAgICAgICAxLDA3Myw3NDEsODI0CiAgICAgICAgUGVhayBibG9ja3MgcGVyIGRheTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1LDU0MCw5ODIKICAgICAgICBQZWFrIGtleXMgcGVyIHNlY29uZDogICAgICAgICAgICAgICAgICAgICAgICAgICAzNCw0MzAsNDYwLDAwMAoKVGhlIHVuZW5jcnlwdGVkIG1lc3NhZ2U6IE1hbnkgaGFuZHMgbWFrZSBsaWdodCB3b3JrCgpDb21wdXRpbmcgZXF1aXZhbGVudHM6CgogICBEaXN0cmlidXRlZC5uZXQgaXMgZXF1aXZhbGVudCBpbiBwcm9jZXNzaW5nIHBvd2VyIHRvOgoKICAgICAgICAgICAxMSwyNjQgICAgICAgREVDIEFscGhhIDIxMDY0IDUzM3MKICAgICAgICAgICAxNSwzMTYgICAgICAgU3VuIFVsdHJhIEkgMTY3cwogICAgICAgICAgIDIyLDM5MyAgICAgICBJbnRlbCBQZW50aXVtIElJIDMzM3MKICAgICAgICAgICA2OCw4NTkgICAgICAgTWFjaW50b3NoIFBvd2VyUEMgNjA0ZS8yMDBzLgogICAgICAgICAgIDQxLDcxMiAgICAgICBJbnRlbCBQZW50aXVtIDE2NnMKICAgICAgICAgIDM5OSwzNzQgICAgICAgSW50ZWwgNDg2RFgyLzY2cwogICAgICAgIDcsNDQ2LDAzMyAgICAgICBJbnRlbCAzODZTWC8yMHMKCihiYXNlZCBzb2xlbHkgb24gREVTIGNsaWVudCBwZXJmb3JtYW5jZSkKClByb3NwZWN0aXZlOgoKSWYgS2V5cyB3ZXJlIGRvbGxhcnMsIHdlIGNvdWxkIHBheSBvZmYgdGhlIFUuUy4gTmF0aW9uYWwgRGVidCBpbiA2LjI1IG1pbnV0ZXMKCklmIEtleXMgd2VyZSBwZW5uaWVzLCB3ZSBjb3VsZCBidXkgNTM2MjQ5Mzg1IE1hemRhIE1pYXRhcyBlYWNoIGRheS4gCgpJZiBLZXlzIHdlcmUgcGVubmllcywgd2UgY291bGQgYnV5IDI1NjcyODI0OSBKZWVwIENoZXJva2VlcyBlYWNoIGRheSEKCklmIHlvdSBwcmludGVkIGEgc2luZ2xlIHBhZ2UgdG8gcmVwcmVzZW50IGVhY2gga2V5IGJsb2NrIGFzIGl0IHdhcyBjaGVja2VkIAphbmQgcGxhY2VkIHRob3NlIHBhZ2VzIGluIGEgc3RhY2ssIGl0IHdvdWxkIGdyb3cgMTIuODMgaW5jaGVzIHRhbGxlciBldmVyeSAKbWludXRlLgoKSWYgYmxvY2tzIHdlcmUgbGl0ZXJzIG9mIERyLiBQZXBwZXIsIHdlIGNvdWxkIHByb2R1Y2UgNjM4MTQ5MyBzaXgtcGFja3MgZWFjaCAKZGF5CgpJZiBLZXkgQmxvY2tzIHdlcmUgY2hlZXNlYnVyZ2VycywgZnJpZXMsIGFuZCBhIGxhcmdlIERyLiBQZXBwZXIsIHdlIGNvdWxkIApmZWVkIHRoZSBlbnRpcmUgY2l0eSBvZiBUb3JvbnRvLCBPbnRhcmlvIGx1bmNoIGVhY2ggZGF5LgoKKG9uIGEgcGVyc29uYWwgbm90ZSwgSXQgc3VyZSBmZWVscyBuaWNlIHRvIGJlIGRvaW5nIFJDNSBibG9ja3MgYWdhaW4uICBJIGZlZWwKbGlrZSBJJ3ZlIGp1c3Qgc2xpcHBlZCBvbiBhbiBvbGQsIGNvbWZvcnRhYmxlIHBhaXIgb2YgbG9hZmVycyB0aGF0IHdlcmUgbG9zdAppbgp0aGUgYXR0aWMgZm9yIHR3byBtb250aHMpCgotLSAKIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp8RGF2aWQgTWNOZXR0ICAgICAgfFRvIGVuc3VyZSBwcml2YWN5IGFuZCBkYXRhIGludGVncml0eSB0aGlzIG1lc3NhZ2UgaGFzfAp8bnVnZ2V0QHNsYWNrZXIuY29tfGJlZW4gZW5jcnlwdGVkIHVzaW5nIGR1YWwgcm91bmRzIG9mIFJPVC0xMyBlbmNyeXB0aW9ufAp8QmlybWluZ2hhbSwgQUwgVVNBfFBsZWFzZSBlbmNyeXB0IGFsbCBpbXBvcnRhbnQgY29ycmVzcG9uZGVuY2Ugd2l0aCBQR1AhfAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKd2VyPyAoTGFyaXNzYSwgMjUuIEZlYiAxOTk4LCAxMjo0MzozMyk6CkhvaSwKaXN0IGJla2FubnQgd2VyIGRlbiBrZXkga2VrbmFja3QgaGF0PyBvZGVyIGhhYiBpY2hzIHVlYmVybGVzZW4uLi4KCkxhcmkuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogd2VyPyAoR3JpbW1ib3JuLCAyNS4gRmViIDE5OTgsIDEyOjQ1OjA5KToKfiMhIHJuPUxhcmlzc2EgcnQ9ODg4NDA3MDEzIHJnPXJjNQp+IyEgdGlkPTg4ODQwNzAxMwpEdSBoYXN0IHVlYmVybGVzZW4sIGRhc3MgZGVyamVuaWdlIGFub255bSBibGVpYmVuIHdvbGx0ZS4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiB3ZXI/IChZZW5kaSwgMjUuIEZlYiAxOTk4LCAxNDowOTozMCk6Cn4jISBybj1HcmltbWJvcm4gcnQ9ODg4NDA3MTA5IHJnPXJjNQp+IyEgdGlkPTg4ODQwNzAxMwoKLi4uIGxhdXQgQXVzc2FnZSBkZXMgTWVuc2NoZW4gZGVyIGRhcyBHZWxkIGhhZXR0ZSB2ZXJ0ZWlsZW4gc29sbGVuIHVuZCBzaWNoCmpldHp0IGRhdm9uIGZlaXhlbmQgZWluZW4gbmV1ZW4gQ29tcHV0ZXIga2F1ZnQuCgpZZW5kaSwgCiAgICAgICBoZXV0ZSBtYWwgWnluaWtlci4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpERVMtSUktRW5kc3RhbmQgKFhlbnUsIDI3LiBGZWIgMTk5OCwgMDQ6MDA6MDUpOgpIYWxsbyBCb3ZpbmUtIHVuZCBzcGV6aWVsbCBNb25hcmNoZW4tZnJldW5kZQoKV2VyIGRlbiBkaXN0cmlidXRlZC5uZXQgc3RhdHNlcnZlciBhZWhubGljaCBvZnQgd2llIGljaCBhYmdlZnJhZ3QgaGF0LCAKaGF0IHdvaGwgZ2VzZWhlbiwgZGFzcyBkb3J0IGVpbmUgWmVpdCBsYW5nIGVpbmUgMk1CIGxhbmdlIGZpbmFsLXJhbmtpbmdzCkxpc3RlIG1pdCBhbGxlbiBjYS4gMTgxMDAgYmV0ZWlsaWd0ZW4gRW1haWwtYWRyZXNzZW4genVtIEFicnVmZW4gYmVyZWl0IHN0YW5kLgpXZW5uIHNpY2ggbnVyIGplZGVyIGh1bmRlcnRzdGUgYmVzY2h3ZXJ0IGhhdCwgZHVlcmZ0ZW4gZGllIExldXRlIHZvbiAKZGlzdHJpYnV0ZWQubmV0IGVyc3QgbWFsIGVpbmUgV2VpbGUgYmVzY2hhZWZ0aWd0IHNlaW4sIGlocmUgbWFpbGJveCAKenUgZW50bXVlbGxlbi4uLgpJY2ggc2NoYWV0emUsIGRlbiBGZWhsZXIgd2VyZGVuIHNpZSBuaWNodCBzbyBzY2huZWxsIHdpZWRlcmhvbGVuLgoKSWNoIGthbm4gbnVyIGhvZmZlbiwgZGFzcyBuaWVtYW5kIGRpZXNlIFplaXQgZ2VudXR6dCBoYXQsIGRpZSBTcGFtbWVyIGRpZXNlciAKV2VsdCBnbHVlY2tsaWNoZXIgenUgbWFjaGVuLgoKKE9id29obCBpY2ggbWlyIGRpZSBMaXN0ZSBhdXMgbWVpbmVtIEJyb3dzZXItY2FjaGUgZ2V6b2dlbiBoYWJlLCAKdmVyc3ByZWNoZSBpY2ggaGllcm1pdCBmZWllcmxpY2gsIHNpZSBuaWNodCBmdWVyIE1hc3Nlbi1lbWFpbHMgCnp1IHZlcndlbmRlbi4gOi0pCgoKV2VyJ3MgdmVycGFzc3QgaGF0IHVuZCBzZWluZW4gRW5kc3RhbmQgd2lzc2VuIG1vZWNodGUsIGthbm4gbWlyIApqYSBlaW5lIGVpbmUgbmV0dGUga2xlaW5lIE1haWwgc2NocmVpYmVuLCBmYWxscyBlci9zaWUgc2ljaCB1bnRlbiAKbmljaHQgd2llZGVyZmluZGVuIHNvbGx0ZS4KKEFsbGUgMjQxIEJldGVpbGlndGVuIG1pdCAqLmRlIGhpZXIgYXVmenVsaXN0ZW4sIGVyc2NoaWVuIG1pciBpcmdlbmR3aWUgCmtvbnRyYXByb2R1a3Rpdi4gOykKCk9wdGltaXN0ZW4ga29lbm5lbiBhdWNoIGRhcmF1ZiB3YXJ0ZW4sIGRhc3MgZGlzKi5uZXQgRXh0cmFzdGF0c2VpdGVuIG51ciAKZnVlciBkZW4gbmFjaCBUZWFtcyBnZW9yZG5ldGVuIERFUy1FbmRzdGFuZCBlaW5yaWNodGV0LgoKCiAgICBSYW5rIFBhcnRpY2lwYW50ICAgICAgICAgICAgICAgICAgICAgIEJsb2NrcyAgRGF5cyAgICAgIFJhdGUgICAgICAgCgoqLm11ZC5kZQoKICAgICAxMjggbmFzaW1AbWcubXVkLmRlICAgICAgICAgICAgICAgICAgIDg0Nzg3ICAgIDM3ICAgMTM1MDguOTMgCiAgICAgNDAyIGNhdHdlYXpsZUBtZy5tdWQuZGUgICAgICAgICAgICAgICA0MTkxMiAgICAzOSAgICA2MzUyLjAwIAogICAgMjAyMCBhbGluZUBtZy5tdWQuZGUgICAgICAgICAgICAgICAgICAgMTEzMTAgICAgMzEgICAgMjEyOS42MyAKICAgIDM1NDEgYm9lYmJlbEBtZy5tdWQuZGUgICAgICAgICAgICAgICAgICA2NDE4ICAgIDMxICAgIDEyMDguNDkgCiAgICA4OTcyIGdyZW1saW5AbWcubXVkLmRlICAgICAgICAgICAgICAgICAgMTcyMiAgICAzMSAgICAgMzI0LjI1IAogICAgOTQxMiBxdWFzaW1vZG9AbWcubXVkLmRlICAgICAgICAgICAgICAgIDE1MjcgICAgMzggICAgIDIzNy4yMSAKICAgMTE2MjYgYXNtb2Rpc0BtZy5tdWQuZGUgICAgICAgICAgICAgICAgICAgNzQ3ICAgIDM2ICAgICAxMjguOTQgCiAgIDEzMDE0IGNhdHdlYXlsZUBtZy5tdWQuZGUgICAgICAgICAgICAgICAgIDQzNSAgICAxMCAgICAyNzAzLjAwIAogICAxNjQ0NyBldGFpbkBtZy5tdWQuZGUgICAgICAgICAgICAgICAgICAgICAgNjAgICAgMTcgICAgIDE4Ni40MSAKCip1bmktbXVlbnN0ZXIqCgogICAgIDE3NyBzb3BwZUB1bmktbXVlbnN0ZXIuZGUgICAgICAgICAgICAgNzEzNDYgICAgMzcgICAxMTM2Ny40MCAKICAgICAzMDIga2FtcG1AdW5pLW11ZW5zdGVyLmRlICAgICAgICAgICAgIDUxNTkxICAgIDM5ICAgIDc4MTguOTEgCiAgICA0MDEwIG5pcmRhdm9AbWcudW5pLW11ZW5zdGVyLmRlICAgICAgICAgNTYxMCAgICAzMSAgICAxMDU2LjM0IAogICAgNDEzNyBUYW5nYWx1ckBtZy51bmktbXVlbnN0ZXIuZGUgICAgICAgIDU0MzggICAgMzIgICAgIDk5My44NCAKICAgMTA4NjcgaG90dGVAdW5pLW11ZW5zdGVyLmRlICAgICAgICAgICAgICAgOTcwICAgIDI3ICAgICAyODcuMDIgCiAgIDE2MjE0IGJvbGxpbm9AcGlrcDE1LnVuaS1tdWVuc3Rlci5kZSAgICAgICA3MiAgICAgMyAgICAgMTQ5LjEzIAoKCgpBY2ggamEsIGVzIGlzdCBuaWNodCBnZXNhZ3QsIGRhc3Mgb2JpZ2UgZGllIEJsb2Vja2UgZnVlciBtdWQuZGUgZ2VyZWNobmV0IApoYWJlbi4gRGllIFRlYW16dWdlaG9lcmlna2VpdCB3YXIgbmljaHQgVGVpbCBkZXIgTGlzdGUuCgoKCkZ1ZXIgYWxsZSwgZGllIGRpZSBUZWFtLVN0YXRzIGFuc2VoZW4gd29sbGVuLCBhYmVyIHp1IGZhdWwgc2luZCwgCmlocmVuIEJyb3dzZXIgYW56dXNjaG1laXNzZW4sIGhpZXIgZWluIEF1c3p1ZzoKCiAxIEJpdEJ1Y2tldCBERVMgVGVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgIDY5ODUyNzMgIDM5IDEwNTg2NTcuOTQgCiAyIEphcGFuIEZyZWVCU0QgVXNlcnMgR3JvdXAgICAgICAgICAgICAgICAgICAgIDU5OTM4NTQgIDM5ICA5MDg0MDIuNzQgCiAzIEphcGFuIExpbnV4IFVzZXJzIEdyb3VwICAgICAgICAgICAgICAgICAgICAgIDQwMTY5MzAgIDM5ICA2MDg3ODguNjQgCiA0IFRlYW0gV2FycGVkIChPUy8yKSAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3MDY3NTQgIDM5ICA0MTAyMjQuMDAgCiA1IFRlYW0gRXZhbmdlTGlzdGEgKE1hY3MgUnVsZSEgOi0pICAgICAgICAgICAgIDI0MjY5MzAgIDM5ICAzNjc4MTUuMDggCiA2IExpbnV4TkVUIFJDNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE5NjY5NTUgIDM5ICAyOTgxMDMuMjQgCjEwIHVuaS5kZSAoR2VybWFuIFVuaXZlcnNpdGllcykgICAgICAgICAgICAgICAgIDExNjY5MTkgIDM5ICAxNzY4NTMuMjMgCjI1IFRlYW0gSHVuZ2FyeSBTVEIrICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1Mjc3NTYgIDM5ICAgNzk5ODQuNDMgCjI2IEFhY2hlbiBVbml2ZXJzaXR5IG9mIFRlY2hub2xvZ3kgYW5kIEZyaWVuZHMgICA1MDcyMjcgIDM5ICAgNzY4NzMuMTQgCjI3IEtyeXB0b24gRGVmZW5zZSBGb3JjZXMgICAgICAgICAgICAgICAgICAgICAgICA0ODMxMjQgIDI4ICAxMDAwNjcuNjAgCjI4IFRyaWFuZ2xlIEZyYXRlcm5pdHkgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDczODMgIDM5ICAgNjc4MDMuNDQgCjI5IENhbmFkaWFuIExpbnV4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MzY4OTcgIDM5ICAgNjYyMTQuMjMgCjMwIFN3aXNzdGVhbSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Mjg5NjUgIDM5ICAgNjUwMTIuMDkgCjMxIFVGIENSWVBUTyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0Mjc0OTYgIDM5ICAgNjQ3ODkuNDYgCjMyICBJICBtdWQuZGUgIC9JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MjMxOTUgIDM5ICAgNjQxMzcuNjEgCjMzIFNhdHVybiBNYWlsaW5nIExpc3QgICAgICAgICAgICAgICAgICAgICAgICAgICAzOTQ1MjggIDM5ICAgNTk3OTIuOTcgCjM0IFRlYW0gI0xpbnV4V2FyZVogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzODQxMTEgIDM5ICAgNTgyMTQuMjEgCgoKTWFpbHMgYml0dGUgbmFjaCBNb2VnbGljaGtlaXQgLT4gSEJvdUBSb2NrZXRtYWlsLmNvbQooSWNoIGJpbiBpbSB3ZXNlbnRsaWNoZW4gbm9jaCBpbiBkZXIgUHJhZS1NdWQtUGhhc2UgOikKCgouIHggWCBYZW51CgpQLlMuCmlyZ2VuZHdpZSAlR1JFUHQgek11ZCBpbiBlaW5lbSAyTUIgRmlsZSBldHdhcyBsYW5nc2FtLi4uCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhdHMgd2llZGVyIGRhIChYZW51LCAgNy4gTWFyIDE5OTgsIDA1OjQxOjUxKToKRGllIFN0YXRzIHNpbmQgd2llZGVyIGRhIDopCgpJbSBNb21lbnQgc2luZCB3aXIgYXVmIFBsYXR6IDE5ClZvciBkZXIgVFUgQWFjaGVuIDopKQp1bmkuZGUgaXN0IGxlaWRlciBhdXNzZXIgUmVpY2h3ZWl0ZSAoUGxhdHogMTMpCgpJbiBkZXIgYWt0dWVsbGVuIFJlY2hlbmxlaXN0dW5nICgiZ2VzdGVybiIpIApzaW5kIHdpciBhbGxlcmRpbmdzIG51ciBhdWYgUGxhdHogMjYuCgpOaWNodCBzY2hsYXBwbWFjaGVuIQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFN0YXRzIHdpZWRlciBkYSAoRnl0LCAxMS4gTWFyIDE5OTgsIDE1OjAxOjU4KToKfiMhIHJuPVhlbnUgcnQ9ODg5MjQ1NzExIHJnPXJjNQp+IyEgdGlkPTg4OTI0NTcxMQoKT2tpLCBoYWIgYXVjaCB3aWVkZXIgKmVpbmVuKiBSZWNobmVyIGRhYmVpIDstKQoKRnl0LgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBTdGF0cyB3aWVkZXIgZGEgKE5pcmRhdm8sIDExLiBNYXIgMTk5OCwgMTU6MDY6MjQpOgp+IyEgcm49Rnl0IHJ0PTg4OTYyNDkxOCByZz1yYzUKfiMhIHRpZD04ODkyNDU3MTEKICBXYXMsIG51ciBlaW5lbj8gRGFzIG11c3MgYWJlciBub2NoIG1laHIgd2VyZGVuLi4uIHVuaS5kZSBtdXNzIGRvY2ggaXJnZW53aWUKenUgdWViZXJob2xlbiBzZWluIQoKICAgICAgTmlyZGF2bywgcmVjaG5ldCBtaXQgYWxsZW0sIHdhcyBlciBoYXQKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFN0YXRzIHdpZWRlciBkYSAoT3JrdG9ldGVyLCAxMS4gTWFyIDE5OTgsIDE1OjA3OjQwKToKfiMhIHJuPU5pcmRhdm8gcnQ9ODg5NjI1MTg0IHJnPXJjNQp+IyEgdGlkPTg4OTI0NTcxMQpJY2ggcmVjaG5lIGltbWVyIG51ciBtaXQgZGVtIHNjaGxpbW1zdGVuLi4uCgpPcmtUIHRyZXVlciBBbmhhZW5nZXIgdm9uIE11cnBoeS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkx1c2NoZW4gKENhdHdlYXpsZSwgMjAuIE1hciAxOTk4LCAxMDoxMToyMCk6Ck1vaW4hCgpXYXMgaXN0IGhpZXIgZWlnZW50bGljaCBsb3M/ClNvIHdpZSBpY2ggZGFzIHNlaGUsIHdlcmRlIGljaCBpbiBhYnNlaGJhcmVyIFplaXQgYXVmIFBsYXR6IDEgZGVyIG11ZC5kZS0KbGlzdGUgbGFuZGVuLiBIYWJ0IGlociBhbGxlIGtlaW5lIEx1c3QgbWVocj8gR2lidCBlcyBrZWluZSBIZXJhdXNmb3JkZXJlcgptZWhyPyBTbyB3aWVzIGpldHp0IGxhZXVmdCwgd2VyZGUgaWNoIGphIHdvaGwgcHJvYmxlbWxvcyBhbiBFdWNoIGFsbGVuIAp2b3JiZWl6aWVoZW4uCgpMdXNjaGVuIC4uLi4KCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEx1c2NoZW4gKEZyZXVuZCwgMjAuIE1hciAxOTk4LCAxMDoxNzo0MCk6Cn4jISBybj1DYXR3ZWF6bGUgcnQ9ODkwMzg1MDgwIHJnPXJjNQp+IyEgdGlkPTg5MDM4NTA4MApVbnRlcnRhZW5pZ3N0ZXIgQ2F0d2VhemxlLApvaCB3ZWlzZXN0ZXIgUkMtNSBSZWNobmVyIHVudGVyIGRlbiBNdWRkZXJuLCBnZXByaWVzZW4gc2VpZW4gRGVpbmUgZHVyY2gKdW5zZXJlIFN0ZXVlcmdlbGRlciBmaW5hemllcnRlbiBVbml2ZXJzaXRhZXRzLVJlY2huZXIuIERpY2ggaGVyYXVzenVmb3JkZXJuCmthbm4gdW5tb2VnbGljaCBlaW5lbSBTdGVyYmxpY2hlbiB1bnRlciBkZXIgU29ubmUgZ2VsaW5nZW4uIERpY2ggdmVyZWhyZW4gd2lyLApEaWNoIHdvbGxlbiB3aXIgYXVmIFBsYXR6IDEgc2VoZW4uCgpEZXIgR2VyaW5nc3RlLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEx1c2NoZW4gKFJhdHosIDIwLiBNYXIgMTk5OCwgMTk6MDc6MTQpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5MDM4NTA4MCByZz1yYzUKfiMhIHRpZD04OTAzODUwODAKRXMgZ2lidCBMZXV0ZSBkaWUgaGFiZW4gUmVjaG5lciB6dXIgVmVyZnVlZ3VuZyBkaWUgc293aXNvIGRlbiAKZ2FuemVuIFRhZyB1bmQgYW0gV29jaGVuZW5kZSBsYXVmZW4uIApSZWNobmVyIGFsbGVyZGluZ3MgaGllcmZ1ZXIgZXh0cmEgYW56dXNjaGFsdGVuIG9kZXIgbGF1ZmVuIAp6dSBsYXNzZW4sIGVyc2NoZWludCBtaXIgZWluZSB6aWVobWxpY2hlIEVuZXJnaWV2ZXJzY2h3ZW5kdW5nIHp1IHNlaW4uClZpZWxsZWljaHQga29lbm50ZSBtYWwgamVtYW5kIGRpZXNlIHN0YXJrZSBiZWhhdXB0dW5nIGR1cmNocmVjaG5lbi4KV2lldmllbCBrV2ggcHJvIEJsb2NrIHZlcmJyYXVjaHQgZWluIFJlY2huZXIgd29obCBzbz8KTmljaHRzIGdlZ2VuIGRhcyBaaWVsIHVuZCBkaWUgQXVmZ2FiZSwgYWJlciBpc3QgZGVyIEVuZXJnaWVhdWZ3YW5kCmdlcmVjaHRmZXJ0aWd0PwpXaWUgc3RlaGUgaWNoIGRlbm4gdm9yIGRlbiBMZXV0ZW4gZGEsIGRlbmVuIGljaCBnZXByZWRpZ3QgaGFiZSBkb2NoIGJpdHRlCnVlYmVyIGRhcyBXb2NoZW5lbmRlIGlocmUgUmVjaG5lciBhYnp1c3RlbGxlbiB1bSBTdHJvbSB6dSBzcGFyZW4hPwoKR3J1c3MgcmF0emZhdHogUmF0egoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEx1c2NoZW4gKFNhYmJlcmtvcHAsIDIwLiBNYXIgMTk5OCwgMTk6MjQ6MjApOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5MDM4NTA4MCByZz1yYzUKfiMhIHRpZD04OTAzODUwODAKbW9pbiwgCgpuYSB3ZXIgZXMgZ2xhdWJ0LCBkYXNzIGR1IGluIGFic2VoYmFyZXIgWmVpdCBhdWYgUGxhdHogMSBzZWluIHdpcnN0IDopCgouLi4gZ2xhdWJ0IGRhIG5pY2h0IGRyYW4gCiAgICAgICAgICBTYWJiZXJrb3BwCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogTHVzY2hlbiAoTmFzaW0sIDI2LiBNYXIgMTk5OCwgMjI6MTY6NDgpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5MDM4NTA4MCByZz1yYzUKfiMhIHRpZD04OTAzODUwODAKSGFiIG5lbiBuZXVlbiBKb2IgdW5kIGRpZSBpbiBkZXIgYWx0ZW4gRmlybWEgamV0enQgbmVuIEZpcmV3YWxsIC0gZXJnbyBrb21tZW4KZGllIENsaWVudHMgbmljaHQgbWVociBkdXJjaC4gOi0tKApBYmVyIG1hbCBndWNrZW4sIGV2dGwuIGtvbW1lIGljaCBkb2NoIG5vY2ggYW4gZGllIHJjNWRlcy5pbmkgZHJhbiAuLi4KCk5hc2ltLCBhdWNoIG5pY2h0IGdhbnogc2NobGVjaHQgZGFiZWkgbW9tZW50YW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IEx1c2NoZW4gKEdyaW1tYm9ybiwgMjcuIE1hciAxOTk4LCAxNzowNDoyMik6Cn4jISBybj1OYXNpbSBydD04OTA5NDcwMDggcmc9cmM1Cn4jISB0aWQ9ODkwMzg1MDgwCkRhIGdhYnMgZG9jaCBpcmdlbmRzb2VpbmUgRWluc3RlbGx1bmcgZnVlciBkZW4gY2xpZW50LCBkZXIgZHVyY2ggZmlyZXdhbGxzCnR1bm5lbHQ/ClVuZCB3YXMgZGllIEVuZXJnaWV2ZXJzY2h3ZW5kdW5nIGJldHJpZmZ0OiBTaW5uIGRlciBTYWNoZSBpc3QgamEgZ2VyYWRlLCBuaWNodApleHRyYSBLYXBheml0YWV0IGRhZnVlciBmcmVpenVtYWNoZW4gc29uZGVybiBzb3dpZXNvIHZvcmhhbmRlbmUsIGFiZXIgbmljaHQKZ2VudXR6dGUgTGVpc3R1bmcgKGQuaC4gZGVyIFBQcm81MDAgbGFuZ3dlaWxpdCBzaWNoIG1pdCBNaW5lc3dlZXBlcikKYWJ6dWdyZWlmZW4gdW5kIHp1IG51dHplbi4KCkdyaW1tYm9ybiBkZXIgQXRoZWlzdAoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZXJzdGVyIChDYXR3ZWF6bGUsIDI1LiBNYWkgMTk5OCwgMDk6MzY6MTQpOgpIaWhpISA6KQpFcnN0ZXIgISA6KQoKWVRDCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogZXJzdGVyIChNb3Jnb3RoLCAyNS4gTWFpIDE5OTgsIDA5OjQzOjM1KToKfiMhIHJuPUNhdHdlYXpsZSBydD04OTYwODE3NzQgcmc9cmM1Cn4jISB0aWQ9ODk2MDgxNzc0CkphIGlzIGtsYXIsIHdpZSBiZWltIFNleCwgd29sbCA7LSkpCgpNKgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGVyc3RlciAoWWVuZGksIDI1LiBNYWkgMTk5OCwgMTE6MjM6NTIpOgp+IyEgcm49Q2F0d2VhemxlIHJ0PTg5NjA4MTc3NCByZz1yYzUKfiMhIHRpZD04OTYwODE3NzQKRXJrbGFlcnQgbWlyIGRhcyBqZW1hbmQ/CgpZVFkKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IGVyc3RlciAoT3JrdG9ldGVyLCAyNy4gTWFpIDE5OTgsIDExOjMwOjQzKToKfiMhIHJuPVllbmRpIHJ0PTg5NjA4ODIzMiByZz1yYzUKfiMhIHRpZD04OTYwODE3NzQKQWxzbyBZZW5kaSwgZGFzIGZhZW5ndCBiZWkgZGVuIEJpZW5jaGVuIHVuZCBkZW4gQmx1ZW1jaGVuIGFuLi4uCk5hZWhlcmVzIGJpdHRlIGJlaSBkZWluZW0gQmlvbG9naWVsZWhyZXIgKG1pdHRlbHN0dWZlKSBlcmZyYWdlbi4KCk9ya1QuCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBlcnN0ZXIgKFllbmRpLCAyNy4gTWFpIDE5OTgsIDEyOjQxOjUyKToKfiMhIHJuPU9ya3RvZXRlciBydD04OTYyNjE0NDMgcmc9cmM1Cn4jISB0aWQ9ODk2MDgxNzc0Ck9oIER1IFRvZXRlciBkZXIgT3JrcywgZGVzIExlc2VucyBuaWNodCBtYWVjaHRpZzoKTWVpbiBBcnRpa2VsIHdhciBhdWYgQ2F0KnMgIkVyc3RlciEiIGJlem9nZW4sIG5pY2h0IGF1ZiBNb3Jnb3RocyBwdWJlcnRhZXJlCkFudHdvcnQuLi4gdW5kIGRhcyBtaXQgZGVuIEJsdW1lbiB1bmQgZGVuIEVsZmVuIGhhdCBtZWluZSBNdXR0ZXIgbWlyIHNjaG9uCmVya2xhZXJ0LCBhbHMgaWNoIG5pY2h0bWFsIDMwIHdhciEKCllUWQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkdlZ2VuZGFyc3RlbGx1bmcgKEJsdWVtZWwsIDI3LiBNYWkgMTk5OCwgMTI6NTY6MjQpOgpTZWl0IHdhbm4gdHJlaWJlbnMgZGllIEVsZmVuIG1pdCBCbHVtZW4gLSB1bmQgYXVzc2VyZGVtIGhhYiBpY2ggbmljaHRzIG1pdApCaWVuY2hlbiAtIFVudmVyc2NoYWVtdGhlaXQgIQoKRWluIEJsdWVtZWwKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGVyc3RlciAoU3VuZmxvd2VyLCAyNy4gTWFpIDE5OTgsIDE0OjA1OjI1KToKfiMhIHJuPU9ya3RvZXRlciBydD04OTYyNjE0NDMgcmc9cmM1Cn4jISB0aWQ9ODk2MDgxNzc0CldpZSB3YXMgaGFiIGljaCBtaXQgQmllbmVuIHp1IHR1biBvcmt0b2V0b2xpbiA/CgpEaWVzZSBWaWVjaGVyIHNjaHdpcnJlbiBoZXJ1bSwgbWFjaGVuIGtyYWNoIHVuZCBzdGVsbGVuIHNvIG5lIGdlbGJsaWNoZQptYXNzZSBoZXIgbmFtZW5zIEhvbmlnLCBpZ2l0dCBpZ2l0dC4uLgoKU3VuKgoKICAgICAgICAgICAgICAgICAgICAtLT09PSBibHVlbWNoZW4gPT09LS0KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjQ6IGVyc3RlciAoQW5hdG9sLCAyNy4gTWFpIDE5OTgsIDE2OjExOjI3KToKfiMhIHJuPVN1bmZsb3dlciBydD04OTYyNzA3MjUgcmc9cmM1Cn4jISB0aWQ9ODk2MDgxNzc0CldhcyBDYXR3ZWF6bGUgc2FnZW4gd29sbHRlOiBJbiBkZXIgVGVhbWF1c3dlcnR1bmcgZGVzIFRlYW1zICJtdWQuZGUiIGlzdApkYXMgVGVhbW1pdGdsaWVkICJjYXR3ZWF6bGVAbWcubXVkLmRlIiBtaXQgemllbWxpY2hfdmllbGVuX0Jsb2Vja2VuLCBhbHNvCmV0d2EgNTAwMCB0YWVnbGljaCwgaW56d2lzY2hlbiBhbiBkZXIgU3BpdHplLgoKdW5pLmRlIGhhdCBtdWQuZGUgdWVicmlnZW5zIGd1dCBhYmdlaGFlbmd0LgoKQW5hdG9sIDopCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUHJvYmxlbSBtaXQgQ2xpZW50IChJdm8sICAxLiBKdW4gMTk5OCwgMjA6MjU6MTYpOgphbHNvIGZvbGdlbmRlczoKbWVpbiByYzUtY2xpZW50IChSQzUtNjQgdjIuNjQwMi4yNzApIGZ1ZXIgd2luOTUgdmVydXJzYWNodCBhbiBtZWluZW0gcmVjaG5lcgpoaW4gdW5kIHdpZWRlciBuZW4gc3lzdGVtc3RpbGxzdGFuZC4gZGllc2VuIGthbm4gaWNoIGR1cmNoIGVpbiBhdWZydWZlbiBkZXIKdGFza2xpc3RlIHVlYmVyd2luZGVuLiB0cm90emRlbSBpc3QgZGFzIG5pY2h0IHNvIHRvbGwsIGhhdCBqZW1hbmQgZWluCmFlaG5saWNoZXMgcHJvYmxlbSwgd2llIGthbm4gbWFuIGVzIGJlaGViZW4gb2RlciBnaWJ0IGVzIGVpbmVuIG5ldWVuIGNsaWVudCA/CgpJdm8KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBQcm9ibGVtIG1pdCBDbGllbnQgKENhdHdlYXpsZSwgIDIuIEp1biAxOTk4LCAxMTo0NDozNyk6Cn4jISBybj1Jdm8gcnQ9ODk2NzI1NTE2IHJnPXJjNQp+IyEgdGlkPTg5NjcyNTUxNgpHaWJ0IGVzLiAKRHUgaGFzdCBkYSBuZW4gdXJhbHQgc2luZ2xlLWNsaWVudC4KRGllIGFrdHVlbGxzdGUgVmVyc2lvbiBpc3QgMi43MDE3LjQwMCEhISBkaWUgMi43ZXIga29lbm5lbiBiZWlkZXMgcmVjaG5lbgpyYzUgdW5kIGRlcy4gRGFzIGlzdCBpbnNiZXNvbmRlcmUgaW50ZXNzYW50LCBkYSBhbmZhbmcgSnVsaSBkZXIgREVTLUlJSQpzdGFydGVuIG11ZXNzdGUsIGRlciB3ZXNlbnRsaWNoIHNjaG5lbGxlcmVuIEVyZm9sZyB2ZXJzcHJpY2h0ISAoY2EuNDAgVGFnZQpiZWkgREVTLUlJKS4gRGllIDIuN2VyIHNpbmQgYXVjaCBldHdhcyBzY2huZWxsZXIuIFdlciBhbHNvIG5vY2ggYWx0ZSAKdmVyc2lvbmVuIGhhdCwgc29sbHRlIHVuYmVkaW5ndCB6ZWl0aWcgYXVmcnVlc3RlbiEKCllvdXJzIHRydWx5LAogICAgIENhdHdlYXpsZQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKS2V5cmF0ZSB1bmQgREVTLUlJLTIgKENhdHdlYXpsZSwgMjIuIEp1biAxOTk4LCAwOToyNzo1Nyk6CioqKiBOZXdzICoqKgoKRm9yIHRoZSB3ZWVrIGVuZGluZyA2LzIwLCB3ZSBkaWQgNDUuOCBtaWxsaW9uIGJsb2NrcyBmb3IgYW4gYXZlcmFnZQprZXlyYXRlIHdhcyAyMCwzNDggTWsvcy4gVGhpcyBpcyBhbiBpbmNyZWFzZSBvZiA2MjYsMDAwIGJsb2NrcwoyMDggTWsvcyBmcm9tIGxhc3Qgd2Vlay4gQXQgMjAsMzQ4IE1rL3MsIGl0IHdpbGwgdGFrZSAyOC40MyB5ZWFycyB0bwpleGhhdXN0IHRoZSBrZXlzcGFjZSwgZG93biBmcm9tIDI4Ljc1IHllYXJzIGxhc3Qgd2VlaywgYW5kIDc4Ljk2IHllYXJzCmFmdGVyIG91ciBmaXJzdCBtb250aCBvbiB0aGUgcHJvamVjdCAoMTEvMjIvOTcpLiBJZiBvdXIgcmF0ZSBpcwpncm93aW5nIGxpbmVhcmx5IGF0IDI2LDQwMCBibG9ja3MgcGVyIGRheSwgd2Ugd2lsbCBleGhhdXN0IHRoZQprZXlzcGFjZSBpbiA1LjYgeWVhcnMuIElmIG91ciBrZXlyYXRlIGlzIGRvdWJsaW5nIGV2ZXJ5IDEzMyBkYXlzLAp3ZSB3aWxsIGV4aGF1c3QgdGhlIGtleXNwYWNlIGluIDIuMSB5ZWFycy4KCkRFUy1JSS0yIHdpbGwgYmVnaW4gaW4gMjEgZGF5cy4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpOZXVlciBDbGllbnQ/IChDYXR3ZWF6bGUsIDIyLiBKdW4gMTk5OCwgMDk6NTQ6MjEpOgpNb2luIQoKSWNoIG1vZWNodGUgbWljaCBkZXIgRW1wZmVobHVuZyB2b24gZGlzdHJpYnV0ZWQubmV0IGFuc2NobGllc3NlbiB1bmQgYWxsZW4KcmF0ZW4sIGF1ZiBkZW4gbmV1ZW4gY2xpZW50IHVtenVzdGVpZ2VuLiBJbiAzIFdvY2hlbiBmYWVuZ3QgZGVyIG5ldWUgREVTLUlJCkNvbnRlc3QgYW4uIEJpdHRlIG5laG10IHNvIHVtZmFuZ3JlaWNoIHRlaWwgd2llIG1vZWdsaWNoLCBCZWltIGxldHp0ZW4gbWFsCmhhdHRlIGRpZSBHcnVwcGUgbXVkLmRlIGltbWVyaGluIGVpbiBDaGFuY2Ugdm9uIDEgenUgMjAwIGF1ZiBkaWUgMTAwMDAkLgpGYWxscyBEdSBuaWNodCB3ZWlzc3QsIHdvdm9uIGljaCBoaWVyIHJlZGUsIHNjaGF1IERpciBtYWwgZGllIFNlaXRlbiB2b24KQW5ha2luIGFuOiBodHRwOi8vd3d3LmFlaS1wb3RzZGFtLm1wZy5kZS9+d2VocmVucy9yYzUvCgpZVEMKLS0tLS0KQXMgb2YgdG9uaWdodCwgdGhlIHJlbGVhc2Ugb2YgMi43MTAwIGNsaWVudHMgaXMgc2NoZWR1bGVkIGZvciB0aGlzCldlZG5lc2RheS4gaXQncyBWRVJZIGltcG9ydGFudCB0aGF0IHlvdSB1cGdyYWRlIGFzIG1hbnkgY2xpZW50cwphcwpwb3NzaWJsZSBhcyBzb29uIGFzIHRoZXNlIG5ldyBjbGllbnRzIGFyZSBhdmFpbGFibGUuIEl0J3MgZXZlbiBtb3JlCmltcG9ydGFudCB0aGF0IHlvdSByZWFkIHRoZSB1cGdyYWRlIGluc3RydWN0aW9ucyBpbiB0aGUgcmVhZG1lIGZpbGUKYXMgc2V2ZXJhbCBpbXBvcnRhbnQgY2hhbmdlcyBoYXZlIGJlZW4gbWFkZS4KClRoZSBuZXcgY2xpZW50cyBoYXZlIHNldmVyYWwgYmlnIGltcHJvdmVtZW50czoKMS4gTmV3IGNvcmVzIGZvciBhbGwgcGxhdGZvcm1zIHlpZWxkaW5nIGhpZ2hlciBERVMgcmF0ZXMgb24gYWxsCiAgIGNsaWVudHMsIHdpdGggaW1wcm92ZW1lbnRzIHJhbmdpbmcgZnJvbSA1MCBra2V5cy9zZWNvbmQgdG8KICAgOCBtZWdha2V5cy9zZWNvbmQsIGRlcGVuZGluZyBvbiB0aGUgcHJvY2Vzc29yLgoyLiBBdXRvbWF0ZWQgY29udGVzdCBzd2l0Y2hpbmcuICBPbGRlciBjbGllbnRzIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkKICAgc3dpdGNoIGZyb20gcmM1IHRvIGRlczsgdG8gZW5zdXJlIHRoYXQgeW91ciBjbGllbnRzIHN0YXJ0IG9uCiAgIERFUy1JSS0yIEFTQVAgd2l0aG91dCBodW1hbiBpbnRlcnZlbnRpb24sIGFuIHVwZ3JhZGUgaXMgcmVxdWlyZWQuCgpJZiB5b3UgYXJlIHJ1bm5pbmcgYSBwZXJzb25hbCBwcm94eSB5b3UgTVVTVCB1cGdyYWRlIGl0IF9iZWZvcmVfIHlvdQp1cGdyYWRlIGFueSBvZiB5b3VyIGNsaWVudHMuIE9sZGVyIHBlcnNvbmFsIHByb3hpZXMgIHdpbGwgbm90IGxldApibG9ja3MgZnJvbSB0aGUgbmV3IGNsaWVudHMgcGFzcyB0aHJvdWdoLgotLS0tLQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKZGVzIGJsb2NrcyAoQW5ha2luLCAyMy4gSnVuIDE5OTgsIDA4OjU4OjI5KToKSGksCgppY2ggaGFiZSBiZWkgbWlyIGFscyBiZXZvcnp1Z3RlbiB3ZXR0YmV3ZXJiIGRlcyBlaW5nZXN0ZWxsdC4KQW5zY2hlaW5lbmQgcmVjaG5ldCBtZWluIGNsaWVudCBhdWNoIGRlcyBibG9lY2tlLCBvYndvaGwgZXMgCmltIG1vbSBrZWluZW4gZGVzIGdpYnQgbnVyIHJjNT8gSGF0IHNvbnN0IG5vY2ggamVtYW5kCmRpZXNlIFZlcmhhbHRlbiBiZW9iYWNodGV0PwoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRlcyBibG9ja3MgKE1vcmdvdGgsIDIzLiBKdW4gMTk5OCwgMDg6NTk6NTMpOgp+IyEgcm49QW5ha2luIHJ0PTg5ODU4NTEwOSByZz1yYzUKfiMhIHRpZD04OTg1ODUxMDkKSmEsIGplZGVzbWFsIHdlbm4gRHUgZGVuIGNsaWVudCBuZXUgc3RhcnRlc3QsIHppZWh0IGVyIGxlZXJlPyBERVMgYmxvZWNrZSB1bmQKbWVya3QgZGFubiwgZGFzIERFUyBuaWNodCBha3RpdiBpc3QuLi4KU2NoZWludCBub3JtYWwgenUgc2Vpbi4KTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGVzIGJsb2NrcyAoSm9mLCAyMy4gSnVuIDE5OTgsIDA5OjAxOjE5KToKfiMhIHJuPU1vcmdvdGggcnQ9ODk4NTg1MTkzIHJnPXJjNQp+IyEgdGlkPTg5ODU4NTEwOQoKIEVyIHJlY2huZXQgMzIgbWFsIGRlbiBCbG9jayBtaXQgZGVtIGtvcnJla3RlbiBFcmdlYm5pcyAobnVyIGRlbiBiZWtvbW10IGVyCnZvbSBrZXkgc2VydmVyKSB1bmQgc2NobmFsbHQgZGFubiwgZGFzIGVzIHZvcmJlaSBpc3QgLi4uIGlyZ2VuZHNvd2FzIApLcmFua2VzLiBIYWIgYXVjaCBuaWNodCB2ZXJzdGFuZGVuIHdpZXNvIGRpZSBkaWUgREVTLUVuZGUtRXJrZW5udW5nIHNvCnNlbHRzYW0gaW1wbGVtZW50aWVydCBoYWJlbiAuLi4KCiBKb2YKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGRlcyBibG9ja3MgKENhdHdlYXpsZSwgMjMuIEp1biAxOTk4LCAxMDozMTo1NSk6Cn4jISBybj1Kb2YgcnQ9ODk4NTg1Mjc5IHJnPXJjNQp+IyEgdGlkPTg5ODU4NTEwOQpKYXUsIGtyYW5rIHdhciBkYXMgc2Nob24gLi4uCkljaCBob2ZmZSBtYWwsIGRhc3MgZGFzIGltIG5ldWVuIENsaWVudCBiZXNzZXIgZ2VyZWdlbHQgaXN0IC4uLgpZVEMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBOZXVlciBDbGllbnQ/IChOaXJkYXZvLCAgNy4gSnVsIDE5OTgsIDE0OjIxOjEwKToKfiMhIHJuPUNhdHdlYXpsZSBydD04OTg1MDIwNjEgcmc9cmM1Cn4jISB0aWQ9ODk4NTAyMDYxCiAgTmFqYSwgaWNoIHdlaXNzIG5pY2h0LCBvYiBkZXIgbmV1ZSBDbGllbnQgd2lya2xpY2ggc28gZGFzIEdlbGJlIHZvbSBFaQppc3QuLi4genVtaW5kZXN0LCB3YXMgZGVuIFc5NSBHVUktQ2xpZW50IGFuZ2VodC4gRGVyIG1hY2h0IGJlaSBtaXIgYXVmCmRpdmVyc2VuIFJlY2huZXJuIG1hc3NpdmUgUHJvYmxlbWUsIGdhbnogaW0gR2VnZW5zYXR6IHp1bSAyLjcwMTctQ2xpZW50LCBkZXIKbW9uYXRlbGFuZyBvaG5lIG11cnJlbiB1bmQgbXVja2VuIGxhZXVmdC4gWnVnZWdlYmVuLCBkaWUgREVTLVJhdGUgaXN0IGdhbnoKYmVlaW5kcnVja2VuZCwgYWJlciBpY2gga2FubiBoaWVyIG5pY2h0IGRpZSBSZWNobmVyIG1laW5lciBLb2xsZWdlbiBzdGFlbmRpZwptaXQgZWluZW0gdW5zaWNoZXJlbiBQcm9ncmFtbSBhYnNjaGllc3Nlbi4KICBIYXQgbm9jaCBqZW1hbmQgRXJmYWhydW5nZW4gaW4gZGllc2VyIFJpY2h0dW5nIGdlbWFjaHQ/CiAgICBOaXJkYXZvLCByZWNobmV0IGF1Y2ggbWl0CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IE5ldWVyIENsaWVudD8gKFJvbmRhLCAgNy4gSnVsIDE5OTgsIDE1OjA1OjA3KToKfiMhIHJuPU5pcmRhdm8gcnQ9ODk5ODE0MDcwIHJnPXJjNQp+IyEgdGlkPTg5ODUwMjA2MQpMZWlkZXIgamEgLSB6dW1pbmRlc3QsIHdlbm4gaWNoIGRhcyBEaW5nIG1pdCBlcmhvZWh0ZXIgcHJpb3JpdGFldCBsYXVmZW4KbGFzc2UsIHN0ZWh0IGRlciBSZWNobmVyIGltbWVyIG1hbCB3aWVkZXIga29tcGxldHQgKG9rLCBuYWNoIGt1cnplciBaZWl0IGdlaHRzCndpZWRlciwgbmVydmlnIGlzdHMgYWJlciBhdWYgamVkZW4gRmFsbCkuIEJlc3NlciBsYWV1ZnQgZXIgbnVyLCB3ZW5uIG1hbiBpaG0KbmllZHJpZ2VzdGUgUHJpbyBnaWJ0LgoKUm9uZGEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IE5ldWVyIENsaWVudD8gKEdyaW1tYm9ybiwgIDcuIEp1bCAxOTk4LCAxNzo1NTozMyk6Cn4jISBybj1Sb25kYSBydD04OTk4MTY3MDcgcmc9cmM1Cn4jISB0aWQ9ODk4NTAyMDYxCkRhcyBtaXQgZGVyIG5pZWRyaWdzdGVuIFByaW8gaXN0IGphIGF1Y2ggU2lubiBkZXIgU2FjaGUsIG5pY2h0IHdhaHI/CgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCkRFUy1JSSBoYXQgYW5nZWZhbmdlbiEhISAoQ2F0d2VhemxlLCAxMy4gSnVsIDE5OTgsIDE5OjQ0OjU3KToKLS0tLS0KTG9vayB3aGF0IGVtZXJnZWQgZnJvbSBpdHMgY29jb29uIHRvZGF5IQoKICAgLy9cICAgICAgICAgL1xcCiAgfHwgKiBcIC4gLiAvICogfHwKICAgXFxfX19fXFgvX19fXy8vCiAgICAvICogIC9PXCAgKiBcCiAgICBcX18vICAiICBcX18vCgpERVMtSUktMiBpcyBiYWNrLCBob3BlIHlvdSdyZSByZWFkeSwgYmVjYXVzZSBkaXN0cmlidXRlZC5uZXQgc3VyZSBpcy4KV2UgaGF2ZSAxMCBkYXlzIHRvIGZpbmQgdGhlIG1hZ2ljIGtleSwgdHVybiBpdCBpbiwgYW5kIGNsYWltIHRoZQokMTAsMDAwIHByaXplLgoKQXMgYSByZW1pbmRlciwgcGxlYXNlIHNldCB5b3VyIHByZWZlcnJlZCBibG9jayBzaXplIGFzIGhpZ2ggYXMKcG9zc2libGUgKHByZWZlcmFibHkgMzEgYml0KSBhbmQgYnVmZmVyIHNpemUgc28gdGhhdCB5b3UgYXJlCmJ1ZmZlcmluZyBubyBtb3JlIHRoYW4gMSBkYXlzIHdvcnRoIG9mIHdvcmsuIFdlIG5lZWQgeW91IHRvIGRvIGxhcmdlCnNpemVkIGJsb2NrcyB0byBoZWxwIHJlZHVjZSBuZXR3b3JrIGxvYWQgKG91ciBlc3RpbWF0ZWQga2V5cmF0ZSBpcwp0d2ljZSB3aGF0IGl0IHdhcyBmb3IgREVTLUlJLTEpLCBhbmQgYmxvY2sgbGF0ZW5jeSB3aWxsIGJlIF92ZXJ5XwppbXBvcnRhbnQgaW4gdGhpcyBjb250ZXN0IGJlY2F1c2Ugd2Ugd2lsbCBwcm9iYWJseSBzdGFydCByZWN5Y2xpbmcKYnkgZGF5IDUgb3IgNi4KClJDNSBzdGF0cyB3aWxsIGJlIHVuYXZhaWxhYmxlIHVudGlsIHRoZSBlbmQgb2YgREVTLiBERVMgc3RhdHMgc2hvdWxkCmJlIHVwIGF0IH4wMjAwIEdNVCB0b21vcnJvdy4KCldlIGhpZ2hseSByZWNvbW1lbmQgeW91IHVwZ3JhZGUgdG8gdGhlIG5ld2VzdCAyLjcxIGNsaWVudHMgaWYgeW91IGNhbi4KSWYgeW91IG11c3QgcnVuIGFuIG9sZGVyIGNsaWVudCAocHJpb3IgdG8gYnVpbGQgNDA4KSwgcGxlYXNlIGNoZWNrIHRvCm1ha2Ugc3VyZSB0aGF0IHByZWZmZXJlZGNvbnRlc3QgaXMgc2V0IHRvIDIsIG5vdCAxLiBJbiBsYXRlciBjbGllbnRzLAptYWtlIHN1cmUgcHJvY2Vzc2Rlcz0xLgogClJlbWVtYmVyIHRoYXQgdGhlIGNsaWVudHMgd2lsbCBub3Qgc3dpdGNoIHRvIERFUyB1bnRpbCB0aGV5IHRhbGsgdG8KdGhlIG5ldHdvcmsuIEluIG9yZGVyIHRvIGdldCB0aGUgYmlnZ2VzdCBoZWFkIHN0YXJ0IG9uIERFUywgeW91IGNhbgp0ZW1wb3JhcmlseSBzZXQgeW91ciBSQzUgYnVmZmVycyB0byAxOjEsIG9yIGZvcmNlIGEgbWFudWFsIHVwZGF0ZQpvbmNlIERFUyBoYXMgc3RhcnRlZC4KIApCZSBzdXJlIHRvIGNoZWNrIGZvciB0aGUgbGF0ZXN0IGNsaWVudHMgYXMgd2VsbC4gTmV3IE1NWCBjbGllbnRzCndlcmUgcmVsZWFzZWQgeWVzdGVyZGF5IHRoYXQgYXJlIGFsbW9zdCB0d2ljZSBhcyBmYXN0IG9uIG15IHN5c3RlbS4KQ2hlY2sgaHR0cDovL3d3dy5kaXN0cmlidXRlZC5uZXQvY2xpZW50cy5odG1sIG9mdGVuLCBvciBzdG9wIGJ5CiNkaXN0cmlidXRlZCBvbiBJUkNzIEVGbmV0IGFuZCBqb2luIGluIHRoZSBmdW4uCiAKIAogIEFkYW0gTC4gQmViZXJnCiAgYmViZXJnQGRpc3RyaWJ1dGVkLm5ldAogIGRpc3RyaWJ1dGVkLm5ldCBmb3VuZGVyCiAgaHR0cDovL3d3dy5paXQuZWR1L35iZWJlcmcvCi0tLS0tCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpERVMtSUkgdm9yYmVpLi4uIChNaWthLCAxNy4gSnVsIDE5OTgsIDEwOjI0OjU5KToKc2llaGUgaHR0cDovL3d3dy5lZmYub3JnL2Rlc2NyYWNrZXIuaHRtbApNaWthCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpFYmVuZSByYy9kZXMgKFJvbmRhLCAxNy4gSnVsIDE5OTgsIDExOjM3OjU4KToKTnVyIHdlaWwncyB2aWVsbGVpY2h0IG5vY2ggbmljaHQgamVkZXIgZ2VtZXJrdCBoYXQgOykKRXMgZ2lidCBuZSBFYmVuZSBkYWZ1ZXIuLi4KTWFuIGxpZXN0IHNpY2gsCgpSb25kYQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKRGVyIERlczIgaXN0IGdla25hY2t0ISAoR3JpbW1ib3JuLCAxNy4gSnVsIDE5OTgsIDEzOjM3OjI0KToKfiMhIG9uPVJvbmRhIG90PTkwMDY2NzMwMCBvZz1hbGxnZW1laW5lcwpHcmFkIHBlciBNYWlsIGJla29tbWVuOgotLS0KSW4gYSBwcmVzcyByZWxlYXNlIChodHRwOi8vd3d3LmVmZi5vcmcvZGVzY3JhY2tlci5odG1sKSB0aGUgRWxlY3Ryb25pYwpGcm9udGllciBGb3VuZGF0aW9uIChFRkYpIGFubm91bmNlZCB0b2RheSB0aGF0IGl0IGhhZCBiZWF0IERFUy1JSS0yCnVzaW5nIGEgbWFjaGluZSBpdCBkZXZlbG9wZWQgZm9yIFVTJDI1MCwwMDAgZGVzaWduZWQgc3BlY2lmaWNhbGx5IHRvCmNyYWNrIERFUy4KCmRpc3RyaWJ1dGVkLm5ldCBpcyB0aHJpbGxlZCB0aGF0IGl0IGhhcyBiZWVuIHNob3duIERFUyBjYW4gYmUKY3JhY2tlZCBpbiBhIHJlbWFya2FibHkgc2hvcnQgdGltZSwgd2l0aCBkZWRpY2F0ZWQgc3BlY2lhbCBwdXJwb3NlCmhhcmR3YXJlLiBUaGUgZmFjdCB0aGF0IHRoaXMgREVTIGNvbnRlc3QgY291bGQgYmUgY3JhY2tlZCBpbiBvbmx5CjIuNSBkYXlzIGRyYW1hdGljYWxseSBkZW1vbnN0cmF0ZXMgdGhhdCA1Ni1iaXQgZW5jcnlwdGlvbiBpcyBub3QKYWRlcXVhdGUgZm9yIGFueSBzZXJpb3VzIHByaXZhY3kvc2VjdXJpdHkgdXNlLgoKV2UgY29uZ3JhdHVsYXRlIHRoZW0gZm9yIHRoZWlyIGFjaGlldmVtZW50LCBhbmQgaG9wZSB0aGV5IGhhdmUgZnVuCnBsYXlpbmcgUXVha2Ugb24gdGhlaXIgbmV3IGJveCBmb3IgdGhlIG5leHQgNiBtb250aHMgdW50aWwgREVTLUlJLTMuCjopCgpkaXN0cmlidXRlZC5uZXQgaXMgY3VycmVudGx5IHRlc3RpbmcgREVTIGtleXMgYXQgYXByb3hpbWF0ZWx5IHRoZSBzYW1lCnJhdGUgYXMgRUZGICh3aGlsZSBzdGlsbCB3b3JraW5nIG9uIDExR2tleXMvc2VjIG9mIFJDNSksIHVzaW5nIG9ubHkKc3BhcmUgY3ljbGVzIG9uIGV4aXN0aW5nIG1hY2hpbmVzLiBUaGlzIGRlbW9uc3RyYXRlcyB0aGF0IDU2LWJpdAplbmNyeXB0aW9uIGlzIHZ1bG5lcmFibGUgdG8gYSB2YXJpZXR5IG9mIGF0dGFja3MsIGJ5IG9yZ2FuaXphdGlvbnMKbGFyZ2UgYW5kIHNtYWxsLgoKRGVzcGl0ZSB0aGlzIHJlcG9ydCBvZiBERVMtSUktMiBiZWluZyBjcmFja2VkLCB3ZSB3aWxsIGNvbnRpbnVlIHRvCmRpc3RyaWJ1dGUga2V5cyB1bnRpbCB3ZSBnZXQgY29uZmlybWF0aW9uIGZyb20gUlNBLiBZb3VyIGNsaWVudHMKc2hvdWxkIHN3aXRjaCBiYWNrIGF1dG9tYXRpY2FsbHkgb25jZSB3ZSBmbGlwIHRoZSBzd2l0Y2guCgpXZSBob3BlIHRvIHNlZSB0aGUgRUZGIGFnYWluIGZvciBERVMtSUktMyBhdCB3aGljaCBwb2ludCB3ZSBleHBlY3QKb3VyIGdlbmVyYWwgcHVycG9zZSBhcmNoaXRlY3R1cmUgdG8gYmUgYXQgbGVhc3QgMi42IHRpbWVzIGZhc3Rlcgp0aGFuIGl0IGlzIG5vdy4gSW4gdGhlIG1lYW50aW1lIGRpc3RyaWJ1dGVkLm5ldCB3aWxsIHB1cnN1ZSBvdGhlcgpkaXN0cmlidXRlZCBjb21wdXRpbmcgcHJvamVjdHMgbGlrZSBSQzUtNjQuCgogIEFkYW0gTC4gQmViZXJnCiAgYmViZXJnQGRpc3RyaWJ1dGVkLm5ldAogIGRpc3RyaWJ1dGVkLm5ldCBmb3VuZGVyCiAgaHR0cDovL3d3dy5paXQuZWR1L35iZWJlcmcvCgotLS0KU2NoYWRlLCBkaWVzbWFsIHdhcmVuIGVzIGxlaWRlciBuaWNodCBkaWUgd2FobnNpbm5pZ2VuIEt1ZWhlLCBkaWUgZGFzIFJlbm5lbgpnZW1hY2h0IGhhYmVuIDooIEFiZXIgZGFzIG5hZWNoc3RlIE1hbCBzaWNoZXIgOykKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBEZXIgRGVzMiBpc3QgZ2VrbmFja3QhIChBbmFraW4sIDE3LiBKdWwgMTk5OCwgMTM6NTc6MjQpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTkwMDY3NTQ0NCByZz1yYzUKfiMhIHRpZD05MDA2NzU0NDQKClNpZWhlIGF1Y2g6IGh0dHA6Ly93d3cuaGVpc2UuZGUvbmV3c3RpY2tlci9kYXRhL2ZyLTE3LjA3Ljk4LTAwMC8KCkFuYWtpbi4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClBsYWV0emUgKENhdHdlYXpsZSwgMTEuIEF1ZyAxOTk4LCAxMjo0Nzo0NSk6CkljaCBoYWIgbWVpbmVtIFBsYXR6IDEgaW0gVGVhbSBtdWQuZGUgdmVybG9yZW4gOigKRGFzIFRlYW0gbXVkLmRlIGhhdCBlaW5lbiBQbGF0eiBndXRnZW1hY2h0IHVuZCBpc3QgYXVmIDI1IGdlbGFuZGV0IDopCgpOb2NoIGNhLiA3N2sgQmxvZWNrZSBhdWZob2xlbiBiaXMgUGxhdHogMjQgOikKCllUQwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKV2FzIGlzdCBsb3M/IChBbGluZSwgMTIuIEphbiAxOTk5LCAxNDowMzoxOSk6CkhpLAoKaGF0IGplbWFuZCBoaWVyIHZpZWxsZWljaHQgbmUgQWhudW5nIHdhcyBiZWkgZGlzdHJpYnV0ZWQubmV0CmxvcyBpc3Q/CkVpbmlnZSBkZXIgYmVpIG1pciBsYXVmZW5kZW4gQ2xpZW50cyBtZWxkZW4sCmRhc3MgZWluIERFUy1Db250ZXN0IGdlc3RhcnRldCBpc3QgdW5kIGZhbmdlbiBhbiBERVMgenUKcmVjaG5lbi4gRGllIFdXVy1TZWl0ZW4gZGllIGljaCBiZWtvbW1lIHNpbmQgYWxsZXJkaW5ncyBzZWl0CmRlbSA1LjEuIG5pY2h0IG1laHIgYWt0dWFsaXNpZXJ0IHdvcmRlbi4gV2FzIGhhdCBkYXMgenUKYmVkZXV0ZW4/CgpHcnVzcwoKQWxpbmUKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBXYXMgaXN0IGxvcz8gKENhdHdlYXpsZSwgMTIuIEphbiAxOTk5LCAxNTo1NDoxMik6Cn4jISBybj1BbGluZSBydD05MTYxNDk3OTkgcmc9cmM1Cn4jISB0aWQ9OTE2MTQ5Nzk5CkFtIDE4LiAob2RlciBzbykgc3RhcnRldCBERVMtSUlJIHVuZCBkaWUgaGFiZW4ganVlbmdzdCBlaW5lbiBUZXN0ZHVyY2hsYXVmCmdlbWFjaHQuCkR1IHNvbGx0ZXN0IERpciBuZXVlIENsaWVudHMgZGFmdWVyIGhvbGVuLgoKWW91cnMgdHJ1bHksCiAgICAgQ2F0d2VhemxlCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFdhcyBpc3QgbG9zPyAoUmluZ29yLCAxMi4gSmFuIDE5OTksIDE1OjU2OjAxKToKfiMhIHJuPUNhdHdlYXpsZSBydD05MTYxNTY0NTIgcmc9cmM1Cn4jISB0aWQ9OTE2MTQ5Nzk5CldhcnVtIG1hY2hlbiBkaWUgbmV1ZXJkaW5ncyBUZXN0ZHVyY2hsYWV1ZmU/IERhcyBrb3N0ZXQgZG9jaCBudXIgUmVjaGVuemVpdApiZWltICJlaWdlbnRsaWNoZW4iIENvbnRlc3QuCgpadW1hbCBhdWYgZGVyIFdlYnNlaXRlIG51ciBzdGFuZCwgZGFzcyBkZXIgREVTLUlJSSBhbSAxOC4gYW5mYWVuZ3QuIEFiZXIgdm9uCm5lbSBUZXN0IHN0YW5kIGRhIG5peC4gV2FyIGV0d2FzIHZlcndpcnJlbmQgZGFzIEdhbnplLgoKUmluZ29yCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV4zOiBXYXMgaXN0IGxvcz8gKFJvY2h1cywgMTIuIEphbiAxOTk5LCAxNTo1OTowNik6Cn4jISBybj1SaW5nb3IgcnQ9OTE2MTU2NTYxIHJnPXJjNQp+IyEgdGlkPTkxNjE0OTc5OQpEYW1pdCBhdWNoIGFsbGVzIGF1ZiBBbmhpZWIgZnVua3Rpb25pZXJ0LgpGdWVyIERFUy1JSUkgaXN0IGRhcyBaaWVsIG5hZW1saWNoLCB1bnRlciAyNCBTdHVuZGVuIHp1IGtvbW1lbiwKZC5oLiBtYW4gc29sbHRlIHB1ZW5rdGxpY2ggenUgQmVnaW5uIGRlcyBDb250ZXN0cyBhbmZhbmdlbiBrb2VubmVuCnVuZCBuaWNodCBlcnN0IG5vY2ggbmUgaGFsYmUgU3R1bmRlIGRlYnVnZ2VuIG11ZXNzZW4uCgoKIFJvY2h1cwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKU3RhdGlzdGlrIERFUy1JSUkgKE1vcmdvdGgsIDE5LiBKYW4gMTk5OSwgMDA6MzA6MzMpOgpodHRwOi8vd3d3LmRpc3RyaWJ1dGVkLm5ldC9kZXMvcnNhX2JvZHkuaHRtbAoKRWluIFJlYWwtVGltZSBVcGRhdGUgOy0pKQoKTSoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJDNSB1bnRlciBXaW5kb29mIE5UIChaaW5vLCAxOC4gSnVuIDE5OTksIDEwOjE4OjA4KToKTW9pbiwKCm5hY2hkZW0gdW5zZXIgUmVjaGVuemVudHJ1bSBuaWNodCBtZWhyIG1vZWNodGUsIGRhc3MgZGllIFJDNS1DbGllbnRlbiBzdGFlbmRpZwpsYXVmZW4sIHN1Y2hlIGljaCBuYWNoIGVpbmVyIE1vZWdsaWNoa2VpdCwgZGllIENsaWVudGVuIGJlaW0gRWlubG9nZ2VuIGVpbmVzCk51dHplcnMgenUgc3RvcHBlbiB1bmQgYmVpbSBBdXNsb2dnZW4gd2llZGVyIHp1IHN0YXJ0ZW4uIFdlaXNzIGplbWFuZCwgd2llCnNvd2FzIHVudGVyIFdpbmRvb2YgTlQgZWluZmFjaCB6dSByZWFsaXNpZXJlbiBpc3QuIEljaCB3YWVyZSBmdWVyIGd1dGUKVm9yc2NobGFlZ2Ugc2VociBkYW5rYmFyLgoKTWFoYXRtYQoKUC5TLiBXZW5uIGljaCBtaXIgZGllIFN0YXRzIHNvIGFuc2NoYXVlOiB1bnNlciBUZWFtIHdhciBhdWNoIHNjaG9ubWFsIGJlc3NlciwKd2FzIGlzdCBudXIgbG9zIG1pdCBldWNoPwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJDNSB1bnRlciBXaW5kb29mIE5UIChCYW1idWxrbywgMTguIEp1biAxOTk5LCAxMDoyOToxMyk6Cn4jISBybj1aaW5vIHJ0PTkyOTcwMTA4OCByZz1yYzUKfiMhIHRpZD05Mjk3MDEwODgKTmFqYSByYzUgaGF0IGhhbHQgS29ta3VycmVueiB2b24gU2V0aUBIb21lIGJla29tbWVuLi4uLi4KCkJhbWJ1bGtvCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmU6IFJDNSB1bnRlciBXaW5kb29mIE5UIChNYWhhdG11LCAxOC4gSnVuIDE5OTksIDE1OjIxOjMzKToKfiMhIHJuPUJhbWJ1bGtvIHJ0PTkyOTcwMTc1MyByZz1yYzUKfiMhIHRpZD05Mjk3MDEwODgKKmcqIEtvcnJla3QuIElyZ2VuZHdpZSBtdXRldCBTZXRpQGhvbWUgYWxzIGV0d2FzIHNpbm52b2xsZXIgYW4uIEpldHp0CmJyYXVjaGVuIGRpZSBudXIgZGFzIEtub3cgaG93IHZvbiBkaXN0cmlidXRlZCB1bmQgc2Nob24gaGFiZW4gc2llIGF1Y2gKdmllbCBLYXBheml0YWV0LiBVZWJlcmhhdXB0IGtvZW5udGUgbWFuLCBuYWNoZGVtIHJjNSBkYXMgdm9yZ2VtYWNodCBoYXQsClJlY2hlbmxlaXN0ZW4gc2FtbWVsbiB1bmQgdmVyc2NoZXJiZWxuLiBJY2ggZGVuayBtYWwgbnVyIGFuIGRpZSBkYW1pdAp1ZWJlcmZsdWVzc2lnZW4sIHNhdXRldXJlbiBob2NocGFyYWxsZWxlbiBSZWNobmVyLgoKR2xvaW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IFJDNSB1bnRlciBXaW5kb29mIE5UIChFbWFpbCwgMTkuIEp1biAxOTk5LCAxMDozNzozNSk6Cn4jISBybj1NYWhhdG11IHJ0PTkyOTcxOTI5MyByZz1yYzUKfiMhIHRpZD05Mjk3MDEwODgKSG1tLCB3YXMgaXMgYW4gZGVtIEdlcnVlY2h0LCBkYXMgYmVpIFNldGkgamVkZXIgZGFzIHNlbGJlIERhdGVucGFrZXQKZHVyY2hzdWNodCwgZGFzcyBkZXJlbiBSZWNobmVyIG9iIGRlciBob2hlbiBCZXRlaWxpZ3VuZyB1ZWJlcmxhc3RldCBzaW5kLCB1bmQKZGFzIG1hbiBkYWhlciBuaWUgd2FzIGZpbmRlbiBrb2VubmVuIHdpcmQ/Cldhbm4gd2FyZCBpaHIgZGFzIGxldHp0ZSBtYWwgYXVmIGRlciBIUCB2b24gU2V0aUBIb21lLCB1bmQgaGFidCBuaWNoIG51ciBkaWUKVG9wbGlzdGVuIGFuZ2VndWdndD8KCgpFbWFpbCBmdWVyIERpY2guCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBSQzUgdW50ZXIgV2luZG9vZiBOVCAoQXNoaXlhLCAxOS4gSnVuIDE5OTksIDE2OjU4OjA2KToKfiMhIHJuPUVtYWlsIHJ0PTkyOTc4ODY1NSByZz1yYzUKfiMhIHRpZD05Mjk3MDEwODgKQW4gZGVtIEdlcnVlY2h0IGlzdCB3b2hsIGV0d2FzIG1laHIgYWxzIG5pY2h0cyBkcmFuLCB6dW1pbmRlc3QKZ2Vpc3RlcnRlIGRhcyBhdWNoIHVlYmVyIGRpZSBHSU1QUy1NYWlsaW5nbGlzdGUuCgpBc2hpeWEKKHN1Y2h0IFByaW16YWhsZW4uLi4pCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpBZW5kZXJ1bmcgKEFuYWtpbiwgMTguIEphbiAyMDAwLCAxOTo1ODowMSk6CkhpLAoKendlaSBrbGVpbmUgU2FjaGVuCmEpIGRpZSBtdWQuZGUgcmM1IHdlYnNlaXRlIGlzdCBudW4gdW50ZXIgd3d3Lm11ZC5kZS9yYzUgenVlcnJlaWNoZW4KYikgYXVmIGRlciBtdWQuZGUgaG9tZXBhZ2UgaXN0IG51biBkZXIgYWt0dWVsbGUgcGxhdHogZGVuIHdpcgogICBoYWJlbiBkYXJnZXN0ZWxsdAoKQW5ha2luLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IEFlbmRlcnVuZyAoVGFyaW5hLCAxOC4gSmFuIDIwMDAsIDIxOjM1OjM2KToKfiMhIHJuPUFuYWtpbiBydD05NDgyMjE4ODEgcmc9cmM1Cn4jISB0aWQ9OTQ4MjIxODgxCndlbm4gbWFuIGF1ZiBkZXIgd3d3Lm11Zy5kZS9yYzUtc2VpdGUgZGVuIGxpbmsgYXVmIGRpZSBjbGllbnRzIGFua2xpY2t0LApiZWtvbW10IG1hbiBlaW5lbiBmZWhsZXIuIFZpZWxsZWljaHQga29lbm50ZSBtYW4gZGFzIG5vY2ggYWVuZGVybi4KCkdydXNzLApUYXJpbmEgKHd1ZXJkZSBhdWNoIGdlcm5lIG1pdG1hY2hlbikKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogQWVuZGVydW5nIChBbmFraW4sIDE5LiBKYW4gMjAwMCwgMTA6MDM6MDUpOgp+IyEgcm49VGFyaW5hIHJ0PTk0ODIyNzczNiByZz1yYzUKfiMhIHRpZD05NDgyMjE4ODEKCkdlZml4ZWQuCgpBTmFraW4uCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChHbG9pbnNvbiwgMjYuIFNlcCAyMDAyLCAxODo0Mjo1Nik6Cmh0dHA6Ly93d3cuZGlzdHJpYnV0ZWQubmV0L3ByZXNzcm9vbS9uZXdzLTIwMDIwOTI2Lmh0bWwKCkRhbWl0IGR1ZXJmdGUgc2ljaCBkaWVzZSBSdWJyaWsgaGllciBlcnVlYnJpZ2VuLiBHaWJ0IGFiZXIgbm9jaCBhbmRlcmUKUHJvamVrdGUgZGVyIEFydCA6KQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKEFscGhhLCAyNi4gU2VwIDIwMDIsIDE4OjQ0OjEyKToKfiMhIHJuPUdsb2luc29uIHJ0PTEwMzMwNTg1NzYgcmc9cmM1Cn4jISB0aWQ9MTAzMzA1ODU3Ngp6QiB3d3cuVUQuY29tLCBkaWUgcmVjaG5lbiBhdWNoIGFuIHNhY2hlbiBkaWUgd2lya2xpY2ggbnVldHpsaWNoIHNpbmQsIHpCCktyZWJzZm9yc2NodW5nLgpBbHBoYS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZTogZGlzdHJpYnV0ZWQubmV0IGNvbXBsZXRlcyByYzUtNjQgcHJvamVjdCAoR3JpbW1ib3JuLCAyNi4gU2VwIDIwMDIsIDIwOjAxOjQ0KToKfiMhIHJuPUFscGhhIHJ0PTEwMzMwNTg2NTIgcmc9cmM1Cn4jISB0aWQ9MTAzMzA1ODU3NgoiS3JlYnNmb3JzY2h1bmciIGlzdCBuaWNodCB3aXJrbGljaCBwZXIgc2UgbnVldHpsaWNoLiBEYXMgaXN0IGxlZGlnbGljaCBlaW4KVHJpZ2dlciBmdWVyIERGRy1HZWxkZXIuCgpHZEEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjM6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKFphcm5peWEsIDI3LiBTZXAgMjAwMiwgMTE6MDQ6MzUpOgp+IyEgcm49R3JpbW1ib3JuIHJ0PTEwMzMwNjMzMDQgcmc9cmM1Cn4jISB0aWQ9MTAzMzA1ODU3NgpBbHNvIGJlaSBkaXN0cmlidXRlZC5uZXQgbGF1ZmVuIGRpZSBPR1IgUHJvamVrdGUgd29obCBiYWxkIHdlaXRlciB1bmQgZXMgaXN0CmRhbWl0IHp1IHJlY2huZW4sIGRhc3Mgc2VociBzY2huZWxsIGF1ZiByYzUtNzIgdW1nZXN0ZWxsdCB3aXJkLiBJY2ggd3VlcmQgZGEKYWxzbyBtYWwgYWJ3YXJ0ZW4uCgpNYXJjCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV40OiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChFbGJlcmV0LCAyNy4gU2VwIDIwMDIsIDExOjM1OjAxKToKfiMhIHJuPVphcm5peWEgcnQ9MTAzMzExNzQ3NSByZz1yYzUKfiMhIHRpZD0xMDMzMDU4NTc2CndhcyBpc3QgZWlnZW50bGljaCBnZW5hdSBkYXMgemllbCBiZWkgZGVtIHJjNS02NCBnZXdlc2VuPyBEYXMga25hY2tlbiBkZXMKU2NobHVlc3NlbHMga2FubiBlcyBkb2NoIHdhaGwga2F1bSBnZXdlc2VuIHNlaW4sIG9kZXI/IFdhcyB3b2xsdGUgbWFuIG1pdApkaWVzZW0gUHJvamVrdCB6ZWlnZW4/CgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChLcmVsbGphLCAyNy4gU2VwIDIwMDIsIDExOjM2OjIwKToKfiMhIHJuPUVsYmVyZXQgcnQ9MTAzMzExOTMwMSByZz1yYzUKfiMhIHRpZD0xMDMzMDU4NTc2CkljaCBkZW5rZSBsZWlkZXIgc2Nob24uIEF1Y2ggd2VubiBlaW5pZ2UgTGV1dGUgKGVpc2NobGllc3NsaWNoIG1laW5lcgpNYXNzaWdrZWl0KSBkYW1hbHMgc2Nob24gZ2VzcG90dGV0IGhhYmVuLCBkYXNzIGRhcyB3b2hsIGVoZXIgZGVyIE5hY2h3ZWlzCndpcmQsIGRhcyBlaW4gNjQgQml0IEtleSBnYXIgbmljaHQgc29vIHNjaGxlY2h0IGlzdC4KClRzY2h1ZXNzCgpLcmVsbGphCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV41OiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChQYXRyeW4sIDI3LiBTZXAgMjAwMiwgMTE6Mzc6NDQpOgp+IyEgcm49RWxiZXJldCBydD0xMDMzMTE5MzAxIHJnPXJjNQp+IyEgdGlkPTEwMzMwNTg1NzYKa2xhciB3YXIgZGFzIGtuYWNrZW4gZGFzIHppZWwsIGRlciBiZXdlaXMsIGRhc3MgZGllc2UgdmVyc2NobHVlc3NlbHVuZwp1bnp1cmVpY2hlbmQgaXN0IGJlaSBkZXIgaGV1dGlnZW4gcmVjaGVubGVpc3R1bmcsIHdlbm4gZGFzIHBlciBicnV0ZSBmb3JjZQppbiBoaW5yZWljaGVuZCBrdXJ6ZXIgemVpdCBnZWxpbmd0LgppY2ggYmluIGRlciBtZWludW5nLCBkZW4gYmV3ZWlzIGhhdCBtYW4gbmljaHQgZ2VzY2hhZmZ0LgplaW5lIGdld2FsdGlnZSByZWNoZW5wb3dlciBoYXQgemllbWxpY2ggbGFuZ2UgYmVub2V0aWd0LgpmdWVyIGVtYWlscyBvZGVyIHNvIHJlaWNodCBkYXMgdG90YWwsIGF1Y2ggZnVlciBrcmVkaXRrYXJ0ZW4gb2RlciBzbywKZGllIGdlbHRlbiBtZWlzdCBuaWNoIG1hbCBzb2xhbmdlLgp3aWNodGlnZXJlIGRhdGVuIHdlcmRlbiBtZWlzdCBlaCBhbmRlcnMgZ2VzY2h1ZXR6dC4KCi0tIApwYXRyeW4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjU6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKEtyZWxsamEsIDI3LiBTZXAgMjAwMiwgMTE6Mzc6NTQpOgp+IyEgcm49RWxiZXJldCBydD0xMDMzMTE5MzAxIHJnPXJjNQp+IyEgdGlkPTEwMzMwNTg1NzYKRWluIFNlbGJzcmVwbHkuIHJjNS01NiwgaGF0dGUgZGFtYWxzLCBnbGF1YmUgaWNoIHp1bWluZGVzdCB6dSBlcmlubmVybiwgbm9jaApjYS4gMS8yIEphaHIgZ2VkYXVlcnQuIFdlbm4gbWFuIGFsc28gbWFsIHZvbiAyNTYgZmFjaGVtIEF1ZndhbmQgdW5kIGVpbmVyClJlY2hlbmxlaXN0dW5nIHZlcmRvcHBsdW5nIGFsbGUgMTggTW9uYXRlIGF1c2dlaHQsIG11c3N0ZSBlcyBlaW5mYWNoIGRhdWVybi4KCktyZWxsamEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKEVsYmVyZXQsIDI3LiBTZXAgMjAwMiwgMTE6NDU6MTIpOgp+IyEgcm49S3JlbGxqYSBydD0xMDMzMTE5NDc0IHJnPXJjNQp+IyEgdGlkPTEwMzMwNTg1NzYKZWJlbiwgaWNoIHNlaCBuaWNodCwgZGFzcyAxNzAwIFRhZ2UgUmVjaGVuemVpdCBpbiBpcmdlbmRlaW5lciB3ZWlzZSB6ZWlnZW4sCmRhc3MgZWluIFNjaGx1ZXNzZWwgbmljaHQgc2ljaGVyIGdlbnVnIHNlaSwgdW0gZGFtaXQgRGF0ZW4genUgdmVyc2NobHVlc3NlbG4KZGllIGtlaW5lIHNvbyBsYW5nZSBIYWx0YmFya2VpdCBoYWJlbi4gRGFoZXIgd2FyIGljaCBhdWNoIG5pZSBiZXJlaXQsIG1laW5lbgpDb21wdXRlciBkYWZ1ZXIgcmVjaG5lbiB6dSBsYXNzZW4uIEljaCB3dWVzc3RlIGphIGVpbiBwYWFyIG1hdGhlbWF0aXNjaGUKUHJvamVrdGUsIHdvIGRpZXNlIFJlY2hlbnBvd2VyIGR1cmNoYXVzIGJyYXVjaGJhciB3YWVyZSwgYWJlZHIgd2FocnNjaGVpbmxpY2gKd3VlcmRlIG1hbiBkYWZ1ZXIgbmljaHQgc292aW9lbGUgTGV1dGUgenVzYW1tZW50cm9tbWVsbiBrb2VubmVuIDopCgpFbGJpCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChIdW1uaSwgMjcuIFNlcCAyMDAyLCAxMTo0NTozOCk6Cn4jISBybj1FbGJlcmV0IHJ0PTEwMzMxMTk5MTIgcmc9cmM1Cn4jISB0aWQ9MTAzMzA1ODU3NgpHZW5hdSwgQ29ud2F5LVBvbHlub21lIGF1c3JlY2huZW4genVtIEJlaXNwaWVsIQoKSHVtbmkKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjg6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKFphcm5peWEsIDI3LiBTZXAgMjAwMiwgMTI6MzI6NDMpOgp+IyEgcm49SHVtbmkgcnQ9MTAzMzExOTkzOCByZz1yYzUKfiMhIHRpZD0xMDMzMDU4NTc2CkljaCBiaW4gc2ljaGVyLCBhdWNoIG5hY2ggR2VzcHJhZWNoZW4gbWl0IEV4cGVydGVuLCBkYXNzIFJDNS02NCBzY2hvbiB2aWVsCmZydWVoZXIgaGFldHRlIGdla25hY2t0IHdlcmRlbiBrb2VubmVuLCB3ZW5uIG1hbiBuaWNodCBicnV0ZSBmb3JjZSBnZW5vbW1lbgpoYWV0dGUsIHNvbmRlcm4gZGFiZWkgZWluIHdlbmlnIGxvZ2lzY2ggbmFjaGdlZGFjaHQuLi4gZGFzIHdhciBhYmVyIG5pY2h0IGRhcwpaaWVsIHZvbiBkZW0gUHJvamVrdC4uLiBJbSBFbmRlZmZla3QgaGF0IHNpY2ggZ2V6ZWlndCwgREFTUyBkZXIgQ29kZQplaW5pZ2VybWFzc2VuIHNpY2hlciBpc3QgZ2VnZW51ZWJlciBlaW5lbSBicnV0ZSBGb3JjZSBBbmdyaWZmLCBkYXMgaXN0IGRvY2gKYXVjaCB3YXMuIEFuZGVyZSBDb2RlYW5iaWV0ZXIgd2llIERFUyBoYWJlbiB6QiBudXIgZ3Jvc3MgcnVtZ2V0b2VudCwgZGFzcyBpaHJlClZlcnNjaGx1ZXNzZWx1bmcgc29vb28gdG9sbCBpc3QgdW5kIGRlciBDb2RlIGlzdCBkYW5uIGlubmVyaGFsYiB2b24gMyBUYWdlbgooISEhKSBtaXQgYnJ1dGUgZm9yY2UgZ2VrbmFja3Qgd29yZGVuLi4uIHNlaXQgZGVtIHdpbGwgREVTIG1pdCBzZWluZW4gbmV1ZW4KQ29kZXMgYmVpIGRlciBTYWNoZSBuaWNodCBtZWhyIG1pdHNwaWVsZW4sIHdhcyBtaWNoIGVpbiB3ZW5pZyBzdG9lcnQsIGRlbm4gZXIKc2NoZWludCBzY2hsZWNodCB6dSBzZWluIHVuZCBlaW4gZ3Jvc3N0ZWlsIGRlciBLcmVkaXRrYXJ0ZW4gc2luZCAoQUZBSUspIERFUwpjb2RpZXJ0Li4uIAoKTWFyYwoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeOTogZGlzdHJpYnV0ZWQubmV0IGNvbXBsZXRlcyByYzUtNjQgcHJvamVjdCAoR2xvaW5zb24sIDI3LiBTZXAgMjAwMiwgMTM6MjA6NDkpOgp+IyEgcm49WmFybml5YSBydD0xMDMzMTIyNzYzIHJnPXJjNQp+IyEgdGlkPTEwMzMwNTg1NzYKV2VyIG5hY2ggZWluZW0gYW5kZXJlbiBQcm9qZWt0IGZ1ZXIgc2ljaCBzdWNodCwgZGVtIGlzdCBoaWVybWl0Cmh0dHA6Ly93d3cuYXNwZW5sZWFmLmNvbS9kaXN0cmlidXRlZC9kaXN0cmliLXByb2plY3RzLmh0bWwKZW1wZm9obGVuLgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmVeMzogZGlzdHJpYnV0ZWQubmV0IGNvbXBsZXRlcyByYzUtNjQgcHJvamVjdCAoUm9jaHVzLCAyOC4gU2VwIDIwMDIsIDE5OjEzOjA0KToKfiMhIHJuPUdyaW1tYm9ybiBydD0xMDMzMDYzMzA0IHJnPXJjNQp+IyEgdGlkPTEwMzMwNTg1NzYKSmVkZW5mYWxscyBXRVNFTlRMSUNIIG51ZXR6bGljaGVyLCBhbHMgcmM1LVNjaGx1ZXNzZWwga25hY2tlbgpvZGVyIEF1c3NlcmlyZGlzY2hlIGphZ2VuLgoKICBSb2NodXMKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlXjY6IGRpc3RyaWJ1dGVkLm5ldCBjb21wbGV0ZXMgcmM1LTY0IHByb2plY3QgKFBpbGdyaW0sIDExLiBPa3QgMjAwMiwgMTQ6MzU6NTkpOgp+IyEgcm49UGF0cnluIHJ0PTEwMzMxMTk0NjQgcmc9cmM1Cn4jISB0aWQ9MTAzMzA1ODU3NgpXZW5uIG1hbiBhYmVyIGJlZGVua3QsIGRhc3Mgc2ljaCBkaWUgUmVjaGVucG93ZXIgc28gemllaG1saWNoCmFsbGUgcGFhciBKYWhyZSAoPCAzKSBWZXJkb3BwZWx0LCBrYW5uIG1hbiBhYnNlaGVuLCB3aWUgbGFuZwpzb2xjaGUgRG9rdW1lbnRlIGdlc2NodWV0enQgYmxlaWJlbiAuLi4gCgpQaWxncmltCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZV43OiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChXb29keSwgMTQuIE9rdCAyMDAyLCAwMDo0NjoyOCk6Cn4jISBybj1QaWxncmltIHJ0PTEwMzQzMzk3NTkgcmc9cmM1Cn4jISB0aWQ9MTAzMzA1ODU3NgpBbGxlIDE4IE1vbmF0ZS4gRXR3YS4gU2VpdCBkZW4gNzBlcm4uIE1vb3JlJ3MgTGF3Li4uIChhdWNoIHdlbm5zIHVyc3ByZ2wuCmRpZSBBbnphaGwgZGVyIFRyYW5zaXN0b3JlbiBiZXNjaHJpZWIpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKUmU6IFJlOiBkaXN0cmlidXRlZC5uZXQgY29tcGxldGVzIHJjNS02NCBwcm9qZWN0IChBdG96LCAxOC4gT2t0IDIwMDIsIDIyOjEyOjA4KToKfiMhIHJuPUFscGhhIHJ0PTEwMzMwNTg2NTIgcmc9cmM1Cn4jISB0aWQ9MTAzMzA1ODU3NgpBbHNvIFVEIGhhdCBtaXIgemllbWxpY2ggQ1BVLVplaXQgZ2VrbGF1dCwgb2J3b2hsIGVyIGVpZ2VudGxpY2ggbGF1dApCZXNjaHJlaWJ1bmcgbnVyIGRlbiBMZWVybGF1ZnByb3plc3MgZXJzZXR6ZW4gc29sbHRlLiBEdW1tZXJ3ZWlzZSBoYXQgZXMgZWJlbgpkYXMgbmljaHQgZ2V0YW4uIFdhciBnYW56IHRvbGwsIHdlaWwgaWNoIGRhbWl0IHN0YXR0IDIgU3R1bmRlbiBwbG9ldHpsaWNoIG1laHIKYWxzIGRhcyBEb3BwZWx0ZSBnZWJyYXVjaHQgaGFiZS4gQmVzb25kZXJzIHdlaWwgd2lyIGVyc3QgZ2FyIG5pY2h0IGdlbWVya3QKaGFiZW4sIHdlaWwgd2lyIG5vY2ggYW4gYW5kZXJlbiBSZWNobmVybiB6dSBHYW5nZSB3YXJlbi4uLgpCZWkgbWlyIGlzdCBkZXIgZXJzdCBtYWwgcmF1c2dlZmxvZ2VuLgoKR3J1c3MsCkF0b3oKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlY2hlbnplaXQgLi4uIChHbG9pbiwgMjQuIFNlcCAyMDAzLCAxMjozOTowMCk6Ci4uLiBrYW5uIG1lbnNjaCBhYiBqZXR6dCBhdWNoIGhpZXIgdmVyYmFsbGVybjoKCmh0dHA6Ly93d3cuY2xpbWF0ZXByZWRpY3Rpb24ubmV0L2luZGV4LnBocAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKClJlOiBSZWNoZW56ZWl0IC4uLiAoWm9vaywgMjQuIFNlcCAyMDAzLCAxMjo0NjoxNCk6Cn4jISBybj1HbG9pbiBydD0xMDY0Mzk5OTQwIHJnPXJjNQp+IyEgdGlkPTEwNjQzOTk5NDAKQWxzbyBzY2hvbiBkaWUgVVJMIGtsaW5ndCBpcmdlbmR3aWUgd2lya2xpY2ggbmFjaCAidmVyYmFsbGVybiIgOykKClpvb2suCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKCgpSZTogUmVjaGVuemVpdCAuLi4gKFZhcmRpb24sIDI0LiBTZXAgMjAwMywgMTI6NDc6NDIpOgp+IyEgcm49R2xvaW4gcnQ9MTA2NDM5OTk0MCByZz1yYzUKfiMhIHRpZD0xMDY0Mzk5OTQwCkFsdGVybmF0aXYga2FubiBtYW4gYXVjaCBlaW5mYWNoIGRlbiBNUEVHNC1FbmNvZGVyIHdlaXRlciBzZWluZSBBcmJlaXQgdHVuCmxhc3Nlbi4KClZhcmRpb24KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoKCg==