PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFsLy9FTiI+CjxodG1sPgo8aGVhZD4KPHRpdGxlPkVjbGlwc2UgVGVjaG5vbG9neSBQcm9qZWN0IFRvcC1MZXZlbCBDaGFydGVyPC90aXRsZT4KPGxpbmsgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iCmh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvZGVmYXVsdF9zdHlsZS5jc3MiPgo8dGl0bGU+RWNsaXBzZSBSZXNlYXJjaCBQcm9qZWN0IFRvcC1MZXZlbDwvdGl0bGU+CjwvaGVhZD4KPGJvZHkgdGV4dD0iIzAwMDAwMCIgYmdjb2xvcj0iI2ZmZmZmZiIgbGluaz0iIzAwMDBFRSIgdmxpbms9IgojNTUxQThCIiBhbGluaz0iI2ZmMDAwMCI+Cgo8dGFibGUgY2VsbHNwYWNpbmc9IjUiIGNlbGxwYWRkaW5nPSIyIiB3aWR0aD0iMTAwJSIgYm9yZGVyPSIwIj4KCjx0Ym9keT4KPHRyPgo8dGQgdmFsaWduPSJ0b3AiIGFsaWduPSJsZWZ0IiBiZ2NvbG9yPSIjMDA4MEMwIiBjb2xzcGFuPSIzIj4KPGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6QXJpYWw7Cm1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiZxdW90O1RpbWVzIE5ldyBSb21hbiZxdW90Oztjb2xvcjp3aGl0ZTttc28tYW5zaS1sYW5ndWFnZTpFTi1VUzsKbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S087bXNvLWJpZGktbGFuZ3VhZ2U6QVItU0EiPlRoZSBFY2xpcHNlIFRlY2hub2xvZ3kgUHJvamVjdCCWClRvcC1MZXZlbCBQcm9qZWN0IENoYXJ0ZXIgliBUaGUgRWNsaXBzZSBGb3VuZGF0aW9uPC9zcGFuPjwvYj48L3RkPgo8L3RyPgoKPHRyPgo8dGQgY29sc3Bhbj0iMyI+CjxwPjxiPk92ZXJ2aWV3PGJyPgo8L2I+VGhlIEVjbGlwc2UgVGVjaG5vbG9neSBUb3AgTGV2ZWwgUHJvamVjdCAodGhlICZxdW90O0VjbGlwc2UgVGVjaG5vbG9neQpQcm9qZWN0JnF1b3Q7KSBpcyBhbiBvcGVuIHNvdXJjZSBzb2Z0d2FyZSBwcm9qZWN0IGZvciB0aGUgaW5jdWJhdGlvbiBvZgpzbWFsbC1zY2FsZSwgaW5ub3ZhdGl2ZSBwbGF0Zm9ybSBhbmQgdG9vbHMgcHJvamVjdHMuPC9wPgo8cD48Yj5NaXNzaW9uPC9iPjxicj4KVGhlIG1pc3Npb24gb2YgdGhlIEVjbGlwc2UgVGVjaG5vbG9neSBQcm9qZWN0IGlzIHRvIHByb3ZpZGUgYSB0ZW1wb3JhcnkgaG9tZQp3aXRoaW4gdGhlIEVjbGlwc2UgRm91bmRhdGlvbiBmb3Igc21hbGwsIG5ld2VyLCBlYXJseSBhZG9wdGVyLXR5cGUgUHJvamVjdHMKd2hpY2ggYWRkIG5ldyBjYXBhYmlsaXRpZXMgdG8gdGhlIEVjbGlwc2Ugc29mdHdhcmUgYmFzZS4gVGhlIEVjbGlwc2UgVGVjaG5vbG9neQpQcm9qZWN0IGlzIGludGVuZGVkIHRvIHByb3ZpZGUgdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSB3aXRoIGEgbGlnaHRlciB3ZWlnaHQKYWx0ZXJuYXRpdmUgdG8gdGhlIGxhcmdlciBzY2FsZSwgbW9yZSBzdHJ1Y3R1cmVkIGRldmVsb3BtZW50IGFjdGl2aXRpZXMgY2FycmllZApvdXQgYnkgb3RoZXIgUE1DcyB1bnRpbCB0aGUgbmV3IHByb2plY3RzIGFyZSByZWFkeSB0byBqb2luIHRoZWlyIGRlc3RpbmF0aW9uIFBNQy48L3A+CjxwPjxiPlNjb3BlPC9iPjxicj4KVGhlIHNjb3BlIG9mIHRoZSBFY2xpcHNlIFRlY2hub2xvZ3kgUHJvamVjdCB3aWxsIGVuY29tcGFzcyBhIHdpZGUgdmFyaWV0eSBvZgpzbWFsbCBlYXJseS1zdGFnZSBQcm9qZWN0cywgcmF0aGVyIHRoYW4gYSBmZXcgbGFyZ2Ugb25lcy4gV2hpbGUgYW50aWNpcGF0aW5nCmVub3Jtb3VzIGRpdmVyc2l0eSBpbiB0aGUgY29udGVudCBvZiB0aGVzZSBhY3Rpdml0aWVzLCBmcm9tIGEgcHJvY2Vzcy1vcmllbnRlZAp2aWV3cG9pbnQgdGhleSB3aWxsIGFsbCBzaGFyZSBpbXBvcnRhbnQgY29tbW9uIGNoYXJhY3RlcmlzdGljcywgd2hpY2ggYXJndWVzIGZvcgphIGNvbW1vbiBtYW5hZ2VtZW50IGVudmVsb3BlOjwvcD4KPHVsPgogIDxsaT5Vc2Ugb2YgbGlnaHRlciB3ZWlnaHQsIGJ1dCBzdGlsbCBmb3JtYWwgZGV2ZWxvcG1lbnQgcHJvY2Vzc2VzJm5ic3A7PC9saT4KICA8bGk+Rmx1aWQgUHJvamVjdCB0cmFja2luZyBkdWUgdG8gZnJlcXVlbnQgcGxhbiBjaGFuZ2VzJm5ic3A7PC9saT4KICA8bGk+RmxleGlibGUgbWlsZXN0b25lcyB3aGljaCBhZGFwdCBiYXNlZCBvbiBwYXJ0aWFsIHJlc3VsdHMmbmJzcDs8L2xpPgogIDxsaT5TbWFsbCB0ZWFtcywgcmVsYXRpdmVseSBpbmV4cGVyaWVuY2VkIGluIG9wZW4tc291cmNlIHNvZnR3YXJlCiAgICBkZXZlbG9wbWVudCZuYnNwOzwvbGk+CiAgPGxpPkRlZmluaXRpdmUgcGxhbnMgdG8gbW92ZSB0byBtYXR1cmUgdGhlIHByb2plY3QgYW5kIHRoZW4gbW92ZSBpdCB0byB0aGUKICAgIGFwcHJvcHJpYXRlIFRvcC1MZXZlbCBQcm9qZWN0LjwvbGk+CjwvdWw+CjxwPlRoZSBFY2xpcHNlIFRlY2hub2xvZ3kgUHJvamVjdCBzZXJ2ZXMgYXMgYSBzaW5nbGUgcG9pbnQgb2YgZm9jdXMgZm9yIHN1Y2gKdGVhbXMsIGFuZCBwcm92aWRlcyB0aGVtIHdpdGggYSBob21lIHdpdGhpbiB0aGUgRWNsaXBzZSBjb21tdW5pdHksIHRvIGVuY291cmFnZQpjb21tdW5pY2F0aW9uLCBhbmQgd2hlcmUgYXBwcm9wcmlhdGUsIGNvbGxhYm9yYXRpb24gYW5kIGNvb3JkaW5hdGlvbi4gUHJvdmlkaW5nCmNvbW1vbiBtYW5hZ2VtZW50IGZvciB0aGVzZSBQcm9qZWN0cyBmYWNpbGl0YXRlcyBtYXhpbXVtIHNoYXJpbmcgYW5kIGNyZWF0aW9uIG9mCmNvbW1vbiBjb21wb25lbnRzLCBhbmQgYXZvaWRzIHJlZHVuZGFudCBlZmZvcnRzLiBUaGUgZ29hbCBvZiBzdWNjZXNzZnVsIHByb2plY3RzCmlzIHRvIG1pZ3JhdGUgdG8gb3RoZXIgUE1DcywgZWl0aGVyIGJ5IG1lcmdpbmcgaW50byBhbiBleGlzdGluZyBQcm9qZWN0LCBvciBieQpmb3JtaW5nIHRoZSBiYXNpcyBmb3IgYSBuZXcgb25lLjwvcD4KPHA+PGI+T3RoZXIgVGVybXM8YnI+CjwvYj5UaGlzIENoYXJ0ZXIgaW5oZXJpdHMgYWxsIHRlcm1zIG5vdCBvdGhlcndpc2UgZGVmaW5lZCBoZXJlaW4gZnJvbSB0aGUgJnF1b3Q7PGEgaHJlZj0iaHR0cDovL3d3dy5lY2xpcHNlLm9yZy9vcmcvcHJvY2Vzc2VzL0VjbGlwc2VfU3RhbmRhcmRfVG9wTGV2ZWxfQ2hhcnRlcl92MS4wLmh0bWwiPkVjbGlwc2UKU3RhbmRhcmQgQ2hhcnRlciB2MS4wPC9hPiZxdW90Oy4gVGhpcyBpbmNsdWRlcywgYnV0IGlzIG5vdCBsaW1pdGVkIHRvLCBzZWN0aW9ucwpvbiB0aGUgUHJvZ3JhbSBNYW5hZ2VtZW50IENvbW1pdHRlZSwgUm9sZXMsIFByb2plY3QgT3JnYW5pemF0aW9uLCBUaGUKRGV2ZWxvcG1lbnQgUHJvY2VzcywgYW5kIExpY2Vuc2luZy48L3A+CjxwPjxiPlByb2plY3QgTWFuYWdlbWVudCBDb21taXR0ZWUgPGJyPgo8L2I+Q2hhbmdlcyBmcm9tIHRoZSAmcXVvdDs8YSBocmVmPSJodHRwOi8vd3d3LmVjbGlwc2Uub3JnL29yZy9wcm9jZXNzZXMvRWNsaXBzZV9TdGFuZGFyZF9Ub3BMZXZlbF9DaGFydGVyX3YxLjAuaHRtbCI+RWNsaXBzZQpTdGFuZGFyZCBDaGFydGVyIHYxLjA8L2E+JnF1b3Q7IGFyZTo8L3A+Cjx1bD4KICA8bGk+UHJvdmlkaW5nIHRoZSBsZWFkZXJzaGlwIGFuZCB2aXNpb24gdG8gZ3VpZGUgdGhlIFByb2plY3QncyBvdmVyYWxsCiAgICBkaXJlY3Rpb24gaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSA8c3RyaWtlPkVjbGlwc2UgRm91bmRhdGlvbgogICAgQXJjaGl0ZWN0dXJhbCBSb2FkbWFwPC9zdHJpa2U+IEVjbGlwc2UgRm91bmRhdGlvbidzIGdvYWxzLiA8L2xpPgo8L3VsPgo8cD48Yj5Qcm9qZWN0cyA8YnI+CjwvYj5DaGFuZ2VzIGZyb20gdGhlICZxdW90OzxhIGhyZWY9Imh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL3Byb2Nlc3Nlcy9FY2xpcHNlX1N0YW5kYXJkX1RvcExldmVsX0NoYXJ0ZXJfdjEuMC5odG1sIj5FY2xpcHNlClN0YW5kYXJkIENoYXJ0ZXIgdjEuMDwvYT4mcXVvdDsgYXJlOiA8L3A+CjxwPlRoZSB3b3JrIHVuZGVyIHRoaXMgVG9wIExldmVsIFByb2plY3QgaXMgZnVydGhlciBvcmdhbml6ZWQgaW50byBQcm9qZWN0cy4gTmV3ClByb2plY3RzIG11c3QgYmUgY29uc2lzdGVudCB3aXRoIHRoZSBtaXNzaW9uIG9mIHRoZSBUb3AgTGV2ZWwgUHJvamVjdCwgPGI+aGF2ZQphbiBleHBsaWNpdCBwbGFuIGZvciByZWFjaGluZyB0aGVpciBkZXN0aW5hdGlvbiB0b3AtbGV2ZWwgcHJvamVjdCwgPC9iPmJlCnJlY29tbWVuZGVkIGJ5IHRoZSBQTUMsIGFuZCBjb25maXJtZWQgYnkgdGhlIEVNTy4gUHJvamVjdHMgY2FuIGJlIGRpc2NvbnRpbnVlZApieSBkZWNpc2lvbiBvZiB0aGUgQm9hcmQuCjwvdGQ+CjwvdHI+CjwvdGJvZHk+CjwvdGFibGU+Cgo8L2JvZHk+CjwvaHRtbD4KCjwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAxIFRyYW5zaXRpb25hbC8vRU4iPgo=