LyoKICogV2luZSBjb21tYW5kIHByb21wdAogKiBOb3J3ZWdpYW4gQm9rbeVsIExhbmd1YWdlIFN1cHBvcnQKICoKICogQ29weXJpZ2h0IChDKSAyMDA1IEFsZXhhbmRlciBOLiBT+HJuZXMgPGFsZXhAdGhlaGFuZG9mYWdvbnkuY29tPgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCiAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogKgogKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KICoKICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwogKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EKICovCgpMQU5HVUFHRSBMQU5HX05PUldFR0lBTiwgU1VCTEFOR19OT1JXRUdJQU5fQk9LTUFMCgpTVFJJTkdUQUJMRQp7CiAgV0NNRF9BVFRSSUIsICJIamVscCB0aWwgQVRUUklCXG4iCiAgV0NNRF9DQUxMLAoiq0NBTEwgPHNhdHN2aXNmaWxuYXZuPrsgYnJ1a2VzIGkgZW4gc2F0c3ZpcyBmaWwgZm9yIOUgdXRm+HJlIGtvbW1hbmRvZXJcblwKZnJhIGVuIGFubmVuIHNhdHN2aXMgZmlsLiBO5XIgZGVuIHNhdHN2aXNlIGZpbGVuIGF2c2x1dHRlciwgcmV0dXJuZXJlc1xuXAprb250cm9sbGVuIHRpbCBmaWxlbiBzb20ga2FsdGUgZGVuLiBDQUxMLWtvbW1hbmRvZW4ga2FuIGdpIHBhcmFtZXRlcmVcblwKdGlsIGRlbiBrYWx0ZSBwcm9zZWR5cmVuLlxuXApcblwKRW5kcmluZ2VyIHRpbCBzdGFuZGFyZGthdGFsb2dlbiwgbWlsavh2YXJpYWJsZXIgZXRjLiBnam9ydCBhdiBkZW4ga2FsdGVcblwKcHJvc2VkeXJlbiBhcnZlcyBhdiBw5WthbGxlcmVuLlxuIgoKICBXQ01EX0NELCAgICAgIkhqZWxwIHRpbCBDRFxuIgogIFdDTURfQ0hESVIsICAiSGplbHAgdGlsIENIRElSXG4iCgogIFdDTURfQ0xTLCAgICAiQ0xTIHT4bW1lciBrb25zb2xsc2tqZXJtZW5cbiIKCiAgV0NNRF9DT1BZLCAgICJIamVscCB0aWwgQ09QWVxuIgogIFdDTURfQ1RUWSwgICAiSGplbHAgdGlsIENUVFlcbiIKICBXQ01EX0RBVEUsICAgIkhqZWxwIHRpbCBEQVRFXG4iCiAgV0NNRF9ERUwsICAgICJIamVscCB0aWwgREVMXG4iCiAgV0NNRF9ESVIsICAgICJIamVscCB0aWwgRElSXG4iCgogIFdDTURfRUNITywKIqtFQ0hPIDxzdHJlbmc+IHZpc2VyIDxzdHJlbmc+uyBw5SBkZW4gZ2plbGRlbmRlIHRlcm1pbmFsZW5oZXRlbi5cblwKXG5cCqtFQ0hPIE9OuyBmb3LlcnNha2VyIGF0IGFsbGUga29tbWFuZG9lciBpIGVuIHNhdHN2aXMgZmlsIHZpc2VzIHDlXG5cCnRlcm1pbmFsZW5oZXRlbiBm+HIgZGUga2r4cmVzLlxuXApcblwKq0VDSE8gT0ZGuyByZXZlcnNlcmVyIGVmZmVrdGVuIGF2IGVuIHRpZGxpZ2VyZSCrRUNITyBPTrsgKEVDSE8gZXIgT0ZGIHNvbVxuXApzdGFuZGFyZCkuIKtFQ0hPIE9GRrsta29tbWFuZG9lbiBrYW4gaGluZHJlcyBmcmEg5SB2aXNlcyB2ZWQg5SBwbGFzc2VyZVxuXApldCBALXRlZ24gZm9yYW4gZGVuLlxuIgoKICBXQ01EX0VSQVNFLCAgIkhqZWxwIHRpbCBFUkFTRVxuIgoKICBXQ01EX0ZPUiwKIkZPUi1rb21tYW5kb2VuIGJydWtlcyB0aWwg5SBravhyZSBlbiBrb21tYW5kbyBmb3IgaHZlciBmaWwgaSBldCBzZXR0IGZpbGVyLlxuXApcblwKU3ludGFrczogRk9SICV2YXJpYWJlbCBJTiAoc2V0dCkgRE8ga29tbWFuZG9cblwKXG5cCktyYXZldCBvbSB0byAlLXRlZ24gbuVyIEZPUiBicnVrZXMgaSBlbiBzYXRzdmlzIGZpbCBmaW5uZXMgaWtrZSBpIENNRC5cbiIKCiAgV0NNRF9HT1RPLAoiR09UTy1rb21tYW5kb2VuIGZseXR0ZXIga2r4cmluZ2VuIHRpbCBldCBhbm5ldCBzdGVkIGkgZW4gc2F0c3ZpcyBmaWwuXG5cClxuXApNZXJrZWxhcHBlbiBzb20gZXIgbeVsZXQgdGlsIEdPVE8ga2FuIHbmcmUgb3BwdGlsIDI1NSB0ZWduIGxhbmd0LFxuXAptZW4ga2FuIGlra2UgaW5uZWhvbGRlIG1lbGxvbXJvbSAoZGV0dGUgZXIgZm9yc2tqZWxsaWcgZnJhIGFuZHJlXG5cCm9wZXJhdGl2c3lzdGVtZXIpLiBIdmlzIGRldCBmaW5uZXMgdG8gZWxsZXIgZmxlcmUgaWRlbnRpc2tlIG1lcmtlbGFwcGVyXG5cCmkgZW4gc2F0c3ZpcyBmaWwsIGtq+HJlcyBhbGx0aWQgZGVuIGb4cnN0ZS4gxSBwZWtlIEdPVE8gdGlsIGVuIGlra2UtXG5cCmVrc2lzdGVyZW5kZSBtZXJrZWxhcHAgYXZicnl0ZXIga2r4cmluZ2VuIGF2IGRlbiBzYXRzdmlzZSBmaWxlbi5cblwKXG5cCkdPVE8gaGFyIGluZ2VuIGVmZmVrdCBu5XIgZGVuIGJydWtlcyBpbnRlcmFrdGl2dC5cbiIKCiAgV0NNRF9IRUxQLCAgICJIamVscCB0aWwgSEVMUFxuIgoKICBXQ01EX0lGLAoiSUYgYnJ1a2VzIHRpbCDlIGtq+HJlIGVuIGtvbW1hbmRvIHDlIGJldGluZ2Vsc2VyLlxuXApcblwKU3ludGF4OglJRiBbTk9UXSBFWElTVCBmaWxuYXZuIGtvbW1hbmRvXG5cCglJRiBbTk9UXSBzdHJlbmcxPT1zdHJlbmcyIGtvbW1hbmRvXG5cCglJRiBbTk9UXSBFUlJPUkxFVkVMIG51bW1lciBrb21tYW5kb1xuXApcblwKSSBrb21tYW5kb2Zvcm0gbnVtbWVyIHRvIG3lIHN0cmVuZzEgb2cgc3RyZW5nMiBvbXNsdXR0ZXMgYXYgZG9ibGVcblwgYW5m+HJzZWxzdGVnbi4gRGV0IHNraWxsZXIgaWtrZSBtZWxsb20gc3RvcmUgb2cgc23lIGJva3N0YXZlci5cbiIKCiAgV0NNRF9MQUJFTCwgICJMQUJFTCBicnVrZXMgZm9yIOUgbmF2Z2kgZXQgc3Rhc2pvbnN2b2x1bS4gIFxuXApcblwKU3ludGFrczogTEFCRUwgW3N0YXNqb246XVxuXApLb21tYW5kb2VuIHZpbCBiZSBvbSBkZXQgbnllIHZvbHVtbmF2bmV0IGZvciBzdGFzam9uZW4uXG5cCkR1IGthbiB2aXNlIGVuIHN0YXNqb25zIHZvbHVtbmF2biBtZWQgVk9MLWtvbW1hbmRvZW4uXG4iCgogIFdDTURfTUQsICAgICAiSGplbHAgdGlsIE1EXG4iCiAgV0NNRF9NS0RJUiwgICJIamVscCB0aWwgTUtESVJcbiIKICBXQ01EX01PVkUsCiJNT1ZFIGZseXR0ZXIgZW4gZmlsIGVsbGVyIGthdGFsb2cgdGlsIGV0IG55dHQgc3RlZCBpbm5lbmZvclxuXApmaWxzeXN0ZW1ldC5cblwKXG5cCkh2aXMgZWxlbWVudGV0IHNvbSBmbHl0dGVzIGVyIGVuIGthdGFsb2csIGZseXR0ZXMgb2dz5SBmaWxlbmUgb2dcblwKdW5kZXJrYXRhbG9nZW5lIGkgZGVuLlxuXApcblwKTU9WRSBmZWlsZXIgaHZpcyBkZW4gZ2FtbGUgb2cgbnllIHBsYXNzZXJpbmdlbiBoYXIgZm9yc2tqZWxsaWdlXG5cCnN0YXNqb25zYm9rc3RhdmVyLlxuIgoKICBXQ01EX1BBVEgsCiJQQVRIIHZpc2VyIGVsbGVyIGVuZHJlciBDTURzIHP4a2VzdGkuXG5cClxuXArFIHNrcml2ZSBpbm4gUEFUSCB2aXNlciBkZW4gZ2plbGRlbmRlIFBBVEgtaW5uc3RpbGxpbmdlbiAoZGV0dGUgZXJcblwKaSBiZWd5bm5lbHNlbiB2ZXJkaWVuIG9wcGdpdHQgaSBmaWxlbiCrd2luZS5jb25muykuIEV0dGVyZvhsZyBQQVRILVxuXAprb21tYW5kb2VuIG1lZCBldCBueXR0IG5hdm4gZm9yIOUgZW5kcmUgaW5uc3RpbGxpbmdlbi5cblwKXG5cCkRldCBlciBvZ3PlIG11bGlnIOUgZW5kcmUgUEFUSCB2ZWQg5SBicnVrZSBtaWxq+HZhcmlhYmxlbiBQQVRILCBmb3JcblwKZWtzZW1wZWw6XG5cCgkJUEFUSCAlUEFUSCU7YzpcXHRlbXAgXG4iCgogIFdDTURfUEFVU0UsCiJQQVVTRSB2aXNlciBtZWxkaW5nZW4gJ1RyeWtrIEVudGVyIGZvciDlIGZvcnRzZXR0ZScsIG9nIHZlbnRlciBw5SBhdFxuXCBicnVrZXJlbiB0cnlra2VyIEVudGVyLiBEZXR0ZSBlciBob3ZlZHNha2VsaWcgbnl0dGlnIGkgc2F0c3Zpc2UgZmlsZXIsXG5cCmZvciDlIGxhIGJydWtlcmVuIGxlc2UgdXRkYXRhIGZyYSBlbiB0aWRsaWdlcmUga29tbWFuZG8gZvhyIGRlbiBydWxsZXJcblwKdmVrayBmcmEgc2tqZXJtZW4uLlxuIgoKICBXQ01EX1BST01QVCwKIlBST01QVCBvcHBnaXIga29tbWFuZG9saW5qZS1rbGFydGVnbmV0LlxuXApcblwKU3RyZW5nZW4gc29tIGV0dGVyZvhsZ2VyIFBST01QVC1rb21tYW5kb2VuIChvZyBtZWxsb21yb21tZXQgcmV0dCBldHRlcilcblwKdmlzZXMgdmVkIGJlZ3lubmVsc2VuIGF2IGxpbmplbiBu5XIgdmNtZCB2ZW50ZXIgcOUgaW5uZGF0YS5cblwKXG5cCkb4bGdlbmRlIHRlZ25zdHJlbmdlciBoYXIgZGVuIHNwZXNpZWxsZSBiZXR5ZG5pbmdlbiBzb20gdmlzZXM6XG5cClxuXAokJCAgIERvbGxhci10ZWduICAgICAgICRfICAgTGluamVtYXRpbmcgICAgICAgICAkYiAgIFL4cnRlZ24gc2lnbiAofClcblwKJGQgICBHamVsZGVuZGUgZGF0byAgICAkZSAgIEVzY2FwZSAgICAgICAgICAgICAgJGcgICBTdPhycmUgZW5uLXRlZ25cblwKJGwgICBNaW5kcmUgZW5uLXRlZ24gICAkbiAgIEdqZWxkZW5kZSBzdGFzam9uICAgJHAgICBHamVsZGVuZGUgc3RpXG5cCiRxICAgTGlraGV0c3RlZ24gICAgICAgJHQgICBHamVsZGVuZGUgdGlkICAgICAgICR2ICAgQ01ELXZlcnNqb25cblwKXG5cCk1lcmsgYXQg5SBicnVrZSBQUk9NUFQta29tbWFuZG9lbiB1dGVuIGVuIGtsYXJ0ZWduLXN0cmVuZyB0aWxiYWtlc3RpbGxlclxuXAprbGFydGVnbmV0IHRpbCBzdGFuZGFyZHZlcmRpZW4sIHNvbSBlciBhcmJlaWRza2F0YWxvZ2VuIChpbmtsdWRlcnRcblwKc3Rhc2pvbnNib2tzdGF2ZW4pIGV0dGVyZnVsZ3QgYXYgZXQgc3T4cnJlIGVubi10ZWduICg+KS5cblwKKFNvbSBlbiBrb21tYW5kbyBQUk9NUFQgJHAkZy4pXG5cClxuXApLbGFydGVnbmV0IGthbiBvZ3PlIGVuZHJlcyB2ZWQgZW5kcmUgbWlsavh2YXJpYWJsZW4gUFJPTVBULCBz5VxuXAprb21tYW5kb2VuIKtTRVQgUFJPTVBUPXRla3N0uyBoYXIgc2FtbWUgZWZmZWt0IHNvbSCrUFJPTVBUIHRla3N0uy5cbiIKCiAgV0NNRF9SRU0sCiJFbiBrb21tYW5kb2xpbmplIHNvbSBiZWd5bm5lciBtZWQgUkVNIChldHRlcmZ1bGd0IGF2IGV0IG1lbGxvbXJvbSlcblwKdXRm+HJlciBpbmdlbiBoYW5kbGluZywgb2cga2FuIGRlcmZvciBicnVrZXMgc29tIGtvbW1hbnRhciBpIGVuIHNhdHN2aXNcblwKZmlsLlxuIgoKICBXQ01EX1JFTiwgICAgIkhqZWxwIHRpbCBSRU5cbiIKICBXQ01EX1JFTkFNRSwgIkhqZWxwIHRpbCBSRU5BTUVcbiIKICBXQ01EX1JELCAgICAgIkhqZWxwIHRpbCBSRFxuIgogIFdDTURfUk1ESVIsICAiSGplbHAgdGlsIFJNRElSXG4iCgogIFdDTURfU0VULAoiU0VUIHZpc2VyIGVsbGVyIGVuZHJlciBtaWxq+HZhcmlhYmxlbmUgaSBDTUQuXG5cClxuXApTRVQgdXRlbiBwYXJhbWV0ZXJlIHZpc2VyIGFsbGUgZ2plbGRlbmRlIG1pbGr4dmFyaWFibGVyLlxuXApcblwKU3ludGFrc2VuIGZvciDlIG9wcHJldHRlIGVsbGVyIGVuZHJlIGVuIG1pbGr4dmFyaWFiZWwgZXI6XG5cClxuXAogICAgICBTRVQgPHZhcmlhYmVsPj08dmVyZGk+XG5cClxuXApodm9yIDx2YXJpYWJlbD4gb2cgPHZlcmRpPiBlciB0ZWduc3RyZW5nZXIuIERldCBt5SBpa2tlIHbmcmUgbWVsbG9tcm9tXG5cCmb4ciBsaWtoZXRzdGVnbmV0LCBvZyB2YXJpYWJlbG5hdm5ldCBrYW4gaGVsbGVyIGlra2UgaGEgaW5uZWJ5Z2RlXG5cCm1lbGxvbXJvbS5cblwKXG5cCkkgV2luZSBlciBtaWxq+HZhcmlhYmxlbmUgaSBkZXQgdW5kZXJsaWdnZW5kZSBvcGVyYXRpdnN5c3RlbWV0XG5cIGlua2x1ZGVydCBpIFdpbjMyLW1pbGr4ZXQsIG9nIGRldCBlciBkZXJmb3IgdmFubGlndmlzIG1hbmdlIGZsZXJlXG5cCnZlcmRpZXIgZW5uIGkgZXQgdmFubGlnIFdpbjMyLW1pbGr4LiBW5nIgb3BwbWVya3NvbSBw5SBhdCBkZXQgaWtrZSBn5XJcblwKYW4g5SBlbmRyZSBtaWr4ZXQgaSBkZXQgdW5kZXJsaWdnZW5kZSBvcGVyYXRpdnN5c3RlbWV0IGZyYSBDTUQuXG4iCgogIFdDTURfU0hJRlQsCiJTSElGVCBicnVrZXIgaSBlbiBzYXRzdmlzIGZpbCBmb3Ig5SBmamVybmUgZGVuIGb4cnN0ZSBwYXJhbWV0ZXJlbiBpIGVuXG5cCmxpc3RlLCBz5W5uIGF0IHBhcmFtZXRlciAyIGJsaXIgcGFyYW1ldGVyIDEgb2cgc+UgdmlkZXJlLiBEZXQgaGFyIGluZ2VuXG5cCmVmZmVrdCBodmlzIGRldCBicnVrZXMgZnJhIGtvbW1hbmRvbGluamVuLlxuIgoKICBXQ01EX1RJTUUsICAgIkhqZWxwIHRpbCBUSU1FXG4iCgogIFdDTURfVElUTEUsICAiQW5naXIgdGl0dGVsZW4gZm9yIENNRC12aW5kdWV0LCBzeW50YWtzZW4gZXJcblwKICBUSVRMRSBbc3RyZW5nXVxuIgoKICBXQ01EX1RZUEUsCiKrVFlQRSA8ZmlsbmF2bj67IGtvcGllcmVyIDxmaWxuYXZuPiB0aWwga29uc29sbGVuaGV0ZW4gKGVsbGVyIGV0IGFubmV0XG5cCnN0ZWQgaHZpcyBkZXQgb21kaXJpZ2VyZXMpLiBEZXQga29udHJvbGxlcmVzIGlra2Ugb20gZmlsZW4gZXIgbGVzZWxpZyB0ZWtzdC5cbiIKCiAgV0NNRF9WRVJJRlksCiJWRVJJRlkgYnJ1a2VzIHRpbCDlIGFrdGl2ZXJlLCBkZWFrdGl2ZXJlIGVsbGVyIHRlc3RlIKt2ZXJpZnm7LWZsYWdnZXQuXG5cIEd5bGRpZ2UgbeV0ZXIgZXI6XG5cClxuXApWRVJJRlkgT04JQWt0aXZlcmVyIGZsYWdnZXRcblwKVkVSSUZZIE9GRglEZWFrdGl2ZXJlciBmbGFnZ2V0XG5cClZFUklGWQkJVmlzZXIgT04gaHZpcyBw5SBlbGxlcnIgT0ZGIGh2aXMgYXYuXG5cClxuXAqrVmVyaWZ5uy1mbGFnZ2V0IGhhciBpbmdlbiBmdW5rc2pvbiBpIFdpbmUuXG4iCgogIFdDTURfVkVSLAoiVkVSIHZpc2VyIHZlcnNqb25udW1tZXJldCB0aWwgQ01EXG4iCgogIFdDTURfVk9MLCAgICAiSGplbHAgdGlsIFZPTFxuIgoKICBXQ01EX01PUkUsICAgIk1PUkUgZGlzcGxheXMgb3V0cHV0IG9mIGZpbGVzIG9yIHBpcGVkIGlucHV0IGluIHBhZ2VzLlxuIgoKICBXQ01EX0VYSVQsCiJFWElUIGF2c2x1dHRlciBnamVsZGVuZGUga29tbWFuZG/4a3Qgb2cgcmV0dXJuZXJlciB0aWwgb3BlcmF0aXZzeXN0ZW1ldFxuXAplbGxlciBza2FsbGV0IENNRCBibGUgc3RhcnRldCBmcmEuXG4iCgogIDEwMDAsICJJbm5lYnlnZGUga29tbWFuZG9lciBpIENNRDpcblwKQVRUUklCXHRcdFZpc2VyIGVsbGVyIGVuZHJlciBET1MtZmlsYXR0cmlidXR0ZXJcblwKQ0FMTFx0XHRLYWxsIGVuIHNhdHN2aXMgZmlsIGlubmUgaSBlbiBhbm5lblxuXApDRCAoQ0hESVIpXHRCeXR0ZXIgYXJiZWlkc2thdGFsb2dcblwKQ0xTXHRcdFT4bW1lciBrb25zb2xsc2tqZXJtZW5cblwKQ09QWVx0XHRLb3BpZXJlciBmaWxlclxuXApDVFRZXHRcdEVuZHJlciBpbm4vdXQtZW5oZXRcblwKREFURVx0XHRWaXNlciBlbGxlciBlbmRyZXIgc3lzdGVtZGF0b2VuXG5cCkRFTCAoRVJBU0UpXHRTbGV0dGVyIGVuIGVsbGVyIGZsZXJlIGZpbGVyXG5cCkRJUlx0XHRWaXNlciBpbm5ob2xkZXQgaSBlbiBrYXRhbGdvXG5cCkVDSE9cdFx0S29waWVyZXIgdGVrc3QgZGlyZWt0ZSB0aWwga29uc29sbC11dGRhdGFlblxuXApIRUxQXHRcdFZpc2VyIGVuIGtvcnQgaGplbHBlYmVza3JpdmVsc2Ugb20gZXQgZW1uZVxuXApNRCAoTUtESVIpXHRMYWdlciBlbiB1bmRlcmthdGFsb2dcblwKTU9SRVx0XHREaXNwbGF5IG91dHB1dCBpbiBwYWdlc1xuXApNT1ZFXHRcdEZseXR0ZXIgZW4gZWxsZXIgZmxlcmUgZmlsZXIsIGVsbGVyIGVuIGthdGFsb2d0cmVcblwKUEFUSFx0XHRFbmRyZXIgZWxsZXIgdmlzZXIgc/hrZXN0aWVuXG5cClBST01QVFx0XHRFbmRyZXIga29tbWFuZG8ta2xhcnRlZ25ldFxuXApSRU4gKFJFTkFNRSlcdEdpciBueXR0IG5hdm4gdGlsIGVuIGZpbFxuXApSRCAoUk1ESVIpXHRTbGV0dGVyIGVuIHVuZGVya2F0YWxvZ1xuXApTRVRcdFx0QW5naXIgZWxsZXIgdmlzZXIgbWlsavh2YXJpYWJsZXJcblwKVElNRVx0XHRBbmdpciBlbGxlciB2aXNlciBnamVsZGVuZGUgc3lzdGVtdGlkXG5cClRJVExFXHRcdEFuZ2lyIHZpbmR1c3RpdHRlbGVuIGZvciBDTUQt+Gt0ZW5cblwKVFlQRVx0XHRWaXNlciBpbm5ob2xkZXQgaSBlbiBmaWxcblwKVkVSXHRcdFZpc2VyIENNRHMgdmVyc2pvbm51bW1lclxuXApWT0xcdFx0VmlzZXIgdm9sdW1uYXZuZXQgdGlsIGVuIHN0YXNqb25cblwKRVhJVFx0XHRBdnNsdXR0ZXIgQ01EXG5cblwKU2tyaXYgq0hFTFAgPGtvbW1hbmRvPrsgZm9yIG1lciBpbmZvcm1hc2pvbiBvbSBrb21tYW5kb2VuZSBvdmVuZm9yXG4iCgogIFdDTURfQ09ORklSTSwgIkFyZSB5b3Ugc3VyZSIKICBXQ01EX1lFUywgIlkiCiAgV0NNRF9OTywgIk4iCiAgV0NNRF9OT0FTU09DLCAiRmlsZSBhc3NvY2lhdGlvbiBtaXNzaW5nIGZvciBleHRlbnNpb24gJXNcbiIKICBXQ01EX05PRlRZUEUsICJObyBvcGVuIGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIGZpbGUgdHlwZSAnJXMnXG4iCiAgV0NNRF9PVkVSV1JJVEUsICJPdmVyd3JpdGUiCiAgV0NNRF9NT1JFU1RSLCAiTW9yZS4uLiIKfQo=