VGhpcyBpcyBteSBhdHRlbXB0IHRvIHBvcnQgVS1Cb290IHRvIHRoZSBpMzg2IHBsYXRmb3JtLiBUaGlzCndvcmsgd2FzIHNwb25zb3JlZCBieSBteSBlbXBseWVyLCBPbWljcm9uIENldGkgQUIuIGh0dHA6Ly93d3cub21pY3Jvbi5zZQoKSXQgaXMgY3VycmVudGx5IGNhcGFibGUgb2YgYm9vdGluZyBhIGxpbnV4IGJ6SW1hZ2UgZnJvbSBmbGFzaCBvbgp0aGUgQU1EIFNDNTIwIENEUCBwbGF0Zm9ybS4KCkl0IHdhcyBvcmlnaW5hbGx5IGJhc2VkIG9uIFBQQ0Jvb3QgdGFrZW4gZnJvbSB0aGUgQ1ZTIE9jdG9iZXIgMjggMjAwMi4gIAoKVG8gY29tcGlsZToKCjEpIFVucGFjayB0aGUgc291cmNlIHRyZWUsIGVpdGhlciBmcm9tIHRoZSBjb21wbGV0ZSB0YXJiYWxsIG9yCiAgIGZyb20gdGhlIHZpcmdpbiBzbmFwc2hvdCArIHRoZSBwYXRjaAogICAKMikgQ29uZmlndXJlIHRoZSBzb3VyY2UKICAgJCBtYWtlIHNjNTIwX2NkcF9jb21maWcKICAgJCBtYWtlCiAgIApUbyB1c2UgdGhpcyBjb2RlIG9uIHRoZSBDRFA6CjEpIE1ha2UgYSBzdWl0YWJsZSBrZXJuZWwsIEkgdXNlZCAyLjQuMTkgd2l0aCB0aGUgbXRkLXN1cHBvcnQgdXBkYXRlZAogICBmcm9tIHRoZSBNVEQgQ1ZTIGFuZCBhIHBhdGNoIHRvIGFsbG93IHJvb3Q9L2Rldi9tdGRibG9jazEgd2hpY2ggSQogICBpbmNsdWRlZCBhdCB0aGUgZW5kIG9mIHRoaXMgZmlsZS4gCiAgIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBpbiB0aGUgTVREIHNlY3Rpb24gbWlnaHQgYmUgdXNlZnVsOgogICAKICAgQ09ORklHX01URF9QSFlTTUFQPXkKICAgQ09ORklHX01URF9QSFlTTUFQX1NUQVJUPTM4MTAwMDAwCiAgIENPTkZJR19NVERfUEhZU01BUF9MRU49N2EwMDAwCiAgIENPTkZJR19NVERfUEhZU01BUF9CVVNXSURUSD0yCgoKMikgUHJvZ3JhbSBpdCBpbiB0byB0aGUgQ0RQIGZsYXNoYmFuayB3aXRoIHJlbW9uCiAgIHUtYm9vdC5iaW4gc2hvdWxkIGJlIHByb2dyYW1tZWQgYXR0IG9mZnNldCAweDdlMDAwIGFuZCB0aGUga2VybmVsIGF0CiAgIG9mZnNldCAwLiBJZiB5b3Ugd2FudCB0byB1c2UgYSBqZmZzMiByb290IGZpbGUgc3lzdGVtIChub3QgaW5jbHVkZWQgaGVyZSksIAogICBpdCBzaG91bGQgYmUgIHByb2dyYW1tZWQgdG8gb2Zmc2V0IDB4MTAwMDAwLgogICAKICAgcmVtb24+IHoKICAgcmVtb24+IHlpCiAgIHJlbW9uPiBucyB1LWJvb3QuYmluIDdlMDAwMAogICByZW1vbj4gbnMgYnpJbWFnZSAwCiAgIHJlbW9uPiBucyBpbWFnZS5qZmZzMiAxMDAwMDAKCjMpIENvbm5lY3QgYSB0ZXJtaW5hbCB0byB0aGUgMjVwaW4gc2VyaWFsIHBvcnQgYXQgOTYwMGJwcywgYW5kIHN0YXJ0IHRoZSBDRFAuCiAgIAogICByZW1vbj4gegogICByZW1vbj4gZwoKNCkgVS1Cb290IHNob3VsZCBvdXRwdXQgc29tZSBtZXNzYWdlIGFuZCBhIHByb21wdCBvbiB0aGUgdGVybWluYWwsIHRvCiAgIHN0YXJ0IHRoZSBrZXJuZWwgaXNzdWUgdGhlIGZvbGxvd2luZyBjb21tYW5kOgogICAKICAgQk9PVD4gYm9vdG0KICAgCjUpIFRoZSBrZXJuZWwgc2hvdWxkIGJvb3QsIGFuZCBtb3VudCB0aGUgcm9vdCBmaWxlc3lzdGVtIGlmIHByZXNlbnQuCgpXZSBob3BlIHlvdSBmaW5kIHRoaXMgc3R1ZmYgdXNlZnVsCkRhbmllbCBFbmdzdHL2bSwgT21pY3JvbiBDZXRpIEFCLCBkYW5pZWxAb21pY3Jvbi5zZQoKCgotLS0gbGludXgtMi40LjE5LW9yaWcvaW5pdC9kb19tb3VudHMuYwlTYXQgQXVnICAzIDAyOjM5OjQ2IDIwMDIKKysrIGxpbnV4LTIuNC4xOS9pbml0L2RvX21vdW50cy5jCU1vbiBTZXAgMjMgMTY6MjE6MzMgMjAwMgpAQCAtMjI0LDYgKzIyNCwxNCBAQAogCXsgImZ0bGMiLCAweDJjMTAgfSwKIAl7ICJmdGxkIiwgMHgyYzE4IH0sCiAJeyAibXRkYmxvY2siLCAweDFmMDAgfSwKKwl7ICJtdGRibG9jazAiLCAweDFmMDAgfSwKKwl7ICJtdGRibG9jazEiLCAweDFmMDEgfSwKKwl7ICJtdGRibG9jazIiLCAweDFmMDIgfSwKKwl7ICJtdGRibG9jazMiLCAweDFmMDMgfSwKKwl7ICJtdGRibG9jazQiLCAweDFmMDQgfSwKKwl7ICJtdGRibG9jazUiLCAweDFmMDUgfSwKKwl7ICJtdGRibG9jazYiLCAweDFmMDYgfSwKKwl7ICJtdGRibG9jazciLCAweDFmMDcgfSwKIAl7IE5VTEwsIDAgfQogfTsKIAo=