LyoKICogV2luZSBjb21tYW5kIHByb21wdCAoRHV0Y2ggcmVzb3VyY2VzKQogKgogKiBDb3B5cmlnaHQgKEMpIDIwMDMgSGFucyBMZWlkZWtrZXIKICogQ29weXJpZ2h0IChDKSAyMDA4IEZyYW5zIEtvb2wKICoKICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCiAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgogKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KICoKICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCiAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiAqCiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBCiAqLwoKTEFOR1VBR0UgTEFOR19EVVRDSCwgU1VCTEFOR19ORVVUUkFMCgpTVFJJTkdUQUJMRQp7CiAgV0NNRF9BVFRSSUIsICJVaXRsZWcgYmlqIEFUVFJJQlxuIgogIFdDTURfQ0FMTCwKIkNBTEwgPGJhdGNoYmVzdGFuZHNuYWFtPiB3b3JkdCBnZWJydWlrdCBiaW5uZW4gZWVuIGJhdGNoYmVzdGFuZCBvbSBvcGRyYWNodGVuIHVpdFxuXAplZW4gYW5kZXIgYmF0Y2hiZXN0YW5kIGFhbiB0ZSByb2VwZW4uIEFscyBoZXQgYmF0Y2hiZXN0YW5kIGJlc3RhYXQga2VlcnQgZGUgY29udHJvbGUgdGVydWdcblwKbmFhciBoZXQgYmVzdGFuZCBkYXQgaGV0IGFhbnJpZXAuIFRoZSBDQUxMIG9wZHJhY2h0IGthbiBwYXJhbWV0ZXJzIG1lZWdldmVuIGFhbiBkZSBhYW4gdGVcblwKcm9lcGVuIHByb2NlZHVyZS5cblwKXG5cClZlcmFuZGVyaW5nZW4gbS5iLnQgZGlyZWN0b3J5LCBvbWdldmluZ3N2YXJpYWJlbGVuLCBldGMgZGllIHRvdCBzdGFuZCBrb21lbiBiaW5uZW4gZWVuXG5cCmFhbmdlcm9lcGVuIHByb2NlZHVyZSB3b3JkZW4gZ+tlcmZ0IGRvb3IgZGUgYWFucm9lcGVuZGUgcHJvY2VkdXJlLlxuIgoKICBXQ01EX0NELCAgICAgIlVpdGxlZyBiaWogQ0RcbiIKICBXQ01EX0NIRElSLCAgIlVpdGxlZyBiaWogQ0hESVJcbiIKCiAgV0NNRF9DTFMsICAgICJDTFMgc2Nob29udCBoZXQgc2NoZXJtXG4iCgogIFdDTURfQ09QWSwgICAiVWl0bGVnIGJpaiBDT1BZXG4iCiAgV0NNRF9DVFRZLCAgICJVaXRsZWcgYmlqIENUVFlcbiIKICBXQ01EX0RBVEUsICAgIlVpdGxlZyBiaWogREFURVxuIgogIFdDTURfREVMLCAgICAiVWl0bGVnIGJpaiBERUxcbiIKICBXQ01EX0RJUiwgICAgIlVpdGxlZyBiaWogRElSXG4iCgogIFdDTURfRUNITywKIkVDSE8gPHRla2VucmVla3M+IGdlZWZ0IDx0ZWtlbnJlZWtzPiB3ZWVyIG9wIGhldCBhY3RpZXZlIHVpdHZvZXJhcHBhcmFhdC5cblwKXG5cCkVDSE8gT04gem9yZ3QgZXJ2b29yIGRhdCBhbGxlIGhpZXJvcCB2b2xnZW5kZSBvcGRyYWNodGVuIGluIGVlbiBiYXRjaGJlc3RhbmQgd29yZGVuIHdlZXJnZWdldmVuXG5cCm9wIGhldCB1aXR2b2VyYXBwYXJhYXQgdm9vcmRhdCB6ZSB3b3JkZW4gdWl0Z2V2b2VyZC5cblwKXG5cCkVDSE8gT0ZGIGtlZXJ0IGhldCBlZmZlY3QgdmFuIGVlbiB2b29yYWZnYWFuZGUgRUNITyBPTiBvbSAoRUNITyBPRkYgaXNcblwKZGUgc3RhbmRhYXJkaW5zdGVsbGluZykuIFdlZXJnYXZlIHZhbiBkZSBFQ0hPIE9GRiBvcGRyYWNodCBrYW4gd29yZGVuIHZvb3Jrb21lbiBkb29yXG5cCmhldCB0ZSBsYXRlbiB2b29yYWZnYWFuIGRvb3IgaGV0IEAtdGVrZW4uXG4iCgogIFdDTURfRVJBU0UsICAiVWl0bGVnIGJpaiBFUkFTRVxuIgoKICBXQ01EX0ZPUiwKIkRlIEZPUiBvcGRyYWNodCB3b3JkdCBnZWJydWlrdCBvbSBlZW4gb3BkcmFjaHQgdWl0IHRlIHZvZXJlbiB2b29yIGllZGVyIHZhbiBlZW4gdmVyemFtZWxpbmcgYmVzdGFuZGVuLlxuXApcblwKU3ludGF4OiBGT1IgJXZhcmlhYmVsZSBJTiAodmVyemFtZWxpbmcpIERPIG9wZHJhY2h0XG5cClxuXApJbiBjbWQgaXMgaGV0IG5pZXQgdmVyZWlzdCBvbSBoZXQgJS10ZWtlbiBpbiBlZW4gRk9SIG9wZHJhY2h0IGluIGVlbiBiYXRjaGJlc3RhbmQgdGVcblwKdmVyZHViYmVsZW4uXG4iCgogIFdDTURfR09UTywKIkRlIEdPVE8gb3BkcmFjaHQgdmVycGxhYXRzdCB1aXR2b2VyaW5nIG5hYXIgZWVuIGFuZGVyZSBvcGRyYWNodCBiaW5uZW4gZWVuXG5cCmJhdGNoYmVzdGFuZC5cblwKXG5cCkhldCBkb2VsIHZhbiBlZW4gR09UTyBvcGRyYWNodCB3b3JkdCBhYW5nZWdldmVuIG1ldCBlZW4gbGFiZWwuIERhdCBsYWJlbCBtYWcgdWl0IG1heGltYWFsIDI1NSB0ZWtlbnNcblwKYmVzdGFhbiBtYWFyIGVyIG1vZ2VuIGdlZW4gc3BhdGllcyBpbiB2b29ya29tZW4gKGRpdCB2ZXJzY2hpbHQgYmlqIGFuZGVyZSBiZXN0dXJpbmdzc3lzdGVtZW4pLlxuXApBbHMgZXIgdHdlZSBvZiBtZWVyIGlkZW50aWVrZSBsYWJlbHMgYmVzdGFhbiBpbiBlZW4gYmF0Y2hiZXN0YW5kIGRhblxuXAp3b3JkdCBhbHRpamQgbmFhciBkZSBlZXJzdGUgZ2VzcHJvbmdlbi4gRWVuIHBvZ2luZyBvbSB0ZSBzcHJpbmdlbiBuYWFyIGVlbiBuaWV0IGJlc3RhYW5kXG5cCmxhYmVsIGJl62luZGlndCBoZXQgdWl0dm9lcmVuIHZhbiBoZXQgYmF0Y2hiZXN0YW5kLlxuXApcblwKR09UTyBoZWVmdCBnZWVuIGVmZmVjdCBhbHMgaGV0IGluIGVlbiBpbnRlcmFjdGlldmUgc2Vzc2llIHdvcmR0IGdlYnJ1aWt0LlxuIgoKICBXQ01EX0hFTFAsICAgIlVpdGxlZyBiaWogSEVMUFxuIgoKICBXQ01EX0lGLAoiSUYgd29yZHQgZ2VicnVpa3Qgb20gZWVuIG9wZHJhY2h0IHZvb3J3YWFyZGVsaWprIHVpdCB0ZSB2b2VyZW4uXG5cClxuXApTeW50YXg6CUlGIFtOT1RdIEVYSVNUIGJlc3RhbmRzbmFhbSBvcGRyYWNodFxuXAoJSUYgW05PVF0gdGVrZW5yZWVrczE9PXRla2VucmVla3MyIG9wZHJhY2h0XG5cCglJRiBbTk9UXSBFUlJPUkxFVkVMIGdldGFsIG9wZHJhY2h0XG5cClxuXApJbiBkZSB0d2VlZGUgdm9ybSB2YW4gZGUgb3BkcmFjaHQgbW9ldGVuIHRla2VucmVla3MxIGVuIHRla2VucmVla3MyIHR1c3NlbiBkdWJiZWxlXG5cCmFhbmhhbGluZ3N0ZWtlbiBzdGFhbi4gRGUgdmVyZ2VsaWpraW5nIGlzIG5pZXQgZ2V2b2VsaWcgdm9vciBoZXQgb25kZXJzY2hlaWQgdHVzc2VuXG5cCmhvb2ZkLSBlbiBrbGVpbmUgbGV0dGVycy5cbiIKCiAgV0NNRF9MQUJFTCwgICJMQUJFTCB3b3JkdCBnZWJydWlrdCBvbSBlZW4gc2NoaWpmbGFiZWwgdGUgd2lqemlnZW4uXG5cClxuXApTeW50YXg6IExBQkVMIFtzY2hpamY6XVxuXApEZSBvcGRyYWNodCB2cmFhZ3QgdSBvbSBlZW4gbmlldXcgbGFiZWwgaW4gdGUgdGlra2VuIHZvb3IgZGUgb3BnZWdldmVuIHNjaGlqZi5cblwKVSBrdW50IGhldCBsYWJlbCB2YW4gZWVuIHNjaGlqZiB0b25lbiBtZXQgYmVodWxwIHZhbiBkZSBWT0wgb3BkcmFjaHQuXG4iCgogIFdDTURfTUQsICAgICAiVWl0bGVnIGJpaiBNRFxuIgogIFdDTURfTUtESVIsICAiVWl0bGVnIGJpaiBNS0RJUlxuIgogIFdDTURfTU9WRSwKIk1PVkUgdmVycGxhYXRzdCBlZW4gYmVzdGFuZCBvZiBkaXJlY3RvcnkgbmFhciBlZW4gYW5kZXJlIHBsZWsgYmlubmVuIGhldCBiZXN0YW5kc3N5c3RlZW0uXG5cClxuXApBbHMgaGV0IG9tIGVlbiBkaXJlY3RvcnkgZ2FhdCBkYW4gd29yZGVuIGFsbGUgYmVzdGFuZGVuIGVuIGRpcmVjdG9yaWVzXG5cCmRhYXJvbmRlciBvb2sgdmVycGxhYXRzdC5cblwKXG5cCk1PVkUgd2Vya3QgbmlldCBhbHMgZGUgb3VkZSBlbiBuaWV1d2UgbG9jYXRpZXMgemljaCBvcCB2ZXJzY2hpbGxlbmRlIERPUy1zY2hpanZlbiBiZXZpbmRlbi5cbiIKCiAgV0NNRF9QQVRILAoiUEFUSCB0b29uIG9mIHdpanppZ3QgaGV0IHpvZWtwYWQgdmFuIGNtZC5cblwKXG5cCkRlIG9wZHJhY2h0IFBBVEggdG9vbnQgaGV0IGh1aWRpZ2Ugem9la3BhZCAoZGUgYmVnaW53YWFyZGUgd29yZHQgaW5cblwKaGV0IGJlc3RhbmQgZ2VuYWFtZCB3aW5lLmNvbmYgdG9lZ2VrZW5kKS4gT20gaGV0IHpvZWtwYWQgdGUgd2lqemlnZW4gbGFhdCB1IGRlIFBBVEhcblwKb3BkcmFjaHQgdm9sZ2VuIGRvb3IgZGUgbmlldXdlIHdhYXJkZS5cblwKXG5cCkhldCBpcyBvb2sgbW9nZWxpamsgb20gaGV0IHpvZWtwYWQgdGUgd2lqemlnZW4gbWV0IGJlaHVscCB2YW4gZGUgUEFUSCBvbWdldmluZ3N2YXJpYWJlbGUsXG5cCmJpaiB2b29yYmVlbGQ6XG5cCgkJUEFUSCAlUEFUSCU7YzpcXHRlbXBcbiIKCiAgV0NNRF9QQVVTRSwKIlBBVVNFIHRvb250IGVlbiBiZXJpY2h0IG9wIGhldCBzY2hlcm06ICdUb2V0cyBFbnRlciBvbSBkb29yIHRlIGdhYW4nXG5cCmVuIHdhY2h0IHRvdGRhdCBkZSBnZWJydWlrZXIgZGUgRW50ZXItdG9ldHMgaW5kcnVrdC4gRGl0IGlzIHZvb3JhbCBoYW5kaWcgaW5cblwKYmF0Y2hiZXN0YW5kZW4gb20gZGUgZ2VicnVpa2VyIGluIHN0YWF0IHRlIHN0ZWxsZW4gb20gZGUgdWl0dm9lciB2YW4gZWVuIHZvb3JhZmdhYW5kZSBvcGRyYWNodFxuXAp0ZSBiZWtpamtlbiwgdm9vcmRhdCBoZXQgdmFuIGhldCBzY2hlcm0gc2NodWlmdC5cbiIKCiAgV0NNRF9QUk9NUFQsCiJQUk9NUFQgd2lqemlndCBkZSBwcm9tcHQgdmFuIGRlIG9wZHJhY2h0cmVnZWwuXG5cClxuXApEZSB0ZWtlbnJlZWtzIHZvbGdlbmQgb3AgZGUgUFJPTVBUIG9wZHJhY2h0IChlbiBkZSBzcGF0aWUgZGlyZWN0IGRhYXJuYSlcblwKdmVyc2NoaWpudCB2b29yYWFuIG9wIGRlIHJlZ2VsIGFscyBjbWQgd2FjaHQgb3AgaW52b2VyLlxuXApcblwKRGUgdm9sZ2VuZGUgdGVrZW5yZWVrc2VuIGhlYmJlbiBlZW4gc3BlY2lhbGUgYmV0ZWtlbmlzOlxuXApcblwKJCQgICAgZG9sbGFyLXRla2VuICAgICAgICAgICAgICRfICAgIG5pZXV3ZSByZWdlbCAgICAgICRiICAgIHBpanAtdGVrZW4gKHwpXG5cCiRkICAgIGh1aWRpZ2UgZGF0dW0gICAgICAgICAgICAkZSAgICBlc2NhcGUgICAgICAgICAgICAkZyAgICBncm90ZXItZGFuLXRla2VuICg+KVxuXAokbCAgICBrbGVpbmVyLWRhbi10ZWtlbiAoPCkgICAgJG4gICAgaHVpZGlnZSBzY2hpamYgICAgJHAgICAgaHVpZGlnZSBkaXJlY3RvcnlcblwKJHEgICAgaXMtZ2VsaWprLXRla2VuICg9KSAgICAgICR0ICAgIGh1aWRpZ2UgdGlqZCAgICAgICR2ICAgIGNtZCB2ZXJzaWVcblwKXG5cCk1lcmsgb3AgZGF0IGhldCB1aXR2b2VyZW4gdmFuIGRlIFBST01QVCBvcGRyYWNodCB6b25kZXIgZWVuIHRla2VucmVla3MgZGVcblwKcHJvbXB0IHRlcnVnemV0IG5hYXIgZGUgc3RhbmRhYXJkaW5zdGVsbGluZy4gRGF0IGlzIGRlIGh1aWRpZ2UgZGlyZWN0b3J5XG5cCihpbmNsdXNpZWYgc2NoaWpmYWFuZHVpZGluZykgZ2V2b2xnZCBlZW4gZ3JvdGVyLWRhbi10ZWtlbiAoPikuXG5cCihkYXQgc3RhYXQgZ2VsaWprIGFhbiBkZSBvcGRyYWNodDogUFJPTVBUICRwJGcpLlxuXApcblwKRGUgcHJvbXB0IGthbiBvb2sgZ2V3aWp6aWdkIHdvcmRlbiB2aWEgZGUgUFJPTVBUIG9tZ2V2aW5nc3ZhcmlhYmVsZSxcblwKZHVzIGRlIG9wZHJhY2h0ICdTRVQgUFJPTVBUPXRla2VucmVla3MnIGhlZWZ0IGhldHplbGZkZSBlZmZlY3QgYWxzICdQUk9NUFQgdGVrZW5yZWVrcydcbiIKCiAgV0NNRF9SRU0sCiJFZW4gb3BkcmFjaHRyZWdlbCBkaWUgYmVnaW50IG1ldCBSRU0gKGdldm9sZCBkb29yIGVlbiBzcGF0aWUpIHdvcmR0IG5pZXRcblwKdWl0Z2V2b2VyZCwgZW4ga2FuIGRhYXJvbSB3b3JkZW4gZ2VicnVpa3QgYWxzIGVlbiBjb21tZW50YWFycmVnZWwgaW4gZWVuIGJhdGNoYmVzdGFuZC5cbiIKCiAgV0NNRF9SRU4sICAgICJVaXRsZWcgYmlqIFJFTlxuIgogIFdDTURfUkVOQU1FLCAiVWl0bGVnIGJpaiBSRU5BTUVcbiIKICBXQ01EX1JELCAgICAgIlVpdGxlZyBiaWogUkRcbiIKICBXQ01EX1JNRElSLCAgIlVpdGxlZyBiaWogUk1ESVJcbiIKCiAgV0NNRF9TRVQsCiJTRVQgdG9vbnQgb2Ygd2lqemlndCBvbWdldmluZ3N2YXJpYWJlbGVuIHZhbiBjbWQuXG5cClxuXApTRVQgem9uZGVyIHBhcmFtZXRlcnMgdG9vbnQgYWxsZSBvbWdldmluZ3N2YXJpYWJlbGVuLlxuXApcblwKRGUgc3ludGF4IHZvb3IgaGV0IG1ha2VuIG9mIHdpanppZ2VuIHZhbiBlZW4gb21nZXZpbmdzdmFyaWFiZWxlIGlzOlxuXApcblwKICAgICAgU0VUIDx2YXJpYWJsZT49PHdhYXJkZT5cblwKXG5cCndhYXJiaWogPHZhcmlhYmxlPiBlbiA8d2FhcmRlPiB1aXQgdGVrZW5yZWVrc2VuIGJlc3RhYW4uIEVyIG1vZ2VuIGdlZW4gc3BhdGllc1xuXAp2b29yIGhldCBpcy1nZWxpamstdGVrZW4gc3RhYW4sIG5vY2ggbW9nZW4gZXIgaW4gZGUgdmFyaWFiZWxlbmFhbVxuXApzcGF0aWVzIHZvb3Jrb21lbi5cblwKXG5cCk9uZGVyIFdpbmUgd29yZGVuIGRlIG9tZ2V2aW5nc3ZhcmlhYmVsZW4gdmFuIGhldCBvbmRlcmxpZ2dlbmRlIGJlc3R1cmluZ3NzeXN0ZWVtXG5cCm9wZ2Vub21lbiBpbiBkZSBXaW4zMiBvbWdldmluZy4gRXIgenVsbGVuIGRhYXJvbSBkb29yZ2FhbnMgdmVlbCBtZWVyXG5cCnZhcmlhYmVsZW4gaW4gdm9vcmtvbWVuIGRhbiBpbiBlZW4gb29yc3Byb25rZWxpamtlIFdpbjMyIGltcGxlbWVudGF0aWUuIE1lcmsgb3AgZGF0IGhldFxuXApuaWV0IG1vZ2VsaWprIGlzIG9tIGRlIG9tZ2V2aW5nc3ZhcmlhYmVsZW4gdmFuIGhldCBvbmRlcmxpZ2dlbmRlIGJlc3R1cmluZ3NzeXN0ZWVtIHRlXG5cCndpanppZ2VuIHZhbnVpdCBjbWQuXG4iCgogIFdDTURfU0hJRlQsCiJTSElGVCB3b3JkdCBnZWJydWlrdCBpbiBlZW4gYmF0Y2hiZXN0YW5kIG9tIGVlbiBwYXJhbWV0ZXIgdGUgdmVyd2lqZGVyZW4gdmFuIGhldCBiZWdpbiB2YW5cblwKZGUgbGlqc3QuIER1cyBkZSB0d2VlZGUgcGFyYW1ldGVyIHdvcmR0IGRhbiBkZSBlZXJzdGUsIGVuem92b29ydC4gRGV6ZSBvcGRyYWNodCBoZWVmdCBnZWVuIGVmZmVjdFxuXAphbHMgaGlqIHdvcmR0IGFhbmdlcm9lcGVuIHZhbmFmIGRlIG9wZHJhY2h0cmVnZWwuXG4iCgogIFdDTURfVElNRSwgICAiVWl0bGVnIGJpaiBUSU1FXG4iCgogIFdDTURfVElUTEUsICAiV2lqemlndCBkZSBuYWFtIHZhbiBoZXQgY21kLXZlbnN0ZXIsIHN5bnRheDogVElUTEUgW3Rla2VucmVla3NdXG4iCgogIFdDTURfVFlQRSwKIlRZUEUgPGJlc3RhbmRzbmFhbT4ga29waetlcnQgPGJlc3RhbmRzbmFhbT4gbmFhciBoZXQgdWl0dm9lcmFwcGFyYWF0LlxuXApFciB3b3JkdCBuaWV0IGdlY29udHJvbGVlcmQgb2YgaGV0IGJlc3RhbmQgbGVlc2JhcmUgdGVrc3QgYmV2YXQuXG4iCgogIFdDTURfVkVSSUZZLAoiVkVSSUZZIHdvcmR0IGdlYnJ1aWt0IG9tIGRlIFZFUklGWS1zY2hha2VsYWFyIGFhbiBvZiB1aXQgdGUgemV0dGVuIG9mIG9tIGhlbSB0ZSB0ZXN0ZW4uIEdlbGRpZ2UgYWFucm9lcGVuIHppam46XG5cClxuXApWRVJJRlkgT04JWmV0IGRlIHNjaGFrZWxhYXIgYWFuXG5cClZFUklGWSBPRkYJWmV0IGRlIHNjaGFrZWxhYXIgdWl0XG5cClZFUklGWQkJVG9vbnQgT04gb2YgT0ZGIG5hYXIgZ2VsYW5nIGRlIHN0YW5kLlxuXApcblwKRGUgdmVyaWZ5LXNjaGFrZWxhYXIgaGVlZnQgZ2VlbiBmdW5jdGllIGJpbm5lbiBXaW5lLlxuIgoKICBXQ01EX1ZFUiwKIlZFUiB0b29udCBkZSB2ZXJzaWUgdmFuIGNtZCBkaWUgdSBkcmFhaXRcbiIKCiAgV0NNRF9WT0wsICAgICJVaXRsZWcgYmlqIFZPTFxuIgoKICBXQ01EX1BVU0hELCAgIlBVU0hEIDxkaXJlY3RvcnkgbmFhbT4gYmV3YWFydCBkZSBodWlkaWdlIGRpcmVjdG9yeSBvcCBlZW5cblwKc3RhcGVsLCBlbiB2ZXJhbmRlcnQgZGFuIGRlIGh1aWRpZ2UgZGlyZWN0b3J5IG5hYXIgZGUgb3BnZWdldmVuIG5hYW0uXG4iCgogIFdDTURfUE9QRCwgICAiUE9QRCB2ZXJhbmRlcnQgZGUgaHVpZGlnZSBkaXJlY3RvcnkgbmFhciBkZSBtZWVzdCByZWNlbnRlIGRpZVxuXApvcCBkZSBzdGFwZWwgd2VyZCBnZXpldCBtZXQgUFVTSEQuXG4iCgogIFdDTURfTU9SRSwgICAiTU9SRSB0b29udCBkZSB1aXR2b2VyIHZhbiBwcm9ncmFtbWEncyBvZiBoZXJsZWlkZGUgaW52b2VyIHBlciBibGFkemlqZGUuXG4iCgogIFdDTURfRVhJVCwKIkVYSVQgYmXraW5kaWd0IGRlIGxvcGVuZGUgc2Vzc2llIGVuIGtlZXJ0IHRlcnVnXG5cCm5hYXIgaGV0IGJlc3R1cmluZ3NzeXN0ZWVtIG9mIGRlIHNjaGlsIHZhbiB3YWFydWl0IGNtZCB3ZXJkIGdlc3RhcnQuXG4iCgogIFdDTURfQUxMSEVMUCwgIkNNRCdzIGluZ2Vib3V3ZGUgb3BkcmFjaHRlbiB6aWpuOlxuXApBVFRSSUJcdFx0VG9vbiBvZiB3aWp6aWcgRE9TIGJlc3RhbmRzYXR0cmlidXRlblxuXApDQUxMXHRcdFJvZXAgZWVuIGJhdGNoYmVzdGFuZCBhYW4gdmFudWl0IGVlbiBhbmRlciBiZXN0YW5kXG5cCkNEIChDSERJUilcdFdpanppZyBkZSBodWlkaWdlIGRpcmVjdG9yeVxuXApDTFNcdFx0V2lzIGhldCBzY2hlcm1cblwKQ09QWVx0XHRLb3Bp62VyIGVlbiBiZXN0YW5kXG5cCkNUVFlcdFx0V2lqemlnIGhldCBpbnZvZXItL3VpdHZvZXJhcHBhcmFhdFxuXApEQVRFXHRcdFRvb24gb2Ygd2lqemlnIGRlIHN5c3RlZW1kYXR1bVxuXApERUwgKEVSQVNFKVx0VmVyd2lqZGVyIGVlbiBiZXN0YW5kIG9mIGVlbiB2ZXJ6YW1lbGluZyB2YW4gYmVzdGFuZGVuXG5cCkRJUlx0XHRUb29uIGRlIGluaG91ZCB2YW4gZWVuIGRpcmVjdG9yeVxuXApFQ0hPXHRcdEtvcGnrZXIgdGVrc3QgZGlyZWN0IG5hYXIgaGV0IHVpdHZvZXJhcHBhcmFhdFxuXApIRUxQXHRcdFRvb24gZWVuIGtvcnRlIHVpdGxlZyBvdmVyIGVlbiBvbmRlcndlcnBcblwKTUQgKE1LRElSKVx0TWFhayBlZW4gZGlyZWN0b3J5XG5cCk1PUkVcdFx0RGlzcGxheSBvdXRwdXQgaW4gcGFnZXNcblwKTU9WRVx0XHRWZXJwbGFhdHMgZWVuIGJlc3RhbmQsIGVlbiB2ZXJ6YW1lbGluZyBiZXN0YW5kZW4gb2YgZWVuIGRpcmVjdG9yeVxuXApQQVRIXHRcdFdpanppZyBvZiB0b29uIGhldCB6b2VrcGFkXG5cClBST01QVFx0XHRXaWp6aWcgZGUgcHJvbXB0XG5cClJFTiAoUkVOQU1FKVx0SGVybm9lbSBlZW4gYmVzdGFuZFxuXApSRCAoUk1ESVIpXHRWZXJ3aWpkZXIgZWVuIGRpcmVjdG9yeVxuXApTRVRcdFx0V2lqemlnIG9mIHRvb24gZGUgb21nZXZpbmdzdmFyaWFiZWxlblxuXApUSU1FXHRcdFdpanppZyBvZiB0b29uIGRlIHN5c3RlZW10aWpkXG5cClRJVExFXHRcdFdpanppZyBkZSB2ZW5zdGVybmFhbSB2YW4gZGUgQ01ELXNlc3NpZVxuXApUWVBFXHRcdFRvb24gZGUgaW5ob3VkIHZhbiBlZW4gdGVrc3RiZXN0YW5kXG5cClZFUlx0XHRUb29uIGRlIHZlcnNpZSB2YW4gQ01EXG5cClZPTFx0XHRUb29uIGhldCBsYWJlbCB2YW4gZWVuIHNjaGlqZlxuXApFWElUXHRcdFNsdWl0IENNRCBhZlxuXG5cCnR5cGUgSEVMUCA8b3BkcmFjaHQ+IHZvb3IgbWVlciBpbmZvcm1hdGllIG92ZXIgYm92ZW5nZW5vZW1kZSBvcGRyYWNodGVuXG4iCgogIFdDTURfQ09ORklSTSwgIkJlbnQgdSB6ZWtlciIKICBXQ01EX1lFUywgIkoiCiAgV0NNRF9OTywgIk4iCiAgV0NNRF9OT0FTU09DLCAiQmVzdGFuZHMgYXNzb2NpYXRpZSBvbnRicmVla3Qgdm9vciBleHRlbnRpZSAlc1xuIgogIFdDTURfTk9GVFlQRSwgIkdlZW4gb3BlbiBjb21tYW5kbyB2ZXJib25kZW4gbWV0IGJlc3RhbmQgdHlwZSAnJXMnXG4iCiAgV0NNRF9PVkVSV1JJVEUsICJPdmVyc2NocmlqZiAlcyIKICBXQ01EX01PUkVTVFIsICJNZWVyLi4uIgogIFdDTURfVFJVTkNBVEVETElORSwgIlJlZ2VsIGluIEJhdGNoIHByb2NlcyBtb2dlbGlqayBhZmdlYnJva2VuLiBXZSBnZWJydWlrZW46XG4iCiAgV0NNRF9OWUksICJOb2cgTmlldCBHZe9tcGxlbWVudGVlcmRcblxuIgogIFdDTURfTk9BUkcsICJBcmd1bWVudCBvbnRicmVla3RcbiIKICBXQ01EX1NZTlRBWEVSUiwgIkZvdXQgaW4gZGUgc3ludGF4XG4iCiAgV0NNRF9GSUxFTk9URk9VTkQsICIlcyA6IEJlc3RhbmQgTmlldCBHZXZvbmRlblxuIgogIFdDTURfTk9DTURIRUxQLCAiR2VlbiBoZWxwIGJlc2NoaWtiYWFyIHZvb3IgJXNcbiIKICBXQ01EX05PVEFSR0VULCAiRG9lbCBvcGdlZ2V2ZW4gYmlqIEdPVE8gbmlldCBnZXZvbmRlblxuIgogIFdDTURfQ1VSUkVOVERBVEUsICJIdWlkaWdlIERhdHVtIGlzICVzXG4iCiAgV0NNRF9DVVJSRU5UVElNRSwgIkh1aWRpZ2UgVGlqZCBpcyAlc1xuIgogIFdDTURfTkVXREFURSwgIlZvZXIgZGUgbmlldXdlIGRhdHVtIGluOiAiCiAgV0NNRF9ORVdUSU1FLCAidm9lciBkZSBuaWV1d2UgdGlqZCBpbjogIgogIFdDTURfTUlTU0lOR0VOViwgIk9tZ2V2aW5ncyB2YXJpYWJsZSAlcyBuaWV0IGdlZGVmaW5pZWVyZFxuIgogIFdDTURfUkVBREZBSUwsICJPcGVuZW4gdmFuICclcycgaXMgbWlzbHVrdFxuIgogIFdDTURfQ0FMTElOU0NSSVBULCAiT25tb2dlbGlqayBvbSBlZW4gYmF0Y2ggbGFiZWwgYWFuIHRlIHJvZXBlbiB2YW4gYnVpdGVuIGVlbiBiYXRjaCBzY3JpcHRcbiIKICBXQ01EX0FMTCwgIkEiCiAgV0NNRF9ERUxQUk9NUFQsICIlcywgVmVyd2lqZGVyZW4iCiAgV0NNRF9FQ0hPUFJPTVBULCAiRWNobyBzdGFhdCAlc1xuIgogIFdDTURfVkVSSUZZUFJPTVBULCAiVmVyaWZ5IHN0YWF0ICVzXG4iCiAgV0NNRF9WRVJJRllFUlIsICJWZXJpZnkgbW9ldCBPTiBvZiBPRkYgemlqblxuIjsKICBXQ01EX0FSR0VSUiwgIlBhcmFtZXRlciBvbmp1aXN0XG4iCiAgV0NNRF9WT0xVTUVERVRBSUwsICJTY2hpamYgaW4gZHJpdmUgJWMgaXMgJXNcblNjaGlqZiBTZXJpZW51bW1lciBpcyAlMDR4LSUwNHhcblxuIgogIFdDTURfVk9MVU1FUFJPTVBULCAiU2NoaWpmIG5hYW0gKDExIGthcmFrdGVycywgRU5URVIgdm9vciBnZWVuKT8iCiAgV0NNRF9OT1BBVEgsICJQQVRIIG5pZXQgZ2V2b25kZW5cbiIKICBXQ01EX0FOWUtFWSwiRHJ1ayBvcCBkZSBSZXR1cm4gdG9ldHMgb20gdmVyZGVyIHRlIGdhYW46ICIKICBXQ01EX0NPTlNUSVRMRSwiV2luZSBDb21tYW5kIFByb21wdCIKICBXQ01EX1ZFUlNJT04sIkNNRCBWZXJzaWUgJXNcblxuIgogIFdDTURfTU9SRVBST01QVCwgIk1lZXI/ICIKfQo=