PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwvL0VOIj4KPCEtLSBzYXZlZCBmcm9tIHVybD0oMDA2OClodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb3Blbm1vdGlmL3N1cHBvcnRlcnMvbWV0cm9saW5rL2xpY2Vuc2UuaHRtbCAtLT4KPEhUTUwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5zOm8gPSAKInVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dyA9IAoidXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCI+PEhFQUQ+PFRJVExFPk1ldHJvIExpbmsgT3BlbiBNb3RpZiBMaWNlbnNlPC9USVRMRT4KPE1FVEEgaHR0cC1lcXVpdj1Db250ZW50LVR5cGUgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXdpbmRvd3MtMTI1MiI+CjxNRVRBIGNvbnRlbnQ9V29yZC5Eb2N1bWVudCBuYW1lPVByb2dJZD4KPE1FVEEgY29udGVudD0iTVNIVE1MIDYuMDAuMjgwMC4xNDkxIiBuYW1lPUdFTkVSQVRPUj4KPE1FVEEgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgOSIgbmFtZT1PcmlnaW5hdG9yPjxMSU5LIApocmVmPSIuL09wZW5fTW90aWZfTGljZW5zZV92ZXIxLjAwX2ZpbGVzL2ZpbGVsaXN0LnhtbCIgcmVsPUZpbGUtTGlzdD48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KIDxvOkRvY3VtZW50UHJvcGVydGllcz4KICA8bzpBdXRob3I+MTAtMDYtOTkgVzk4PC9vOkF1dGhvcj4KICA8bzpMYXN0QXV0aG9yPlByZWZlcnJlZCBDdXN0b21lcjwvbzpMYXN0QXV0aG9yPgogIDxvOlJldmlzaW9uPjI8L286UmV2aXNpb24+CiAgPG86VG90YWxUaW1lPjExPC9vOlRvdGFsVGltZT4KICA8bzpMYXN0UHJpbnRlZD4yMDAwLTA1LTEwVDIzOjM4OjAwWjwvbzpMYXN0UHJpbnRlZD4KICA8bzpDcmVhdGVkPjIwMDAtMDUtMTFUMTk6MzY6MDBaPC9vOkNyZWF0ZWQ+CiAgPG86TGFzdFNhdmVkPjIwMDAtMDUtMTFUMTk6MzY6MDBaPC9vOkxhc3RTYXZlZD4KICA8bzpQYWdlcz40PC9vOlBhZ2VzPgogIDxvOldvcmRzPjE3NTA8L286V29yZHM+CiAgPG86Q2hhcmFjdGVycz45OTc3PC9vOkNoYXJhY3RlcnM+CiAgPG86Q29tcGFueT5Ba2VybWFuPC9vOkNvbXBhbnk+CiAgPG86Qnl0ZXM+MzU4NDA8L286Qnl0ZXM+CiAgPG86TGluZXM+ODM8L286TGluZXM+CiAgPG86UGFyYWdyYXBocz4xOTwvbzpQYXJhZ3JhcGhzPgogIDxvOkNoYXJhY3RlcnNXaXRoU3BhY2VzPjEyMjUyPC9vOkNoYXJhY3RlcnNXaXRoU3BhY2VzPgogIDxvOlZlcnNpb24+OS4yNzIwPC9vOlZlcnNpb24+CiA8L286RG9jdW1lbnRQcm9wZXJ0aWVzPgo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4KIDx3OldvcmREb2N1bWVudD4KICA8dzpEaXNwbGF5SG9yaXpvbnRhbERyYXdpbmdHcmlkRXZlcnk+MDwvdzpEaXNwbGF5SG9yaXpvbnRhbERyYXdpbmdHcmlkRXZlcnk+CiAgPHc6RGlzcGxheVZlcnRpY2FsRHJhd2luZ0dyaWRFdmVyeT4wPC93OkRpc3BsYXlWZXJ0aWNhbERyYXdpbmdHcmlkRXZlcnk+CiAgPHc6VXNlTWFyZ2luc0ZvckRyYXdpbmdHcmlkT3JpZ2luLz4KICA8dzpDb21wYXRpYmlsaXR5PgogICA8dzpGb290bm90ZUxheW91dExpa2VXVzgvPgogICA8dzpTaGFwZUxheW91dExpa2VXVzgvPgogICA8dzpBbGlnblRhYmxlc1Jvd0J5Um93Lz4KICAgPHc6Rm9yZ2V0TGFzdFRhYkFsaWdubWVudC8+CiAgIDx3OkxheW91dFJhd1RhYmxlV2lkdGgvPgogICA8dzpMYXlvdXRUYWJsZVJvd3NBcGFydC8+CiAgPC93OkNvbXBhdGliaWxpdHk+CiA8L3c6V29yZERvY3VtZW50Pgo8L3htbD48IVtlbmRpZl0tLT4KPFNUWUxFPkBwYWdlIFNlY3Rpb24xIHtzaXplOiA4LjVpbiAxMS4waW47IG1hcmdpbjogMS4waW4gMS4waW4gMS4waW4gMS4waW47IG1zby1oZWFkZXItbWFyZ2luOiAxLjBpbjsgbXNvLWZvb3Rlci1tYXJnaW46IDEuMGluOyBtc28tZm9vdGVyOiB1cmwoIi4vT3Blbl9Nb3RpZl9MaWNlbnNlX3ZlcjEuMDBfZmlsZXMvaGVhZGVyLmh0bSIpIGYxOyBtc28tcGFwZXItc291cmNlOiAwOyB9ClAuTXNvTm9ybWFsIHsKCUZPTlQtU0laRTogMTBwdDsgTUFSR0lOOiAwaW4gMGluIDBwdDsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tc3R5bGUtcGFyZW50OiAiIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iCn0KTEkuTXNvTm9ybWFsIHsKCUZPTlQtU0laRTogMTBwdDsgTUFSR0lOOiAwaW4gMGluIDBwdDsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tc3R5bGUtcGFyZW50OiAiIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iCn0KRElWLk1zb05vcm1hbCB7CglGT05ULVNJWkU6IDEwcHQ7IE1BUkdJTjogMGluIDBpbiAwcHQ7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXN0eWxlLXBhcmVudDogIiI7IG1zby1wYWdpbmF0aW9uOiB3aWRvdy1vcnBoYW47IG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIgp9ClAuTXNvSGVhZGVyIHsKCUZPTlQtU0laRTogMTBwdDsgTUFSR0lOOiAwaW4gMGluIDBwdDsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tcGFnaW5hdGlvbjogd2lkb3ctb3JwaGFuOyBtc28tZmFyZWFzdC1mb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiI7IHRhYi1zdG9wczogY2VudGVyIDMuMGluIHJpZ2h0IDYuMGluCn0KTEkuTXNvSGVhZGVyIHsKCUZPTlQtU0laRTogMTBwdDsgTUFSR0lOOiAwaW4gMGluIDBwdDsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tcGFnaW5hdGlvbjogd2lkb3ctb3JwaGFuOyBtc28tZmFyZWFzdC1mb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiI7IHRhYi1zdG9wczogY2VudGVyIDMuMGluIHJpZ2h0IDYuMGluCn0KRElWLk1zb0hlYWRlciB7CglGT05ULVNJWkU6IDEwcHQ7IE1BUkdJTjogMGluIDBpbiAwcHQ7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iOyB0YWItc3RvcHM6IGNlbnRlciAzLjBpbiByaWdodCA2LjBpbgp9ClAuTXNvRm9vdGVyIHsKCUZPTlQtU0laRTogMTBwdDsgTUFSR0lOOiAwaW4gMGluIDBwdDsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tcGFnaW5hdGlvbjogd2lkb3ctb3JwaGFuOyBtc28tZmFyZWFzdC1mb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiI7IHRhYi1zdG9wczogY2VudGVyIDMuMGluIHJpZ2h0IDYuMGluCn0KTEkuTXNvRm9vdGVyIHsKCUZPTlQtU0laRTogMTBwdDsgTUFSR0lOOiAwaW4gMGluIDBwdDsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tcGFnaW5hdGlvbjogd2lkb3ctb3JwaGFuOyBtc28tZmFyZWFzdC1mb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiI7IHRhYi1zdG9wczogY2VudGVyIDMuMGluIHJpZ2h0IDYuMGluCn0KRElWLk1zb0Zvb3RlciB7CglGT05ULVNJWkU6IDEwcHQ7IE1BUkdJTjogMGluIDBpbiAwcHQ7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iOyB0YWItc3RvcHM6IGNlbnRlciAzLjBpbiByaWdodCA2LjBpbgp9ClAuSDIgewoJRk9OVC1XRUlHSFQ6IGJvbGQ7IEZPTlQtU0laRTogMThwdDsgTUFSR0lOOiA1cHQgMGluOyBMQVlPVVQtR1JJRC1NT0RFOiBsaW5lOyBGT05ULUZBTUlMWTogIlRpbWVzIE5ldyBSb21hbiI7IG1zby1wYWdpbmF0aW9uOiB3aWRvdy1vcnBoYW47IG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXN0eWxlLW5hbWU6IEgyOyBtc28tc3R5bGUtbmV4dDogTm9ybWFsOyBtc28tb3V0bGluZS1sZXZlbDogMzsgbXNvLWJpZGktZm9udC1zaXplOiAxMC4wcHQ7IG1zby1iaWRpLWZvbnQtd2VpZ2h0OiBub3JtYWwKfQpMSS5IMiB7CglGT05ULVdFSUdIVDogYm9sZDsgRk9OVC1TSVpFOiAxOHB0OyBNQVJHSU46IDVwdCAwaW47IExBWU9VVC1HUklELU1PREU6IGxpbmU7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tc3R5bGUtbmFtZTogSDI7IG1zby1zdHlsZS1uZXh0OiBOb3JtYWw7IG1zby1vdXRsaW5lLWxldmVsOiAzOyBtc28tYmlkaS1mb250LXNpemU6IDEwLjBwdDsgbXNvLWJpZGktZm9udC13ZWlnaHQ6IG5vcm1hbAp9CkRJVi5IMiB7CglGT05ULVdFSUdIVDogYm9sZDsgRk9OVC1TSVpFOiAxOHB0OyBNQVJHSU46IDVwdCAwaW47IExBWU9VVC1HUklELU1PREU6IGxpbmU7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tc3R5bGUtbmFtZTogSDI7IG1zby1zdHlsZS1uZXh0OiBOb3JtYWw7IG1zby1vdXRsaW5lLWxldmVsOiAzOyBtc28tYmlkaS1mb250LXNpemU6IDEwLjBwdDsgbXNvLWJpZGktZm9udC13ZWlnaHQ6IG5vcm1hbAp9ClAuSDMgewoJRk9OVC1XRUlHSFQ6IGJvbGQ7IEZPTlQtU0laRTogMTRwdDsgTUFSR0lOOiA1cHQgMGluOyBMQVlPVVQtR1JJRC1NT0RFOiBsaW5lOyBGT05ULUZBTUlMWTogIlRpbWVzIE5ldyBSb21hbiI7IG1zby1wYWdpbmF0aW9uOiB3aWRvdy1vcnBoYW47IG1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXN0eWxlLW5hbWU6IEgzOyBtc28tc3R5bGUtbmV4dDogTm9ybWFsOyBtc28tb3V0bGluZS1sZXZlbDogNDsgbXNvLWJpZGktZm9udC1zaXplOiAxMC4wcHQ7IG1zby1iaWRpLWZvbnQtd2VpZ2h0OiBub3JtYWwKfQpMSS5IMyB7CglGT05ULVdFSUdIVDogYm9sZDsgRk9OVC1TSVpFOiAxNHB0OyBNQVJHSU46IDVwdCAwaW47IExBWU9VVC1HUklELU1PREU6IGxpbmU7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tc3R5bGUtbmFtZTogSDM7IG1zby1zdHlsZS1uZXh0OiBOb3JtYWw7IG1zby1vdXRsaW5lLWxldmVsOiA0OyBtc28tYmlkaS1mb250LXNpemU6IDEwLjBwdDsgbXNvLWJpZGktZm9udC13ZWlnaHQ6IG5vcm1hbAp9CkRJVi5IMyB7CglGT05ULVdFSUdIVDogYm9sZDsgRk9OVC1TSVpFOiAxNHB0OyBNQVJHSU46IDVwdCAwaW47IExBWU9VVC1HUklELU1PREU6IGxpbmU7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tc3R5bGUtbmFtZTogSDM7IG1zby1zdHlsZS1uZXh0OiBOb3JtYWw7IG1zby1vdXRsaW5lLWxldmVsOiA0OyBtc28tYmlkaS1mb250LXNpemU6IDEwLjBwdDsgbXNvLWJpZGktZm9udC13ZWlnaHQ6IG5vcm1hbAp9ClAuQmxvY2txdW90ZSB7CglGT05ULVNJWkU6IDEycHQ7IE1BUkdJTjogNXB0IDAuMjVpbjsgTEFZT1VULUdSSUQtTU9ERTogbGluZTsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tcGFnaW5hdGlvbjogd2lkb3ctb3JwaGFuOyBtc28tZmFyZWFzdC1mb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiI7IG1zby1zdHlsZS1uYW1lOiBCbG9ja3F1b3RlOyBtc28tYmlkaS1mb250LXNpemU6IDEwLjBwdAp9CkxJLkJsb2NrcXVvdGUgewoJRk9OVC1TSVpFOiAxMnB0OyBNQVJHSU46IDVwdCAwLjI1aW47IExBWU9VVC1HUklELU1PREU6IGxpbmU7IEZPTlQtRkFNSUxZOiAiVGltZXMgTmV3IFJvbWFuIjsgbXNvLXBhZ2luYXRpb246IHdpZG93LW9ycGhhbjsgbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tc3R5bGUtbmFtZTogQmxvY2txdW90ZTsgbXNvLWJpZGktZm9udC1zaXplOiAxMC4wcHQKfQpESVYuQmxvY2txdW90ZSB7CglGT05ULVNJWkU6IDEycHQ7IE1BUkdJTjogNXB0IDAuMjVpbjsgTEFZT1VULUdSSUQtTU9ERTogbGluZTsgRk9OVC1GQU1JTFk6ICJUaW1lcyBOZXcgUm9tYW4iOyBtc28tcGFnaW5hdGlvbjogd2lkb3ctb3JwaGFuOyBtc28tZmFyZWFzdC1mb250LWZhbWlseTogIlRpbWVzIE5ldyBSb21hbiI7IG1zby1zdHlsZS1uYW1lOiBCbG9ja3F1b3RlOyBtc28tYmlkaS1mb250LXNpemU6IDEwLjBwdAp9CkRJVi5TZWN0aW9uMSB7CglwYWdlOiBTZWN0aW9uMQp9Ck9MIHsKCU1BUkdJTi1CT1RUT006IDBpbgp9ClVMIHsKCU1BUkdJTi1CT1RUT006IDBpbgp9CjwvU1RZTEU+CjwvSEVBRD4KPEJPRFkgbGFuZz1FTi1VUyBzdHlsZT0idGFiLWludGVydmFsOiAuNWluIiBiZ0NvbG9yPXdoaXRlPgo8RElWIGNsYXNzPVNlY3Rpb24xPgo8UCBjbGFzcz1IMiBzdHlsZT0iVEVYVC1BTElHTjogY2VudGVyIiBhbGlnbj1jZW50ZXI+TUVUUk8gTElOSyBQVUJMSUMgTElDRU5TRSAKPEJSPk1PVElGIEdSQVBISUNBTCBVU0VSIElOVEVSRkFDRSBTT0ZUV0FSRTxCUj5WZXJzaW9uIDEuMDA8L1A+CjxQIGNsYXNzPU1zb05vcm1hbD48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+VEhFIEFDQ09NUEFOWUlORyBQUk9HUkFNIElTIFBST1ZJREVEIFVOREVSIFRIRSBURVJNUyBPRiBUSElTIApNRVRSTyBMSU5LIFBVQkxJQyBMSUNFTlNFICgiQUdSRUVNRU5UIikuIEFOWSBVU0UsIFJFUFJPRFVDVElPTiBPUiBESVNUUklCVVRJT04gCk9GIFRIRSBQUk9HUkFNIENPTlNUSVRVVEVTIFJFQ0lQSUVOVCdTIEFDQ0VQVEFOQ0UgT0YgVEhJUyBBR1JFRU1FTlQuIDwvUD4KPFAgY2xhc3M9SDM+MS4gREVGSU5JVElPTlMgPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+IkNvbnRyaWJ1dGlvbiIgbWVhbnM6IDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8T0wgc3R5bGU9Ik1BUkdJTi1UT1A6IDBpbiIgdHlwZT1hPgogIDxMSSBjbGFzcz1Nc29Ob3JtYWwgCiAgc3R5bGU9InRhYi1zdG9wczogbGlzdCAuNWluOyBtc28tb3V0bGluZS1sZXZlbDogMTsgbXNvLWxpc3Q6IGw2IGxldmVsMSBsZm85Ij5pbiAKICB0aGUgY2FzZSBvZiBNRVRSTyBMSU5LLCBJTkNPUlBPUkFURUQgKCJNRVRSTyBMSU5LIiksIHRoZSBNZXRybyBMaW5rIFByb2dyYW0sIAogIGFuZCA8L0xJPjwvT0w+CjxQIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0ibXNvLW91dGxpbmUtbGV2ZWw6IDEiPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8T0wgc3R5bGU9Ik1BUkdJTi1UT1A6IDBpbiIgdHlwZT1hIHN0YXJ0PTI+CiAgPExJIGNsYXNzPU1zb05vcm1hbCAKICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IC41aW47IG1zby1vdXRsaW5lLWxldmVsOiAxOyBtc28tbGlzdDogbDYgbGV2ZWwxIGxmbzkiPmluIAogIHRoZSBjYXNlIG9mIGVhY2ggQ29udHJpYnV0b3IsIDwvTEk+PC9PTD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJtc28tb3V0bGluZS1sZXZlbDogMSI+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxPTCBzdHlsZT0iTUFSR0lOLVRPUDogMGluIiB0eXBlPTE+CiAgPE9MIHN0eWxlPSJNQVJHSU4tVE9QOiAwaW4iIHR5cGU9MT4KICAgIDxMSSBjbGFzcz1Nc29Ob3JtYWwgCiAgICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IDEuMGluOyBtc28tb3V0bGluZS1sZXZlbDogMjsgbXNvLWxpc3Q6IGwwIGxldmVsMiBsZm8yIj5jaGFuZ2VzIAogICAgdG8gdGhlIFByb2dyYW0sIGFuZCAKICAgIDxMSSBjbGFzcz1Nc29Ob3JtYWwgCiAgICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IDEuMGluOyBtc28tb3V0bGluZS1sZXZlbDogMjsgbXNvLWxpc3Q6IGwwIGxldmVsMiBsZm8yIj5hZGRpdGlvbnMgCiAgICB0byB0aGUgUHJvZ3JhbTsgPC9MST48L09MPjwvT0w+CjxQIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0iTUFSR0lOLUxFRlQ6IDAuNzVpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDIiPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9Ik1BUkdJTi1MRUZUOiAwLjVpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDEiPndoZXJlIHN1Y2ggCmNoYW5nZXMgYW5kL29yIGFkZGl0aW9ucyB0byB0aGUgUHJvZ3JhbSBvcmlnaW5hdGUgZnJvbSBhbmQgYXJlIGRpc3RyaWJ1dGVkIGJ5IAp0aGF0IHBhcnRpY3VsYXIgQ29udHJpYnV0b3IuIEEgQ29udHJpYnV0aW9uICdvcmlnaW5hdGVzJyBmcm9tIGEgQ29udHJpYnV0b3IgaWYgCml0IHdhcyBhZGRlZCB0byB0aGUgUHJvZ3JhbSBieSBzdWNoIENvbnRyaWJ1dG9yIGl0c2VsZiBvciBhbnlvbmUgYWN0aW5nIG9uIHN1Y2ggCkNvbnRyaWJ1dG9yJ3MgYmVoYWxmLiBDb250cmlidXRpb25zIGRvIG5vdCBpbmNsdWRlIGFkZGl0aW9ucyB0byB0aGUgUHJvZ3JhbSAKd2hpY2g6IChpKSBhcmUgc2VwYXJhdGUgbW9kdWxlcyBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAKUHJvZ3JhbSB1bmRlciB0aGVpciBvd24gbGljZW5zZSBhZ3JlZW1lbnQsIGFuZCAoaWkpIGFyZSBub3QgZGVyaXZhdGl2ZSB3b3JrcyBvZiAKdGhlIFByb2dyYW0uIDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJNQVJHSU4tTEVGVDogMC41aW47IG1zby1vdXRsaW5lLWxldmVsOiAxIj48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPiJDb250cmlidXRvciIgbWVhbnMgVGhlIE9wZW4gR3JvdXAsIE1FVFJPIExJTksgYW5kIGFueSBvdGhlciAKZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgdGhlIFByb2dyYW0uIDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+IkxpY2Vuc2VkIFBhdGVudHMiIG1lYW4gcGF0ZW50IGNsYWltcyBsaWNlbnNhYmxlIGJ5IGEgCkNvbnRyaWJ1dG9yIHdoaWNoIGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlIHVzZSBvciBzYWxlIG9mIGl0cyAKQ29udHJpYnV0aW9uIGFsb25lIG9yIHdoZW4gY29tYmluZWQgd2l0aCB0aGUgUHJvZ3JhbS48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPiJPcGVuIFNvdXJjZSI8U1BBTiBzdHlsZT0ibXNvLXNwYWNlcnVuOiB5ZXMiPiZuYnNwOyAKPC9TUEFOPnByb2dyYW1zIG1lYW4gc29mdHdhcmUgZm9yIHRoZSBzb3VyY2UgY29kZSBpcyBhdmFpbGFibGUgd2l0aG91dCAKY29uZmlkZW50aWFsIG9yIHRyYWRlIHNlY3JldCByZXN0cmljdGlvbnMgYW5kIGZvciB3aGljaDxTUEFOIApzdHlsZT0ibXNvLXNwYWNlcnVuOiB5ZXMiPiZuYnNwOyA8L1NQQU4+dGhlIHNvdXJjZSBjb2RlIGFuZCBvYmplY3QgY29kZSBhcmUgCmF2YWlsYWJsZSBmb3IgZGlzdHJpYnV0aW9uIHdpdGhvdXQgbGljZW5zZSBjaGFyZ2VzLjwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+Ik1ldHJvIExpbmsgUHJvZ3JhbSIgbWVhbnMgdGhlIG9yaWdpbmFsIHZlcnNpb24gb2YgdGhlIApzb2Z0d2FyZSBhY2NvbXBhbnlpbmcgdGhpcyBBZ3JlZW1lbnQgYXMgcmVsZWFzZWQgYnkgTUVUUk8gTElOSywgaW5jbHVkaW5nIHNvdXJjZSAKY29kZSwgb2JqZWN0IGNvZGUgYW5kIGRvY3VtZW50YXRpb24sIGlmIGFueS4gPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD4iUHJvZ3JhbSIgbWVhbnMgdGhlIE1ldHJvIExpbmsgUHJvZ3JhbSBhbmQgQ29udHJpYnV0aW9ucy4gCjwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+IlJlY2lwaWVudCIgbWVhbnMgYW55b25lIHdobyByZWNlaXZlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIApBZ3JlZW1lbnQsIGluY2x1ZGluZyBhbGwgQ29udHJpYnV0b3JzLiA8L1A+CjxQIGNsYXNzPU1zb05vcm1hbD48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPFAgY2xhc3M9SDMgCnN0eWxlPSJNQVJHSU4tTEVGVDogMC41aW47IFRFWFQtSU5ERU5UOiAtMC4yNWluOyB0YWItc3RvcHM6IGxpc3QgLjVpbjsgbXNvLWxpc3Q6IGw0IGxldmVsMSBsZm84Ij48IVtpZiAhc3VwcG9ydExpc3RzXT4yLjxTUEFOIApzdHlsZT0iRk9OVDogN3B0ICdUaW1lcyBOZXcgUm9tYW4nIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgCjwvU1BBTj48IVtlbmRpZl0+R1JBTlQgT0YgUklHSFRTIDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+VGhlIHJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgbGljZW5zZSBhcmUgbGltaXRlZCBzb2xlbHkgdG8gCmRpc3RyaWJ1dGlvbiBhbmQgc3VibGljZW5zaW5nIG9mIHRoZSBDb250cmlidXRpb24ocykgb24sIHdpdGggb3I8U1BBTiAKc3R5bGU9Im1zby1zcGFjZXJ1bjogeWVzIj4mbmJzcDsgPC9TUEFOPmZvciBvcGVyYXRpbmcgc3lzdGVtcyB3aGljaCBhcmUgCnRoZW1zZWx2ZXMgT3BlbiBTb3VyY2UgcHJvZ3JhbXMuPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxPTCBzdHlsZT0iTUFSR0lOLVRPUDogMGluIiB0eXBlPWE+CiAgPExJIGNsYXNzPU1zb05vcm1hbCAKICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IC41aW47IG1zby1vdXRsaW5lLWxldmVsOiAxOyBtc28tbGlzdDogbDEgbGV2ZWwxIGxmbzMiPlN1YmplY3QgCiAgdG8gdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBUaGUgT3BlbiBHcm91cCBQdWJsaWMgTGljZW5zZSBBZ3JlZW1lbnQgCiAgYXR0YWNoZWQgaGVyZXRvICiTVGhlIE9wZW4gR3JvdXAgQWdyZWVtZW50lCkgYW5kPFNQQU4gCiAgc3R5bGU9Im1zby1zcGFjZXJ1bjogeWVzIj4mbmJzcDsgPC9TUEFOPnRoZSBsaW1pdGF0aW9ucyBvZiB0aGlzIFNlY3Rpb24gMiwgCiAgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIFJlY2lwaWVudCBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgCiAgcm95YWx0eS1mcmVlIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZSBkZXJpdmF0aXZlIHdvcmtzIG9mLCAKICBwdWJsaWNseSBkaXNwbGF5LCBwdWJsaWNseSBwZXJmb3JtLCBkaXN0cmlidXRlIGFuZCBzdWJsaWNlbnNlIHRoZSBDb250cmlidXRpb24gCiAgb2Ygc3VjaCBDb250cmlidXRvciwgaWYgYW55LCBhbmQgc3VjaCBkZXJpdmF0aXZlIHdvcmtzLCBpbiBzb3VyY2UgY29kZSBhbmQgCiAgb2JqZWN0IGNvZGUgZm9ybS4gPC9MST48L09MPgo8UCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9Ik1BUkdJTi1MRUZUOiAwLjI1aW47IG1zby1vdXRsaW5lLWxldmVsOiAxIj48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPE9MIHN0eWxlPSJNQVJHSU4tVE9QOiAwaW4iIHR5cGU9YSBzdGFydD0yPgogIDxMSSBjbGFzcz1Nc29Ob3JtYWwgCiAgc3R5bGU9InRhYi1zdG9wczogbGlzdCAuNWluOyBtc28tb3V0bGluZS1sZXZlbDogMTsgbXNvLWxpc3Q6IGwxIGxldmVsMSBsZm8zIj5TdWJqZWN0IAogIHRvIHRoZSB0ZXJtcyBvZiB0aGlzIEFncmVlbWVudCwgVGhlIE9wZW4gR3JvdXAgQWdyZWVtZW50IGFuZCB0aGlzIFNlY3Rpb24gMiwgCiAgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIFJlY2lwaWVudCBhIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgCiAgcm95YWx0eS1mcmVlIHBhdGVudCBsaWNlbnNlIHVuZGVyIExpY2Vuc2VkIFBhdGVudHMgdG8gbWFrZSwgdXNlLCBzZWxsLCBvZmZlciAKICB0byBzZWxsLCBpbXBvcnQgYW5kIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgQ29udHJpYnV0aW9uIG9mIHN1Y2ggQ29udHJpYnV0b3IsIAogIGlmIGFueSwgaW4gc291cmNlIGNvZGUgYW5kIG9iamVjdCBjb2RlIGZvcm0uIFRoaXMgcGF0ZW50IGxpY2Vuc2Ugc2hhbGwgYXBwbHkgCiAgdG8gdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSBDb250cmlidXRpb24gYW5kIHRoZSBQcm9ncmFtIGlmLCBhdCB0aGUgdGltZSB0aGUgCiAgQ29udHJpYnV0aW9uIGlzIGFkZGVkIGJ5IHRoZSBDb250cmlidXRvciwgc3VjaCBhZGRpdGlvbiBvZiB0aGUgQ29udHJpYnV0aW9uIAogIGNhdXNlcyBzdWNoIGNvbWJpbmF0aW9uIHRvIGJlIGNvdmVyZWQgYnkgdGhlIExpY2Vuc2VkIFBhdGVudHMuIFRoZSBwYXRlbnQgCiAgbGljZW5zZSBzaGFsbCBub3QgYXBwbHkgdG8gYW55IG90aGVyIGNvbWJpbmF0aW9ucyB3aGljaCBpbmNsdWRlIHRoZSAKICBDb250cmlidXRpb24uIE5vIGhhcmR3YXJlIHBlciBzZSBpcyBsaWNlbnNlZCBoZXJldW5kZXIuIDwvTEk+PC9PTD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJtc28tb3V0bGluZS1sZXZlbDogMSI+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0iTUFSR0lOLUxFRlQ6IDAuMjVpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDEiPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8T0wgc3R5bGU9Ik1BUkdJTi1UT1A6IDBpbiIgdHlwZT1hIHN0YXJ0PTM+CiAgPExJIGNsYXNzPU1zb05vcm1hbCAKICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IC41aW47IG1zby1vdXRsaW5lLWxldmVsOiAxOyBtc28tbGlzdDogbDEgbGV2ZWwxIGxmbzMiPlJlY2lwaWVudCAKICB1bmRlcnN0YW5kcyB0aGF0IGFsdGhvdWdoIGVhY2ggQ29udHJpYnV0b3IgZ3JhbnRzIHRoZSBsaWNlbnNlcyB0byBpdHMgCiAgQ29udHJpYnV0aW9ucyBzZXQgZm9ydGggaGVyZWluLCBubyBhc3N1cmFuY2VzIGFyZSBwcm92aWRlZCBieSBhbnkgQ29udHJpYnV0b3IgCiAgdGhhdCB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBpbmZyaW5nZSB0aGUgcGF0ZW50IG9yIG90aGVyIGludGVsbGVjdHVhbCBwcm9wZXJ0eSAKICByaWdodHMgb2YgYW55IG90aGVyIGVudGl0eS4gRWFjaCBDb250cmlidXRvciBkaXNjbGFpbXMgYW55IGxpYWJpbGl0eSB0byAKICBSZWNpcGllbnQgZm9yIGNsYWltcyBicm91Z2h0IGJ5IGFueSBvdGhlciBlbnRpdHkgYmFzZWQgb24gaW5mcmluZ2VtZW50IG9mIAogIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHMgb3Igb3RoZXJ3aXNlLiBBcyBhIGNvbmRpdGlvbiB0byBleGVyY2lzaW5nIHRoZSAKICByaWdodHMgYW5kIGxpY2Vuc2VzIGdyYW50ZWQgaGVyZXVuZGVyLCBlYWNoIFJlY2lwaWVudCBoZXJlYnkgYXNzdW1lcyBzb2xlIAogIHJlc3BvbnNpYmlsaXR5IHRvIHNlY3VyZSBhbnkgb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBuZWVkZWQsIGlmIAogIGFueS4gRm9yIGV4YW1wbGUsIGlmIGEgdGhpcmQgcGFydHkgcGF0ZW50IGxpY2Vuc2UgaXMgcmVxdWlyZWQgdG8gYWxsb3cgCiAgUmVjaXBpZW50IHRvIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0sIGl0IGlzIFJlY2lwaWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIAogIGFjcXVpcmUgdGhhdCBsaWNlbnNlIGJlZm9yZSBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0uIDwvTEk+PC9PTD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJNQVJHSU4tTEVGVDogMC4yNWluOyBtc28tb3V0bGluZS1sZXZlbDogMSI+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxPTCBzdHlsZT0iTUFSR0lOLVRPUDogMGluIiB0eXBlPWEgc3RhcnQ9ND4KICA8TEkgY2xhc3M9TXNvTm9ybWFsIAogIHN0eWxlPSJ0YWItc3RvcHM6IGxpc3QgLjVpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDE7IG1zby1saXN0OiBsMSBsZXZlbDEgbGZvMyI+RWFjaCAKICBDb250cmlidXRvciByZXByZXNlbnRzIHRoYXQgdG8gaXRzIGtub3dsZWRnZSBpdCBoYXMgc3VmZmljaWVudCBjb3B5cmlnaHQgCiAgcmlnaHRzIGluIGl0cyBDb250cmlidXRpb24sIGlmIGFueSwgdG8gZ3JhbnQgdGhlIGNvcHlyaWdodCBsaWNlbnNlIHNldCBmb3J0aCAKICBpbiB0aGlzIEFncmVlbWVudC4gPC9MST48L09MPgo8UCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9Im1zby1vdXRsaW5lLWxldmVsOiAxIj48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJNQVJHSU4tTEVGVDogMC4yNWluOyBtc28tb3V0bGluZS1sZXZlbDogMSI+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPUgzPjMuIFJFUVVJUkVNRU5UUyA8L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5BIENvbnRyaWJ1dG9yIG1heSBjaG9vc2UgdG8gZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpbiBvYmplY3QgCmNvZGUgZm9ybSB1bmRlciBpdHMgb3duIGxpY2Vuc2UgYWdyZWVtZW50LCBwcm92aWRlZCB0aGF0OiA8L1A+CjxPTCBzdHlsZT0iTUFSR0lOLVRPUDogMGluIiB0eXBlPWE+CiAgPExJIGNsYXNzPU1zb05vcm1hbCAKICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IC41aW47IG1zby1vdXRsaW5lLWxldmVsOiAxOyBtc28tbGlzdDogbDIgbGV2ZWwxIGxmbzQiPml0IAogIGNvbXBsaWVzIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoaXMgQWdyZWVtZW50PEIgCiAgc3R5bGU9Im1zby1iaWRpLWZvbnQtd2VpZ2h0OiBub3JtYWwiPiA8L0I+YW5kIFRoZSBPcGVuIEdyb3VwIEFncmVlbWVudDsgYW5kIAogIDwvTEk+PC9PTD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJNQVJHSU4tTEVGVDogMC4yNWluOyBtc28tb3V0bGluZS1sZXZlbDogMSI+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxPTCBzdHlsZT0iTUFSR0lOLVRPUDogMGluIiB0eXBlPWEgc3RhcnQ9Mj4KICA8TEkgY2xhc3M9TXNvTm9ybWFsIAogIHN0eWxlPSJ0YWItc3RvcHM6IGxpc3QgLjVpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDE7IG1zby1saXN0OiBsMiBsZXZlbDEgbGZvNCI+aXRzIAogIGxpY2Vuc2UgYWdyZWVtZW50OiA8L0xJPjwvT0w+CjxQIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0ibXNvLW91dGxpbmUtbGV2ZWw6IDEiPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9Ik1BUkdJTi1MRUZUOiAwLjI1aW47IG1zby1vdXRsaW5lLWxldmVsOiAxIj48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPE9MIHN0eWxlPSJNQVJHSU4tVE9QOiAwaW4iIHR5cGU9MSBzdGFydD0yPgogIDxPTCBzdHlsZT0iTUFSR0lOLVRPUDogMGluIiB0eXBlPTE+CiAgICA8TEkgY2xhc3M9TXNvTm9ybWFsIAogICAgc3R5bGU9InRhYi1zdG9wczogbGlzdCAxLjBpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDI7IG1zby1saXN0OiBsMiBsZXZlbDIgbGZvNSI+ZWZmZWN0aXZlbHkgCiAgICBkaXNjbGFpbXMgb24gYmVoYWxmIG9mIGFsbCBDb250cmlidXRvcnMgYWxsIHdhcnJhbnRpZXMgYW5kIGNvbmRpdGlvbnMsIAogICAgZXhwcmVzcyBhbmQgaW1wbGllZCwgaW5jbHVkaW5nIHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiB0aXRsZSBhbmQgCiAgICBub24taW5mcmluZ2VtZW50LCBhbmQgaW1wbGllZCB3YXJyYW50aWVzIG9yIGNvbmRpdGlvbnMgb2YgbWVyY2hhbnRhYmlsaXR5IAogICAgYW5kIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlOyAKICAgIDxMSSBjbGFzcz1Nc29Ob3JtYWwgCiAgICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IDEuMGluOyBtc28tb3V0bGluZS1sZXZlbDogMjsgbXNvLWxpc3Q6IGwyIGxldmVsMiBsZm81Ij5lZmZlY3RpdmVseSAKICAgIGV4Y2x1ZGVzIG9uIGJlaGFsZiBvZiBhbGwgQ29udHJpYnV0b3JzIGFsbCBsaWFiaWxpdHkgZm9yIGRhbWFnZXMsIGluY2x1ZGluZyAKICAgIGRpcmVjdCwgaW5kaXJlY3QsIHNwZWNpYWwsIGluY2lkZW50YWwgYW5kIGNvbnNlcXVlbnRpYWwgZGFtYWdlcywgc3VjaCBhcyAKICAgIGxvc3QgcHJvZml0czsgCiAgICA8TEkgY2xhc3M9TXNvTm9ybWFsIAogICAgc3R5bGU9InRhYi1zdG9wczogbGlzdCAxLjBpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDI7IG1zby1saXN0OiBsMiBsZXZlbDIgbGZvNSI+c3RhdGVzIAogICAgdGhhdCBhbnkgcHJvdmlzaW9ucyB3aGljaCBkaWZmZXIgZnJvbSB0aGlzIEFncmVlbWVudCBhcmUgb2ZmZXJlZCBieSB0aGF0IAogICAgQ29udHJpYnV0b3IgYWxvbmUgYW5kIG5vdCBieSBhbnkgb3RoZXIgcGFydHk7IGFuZCAKICAgIDxMSSBjbGFzcz1Nc29Ob3JtYWwgCiAgICBzdHlsZT0idGFiLXN0b3BzOiBsaXN0IDEuMGluOyBtc28tb3V0bGluZS1sZXZlbDogMjsgbXNvLWxpc3Q6IGwyIGxldmVsMiBsZm81Ij5zdGF0ZXMgCiAgICB0aGF0IHNvdXJjZSBjb2RlIGZvciB0aGUgUHJvZ3JhbSBpcyBhdmFpbGFibGUgZnJvbSBzdWNoIENvbnRyaWJ1dG9yLCBhbmQgCiAgICBpbmZvcm1zIGxpY2Vuc2VlcyBob3cgdG8gb2J0YWluIGl0IGluIGEgcmVhc29uYWJsZSBtYW5uZXIgb24gb3IgdGhyb3VnaCBhIAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGV4Y2hhbmdlLiA8L0xJPjwvT0w+PC9PTD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJNQVJHSU4tTEVGVDogMC43NWluOyBtc28tb3V0bGluZS1sZXZlbDogMiI+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5XaGVuIHRoZSBQcm9ncmFtIGlzIG1hZGUgYXZhaWxhYmxlIGluIHNvdXJjZSBjb2RlIGZvcm06IDwvUD4KPE9MIHN0eWxlPSJNQVJHSU4tVE9QOiAwaW4iIHR5cGU9YT4KICA8TEkgY2xhc3M9TXNvTm9ybWFsIAogIHN0eWxlPSJ0YWItc3RvcHM6IGxpc3QgLjVpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDE7IG1zby1saXN0OiBsMyBsZXZlbDEgbGZvNiI+aXQgCiAgbXVzdCBiZSBtYWRlIGF2YWlsYWJsZSB1bmRlciB0aGlzIEFncmVlbWVudCBhbmQgdGhlIE9wZW4gR3JvdXAgQWdyZWVtZW50OyBhbmQgCiAgPC9MST48L09MPgo8UCBjbGFzcz1Nc29Ob3JtYWwgc3R5bGU9Ik1BUkdJTi1MRUZUOiAwLjI1aW47IG1zby1vdXRsaW5lLWxldmVsOiAxIj48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPE9MIHN0eWxlPSJNQVJHSU4tVE9QOiAwaW4iIHR5cGU9YSBzdGFydD0yPgogIDxMSSBjbGFzcz1Nc29Ob3JtYWwgCiAgc3R5bGU9InRhYi1zdG9wczogbGlzdCAuNWluOyBtc28tb3V0bGluZS1sZXZlbDogMTsgbXNvLWxpc3Q6IGwzIGxldmVsMSBsZm82Ij5hIAogIGNvcHkgb2YgdGhpcyBBZ3JlZW1lbnQgbXVzdCBiZSBpbmNsdWRlZCB3aXRoIGVhY2ggY29weSBvZiB0aGUgUHJvZ3JhbS4gCjwvTEk+PC9PTD4KPFAgY2xhc3M9TXNvTm9ybWFsIHN0eWxlPSJtc28tb3V0bGluZS1sZXZlbDogMSI+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbCBzdHlsZT0iTUFSR0lOLUxFRlQ6IDAuMjVpbjsgbXNvLW91dGxpbmUtbGV2ZWw6IDEiPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+RWFjaCBDb250cmlidXRvciBtdXN0IGluY2x1ZGUgdGhlIGZvbGxvd2luZyBpbiBhIGNvbnNwaWN1b3VzIApsb2NhdGlvbiBpbiB0aGUgUHJvZ3JhbTogPC9QPgo8UCBjbGFzcz1CbG9ja3F1b3RlPkNvcHlyaWdodCAoQykgTWF5LCAyMDAwIFRoZSBPcGVuIEdyb3VwLCBNZXRybyBMaW5rLCAKSW5jb3Jwb3JhdGVkIGFuZCBvdGhlcnMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQ8L1A+CjxQIGNsYXNzPUJsb2NrcXVvdGU+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5JbiBhZGRpdGlvbiwgZWFjaCBDb250cmlidXRvciBtdXN0IGlkZW50aWZ5IGl0c2VsZiBhcyB0aGUgCm9yaWdpbmF0b3Igb2YgaXRzIENvbnRyaWJ1dGlvbiwgaWYgYW55LCBpbiBhIG1hbm5lciB0aGF0IHJlYXNvbmFibHkgYWxsb3dzIApzdWJzZXF1ZW50IFJlY2lwaWVudHMgdG8gaWRlbnRpZnkgdGhlIG9yaWdpbmF0b3Igb2YgdGhlIENvbnRyaWJ1dGlvbi4gPC9QPgo8UCBjbGFzcz1IMz40LiBDT01NRVJDSUFMIERJU1RSSUJVVElPTiA8L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5Db21tZXJjaWFsIGRpc3RyaWJ1dG9ycyBvZiBzb2Z0d2FyZSBtYXkgYWNjZXB0IGNlcnRhaW4gCnJlc3BvbnNpYmlsaXRpZXMgd2l0aCByZXNwZWN0IHRvIGVuZCB1c2VycywgYnVzaW5lc3MgcGFydG5lcnMgYW5kIHRoZSBsaWtlLiAKV2hpbGUgdGhpcyBsaWNlbnNlIGlzIGludGVuZGVkIHRvIGZhY2lsaXRhdGUgdGhlIGNvbW1lcmNpYWwgdXNlIG9mIHRoZSBQcm9ncmFtLCAKdGhlIENvbnRyaWJ1dG9yIHdobyBpbmNsdWRlcyB0aGUgUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwgcHJvZHVjdCBvZmZlcmluZyBzaG91bGQgCmRvIHNvIGluIGEgbWFubmVyIHdoaWNoIGRvZXMgbm90IGNyZWF0ZSBwb3RlbnRpYWwgbGlhYmlsaXR5IGZvciBvdGhlciAKQ29udHJpYnV0b3JzLiBUaGVyZWZvcmUsIGlmIGEgQ29udHJpYnV0b3IgaW5jbHVkZXMgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJjaWFsIApwcm9kdWN0IG9mZmVyaW5nLCBzdWNoIENvbnRyaWJ1dG9yICgiQ29tbWVyY2lhbCBDb250cmlidXRvciIpIGhlcmVieSBhZ3JlZXMgdG8gCmRlZmVuZCBhbmQgaW5kZW1uaWZ5IGV2ZXJ5IG90aGVyIENvbnRyaWJ1dG9yICgiSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IiKSBhZ2FpbnN0IAphbnkgbG9zc2VzLCBkYW1hZ2VzIGFuZCBjb3N0cyAoY29sbGVjdGl2ZWx5ICJMb3NzZXMiKSBhcmlzaW5nIGZyb20gY2xhaW1zLCAKbGF3c3VpdHMgYW5kIG90aGVyIGxlZ2FsIGFjdGlvbnMgYnJvdWdodCBieSBhIHRoaXJkIHBhcnR5IGFnYWluc3QgdGhlIApJbmRlbW5pZmllZCBDb250cmlidXRvciB0byB0aGUgZXh0ZW50IGNhdXNlZCBieSB0aGUgYWN0cyBvciBvbWlzc2lvbnMgb2Ygc3VjaCAKQ29tbWVyY2lhbCBDb250cmlidXRvciBpbiBjb25uZWN0aW9uIHdpdGggaXRzIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBpbiBhIApjb21tZXJjaWFsIHByb2R1Y3Qgb2ZmZXJpbmcuIFRoZSBvYmxpZ2F0aW9ucyBpbiB0aGlzIHNlY3Rpb24gZG8gbm90IGFwcGx5IHRvIGFueSAKY2xhaW1zIG9yIExvc3NlcyByZWxhdGluZyB0byBhbnkgYWN0dWFsIG9yIGFsbGVnZWQgaW50ZWxsZWN0dWFsIHByb3BlcnR5IAppbmZyaW5nZW1lbnQuIEluIG9yZGVyIHRvIHF1YWxpZnksIGFuIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIG11c3Q6IDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWwgCnN0eWxlPSJNQVJHSU4tTEVGVDogMC4yNWluOyBURVhULUlOREVOVDogLTAuMjVpbjsgdGFiLXN0b3BzOiBsaXN0IC4yNWluOyBtc28tbGlzdDogbDUgbGV2ZWwxIGxmbzciPjwhW2lmICFzdXBwb3J0TGlzdHNdPmEpPFNQQU4gCnN0eWxlPSJGT05UOiA3cHQgJ1RpbWVzIE5ldyBSb21hbiciPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8L1NQQU4+PCFbZW5kaWZdPnByb21wdGx5IG5vdGlmeSB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBpbiB3cml0aW5nIG9mIHN1Y2ggCmNsYWltLCBhbmQgPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbCAKc3R5bGU9Ik1BUkdJTi1MRUZUOiAwLjI1aW47IFRFWFQtSU5ERU5UOiAtMC4yNWluOyB0YWItc3RvcHM6IGxpc3QgLjI1aW47IG1zby1saXN0OiBsNSBsZXZlbDEgbGZvNyI+PCFbaWYgIXN1cHBvcnRMaXN0c10+Yik8U1BBTiAKc3R5bGU9IkZPTlQ6IDdwdCAnVGltZXMgTmV3IFJvbWFuJyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDwvU1BBTj48IVtlbmRpZl0+YWxsb3cgdGhlIENvbW1lcmNpYWwgQ29udHJpYnV0b3IgdG8gY29udHJvbCwgYW5kIGNvb3BlcmF0ZSB3aXRoIAp0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBpbiwgdGhlIGRlZmVuc2UgYW5kIGFueSByZWxhdGVkIHNldHRsZW1lbnQgCm5lZ290aWF0aW9ucy4gPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5UaGUgSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgbWF5IHBhcnRpY2lwYXRlIGluIGFueSBzdWNoIGNsYWltIAphdCBpdHMgb3duIGV4cGVuc2UuIDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPkZvciBleGFtcGxlLCBhIENvbnRyaWJ1dG9yIG1pZ2h0IGluY2x1ZGUgdGhlIFByb2dyYW0gaW4gYSAKY29tbWVyY2lhbCBwcm9kdWN0IG9mZmVyaW5nLCBQcm9kdWN0IFguIFRoYXQgQ29udHJpYnV0b3IgaXMgdGhlbiBhIENvbW1lcmNpYWwgCkNvbnRyaWJ1dG9yLiBJZiB0aGF0IENvbW1lcmNpYWwgQ29udHJpYnV0b3IgdGhlbiBtYWtlcyBwZXJmb3JtYW5jZSBjbGFpbXMsIG9yIApvZmZlcnMgd2FycmFudGllcyByZWxhdGVkIHRvIFByb2R1Y3QgWCwgdGhvc2UgcGVyZm9ybWFuY2UgY2xhaW1zIGFuZCB3YXJyYW50aWVzIAphcmUgc3VjaCBDb21tZXJjaWFsIENvbnRyaWJ1dG9yJ3MgcmVzcG9uc2liaWxpdHkgYWxvbmUuIFVuZGVyIHRoaXMgc2VjdGlvbiwgdGhlIApDb21tZXJjaWFsIENvbnRyaWJ1dG9yIHdvdWxkIGhhdmUgdG8gZGVmZW5kIGNsYWltcyBhZ2FpbnN0IHRoZSBvdGhlciAKQ29udHJpYnV0b3JzIHJlbGF0ZWQgdG8gdGhvc2UgcGVyZm9ybWFuY2UgY2xhaW1zIGFuZCB3YXJyYW50aWVzLCBhbmQgaWYgYSBjb3VydCAKcmVxdWlyZXMgYW55IG90aGVyIENvbnRyaWJ1dG9yIHRvIHBheSBhbnkgZGFtYWdlcyBhcyBhIHJlc3VsdCwgdGhlIENvbW1lcmNpYWwgCkNvbnRyaWJ1dG9yIG11c3QgcGF5IHRob3NlIGRhbWFnZXMuIDwvUD4KPFAgY2xhc3M9SDM+NS4gTk8gV0FSUkFOVFkgPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+RVhDRVBUIEFTIEVYUFJFU1NMWSBTRVQgRk9SVEggSU4gVEhJUyBBR1JFRU1FTlQsIFRIRSBQUk9HUkFNIApJUyBQUk9WSURFRCBPTiBBTiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgCkVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIEFOWSBXQVJSQU5USUVTIE9SIApDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1IgQSAKUEFSVElDVUxBUiBQVVJQT1NFLiBFYWNoIFJlY2lwaWVudCBpcyBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5nIHRoZSAKYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZCBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0gYW5kIGFzc3VtZXMgYWxsIHJpc2tzIAphc3NvY2lhdGVkIHdpdGggaXRzIGV4ZXJjaXNlIG9mIHJpZ2h0cyB1bmRlciB0aGlzIEFncmVlbWVudCwgaW5jbHVkaW5nIGJ1dCBub3QgCmxpbWl0ZWQgdG8gdGhlIHJpc2tzIGFuZCBjb3N0cyBvZiBwcm9ncmFtIGVycm9ycywgY29tcGxpYW5jZSB3aXRoIGFwcGxpY2FibGUgCmxhd3MsIGRhbWFnZSB0byBvciBsb3NzIG9mIGRhdGEsIHByb2dyYW1zIG9yIGVxdWlwbWVudCwgYW5kIHVuYXZhaWxhYmlsaXR5IG9yIAppbnRlcnJ1cHRpb24gb2Ygb3BlcmF0aW9ucy4gPC9QPgo8UCBjbGFzcz1IMz42LiBESVNDTEFJTUVSIE9GIExJQUJJTElUWSA8L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5FWENFUFQgQVMgRVhQUkVTU0xZIFNFVCBGT1JUSCBJTiBUSElTIEFHUkVFTUVOVCwgTkVJVEhFUiAKUkVDSVBJRU5UIE5PUiBBTlkgQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZIERJUkVDVCwgCklORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HIApXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAKV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgCk9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9SIERJU1RSSUJVVElPTiBPRiBUSEUgUFJPR1JBTSBPUiAKVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMgR1JBTlRFRCBIRVJFVU5ERVIsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgCk9GIFNVQ0ggREFNQUdFUy4gPC9QPgo8UCBjbGFzcz1IMz43LiBHRU5FUkFMIDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPklmIGFueSBwcm92aXNpb24gb2YgdGhpcyBBZ3JlZW1lbnQgaXMgaW52YWxpZCBvciAKdW5lbmZvcmNlYWJsZSB1bmRlciBhcHBsaWNhYmxlIGxhdywgaXQgc2hhbGwgbm90IGFmZmVjdCB0aGUgdmFsaWRpdHkgb3IgCmVuZm9yY2VhYmlsaXR5IG9mIHRoZSByZW1haW5kZXIgb2YgdGhlIHRlcm1zIG9mIHRoaXMgQWdyZWVtZW50LCBhbmQgd2l0aG91dCAKZnVydGhlciBhY3Rpb24gYnkgdGhlIHBhcnRpZXMgaGVyZXRvLCBzdWNoIHByb3Zpc2lvbiBzaGFsbCBiZSByZWZvcm1lZCB0byB0aGUgCm1pbmltdW0gZXh0ZW50IG5lY2Vzc2FyeSB0byBtYWtlIHN1Y2ggcHJvdmlzaW9uIHZhbGlkIGFuZCBlbmZvcmNlYWJsZS4gPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5JZiBSZWNpcGllbnQgaW5zdGl0dXRlcyBwYXRlbnQgbGl0aWdhdGlvbiBhZ2FpbnN0IGEgCkNvbnRyaWJ1dG9yIHdpdGggcmVzcGVjdCB0byBhIHBhdGVudCBhcHBsaWNhYmxlIHRvIHNvZnR3YXJlIChpbmNsdWRpbmcgYSAKY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCksIHRoZW4gYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIGJ5IAp0aGF0IENvbnRyaWJ1dG9yIHRvIHN1Y2ggUmVjaXBpZW50IHVuZGVyIHRoaXMgQWdyZWVtZW50IHNoYWxsIHRlcm1pbmF0ZSBhcyBvZiAKdGhlIGRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLiBJbiBhZGRpdGlvbiwgaWYgUmVjaXBpZW50IGluc3RpdHV0ZXMgcGF0ZW50IApsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgCmxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFByb2dyYW0gaXRzZWxmIChleGNsdWRpbmcgY29tYmluYXRpb25zIG9mIHRoZSBQcm9ncmFtIAp3aXRoIG90aGVyIHNvZnR3YXJlIG9yIGhhcmR3YXJlKSBpbmZyaW5nZXMgc3VjaCBSZWNpcGllbnQncyBwYXRlbnQocyksIHRoZW4gc3VjaCAKUmVjaXBpZW50J3MgcmlnaHRzIGdyYW50ZWQgdW5kZXIgU2VjdGlvbiAyKGIpIHNoYWxsIHRlcm1pbmF0ZSBhcyBvZiB0aGUgZGF0ZSAKc3VjaCBsaXRpZ2F0aW9uIGlzIGZpbGVkLiA8L1A+CjxQIGNsYXNzPU1zb05vcm1hbD48IVtpZiAhc3VwcG9ydEVtcHR5UGFyYXNdPjwhW2VuZGlmXT4mbmJzcDs8bzpwPjwvbzpwPjwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPkFsbCBSZWNpcGllbnQncyByaWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgc2hhbGwgdGVybWluYXRlIAppZiBpdCBmYWlscyB0byBjb21wbHkgd2l0aCBhbnkgb2YgdGhlIG1hdGVyaWFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb2YgdGhpcyAKQWdyZWVtZW50IGFuZCBkb2VzIG5vdCBjdXJlIHN1Y2ggZmFpbHVyZSBpbiBhIHJlYXNvbmFibGUgcGVyaW9kIG9mIHRpbWUgYWZ0ZXIgCmJlY29taW5nIGF3YXJlIG9mIHN1Y2ggbm9uY29tcGxpYW5jZS4gSWYgYWxsIFJlY2lwaWVudCdzIHJpZ2h0cyB1bmRlciB0aGlzIApBZ3JlZW1lbnQgdGVybWluYXRlLCBSZWNpcGllbnQgYWdyZWVzIHRvIGNlYXNlIHVzZSBhbmQgZGlzdHJpYnV0aW9uIG9mIHRoZSAKUHJvZ3JhbSBhcyBzb29uIGFzIHJlYXNvbmFibHkgcHJhY3RpY2FibGUuIEhvd2V2ZXIsIFJlY2lwaWVudCdzIG9ibGlnYXRpb25zIAp1bmRlciB0aGlzIEFncmVlbWVudCBhbmQgYW55IGxpY2Vuc2VzIGdyYW50ZWQgYnkgUmVjaXBpZW50IHJlbGF0aW5nIHRvIHRoZSAKUHJvZ3JhbSBzaGFsbCBjb250aW51ZSBhbmQgc3Vydml2ZS4gPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5NRVRSTyBMSU5LIG1heSBwdWJsaXNoIG5ldyB2ZXJzaW9ucyAoaW5jbHVkaW5nIHJldmlzaW9ucykgb2YgCnRoaXMgQWdyZWVtZW50IGZyb20gdGltZSB0byB0aW1lLiBFYWNoIG5ldyB2ZXJzaW9uIG9mIHRoZSBBZ3JlZW1lbnQgd2lsbCBiZSAKZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gVGhlIFByb2dyYW0gKGluY2x1ZGluZyBDb250cmlidXRpb25zKSBtYXkgCmFsd2F5cyBiZSBkaXN0cmlidXRlZCBzdWJqZWN0IHRvIHRoZSB2ZXJzaW9uIG9mIHRoZSBBZ3JlZW1lbnQgdW5kZXIgd2hpY2ggaXQgd2FzIApyZWNlaXZlZC4gSW4gYWRkaXRpb24sIGFmdGVyIGEgbmV3IHZlcnNpb24gb2YgdGhlIEFncmVlbWVudCBpcyBwdWJsaXNoZWQsIApDb250cmlidXRvciBtYXkgZWxlY3QgdG8gZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAoaW5jbHVkaW5nIGl0cyBDb250cmlidXRpb25zKSAKdW5kZXIgdGhlIG5ldyB2ZXJzaW9uLiBObyBvbmUgb3RoZXIgdGhhbiBNRVRSTyBMSU5LIGhhcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IHRoaXMgCkFncmVlbWVudC4gRXhjZXB0IGFzIGV4cHJlc3NseSBzdGF0ZWQgaW4gU2VjdGlvbnMgMihhKSBhbmQgMihiKSBhYm92ZSwgUmVjaXBpZW50IApyZWNlaXZlcyBubyByaWdodHMgb3IgbGljZW5zZXMgdG8gdGhlIGludGVsbGVjdHVhbCBwcm9wZXJ0eSBvZiBhbnkgQ29udHJpYnV0b3IgCnVuZGVyIHRoaXMgQWdyZWVtZW50LCB3aGV0aGVyIGV4cHJlc3NseSwgYnkgaW1wbGljYXRpb24sIGVzdG9wcGVsIG9yIG90aGVyd2lzZS4gCkFsbCByaWdodHMgaW4gdGhlIFByb2dyYW0gbm90IGV4cHJlc3NseSBncmFudGVkIHVuZGVyIHRoaXMgQWdyZWVtZW50IGFyZSAKcmVzZXJ2ZWQuIDwvUD4KPFAgY2xhc3M9TXNvTm9ybWFsPjwhW2lmICFzdXBwb3J0RW1wdHlQYXJhc10+PCFbZW5kaWZdPiZuYnNwOzxvOnA+PC9vOnA+PC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+VGhpcyBBZ3JlZW1lbnQgaXMgZ292ZXJuZWQgYnkgdGhlIGxhd3Mgb2YgdGhlIFN0YXRlIG9mIApGbG9yaWRhIGFuZCB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3Mgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYS4gPC9QPgo8UCBjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+CjxQIGNsYXNzPU1zb05vcm1hbD5ObyBwYXJ0eSB0byB0aGlzIEFncmVlbWVudCB3aWxsIGJyaW5nIGEgbGVnYWwgYWN0aW9uIHVuZGVyIAp0aGlzIEFncmVlbWVudCBtb3JlIHRoYW4gb25lIHllYXIgYWZ0ZXIgdGhlIGNhdXNlIG9mIGFjdGlvbiBhcm9zZS4gRWFjaCBwYXJ0eSAKd2FpdmVzIGl0cyByaWdodHMgdG8gYSBqdXJ5IHRyaWFsIGluIGFueSByZXN1bHRpbmcgbGl0aWdhdGlvbi48L1A+CjxQIApjbGFzcz1Nc29Ob3JtYWw+PCFbaWYgIXN1cHBvcnRFbXB0eVBhcmFzXT48IVtlbmRpZl0+Jm5ic3A7PG86cD48L286cD48L1A+PC9ESVY+PC9CT0RZPjwvSFRNTD4K