The Equipe Historic Championship is reserved for FIA-homologated TC, GT and GTS cars as defined

by the applicable Technical Regulations and must conform to current FIA Historic Technical

Passport (HTP) specification and an accompanied by an approved Equipe Technical passport (ETP)

which will agree any additional allowances. GTP specification cars will be considered on an individual basis.

The Championship comprises 1 title of Equipe Historic TC, GT and Sportscar Champion for Drivers.

The Championship is primarily intended for Driver(s) competing together throughout the season.

PGRpdiBpZD0icmVncy1hcHAiPgoKPHN0eWxlPgpodG1sIHsKICBzY3JvbGwtYmVoYXZpb3I6c21vb3RoOwp9CiNyZWdzLWFwcCB7CiAgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQXJpYWwsIHNhbnMtc2VyaWY7Cn0KaHRtbCB7CiAgc2Nyb2xsLXBhZGRpbmctdG9wOiAxMDBweDsgLyogYWRqdXN0IHRvIHlvdXIgaGVhZGVyIGhlaWdodCAqLwp9CiNyZWdzLWFwcCB7CiAgZGlzcGxheTpmbGV4OwogIGdhcDozMHB4OwogIGZvbnQtZmFtaWx5OiAnU2Vnb2UgVUknLCBBcmlhbCwgc2Fucy1zZXJpZjsKICBiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgdG9wLCMxMTEsIzAwMCk7CiAgY29sb3I6I2Y1ZjVmNTsKICBwYWRkaW5nOjIwcHg7CiAgYW5pbWF0aW9uOmZhZGVJbiAwLjZzIGVhc2U7Cn0KLmhpZ2hsaWdodCB7CiAgYmFja2dyb3VuZDogI2ZjZGIwMDsKICBjb2xvcjogIzAwMDsKICBwYWRkaW5nOiAycHggNHB4OwogIGJvcmRlci1yYWRpdXM6IDRweDsKfQovKiBHTEFTUyBFRkZFQ1QgKi8KLmdsYXNzIHsKICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7CiAgYmFja2Ryb3AtZmlsdGVyOmJsdXIoMTJweCk7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOwogIGJveC1zaGFkb3c6MCA4cHggMzBweCByZ2JhKDAsMCwwLDAuNik7CiAgYm9yZGVyLXJhZGl1czoxMnB4Owp9CgovKiBTSURFQkFSICovCiNzaWRlYmFyIHsKICB3aWR0aDoyNjBweDsKICBwb3NpdGlvbjpzdGlja3k7CiAgdG9wOjIwcHg7CiAgaGVpZ2h0OmZpdC1jb250ZW50OwogIHBhZGRpbmc6MTVweDsKfQoKI3NpZGViYXIgc3Ryb25nIHsKICBkaXNwbGF5OmJsb2NrOwogIG1hcmdpbi1ib3R0b206MTBweDsKICBmb250LXNpemU6MTZweDsKICBjb2xvcjojZmNkYjAwOwp9Cgojc2lkZWJhciBhIHsKICBkaXNwbGF5OmJsb2NrOwogIHBhZGRpbmc6OHB4IDEwcHg7CiAgbWFyZ2luLWJvdHRvbTo0cHg7CiAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7CiAgY29sb3I6I2FhYTsKICBib3JkZXItcmFkaXVzOjZweDsKICB0cmFuc2l0aW9uOmFsbCAwLjI1cyBlYXNlOwp9Cgojc2lkZWJhciBhOmhvdmVyLAojc2lkZWJhciBhLmFjdGl2ZSB7CiAgYmFja2dyb3VuZDpyZ2JhKDI1MiwyMTksMCwwLjE1KTsKICBjb2xvcjojZmNkYjAwOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDZweCk7Cn0KCi8qIENPTlRFTlQgKi8KI2NvbnRlbnQgewogIGZsZXg6MTsKfQoKLyogU0VBUkNIICovCiNzZWFyY2ggewogIHdpZHRoOjEwMCU7CiAgcGFkZGluZzoxMnB4IDE0cHg7CiAgbWFyZ2luLWJvdHRvbToxNXB4OwoKICAvKiBORVcgTE9PSyAqLwogIGJhY2tncm91bmQ6I2U2ZTZlNjsKICBjb2xvcjojMDAwOwoKICBib3JkZXI6MXB4IHNvbGlkICNjY2M7CiAgYm9yZGVyLXJhZGl1czoxMHB4OwoKICBmb250LXNpemU6MTRweDsKICB0cmFuc2l0aW9uOmFsbCAwLjI1cyBlYXNlOwp9CgovKiBwbGFjZWhvbGRlciAqLwojc2VhcmNoOjpwbGFjZWhvbGRlciB7CiAgY29sb3I6IzY2NjsKfQojcmVncy1hcHAgdGFibGUgewogIGNvbG9yOiAjZmZmOwp9CgojcmVncy1hcHAgdGQgewogIGNvbG9yOiAjZmZmOwp9CgojcmVncy1hcHAgdGggewogIGNvbG9yOiAjZmZmOwp9Ci8qIGZvY3VzIHN0YXRlIChwcmVtaXVtIGZlZWwpICovCiNzZWFyY2g6Zm9jdXMgewogIG91dGxpbmU6bm9uZTsKICBib3JkZXItY29sb3I6I2ZjZGIwMDsKICBiYWNrZ3JvdW5kOiNmZmY7CiAgYm94LXNoYWRvdzowIDAgMCAycHggcmdiYSgyNTIsMjE5LDAsMC4yNSk7Cn0KCi8qIEJVVFRPTlMgKi8KYnV0dG9uLmN0cmwgewogIHBhZGRpbmc6OHB4IDEycHg7CiAgYm9yZGVyOm5vbmU7CiAgYm9yZGVyLXJhZGl1czo2cHg7CiAgYmFja2dyb3VuZDojMjIyOwogIGNvbG9yOiNmZmY7CiAgY3Vyc29yOnBvaW50ZXI7CiAgdHJhbnNpdGlvbjowLjJzOwp9CgpidXR0b24uY3RybDpob3ZlciB7CiAgYmFja2dyb3VuZDojZDMwMDAwOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpOwp9CgovKiBBQ0NPUkRJT04gKFRBQlMpICovCi5hY2NvcmRpb24gewogIG1hcmdpbi10b3A6MTJweDsKICBwYWRkaW5nOjE2cHg7CiAgZm9udC1zaXplOjE4cHg7CiAgYm9yZGVyOm5vbmU7CiAgd2lkdGg6MTAwJTsKICB0ZXh0LWFsaWduOmxlZnQ7CiAgY3Vyc29yOnBvaW50ZXI7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgdHJhbnNpdGlvbjphbGwgMC4zcyBlYXNlOwoKICAvKiBORVcgKi8KICBib3JkZXItcmFkaXVzOjEwcHg7CiAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuMDQpOwogIGNvbG9yOiNkZGQ7CiAgYm9yZGVyOjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOwp9CgovKiBJQ09OICovCi5hY2NvcmRpb246OmFmdGVyIHsKICBjb250ZW50OiIrIjsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICByaWdodDoxNXB4OwogIGNvbG9yOiM5OTk7CiAgdHJhbnNpdGlvbjowLjNzOwp9CgovKiBIT1ZFUiAqLwouYWNjb3JkaW9uOmhvdmVyIHsKICBiYWNrZ3JvdW5kOnJnYmEoMjExLDAsMCwwLjE1KTsKICBjb2xvcjojZmZmOwogIGJvcmRlci1jb2xvcjojZDMwMDAwOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xcHgpOwp9CgovKiBBQ1RJVkUgVEFCICovCi5hY2NvcmRpb24uYWN0aXZlIHsKICBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg5MGRlZywjZDMwMDAwLCM4YTAwMDApOwogIGNvbG9yOiNmZmY7CiAgYm9yZGVyLWNvbG9yOiNkMzAwMDA7CiAgYm94LXNoYWRvdzowIDAgMTJweCByZ2JhKDIxMSwwLDAsMC40KTsKfQoKLyogQUNUSVZFIElDT04gKi8KLmFjY29yZGlvbi5hY3RpdmU6OmFmdGVyIHsKICBjb250ZW50OiLiiJIiOwogIGNvbG9yOiNmY2RiMDA7Cn0KCi8qIFBBTkVMICovCi5wYW5lbCB7CiAgaGVpZ2h0OjA7CiAgb3ZlcmZsb3c6aGlkZGVuOwogIHBhZGRpbmc6MCAyMHB4OwogIG1hcmdpbi10b3A6NnB4OwogIHRyYW5zaXRpb246aGVpZ2h0IDAuMzVzIGVhc2UsIHBhZGRpbmcgMC4zcyBlYXNlOwp9Ci5wYW5lbC5vcGVuIHsKICBoZWlnaHQ6YXV0bzsKICBwYWRkaW5nOjIwcHg7Cn0KCi8qIEhFQURJTkdTICovCmgyIHsgY29sb3I6I2ZjZGIwMDsgfQpoMyB7IGNvbG9yOiNkMzAwMDA7IH0KCi8qIFRBQkxFICovCnRhYmxlIHsKICB3aWR0aDoxMDAlOwogIGJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTsKICBtYXJnaW4tdG9wOjEwcHg7Cn0KCnRoIHsKICBiYWNrZ3JvdW5kOiNkMzAwMDA7CiAgY29sb3I6I2ZmZjsKICBwYWRkaW5nOjhweDsKfQoKdGQgewogIGJvcmRlcjoxcHggc29saWQgIzMzMzsKICBwYWRkaW5nOjZweDsKfQoKLyogQkFDSyBUTyBUT1AgKi8KI3RvcEJ0biB7CiAgcG9zaXRpb246Zml4ZWQ7CiAgYm90dG9tOjIwcHg7CiAgcmlnaHQ6MjBweDsKICBiYWNrZ3JvdW5kOiNkMzAwMDA7CiAgY29sb3I6I2ZmZjsKICBib3JkZXI6bm9uZTsKICBwYWRkaW5nOjEycHg7CiAgYm9yZGVyLXJhZGl1czo1MCU7CiAgY3Vyc29yOnBvaW50ZXI7CiAgZGlzcGxheTpub25lOwogIGJveC1zaGFkb3c6MCAwIDEwcHggcmdiYSgwLDAsMCwwLjUpOwp9CgojdG9wQnRuOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiNmY2RiMDA7CiAgY29sb3I6IzAwMDsKfQoucmVncy1mb250IHsKICBmb250LWZhbWlseTogJ1NlZ29lIFVJJywgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBBcmlhbCwgc2Fucy1zZXJpZjsKICBjb2xvcjojZjVmNWY1OwogIGxpbmUtaGVpZ2h0OjEuNTsKfQovKiBGT1JDRSBUSEVNIFRPIEJFIEJMT0NLIEVMRU1FTlRTICovCmIxLCBiMiwgYjMsIHAxLCB1bDEgewogIGRpc3BsYXk6YmxvY2s7CiAgZm9udC1mYW1pbHk6ICdTZWdvZSBVSScsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgQXJpYWwsIHNhbnMtc2VyaWY7Cn0KCi8qIEhFQURJTkdTICovCmIxIHsKICBmb250LXNpemU6MjZweDsKICBmb250LXdlaWdodDo3MDA7CiAgY29sb3I6I2ZjZGIwMDsKICBtYXJnaW4tYm90dG9tOjEwcHg7Cn0KCmIyIHsKICBmb250LXNpemU6MjJweDsKICBmb250LXdlaWdodDo2MDA7CiAgY29sb3I6I2ZjZGIwMDsKICBtYXJnaW46MjBweCAwIDEwcHg7Cn0KCmIzIHsKICBmb250LXNpemU6MTZweDsKICBmb250LXdlaWdodDo2MDA7CiAgY29sb3I6I2QzMDAwMDsKICBtYXJnaW46MTVweCAwIDhweDsKfQoKLyogQk9EWSAqLwpwMSB7CiAgZm9udC1zaXplOjE0cHg7CiAgY29sb3I6I2RkZDsKICBsaW5lLWhlaWdodDoxLjU7CiAgbWFyZ2luLWJvdHRvbToxMHB4Owp9CgovKiBMSVNUICovCnVsMSB7CiAgcGFkZGluZy1sZWZ0OjIwcHg7Cn0KCnVsMSBsaSB7CiAgZm9udC1zaXplOjE0cHg7CiAgY29sb3I6I2RkZDsKICBtYXJnaW4tYm90dG9tOjVweDsKfQovKiBBTklNQVRJT04gKi8KQGtleWZyYW1lcyBmYWRlSW4gewogIGZyb20geyBvcGFjaXR5OjA7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpOyB9CiAgdG8geyBvcGFjaXR5OjE7IHRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOyB9Cn0KCi8qIE1PQklMRSAqLwpAbWVkaWEobWF4LXdpZHRoOjgwMHB4KXsKICAjcmVncy1hcHAgeyBmbGV4LWRpcmVjdGlvbjpjb2x1bW47IH0KfQoKQG1lZGlhIHByaW50IHsKCiAgYm9keSB7CiAgICBiYWNrZ3JvdW5kOiNmZmYgIWltcG9ydGFudDsKICAgIGNvbG9yOiMwMDAgIWltcG9ydGFudDsKICB9CgogICNyZWdzLWFwcCB7CiAgICBkaXNwbGF5OmJsb2NrOwogICAgYmFja2dyb3VuZDojZmZmICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nOjA7CiAgfQoKICAvKiBSRU1PVkUgVUkgKi8KICAjc2lkZWJhciwKICAuY29udHJvbHMsCiAgI3NlYXJjaCwKICAjdG9wQnRuLAogIC5hY2NvcmRpb246OmFmdGVyIHsKICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OwogIH0KCiAgLyogU0hPVyBBTEwgQ09OVEVOVCAqLwogIC5wYW5lbCB7CiAgaGVpZ2h0OjA7CiAgb3ZlcmZsb3c6aGlkZGVuOwogIHBhZGRpbmc6MCAyMHB4OwogIG1hcmdpbi10b3A6NnB4OwogIHRyYW5zaXRpb246aGVpZ2h0IDAuMzVzIGVhc2UsIHBhZGRpbmcgMC4zcyBlYXNlOwp9Ci5wYW5lbC5vcGVuIHsKICBoZWlnaHQ6YXV0bzsKICBwYWRkaW5nOjIwcHg7Cn0KICAvKiBSRU1PVkUgR0xBU1MgRUZGRUNUICovCiAgLmdsYXNzIHsKICAgIGJhY2tncm91bmQ6bm9uZSAhaW1wb3J0YW50OwogICAgYmFja2Ryb3AtZmlsdGVyOm5vbmUgIWltcG9ydGFudDsKICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7CiAgICBib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsKICB9CgogIC8qIENMRUFOIEhFQURJTkdTICovCiAgaDIgewogICAgY29sb3I6IzAwMCAhaW1wb3J0YW50OwogICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgI2QzMDAwMDsKICAgIHBhZGRpbmctYm90dG9tOjVweDsKICB9CgogIGgzIHsKICAgIGNvbG9yOiMwMDAgIWltcG9ydGFudDsKICB9CgogIC8qIFRBQkxFIFBSSU5UIEZJWCAqLwogIHRhYmxlIHsKICAgIHBhZ2UtYnJlYWstaW5zaWRlOmF2b2lkOwogIH0KCiAgdHIgewogICAgcGFnZS1icmVhay1pbnNpZGU6YXZvaWQ7CiAgfQoKICAvKiBQQUdFIEJSRUFLUyBCRVRXRUVOIFNFQ1RJT05TICovCiAgLnBhbmVsIHsKICAgIHBhZ2UtYnJlYWstYmVmb3JlOmFsd2F5czsKICB9Cn0KPC9zdHlsZT4KCjxkaXYgaWQ9InNpZGViYXIiIGNsYXNzPSJnbGFzcyI+CjxzdHJvbmc+Q29udGVudHM8L3N0cm9uZz4KPGEgaHJlZj0iI3NlY3Rpb24tMSI+MS4gR2VuZXJhbDwvYT4KPGEgaHJlZj0iI3NlY3Rpb24tMiI+Mi4gUHJvY2VkdXJlczwvYT4KPGEgaHJlZj0iI3NlY3Rpb24tMyI+My4gUmVndWxhdGlvbnM8L2E+CjxhIGhyZWY9IiNzZWN0aW9uLTQiPjQuIFBlbmFsdGllczwvYT4KPGEgaHJlZj0iI3NlY3Rpb24tNSI+NS4gVGVjaG5pY2FsPC9hPgo8YSBocmVmPSIjc2VjdGlvbi02Ij42LiBBcHBlbmRpY2VzPC9hPgo8YSBocmVmPSIjc2VjdGlvbi03Ij43LiBSZWdpc3RyYXRpb248L2E+CjxhIGhyZWY9IiNzZWN0aW9uLTgiPlJlc3BlY3QgQ29kZTwvYT4KPC9kaXY+Cgo8ZGl2IGlkPSJjb250ZW50IiBjbGFzcz0icmVncy1mb250Ij4KCjxpbnB1dCBpZD0ic2VhcmNoIiBwbGFjZWhvbGRlcj0iU2VhcmNoIHJlZ3VsYXRpb25zLi4uIj4KCjxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KPGJ1dHRvbiBjbGFzcz0iY3RybCIgb25jbGljaz0iZXhwYW5kQWxsKCkiPkV4cGFuZCBBbGw8L2J1dHRvbj4KPGJ1dHRvbiBjbGFzcz0iY3RybCIgb25jbGljaz0iY29sbGFwc2VBbGwoKSI+Q29sbGFwc2UgQWxsPC9idXR0b24+CjxidXR0b24gY2xhc3M9ImN0cmwiIG9uY2xpY2s9IndpbmRvdy5wcmludCgpIj5QcmludDwvYnV0dG9uPgo8L2Rpdj4KCjwhLS0gQUNDT1JESU9OIFNFQ1RJT05TIC0tPgoKPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj4xLiBTcG9ydGluZyBSZWd1bGF0aW9uczwvYnV0dG9uPgo8ZGl2IGNsYXNzPSJwYW5lbCBnbGFzcyIgaWQ9InNlY3Rpb24tMSI+CgoKPGIyIGlkPSIxIj4xLiBTUE9SVElORyBSRUdVTEFUSU9OUyDigJMgR0VORVJBTCBQUk9WSVNJT05TPC9iMj4KCjxiMyBpZD0iMS4xIj4xLjEgVElUTEUgJiBKVVJJU0RJQ1RJT046PC9iMz4KPHAxPgpUaGUgRXF1aXBlIEhpc3RvcmljIEdULCBHVFMgJiBUb3VyaW5nIENhciBDaGFtcGlvbnNoaXAgaXMgb3JnYW5pc2VkIGFuZCBhZG1pbmlzdGVyZWQgYnkgdGhlIApFcXVpcGUgQ2xhc3NpYyBSYWNpbmcgQ2x1YiAo4oCYVGhlIE9yZ2FuaXNlcnPigJkpIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgTW90b3JzcG9ydCBVSyBOYXRpb25hbCAKQ29tcGV0aXRpb24gUnVsZXMgKE5DUikgaW5jb3Jwb3JhdGluZyB0aGUgcHJvdmlzaW9ucyBvZiB0aGUgRklBIEludGVybmF0aW9uYWwgU3BvcnRpbmcgQ29kZSBhbmQgCnRoZXNlIENoYW1waW9uc2hpcCBSZWd1bGF0aW9ucy4KPC9wMT4KCjxwMT4KQ2hhbXBpb25zaGlwIFBlcm1pdCBOby5bVEJDXSBDaGFtcGlvbnNoaXAgR3JhZGU6IFtBXTxicj4KUmFjZSBTdGF0dXM6IFtOYXRpb25hbF0KPC9wMT4KCjxwMT4KVGhpcyBkb2N1bWVudCBkZWZpbmVzIHRoZSBzcGVjaWZpYyBDaGFtcGlvbnNoaXAgcmVndWxhdGlvbnMgYW5kIHN0cnVjdHVyZSBvZiB0aGUgQ2hhbXBpb25zaGlwIApmb3IgYm90aCBmYWlyIGFuZCBzYWZlIGNvbXBldGl0aW9uIGFuZCBhcmUgdG8gYmUgYWRoZXJlZCB0byBieSBhbGwgRW50cmFudHMgYW5kIERyaXZlcnMgYXQgYWxsIAp0aW1lcy4KPC9wMT4KCjxwMT4KVGhlIE9yZ2FuaXNlcnMgcmVzZXJ2ZSB0aGUgcmlnaHQgdG8gYW1lbmQgb3IgY2xhcmlmeSB0aGVzZSBDaGFtcGlvbnNoaXAgUmVndWxhdGlvbnMgYXQgYW55IHRpbWUgCmR1cmluZyB0aGUgc2Vhc29uIGJ5IHdheSBvZiBwdWJsaWNhdGlvbiBvZiBPZmZpY2lhbCBDaGFtcGlvbnNoaXAgQnVsbGV0aW5zIGlzc3VlZCBpbiBhY2NvcmRhbmNlIAp3aXRoIE5DUiBDaC4gMyBBcHAuIDEwIEFydCA0LjIgYW5kIHN1YmplY3QgdG8gcHJpb3IgTW90b3JzcG9ydCBVSyBhcHByb3ZhbC4KPC9wMT4KCjxiMyBpZD0iMS4yIj4xLjIgQ0hBTVBJT05TSElQIE9GRklDSUFMUzo8L2IzPgoKPHAxPjxzdHJvbmc+MS4yLjEgQ2hhbXBpb25zaGlwIENvLW9yZGluYXRvcnM6PC9zdHJvbmc+PGJyPgooYSkgSmFkZSBNYXllciB7amFkZUBlcXVpcGVjbGFzc2ljcmFjaW5nLmNvbX08YnI+ClBldGVyIEJ1cmNoaWxsIFtwZXRlckBlcXVpcGVjbGFzc2ljcmFjaW5nLmNvbV0KPC9wMT4KCjxwMT48c3Ryb25nPjEuMi4yIENoYW1waW9uc2hpcCBFbGlnaWJpbGl0eSBTY3J1dGluZWVyOjwvc3Ryb25nPiBLZXZpbiBNb29yZSBba2V2aW5AZXF1aXBlY2xhc3NpY3JhY2luZy5jb21dPC9wMT4KCjxwMT48c3Ryb25nPjEuMi4zIENoYW1waW9uc2hpcCBDbGVyayBvZiB0aGUgQ291cnNlOjwvc3Ryb25nPiBBbmR5IFN0ZXZlbnM8L3AxPgoKPHAxPjxzdHJvbmc+MS4yLjQgQ2hhbXBpb25zaGlwIFN0ZXdhcmRzOjwvc3Ryb25nPiBTdXBwbGllZCBieSBNU1ZSLCBKb2UgRWFzdCwgTGV3aXMgTWFzb24sIEhhcmxleSBJc3RlZC48L3AxPgoKPHAxPgpOQ1IgNC4xLjEuMi4gVGhlIENoYW1waW9uc2hpcCBTdGV3YXJkcyBjYW4gb25seSBhZGp1ZGljYXRlIG9uIGFueSBkaXNwdXRlcywgaXJyZWd1bGFyaXRpZXMgb3IgCmFwcGVhbHMgYXJpc2luZyBmcm9tIHRoZSBwdWJsaXNoZWQgQ2hhbXBpb25zaGlwIHJlZ3VsYXRpb25zLiBUaGV5IGFyZSBhbHNvIGVtcG93ZXJlZCB0byAKY29uc2lkZXIgYW55IHJlcXVlc3QgZnJvbSB0aGUgQ2hhbXBpb25zaGlwIENvLW9yZGluYXRvciB0byBwZW5hbGlzZSBDb21wZXRpdG9ycyBmb3IgYW55IGJyZWFjaCAKb2YgdGhlc2UgQ2hhbXBpb25zaGlwIFJlZ3VsYXRpb25zIGFuZCBhZnRlciBob2xkaW5nIGEgZm9ybWFsIGhlYXJpbmcgdGhvc2UgU3Rld2FyZHMgbWF5IAppbXBvc2UgYSBwZW5hbHR5IGluIGFjY29yZGFuY2Ugd2l0aCBOQ1IgQ2hhcHRlciAyLCBzdWJqZWN0IHRvIHRoZSByaWdodHMgb2YgQXBwZWFsIHRvIHRoZSAKTmF0aW9uYWwgQ291cnQgdGhlcmUgcHJvdmlkZWQuCjwvcDE+Cgo8YjMgIGlkPSIxLjMiPjEuMyBDT01QRVRJVE9SIEVMSUdJQklMSVRZOjwvYjM+Cgo8cDE+PHN0cm9uZz4xLjMuMSBFbnRyYW50czwvc3Ryb25nPjxicj4KQWxsIEVudHJhbnRzIG11c3QgYmUgLTxicj4KKGEpIFJlZ2lzdGVyZWQgZm9yIHRoZSBDaGFtcGlvbnNoaXAgYW5kPGJyPgooYikgSWYgYSB0ZWFtIGJlIEluIHBvc3Nlc3Npb24gb2YgYSB2YWxpZCBNb3RvcnNwb3J0IFVLIE5hdGlvbmFsIEVudHJhbnRzIExpY2VuY2VzLgo8L3AxPgoKPHAxPjxzdHJvbmc+MS4zLjIgRHJpdmVycyBhbmQgRW50cmFudC9Ecml2ZXJzLjwvc3Ryb25nPjxicj4KQWxsIERyaXZlcnMgYW5kIEVudHJhbnQvRHJpdmVycyBtdXN0IGJlIC08YnI+CihhKSBSZWdpc3RlcmVkIGZvciB0aGUgQ2hhbXBpb25zaGlwIGFuZDxicj4KKGIpIEluIHBvc3Nlc3Npb24gb2YgdmFsaWQgUmFjZSBOYXRpb25hbCBDb21wZXRpdGlvbiBMaWNlbmNlLCBhcyBhIG1pbmltdW08YnI+Ck9yPGJyPgpCZSBpbiBwb3NzZXNzaW9uIG9mIHRoZSBoaWdoZXN0IGdyYWRlIG9mIG5hdGlvbmFsIFJhY2UgbGljZW5jZSBvciB2YWxpZCBGSUEgSW50ZXJuYXRpb25hbCAKTGljZW5jZSwgaW5jbHVkaW5nIGNvbmZpcm1hdGlvbiBvZiBhIHZhbGlkIG1lZGljYWwgY2VydGlmaWNhdGlvbiwgdG9nZXRoZXIgd2l0aCB0aGVpciBBU07igJlzIAp3cml0dGVuIGNvbnNlbnQgKEZJQSBJU0MgQXJ0aWNsZSAyLjMuNyBhcHBsaWVzKS4KPC9wMT4KCjxwMT48c3Ryb25nPjEuMy4yLjE8L3N0cm9uZz48YnI+CkFkZGl0aW9uYWxseSwgaWYgcGFydGljaXBhdGlvbiBpbiB0aGUgQ2hhbXBpb25zaGlwIHJlcXVpcmVzIGFic2VuY2UgZnJvbSBlZHVjYXRpb24sIGEgZHJpdmVyIGluIApmdWxsIHRpbWUgZWR1Y2F0aW9uIGlzIHJlcXVpcmVkIHRvIGhhdmUgdGhlIGFwcHJvdmFsIG9mIHRoZWlyIGhlYWQgdGVhY2hlciBieSB3YXkgb2YgYSBsZXR0ZXIgCnN0YXRpbmcgc3VjaCBhcHByb3ZhbCBpbiBvcmRlciB0byBmdWxmaWwgcmVnaXN0cmF0aW9uIGZvciB0aGUgQ2hhbXBpb25zaGlwLgo8L3AxPgoKPHAxPgpBIGRyaXZlciBzaGFsbCBub3QgdGFrZSB0aW1lIG91dCBvZiB0aGVpciBlZHVjYXRpb24gdG8gcGFydGljaXBhdGUgaW4gbW90b3Igc3BvcnQgd2l0aG91dCB0aGUgcHJpb3IgCndyaXR0ZW4gYXBwcm92YWwgb2YgdGhlaXIgZWR1Y2F0aW9uIGVzdGFibGlzaG1lbnQuCjwvcDE+Cgo8cDE+PHN0cm9uZz4xLjMuMzwvc3Ryb25nPjxicj4KQWxsIGNvbXBldGl0b3JzIG11c3Qgc2lnbi1vbiBhdCBFdmVudHMgdGhhdCB0aGV5IGNvbXBldGUgaW4gYW5kIGFsbCBuZWNlc3NhcnkgZG9jdW1lbnRhdGlvbiBtdXN0IApiZSBhdmFpbGFibGUgdG8gYmUgcHJlc2VudGVkIGZvciBjaGVja2luZyBhdCBhbGwgdGltZXMgdXBvbiB0aGUgZGVtYW5kIG9mIHRoZSBPZmZpY2lhbHMuCjwvcDE+Cgo8cDE+PHN0cm9uZz4xLjMuNCBHdWVzdCBDb21wZXRpdG9yczwvc3Ryb25nPjxicj4KQ29tcGV0aXRvcnMgbm90IHJlZ2lzdGVyZWQgZm9yIHRoZSBDaGFtcGlvbnNoaXAgbWF5IGJlIHBlcm1pdHRlZCBvbiBhbiBpbmRpdmlkdWFsIHJvdW5kIGJhc2lzIGFuZCB3aWxsOgo8L3AxPgoKPHVsMT4KPGxpPihhKSBiZSBkZWVtZWQg4oCcR3Vlc3QgQ29tcGV0aXRvcnPigJ08L2xpPgo8bGk+KGIpIG5vdCBzY29yZSBwb2ludHMgYW5kIHdpbGwgYmUgaWdub3JlZCBmb3IgdGhlIHB1cnBvc2Ugb2YgcG9pbnRzIHNjb3Jpbmc8L2xpPgo8bGk+KGMpIHF1YWxpZnkgZm9yIEV2ZW50IGF3YXJkczwvbGk+CjxsaT4oZCkgY29tcGx5IHdpdGggdGhlIGVsaWdpYmlsaXR5IGNyaXRlcmlhIGFzIHByZXNjcmliZWQgaW4gQXJ0aWNsZSAxLjMuIGFib3ZlPC9saT4KPC91bDE+Cgo8YjMgaWQ9IjEuNCI+MS40IFJFR0lTVFJBVElPTjo8L2IzPgoKPHAxPjxzdHJvbmc+MS40LjE8L3N0cm9uZz48YnI+CkFsbCBjb21wZXRpdG9ycyBtdXN0IHJlZ2lzdGVyIGZvciB0aGUgY2hhbXBpb25zaGlwIGJ5IGNvbXBsZXRpbmcgdGhlIG9ubGluZSBSZWdpc3RyYXRpb24gRm9ybSBhbmQgCnN1Ym1pdHRpbmcgaXQgdG9nZXRoZXIgd2l0aCB0aGUgUmVnaXN0cmF0aW9uIEZlZSBhbmQgY29uZmlybWF0aW9uIG9mIGRyaXZlciBsaW5lLXVwIHRvIHRoZSAKQ2hhbXBpb25zaGlwIENvLW9yZGluYXRvciBieSAyOC8wMy8yMDI2Lgo8L3AxPgoKPHAxPjxzdHJvbmc+MS40LjI8L3N0cm9uZz48YnI+ClRoZSBDaGFtcGlvbnNoaXAgUmVnaXN0cmF0aW9uIGZvcm0gaXMgYXZhaWxhYmxlIGZyb20gd3d3LmVxdWlwZWhpc3RvcmljY2hhbXBpb25zaGlwLmNvbQo8L3AxPgoKPHAxPjxzdHJvbmc+MS40LjM8L3N0cm9uZz48YnI+CkNoYW1waW9uc2hpcCBSZWdpc3RyYXRpb25zIGNhbiBiZSBzdWJtaXR0ZWQgZnJvbSAxIE5vdmVtYmVyIDIwMjUuCjwvcDE+Cgo8cDE+PHN0cm9uZz4xLjQuNDwvc3Ryb25nPjxicj4KVGhlIHNlYXNvbiByZWdpc3RyYXRpb24gZmVlIGluY2x1ZGVzIG1hbmRhdG9yeSBlbnRyeSBpbiBhbGwgdGhlIENvbXBldGl0aW9ucyBpbiB0aGUgRXF1aXBlIEhpc3RvcmljIENoYW1waW9uc2hpcC4KPC9wMT4KCjxwMT48c3Ryb25nPjEuNC41PC9zdHJvbmc+PGJyPgpBIHNlY29uZCBkcml2ZXIgZmVlIHdpbGwgYmUgYXBwbGljYWJsZSBmb3IgdGhlIGZ1bGwgc2Vhc29uLgo8L3AxPgoKPHAxPjxzdHJvbmc+MS40LjY8L3N0cm9uZz48YnI+CkEgbWF4aW11bSBvZiAzNCBmdWxsIHNlYXNvbiByZWdpc3RyYXRpb25zIHdpbGwgYmUgYWNjZXB0ZWQuSW4gdGhlIGV2ZW50IHRoYXQgYWRkaXRpb25hbCAKcmVnaXN0cmF0aW9ucyBhcmUgcmVjZWl2ZWQsIHRoZXNlIHB1cnBvcnRlZCByZWdpc3RyYXRpb25zIHdpbGwgYmUgYWRkZWQgdG8gYSByZXNlcnZlIGxpc3QgYnkgd2F5IG9mIGEgCnNlbGVjdGlvbiBwcm9jZXNzLgo8L3AxPgoKPHAxPjxzdHJvbmc+MS40Ljc8L3N0cm9uZz48YnI+ClJlZ2lzdHJhdGlvbiBudW1iZXJzIHdpbGwgYmUgdGhlIHBlcm1hbmVudCBDb21wZXRpdGlvbiBudW1iZXJzIGZvciB0aGUgQ2hhbXBpb25zaGlwIHNlYXNvbiAKYW5kIGlzc3VlZCBieSB0aGUgT3JnYW5pc2VycyBvbiBhIGZpcnN0LWNvbWUsIGZpcnN0LXNlcnZlIGJhc2lzLiAgCjwvcDE+Cgo8cDE+PHN0cm9uZz4xLjQuOCBEcml2ZXIgQXBwcm92YWw8L3N0cm9uZz48YnI+CkFsbCBkcml2ZXIgbGluZSB1cHMgZm9yIHRoZSBzZWFzb24gdG8gYmUgbm9taW5hdGVkIGJ5IDI4LzMvMjAyNiBkZXRlcm1pbmluZyBzaW5nbGUgb3IgdHdvIGRyaXZlciAKdGVhbXMgLiAKPC9wMT4KCjxwMT48c3Ryb25nPjEuNC45IERyaXZlciBsaW5lLXVwcyAocGVyIENhcik8L3N0cm9uZz48YnI+CkFsbCBkcml2ZXIgbGluZSB1cHMgZm9yIHRoZSBzZWFzb24gdG8gYmUgbm9taW5hdGVkIGJ5IDI4LzMvMjAyNi4KPC9wMT4KCjxwMT48c3Ryb25nPjEuNC4xMDwvc3Ryb25nPjxicj4KVGhlIGNvbXBvc2l0aW9uIG9mIGEgVGVhbSBtdXN0IGJlIHNlbnQgdG8gdGhlIFByb21vdGVyIGF0IGxlYXN0IDE0IGRheXMgYmVmb3JlIHRoZSBzdGFydCBvZiBlYWNoIApFdmVudC4gIEFueSBtb2RpZmljYXRpb24gdG8gYSBjcmV3IGlzIHByb2hpYml0ZWQgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgYWRtaW5pc3RyYXRpdmUgY2hlY2tzIGV4Y2VwdCAKaW4gdGhlIGNhc2Ugb2YgZm9yY2UgbWFqZXVyZSBhY2tub3dsZWRnZWQgYnkgdGhlIE9yZ2FuaXNlciBhbmQvb3IgQ2xlcmsgb2YgdGhlIENvdXJzZS4gIFJlcXVlc3RzIAp0byBjaGFuZ2UgZHJpdmVyIGxpbmUtdXAgbXVzdCBiZSBzdWJtaXR0ZWQgdG8gdGhlIENoYW1waW9uc2hpcCBDb29yZGluYXRvciBhdCBsZWFzdCBzZXZlbiAoNykgZGF5cyAKcHJpb3IgdG8gdGhlIHN0YXJ0IG9mIHRoZSBFdmVudCBjb25jZXJuZWQuICAKVGhlIGRlY2lzaW9uIG9uIHRoZSBhY2NlcHRhYmlsaXR5IG9mIGFueSBjaGFuZ2VzIHdpbGwgYmUgbWFkZSBieSB0aGUgQ2hhbXBpb25zaGlwIApPcmdhbmlzZXJzIHdobyBtYXkgZGVjaWRlCjwvcDE+Cgo8dWwxPgo8bGk+KGEpIG5vdCB0byBhY2NlcHQgYW55IGxpa2UtZm9yLWxpa2UgY2hhbmdlczwvbGk+CjxsaT4oYikgbm90IHRvIGFjY2VwdCBhbnkgZHJpdmVyIG5ldyB0byB0aGUgQ2hhbXBpb25zaGlwPC9saT4KPGxpPihjKSBhbGxvdyBjaGFuZ2VzIGFzIOKAnGd1ZXN04oCdIGVudHJpZXM8L2xpPgo8bGk+KGQpIGltcG9zZSBwZW5hbHRpZXM8L2xpPgo8L3VsMT4KCjxwMT48c3Ryb25nPjEuNC4xMTwvc3Ryb25nPjxicj4KRHVyaW5nIHRoZSBmaW5hbCByb3VuZCBvZiB0aGUgQ2hhbXBpb25zaGlwLCBjaGFuZ2VzIHRvIGRyaXZlciBsaW5lLXVwcyB3aWxsIG5vdCBiZSBwZXJtaXR0ZWQgZXhjZXB0IAppbiBjYXNlcyBvZiBmb3JjZSBtYWpldXJlIGFzIHJlY29nbmlzZWQgYnkgdGhlIENoYW1waW9uc2hpcCBPcmdhbmlzZXJzLiAgCjwvcDE+Cgo8YjMgIGlkPSIxLjUiPjEuNSBDSEFNUElPTlNISVAgRVZFTlRTOjwvYjM+Cgo8dGFibGU+Cjx0cj48dGg+Um91bmQ8L3RoPjx0aD5EYXRlPC90aD48dGg+Q2lyY3VpdDwvdGg+PHRoPk9yZ2FuaXNpbmcgQ2x1YjwvdGg+PC90cj4KPHRyPjx0ZD4xPC90ZD48dGQ+MDQvMDQvMjAyNjwvdGQ+PHRkPlNpbHZlcnN0b25lIEludGVybmF0aW9uYWw8L3RkPjx0ZD5FcXVpcGUgQ2xhc3NpYyBSYWNpbmc8L3RkPjwvdHI+Cjx0cj48dGQ+MjwvdGQ+PHRkPjE4LzA0LzIwMjY8L3RkPjx0ZD5PdWx0b24gUGFyayBJbnRlcm5hdGlvbmFsPC90ZD48dGQ+RXF1aXBlIENsYXNzaWMgUmFjaW5nPC90ZD48L3RyPgo8dHI+PHRkPjM8L3RkPjx0ZD4wMi8wNS8yMDI2PC90ZD48dGQ+U2lsdmVyc3RvbmUgR3JhbmQgUHJpeDwvdGQ+PHRkPkVxdWlwZSBDbGFzc2ljIFJhY2luZzwvdGQ+PC90cj4KPHRyPjx0ZD40PC90ZD48dGQ+MDYvMDYvMjAyNjwvdGQ+PHRkPlNuZXR0ZXJ0b24gMzAwPC90ZD48dGQ+RXF1aXBlIENsYXNzaWMgUmFjaW5nPC90ZD48L3RyPgo8dHI+PHRkPjU8L3RkPjx0ZD4wNC8wNy8yMDI2PC90ZD48dGQ+RG9uaW5ndG9uIFBhcmsgTmF0aW9uYWw8L3RkPjx0ZD5FcXVpcGUgQ2xhc3NpYyBSYWNpbmc8L3RkPjwvdHI+Cjx0cj48dGQ+NjwvdGQ+PHRkPjA1LzA5LzIwMjY8L3RkPjx0ZD5CcmFuZHMgSGF0Y2ggSW5keTwvdGQ+PHRkPkVxdWlwZSBDbGFzc2ljIFJhY2luZzwvdGQ+PC90cj4KPHRyPjx0ZD43PC90ZD48dGQ+MTkvMDkvMjAyNjwvdGQ+PHRkPkJyYW5kcyBIYXRjaCBHcmFuZCBQcml4PC90ZD48dGQ+RXF1aXBlIENsYXNzaWMgUmFjaW5nPC90ZD48L3RyPgo8L3RhYmxlPgoKPHAxPjxzdHJvbmc+MS41LjE8L3N0cm9uZz48YnI+CkFsdGVybmF0aXZlIENoYW1waW9uc2hpcCBSb3VuZHMgbWF5IGJlIG9yZ2FuaXNlZCBpbiBhY2NvcmRhbmNlIHdpdGggTkNSIENoLjEyIEFwcC4yIEFydC40LiAKPC9wMT4KPGIzICBpZD0iMS42Ij5TQ09SSU5HPC9iMz4KPHAxPjxzdHJvbmc+MS42LjE8L3N0cm9uZz48YnI+ClBvaW50cyB3aWxsIGJlIGF3YXJkZWQgdG8gQ29tcGV0aXRvcnMgbGlzdGVkIGFzIGNsYXNzaWZpZWQgZmluaXNoZXJzIGluIHRoZSBGaW5hbCBSZXN1bHRzIGFzIGZvbGxvd3M6LSAKPC9wMT4KCjxiMz5PdmVyYWxsIENsYXNzIHBvc2l0aW9uPC9iMz4KCjxwMT4KRnVsbCBwb2ludHMgd2lsbCBiZSBnaXZlbiB3aGVuIHRoZXJlIGFyZSB0aHJlZSBvciBtb3JlIENvbXBldGl0b3JzIGluIGEgY2xhc3MuIGFjY29yZGluZyB0byB0aGUgCmZvbGxvd2luZyBzY2FsZToKPC9wMT4KCjx1bDE+CjxsaT4xc3Q6IDIwIHBvaW50czwvbGk+CjxsaT4ybmQ6IDE3IHBvaW50czwvbGk+CjxsaT4zcmQ6IDE1IHBvaW50czwvbGk+CjxsaT40dGg6IDEzIHBvaW50czwvbGk+CjxsaT41dGg6IDExIHBvaW50czwvbGk+CjxsaT42dGg6IDEwIHBvaW50czwvbGk+CjxsaT43dGg6IDkgcG9pbnRzPC9saT4KPC91bDE+Cgo8cDE+Ck5vdGU7IHBvaW50cyBhcmUgZ2l2ZW4gZm9yIGNsYXNzIHBvc2l0aW9ucyBvbmx5IGFuZCBub3Qgb3ZlcmFsbCBmaW5pc2hpbmcgcG9zaXRpb24KPC9wMT4KCjxwMT4KU2hvdWxkIHRoZXJlIGJlIGxlc3MgdGhhbiAzIGNhcnMgaW4gYSBjbGFzcyB0aGUgZm9sbG93aW5nIHNjYWxlIHdpbGwgYmUgYXBwbGllZDoKPC9wMT4KCjx1bDE+CjxsaT4xc3Q6IDEwIHBvaW50czwvbGk+CjxsaT4ybmQ6IDcgcG9pbnRzPC9saT4KPC91bDE+CjxwMT48c3Ryb25nPjEuNi4yPC9zdHJvbmc+PGJyPgpUaGUgdG90YWxzIGZyb20gYWxsIHF1YWxpZnlpbmcgRXZlbnRzIHJ1biBsZXNzIG9uZSB3aWxsIGRldGVybWluZSBmaW5hbCBjaGFtcGlvbnNoaXAgcG9pbnRzIGFuZCAKcG9zaXRpb25zLiAgVGhlIGxvd2VzdCBwb2ludCBzY29yaW5nIHJvdW5kIHdpbGwgYmUgZHJvcHBlZC4gIE9ubHkgRHJpdmVycyBlbnRlcmVkIGludG8gdGhlIGZ1bGwgCmNoYW1waW9uc2hpcCBzZWFzb24gd2lsbCBzY29yZSBwb2ludHMgdG93YXJkcyB0aGUgb3ZlcmFsbCBDaGFtcGlvbnNoaXAgdGl0bGUKPC9wMT4KPHAxPjxzdHJvbmc+MS42LjM8L3N0cm9uZz48YnI+CldoZXJlIHRoZSByYWNlIGRpc3RhbmNlIGhhcyBiZWVuIHJlZHVjZWQgKDIuNi4pIGl0IHNoYWxsIHN0aWxsIGNvdW50IGFzIGEgZnVsbCBwb2ludHMgc2NvcmluZyByb3VuZCAKdW5sZXNzIHRoZXNlIENoYW1waW9uc2hpcCByZWd1bGF0aW9ucyBzZXQgb3V0IGEgZGlmZmVyZW50IGNyaXRlcmlhLgo8L3AxPgoKPHAxPjxzdHJvbmc+MS42LjQ8L3N0cm9uZz48YnI+ClNob3VsZCB0aGVyZSBiZSBhbiBlbmQgb2Ygc2Vhc29uIHRpZSwgdGhlIGhpZ2hlciBwbGFjZSB3aWxsIGJlIGF3YXJkZWQgdG8gLSAKPC9wMT4KPHVsMT4KPGxpPlRoZSBob2xkZXIgb2YgdGhlIGdyZWF0ZXN0IG51bWJlciBvZiBmaXJzdCBwbGFjZXMgYmFzZWQgb24gdGhlIGZpbmFsIGNsYXNzaWZpY2F0aW9uIG9mIHRoZSAKcmFjZXMgd2hpY2ggaGF2ZSB0YWtlbiBwbGFjZS48L2xpPgo8bGk+SWYgdGhlIG51bWJlciBvZiBmaXJzdCBwbGFjZXMgaXMgdGhlIHNhbWUsIHRoZSBob2xkZXIgb2YgdGhlIGdyZWF0ZXN0IG51bWJlciBvZiBzZWNvbmQgCnBsYWNlcyBiYXNlZCBvbiB0aGUgZmluYWwgY2xhc3NpZmljYXRpb24gb2YgdGhlIHJhY2VzIHdoaWNoIGhhdmUgdGFrZW4gcGxhY2UuIDwvbGk+CjxsaT5JZiB0aGUgbnVtYmVyIG9mIHNlY29uZCBwbGFjZXMgaXMgdGhlIHNhbWUsIHRoZSBob2xkZXIgb2YgdGhlIGdyZWF0ZXN0IG51bWJlciBvZiB0aGlyZCAKcGxhY2VzIGJhc2VkIG9uIHRoZSBmaW5hbCBjbGFzc2lmaWNhdGlvbiBvZiB0aGUgcmFjZXMgd2hpY2ggaGF2ZSB0YWtlbiBwbGFjZSwgYW5kIHNvIG9uIAp0aHJvdWdoIHRoZSBwb2ludC1zY29yaW5nIHBvc2l0aW9ucyB1bnRpbCBhIHdpbm5lciBlbWVyZ2VzLiA8L2xpPgo8bGk+SWYgdGhlIGFib3ZlLW1lbnRpb25lZCBwcm9jZWR1cmUgZmFpbHMgdG8gc2VwYXJhdGUgdHdvIG9yIG1vcmUgRHJpdmVycywgdGhlbiB3aG9ldmVyIApmaW5pc2hlcyBhaGVhZCBpbiB0aGUgZmluYWwgcmFjZSBvZiB0aGUgc2Vhc29uIHdpbGwgYmUgZGVlbWVkIHRvIGhhdmUgZmluaXNoZWQgYWhlYWQgb2YgCnRoZSBvdGhlcihzKSBpbiB0aGUgQ2hhbXBpb25zaGlwLiA8L2xpPgo8bGk+U3BlY2lhbCBjYXNlOiBEcml2ZXJzIG9mIHRoZSBzYW1lIGNhciB3aG8gaGF2ZSBmb3JtZWQgdGhlIHNhbWUgY3JldyBkdXJpbmcgYWxsIApDb21wZXRpdGlvbnMgaW4gdGhlIENoYW1waW9uc2hpcCBpbiB3aGljaCB0aGV5IGhhdmUgc2NvcmVkIHBvaW50cyBhbmQgd2hvIGZpbmlzaCAKd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgcG9pbnRzIHdpbGwgc2hhcmUgdGhlIHNhbWUgcGxhY2UgaW4gdGhlIENoYW1waW9uc2hpcC4gPC9saT4KPC91bDE+CjxwMT48c3Ryb25nPjEuNi41PC9zdHJvbmc+PGJyPgpJZiBhIHJhY2UgaXMgc3VzcGVuZGVkIGFuZCBub3QgcmVzdW1lZCwgcG9pbnRzIHdpbGwgYmUgYXdhcmRlZCBlcXVhbGx5IHRvIGFsbCBEcml2ZXJzIHNoYXJpbmcgb25lIApjYXIuIAo8L3AxPgo8dWxpPgogICAgPGxpPk5vIHBvaW50cyB3aWxsIGJlIGF3YXJkZWQgdG8gdGhlIENvbXBldGl0b3JzIG9yIERyaXZlciBjcmV3cyBpZiB0aGUgbGVhZGVyIGhhcyBjb21wbGV0ZWQgbGVzcyB0aGFuIAp0d28gbGFwcy4gPC9saT4KPGxpPkhhbGYgcG9pbnRzIHdpbGwgYmUgYXdhcmRlZCBpZiB0aGUgbGVhZGVyIGhhcyBjb21wbGV0ZWQgdHdvIG9yIG1vcmUgbGFwcywgYnV0IGxlc3MgdGhhbiA3NSUgb2YgdGhlIApvcmlnaW5hbCByYWNlIHRpbWUsIGFuZCBhcyBsb25nIGFzIHRoZSByZXN1bHRzIGluY2x1ZGUgYXQgbGVhc3Qgb25lIGxhcCB3aGljaCB0b29rIHBsYWNlIG91dHNpZGUgU2FmZXR5IApDYXIgb3IgRnVsbCBDb3Vyc2UgWWVsbG93IGNvbmRpdGlvbnMuIDwvbGk+CjxsaT5GdWxsIHBvaW50cyB3aWxsIGJlIGF3YXJkZWQgaWYgdGhlIGxlYWRlciBoYXMgY29tcGxldGVkIG1vcmUgdGhhbiA3NSUgb2YgdGhlIG9yaWdpbmFsIHJhY2UgdGltZSBhbmQgCmFzIGxvbmcgYXMgdGhlIHJlc3VsdHMgaW5jbHVkZSBhdCBsZWFzdCBvbmUgbGFwIHdoaWNoIHRvb2sgcGxhY2Ugb3V0c2lkZSBTYWZldHkgQ2FyIG9yIEZ1bGwgQ291cnNlIApZZWxsb3cgY29uZGl0aW9ucy4gQWxsIHBvaW50cyB3aWxsIGJlIHJvdW5kZWQgdXAgdG8gdGhlIG5lYXJlc3QgaGFsZiBvciB3aG9sZSBwb2ludCBzaG91bGQgYW5kIGhhbGYgCnBvaW50cyBiZSBhd2FyZGVkIGR1ZSB0byBhIHJhY2UgYmVpbmcgZmluaXNoZWQgZWFybHkgYXMgcGVyIHRoZSBhYm92ZS4gClRoZSBhYm92ZS1tZW50aW9uZWQgY29uZGl0aW9ucyB3aWxsIGJlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgbGFwcyBhcyBzaG93biBvbiB0aGUgcHVibGlzaGVkIApyZXN1bHRzIGFzIHRoZSBiYXNpcyBmb3IgdGhlIGZpbmFsIGNsYXNzaWZpY2F0aW9uLiA8L2xpPgo8L3VsaT4KPHAxPjxzdHJvbmc+MS42LjY8L3N0cm9uZz48YnI+ClJlZmVyIHRvIDEuMy40IHJlZ2FyZGluZyBndWVzdCBjb21wZXRpdG9ycy4gCjwvcDE+CjxwMT48c3Ryb25nPjEuNi43PC9zdHJvbmc+PGJyPgpJbiB0aGUgZXZlbnQgb2YgYSBkZWFkIGhlYXQsIHByaXplcyBhbmQgcG9pbnRzIGF3YXJkZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSAKY2xhc3NpZmljYXRpb24gb2YgZWFjaCBDb21wZXRpdGlvbiB0byBDb21wZXRpdG9ycyB3aG8gdGllIHdpbGwgYmUgYWRkZWQgdG9nZXRoZXIgYW5kIApzaGFyZWQgZXF1YWxseS4gCjwvcDE+CjxwMT48c3Ryb25nPjEuNi44PC9zdHJvbmc+PGJyPlBvaW50IGNsYXNzaWZpY2F0aW9ucyB3aWxsIGJlIHB1Ymxpc2hlZCBvbiB0aGUgY2hhbXBpb25zaGlwIHdlYnNpdGUgYnkgQ09QIG9uIHRoZSBNb25kYXkgCmFmdGVyIGVhY2ggZXZlbnQuIDwvcDE+Cgo8cDE+PHN0cm9uZz4xLjYuOTwvc3Ryb25nPjxicj5BcHBlYWxzIGFnYWluc3QgYWxsb2NhdGlvbiBvZiBDaGFtcGlvbnNoaXAgUG9pbnRzIG11c3QgYmUgc3VibWl0dGVkIGluIGFjY29yZGFuY2Ugd2l0aCBOQ1IgCkNoLjIgQXBwLiA1LiAgPC9wMT4KCgo8YjMgIGlkPSIxLjciPjEuNyBBV0FSRFM6PC9iMz4KCjxwMT48c3Ryb25nPjEuNy4xPC9zdHJvbmc+PGJyPkFsbCBhd2FyZHMgYXJlIHRvIGJlIHByb3ZpZGVkIGJ5IHRoZSBPcmdhbmlzaW5nIENsdWIuIDwvcDE+CjxwMT48c3Ryb25nPjEuNy4yPC9zdHJvbmc+PGJyPkV2ZW50IEF3YXJkczogVHJvcGhpZXMgd2lsbCBiZSBhd2FyZGVkIGF0IGVhY2ggcm91bmQgdG8gdGhlIDFzdCwgMm5kIGFuZCAzcmQgcGxhY2VkIApDb21wZXRpdG9ycyBpbiBlYWNoIGNsYXNzLCBiYXNlZCBvbiBhIDMtNSBydWxlICgzIGluIGNsYXNzIG9ubHkgMXN0IApwbGFjZSB3aWxsIGJlIGF3YXJkZWQ7IDUgaW4gY2xhc3MgMXN0LTNyZCB3aWxsIGJlIGF3YXJkZWQpIDwvcDE+CjxwMT48c3Ryb25nPjEuNy4zPC9zdHJvbmc+PGJyPkNoYW1waW9uc2hpcCBBd2FyZHM6IFRyb3BoaWVzIHdpbGwgYmUgYXdhcmRlZCB0byAxc3QsIDJuZCBhbmQgM3JkIHBsYWNlZCBkcml2ZXJzIHdobyBoYXZlIAphbWFzc2VkIHRoZSBtb3N0IHBvaW50cyBmcm9tIHRoZSA2IGNvdW50aW5nIHJvdW5kcy4gICAKSW4gb3JkZXIgdG8gYmUgYXdhcmRlZCBhIENoYW1waW9uc2hpcCB0cm9waHksIGFueSBkcml2ZXJzIGFuZC9vciAKZHJpdmVyIHBhaXJpbmdzIG11c3QgaGF2ZSBjb21wZXRlZCBpbiBhdCBsZWFzdCA0IHJhY2VzIGR1cmluZyB0aGUgCnNlYXNvbi4gT3ZlcmFsbCBjaGFtcGlvbnNoaXAgd2lubmVycyB3aWxsIHJlY2VpdmUgYW4gb3ZlcmFsbCB0cm9waHkgCm9ubHkgKGkuZS4gbm90IGEgY2xhc3MgdHJvcGh5IGluIGFkZGl0aW9uKS4gPC9wMT4KPHAxPjxzdHJvbmc+MS43LjQ8L3N0cm9uZz48L3AxPiBQcmVzZW50YXRpb25zOiogQXdhcmRzIHdpbGwgYmUgcHJlc2VudGVkIGF0IHRoZSBlbmQgb2YgZWFjaCBldmVudCwgYW5kL29yIGF0IHRoZSBlbmQgCm9mIHRoZSBDaGFtcGlvbnNoaXAgYXQgdGhlIGRlc2lnbmF0ZWQgcHJlc2VudGF0aW9uIGNlcmVtb255LiBUaGUgCnRvcCB0aHJlZSBwbGFjZWQgY29tcGV0aXRvcnMgbXVzdCBhdHRlbmQgdGhlIGVuZCBvZiBzZWFzb24gYXdhcmRzLiAgClNob3VsZCB0aGV5IGZhaWwgdG8gYXR0ZW5kLCB0aGVpciBhd2FyZCB3aWxsIGJlIGZvcmZlaXQuICAKU2hvdWxkIGEgY2xhc3MgaGF2ZSBsZXNzIHRoYW4gdGhyZWUgKDMpIHJlZ3VsYXIgZW50cmllcywgb25seSB0aGUgY2xhc3MgCndpbm5lciBtdXN0IGF0dGVuZCB0aGUgZW5kIG9mIHNlYXNvbiBhd2FyZHMuICA8L3AxPgo8cDE+PHN0cm9uZz4xLjcuNTwvc3Ryb25nPjxicj5BZGRpdGlvbmFsIHByaXplcyBhbmQgdHJvcGhpZXMgbWF5IGJlIGF3YXJkZWQgYXQgdGhlIE9yZ2FuaXNlcnMgZGlzY3JldGlvbi4gICA8L3AxPgo8cDE+PHN0cm9uZz4xLjcuNjwvc3Ryb25nPjxicj5UaXRsZSB0byBhbGwgVHJvcGhpZXM6IApJZiBQcm92aXNpb25hbCBSZXN1bHRzIG9yIENoYW1waW9uc2hpcCBUYWJsZXMgYXJlIHJldmlzZWQgYWZ0ZXIgdGhlIHByZXNlbnRhdGlvbiBvZiBhbnkgYXdhcmRzIGFuZCAKc3VjaCByZXZpc2lvbnMgYWZmZWN0IHRoZSBlbnRpdGxlbWVudCB0byB0aG9zZSBhd2FyZHMsIHRoZSBDb21wZXRpdG9yKHMpIGNvbmNlcm5lZCBtdXN0IHJldHVybiAKdGhlbSB0byB0aGUgT3JnYW5pc2VycyBpbiBnb29kIGNvbmRpdGlvbiB3aXRoaW4gNyBkYXlzIG9mIHRoZW0gYmVpbmcgcmVxdWVzdGVkIHRvIGFsbG93IHRoZW0gdG8gCmJlIHJlYWxsb2NhdGVkLiAgIDwvcDE+CgoKPC9kaXY+CjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+Mi4gUmFjZSBQcm9jZWR1cmVzPC9idXR0b24+CjxkaXYgY2xhc3M9InBhbmVsIGdsYXNzIiBpZD0ic2VjdGlvbi0yIj4KCgo8YjIgICBpZD0iMiI+Mi4gQ0hBTVBJT05TSElQIEVWRU5UUyAmIFJBQ0UgUFJPQ0VEVVJFUzwvYjI+Cgo8cDE+CkV2ZW50cyB3aWxsIGNvbnNpc3Qgb2Yg4oCTCjwvcDE+Cjx1bDE+CjxsaT4xIHggMzAgbWludXRlIFF1YWxpZnlpbmcgc2Vzc2lvbjwvbGk+CjxsaT4xIHggcmFjZSB3aXRoIGEgbWF4aW11bSBkdXJhdGlvbiBvZiA2MCBtaW5zPC9saT4KPC91bDE+Cgo8cDE+CkR1cmluZyBFdmVudHMsIENvbXBldGl0b3JzIHdpbGwgbmVlZCB0byBtb25pdG9yIHRoZSBkaWdpdGFsIG5vdGljZSBib2FyZCB3aGljaCB3aWxsIGJlIAp1c2VkIGZvciB0aGUgcHVibGlzaGluZyBvZiBhbGwgYnVsbGV0aW5zLCBjbGFzc2lmaWNhdGlvbnMsIHN0YXJ0aW5nIGdyaWRzIGFuZCBkZWNpc2lvbnMgb2YgT2ZmaWNpYWxzLgo8L3AxPgoKPGIyIGlkPSIyLjEiPjIuMSBFTlRSSUVTOjwvYjI+Cgo8cDE+PHN0cm9uZz4yLjEuMTwvc3Ryb25nPjxicj4KQ29tcGV0aXRvcnMgYXJlIHJlc3BvbnNpYmxlIGZvciBzZW5kaW5nIGluIGNvcnJlY3QgYW5kIGNvbXBsZXRlIGVudHJpZXMgd2l0aCB0aGUgY29ycmVjdCBlbnRyeSBmZWUgCnByaW9yIHRvIHRoZSBjbG9zaW5nIGRhdGUgZm9yIGVudHJpZXMgYmVmb3JlIGVhY2ggZXZlbnQuCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjEuMjwvc3Ryb25nPjxicj4KSW5jb3JyZWN0IG9yIGluY29tcGxldGUgZW50cmllcyAoaW5jbHVkaW5nIERyaXZlciB0byBiZSBOb21pbmF0ZWQgRW50cmllcykgYXJlIHRvIGJlIGhlbGQgaW4gYWJleWFuY2UgCnVudGlsIHRoZXkgYXJlIGNvbXBsZXRlIGFuZCBjb3JyZWN0IGFuZCB0aGUgZGF0ZSBvZiByZWNlaXB0IGZvciBhY2NlcHRhbmNlIG9mIGVudHJ5IHB1cnBvc2VzIHNoYWxsIApiZSB0aGUgZGF0ZSBvbiB3aGljaCB0aGUgRXZlbnQgT3JnYW5pc2VyIHJlY2VpdmVzIHRoZSBtaXNzaW5nIG9yIGNvcnJlY3RlZCBpbmZvcm1hdGlvbiBvciBmZWUuCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjEuMzwvc3Ryb25nPjxicj4KQW55IHdpdGhkcmF3YWwgb2YgRW50cnkgb3IgRHJpdmVyL0NhciBjaGFuZ2VzIG1hZGUgYWZ0ZXIgYWNjZXB0YW5jZSBvZiBhbnkgZW50cnkgbXVzdCBiZSBub3RpZmllZCAKdG8gdGhlIEV2ZW50IE9yZ2FuaXNlcnMgaW4gd3JpdGluZy4gTkNSIENoLiAzIEFwcC4gMTEgQXJ0LiAxLjFsIGFwcGxpZXMuCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjEuNDwvc3Ryb25nPjxicj4KRW50cmllcyBhcmUgbm90IHRyYW5zZmVyYWJsZSBvciByZWZ1bmRhYmxlLgo8L3AxPgoKPHAxPjxzdHJvbmc+Mi4xLjU8L3N0cm9uZz48YnI+ClRoZSBkZWFkbGluZSBmb3IgZW50cmllcyBpcyA3IGRheXMgYmVmb3JlIHRoZSBzdGFydCBvZiB0aGUgRXZlbnQgaW4gcXVlc3Rpb24uCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjEuNjwvc3Ryb25nPjxicj4KR3Vlc3QgZW50cmllcyBtYXkgYmUgYWNjZXB0ZWQgYXQgc2VsZWN0ZWQgcm91bmRzIHdoZXJlIHRoZXJlIGlzIGNhcGFjaXR5IGF2YWlsYWJsZS4KQWNjZXB0YW5jZSBvciByZWplY3Rpb24gb2YgYW4gZW50cnkgaXMgZW50aXJlbHkgYXQgdGhlIGRpc2NyZXRpb24gb2YgdGhlIE9yZ2FuaXNlcnMuCjwvcDE+Cgo8cDE+CkVudHJ5IEZlZSBmb3IgcmFjZSBieSByYWNlIGVudHJpZXMgYXMgZm9sbG93cyAocGVyIGNhciwgcGVyIGV2ZW50KSDigJMKPC9wMT4KPHVsMT4KPGxpPsKjMTI3NSAtIEFsbCBWZW51ZXM8L2xpPgo8L3VsMT4KCjxwMT4KVGhlIGd1ZXN0IGVudHJ5IGZlZSBmb3Igc2Vjb25kIGRyaXZlcnMgaXMgwqMxNTAgcGVyIGV2ZW50Lgo8L3AxPgoKPHAxPjxzdHJvbmc+Mi4xLjc8L3N0cm9uZz48YnI+ClJlc2VydmVzIHdpbGwgYmUgbGlzdGVkIGluIHRoZSBGaW5hbCBMaXN0IG9mIEVudHJpZXMgcHVibGlzaGVkIHdpdGggRmluYWwgSW5zdHJ1Y3Rpb25zIG9yIGluIGEgQnVsbGV0aW4uCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjEuODwvc3Ryb25nPjxicj4KQSBjb21wZXRpdG9yIG1heSBjb21wZXRlIHNpbmdseSB3aXRoIHByaW9yIHBlcm1pc3Npb24gZnJvbSB0aGUgT3JnYW5pc2Vycwo8L3AxPgoKPHAxPjxzdHJvbmc+Mi4xLjk8L3N0cm9uZz48YnI+ClRlYW1zIG11c3QgZGVjbGFyZSB0aGUgc3RhcnRpbmcgZHJpdmVyIG5vIGxhdGVyIHRoYW4gMzAgbWludXRlcyBhZnRlciBxdWFsaWZ5aW5nLgo8L3AxPgoKPHAxPgpObyBhbHRlcm5hdGlvbnMgdG8gbGluZSB1cHMgb3IgZHJpdmVyIG9yZGVyIG1heSBiZSBtYWRlIGFmdGVyIHRoaXMgcG9pbnQgd2l0aG91dCBhcHByb3ZhbCBvZiB0aGUgQ2xlcmsgb2YgdGhlIENvdXJzZS4KPC9wMT4KCjxwMT4KUmVxdWVzdHMgbXVzdCBiZSBzdWJtaXR0ZWQgaW4gd3JpdGluZyBhbmQgd2lsbCBvbmx5IGJlIGFwcHJvdmVkIGluIGV4Y2VwdGlvbmFsIGNpcmN1bXN0YW5jZXMuCjwvcDE+Cgo8cDE+CkJyZWFjaGVzIHdpbGwgYmUgcmVmZXJyZWQgdG8gdGhlIENsZXJrIG9mIHRoZSBDb3Vyc2Ugd2hvIG1heSBpc3N1ZSBwZW5hbHRpZXMgaW4gYWNjb3JkYW5jZSB3aXRoIE5DUiBDaC4yLgo8L3AxPgoKPHAxPjxzdHJvbmc+Mi4xLjEwIER1cmluZyBFdmVudHM8L3N0cm9uZz48L3AxPgo8dWwxPgo8bGk+KGEpIENvbXBldGl0b3JzIGNhbm5vdCBjaGFuZ2UgdGhlaXIgbm9taW5hdGVkIHZlaGljbGU8L2xpPgo8bGk+KGIpIE5vIG1vcmUgdGhhbiB0d28gY29tcGV0aXRvcnMgbWF5IGRyaXZlIHRoZSBzYW1lIHZlaGljbGU8L2xpPgo8bGk+KGMpIERyaXZlcnMgbWF5IG9ubHkgYmUgbm9taW5hdGVkIHRvIGRyaXZlIG9uZSB2ZWhpY2xlPC9saT4KPGxpPihkKSBBIGNoYW5nZSBvZiBEcml2ZXIgbWF5IG9ubHkgdGFrZSBwbGFjZSBiZWZvcmUgdGhlIHN0YXJ0IG9mIHF1YWxpZnlpbmcgYW5kIHdpdGggdGhlIGNvbnNlbnQgb2YgdGhlIENsZXJrIG9mIHRoZSBDb3Vyc2U8L2xpPgo8L3VsMT4KCgoKPGIyIGlkPSIyLjIiPjIuMiBCUklFRklOR1M6PC9iMj4KCjxwMT4KT3JnYW5pc2VycyBtdXN0IG5vdGlmeSBDb21wZXRpdG9ycyBvZiB0aGUgdGltZXMgYW5kIGxvY2F0aW9ucyBmb3IgYWxsIGJyaWVmaW5ncyBpbiB0aGUgRmluYWwgCkluc3RydWN0aW9ucyBmb3IgdGhlIEV2ZW50cy4gQ29tcGV0aXRvcnMgbXVzdCBhdHRlbmQgYWxsIGJyaWVmaW5ncy4KPC9wMT4KCjxwMT4KQW55IFdyaXR0ZW4gYnJpZWZpbmcgaXMgYW4gT2ZmaWNpYWwgRG9jdW1lbnQuCjwvcDE+CgoKPGIyICBpZD0iMi4zIj4yLjMgUVVBTElGSUNBVElPTiBQUkFDVElDRTo8L2IyPgoKPHAxPjxzdHJvbmc+Mi4zLjE8L3N0cm9uZz48YnI+ClNob3VsZCBhbnkgUHJhY3RpY2Ugc2Vzc2lvbiBiZSBkaXNydXB0ZWQgdGhlIENsZXJrIG9mIHRoZSBDb3Vyc2Ugc2hhbGwgbm90IGJlIG9ibGlnZWQgdG8gcmVzdW1lIG9yIApyZS1ydW4gdGhlIHNlc3Npb247IHRoZSBkZWNpc2lvbiBvZiB0aGUgQ2xlcmsgb2YgdGhlIENvdXJzZSBzaGFsbCBiZSBmaW5hbC4KPC9wMT4KCjxwMT48c3Ryb25nPjIuMy4yPC9zdHJvbmc+PGJyPgpFYWNoIGRyaXZlciBtdXN0IGNvbXBsZXRlIGEgbWluaW11bSBvZiAzIGxhcHMgaW4gdGhlIGNhciB0byBiZSByYWNlZCwgYW5kIGluIHRoZSBjb3JyZWN0IHNlc3Npb24sIAppbiBvcmRlciB0byBxdWFsaWZ5IChOQ1IgQ2guMTIgQXBwLjYgQXJ0LjMuNCkuCjwvcDE+CgoKPGIyIGlkPSIyLjQiPjIuNCBSQUNFUzo8L2IyPgoKPHAxPgpTaG91bGQgYW55IHJhY2UgYmUgZGlzcnVwdGVkIHRoZSBDbGVyayBvZiB0aGUgQ291cnNlIHNoYWxsIG5vdCBiZSBvYmxpZ2VkIHRvIHJlc3VtZSBvciByZXJ1biB0aGUgCnJhY2UgKE5DUiBDaC4xMiBBcHAuNiBBcnQuOS4xKSAoMS42LjQuIGFib3ZlIGFwcGxpZXMpCjwvcDE+CgoKPGIyIGlkPSIyLjUiPjIuNSBTVEFSVFM6PC9iMj4KCjxwMT48c3Ryb25nPjIuNS4xPC9zdHJvbmc+PGJyPgpBbGwgY2FycyB3aWxsIGJlIHJlbGVhc2VkIHRvIGZvcm0gdXAgb24gdGhlIGdyaWQgcHJpb3IgdG8gdGhlIHN0YXJ0IGluIGZvcm1hdGlvbiBhcyBzcGVjaWZpZWQgb24gdGhlIGdyaWQgc2hlZXQuCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjUuMjwvc3Ryb25nPjxicj4KVGhlIHN0YXJ0IHdpbGwgYmUgdmlhIFN0YW5kaW5nIHN0YXJ0CjwvcDE+Cgo8cDE+VGhlIG1pbmltdW0gQ291bnRkb3duIHByb2NlZHVyZXMvYXVkaWJsZSB3YXJuaW5ncyBzZXF1ZW5jZSBzaGFsbCBiZTotPC9wMT4KCjx1bDE+CjxsaT5JLiAxIG1pbnV0ZSB0byBzdGFydCBvZiBHcmVlbiBTaWduYWwvUGFjZSBMYXAgLSBTdGFydCBFbmdpbmVzL0NsZWFyIEdyaWQuPC9saT4KPGxpPklJLiAzMCBTZWNvbmRzIC0gVmlzaWJsZSBhbmQgYXVkaWJsZSB3YXJuaW5nIGZvciBzdGFydCBvZiBHcmVlbiBTaWduYWwvUGFjZSBMYXAuPC9saT4KPGxpPklJSS4gQWZ0ZXIgY29tcGxldGlvbiBvZiB0aGUgR3JlZW4gU2lnbmFsIExhcCB2ZWhpY2xlcyB3aWxsIHJlc3VtZSB0aGVpciBHcmlkIHBvc2l0aW9ucyBmb3IgYSBzdGFuZGluZyBzdGFydDwvbGk+CjxsaT5JVi4gQSBmaXZlIHNlY29uZCBib2FyZCB3aWxsIGJlIHVzZWQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZ3JpZCBpcyBjb21wbGV0ZS48L2xpPgo8bGk+Vi4gVGhlIHJlZCBsaWdodHMgd2lsbCBiZSBzd2l0Y2hlZCBvbiBmaXZlIHNlY29uZHMgYWZ0ZXIgdGhlIGJvYXJkIGlzIHdpdGhkcmF3biBhbmQgc3dpdGNoZWQgb2ZmIHRvIGluZGljYXRlIHRoZSBzdGFydCBvZiB0aGUgcmFjZS48L2xpPgo8bGk+VkkuIEFmdGVyIGNvbXBsZXRpb24gb2YgdGhlIFBhY2UgTGFwIHRoZSByZWQgbGlnaHRzIHdpbGwgYmUgb24gYW5kIHRoZSB2ZWhpY2xlcyBtdXN0IGFwcHJvYWNoIHRoZSBzdGFydCBsaW5lIGluIEdyaWQgb3JkZXIgd2l0aCB0aGUgcG9sZSBkcml2ZXIgc2V0dGluZyB0aGUgcGFjZS4gVGhlIHJlZCBsaWdodHMgd2lsbCBiZSBzd2l0Y2hlZCBvZmYgdG8gaW5kaWNhdGUgdGhhdCBzdGFydCBvZiB0aGUgcmFjZS48L2xpPgo8L3VsMT4KCjxwMT48c3Ryb25nPjIuNS4zPC9zdHJvbmc+PGJyPgpBbnkgY2FyIHJlbW92ZWQgZnJvbSB0aGUgZ3JpZCBhZnRlciB0aGUgMS1taW51dGUgc3RhZ2Ugb3IgZHJpdmVuIGludG8gdGhlIHBpdHMgb24gdGhlIEdyZWVuIFNpZ25hbC9QYWNlIGxhcCBzaGFsbCBiZSBoZWxkIGluIHRoZSBwaXRsYW5lIGFuZCBtYXkgc3RhcnQgdGhlIHJhY2UgYWZ0ZXIgdGhlIGxhc3QgY2FyIHRvIHRha2UgdGhlIHN0YXJ0IGZyb20gdGhlIGdyaWQgaGFzIHBhc3NlZCB0aGUgc3RhcnQgbGluZSBvciBwaXRsYW5lIGV4aXQsIHdoaWNoZXZlciBpcyB0aGUgbGF0ZXIuCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjUuNDwvc3Ryb25nPjxicj4KQW55IGRyaXZlciB1bmFibGUgdG8gc3RhcnQgdGhlIEdyZWVuIFNpZ25hbC9QYWNlIGxhcCBvciBzdGFydCBhcmUgcmVxdWlyZWQgdG8gaW5kaWNhdGUgdGhlaXIgc2l0dWF0aW9uIGFzIHBlciBOQ1IgQ2guMTIgQXBwLjYgQXJ0LjYuMTEuCjwvcDE+Cgo8cDE+CkFueSBkcml2ZXIgdW5hYmxlIHRvIG1haW50YWluIGdyaWQgcG9zaXRpb25zIG9uIHRoZSBHcmVlbiBTaWduYWwgTGFwLCB0byB0aGUgZXh0ZW50IHRoYXQgQUxMIG90aGVyIGNhcnMgYXJlIGFoZWFkIG9mIHRoZW0sIG1heSBjb21wbGV0ZSB0aGUgR3JlZW4gU2lnbmFsIExhcCBidXQgTVVTVCByZW1haW4gYXQgdGhlIHJlYXIgb2YgdGhlIGxhc3Qgcm93IG9mIHRoZSBncmlkIGJ1dCBhaGVhZCBvZiBhbnkgY2FycyB0byBiZSBzdGFydGVkIHdpdGggYSB0aW1lIGRlbGF5Lgo8L3AxPgoKPHAxPjxzdHJvbmc+Mi41LjU8L3N0cm9uZz48YnI+CkluIHRoZSBldmVudCBvZiBhbnkgc3RhcnRpbmcgbGlnaHRzIGZhaWx1cmUgdGhlIFN0YXJ0ZXIgd2lsbCByZXZlcnQgdG8gdXNlIG9mIHRoZSBOYXRpb25hbCBGbGFnLgo8L3AxPgoKCgo8YjIgIGlkPSIyLjYiPjIuNiBTRVNTSU9OIFJFRCBTSUdOQUw8L2IyPgoKPHAxPgpTaG91bGQgdGhlIG5lZWQgYXJpc2UgdG8gc3RvcCBhbnkgcmFjZSBvciBwcmFjdGljZSwgcmVkIHNpZ25hbHMgd2lsbCBiZSBkaXNwbGF5ZWQgYXQgdGhlIFN0YXJ0IGxpbmUgYW5kIGF0IGFsbCBTaWduYWxsaW5nIFBvaW50cyBhcm91bmQgdGhlIENpcmN1aXQuCjwvcDE+Cgo8cDE+ClRoaXMgaXMgdGhlIHNpZ25hbCBmb3IgYWxsIGRyaXZlcnMgdG8gY2Vhc2UgY2lyY3VsYXRpbmcgYXQgcmFjaW5nIHNwZWVkcywgdG8gc2xvdyB0byBhIHNhZmUgYW5kIHJlYXNvbmFibGUgcGFjZSBhbmQgdG8gcmV0dXJuIHRvIHRoZSBwaXQgbGFuZSwgZHVyaW5nIHByYWN0aWNlLCBhbmQgdG8gdGhlIHN0YXJ0aW5nIGdyaWQgYXJlYSwgZHVyaW5nIGEgcmFjZSwgdW5sZXNzIG90aGVyd2lzZSBkaXJlY3RlZCBieSBPZmZpY2lhbHMuCjwvcDE+Cgo8cDE+Ck1hcnNoYWxzIHNob3VsZCByZXZlcnQgdG8gZGlzcGxheWluZyB5ZWxsb3cgZmxhZ3MgdG8gaW5kaWNhdGUgdG8gRHJpdmVycyB0aGUgcGFydGljdWxhciBsb2NhdGlvbiBvZiBhbnkgaW5jaWRlbnQuCjwvcDE+Cgo8cDE+ClZlaGljbGVzIHNob3VsZCBub3QgZW50ZXIgdGhlIFBpdHMgdW5sZXNzIGRpcmVjdGVkIHRvIGRvIHNvIGFuZCBhbGwgY2FycyBpbiB0aGUgcGl0IGxhbmUgZHVyaW5nIGEgcmVkIGZsYWcgcGVyaW9kIG11c3QgdGFrZSBhbnkgcmVzdGFydCBmcm9tIHRoZSBwaXQgZXhpdC4KPC9wMT4KCgoKPGIyICBpZD0iMi43Ij4yLjcgUElUUywgUEFERE9DSyAmIFBJVExBTkUgU0FGRVRZOjwvYjI+Cgo8cDE+PHN0cm9uZz4yLjcuMTwvc3Ryb25nPjxicj4KUGl0cyAmIFBhZGRvY2s6IENvbXBldGl0b3JzIG11c3QgZW5zdXJlIHRoYXQgdGhlIE1vdG9yc3BvcnQgVUssIENpcmN1aXQgTWFuYWdlbWVudCBhbmQgT3JnYW5pc2luZyBDbHViIFNhZmV0eSBSZWd1bGF0aW9ucyBhcmUgY29tcGxpZWQgd2l0aCBhdCBhbGwgdGltZXMuCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjcuMjwvc3Ryb25nPjxicj4KUGl0bGFuZTogVGhlIG91dGVyIGxhbmUgb3IgbGFuZXMgYXJlIHRvIGJlIGtlcHQgdW5vYnN0cnVjdGVkIHRvIGFsbG93IHNhZmUgcGFzc2FnZSBvZiBjYXJzIGF0IGFsbCB0aW1lcy4KPC9wMT4KCjxwMT4KVGhlIG9udXMgc2hhbGwgYmUgb24gYWxsIERyaXZlcnMgdG8gdGFrZSBhbGwgZHVlIGNhcmUgYW5kIHJlc3BlY3QgdGhlIHBpdCBsYW5lIHNwZWVkIGxpbWl0cy4KPC9wMT4KCjxwMT48c3Ryb25nPjIuNy4zPC9zdHJvbmc+PGJyPgpSZWZ1ZWxsaW5nOiBJcyBQcm9oaWJpdGVkCjwvcDE+Cgo8cDE+PHN0cm9uZz4yLjcuNDwvc3Ryb25nPjxicj4KU3BlZWQgTGltaXQ6IFBpdCBMYW5lIFNwZWVkIExpbWl0IHdpbGwgYmUgNjBrcGgKPC9wMT4KCgo8YjIgIGlkPSIyLjgiPjIuOCBSQUNFIEZJTklTSEVTOjwvYjI+Cgo8cDE+CkFmdGVyIHRha2luZyB0aGUgQ2hlcXVlcmVkIEZsYWcgZHJpdmVycyBhcmUgcmVxdWlyZWQgdG86CjwvcDE+Cgo8dWwxPgo8bGk+SS4gcHJvZ3Jlc3NpdmVseSBhbmQgc2FmZWx5IHNsb3cgZG93bjwvbGk+CjxsaT5JSS4gcmVtYWluIGJlaGluZCBhbnkgY29tcGV0aXRvcnMgYWhlYWQgb2YgdGhlbTwvbGk+CjxsaT5JSUkuIHJldHVybiB0byB0aGUgUGl0IExhbmUgRW50cmFuY2UvUGFkZG9jayBFbnRyYW5jZSBhcyBpbnN0cnVjdGVkPC9saT4KPGxpPklWLiBjb21wbHkgd2l0aCBhbnkgZGlyZWN0aW9ucyBnaXZlbiBieSBNYXJzaGFscyBvciBPZmZpY2lhbHM8L2xpPgo8bGk+Vi4ga2VlcCB0aGVpciBoZWxtZXRzIG9uIGFuZCBoYXJuZXNzZXMgZG9uZSB1cCB3aGlsZSBvbiB0aGUgY2lyY3VpdCBvciBpbiB0aGUgcGl0bGFuZTwvbGk+CjwvdWwxPgoKCgo8YjIgIGlkPSIyLjkiPjIuOSBSRVNVTFRTOjwvYjI+Cgo8cDE+CkFsbCBQcmFjdGljZSBUaW1lc2hlZXRzLCBHcmlkcywgUmFjZSBSZXN1bHRzIGFyZSB0byBiZSBkZWVtZWQgUHJvdmlzaW9uYWwgdW50aWwgYWxsIHZlaGljbGVzIGFyZSByZWxlYXNlZCBieSBTY3J1dGluZWVycyBhZnRlciBQb3N0IFByYWN0aWNlL1JhY2UgU2NydXRpbmVlcmluZyBhbmQvb3IgYWZ0ZXIgY29tcGxldGlvbiBvZiBhbnkgSnVkaWNpYWwgb3IgVGVjaG5pY2FsIFByb2NlZHVyZXMuIChOQ1IgQ2guMyBBcHAuNiBBcnQuMS40KQo8L3AxPgoKCgo8YjIgIGlkPSIyLjEwIj4yLjEwIFRJTUlORyBNT0RVTEVTOjwvYjI+Cgo8cDE+VFNMIENvbXBhdGlibGUgVHJhbnNwb25kZXI8L3AxPgoKCgo8YjIgIGlkPSIyLjExIj4yLjExIE9QRVJBVElPTiBPRiBTQUZFVFkgQ0FSOjwvYjI+Cgo8cDE+ClRoZSBTYWZldHkgQ2FyIHdpbGwgYmUgYnJvdWdodCBpbnRvIG9wZXJhdGlvbiBhbmQgcnVuIGluIGFjY29yZGFuY2Ugd2l0aCBOQ1IgQ2guMTIgQXBwLjggQXJ0LjIuCjwvcDE+CgoKCjxiMiAgaWQ9IjIuMTIiPjIuMTIgT05CT0FSRCBDQU1FUkFTOjwvYjI+Cgo8cDE+QWxsb3dlZCBidXQgbm90IG1hbmRhdG9yeTwvcDE+Cgo8L2Rpdj4KCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+My4gU3BlY2lmaWMgQ2hhbXBpb25zaGlwIFJlZ3VsYXRpb25zPC9idXR0b24+CjxkaXYgY2xhc3M9InBhbmVsIGdsYXNzIiBpZD0ic2VjdGlvbi0zIj4KPGIyICBpZD0iMyI+My4gU1BFQ0lGSUMgQ0hBTVBJT05TSElQIFJFR1VMQVRJT05TPC9iMj4KCjxiMiAgaWQ9IjMuMSI+My4xPC9iMj4KPHAxPgpCeSByZWdpc3RlcmluZyBmb3IgdGhlIENoYW1waW9uc2hpcCBhbGwgY29tcGV0aXRvcnMgYW5kIHRoZWlyIGFzc29jaWF0ZXMgY29tbWl0IHRvIHBvc2l0aXZlbHkgcHJvbW90ZSAKYW5kIGRlbW9uc3RyYXRlIHRoZSBNb3RvcnNwb3J0IFVL4oCZcyBSZXNwZWN0IENvZGUgd2hpY2ggaXMgYXBwZW5kZWQgdG8gdGhlc2UgcmVndWxhdGlvbnMgKEFwcGVuZGl4IDEpLgo8L3AxPgoKPHAxPjxzdHJvbmc+My4xLjE8L3N0cm9uZz48YnI+CldoZXJlIGFueSByZXBvcnRzIG9mIGRpc3Jlc3BlY3RmdWwgY29uZHVjdCBhcmUganVkZ2VkIHRvIGJlIHdlbGwgZm91bmRlZCB0aGUgQ2hhbXBpb25zaGlwIG9yZ2FuaXNlcnMgCm1heSBpc3N1ZSB3YXJuaW5ncyBvciByZXF1aXJlIHJlbWVkaWFsIGFjdGlvbnMgYW5kL29yIHJlcG9ydCB0aGUgbWF0dGVyIHRvIHRoZSBDaGFtcGlvbnNoaXAgU3Rld2FyZHMgCndobyBtYXkgaW1wb3NlIGFwcHJvcHJpYXRlIHBlbmFsdGllcyB3aGljaCBjYW4gaW5jbHVkZSBsb3NzIG9mIENoYW1waW9uc2hpcCBwb2ludHMgYW5kL29yIHJhY2UgYmFucyAKdGhyb3VnaCB0byBDaGFtcGlvbnNoaXAgRXhwdWxzaW9uIGFuZCByZWZlcnJhbCB0byBNb3RvcnNwb3J0IFVLLgo8L3AxPgoKPHAxPjxzdHJvbmc+My4xLjI8L3N0cm9uZz48YnI+Ckl0IGlzIGltcGVyYXRpdmUgdGhhdCB3ZSBwcm9tb3RlIHRoZSBzYWZldHkgYW5kIHdlbGxiZWluZyBvZiB5b3VuZyBwZW9wbGUgYW5kIGFkdWx0cyBhdCByaXNrLiAKSW4gYWRkaXRpb24gdG8gdGhpcyBhbGwgcGFydGljaXBhbnRzIG11c3QgYmUgYXdhcmUgb2YgdGhlaXIgYmVoYXZpb3VyIGFuZCBjb25kdWN0IGF0IGFsbCB0aW1lcyAKYW5kIGFidXNpdmUgbGFuZ3VhZ2UgYW5kIGhhcm1mdWwgYmVoYXZpb3VyIHdpbGwgbm90IGJlIHRvbGVyYXRlZC4KPC9wMT4KCjxwMT4KQW55IHN1Y2ggaW5jaWRlbnRzIG11c3QgYmUgcmVwb3J0ZWQgdG8gdGhlIENoYW1waW9uc2hpcCBDb29yZGluYXRvciBhbmQvb3IgU2FmZWd1YXJkaW5nIE9mZmljZXIgCndobyB3aWxsIGFsc28gcmVsYXkgdGhlIHJlcG9ydCB0byBNb3RvcnNwb3J0IFVLLgo8L3AxPgoKPHAxPgpEZXRhaWxzIG9mIHRoZSBNb3RvcnNwb3J0IFVLIFBvbGljaWVzIGFuZCBHdWlkZWxpbmVzIGFyZSBhdmFpbGFibGUgYXQgd3d3Lm1vdG9yc3BvcnR1ay5vcmcvcmVzb3VyY2UtY2VudHJlIApieSBzZWxlY3RpbmcgUG9saWNpZXMgYW5kIEd1aWRlbGluZXMuCjwvcDE+Cgo8L2Rpdj4KCjxidXR0b24gY2xhc3M9ImFjY29yZGlvbiI+NC4gUGVuYWx0aWVzPC9idXR0b24+CjxkaXYgY2xhc3M9InBhbmVsIGdsYXNzIiBpZD0ic2VjdGlvbi00Ij4KPGIyIGlkPSI0Ij40LiBTUEVDSUZJQyBDSEFNUElPTlNISVAgUEVOQUxUSUVTPC9iMj4KCjxwMT4KSW4gYWNjb3JkYW5jZSB3aXRoIE5DUiBDaGFwdGVyIDIgYW5kIHRoZXNlIENoYW1waW9uc2hpcCBSZWd1bGF0aW9ucy4KPC9wMT4KCjxiMiBpZD0iNC4xIj40LjEgSW5mcmluZ2VtZW50cyBvZiBUZWNobmljYWwgUmVndWxhdGlvbnM6PC9iMj4KCjxwMT48c3Ryb25nPjQuMS4xIEFyaXNpbmcgZnJvbSBwb3N0IHByYWN0aWNlIFNjcnV0aW5lZXJpbmc6PC9zdHJvbmc+PGJyPgpNaW5pbXVtIFBlbmFsdHk6IFRoZSBwcm92aXNpb25zIG9mIE5DUiBDaC4yIEFwcC44IEFydC4xLjIxLgo8L3AxPgoKPHAxPjxzdHJvbmc+NC4xLjIgQXJpc2luZyBmcm9tIHBvc3QtcmFjZSBTY3J1dGluZWVyaW5nOjwvc3Ryb25nPjxicj4KTWluaW11bSBQZW5hbHR5OiBUaGUgcHJvdmlzaW9ucyBvZiBOQ1IgQ2guMiBBcHAuOCBBcnQuMi4yIChhKSBhbmQgKGIpLgo8L3AxPgoKPHAxPgpGb3IgaW5mcmluZ2VtZW50cyBkZWVtZWQgdG8gYmUgb2YgYSBtb3JlIHNlcmlvdXMgbmF0dXJlIHRoZSBDbGVyayBvZiB0aGUgQ291cnNlIHdpbGwgaW52b2tlIHRoZSAKcHJvdmlzaW9ucyBvZiBOQ1IgQ2guMiBBcHAuOCBBcnQuMi4yIChjKS4KPC9wMT4KCgoKPGIyICBpZD0iNC4yIj40LjIgVGFibGUgb2YgUGVuYWx0aWVzPC9iMj4KCjx0YWJsZT4KPHRyPgo8dGg+T2ZmZW5jZTwvdGg+Cjx0aD5OQ1IgUmVmZXJlbmNlPC90aD4KPHRoPlBlbmFsdHk8L3RoPgo8dGg+TGljZW5jZSBQZW5hbHR5IFBvaW50czwvdGg+CjwvdHI+Cgo8dHI+Cjx0ZD5BYnVzaXZlIGxhbmd1YWdlIG9yIGJlaGF2aW91cjwvdGQ+Cjx0ZD5DaC4yIEFwcC4gQXJ0LjEuMS48YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5jLjwvdGQ+Cjx0ZD5TZXNzaW9uIERpc3F1YWxpZmljYXRpb248L3RkPgo8dGQgY2xhc3M9InllcyI+4pyUPC90ZD4KPC90cj4KCjx0cj4KPHRkPkFjdHVhbCBBc3NhdWx0IG9yIHRocmVhdCBvZiBwaHlzaWNhbCBhc3NhdWx0IG9yIHBhcnRpY3VsYXJseSBhZ2dyZXNzaXZlIGJlaGF2aW91cjwvdGQ+Cjx0ZD5DaC4yIEFwcC4xIEFydC4xLjE8YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5jLjwvdGQ+Cjx0ZD5FdmVudCBEaXNxdWFsaWZpY2F0aW9uICsgQ29uc2lkZXJhdGlvbiBvZiBMaWNlbmNlIHN1c3BlbnNpb24gKDMwIGRheXMpPC90ZD4KPHRkIGNsYXNzPSJ5ZXMiPuKclDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5GYWlsdXJlIHRvIG9iZXkgdGhlIGluc3RydWN0aW9uIG9mIGFuIG9mZmljaWFsPC90ZD4KPHRkPkNoLjYgQXBwLjEgQXJ0LjIuNDxicj5DaC4yIEFwcC4xMiBBcnQuMS4yLmQuPC90ZD4KPHRkPlF1YWxpZnlpbmc6IEZpbmU8YnI+UmFjZTogR3JpZCBQZW5hbHR5PC90ZD4KPHRkIGNsYXNzPSJ5ZXMiPuKclDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5DYXVzaW5nIGEgY29sbGlzaW9uLCByZXBldGl0aW9uIG9mIHNlcmlvdXMgbWlzdGFrZXMgb3IgdGhlIGFwcGVhcmFuY2Ugb2YgYSBsYWNrIG9mIGNvbnRyb2wgb2YgdGhlIGNhcjwvdGQ+Cjx0ZD5DaC4xMiBBcHAuNyBBcnQuMS44PGJyPkNoLjIgQXBwLjEyIEFydC4xLjIuYS48L3RkPgo8dGQ+UXVhbGlmeWluZzogR3JpZCBQZW5hbHR5PGJyPlJhY2U6IFRpbWUgLyBQbGFjZSBQZW5hbHR5PC90ZD4KPHRkIGNsYXNzPSJ5ZXMiPuKclDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5DYXVzaW5nIGFub3RoZXIgY29tcGV0aXRvciB0byBsZWF2ZSB0aGUgY2lyY3VpdCwgY3Jvd2RpbmcgdG8gaW5zaWRlIG9yIG91dHNpZGUgb2YgdGhlIHRyYWNrPC90ZD4KPHRkPkNoLjEyIEFwcC43IEFydC4xLjU8YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5hLjwvdGQ+Cjx0ZD5RdWFsaWZ5aW5nOiBHcmlkIFBlbmFsdHk8YnI+UmFjZTogVGltZSAvIFBsYWNlIFBlbmFsdHk8L3RkPgo8dGQgY2xhc3M9InllcyI+4pyUPC90ZD4KPC90cj4KCjx0cj4KPHRkPkV4Y2Vzc2l2ZSB3ZWF2aW5nIHRvIHByZXZlbnQgYW4gb3ZlcnRha2luZyBtb3ZlPC90ZD4KPHRkPkNoLjEyIEFwcC43IEFydC4xLjU8YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5hLjwvdGQ+Cjx0ZD5RdWFsaWZ5aW5nOiBHcmlkIFBlbmFsdHk8YnI+UmFjZTogVGltZSAvIFBsYWNlIFBlbmFsdHk8L3RkPgo8dGQgY2xhc3M9InllcyI+4pyUPC90ZD4KPC90cj4KCjx0cj4KPHRkPkdhaW5pbmcgVW5mYWlyIEFkdmFudGFnZTwvdGQ+Cjx0ZD5DaC4yIEFubi5BLCBBcnQuMS4zLjwvdGQ+Cjx0ZD5RdWFsaWZ5aW5nOiBMb3NzIG9mIGxhcCB0aW1lKHMpIFJhY2U6IFRpbWUgLyBQbGFjZSBQZW5hbHR5PC90ZD4KPHRkIGNsYXNzPSJubyI+4pyYPC90ZD4KPC90cj4KCjx0cj4KPHRkPkluY29tcGF0aWJsZSB3aXRoIGdlbmVyYWwgc2FmZXR5PC90ZD4KPHRkPkNoLjIgQXBwLjEgQXJ0LjEuMTM8YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5hLjwvdGQ+Cjx0ZD5EaXNxdWFsaWZpY2F0aW9uIChzZXNzaW9uIG9yIGV2ZW50KTwvdGQ+Cjx0ZCBjbGFzcz0ieWVzIj7inJQ8L3RkPgo8L3RyPgoKPHRyPgo8dGQ+RmFpbGluZyB0byBvYnNlcnZlIHRoZSBDaGVxdWVyZWQgRmxhZyAodGFraW5nIHRoZSBmbGFnIG1vcmUgdGhhbiBvbmNlKTwvdGQ+Cjx0ZD5DaC4xMiBBcHAuOCBBcnQuMS43PGJyPkNoLjIgQXBwLjEuIEFydC4xLjE0Ljxicj5DaC4yIEFwcC4xMiBBcnQuMS4yLmIuPC90ZD4KPHRkPlZlcmJhbCBXYXJuaW5nPC90ZD4KPHRkIGNsYXNzPSJ5ZXMiPuKclDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5Ob3Qgb2JleWluZyB0aGUgQmxhY2sgRmxhZzwvdGQ+Cjx0ZD5DaC4xMiBBcHAuOCBBcnQuMS43PGJyPkNoLjIgQXBwLjEuIEFydC4xLjE0Ljxicj5DaC4yIEFwcC4xMiBBcnQuMS4yLmIuPC90ZD4KPHRkPkRpc3F1YWxpZmljYXRpb248L3RkPgo8dGQgY2xhc3M9InllcyI+4pyUPC90ZD4KPC90cj4KCjx0cj4KPHRkPk5vdCBvYmV5aW5nIHRoZSBCbGFjayAvIE9yYW5nZSBGbGFnPC90ZD4KPHRkPkNoLjEyLiBBcHAuOCBBcnQuMS43PGJyPkNoLjIgQXBwLjEuIEFydC4xLjE0Ljxicj5DaC4yIEFwcC4xMiBBcnQuMS4yLmIuPC90ZD4KPHRkPlF1YWxpZnlpbmc6IExvc3Mgb2YgbGFwIHRpbWUocyk8YnI+UmFjZTogRGlzcXVhbGlmaWNhdGlvbjwvdGQ+Cjx0ZCBjbGFzcz0ieWVzIj7inJQ8L3RkPgo8L3RyPgoKPHRyPgo8dGQ+T3ZlcnRha2luZyBvciBub3Qgc2xvd2luZyBkb3duIHVuZGVyIHllbGxvdyBzaWduYWxzIChCZXR3ZWVuIHRoZSBzaWduYWwgJiB0aGUgaW5jaWRlbnQpPC90ZD4KPHRkPkNoLjEyIEFwcC44IEFydC4xLjc8YnI+Q2guMiBBcHAuMS4gQXJ0LjEuMTQuPGJyPkNoLjIgQXBwLjEyIEFydC4xLjIuYi48L3RkPgo8dGQ+RGlzcXVhbGlmaWNhdGlvbjwvdGQ+Cjx0ZCBjbGFzcz0ieWVzIj7inJQ8L3RkPgo8L3RyPgoKPHRyPgo8dGQ+T3ZlcnRha2luZyBvciBub3Qgc2xvd2luZyBkb3duIHVuZGVyIHllbGxvdyBzaWduYWxzIChBZnRlciBpbmNpZGVudCBidXQgYmVmb3JlIGdyZWVuKTwvdGQ+Cjx0ZD5DaC4xMiBBcHAuOCBBcnQuMS43Ljxicj5DaC4yIEFwcC4xLiBBcnQuMS4xNC48YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5iLjwvdGQ+Cjx0ZD5RdWFsaWZ5aW5nOiBMb3NzIG9mIGxhcCB0aW1lKHMpPGJyPlJhY2U6IFRpbWUgLyBQbGFjZSBQZW5hbHR5PC90ZD4KPHRkIGNsYXNzPSJ5ZXMiPuKclDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5TYWZldHkgQ2FyOiBPdmVydGFraW5nIG9yIG92ZXJsYXBwaW5nIGFub3RoZXIgY29tcGV0aXRvcjwvdGQ+Cjx0ZD5DaC4xMiBBcHAuOCBBcnQuIDIuNjxicj5DaC4yIEFwcC4xLiBBcnQuMS4xNC48YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5iLjwvdGQ+Cjx0ZD5UaW1lIFBlbmFsdHk8L3RkPgo8dGQgY2xhc3M9InllcyI+4pyUPC90ZD4KPC90cj4KCjx0cj4KPHRkPlNhZmV0eSBDYXI6IE92ZXJ0YWtpbmcgb2YgdGhlIHNhZmV0eSBjYXI8L3RkPgo8dGQ+Q2guMTIgQXBwLjggQXJ0LjIuNjxicj5DaC4yIEFwcC4xLiBBcnQuMS4xNC48YnI+Q2guMiBBcHAuMTIgQXJ0LjEuMi5iLjwvdGQ+Cjx0ZD5MYXAgLyBQbGFjZSBwZW5hbHR5PC90ZD4KPHRkIGNsYXNzPSJ5ZXMiPuKclDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5FeGNlZWRpbmcgcGl0IGxhbmUgc3BlZWQgbGltaXQ8L3RkPgo8dGQ+Q2guMTIgQXBwLjExIEFydC4zLjZhKTwvdGQ+Cjx0ZD5RdWFsaWZ5aW5nOiBGaW5lPGJyPlJhY2U6IERyaXZlIHRocm91Z2ggcGVuYWx0eTwvdGQ+Cjx0ZCBjbGFzcz0ibm8iPuKcmDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5GYWlsaW5nIHRvIGF0dGVuZCBhIGRyaXZlcnPigJkgYnJpZWZpbmc8L3RkPgo8dGQ+Q2guNiBBcHAuMSBBcnQuMi4zPGJyPihDaC41IFBhcnQgMSBBcHAuNSBBcnQuMi4zaCkgJjxicj5DaC4xIEFwcC4yIEFydC4xMS42LmkuKTwvdGQ+Cjx0ZD5GaW5lPC90ZD4KPHRkIGNsYXNzPSJubyI+4pyYPC90ZD4KPC90cj4KCjx0cj4KPHRkPk1ha2luZyBhIGZhbHNlIHN0YXJ0PC90ZD4KPHRkPkNoLjEyIEFwcC42IEFydC43PC90ZD4KPHRkPlRpbWUgUGVuYWx0eTogMTAgc2VjPC90ZD4KPHRkIGNsYXNzPSJubyI+4pyYPC90ZD4KPC90cj4KCjx0cj4KPHRkPlJldmVyc2luZyBpbiB0aGUgcGl0IGxhbmUgb3Igb24gdHJhY2s8L3RkPgo8dGQ+Q2guMTIgQXBwLjcgQXJ0LjEuMTIuPGJyPkNoLjIgQXBwLjEyIEFydC4xLjIuYS48L3RkPgo8dGQ+UXVhbGlmeWluZzogR3JpZCBwZW5hbHR5PGJyPlJhY2U6IERyaXZlIHRocm91Z2ggcGVuYWx0eTwvdGQ+Cjx0ZCBjbGFzcz0ieWVzIj7inJQ8L3RkPgo8L3RyPgoKPHRyPgo8dGQ+UnVubmluZyBiZXlvbmQgdGhlIHRyYWNrIGxpbWl0cyBpbiBxdWFsaWZ5aW5nPC90ZD4KPHRkPkNoLjEyIEFwcC43IEFydC4xLjY8L3RkPgo8dGQ+TG9zcyBvZiBsYXAgdGltZShzKTxicj5bc3BlY2lmeSB0aGUgcmVsZXZhbnQgbGFwIHRpbWUgY29uY2VybmVkIG5vdCBqdXN0IHRoZSBmYXN0ZXN0XTwvdGQ+Cjx0ZCBjbGFzcz0ibm8iPuKcmDwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5SdW5uaW5nIGJleW9uZCB0aGUgdHJhY2sgbGltaXRzIGluIHJhY2luZzwvdGQ+Cjx0ZD5DaC4xMiBBcHAuNy4gQXJ0LjEuNi48L3RkPgo8dGQ+U2NhbGUgb2YgcGVuYWx0eSBzZXQgb3V0IGluIE5DUiBDaC4xMiBBcHAuNyBBcnQuMS4xMS5iLjwvdGQ+Cjx0ZCBjbGFzcz0ibm8iPuKcmDwvdGQ+CjwvdHI+Cgo8L3RhYmxlPgo8dGFibGU+Cjx0cj4KPHRoPlNhZmV0eS9UZWNobmljYWwgT2ZmZW5jZTwvdGg+Cjx0aD5OQ1IgUmVmZXJlbmNlPC90aD4KPHRoPk1pbmltdW0gUGVuYWx0eTwvdGg+CjwvdHI+Cgo8dHI+Cjx0ZD5CcmVhY2ggb2YgYSBzYWZldHkgcmVndWxhdGlvbjogKEZpcmUgZXh0aW5ndWlzaGVyIHBpbiwgRnVlbCBzYW1wbGUgY29ubmVjdG9yIG9yIHNpbWlsYXIpPC90ZD4KPHRkPkNoLjUgQXBwLjUgQXJ0LjIuM2E8L3RkPgo8dGQ+RmluZTwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5GYWlsaW5nIHRvIGFkdmlzZSB0aGUgQ2xlcmsgb2YgaW1wZW5kaW5nIGVsaWdpYmlsaXR5IGNoZWNrPC90ZD4KPHRkPkNoLjIgQXBwLjggQXJ0LjEuNzwvdGQ+Cjx0ZD5GaW5lPC90ZD4KPC90cj4KCjx0cj4KPHRkPkZ1ZWwgb3IgdHlyZXMgZG8gbm90IGNvbmZvcm0gdG8gcmVndWxhdGlvbnM8L3RkPgo8dGQ+Q2guOCBBcHAuMCBBcnQsMS44PGJyPkNoLjggQXBwLjIgQXJ0LDEuNDwvdGQ+Cjx0ZD5EaXNxdWFsaWZpY2F0aW9uIGZyb20gc2Vzc2lvbiAocGx1cywgYW55IENoYW1waW9uc2hpcCBQZW5hbHRpZXMpPC90ZD4KPC90cj4KCjx0cj4KPHRkPkluY29ycmVjdCBvciB1bnJlYWRhYmxlIG51bWJlcnMsIGluY29ycmVjdCBtaXNzaW5nIG9yIG1pc3BsYWNlZCBkZWNhbHM8L3RkPgo8dGQ+Q2guNyBBcnQuMTA8YnI+Q2guMTIgQXBwLjQgQXJ0LjU8L3RkPgo8dGQ+RmluZTwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5JbmVsaWdpYmxlIG9yIHVuc2FmZSB2ZWhpY2xlIGF0IHByZS1ldmVudCBzY3J1dGluZWVyaW5nPC90ZD4KPHRkPkNoLjUgQXBwLjUgQXJ0LjIuMzxicj5DaC4yIEFwcC44IEFydC4xLjIxPC90ZD4KPHRkPlN0YXJ0IHJlZnVzZWQ8L3RkPgo8L3RyPgoKPHRyPgo8dGQ+SW5lbGlnaWJsZSBvciB1bnNhZmUgdmVoaWNsZSBhZnRlciBwcmFjdGljZSAvIHF1YWxpZnlpbmc8L3RkPgo8dGQ+Q2guNSBBcHAuNSBBcnQuMi4zPGJyPkNoLjIgQXBwLjggQXJ0LjEuMjE8L3RkPgo8dGQ+RGlzcXVhbGlmaWNhdGlvbjwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5JbmVsaWdpYmxlIG9yIHVuc2FmZSB2ZWhpY2xlIGFmdGVyIGV2ZW48L3RkPgo8dGQ+Q2guNSBBcHAuNSBBcnQuMi4zPGJyPkNoLjIgQXBwLjggQXJ0LjI8L3RkPgo8dGQ+RGlzcXVhbGlmaWNhdGlvbiAoKyBDaGFtcGlvbnNoaXAgUGVuYWx0eSk8L3RkPgo8L3RyPgoKPHRyPgo8dGQ+U2NydXRpbmVlcmluZzogRmFsc2UgZGVjbGFyYXRpb24gaW4gcHJlLWV2ZW50IHBhcGVyd29yaywgaW5jbHVkaW5nIHRob3NlIGFib3V0IFBQRTwvdGQ+Cjx0ZD5DaC4yYCBBcHAuMSBBcnQuMS4xMS48L3RkPgo8dGQ+QmVmb3JlIGdvaW5nIG9uIHRyYWNrOiBGaW5lICgrIG11c3QgcmVjdGlmeSk8YnI+QmVlbiBvbiB0cmFjazogRGlzcXVhbGlmaWNhdGlvbjwvdGQ+CjwvdHI+Cgo8dHI+Cjx0ZD5CcmVhY2ggb2YgUGFyYyBGZXJtZTwvdGQ+Cjx0ZD48L3RkPgo8dGQ+RGlzcXVhbGlmaWNhdGlvbjwvdGQ+CjwvdHI+Cgo8L3RhYmxlPgo8L2Rpdj4KCgo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPjUuIFRlY2huaWNhbCBSZWd1bGF0aW9uczwvYnV0dG9uPgo8ZGl2IGNsYXNzPSJwYW5lbCBnbGFzcyIgaWQ9InNlY3Rpb24tNSI+CjxiMiAgaWQ9IjUiPjUuIFRFQ0hOSUNBTCBSRUdVTEFUSU9OUzwvYjI+Cgo8YjIgIGlkPSI1LjEiPjUuMSBJTlRST0RVQ1RJT046PC9iMj4KPHAxPgpUaGUgZm9sbG93aW5nIFRlY2huaWNhbCBSZWd1bGF0aW9ucyBhcmUgc2V0IG91dCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIE1vdG9yc3BvcnQgVUsgc3BlY2lmaWVkIGZvcm1hdCBhbmQgaXQgc2hvdWxkIGJlIGNsZWFybHkgdW5kZXJzdG9vZCB0aGF0IGlmIHRoZSBmb2xsb3dpbmcgdGV4dHMgZG8gbm90IGNsZWFybHkgc3BlY2lmeSB0aGF0IHlvdSBjYW4gZG8gaXQgeW91IHNob3VsZCB3b3JrIG9uIHRoZSBwcmluY2lwbGUgdGhhdCB5b3UgY2Fubm90Lgo8L3AxPgoKCgo8YjIgaWQ9IjUuMiI+NS4yIEdFTkVSQUwgREVTQ1JJUFRJT046PC9iMj4KPHAxPgpUaGUgQ2hhbXBpb25zaGlwIGlzIGZvciBDb21wZXRpdG9ycyBwYXJ0aWNpcGF0aW5nIGluIHRoZSBmb2xsb3dpbmcgdmVoaWNsZXM6CjwvcDE+Cgo8cDE+CkFueSBHVCBvciBHVFMgb3IgVEMgZnJvbSBGSUEgcGVyaW9kIEUgYW5kIEYgdGhhdCByYWNlZCBpbnRlcm5hdGlvbmFsbHkgcHJpb3IgdG8gMzFzdCBEZWNlbWJlciAxOTY1IGFuZCBydW5zIHRvIGN1cnJlbnQgRklBIEhpc3RvcmljIFRlY2huaWNhbCBQYXNzcG9ydCAoSFRQKSBzcGVjaWZpY2F0aW9uIGFuZCBoYXMgY3VycmVudCBFcXVpcGUgVGVjaG5pY2FsIFBhc3Nwb3J0IChFVFApLgo8L3AxPgoKPHAxPgpTcG9ydHMgcmFjaW5nIGNhcnMgYXJlIHByb2hpYml0ZWQuCjwvcDE+Cgo8cDE+CkFsbCBlbnRyaWVzIGFyZSB0byBiZSBhcHByb3ZlZCBpbiBhY2NvcmRhbmNlIG9mIHRoZSBFcXVpcGUgdGVjaG5pY2FsIHBhc3Nwb3J0IHN1Ym1pc3Npb24uCjwvcDE+Cgo8cDE+CkluIGV4Y2VwdGlvbmFsIGNpcmN1bXN0YW5jZXMsIHRoZSBPcmdhbmlzZXIgcmVzZXJ2ZXMgdGhlIHJpZ2h0IHRvIGFjY2VwdCDigJxHdWVzdOKAnSBjYXJzIHdoZXJlIHRoZSBUZWNobmljYWwgRm9ybSBpcyB0ZW1wb3Jhcnkgb3IgaW5jb21wbGV0ZSwgb3Igd2hpY2ggYXJlIHJlY2VudGx5IG91dCBvZiBob21vbG9nYXRpb24uCjwvcDE+Cgo8cDE+ClRoZSBEZWNpc2lvbiBpcyBub3QgQXBwZWFsYWJsZSBhbmQgc3VjaCBjYXJzIC8gRHJpdmVycyBzaGFsbCBiZSBHdWVzdHMgb2YgdGhlIENoYW1waW9uc2hpcC4KPC9wMT4KCgo8YjIgIGlkPSI1LjIuMSI+NS4yLjEgQ2xhc3NlczwvYjI+Cjx1bDE+CjxsaT5DbGFzcyAxOiBlbmdpbmUgY2FwYWNpdHkgdXAgdG8gMTMwMGNjPC9saT4KPGxpPkNsYXNzIDI6IGVuZ2luZSBjYXBhY2l0eSBmcm9tIDEzMDBjYyB0byAxNzc1Y2MsIHBsdXMgYWxsIE1hcmNvcyAxODAwIEdUPC9saT4KPGxpPkNsYXNzIDM6IGVuZ2luZSBjYXBhY2l0eSBmcm9tIDE3NzZjYyB0byAyNzUwY2M8L2xpPgo8bGk+Q2xhc3MgNDogZW5naW5lIGNhcGFjaXR5IGZyb20gMjc1MGNjIHRvIDMwMDBjYzwvbGk+CjxsaT5DbGFzcyA1OiBlbmdpbmUgY2FwYWNpdHkgZnJvbSAzMDAwY2MgYW5kIGFib3ZlLCBwbHVzIGFsbCBHaW5ldHRhIEc0UjwvbGk+CjwvdWwxPgoKCjxiMiBpZD0iNS4yLjIiPjUuMi4yIFJldiBMaW1pdHM8L2IyPgo8dWwxPgo8bGk+TG90dXMgVHdpbiBjYW0gTWF4IExpbWl0IDgyMDAgUlBNPC9saT4KPGxpPk1HIEIgU2VyaWVzIE1heCBMaW1pdCA3MDAwIFJQTTwvbGk+CjxsaT5BdXN0aW4gSGVhbHkgMzAwMCBNYXggTGltaXQgNzUwMCBSUE08L2xpPgo8bGk+SmFndWFyIEUgVHlwZSBNYXggTGltaXQgNjgwMCBSUE08L2xpPgo8bGk+QW55IFY4IE1heCBMaW1pdCA3MDAwIFJQTTwvbGk+CjxsaT5NaW5pIEEgc2VyaWVzIE1heCBMaW1pdCA4MjAwIFJQTTwvbGk+CjxsaT5NRyBBIHNlcmllcyBNYXggTGltaXQgNzcwMCBSUE08L2xpPgo8bGk+TG90dXMgQ2xpbWF4IE1heCBMaW1pdCA3NzAwIFJQTTwvbGk+CjxsaT5Ucml1bXBoIFRSIDIxMzggTWF4IExpbWl0IDcwMDAgUlBNPC9saT4KPGxpPlBvcnNjaGUgMi4wIE1heCBMaW1pdCA3NTAwIFJQTTwvbGk+CjxsaT5BbGwgb3RoZXIgZW5naW5lcyB0byBiZSBhZ3JlZWQgb24gYSBjYXNlLWJ5LWNhc2UgYmFzaXM8L2xpPgo8L3VsMT4KCgoKPHAxIGlkPSI1LjIuMyI+PHN0cm9uZz41LjIuMzwvc3Ryb25nPjxicj4KCkFueSBjYXJzIGZpdHRlZCB3aXRoIGFkYXB0YXRpb25zIHNvbGVseSBmb3IgdGhlIHB1cnBvc2Ugb2YgYWxsb3dpbmcgdGhlaXIgdXNlIGJ5IERyaXZlcnMgd2l0aCBkaXNhYmlsaXRpZXMgd2lsbCBiZSBhdXRob3Jpc2VkLgo8L3AxPgoKPHAxPgpUaGVzZSBhZGFwdGF0aW9ucyBtdXN0IGNvbmZvcm0gd2l0aCB0aGUgTkNSIGFuZCBtdXN0IGJlIHJlZ2lzdGVyZWQgYW5kIGFwcHJvdmVkIGJ5IHRoZSBUZWNobmljYWwgQm9hcmQgYW5kIHRoZSBDaGFtcGlvbnNoaXAgRWxpZ2liaWxpdHkgU2NydXRpbmVlciBhbmQgdGhlIE9yZ2FuaXNlcnMuCjwvcDE+Cgo8cDE+CkFueSBzdWNoIGNhcnMgbXVzdCBjYXJyeSB0aGUgdW5pdmVyc2FsIGxvZ28gYXBwcm92ZWQgYnkgdGhlIEZJQSBEaXNhYmlsaXR5IGFuZCBBY2Nlc3NpYmlsaXR5IENvbW1pc3Npb24gZGlzdGluZ3Vpc2hpbmcgdGhlbSBhcyBhIGRpc2FibGVkIERyaXZlciwgb24gYm90aCBjYXIgZG9vcnMsIGFuZCBhdCB0aGUgZnJvbnQgYW5kIHJlYXIgb2YgdGhlaXIgQ29tcGV0aXRpb24gdmVoaWNsZSBkdXJpbmcgYm90aCBDb21wZXRpdGlvbiBhbmQgdGVzdGluZy4KPC9wMT4KCgoKPGIyIGlkPSI1LjMiPjUuMyBTQUZFVFkgUkVRVUlSRU1FTlRTOjwvYjI+CjxwMT4KQWxsIGNhcnMgbXVzdCBiZSBpbiBjb25mb3JtaXR5IHdpdGggdGhlIGxpc3Qgb2Ygc2FmZXR5IGZlYXR1cmVzIGFjY29yZGluZyB0byBUZWNobmljYWwgUmVndWxhdGlvbnMgZm9yIEFwcGVuZGl4IEsgb2YgdGhlIEZJQSBJbnRlcm5hdGlvbmFsIFNwb3J0aW5nIENvZGUuCjwvcDE+CgoKCjxiMiBpZD0iNS40Ij41LjQgR0VORVJBTCBURUNITklDQUwgUkVRVUlSRU1FTlRTICYgRVhDRVBUSU9OUzo8L2IyPgoKCgo8YjIgaWQ9IjUuNSI+NS41IENIQVNTSVM6PC9iMj4KPHAxPkFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0PC9wMT4KCgoKPGIyIGlkPSI1LjYiPjUuNiBCT0RZV09SSzo8L2IyPgoKPHAxPjxzdHJvbmc+NS42LjEgTW9kaWZpY2F0aW9ucyBQZXJtaXR0ZWQ8L3N0cm9uZz48L3AxPgo8dWwxPgo8bGk+R2VuZXJhbDogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjxsaT5JbnRlcmlvcjogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjxsaT5FeHRlcmlvcjogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjxsaT5TaWxob3VldHRlOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPkdyb3VuZCBDbGVhcmFuY2U6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8L3VsMT4KCjxwMT48c3Ryb25nPjUuNi4yIE1vZGlmaWNhdGlvbnMgUHJvaGliaXRlZDwvc3Ryb25nPjwvcDE+Cjx1bDE+CjxsaT5HZW5lcmFsOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPkludGVyaW9yOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPkV4dGVyaW9yOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPlNpbGhvdWV0dGU6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8bGk+R3JvdW5kIENsZWFyYW5jZTogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjwvdWwxPgoKCgo8YjIgaWQ9IjUuNyI+NS43IEVOR0lORTwvYjI+Cjx1bDE+CjxsaT5QZXJtaXR0ZWQgTW9kaWZpY2F0aW9uczogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjxsaT5Qcm9oaWJpdGVkIE1vZGlmaWNhdGlvbnM6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8bGk+TG9jYXRpb246IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8bGk+T2lsL1dhdGVyIENvb2xpbmc6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8bGk+SW5kdWN0aW9uIFN5c3RlbXM6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8bGk+RXhoYXVzdCBTeXN0ZW1zOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPklnbml0aW9uIFN5c3RlbTogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjxsaT5GdWVsIGRlbGl2ZXJ5IHN5c3RlbXM6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8L3VsMT4KCjxwMT4KQWxsIENhcnMgYXJlIHRvIHJ1biB3aXRoIGEgTVNEIDYgQUwgaWduaXRpb24gQm94IHdpdGggYW4gYW50aS10YW1wZXIgc2VhbCBpbiBwbGFjZSBhbmQgc2V0IGF0IGl0cyBtYXhpbXVtIFJldnMgYnkgdGhlIENoYW1waW9uc2hpcCBFbGlnaWJpbGl0eSBTY3J1dGluZWVyLgo8L3AxPgoKCjxiMiBpZD0iNS44Ij41LjggU1VTUEVOU0lPTjwvYjI+Cjx1bDE+CjxsaT5QZXJtaXR0ZWQgTW9kaWZpY2F0aW9uczogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjxsaT5Qcm9oaWJpdGVkIE1vZGlmaWNhdGlvbnM6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8bGk+V2hlZWxiYXNlL1RyYWNrOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPlN1c3BlbnNpb24gcGljayB1cCBwb2ludHMgYXJlIHRvIGJlIGluIHRoZSBvcmlnaW5hbCBwb3NpdGlvbjwvbGk+CjwvdWwxPgoKCjxiMiBjaWQ9IjUuOSI+NS45IFRSQU5TTUlTU0lPTlM8L2IyPgo8dWwxPgo8bGk+UGVybWl0dGVkIE1vZGlmaWNhdGlvbnM6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L2xpPgo8bGk+UHJvaGliaXRlZCBNb2RpZmljYXRpb25zOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPlRyYW5zbWlzc2lvbiAmIERyaXZlIFJhdGlvczogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjwvdWwxPgoKCgo8YjIgaWQ9IjUuMTAiPjUuMTAgRUxFQ1RSSUNTPC9iMj4KPHVsMT4KPGxpPkV4dGVyaW9yIExpZ2h0aW5nOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydDwvbGk+CjxsaT5SZWFyIEZvZyBMaWdodDogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQ8L2xpPgo8bGk+QmF0dGVyaWVzOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydDwvbGk+CjxsaT5HZW5lcmF0b3JzOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydDwvbGk+CjwvdWwxPgoKCjxiMiAgaWQ9IjUuMTEiPjUuMTEgQlJBS0VTPC9iMj4KPHVsMT4KPGxpPlBlcm1pdHRlZCBNb2RpZmljYXRpb25zOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydDwvbGk+CjxsaT5Qcm9oaWJpdGVkIG1vZGlmaWNhdGlvbnM6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0PC9saT4KPC91bDE+CgoKPGIyICBpZD0iNS4xMiI+NS4xMiBXSEVFTFMvU1RFRVJJTkc8L2IyPgo8dWwxPgo8bGk+UGVybWl0dGVkIG9wdGlvbnM6IEFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0PC9saT4KPGxpPlByb2hpYml0ZWQgb3B0aW9uczogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQ8L2xpPgo8bGk+Q29uc3RydWN0aW9uICYgTWF0ZXJpYWxzOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydDwvbGk+CjxsaT5EaW1lbnNpb25zOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPC91bDE+CgoKCjxiMiAgaWQ9IjUuMTMiPjUuMTMgVFlSRVM8L2IyPgo8dWwxPgo8bGk+U3BlY2lmaWNhdGlvbnM6IOKAmEzigJkgU2VjdGlvbiBmb3IgR1QgYW5kIEdUUyBjYXJzLiDigJhM4oCZIG9yIOKAmE3igJkgU2VjdGlvbiBmb3IgVG91cmluZyBDYXJzPC9saT4KPGxpPk5vbWluYXRlZCBNYW51ZmFjdHVyZXJzOiBEdW5sb3AgKG9yIEdvb2R5ZWFyIEJsdWUgU3RyZWFrIGVxdWl2YWxlbnQpPC9saT4KPGxpPlRoZSB1c2Ugb2YgdHlyZSBoZWF0aW5nL2hlYXQgcmV0ZW50aW9uIGRldmljZXMsIHR5cmUgdHJlYXRtZW50cyBhbmQgY29tcG91bmRzIGlzIHByb2hpYml0ZWQ8L2xpPgo8L3VsMT4KCgoKPGIyICBpZD0iNS4xNCI+NS4xNCBXRUlHSFRTPC9iMj4KPHAxPkFzIHBlciBGSUEgSFRQIGFuZCBFcXVpcGUgVGVjaG5pY2FsIHBhc3Nwb3J0IGFsbG93YW5jZXM8L3AxPgoKCgo8YjIgIGlkPSI1LjE1Ij41LjE1IEZVRUwgVEFOSy9GVUVMPC9iMj4KPHVsMT4KPGxpPlR5cGVzOiBBcyBwZXIgRklBIEhUUCBhbmQgRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9saT4KPGxpPkxvY2F0aW9uczogQXMgcGVyIEZJQSBIVFAgYW5kIEVxdWlwZSBUZWNobmljYWwgcGFzc3BvcnQgYWxsb3dhbmNlczwvbGk+CjxsaT5GdWVsOiBNYXggMTAyIFJvbjwvbGk+CjwvdWwxPgoKCgo8YjIgaWQ9IjUuMTYiPjUuMTYgU0lMRU5DSU5HPC9iMj4KCjxwMT4KVmVoaWNsZXMgbXVzdCByZXNwZWN0IGEgbm9pc2UgbGltaXQgb2YgMTA1ZGIoQSkgYXQgwr4gb2YgbWF4aW11bSBSUE0gYXQgYWxsIHRpbWVzLgo8L3AxPgoKPHAxPgpNZWFzdXJlbWVudHMgd2lsbCBiZSB0YWtlbiBhdCBhIGRpc3RhbmNlIG9mIDAuNSBtZXRyZXMgZnJvbSB0aGUgZXhoYXVzdCBvdXRsZXQgbGV2ZWwgYXQgYW4gYW5nbGUgb2YgNDXCsCB3aXRoIHRoZSBleGhhdXN0IGF4aXMuCjwvcDE+Cgo8cDE+Ck5vbiBob21vbG9nYXRlZCBleGhhdXN0L3NpbGVuY2luZyBjb21wb25lbnRzIGNhbiBiZSBmaXR0ZWQgdG8gZW5zdXJlIGNvbXBsaWFuY2UuCjwvcDE+Cgo8cDE+CkV4aGF1c3QgZ2FzIG1heSBvbmx5IGV4aXQgYXQgdGhlIGVuZCBvZiB0aGUgc3lzdGVtLgo8L3AxPgoKCjxiMiBpZD0iNS4xNyI+NS4xNyBOVU1CRVJTIGFuZCBDSEFNUElPTlNISVAgREVDQUxTPC9iMj4KPHVsMT4KPGxpPlBvc2l0aW9uczogV2luZHNjcmVlbiBhbmQgZnJvbnQgd2luZzwvbGk+CjxsaT5TdXBwbGllcnM6IEVDUjwvbGk+CjwvdWwxPgoKCgo8YjIgaWQ9IjUuMTgiPjUuMTggRXF1aXBlIFRlY2huaWNhbCBwYXNzcG9ydCBhbGxvd2FuY2VzPC9iMj4KPHVsMT4KPGxpPjMgc3luY3JvIE1HQiBnZWFyYm94IG1heSBiZSByZXBsYWNlZDwvbGk+CjxsaT5NYXggdHlyZSB3aWR0aHMgZGVmaW5lZDwvbGk+CjxsaT5BZGp1c3RhYmxlIHNob2NrcyBwZXJtaXR0ZWQgYnV0IHNlYWxlZDwvbGk+CjxsaT5UVlIgR3JpZmZpdGggbWluIHdlaWdodCAxMDAwa2c8L2xpPgo8bGk+U2FmZXR5IG1vZGlmaWNhdGlvbnMgY2FzZS1ieS1jYXNlPC9saT4KPGxpPk5vbiBob21vbG9nYXRlZCBtYXRlcmlhbHMgcHJvaGliaXRlZDwvbGk+CjxsaT5FbGVjdHJvbmljIGlnbml0aW9uIGFsbG93ZWQgaW5zaWRlIGRpc3RyaWJ1dG9yPC9saT4KPGxpPkJhbGxhc3QgbG9jYXRpb24gcmVzdHJpY3RlZDwvbGk+CjxsaT5BbHRlcm5hdG9ycyBmcmVlPC9saT4KPGxpPkJyYWtlIGR1Y3QgcmVzdHJpY3Rpb25zPC9saT4KPGxpPk1TVUsgZW5naW5lIHNlYWwgcmVxdWlyZWQ8L2xpPgo8bGk+QWx1bWluaXVtIGJhY2sgcGxhdGVzIHBlcm1pdHRlZDwvbGk+CjxsaT5EaWZmIGNvb2xpbmcgcGVybWl0dGVkPC9saT4KPGxpPkNsdXRjaCBwZXIgaG9tb2xvZ2F0aW9uPC9saT4KPGxpPlQxMCBnZWFyYm94IGxpbmthZ2VzIG1heSBiZSByb3NlIGpvaW50ZWQ8L2xpPgo8L3VsMT4KCjwvZGl2PgoKPGJ1dHRvbiBjbGFzcz0iYWNjb3JkaW9uIj42LiBBcHBlbmRpY2VzPC9idXR0b24+CjxkaXYgY2xhc3M9InBhbmVsIGdsYXNzIiBpZD0ic2VjdGlvbi02Ij4KPGIyICBpZD0iNiI+Ni4gQVBQRU5ESUNFUzwvYjI+Cgo8cDE+ClRoZSBmb2xsb3dpbmcgQ29tbWVyY2lhbCBVbmRlcnRha2luZ3MgYXJlIG5vdCBzdWJqZWN0IHRvIHRoZSBKdWRpY2lhbCBwcm9jZWR1cmVzIG9mIGVpdGhlciB0aGUgCkNoYW1waW9uc2hpcCBTdGV3YXJkcyBhbmQvb3IgTW90b3JzcG9ydCBVSy4KPC9wMT4KCgoKPGIzIGlkPSI2LjEiPjYuMSBSQUNFIE9SR0FOSVNJTkcgQ0xVQlMgJiBDT05UQUNUUzo8L2IzPgoKPHVsMT4KPGxpPkphZGUgTWV5ZXIgLSBDaGFtcGlvbnNoaXAgQ28tb3JkaW5hdG9yIC0gamFkZUBlcXVpcGVjbGFzc2ljcmFjaW5nLmNvbSAtIDA3Nzg3IDQ0NDU1NTwvbGk+CjxsaT5QZXRlciBCdXJjaGlsbCAtIENoYW1waW9uc2hpcCBDby1vcmRpbmF0b3IgLSBwZXRlckBlcXVpcGVjbGFzc2ljcmFjaW5nLmNvbSAtIDA3NTA2IDAxNDUyNzwvbGk+CjxsaT5HcmFlbWUgV2lsbGlhbXMgLSBTZXJpZXMgQ28tb3JkaW5hdG9yIC0gZ3JhZW1lQGVxdWlwZWNsYXNzaWNyYWNpbmcuY29tIC0gMDc5NTcgNDk5OTYyPC9saT4KPGxpPktldmluIE1vb3JlIC0gQ2hhbXBpb25zaGlwIFNjcnV0aW5lZXIgLSBrZXZpbkBlcXVpcGVjbGFzc2ljcmFjaW5nLmNvbSAtIDA3NzkwIDQyOTc5MTwvbGk+CjxsaT5Sb2IgQ3VsbCDigJMgQ0VPIC0gcm9iQGVxdWlwZWNsYXNzaWNyYWNpbmcuY29tIOKAkyAwNzgyNSAzNDU5OTk8L2xpPgo8L3VsMT4KCgoKPGIzIGlkPSI2LjIiPjYuMiBDT01NRVJDSUFMIFVOREVSVEFLSU5HUzo8L2IzPgoKPHAxPgpBbGwgQ29tcGV0aXRvcnMgbXVzdCBhYmlkZSBieSB0aGUgZ3VpZGVsaW5lcyBzZXQgZG93biBpbiB0ZXJtcyBvZiBzcG9uc29yc2hpcCBmcm9tIGFsbCBDaGFtcGlvbnNoaXAgcGFydG5lcnMuCjwvcDE+Cgo8cDE+ClRoZSBQcm9tb3RlciByZXNlcnZlcyBzcGFjZSBvbiB0aGUgY2FycyBvZiBhbGwgQ29tcGV0aXRvcnMuCjwvcDE+CgoKPGIzICBpZD0iNi4zIj42LjMgVFJBREUgU1VQUE9SVCBWRUhJQ0xFIERFQ0FMUzo8L2IzPgo8cDE+U3VwcGxpZWQgYnkgRUNSPC9wMT4KCgo8YjMgIGlkPSI2LjQiPjYuNCBQUk9NT1RJT05BTCBBQ1RJVklUSUVTOjwvYjM+CjxwMT5QZXIgRXZlbnQ8L3AxPgoKCgo8YjMgIGlkPSI2LjUiPjYuNSBQQVNTRVMgQU5EIEFDQ0VTUzwvYjM+Cgo8cDE+Ck5vdGUgdGhhdCB0aGUgZGV0YWlsIGluIHRoaXMgc2VjdGlvbiBtYXkgYmUgYWRqdXN0ZWQgYWNjb3JkaW5nIHRvIHByb3RvY29scyBpbiBwbGFjZSBhdCBzcGVjaWZpYyBFdmVudHMuCjwvcDE+Cgo8cDE+CkFsbCBwYXJ0aWNpcGFudHMgd2hlbiBwcmVzZW50IGluIGFueSBjYXBhY2l0eSB3aGF0c29ldmVyIGluIHRoZSByZXNlcnZlZCBhcmVhcyBtdXN0IHdlYXIgdGhlaXIgcGFzcyAKaW4gc3VjaCBhIHdheSB0aGF0IGl0IGlzIGNsZWFybHkgdmlzaWJsZS4KPC9wMT4KCjxwMT4KVGhlIFByb21vdGVyIGFsb25lIGlzIGVtcG93ZXJlZCB0byBpc3N1ZSBwYXNzZXMuCjwvcDE+Cgo8cDE+PHN0cm9uZz5UaGUgZm9sbG93aW5nIHBhc3NlcyB3aWxsIGJlIGlzc3VlZDo8L3N0cm9uZz48L3AxPgoKPHVsMT4KPGxpPjEuIEZ1bGwgQWNjZXNzIFBhc3NlczogYWNjZXNzIHRvIHRoZSB3aG9sZSBzaXRlLCBpbmNsdWRpbmcgcGFkZG9jaywgcGl0IGdhcmFnZXMsIHBpdCBsYW5lIGFuZCBwaXQgd2FsbCwgd2l0aCBubyByZXN0cmljdGlvbnMgaW4gdGVybXMgb2YgY2xvdGhpbmcuPC9saT4KPGxpPjIuIEFjY2VzcyB0byB0aGUgcGl0IHdhbGwgc2lnbmFsbGluZyBhcmVhIGlzIGxpbWl0ZWQgdG8gd29ya2luZyBUZWFtIG1lbWJlcnMgb25seSB3ZWFyaW5nIGEgcGl0IHdhbGwgcGFzcyBpbiB0aGUgYXJlYSByZXNlcnZlZCBmb3IgdGhlIFRlYW0gKDQgaXNzdWVkKS48L2xpPgo8bGk+My4gUGFkZG9jayBQYXNzZXM6IGdlbmVyYWwgZW50cmFuY2UgYW5kIGFjY2VzcyB0byB0aGUgcGFkZG9jay48L2xpPgo8bGk+NC4gTWVkaWEgUGFzc2VzOiBnZW5lcmFsIGVudHJhbmNlLCBhY2Nlc3MgdG8gdGhlIHBhZGRvY2ssIG1lZGlhIGNlbnRyZSBhbmQgc3RhcnRpbmcgZ3JpZC48L2xpPgo8L3VsMT4KCjxwMT4KQWNjZXNzIHRvIHRyYWNrIHJvYWRzIGFuZCBwaXQgbGFuZSBpcyBvbmx5IGF1dGhvcmlzZWQgd2l0aCBhcHByb3ByaWF0ZSBzdGlja2VyIGFuZCB0YWJhcmQgYXMgc3RhdGVkIGluIG1lZGlhIGJyaWVmaW5nIGRvY3VtZW50cy4KPC9wMT4KCjxwMT4KUGFzc2VzIG1heSBvbmx5IGJlIHVzZWQgYnkgdGhlIHBlcnNvbiBmb3Igd2hvbSB0aGV5IGFyZSBpbnRlbmRlZCBhbmQgZm9yIHRoZSBwdXJwb3NlIGZvciB3aGljaCB0aGV5IGhhdmUgYmVlbiBpc3N1ZWQuCjwvcDE+Cgo8cDE+ClRlYW1zIGFyZSBub3QgYWxsb3dlZCB0byBleGNsdWRlIHRob3NlIHdpdGggZWl0aGVyIEZ1bGwgQWNjZXNzIG9yIE1lZGlhIHBhc3NlcyBmcm9tIHRoZWlyIHBpdCBnYXJhZ2VzLgo8L3AxPgoKPHAxPgpUZWFtcyBhcmUgbm90IGF1dGhvcmlzZWQgdG8gcHJvZHVjZSBvciBkaXN0cmlidXRlIGFkZGl0aW9uYWwgcGFzc2VzIHdoaWNoIHN1cGVyc2VkZSB0aG9zZSBwYXNzZXMgZGlzdHJpYnV0ZWQgYnkgdGhlIFByb21vdGVyLgo8L3AxPgoKPHAxPgpUZWFtIG1lbWJlcnMgYXJlIHJlc3RyaWN0ZWQgdG8gdGhlIGFyZWEgb2YgdGhlIHBpdCB3YWxsIG9wcG9zaXRlIHRoZWlyIG93biBnYXJhZ2UuCjwvcDE+Cgo8cDE+Ck9mZmljaWFscyBhbmQgdGhlIFByb21vdGVy4oCZcyByZXByZXNlbnRhdGl2ZXMgd2l0aCBGdWxsIEFjY2VzcyBwYXNzZXMgd2lsbCBoYXZlIGFjY2VzcyB0byBhbnkgVGVhbSBhcmVhcyB3aXRoaW4gdGhlIGNpcmN1aXQgYm91bmRhcmllcy4KPC9wMT4KCgoKPGIzICBpZD0iNi41LjEiPjYuNS4xIE51bWJlcnMgb2YgUGFzc2VzPC9iMz4KCjxwMT5UaGUgZm9sbG93aW5nIHBhc3NlcyB3aWxsIGJlIGdpdmVuIGZvciBlYWNoIGNhciBlbnRlcmVkIGR1cmluZyB0aGUgMjAyNiBzZWFzb246PC9wMT4KCjx1bDE+CjxsaT5QaXRsYW5lOiA4PC9saT4KPGxpPlBpdCBXYWxsOiA0PC9saT4KPGxpPlBhZGRvY2s6IDg8L2xpPgo8bGk+Q2FyIFBhc3NlczogNDwvbGk+CjwvdWwxPgoKPHAxPgpQbGVhc2Ugbm90ZSB0aGF0IHRoZSBhbW91bnRzIGFib3ZlIG1heSBiZSBhbHRlcmVkIGluIGNhc2VzIG9mIGZvcmNlIG1hamV1cmUuCjwvcDE+CgoKCgoKPC9kaXY+Cgo8YnV0dG9uIGNsYXNzPSJhY2NvcmRpb24iPjcuIFJlZ2lzdHJhdGlvbjwvYnV0dG9uPgo8ZGl2IGNsYXNzPSJwYW5lbCBnbGFzcyIgaWQ9InNlY3Rpb24tNyI+CgoKPGIyICBpZD0iNyI+Ny4gUkVHSVNUUkFUSU9OIEZPUk08L2IyPgo8cDE+RnVsbCBSZWdpc3RyYXRpb24gZm9ybSBpcyBhdmFpbGFibGUgaGVyZTogPGEgaHJlZj0iaHR0cHM6Ly9lcXVpcGVjaGFtcGlvbnNoaXBtYW5hZ2VyLmNvLnVrL3JlZ2lzdGVyLWZvci10aGUtMjAyNi1jaGFtcGlvbnNoaXAiPlJlZ2lzdGVyIGZvciB0aGUgMjAyNiBDaGFtcGlvbnNoaXA8L2E+PC9wMT4KCgo8L2Rpdj4KCgo8YnV0dG9uIGNsYXN