ZGlmZiAtLWdpdCBhL2JpdGJha2UvZG9jL2JpdGJha2UtdXNlci1tYW51YWwvaHRtbC5jc3MgYi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2h0bWwuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlZWRmZDMKLS0tIC9kZXYvbnVsbAorKysgYi9iaXRiYWtlL2RvYy9iaXRiYWtlLXVzZXItbWFudWFsL2h0bWwuY3NzCkBAIC0wLDAgKzEsMjgxIEBACisvKiBGZXVpbGxlIGRlIHN0eWxlIERvY0Jvb2sgZHUgcHJvamV0IFRyYWR1Yy5vcmcgICAgICAgICAgICAgICAgKi8KKy8qIERvY0Jvb2sgQ1NTIHN0eWxlc2hlZXQgb2YgdGhlIFRyYWR1Yy5vcmcgcHJvamVjdCAgICAgICAgICAgICAqLworCisvKiAoYykgSmVhbi1QaGlsaXBwZSBHdelyYXJkIC0gMTQgYW/7dCAyMDA0ICAgICAgICAgICAgICAgICAgICAgKi8KKy8qIChjKSBKZWFuLVBoaWxpcHBlIEd16XJhcmQgLSAxNCBBdWd1c3QgMjAwNCAgICAgICAgICAgICAgICAgICAqLworCisvKiBDZXR0ZSBmZXVpbGxlIGRlIHN0eWxlIGVzdCBsaWJyZSwgdm91cyBwb3V2ZXogbGEgICAgICAgICAgICAgKi8KKy8qIHJlZGlzdHJpYnVlciBldCBsYSBtb2RpZmllciBzZWxvbiBsZXMgdGVybWVzIGRlIGxhIExpY2VuY2UgICAqLworLyogQXJ0IExpYnJlLiBWb3VzIHRyb3V2ZXJleiB1biBleGVtcGxhaXJlIGRlIGNldHRlIExpY2VuY2Ugc3VyICovCisvKiBodHRwOi8vdGlncmVyYXllLm9yZy9QZXRpdC1ndWlkZS1kdS10cmFkdWN0ZXVyLmh0bWwjbGljZW5jZS1hcnQtbGlicmUgKi8KKworLyogVGhpcyB3b3JrIG9mIGFydCBpcyBmcmVlLCB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgICAgICovCisvKiBtb2RpZnkgaXQgYWNjb3JkaW5nIHRvIHRlcm1zIG9mIHRoZSBGcmVlIEFydCBsaWNlbnNlLiBZb3UgICAgKi8KKy8qIHdpbGwgZmluZCBhIHNwZWNpbWVuIG9mIHRoaXMgbGljZW5zZSBvbiB0aGUgQ29weWxlZnQgICAgICAgICAqLworLyogQXR0aXR1ZGUgd2ViIHNpdGU6IGh0dHA6Ly9hcnRsaWJyZS5vcmcgYXMgd2VsbCBhcyBvbiBvdGhlciAgICovCisvKiBzaXRlcy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qIFBsZWFzZSBub3RlIHRoYXQgdGhlIEZyZW5jaCB2ZXJzaW9uIG9mIHRoaXMgbGljZW5jZSBhcyBzaG93biAqLworLyogb24gaHR0cDovL3RpZ3JlcmF5ZS5vcmcvUGV0aXQtZ3VpZGUtZHUtdHJhZHVjdGV1ci5odG1sI2xpY2VuY2UtYXJ0LWxpYnJlICovCisvKiBpcyBvbmx5IG9mZmljaWFsIGxpY2VuY2Ugb2YgdGhpcyBkb2N1bWVudC4gVGhlIEVuZ2xpc2ggICAgICAgKi8KKy8qIGlzIG9ubHkgcHJvdmlkZWQgdG8gaGVscCB5b3UgdW5kZXJzdGFuZCB0aGlzIGxpY2VuY2UuICAgICAgICAqLworCisvKiBMYSBkZXJuaehyZSB2ZXJzaW9uIGRlIGNldHRlIGZldWlsbGUgZGUgc3R5bGUgZXN0IHRvdWpvdXJzICAgKi8KKy8qIGRpc3BvbmlibGUgc3VyoDogaHR0cDovL3RpZ3JlcmF5ZS5vcmcvc3R5bGUuY3NzICAgICAgICAgICAgICAqLworLyogRWxsZSBlc3Qg6WdhbGVtZW50IGRpc3BvbmlibGUgc3VyoDogICAgICAgICAgICAgICAgICAgICAgICAgICovCisvKiBodHRwOi8vd3d3LnRyYWR1Yy5vcmcvZG9jcy9IT1dUTy9sZWN0dXJlL3N0eWxlLmNzcyAgICAgICAgICAgKi8KKworLyogVGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgc3R5bGVzaGVldCBpcyBhdmFpbGFibGUgZnJvbTogICAgICovCisvKiBodHRwOi8vdGlncmVyYXllLm9yZy9zdHlsZS5jc3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KKy8qIEl0IGlzIGFsc28gYXZhaWxhYmxlIG9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworLyogaHR0cDovL3d3dy50cmFkdWMub3JnL2RvY3MvSE9XVE8vbGVjdHVyZS9zdHlsZS5jc3MgICAgICAgICAgICovCisKKy8qIE4naOlzaXRleiBwYXMg4CBlbnZveWVyIHZvcyBjb21tZW50YWlyZXMgZXQgY29ycmVjdGlvbnMg4CAgICAqLworLyogSmVhbi1QaGlsaXBwZSBHdelyYXJkIDxqZWFuLXBoaWxpcHBlLmd1ZXJhcmRAdGlncmVyYXllLm9yZz4gICovCisKKy8qIFBsZWFzZSBzZW5kIGZlZWRiYWNrIGFuZCBidWcgcmVwb3J0cyB0byAgICAgICAgICAgICAgICAgICAgICAqLworLyogSmVhbi1QaGlsaXBwZSBHdelyYXJkIDxqZWFuLXBoaWxpcHBlLmd1ZXJhcmRAdGlncmVyYXllLm9yZz4gICovCisKKy8qICRJZDogc3R5bGUuY3NzLHYgMS4xNCAyMDA0LzA5LzEwIDIwOjEyOjA5IGZldnJpZXIgRXhwIGZldnJpZXIgJCAqLworCisvKiBQculzZW50YXRpb24gZ+lu6XJhbGUgZHUgZG9jdW1lbnQgKi8KKy8qIE92ZXJhbGwgZG9jdW1lbnQgcHJlc2VudGF0aW9uICovCisKK2JvZHkgeworICAgIC8qCisgICAgZm9udC1mYW1pbHk6IEFwb2xsaW5lLCAiVVJXIFBhbGxhZGlvIEwiLCBHYXJhbW9uZCwgakdhcmFtb25kLAorICAgICAgICAgICAgICAgICAiQml0c3RyZWFtIEN5YmVyYml0IiwgIlBhbGF0aW5vIExpbm90eXBlIiwgc2VyaWY7CisgICAgICovCisgICAgbWFyZ2luOiA3JTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsKK30KKworLyogVGFpbGxlIGR1IHRleHRlICovCisvKiBUZXh0IHNpemUgKi8KKworKiB7IGZvbnQtc2l6ZTogMTAwJTsgfQorCisvKiBHZXN0aW9uIGRlcyB0ZXh0ZXMgbWlzIGVuIHJlbGllZiBpbWJyaXF16XMgKi8KKy8qIEVtYmVkZGVkIGVtcGhhc2lzICovCisKK2VtIHsgZm9udC1zdHlsZTogaXRhbGljOyB9CitlbSBlbSB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfQorZW0gZW0gZW0geyBmb250LXN0eWxlOiBpdGFsaWM7IH0KKworLyogVGl0cmVzICovCisvKiBUaXRsZXMgKi8KKworaDEgeyBmb250LXNpemU6IDIwMCU7IGZvbnQtd2VpZ2h0OiA5MDA7IH0KK2gyIHsgZm9udC1zaXplOiAxNjAlOyBmb250LXdlaWdodDogOTAwOyB9CitoMyB7IGZvbnQtc2l6ZTogMTMwJTsgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KK2g0IHsgZm9udC1zaXplOiAxMTUlOyBmb250LXdlaWdodDogYm9sZDsgfQoraDUgeyBmb250LXNpemU6IDEwOCU7IGZvbnQtd2VpZ2h0OiBib2xkOyB9CitoNiB7ICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH0KKworLyogTm9tIGRlIGZhbWlsbGUgZW4gcGV0aXRlcyBtYWp1c2N1bGVzICh1bmlxdWVtZW50IGVuIGZyYW7nYWlzKSAqLworLyogTGFzdCBuYW1lcyBpbiBzbWFsbCBjYXBzIChmb3IgRnJlbmNoIG9ubHkpICovCisKKypbY2xhc3N+PSJzdXJuYW1lIl06bGFuZyhmcikgeyBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7IH0KKworLyogQmxvY3MgZGUgY2l0YXRpb24gKi8KKy8qIFF1b3RhdGlvbiBibG9jcyAqLworCitkaXZbY2xhc3N+PSJibG9ja3F1b3RlIl0geworICBib3JkZXI6IHNvbGlkIDJweCAjQUFBOworICBwYWRkaW5nOiA1cHg7CisgIG1hcmdpbjogNXB4OworfQorCitkaXZbY2xhc3N+PSJibG9ja3F1b3RlIl0gPiB0YWJsZSB7CisgIGJvcmRlcjogbm9uZTsKK30KKworLyogQmxvY3MgbGl06XJhdXigOiBmb25kIGdyaXMgY2xhaXIgKi8KKy8qIExpdGVyYWwgYmxvY3M6IGxpZ2h0IGdyYXkgYmFja2dyb3VuZCAqLworCisqW2NsYXNzfj0ibGl0ZXJhbGxheW91dCJdIHsKKyAgYmFja2dyb3VuZDogI2YwZjBmMDsKKyAgcGFkZGluZzogNXB4OworICBtYXJnaW46IDVweDsKK30KKworLyogUHJvZ3JhbW1lcyBldCBjYXB0dXJlcyB0ZXh0ZaA6IGZvbmQgYmxldSBjbGFpciAqLworLyogTGlzdGluZyBhbmQgdGV4dCBzY3JlZW4gc25hcHNob3RzOiBsaWdodCBibHVlIGJhY2tncm91bmQgKi8KKworKltjbGFzc349InByb2dyYW1saXN0aW5nIl0sICpbY2xhc3N+PSJzY3JlZW4iXSB7CisgIGJhY2tncm91bmQ6ICNmMGYwZmY7CisgIHBhZGRpbmc6IDVweDsKKyAgbWFyZ2luOiA1cHg7Cit9CisKKy8qIExlcyB0ZXh0ZXMg4CByZW1wbGFjZXIgc29udCBzdXJsaWdu6XMgZW4gdmVydCBw4mxlICovCisvKiBSZXBsYWNlYWJsZSB0ZXh0IGluIGhpZ2hsaWdodGVkIGluIHBhbGUgZ3JlZW4gKi8KKworKltjbGFzc349InJlcGxhY2VhYmxlIl0geyAKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOThmYjk4OworICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfQorCisvKiBUYWJsZXOgOiBmb25kcyBncmlzIGNsYWlyICYgYm9yZHMgc2ltcGxlcyAqLworLyogVGFibGVzOiBsaWdodCBncmF5IGJhY2tncm91bmQgYW5kIHNvbGlkIGJvcmRlcnMgKi8KKworKltjbGFzc349InRhYmxlIl0gKltjbGFzc349InRpdGxlIl0geyB3aWR0aDoxMDAlOyBib3JkZXI6IDBweDsgfQorCit0YWJsZSB7CisgICAgYm9yZGVyOiAxcHggc29saWQgI2FhYTsKKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIHBhZGRpbmc6IDJweDsKKyAgICBtYXJnaW46IDVweDsKK30KKworLyogTGlzdGVzIHNpbXBsZXMgZW4gc3R5bGUgdGFibGUgKi8KKy8qIFNpbXBsZXMgbGlzdHMgaW4gdGFibGUgcHJlc2VudGF0aW9uICovCisKK3RhYmxlW2NsYXNzfj0ic2ltcGxlbGlzdCJdIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwOworICAgIG1hcmdpbjogNXB4OworICAgIGJvcmRlcjogc29saWQgMXB4ICNBQUE7Cit9CisKK3RhYmxlW2NsYXNzfj0ic2ltcGxlbGlzdCJdIHRkIHsKKyAgICBib3JkZXI6IHNvbGlkIDFweCAjQUFBOworfQorCisvKiBMZXMgdGFibGVzICovCisvKiBUYWJsZXMgKi8KKworKltjbGFzc349InRhYmxlIl0gdGFibGUgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7CisgICAgYm9yZGVyOiBzb2xpZCAxcHggI0FBQTsKK30KKypbY2xhc3N+PSJpbmZvcm1hbHRhYmxlIl0gdGFibGUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwOyB9CisKK3RoLHRkIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7CisgICAgdGV4dC1hbGlnbjogbGVmdDsKKyAgICBwYWRkaW5nOiAwLjFlbSAwLjNlbTsKKyAgICBlbXB0eS1jZWxsczogc2hvdzsgCit9CisKKy8qIEFsaWduZW1lbnQgZGVzIGNvbG9ubmVzICovCisvKiBDb2x1bm1zIGFsaWdubWVudCAqLworCit0ZFthbGlnbj1jZW50ZXJdICwgIHRoW2FsaWduPWNlbnRlcl0gIHsgdGV4dC1hbGlnbjogY2VudGVyOyB9Cit0ZFthbGlnbj1yaWdodF0gLCAgIHRoW2FsaWduPXJpZ2h0XSAgIHsgdGV4dC1hbGlnbjogcmlnaHQ7IH0KK3RkW2FsaWduPWxlZnRdICwgICAgdGhbYWxpZ249bGVmdF0gICAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9Cit0ZFthbGlnbj1qdXN0aWZ5XSAsIHRoW2FsaWduPWp1c3RpZnldIHsgdGV4dC1hbGlnbjoganVzdGlmeTsgfQorCisvKiBQYXMgZGUgbWFyZ2UgYXV0b3VyIGRlcyBpbWFnZXMgKi8KKy8qIE5vIGluc2lkZSBtYXJnaW5zIGZvciBpbWFnZXMgKi8KKworaW1nIHsgYm9yZGVyOiAwOyB9CisKKy8qIExlcyBsaWVucyBuZSBzb250IHBhcyBzb3VsaWdu6XMgKi8KKy8qIE5vIHVuZGVybGluZXMgZm9yIGxpbmtzICovCisKKzpsaW5rICwgOnZpc2l0ZWQgLCA6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CisKKy8qIFBydWRlbmNloDogY2FkcmUgamF1bmUgZXQgZm9uZCBqYXVuZSBjbGFpciAqLworLyogQ2F1dGlvbjogeWVsbG93IGJvcmRlciBhbmQgbGlnaHQgeWVsbG93IGJhY2tncm91bmQgKi8KKworKltjbGFzc349ImNhdXRpb24iXSB7CisgICAgYm9yZGVyOiBzb2xpZCAycHggeWVsbG93OworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZTA7CisgICAgcGFkZGluZzogMWVtIDZweCAxZW0gOworICAgIG1hcmdpbjogNXB4OworfQorCisqW2NsYXNzfj0iY2F1dGlvbiJdIHRoIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlCit9CisKKypbY2xhc3N+PSJjYXV0aW9uIl0gdGFibGUgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZTA7CisgICAgYm9yZGVyOiBub25lOworfQorCisvKiBOb3RlIGltcG9ydGFudGWgOiBjYWRyZSBqYXVuZSBldCBmb25kIGphdW5lIGNsYWlyICovCisvKiBJbXBvcnRhbnQ6IHllbGxvdyBib3JkZXIgYW5kIGxpZ2h0IHllbGxvdyBiYWNrZ3JvdW5kICovCisKKypbY2xhc3N+PSJpbXBvcnRhbnQiXSB7CisgICAgYm9yZGVyOiBzb2xpZCAycHggeWVsbG93OworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZTA7CisgICAgcGFkZGluZzogMWVtIDZweCAxZW07CisgICAgbWFyZ2luOiA1cHg7Cit9CisKKypbY2xhc3N+PSJpbXBvcnRhbnQiXSB0aCB7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZQorfQorCisqW2NsYXNzfj0iaW1wb3J0YW50Il0gdGFibGUgIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmUwOworICAgIGJvcmRlcjogbm9uZTsKK30KKworLyogTWlzZSBlbiDpdmlkZW5jZaA6IHRleHRlIGzpZ+hyZW1lbnQgcGx1cyBncmFuZCAqLworLyogSGlnaGxpZ2h0czogc2xpZ2h0bHkgbGFyZ2VyIHRleHRzICovCisKKypbY2xhc3N+PSJoaWdobGlnaHRzIl0geworICAgIGZvbnQtc2l6ZTogIDExMCU7Cit9CisKKy8qIE5vdGWgOiBjYWRyZSBibGV1IGV0IGZvbmQgYmxldSBjbGFpciAqLworLyogTm90ZXM6IGJsdWUgYm9yZGVyIGFuZCBsaWdodCBibHVlIGJhY2tncm91bmQgKi8KKworKltjbGFzc349Im5vdGUiXSAgIHsKKyAgICBib3JkZXI6IHNvbGlkIDJweCAjNzA5OUM1OworICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZmY7CisgICAgcGFkZGluZzogMWVtIDZweCAxZW0gOworICAgIG1hcmdpbjogNXB4OworfQorCisqW2NsYXNzfj0ibm90ZSJdIHRoIHsKKyAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlCit9CisKKypbY2xhc3N+PSJub3RlIl0gdGFibGUgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZmY7CisgICAgYm9yZGVyOiBub25lOworfQorCisvKiBBc3R1Y2WgOiBjYWRyZSB2ZXJ0IGV0IGZvbmQgdmVydCBjbGFpciAqLworLyogVGlwOiBncmVlbiBib3JkZXIgYW5kIGxpZ2h0IGdyZWVuIGJhY2tncm91bmQgKi8KKworKltjbGFzc349InRpcCJdIHsKKyAgICBib3JkZXI6IHNvbGlkIDJweCAjMDBmZjAwOworICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGZmZmY7CisgICAgcGFkZGluZzogMWVtIDZweCAxZW0gOworICAgIG1hcmdpbjogNXB4OworfQorCisqW2NsYXNzfj0idGlwIl0gdGggeworICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cit9CisKKypbY2xhc3N+PSJ0aXAiXSB0YWJsZSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZmZmZjsKKyAgICBib3JkZXI6IG5vbmU7Cit9CisKKy8qIEF2ZXJ0aXNzZW1lbnSgOiBjYWRyZSByb3VnZSBldCBmb25kIHJvdWdlIGNsYWlyICovCisvKiBXYXJuaW5nOiByZWQgYm9yZGVyIGFuZCBsaWdodCByZWQgYmFja2dyb3VuZCAqLworCisqW2NsYXNzfj0id2FybmluZyJdIHsKKyAgICBib3JkZXI6IHNvbGlkIDJweCAjZmYwMDAwOworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYwZjA7IAorICAgIHBhZGRpbmc6IDFlbSA2cHggMWVtIDsKKyAgICBtYXJnaW46IDVweDsKK30KKworKltjbGFzc349Indhcm5pbmciXSB0aCB7CisgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKK30KKyAgICAgICAgICAgICAgICAgICAgCisKKypbY2xhc3N+PSJ3YXJuaW5nIl0gdGFibGUgeworICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYwZjA7CisgICAgYm9yZGVyOiBub25lOworfQorCisvKiBGaW4gKi8KKy8qIFRoZSBFbmQgKi8KKwo=