<!-- TROJAN_ENCRYPTED -->LyohCiAqIEZ1bGxDYWxlbmRhciB2Mi4yLjIgUHJpbnQgU3R5bGVzaGVldAogKiBEb2NzICYgTGljZW5zZTogaHR0cDovL2Fyc2hhdy5jb20vZnVsbGNhbGVuZGFyLwogKiAoYykgMjAxMyBBZGFtIFNoYXcKICovCgovKgogKiBJbmNsdWRlIHRoaXMgc3R5bGVzaGVldCBvbiB5b3VyIHBhZ2UgdG8gZ2V0IGEgbW9yZSBwcmludGVyLWZyaWVuZGx5IGNhbGVuZGFyLgogKiBXaGVuIGluY2x1ZGluZyB0aGlzIHN0eWxlc2hlZXQsIHVzZSB0aGUgbWVkaWE9J3ByaW50JyBhdHRyaWJ1dGUgb2YgdGhlIDxsaW5rPiB0YWcuCiAqIE1ha2Ugc3VyZSB0byBpbmNsdWRlIHRoaXMgc3R5bGVzaGVldCBJTiBBRERJVElPTiB0byB0aGUgcmVndWxhciBmdWxsY2FsZW5kYXIuY3NzLgogKi8KCi5mYyB7CgltYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKfQoKCi8qIEdsb2JhbCBFdmVudCBSZXN0eWxpbmcKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLmZjLWV2ZW50IHsKCWJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDsKCWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7CglwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7Cn0KCi5mYy1ldmVudCAuZmMtcmVzaXplciB7CglkaXNwbGF5OiBub25lOwp9CgoKLyogVGFibGUgJiBEYXktUm93IFJlc3R5bGluZwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgp0aCwKdGQsCmhyLAp0aGVhZCwKdGJvZHksCi5mYy1yb3cgewoJYm9yZGVyLWNvbG9yOiAjY2NjICFpbXBvcnRhbnQ7CgliYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7Cn0KCi8qIGtpbGwgdGhlIG92ZXJsYWlkLCBhYnNvbHV0ZWx5LXBvc2l0aW9uZWQgY29tbW9uIGNvbXBvbmVudHMgKi8KLmZjLWJnLAouZmMtYmdldmVudC1za2VsZXRvbiwKLmZjLWhpZ2hsaWdodC1za2VsZXRvbiwKLmZjLWhlbHBlci1za2VsZXRvbiB7CglkaXNwbGF5OiBub25lOwp9CgovKiBkb24ndCBmb3JjZSBhIG1pbi1oZWlnaHQgb24gcm93cyAoZm9yIERheUdyaWQpICovCi5mYyB0Ym9keSAuZmMtcm93IHsKCWhlaWdodDogYXV0byAhaW1wb3J0YW50OyAvKiB1bmRvIGhlaWdodCB0aGF0IEpTIHNldCBpbiBkaXN0cmlidXRlSGVpZ2h0ICovCgltaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7IC8qIHVuZG8gdGhlIG1pbi1oZWlnaHQgZnJvbSBlYWNoIHZpZXcncyBzcGVjaWZpYyBzdHlsZXNoZWV0ICovCn0KCi5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHsKCXBvc2l0aW9uOiBzdGF0aWM7IC8qIHVuZG8gLmZjLXJpZ2lkICovCglwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyAvKiB1c2UgYSBtb3JlIGJvcmRlci1mcmllbmRseSBtZXRob2QgZm9yIHRoaXMuLi4gKi8KfQoKLmZjIHRib2R5IC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGJvZHkgdHI6bGFzdC1jaGlsZCB0ZCB7IC8qIG9ubHkgd29ya3MgaW4gbmV3ZXIgYnJvd3NlcnMgKi8KCXBhZGRpbmctYm90dG9tOiAxZW07IC8qIC4uLmdpdmVzIHNwYWNlIHdpdGhpbiB0aGUgc2tlbGV0b24uIGFsc28gZW5zdXJlcyBtaW4gaGVpZ2h0IGluIGEgd2F5ICovCn0KCi5mYyB0Ym9keSAuZmMtcm93IC5mYy1jb250ZW50LXNrZWxldG9uIHRhYmxlIHsKCS8qIHByb3ZpZGVzIGEgbWluLWhlaWdodCBmb3IgdGhlIHJvdywgYnV0IG9ubHkgZWZmZWN0aXZlIGZvciBJRSwgd2hpY2ggZXhhZ2dlcmF0ZXMgdGhpcyB2YWx1ZSwKCSAgIG1ha2luZyBpdCBsb29rIG1vcmUgbGlrZSAzZW0uIGZvciBvdGhlciBicm93ZXJzLCBpdCB3aWxsIGFscmVhZHkgYmUgdGhpcyB0YWxsICovCgloZWlnaHQ6IDFlbTsKfQoKCi8qIFVuZG8gbW9udGgtdmlldyBldmVudCBsaW1pdGluZy4gRGlzcGxheSBhbGwgZXZlbnRzIGFuZCBoaWRlIHRoZSAibW9yZSIgbGlua3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLmZjLW1vcmUtY2VsbCwKLmZjLW1vcmUgewoJZGlzcGxheTogbm9uZSAhaW1wb3J0YW50Owp9CgouZmMgdHIuZmMtbGltaXRlZCB7CglkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsKfQoKLmZjIHRkLmZjLWxpbWl0ZWQgewoJZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50Owp9CgouZmMtcG9wb3ZlciB7CglkaXNwbGF5OiBub25lOyAvKiBuZXZlciBkaXNwbGF5IHRoZSAibW9yZS4uIiBwb3BvdmVyIGluIHByaW50IG1vZGUgKi8KfQoKCi8qIFRpbWVHcmlkIFJlc3R5bGluZwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgovKiB1bmRvIHRoZSBtaW4taGVpZ2h0IDEwMCUgdHJpY2sgdXNlZCB0byBmaWxsIHRoZSBjb250YWluZXIncyBoZWlnaHQgKi8KLmZjLXRpbWUtZ3JpZCB7CgltaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7Cn0KCi8qIGRvbid0IGRpc3BsYXkgdGhlIHNpZGUgYXhpcyBhdCBhbGwgKCJhbGwtZGF5IiBhbmQgdGltZSBjZWxscykgKi8KLmZjLWFnZW5kYS12aWV3IC5mYy1heGlzIHsKCWRpc3BsYXk6IG5vbmU7Cn0KCi8qIGRvbid0IGRpc3BsYXkgdGhlIGhvcml6b250YWwgbGluZXMgKi8KLmZjLXNsYXRzLAouZmMtdGltZS1ncmlkIGhyIHsgLyogdGhpcyBociBpcyB1c2VkIHdoZW4gaGVpZ2h0IGlzIHVuZGVydXNlZCBhbmQgbmVlZHMgdG8gYmUgZmlsbGVkICovCglkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IC8qIGltcG9ydGFudCBvdmVycmlkZXMgaW5saW5lIGRlY2xhcmF0aW9uICovCn0KCi8qIGxldCB0aGUgY29udGFpbmVyIHRoYXQgaG9sZHMgdGhlIGV2ZW50cyBiZSBuYXR1cmFsbHkgcG9zaXRpb25lZCBhbmQgY3JlYXRlIHJlYWwgaGVpZ2h0ICovCi5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24gewoJcG9zaXRpb246IHN0YXRpYzsKfQoKLyogaW4gY2FzZSB0aGVyZSBhcmUgbm8gZXZlbnRzLCB3ZSBzdGlsbCB3YW50IHNvbWUgaGVpZ2h0ICovCi5mYy10aW1lLWdyaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGFibGUgewoJaGVpZ2h0OiA0ZW07Cn0KCi8qIGtpbGwgdGhlIGhvcml6b250YWwgc3BhY2luZyBtYWRlIGJ5IHRoZSBldmVudCBjb250YWluZXIuIGV2ZW50IG1hcmdpbnMgd2lsbCBiZSBkb25lIGJlbG93ICovCi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7CgltYXJnaW46IDAgIWltcG9ydGFudDsKfQoKCi8qIFRpbWVHcmlkICpFdmVudCogUmVzdHlsaW5nCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCi8qIG5hdHVyYWxseSBwb3NpdGlvbiBldmVudHMsIHZlcnRpY2FsbHkgc3RhY2tpbmcgdGhlbSAqLwouZmMtdGltZS1ncmlkIC5mYy1ldmVudCB7Cglwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7CgltYXJnaW46IDNweCAycHggIWltcG9ydGFudDsKfQoKLyogZm9yIGV2ZW50cyB0aGF0IGNvbnRpbnVlIHRvIGEgZnV0dXJlIGRheSwgZ2l2ZSB0aGUgYm90dG9tIGJvcmRlciBiYWNrICovCi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LmZjLW5vdC1lbmQgewoJYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4ICFpbXBvcnRhbnQ7Cn0KCi8qIGluZGljYXRlIHRoZSBldmVudCBjb250aW51ZXMgdmlhICIuLi4iIHRleHQgKi8KLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQuZmMtbm90LWVuZDphZnRlciB7Cgljb250ZW50OiAiLi4uIjsKfQoKLyogZm9yIGV2ZW50cyB0aGF0IGFyZSBjb250aW51YXRpb25zIGZyb20gcHJldmlvdXMgZGF5cywgZ2l2ZSB0aGUgdG9wIGJvcmRlciBiYWNrICovCi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LmZjLW5vdC1zdGFydCB7Cglib3JkZXItdG9wLXdpZHRoOiAxcHggIWltcG9ydGFudDsKfQoKLyogaW5kaWNhdGUgdGhlIGV2ZW50IGlzIGEgY29udGludWF0aW9uIHZpYSAiLi4uIiB0ZXh0ICovCi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LmZjLW5vdC1zdGFydDpiZWZvcmUgewoJY29udGVudDogIi4uLiI7Cn0KCi8qIHRpbWUgKi8KCi8qIHVuZG8gYSBwcmV2aW91cyBkZWNsYXJhdGlvbiBhbmQgbGV0IHRoZSB0aW1lIHRleHQgc3BhbiB0byBhIHNlY29uZCBsaW5lICovCi5mYy10aW1lLWdyaWQgLmZjLWV2ZW50IC5mYy10aW1lIHsKCXdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDsKfQoKLyogaGlkZSB0aGUgdGhlIHRpbWUgdGhhdCBpcyBub3JtYWxseSBkaXNwbGF5ZWQuLi4gKi8KLmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQgLmZjLXRpbWUgc3BhbiB7CglkaXNwbGF5OiBub25lOwp9CgovKiAuLi5yZXBsYWNlIGl0IHdpdGggYSBtb3JlIHZlcmJvc2UgdmVyc2lvbiAoaW5jbHVkZXMgQU0vUE0pIHN0b3JlZCBpbiBhbiBodG1sIGF0dHJpYnV0ZSAqLwouZmMtdGltZS1ncmlkIC5mYy1ldmVudCAuZmMtdGltZTphZnRlciB7Cgljb250ZW50OiBhdHRyKGRhdGEtZnVsbCk7Cn0KCgovKiBWZXJ0aWNhbCBTY3JvbGxlciAmIENvbnRhaW5lcnMKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKLyoga2lsbCB0aGUgc2Nyb2xsYmFycyBhbmQgYWxsb3cgbmF0dXJhbCBoZWlnaHQgKi8KLmZjLXNjcm9sbGVyLAouZmMtZGF5LWdyaWQtY29udGFpbmVyLCAgICAvKiB0aGVzZSBkaXZzIG1pZ2h0IGJlIGFzc2lnbmVkIGhlaWdodCwgd2hpY2ggd2UgbmVlZCB0byBjbGVhcmVkICovCi5mYy10aW1lLWdyaWQtY29udGFpbmVyIHsgIC8qICovCglvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OwoJaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7Cn0KCi8qIGtpbGwgdGhlIGhvcml6b250YWwgYm9yZGVyL3BhZGRpbmcgdXNlZCB0byBjb21wZW5zYXRlIGZvciBzY3JvbGxiYXJzICovCi5mYy1yb3cgewoJYm9yZGVyOiAwICFpbXBvcnRhbnQ7CgltYXJnaW46IDAgIWltcG9ydGFudDsKfQoKCi8qIEJ1dHRvbiBDb250cm9scwotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgouZmMtYnV0dG9uLWdyb3VwLAouZmMgYnV0dG9uIHsKCWRpc3BsYXk6IG5vbmU7IC8qIGRvbid0IGRpc3BsYXkgYW55IGJ1dHRvbi1yZWxhdGVkIGNvbnRyb2xzICovCn0K