00000000 00000018 00000030 00000048 00000060 00000078 00000090 000000A8 000000C0 000000D8 000000F0 00000108 00000120 00000138 00000150 00000168 00000180 00000198 000001B0 000001C8 000001E0 000001F8 00000210 00000228 00000240 00000258 00000270 00000288 000002A0 000002B8 000002D0 000002E8 00000300 00000318 00000330 00000348 00000360 00000378 00000390 000003A8 000003C0 000003D8 000003F0 00000408 00000420 00000438 00000450 00000468 00000480 00000498 000004B0 000004C8 000004E0 000004F8 00000510 00000528 00000540 00000558 00000570 00000588 000005A0 000005B8 000005D0 000005E8 00000600 00000618 00000630 00000648 00000660 00000678 00000690 000006A8 000006C0 000006D8 000006F0 00000708 00000720 00000738 00000750 00000768 00000780 00000798 000007B0 000007C8 000007E0 000007F8 00000810 00000828 00000840 00000858 00000870 00000888 000008A0 000008B8 000008D0 000008E8 00000900 00000918 00000930 00000948 00000960 00000978 00000990 000009A8 000009C0 000009D8 000009F0 00000A08 00000A20 00000A38 00000A50 00000A68 00000A80 00000A98 00000AB0 00000AC8 00000AE0 00000AF8 00000B10 00000B28 00000B40 00000B58 00000B70 00000B88 00000BA0 00000BB8 00000BD0 00000BE8 00000C00 00000C18 00000C30 00000C48 00000C60 00000C78 00000C90 00000CA8 00000CC0 00000CD8 00000CF0 00000D08 00000D20 00000D38 00000D50 00000D68 00000D80 00000D98 00000DB0 00000DC8 00000DE0 00000DF8 00000E10 00000E28 00000E40 00000E58 00000E70 00000E88 00000EA0 00000EB8 00000ED0 00000EE8 00000F00 00000F18 00000F30 00000F48 00000F60 00000F78 00000F90 00000FA8 00000FC0 00000FD8 00000FF0 00001008 00001020 00001038 00001050 00001068 00001080 00001098 000010B0 000010C8 000010E0 000010F8 00001110 00001128 00001140 00001158 00001170 00001188 000011A0 000011B8 000011D0 000011E8 00001200 00001218 00001230 00001248 00001260 00001278 00001290 000012A8 000012C0 000012D8 000012F0 00001308 00001320 00001338 00001350 00001368 00001380 00001398 000013B0 000013C8 000013E0 000013F8 00001410 00001428 00001440 00001458 00001470 00001488 000014A0 000014B8 000014D0 000014E8 00001500 00001518 00001530 00001548 00001560 00001578 00001590 000015A8 000015C0 000015D8 000015F0 00001608 00001620 00001638 00001650 00001668 00001680 00001698 000016B0 000016C8 000016E0 000016F8 00001710 00001728 00001740 00001758 00001770 00001788 000017A0 000017B8 000017D0 000017E8 00001800 00001818 00001830 00001848 00001860 00001878 00001890 000018A8 000018C0 000018D8 000018F0 00001908 00001920 00001938 00001950 00001968 00001980 00001998 000019B0 000019C8 000019E0 000019F8 00001A10 00001A28 00001A40 00001A58 00001A70 00001A88 00001AA0 00001AB8 00001AD0 00001AE8 00001B00 00001B18 00001B30 00001B48 00001B60 00001B78 00001B90 00001BA8 00001BC0 00001BD8 00001BF0 00001C08 00001C20 00001C38 00001C50 00001C68 00001C80 00001C98 00001CB0 00001CC8 00001CE0 00001CF8 00001D10 00001D28 00001D40 00001D58 00001D70 00001D88 00001DA0 00001DB8 00001DD0 00001DE8 00001E00 00001E18 00001E30 00001E48 00001E60 00001E78 00001E90 00001EA8 00001EC0 00001ED8 00001EF0 00001F08 00001F20 00001F38 00001F50 00001F68 00001F80 00001F98 00001FB0 00001FC8 00001FE0 00001FF8 00002010 00002028 00002040 00002058 00002070 00002088 000020A0 000020B8 000020D0 000020E8 00002100 00002118 00002130 00002148 00002160 00002178 00002190 000021A8 000021C0 000021D8 000021F0 00002208 00002220 00002238 00002250 00002268 00002280 00002298 000022B0 000022C8 000022E0 000022F8 00002310 00002328 00002340 00002358 00002370 00002388 000023A0 000023B8 000023D0 000023E8 00002400 00002418 00002430 00002448 00002460 00002478 00002490 000024A8 000024C0 000024D8 000024F0 00002508 00002520 00002538 00002550 00002568 00002580 00002598 000025B0 000025C8 000025E0 000025F8 00002610 00002628 00002640 00002658 00002670 00002688 000026A0 000026B8 000026D0 000026E8 00002700 00002718 00002730 00002748 00002760 00002778 00002790 000027A8 000027C0 000027D8 000027F0 00002808 00002820 00002838 00002850 00002868 00002880 00002898 000028B0 000028C8 000028E0 000028F8 00002910 00002928 00002940 00002958 00002970 00002988 000029A0 000029B8 000029D0 000029E8 00002A00 00002A18 00002A30 00002A48 00002A60 00002A78 00002A90 00002AA8 00002AC0 00002AD8 00002AF0 00002B08 00002B20 00002B38 00002B50 00002B68 00002B80 00002B98 00002BB0 00002BC8 00002BE0 00002BF8 00002C10 00002C28 00002C40 00002C58 00002C70 00002C88 00002CA0 00002CB8 00002CD0 00002CE8 00002D00 00002D18 00002D30 00002D48 00002D60 00002D78 00002D90 00002DA8 00002DC0 00002DD8 00002DF0 00002E08 00002E20 00002E38 00002E50 00002E68 00002E80 00002E98 00002EB0 00002EC8 00002EE0 00002EF8 00002F10 00002F28 00002F40 00002F58 00002F70 00002F88 00002FA0 00002FB8 00002FD0 00002FE8 00003000 00003018 00003030 00003048 00003060 00003078 00003090 000030A8 000030C0 000030D8 000030F0 00003108 00003120 00003138 00003150 00003168 00003180 00003198 000031B0 000031C8 000031E0 000031F8 00003210 00003228 00003240 00003258 00003270 00003288 000032A0 000032B8 000032D0 000032E8 00003300 00003318 00003330 00003348 00003360 00003378 00003390 000033A8 000033C0 000033D8 000033F0 00003408 00003420 00003438 00003450 00003468 00003480 00003498 000034B0 000034C8 000034E0 000034F8 00003510 00003528 00003540 00003558 00003570 00003588 000035A0 000035B8 000035D0 000035E8 00003600 00003618 00003630 00003648 00003660 00003678 00003690 000036A8 000036C0 000036D8 000036F0 00003708 00003720 00003738 00003750 00003768 00003780 00003798 000037B0 000037C8 000037E0 000037F8 00003810 00003828 00003840 00003858 00003870 00003888 000038A0 000038B8 000038D0 000038E8 00003900 00003918 00003930 00003948 00003960 00003978 00003990 000039A8 000039C0 000039D8 000039F0 00003A08 00003A20 00003A38 00003A50 00003A68 00003A80 00003A98 00003AB0 00003AC8 00003AE0 00003AF8 00003B10 00003B28 00003B40 00003B58 00003B70 00003B88 00003BA0 00003BB8 00003BD0 00003BE8 00003C00 00003C18 00003C30 00003C48 00003C60 00003C78 00003C90 00003CA8 00003CC0 00003CD8 00003CF0 00003D08 00003D20 00003D38 00003D50 00003D68 00003D80 00003D98 00003DB0 00003DC8 00003DE0 00003DF8 00003E10 00003E28 00003E40 00003E58 00003E70 00003E88 00003EA0 00003EB8 00003ED0 00003EE8 00003F00 00003F18 00003F30 00003F48 00003F60 00003F78 00003F90 00003FA8 00003FC0 00003FD8 00003FF0 00004008 00004020 00004038 00004050 00004068 00004080 00004098 000040B0 000040C8 000040E0 000040F8 00004110 00004128 00004140 00004158 00004170 00004188 000041A0 000041B8 000041D0 000041E8 00004200 00004218 00004230 00004248 00004260 00004278 00004290 000042A8 000042C0 000042D8 000042F0 00004308 00004320 00004338 00004350 00004368 00004380 00004398 000043B0 000043C8 000043E0 000043F8 00004410 00004428 00004440 00004458 00004470 00004488 000044A0 000044B8 000044D0 000044E8 00004500 00004518 00004530 00004548 00004560 00004578 00004590 000045A8 000045C0 000045D8 000045F0 00004608 00004620 00004638 00004650 00004668 00004680 00004698 000046B0 000046C8 000046E0 000046F8 00004710 00004728 00004740 00004758 00004770 00004788 000047A0 000047B8 000047D0 000047E8 00004800 00004818 00004830 00004848 00004860 00004878 00004890 000048A8 000048C0 000048D8 000048F0 00004908 00004920 00004938 00004950 00004968 00004980 00004998 000049B0 000049C8 000049E0 000049F8 00004A10 00004A28 00004A40 00004A58 00004A70 00004A88 00004AA0 00004AB8 00004AD0 00004AE8 00004B00 00004B18 00004B30 00004B48 00004B60 00004B78 00004B90 00004BA8 00004BC0 00004BD8 00004BF0 00004C08 00004C20 00004C38 00004C50 00004C68 00004C80 00004C98 00004CB0 00004CC8 00004CE0 00004CF8 00004D10 00004D28 00004D40 00004D58 00004D70 00004D88 00004DA0 00004DB8 00004DD0 00004DE8 00004E00 00004E18 00004E30 00004E48 00004E60 00004E78 00004E90 00004EA8 00004EC0 00004ED8 00004EF0 00004F08 00004F20 00004F38 00004F50 00004F68 00004F80 00004F98 00004FB0 00004FC8 00004FE0 00004FF8 00005010 00005028 00005040 00005058 00005070 00005088 000050A0 000050B8 000050D0 000050E8 00005100 00005118 00005130 00005148 00005160 00005178 00005190 000051A8 000051C0 000051D8 000051F0 00005208 00005220 00005238 00005250 00005268 00005280 00005298 000052B0 000052C8 000052E0 000052F8 00005310 00005328 00005340 00005358 00005370 00005388 000053A0 000053B8 000053D0 000053E8 00005400 00005418 00005430 00005448 00005460 00005478 00005490 000054A8 000054C0 000054D8 000054F0 00005508 00005520 00005538 00005550 00005568 00005580 00005598 000055B0 000055C8 000055E0 000055F8 00005610 00005628 00005640 00005658 00005670 00005688 000056A0 000056B8 000056D0 000056E8 00005700 00005718 00005730 00005748 00005760 00005778 00005790 000057A8 000057C0 000057D8 000057F0 00005808 00005820 00005838 00005850 00005868 00005880 00005898 000058B0 000058C8 000058E0 000058F8 00005910 00005928 00005940 00005958 00005970 00005988 000059A0 000059B8 000059D0 000059E8 00005A00 00005A18 00005A30 00005A48 00005A60 00005A78 00005A90 00005AA8 00005AC0 00005AD8 00005AF0 00005B08 00005B20 00005B38 00005B50 00005B68 00005B80 00005B98 00005BB0 00005BC8 00005BE0 00005BF8 00005C10 00005C28 00005C40 00005C58 00005C70 00005C88 00005CA0 00005CB8 00005CD0 00005CE8 00005D00 00005D18 00005D30 00005D48 00005D60 00005D78 00005D90 00005DA8 00005DC0 00005DD8 00005DF0 00005E08 00005E20 00005E38 00005E50 00005E68 00005E80 00005E98 00005EB0 00005EC8 00005EE0 00005EF8 00005F10 00005F28 00005F40 00005F58 00005F70 00005F88 00005FA0 00005FB8 00005FD0 00005FE8 00006000 00006018 00006030 00006048 00006060 00006078 00006090 000060A8 000060C0 000060D8 000060F0 00006108 00006120 00006138 00006150 00006168 00006180 00006198 000061B0 000061C8 000061E0 000061F8 00006210 00006228 00006240 00006258 00006270 00006288 000062A0 000062B8 000062D0 000062E8 00006300 00006318 00006330 00006348 00006360 00006378 00006390 000063A8 000063C0 000063D8 000063F0 00006408 00006420 00006438 00006450 00006468 00006480 00006498 000064B0 000064C8 000064E0 000064F8 00006510 00006528 00006540 00006558 00006570 00006588 000065A0 000065B8 000065D0 000065E8 00006600 00006618 00006630 00006648 00006660 00006678 00006690 000066A8 000066C0 000066D8 000066F0 00006708 00006720 00006738 00006750 00006768 00006780 00006798 000067B0 000067C8 000067E0 000067F8 00006810 00006828 00006840 00006858 00006870 00006888 000068A0 000068B8 000068D0 000068E8 00006900 00006918 00006930 00006948 00006960 00006978 00006990 000069A8 000069C0 000069D8 000069F0 00006A08 00006A20 00006A38 00006A50 00006A68 00006A80 00006A98 00006AB0 00006AC8 00006AE0 00006AF8 00006B10 00006B28 00006B40 00006B58 00006B70 00006B88 00006BA0 00006BB8 00006BD0 00006BE8 00006C00 00006C18 00006C30 00006C48 00006C60 00006C78 00006C90 00006CA8 00006CC0 00006CD8 00006CF0 00006D08 00006D20 00006D38 00006D50 00006D68 00006D80 00006D98 00006DB0 00006DC8 00006DE0 00006DF8 00006E10 00006E28 00006E40 00006E58 00006E70 00006E88 00006EA0 00006EB8 00006ED0 00006EE8 00006F00 00006F18 00006F30 00006F48 00006F60 00006F78 00006F90 00006FA8 00006FC0 00006FD8 00006FF0 00007008 00007020 00007038 00007050 00007068 00007080 00007098 000070B0 000070C8 000070E0 000070F8 00007110 00007128 00007140 00007158 00007170 00007188 000071A0 000071B8 000071D0 000071E8 00007200 00007218 00007230 00007248 00007260 00007278 00007290 000072A8 000072C0 000072D8 000072F0 00007308 00007320 00007338 00007350 00007368 00007380 00007398 000073B0 000073C8 000073E0 000073F8 00007410 00007428 00007440 00007458 00007470 00007488 000074A0 000074B8 000074D0 000074E8 00007500 00007518 00007530 00007548 00007560 00007578 00007590 000075A8 000075C0 000075D8 000075F0 00007608 00007620 00007638 00007650 00007668 00007680 00007698 000076B0 000076C8 000076E0 000076F8 00007710 00007728 00007740 00007758 00007770 00007788 000077A0 000077B8 000077D0 000077E8 00007800 00007818 00007830 00007848 00007860 00007878 00007890 000078A8 000078C0 000078D8 000078F0 00007908 00007920 00007938 00007950 00007968 00007980 00007998 000079B0 000079C8 000079E0 000079F8 00007A10 00007A28 00007A40 00007A58 00007A70 00007A88 00007AA0 00007AB8 00007AD0 00007AE8 00007B00 00007B18 00007B30 00007B48 00007B60 00007B78 00007B90 00007BA8 00007BC0 00007BD8 00007BF0 00007C08 00007C20 00007C38 00007C50 00007C68 00007C80 00007C98 00007CB0 00007CC8 00007CE0 00007CF8 00007D10 00007D28 00007D40 00007D58 00007D70 00007D88 00007DA0 00007DB8 00007DD0 00007DE8 00007E00 00007E18 00007E30 00007E48 00007E60 00007E78 00007E90 00007EA8 00007EC0 00007ED8 00007EF0 00007F08 00007F20 00007F38 00007F50 00007F68 00007F80 00007F98 00007FB0 00007FC8 00007FE0 00007FF8 00008010 00008028 00008040 00008058 00008070 00008088 000080A0 000080B8 000080D0 000080E8 00008100 00008118 00008130 00008148 00008160 00008178 00008190 000081A8 000081C0 000081D8 000081F0 00008208 00008220 00008238 00008250 00008268 00008280 00008298 000082B0 000082C8 000082E0 000082F8 00008310 00008328 00008340 00008358 00008370 00008388 000083A0 000083B8 000083D0 000083E8 00008400 00008418 00008430 00008448 00008460 00008478 00008490 000084A8 000084C0 000084D8 000084F0 00008508 00008520 00008538 00008550 00008568 00008580 00008598 000085B0 000085C8 000085E0 000085F8 00008610 00008628 00008640 00008658 00008670 00008688 000086A0 000086B8 000086D0 000086E8 00008700 00008718 00008730 00008748 00008760 00008778 00008790 000087A8 000087C0 000087D8 000087F0 00008808 00008820 00008838 00008850 00008868 00008880 00008898 000088B0 000088C8 000088E0 000088F8 00008910 00008928 00008940 00008958 00008970 00008988 000089A0 000089B8 000089D0 000089E8 00008A00 00008A18 00008A30 00008A48 00008A60 00008A78 00008A90 00008AA8 00008AC0 00008AD8 00008AF0 00008B08 00008B20 00008B38 00008B50 00008B68 00008B80 00008B98 00008BB0 00008BC8 00008BE0 00008BF8 00008C10 00008C28 00008C40 00008C58 00008C70 00008C88 00008CA0 00008CB8 00008CD0 00008CE8 00008D00 00008D18 00008D30 00008D48 00008D60 00008D78 00008D90 00008DA8 00008DC0 00008DD8 00008DF0 00008E08 00008E20 00008E38 00008E50 00008E68 00008E80 00008E98 00008EB0 00008EC8 00008EE0 00008EF8 00008F10 00008F28 00008F40 00008F58 00008F70 00008F88 00008FA0 00008FB8 00008FD0 00008FE8 00009000 00009018 00009030 00009048 00009060 00009078 00009090 000090A8 000090C0 000090D8 000090F0 00009108 00009120 00009138 00009150 00009168 00009180 00009198 000091B0 000091C8 000091E0 000091F8 00009210 00009228 00009240 00009258 00009270 00009288 000092A0 000092B8 000092D0 000092E8 00009300 00009318 00009330 00009348 00009360 00009378 00009390 000093A8 000093C0 000093D8 000093F0 00009408 00009420 00009438 00009450 00009468 00009480 00009498 000094B0 000094C8 000094E0 000094F8 00009510 00009528 00009540 00009558 00009570 00009588 000095A0 000095B8 000095D0 000095E8 00009600 00009618 00009630 00009648 00009660 00009678 00009690 000096A8 000096C0 000096D8 000096F0 00009708 00009720 00009738 00009750 00009768 00009780 00009798 000097B0 000097C8 000097E0 000097F8 00009810 00009828 00009840 00009858 00009870 00009888 000098A0 000098B8 000098D0 000098E8 00009900 00009918 00009930 00009948 00009960 00009978 00009990 000099A8 000099C0 000099D8 000099F0 00009A08 00009A20 00009A38 00009A50 00009A68 00009A80 00009A98 00009AB0 00009AC8 00009AE0 00009AF8 00009B10 00009B28 00009B40 00009B58 00009B70 00009B88 00009BA0 00009BB8 00009BD0 00009BE8 00009C00 00009C18 00009C30 00009C48 00009C60 00009C78 00009C90 00009CA8 00009CC0 00009CD8 00009CF0 00009D08 00009D20 00009D38 00009D50 00009D68 00009D80 00009D98 00009DB0 00009DC8 00009DE0 00009DF8 00009E10 00009E28 00009E40 00009E58 00009E70 00009E88 00009EA0 00009EB8 00009ED0 00009EE8 00009F00 00009F18 00009F30 00009F48 00009F60 00009F78 00009F90 00009FA8 00009FC0 00009FD8 00009FF0 0000A008 0000A020 0000A038 0000A050 0000A068 0000A080 0000A098 0000A0B0 0000A0C8 0000A0E0 0000A0F8 0000A110 0000A128 0000A140 0000A158 0000A170 0000A188 0000A1A0 0000A1B8 0000A1D0 0000A1E8 0000A200 0000A218 0000A230 0000A248 0000A260 0000A278 0000A290 0000A2A8 0000A2C0 0000A2D8 0000A2F0 0000A308 0000A320 0000A338 0000A350 0000A368 0000A380 0000A398 0000A3B0 0000A3C8 0000A3E0 0000A3F8 0000A410 0000A428 0000A440 0000A458 0000A470 0000A488 0000A4A0 0000A4B8 0000A4D0 0000A4E8 0000A500 0000A518 0000A530 0000A548 0000A560 0000A578 0000A590 0000A5A8 0000A5C0 0000A5D8 0000A5F0 0000A608 0000A620 0000A638 0000A650 0000A668 0000A680 0000A698 0000A6B0 0000A6C8 0000A6E0 0000A6F8 0000A710 0000A728 0000A740 0000A758 0000A770 0000A788 0000A7A0 0000A7B8 0000A7D0 0000A7E8 0000A800 0000A818 0000A830 0000A848 0000A860 0000A878 0000A890 0000A8A8 0000A8C0 0000A8D8 0000A8F0 0000A908 0000A920 0000A938 0000A950 0000A968 0000A980 0000A998 0000A9B0 0000A9C8 0000A9E0 0000A9F8 0000AA10 0000AA28 0000AA40 0000AA58 0000AA70 0000AA88 0000AAA0 0000AAB8 0000AAD0 0000AAE8 0000AB00 0000AB18 0000AB30 0000AB48 0000AB60 0000AB78 0000AB90 0000ABA8 0000ABC0 0000ABD8 0000ABF0 0000AC08 0000AC20 0000AC38 0000AC50 0000AC68 0000AC80 0000AC98 0000ACB0 0000ACC8 0000ACE0 0000ACF8 0000AD10 0000AD28 0000AD40 0000AD58 0000AD70 0000AD88 0000ADA0 0000ADB8 0000ADD0 0000ADE8 0000AE00 0000AE18 0000AE30 0000AE48 0000AE60 0000AE78 0000AE90 0000AEA8 0000AEC0 0000AED8 0000AEF0 0000AF08 0000AF20 0000AF38 0000AF50 0000AF68 0000AF80 0000AF98 0000AFB0 0000AFC8 0000AFE0 0000AFF8 0000B010 0000B028 0000B040 0000B058 0000B070 0000B088 0000B0A0 0000B0B8 0000B0D0 0000B0E8 0000B100 0000B118 0000B130 0000B148 0000B160 0000B178 0000B190 0000B1A8 0000B1C0 0000B1D8 0000B1F0 0000B208 0000B220 0000B238 0000B250 0000B268 0000B280 0000B298 0000B2B0 0000B2C8 0000B2E0 0000B2F8 0000B310 0000B328 0000B340 0000B358 0000B370 0000B388 0000B3A0 0000B3B8 0000B3D0 0000B3E8 0000B400 0000B418 0000B430 0000B448 0000B460 0000B478 0000B490 0000B4A8 0000B4C0 0000B4D8 0000B4F0 0000B508 0000B520 0000B538 0000B550 0000B568 0000B580 0000B598 0000B5B0 0000B5C8 0000B5E0 0000B5F8 0000B610 0000B628 0000B640 0000B658 0000B670 0000B688 0000B6A0 0000B6B8 0000B6D0 0000B6E8 0000B700 0000B718 0000B730 0000B748 0000B760 0000B778 0000B790 0000B7A8 0000B7C0 0000B7D8 0000B7F0 0000B808 0000B820 0000B838 0000B850 0000B868 0000B880 0000B898 0000B8B0 0000B8C8 0000B8E0 0000B8F8 0000B910 0000B928 0000B940 0000B958 0000B970 0000B988 0000B9A0 0000B9B8 0000B9D0 0000B9E8 0000BA00 0000BA18 0000BA30 0000BA48 0000BA60 0000BA78 0000BA90 0000BAA8 0000BAC0 0000BAD8 0000BAF0 0000BB08 0000BB20 0000BB38 0000BB50 0000BB68 0000BB80 0000BB98 0000BBB0 0000BBC8 0000BBE0 0000BBF8 0000BC10 0000BC28 0000BC40 0000BC58 0000BC70 0000BC88 0000BCA0 0000BCB8 0000BCD0 0000BCE8 0000BD00 0000BD18 0000BD30 0000BD48 0000BD60 0000BD78 0000BD90 0000BDA8 0000BDC0 0000BDD8 0000BDF0 0000BE08 0000BE20 0000BE38 0000BE50 0000BE68 0000BE80 0000BE98 0000BEB0 0000BEC8 0000BEE0 0000BEF8 0000BF10 0000BF28 0000BF40 0000BF58 0000BF70 0000BF88 0000BFA0 0000BFB8 0000BFD0 0000BFE8 0000C000 0000C018 0000C030 0000C048 0000C060 0000C078 0000C090 0000C0A8 0000C0C0 0000C0D8 0000C0F0 0000C108 0000C120 0000C138 0000C150 0000C168 0000C180 0000C198 0000C1B0 0000C1C8 0000C1E0 0000C1F8 0000C210 0000C228 0000C240 0000C258 0000C270 0000C288 0000C2A0 0000C2B8 0000C2D0 0000C2E8 0000C300 0000C318 0000C330 0000C348 0000C360 0000C378 0000C390 0000C3A8 0000C3C0 0000C3D8 0000C3F0 0000C408 0000C420 0000C438 0000C450 0000C468 0000C480 0000C498 0000C4B0 0000C4C8 0000C4E0 0000C4F8 0000C510 0000C528 0000C540 0000C558 0000C570 0000C588 0000C5A0 0000C5B8 0000C5D0 0000C5E8 0000C600 0000C618 0000C630 0000C648 0000C660 0000C678 0000C690 0000C6A8 0000C6C0 0000C6D8 0000C6F0 0000C708 0000C720 0000C738 0000C750 0000C768 0000C780 0000C798 0000C7B0 0000C7C8 0000C7E0 0000C7F8 0000C810 0000C828 0000C840 0000C858 0000C870 0000C888 0000C8A0 0000C8B8 0000C8D0 0000C8E8 0000C900 0000C918 0000C930 0000C948 0000C960 0000C978 0000C990 0000C9A8 0000C9C0 0000C9D8 0000C9F0 0000CA08 0000CA20 0000CA38 0000CA50 0000CA68 0000CA80 0000CA98 0000CAB0 0000CAC8 0000CAE0 0000CAF8 0000CB10 0000CB28 0000CB40 0000CB58 0000CB70 0000CB88 0000CBA0 0000CBB8 0000CBD0 0000CBE8 0000CC00 0000CC18 0000CC30 0000CC48 0000CC60 0000CC78 0000CC90 0000CCA8 0000CCC0 0000CCD8 0000CCF0 0000CD08 0000CD20 0000CD38 0000CD50 0000CD68 0000CD80 0000CD98 0000CDB0 0000CDC8 0000CDE0 0000CDF8 0000CE10 0000CE28 0000CE40 0000CE58 0000CE70 0000CE88 0000CEA0 0000CEB8 0000CED0 0000CEE8 0000CF00 0000CF18 0000CF30 0000CF48 0000CF60 0000CF78 0000CF90 0000CFA8 0000CFC0 0000CFD8 0000CFF0 0000D008 0000D020 0000D038 0000D050 0000D068 0000D080 0000D098 0000D0B0 0000D0C8 0000D0E0 0000D0F8 0000D110 0000D128 0000D140 0000D158 0000D170 0000D188 0000D1A0 0000D1B8 0000D1D0 0000D1E8 0000D200 0000D218 0000D230 0000D248 0000D260 0000D278 0000D290 0000D2A8 0000D2C0 0000D2D8 0000D2F0 0000D308 0000D320 0000D338 0000D350 0000D368 0000D380 0000D398 0000D3B0 0000D3C8 0000D3E0 0000D3F8 0000D410 0000D428 0000D440 0000D458 0000D470 0000D488 0000D4A0 0000D4B8 0000D4D0 0000D4E8 0000D500 0000D518 0000D530 0000D548 0000D560 0000D578 0000D590 0000D5A8 0000D5C0 0000D5D8 0000D5F0 0000D608 0000D620 0000D638 0000D650 0000D668 0000D680 0000D698 0000D6B0 0000D6C8 0000D6E0 0000D6F8 0000D710 0000D728 0000D740 0000D758 0000D770 0000D788 0000D7A0 0000D7B8 0000D7D0 0000D7E8 0000D800 0000D818 0000D830 0000D848 0000D860 0000D878 0000D890 0000D8A8 0000D8C0 0000D8D8 0000D8F0 0000D908 0000D920 0000D938 0000D950 0000D968 0000D980 0000D998 0000D9B0 0000D9C8 0000D9E0 0000D9F8 0000DA10 0000DA28 0000DA40 0000DA58 0000DA70 0000DA88 0000DAA0 0000DAB8 0000DAD0 0000DAE8 0000DB00 0000DB18 0000DB30 0000DB48 0000DB60 0000DB78 0000DB90 0000DBA8 0000DBC0 0000DBD8 0000DBF0 0000DC08 0000DC20 0000DC38 0000DC50 0000DC68 0000DC80 0000DC98 0000DCB0 0000DCC8 0000DCE0 0000DCF8 0000DD10 0000DD28 0000DD40 0000DD58 0000DD70 0000DD88 0000DDA0 0000DDB8 0000DDD0 0000DDE8 0000DE00 0000DE18 0000DE30 0000DE48 0000DE60 0000DE78 0000DE90 0000DEA8 0000DEC0 0000DED8 0000DEF0 0000DF08 0000DF20 0000DF38 0000DF50 0000DF68 0000DF80 0000DF98 0000DFB0 0000DFC8 0000DFE0 0000DFF8 0000E010 0000E028 0000E040 0000E058 0000E070 0000E088 0000E0A0 0000E0B8 0000E0D0 0000E0E8 0000E100 0000E118 0000E130 0000E148 0000E160 0000E178 0000E190 0000E1A8 0000E1C0 0000E1D8 0000E1F0 0000E208 0000E220 0000E238 0000E250 0000E268 0000E280 0000E298 0000E2B0 0000E2C8 0000E2E0 0000E2F8 0000E310 0000E328 0000E340 0000E358 0000E370 0000E388 0000E3A0 0000E3B8 0000E3D0 0000E3E8 0000E400 0000E418 0000E430 0000E448 0000E460 0000E478 0000E490 0000E4A8 0000E4C0 0000E4D8 0000E4F0 0000E508 0000E520 0000E538 0000E550 0000E568 0000E580 0000E598 0000E5B0 0000E5C8 0000E5E0 0000E5F8 0000E610 0000E628 0000E640 0000E658 0000E670 0000E688 0000E6A0 0000E6B8 0000E6D0 0000E6E8 0000E700 0000E718 0000E730 0000E748 0000E760 0000E778 0000E790 0000E7A8 0000E7C0 0000E7D8 0000E7F0 0000E808 0000E820 0000E838 0000E850 0000E868 0000E880 0000E898 0000E8B0 0000E8C8 0000E8E0 0000E8F8 0000E910 0000E928 0000E940 0000E958 0000E970 0000E988 0000E9A0 0000E9B8 0000E9D0 0000E9E8 0000EA00 0000EA18 0000EA30 0000EA48 0000EA60 0000EA78 0000EA90 0000EAA8 0000EAC0 0000EAD8 0000EAF0 0000EB08 0000EB20 0000EB38 0000EB50 0000EB68 0000EB80 0000EB98 0000EBB0 0000EBC8 0000EBE0 0000EBF8 0000EC10 0000EC28 0000EC40 0000EC58 0000EC70 0000EC88 0000ECA0 0000ECB8 0000ECD0 0000ECE8 0000ED00 0000ED18 0000ED30 0000ED48 0000ED60 0000ED78 0000ED90 0000EDA8 0000EDC0 0000EDD8 0000EDF0 0000EE08 0000EE20 0000EE38 0000EE50 0000EE68 0000EE80 0000EE98 0000EEB0 0000EEC8 0000EEE0 0000EEF8 0000EF10 0000EF28 0000EF40 0000EF58 0000EF70 0000EF88 0000EFA0 0000EFB8 0000EFD0 0000EFE8 0000F000 0000F018 0000F030 0000F048 0000F060 0000F078 0000F090 0000F0A8 0000F0C0 0000F0D8 0000F0F0 0000F108 0000F120 0000F138 0000F150 0000F168 0000F180 0000F198 0000F1B0 0000F1C8 0000F1E0 0000F1F8 0000F210 0000F228 0000F240 0000F258 0000F270 0000F288 0000F2A0 0000F2B8 0000F2D0 0000F2E8 0000F300 0000F318 0000F330 0000F348 0000F360 0000F378 0000F390 0000F3A8 0000F3C0 0000F3D8 0000F3F0 0000F408 0000F420 0000F438 0000F450 0000F468 0000F480 0000F498 0000F4B0 0000F4C8 0000F4E0 0000F4F8 0000F510 0000F528 0000F540 0000F558 0000F570 0000F588 0000F5A0 0000F5B8 0000F5D0 0000F5E8 0000F600 0000F618 0000F630 0000F648 0000F660 0000F678 0000F690 0000F6A8 0000F6C0 0000F6D8 0000F6F0 0000F708 0000F720 0000F738 0000F750 0000F768 0000F780 0000F798 0000F7B0 0000F7C8 0000F7E0 0000F7F8 0000F810 0000F828 0000F840 0000F858 0000F870 0000F888 0000F8A0 0000F8B8 0000F8D0 0000F8E8 0000F900 0000F918 0000F930 0000F948 0000F960 0000F978 0000F990 0000F9A8 0000F9C0 0000F9D8 0000F9F0 0000FA08 0000FA20 0000FA38 0000FA50 0000FA68 0000FA80 0000FA98 0000FAB0 0000FAC8 0000FAE0 0000FAF8 0000FB10 0000FB28 0000FB40 0000FB58 0000FB70 0000FB88 0000FBA0 0000FBB8 0000FBD0 0000FBE8 0000FC00 0000FC18 0000FC30 0000FC48 0000FC60 0000FC78 0000FC90 0000FCA8 0000FCC0 0000FCD8 0000FCF0 0000FD08 0000FD20 0000FD38 0000FD50 0000FD68 0000FD80 0000FD98 0000FDB0 0000FDC8 0000FDE0 0000FDF8 0000FE10 0000FE28 0000FE40 0000FE58 0000FE70 0000FE88 0000FEA0 0000FEB8 0000FED0 0000FEE8 0000FF00 0000FF18 0000FF30 0000FF48 0000FF60 0000FF78 0000FF90 0000FFA8 0000FFC0 0000FFD8 0000FFF0 00010008 00010020 00010038 00010050 00010068 00010080 00010098 000100B0 000100C8 000100E0 000100F8 00010110 00010128 00010140 00010158 00010170 00010188 000101A0 000101B8 000101D0 000101E8 00010200 00010218 00010230 00010248 00010260 00010278 00010290 000102A8 000102C0 000102D8 000102F0 00010308 00010320 00010338 00010350 00010368 00010380 00010398 000103B0 000103C8 000103E0 000103F8 00010410 00010428 00010440 00010458 00010470 00010488 000104A0 000104B8 000104D0 000104E8 00010500 00010518 00010530 00010548 00010560 00010578 00010590 000105A8 000105C0 000105D8 000105F0 00010608 00010620 00010638 00010650 00010668 00010680 00010698 000106B0 000106C8 000106E0 000106F8 00010710 00010728 00010740 00010758 00010770 00010788 000107A0 000107B8 000107D0 000107E8 00010800 00010818 00010830 00010848 00010860 00010878 00010890 000108A8 000108C0 000108D8 000108F0 00010908 00010920 00010938 00010950 00010968 00010980 00010998 000109B0 000109C8 000109E0 000109F8 00010A10 00010A28 00010A40 00010A58 00010A70 00010A88 00010AA0 00010AB8 00010AD0 00010AE8 00010B00 00010B18 00010B30 00010B48 00010B60 00010B78 00010B90 00010BA8 00010BC0 00010BD8 00010BF0 00010C08 00010C20 00010C38 00010C50 00010C68 00010C80 00010C98 00010CB0 00010CC8 00010CE0 00010CF8 00010D10 00010D28 00010D40 00010D58 00010D70 00010D88 00010DA0 00010DB8 00010DD0 00010DE8 00010E00 00010E18 00010E30 00010E48 00010E60 00010E78 00010E90 00010EA8 00010EC0 00010ED8 00010EF0 00010F08 00010F20 00010F38 00010F50 00010F68 00010F80 00010F98 00010FB0 00010FC8 00010FE0 00010FF8 00011010 00011028 00011040 00011058 00011070 00011088 000110A0 000110B8 000110D0 000110E8 00011100 00011118 00011130 00011148 00011160 00011178 00011190 000111A8 000111C0 000111D8 000111F0 00011208 00011220 00011238 00011250 00011268 00011280 00011298 000112B0 000112C8 000112E0 000112F8 00011310 00011328 00011340 00011358 00011370 00011388 000113A0 000113B8 000113D0 000113E8 00011400 00011418 00011430 00011448 00011460 00011478 00011490 000114A8 000114C0 000114D8 000114F0 00011508 00011520 00011538 00011550 00011568 00011580 00011598 000115B0 000115C8 000115E0 000115F8 00011610 00011628 00011640 00011658 00011670 00011688 000116A0 000116B8 000116D0 000116E8 00011700 00011718 00011730 00011748 00011760 00011778 00011790 000117A8 000117C0 000117D8 000117F0 00011808 00011820 00011838 00011850 00011868 00011880 00011898 000118B0 000118C8 000118E0 000118F8 00011910 00011928 00011940 00011958 00011970 00011988 000119A0 000119B8 000119D0 000119E8 00011A00 00011A18 00011A30 00011A48 00011A60 00011A78 00011A90 00011AA8 00011AC0 00011AD8 00011AF0 00011B08 00011B20 00011B38 00011B50 00011B68 00011B80 00011B98 00011BB0 00011BC8 00011BE0 00011BF8 00011C10 00011C28 00011C40 00011C58 00011C70 00011C88 00011CA0 00011CB8 00011CD0 00011CE8 00011D00 00011D18 00011D30 00011D48 00011D60 00011D78 00011D90 00011DA8 00011DC0 00011DD8 00011DF0 00011E08 00011E20 00011E38 00011E50 00011E68 00011E80 00011E98 00011EB0 00011EC8 00011EE0 00011EF8 00011F10 00011F28 00011F40 00011F58 00011F70 00011F88 00011FA0 00011FB8 00011FD0 00011FE8 00012000 00012018 00012030 00012048 00012060 00012078 00012090 000120A8 000120C0 000120D8 000120F0 00012108 00012120 00012138 00012150 00012168 00012180 00012198 000121B0 000121C8 000121E0 000121F8 00012210 00012228 00012240 00012258 00012270 00012288 000122A0 000122B8 000122D0 000122E8 00012300 00012318 00012330 00012348 00012360 00012378 00012390 000123A8 000123C0 000123D8 000123F0 00012408 00012420 00012438 00012450 00012468 00012480 00012498 000124B0 000124C8 000124E0 000124F8 00012510 00012528 00012540 00012558 00012570 00012588 000125A0 000125B8 000125D0 000125E8 00012600 00012618 00012630 00012648 00012660 00012678 00012690 000126A8 000126C0 000126D8 000126F0 00012708 00012720 00012738 00012750 00012768 00012780 00012798 000127B0 000127C8 000127E0 000127F8 00012810 00012828 00012840 00012858 00012870 00012888 000128A0 000128B8 000128D0 000128E8 00012900 00012918 00012930 00012948 00012960 00012978 00012990 000129A8 000129C0 000129D8 000129F0 00012A08 00012A20 00012A38 00012A50 00012A68 00012A80 00012A98 00012AB0 00012AC8 00012AE0 00012AF8 00012B10 00012B28 00012B40 00012B58 00012B70 00012B88 00012BA0 00012BB8 00012BD0 00012BE8 00012C00 00012C18 00012C30 00012C48 00012C60 00012C78 00012C90 00012CA8 00012CC0 00012CD8 00012CF0 00012D08 00012D20 00012D38 00012D50 00012D68 00012D80 00012D98 00012DB0 00012DC8 00012DE0 00012DF8 00012E10 00012E28 00012E40 00012E58 00012E70 00012E88 00012EA0 00012EB8 00012ED0 00012EE8 00012F00 00012F18 00012F30 00012F48 00012F60 00012F78 00012F90 00012FA8 00012FC0 00012FD8 00012FF0 00013008 00013020 00013038 00013050 00013068 00013080 00013098 000130B0 000130C8 000130E0 000130F8 00013110 00013128 00013140 00013158 00013170 00013188 000131A0 000131B8 000131D0 000131E8 00013200 00013218 00013230 00013248 00013260 00013278 00013290 000132A8 000132C0 000132D8 000132F0 00013308 00013320 00013338 00013350 00013368 00013380 00013398 000133B0 000133C8 000133E0 000133F8 00013410 00013428 00013440 00013458 00013470 00013488 000134A0 000134B8 000134D0 000134E8 00013500 00013518 00013530 00013548 00013560 00013578 00013590 000135A8 000135C0 000135D8 000135F0 00013608 00013620 00013638 00013650 00013668 00013680 00013698 000136B0 000136C8 000136E0 000136F8 00013710 00013728 00013740 00013758 00013770 00013788 000137A0 000137B8 000137D0 000137E8 00013800 00013818 00013830 00013848 00013860 00013878 00013890 000138A8 000138C0 000138D8 000138F0 00013908 00013920 00013938 00013950 00013968 00013980 00013998 000139B0 000139C8 000139E0 000139F8 00013A10 00013A28 00013A40 00013A58 00013A70 00013A88 00013AA0 00013AB8 00013AD0 00013AE8 00013B00 00013B18 00013B30 00013B48 00013B60 00013B78 00013B90 00013BA8 00013BC0 00013BD8 00013BF0 00013C08 00013C20 00013C38 00013C50 00013C68 00013C80 00013C98 00013CB0 00013CC8 00013CE0 00013CF8 00013D10 00013D28 00013D40 00013D58 00013D70 00013D88 00013DA0 00013DB8 00013DD0 00013DE8 00013E00 00013E18 00013E30 00013E48 00013E60 00013E78 00013E90 00013EA8 00013EC0 00013ED8 00013EF0 00013F08 00013F20 00013F38 00013F50 00013F68 00013F80 00013F98 00013FB0 00013FC8 00013FE0 00013FF8 00014010 00014028 00014040 00014058 00014070 00014088 000140A0 000140B8 000140D0 000140E8 00014100 00014118 00014130 00014148 00014160 00014178 00014190 000141A8 000141C0 000141D8 000141F0 00014208 00014220 00014238 00014250 00014268 00014280 00014298 000142B0 000142C8 000142E0 000142F8 00014310 00014328 00014340 00014358 00014370 00014388 000143A0 000143B8 000143D0 000143E8 00014400 00014418 00014430 00014448 00014460 00014478 00014490 000144A8 000144C0 000144D8 000144F0 00014508 00014520 00014538 00014550 00014568 00014580 00014598 000145B0 000145C8 000145E0 000145F8 00014610 00014628 00014640 00014658 00014670 00014688 000146A0 000146B8 000146D0 000146E8 00014700 00014718 00014730 00014748 00014760 00014778 00014790 000147A8 000147C0 000147D8 000147F0 00014808 00014820 00014838 00014850 00014868 00014880 00014898 000148B0 000148C8 000148E0 000148F8 00014910 00014928 00014940 00014958 00014970 00014988 000149A0 000149B8 000149D0 000149E8 00014A00 00014A18 00014A30 00014A48 00014A60 00014A78 00014A90 00014AA8 00014AC0 00014AD8 00014AF0 00014B08 00014B20 00014B38 00014B50 00014B68 00014B80 00014B98 00014BB0 00014BC8 00014BE0 00014BF8 00014C10 00014C28 00014C40 00014C58 00014C70 00014C88 00014CA0 00014CB8 00014CD0 00014CE8 00014D00 00014D18 00014D30 00014D48 00014D60 00014D78 00014D90 00014DA8 00014DC0 00014DD8 00014DF0 00014E08 00014E20 00014E38 00014E50 00014E68 00014E80 00014E98 00014EB0 00014EC8 00014EE0 00014EF8 00014F10 00014F28 00014F40 00014F58 00014F70 00014F88 00014FA0 00014FB8 00014FD0 00014FE8 00015000 00015018 00015030 00015048 00015060 00015078 00015090 000150A8 000150C0 000150D8 000150F0 00015108 00015120 00015138 00015150 00015168 00015180 00015198 000151B0 000151C8 000151E0 000151F8 00015210 00015228 00015240 00015258 00015270 00015288 000152A0 000152B8 000152D0 000152E8 00015300 00015318 00015330 00015348 00015360 00015378 00015390 000153A8 000153C0 000153D8 000153F0 00015408 00015420 00015438 00015450 00015468 00015480 00015498 000154B0 000154C8 000154E0 000154F8 00015510 00015528 00015540 00015558 00015570 00015588 000155A0 000155B8 000155D0 000155E8 00015600 00015618 00015630 00015648 00015660 00015678 00015690 000156A8 000156C0 000156D8 000156F0 00015708 00015720 00015738 00015750 00015768 00015780 00015798 000157B0 000157C8 000157E0 000157F8 00015810 00015828 00015840 00015858 00015870 00015888 000158A0 000158B8 000158D0 000158E8 00015900 00015918 00015930 00015948 00015960 00015978 00015990 000159A8 000159C0 000159D8 000159F0 00015A08 00015A20 00015A38 00015A50 00015A68 00015A80 00015A98 00015AB0 00015AC8 00015AE0 00015AF8 00015B10 00015B28 00015B40 00015B58 00015B70 00015B88 00015BA0 00015BB8 00015BD0 00015BE8 00015C00 00015C18 00015C30 00015C48 00015C60 00015C78 00015C90 00015CA8 00015CC0 00015CD8 00015CF0 00015D08 00015D20 00015D38 00015D50 00015D68 00015D80 00015D98 00015DB0 00015DC8 00015DE0 00015DF8 00015E10 00015E28 00015E40 00015E58 00015E70 00015E88 00015EA0 00015EB8 00015ED0 00015EE8 00015F00 00015F18 00015F30 00015F48 00015F60 00015F78 00015F90 00015FA8 00015FC0 00015FD8 00015FF0 00016008 00016020 00016038 00016050 00016068 00016080 00016098 000160B0 000160C8 000160E0 000160F8 00016110 00016128 00016140 00016158 00016170 00016188 000161A0 000161B8 000161D0 000161E8 00016200 00016218 00016230 00016248 00016260 00016278 00016290 000162A8 000162C0 000162D8 000162F0 00016308 00016320 00016338 00016350 00016368 00016380 00016398 000163B0 000163C8 000163E0 000163F8 00016410 00016428 00016440 00016458 00016470 00016488 000164A0 000164B8 000164D0 000164E8 00016500 00016518 00016530 00016548 00016560 00016578 00016590 000165A8 000165C0 000165D8 000165F0 00016608 00016620 00016638 00016650 00016668 00016680 00016698 000166B0 000166C8 000166E0 000166F8 00016710 00016728 00016740 00016758 00016770 00016788 000167A0 000167B8 000167D0 000167E8 00016800 00016818 00016830 00016848 00016860 00016878 00016890 000168A8 000168C0 000168D8 000168F0 00016908 00016920 00016938 00016950 00016968 00016980 00016998 000169B0 000169C8 000169E0 000169F8 00016A10 00016A28 00016A40 00016A58 00016A70 00016A88 00016AA0 00016AB8 00016AD0 00016AE8 00016B00 00016B18 00016B30 00016B48 00016B60 00016B78 00016B90 00016BA8 00016BC0 00016BD8 00016BF0 00016C08 00016C20 00016C38 00016C50 00016C68 00016C80 00016C98 00016CB0 00016CC8 00016CE0 00016CF8 00016D10 00016D28 00016D40 00016D58 00016D70 00016D88 00016DA0 00016DB8 00016DD0 00016DE8 00016E00 00016E18 00016E30 00016E48 00016E60 00016E78 00016E90 00016EA8 00016EC0 00016ED8 00016EF0 00016F08 00016F20 00016F38 00016F50 00016F68 00016F80 00016F98 00016FB0 00016FC8 00016FE0 00016FF8 00017010 00017028 00017040 00017058 00017070 00017088 000170A0 000170B8 000170D0 000170E8 00017100 00017118 00017130 00017148 00017160 00017178 00017190 000171A8 000171C0 000171D8 000171F0 00017208 00017220 00017238 00017250 00017268 00017280 00017298 000172B0 000172C8 000172E0 000172F8 00017310 00017328 00017340 00017358 00017370 00017388 000173A0 000173B8 000173D0 000173E8 00017400 00017418 00017430 00017448 00017460 00017478 00017490 000174A8 000174C0 000174D8 000174F0 00017508 00017520 00017538 00017550 00017568 00017580 00017598 000175B0 000175C8 000175E0 000175F8 00017610 00017628 00017640 00017658 00017670 00017688 000176A0 000176B8 000176D0 000176E8 00017700 00017718 00017730 00017748 00017760 00017778 00017790 000177A8 000177C0 000177D8 000177F0 00017808 00017820 00017838 00017850 00017868 00017880 00017898 000178B0 000178C8 000178E0 000178F8 00017910 00017928 00017940 00017958 00017970 00017988 000179A0 000179B8 000179D0 000179E8 00017A00 00017A18 00017A30 00017A48 00017A60 00017A78 00017A90 00017AA8 00017AC0 00017AD8 00017AF0 00017B08 00017B20 00017B38 00017B50 00017B68 00017B80 00017B98 00017BB0 00017BC8 00017BE0 00017BF8 00017C10 00017C28 00017C40 00017C58 00017C70 00017C88 00017CA0 00017CB8 00017CD0 00017CE8 00017D00 00017D18 00017D30 00017D48 00017D60 00017D78 00017D90 00017DA8 00017DC0 00017DD8 00017DF0 00017E08 00017E20 00017E38 00017E50 00017E68 00017E80 00017E98 00017EB0 00017EC8 00017EE0 00017EF8 00017F10 00017F28 00017F40 00017F58 00017F70 00017F88 00017FA0 00017FB8 00017FD0 00017FE8 00018000 00018018 00018030 00018048 00018060 00018078 00018090 000180A8 000180C0 000180D8 000180F0 00018108 00018120 00018138 00018150 00018168 00018180 00018198 000181B0 000181C8 000181E0 000181F8 00018210 00018228 00018240 00018258 00018270 00018288 000182A0 000182B8 000182D0 000182E8 00018300 00018318 00018330 00018348 00018360 00018378 00018390 000183A8 000183C0 000183D8 000183F0 00018408 00018420 00018438 00018450 00018468 00018480 00018498 000184B0 000184C8 000184E0 000184F8 00018510 00018528 00018540 00018558 00018570 00018588 000185A0 000185B8 000185D0 000185E8 00018600 00018618 00018630 00018648 00018660 00018678 00018690 000186A8 000186C0 000186D8 000186F0 00018708 00018720 00018738 00018750 00018768 00018780 00018798 000187B0 000187C8 000187E0 000187F8 00018810 00018828 00018840 00018858 00018870 00018888 000188A0 000188B8 000188D0 000188E8 00018900 00018918 00018930 00018948 00018960 00018978 00018990 000189A8 000189C0 000189D8 000189F0 00018A08 00018A20 00018A38 00018A50 00018A68 00018A80 00018A98 00018AB0 00018AC8 00018AE0 00018AF8 00018B10 00018B28 00018B40 00018B58 00018B70 00018B88 00018BA0 00018BB8 00018BD0 00018BE8 00018C00 00018C18 00018C30 00018C48 00018C60 00018C78 00018C90 00018CA8 00018CC0 00018CD8 00018CF0 00018D08 00018D20 00018D38 00018D50 00018D68 00018D80 00018D98 00018DB0 00018DC8 00018DE0 00018DF8 00018E10 00018E28 00018E40 00018E58 00018E70 00018E88 00018EA0 00018EB8 00018ED0 00018EE8 00018F00 00018F18 00018F30 00018F48 00018F60 00018F78 00018F90 00018FA8 00018FC0 00018FD8 00018FF0 00019008 00019020 00019038 00019050 00019068 00019080 00019098 000190B0 000190C8 000190E0 000190F8 00019110 00019128 00019140 00019158 00019170 00019188 000191A0 000191B8 000191D0 000191E8 00019200 00019218 00019230 00019248 00019260 00019278 00019290 000192A8 000192C0 000192D8 000192F0 00019308 00019320 00019338 00019350 00019368 00019380 00019398 000193B0 000193C8 000193E0 000193F8 00019410 00019428 00019440 00019458 00019470 00019488 000194A0 000194B8 000194D0 000194E8 00019500 00019518 00019530 00019548 00019560 00019578 00019590 000195A8 000195C0 000195D8 000195F0 00019608 00019620 00019638 00019650 00019668 00019680 00019698 000196B0 000196C8 000196E0 000196F8 00019710 00019728 00019740 00019758 00019770 00019788 000197A0 000197B8 000197D0 000197E8 00019800 00019818 00019830 00019848 00019860 00019878 00019890 000198A8 000198C0 000198D8 000198F0 00019908 00019920 00019938 00019950 00019968 00019980 00019998 000199B0 000199C8 000199E0 000199F8 00019A10 00019A28 00019A40 00019A58 00019A70 00019A88 00019AA0 00019AB8 00019AD0 00019AE8 00019B00 00019B18 00019B30 00019B48 00019B60 00019B78 00019B90 00019BA8 00019BC0 00019BD8 00019BF0 00019C08 00019C20 00019C38 00019C50 00019C68 00019C80 00019C98 00019CB0 00019CC8 00019CE0 00019CF8 00019D10 00019D28 00019D40 00019D58 00019D70 00019D88 00019DA0 00019DB8 00019DD0 00019DE8 00019E00 00019E18 00019E30 00019E48 00019E60 00019E78 00019E90 00019EA8 00019EC0 00019ED8 00019EF0 00019F08 00019F20 00019F38 00019F50 00019F68 00019F80 00019F98 00019FB0 00019FC8 00019FE0 00019FF8 0001A010 0001A028 0001A040 0001A058 0001A070 0001A088 0001A0A0 0001A0B8 0001A0D0 0001A0E8 0001A100 0001A118 0001A130 0001A148 0001A160 0001A178 0001A190 0001A1A8 0001A1C0 0001A1D8 0001A1F0 0001A208 0001A220 0001A238 0001A250 0001A268 0001A280 0001A298 0001A2B0 0001A2C8 0001A2E0 0001A2F8 0001A310 0001A328 0001A340 0001A358 0001A370 0001A388 0001A3A0 0001A3B8 0001A3D0 0001A3E8 0001A400 0001A418 0001A430 0001A448 0001A460 0001A478 0001A490 0001A4A8 0001A4C0 0001A4D8 0001A4F0 0001A508 0001A520 0001A538 0001A550 0001A568 0001A580 0001A598 0001A5B0 0001A5C8 0001A5E0 0001A5F8 0001A610 0001A628 0001A640 0001A658 0001A670 0001A688 0001A6A0 0001A6B8 0001A6D0 0001A6E8 0001A700 0001A718 0001A730 0001A748 0001A760 0001A778 0001A790 0001A7A8 0001A7C0 0001A7D8 0001A7F0 0001A808 0001A820 0001A838 0001A850 0001A868 0001A880 0001A898 0001A8B0 0001A8C8 0001A8E0 0001A8F8 0001A910 0001A928 0001A940 0001A958 0001A970 0001A988 0001A9A0 0001A9B8 0001A9D0 0001A9E8 0001AA00 0001AA18 0001AA30 0001AA48 0001AA60 0001AA78 0001AA90 0001AAA8 0001AAC0 0001AAD8 0001AAF0 0001AB08 0001AB20 0001AB38 0001AB50 0001AB68 0001AB80 0001AB98 0001ABB0 0001ABC8 0001ABE0 0001ABF8 0001AC10 0001AC28 0001AC40 0001AC58 0001AC70 0001AC88 0001ACA0 0001ACB8 0001ACD0 0001ACE8 0001AD00 0001AD18 0001AD30 0001AD48 0001AD60 0001AD78 0001AD90 0001ADA8 0001ADC0 0001ADD8 0001ADF0 0001AE08 0001AE20 0001AE38 0001AE50 0001AE68 0001AE80 0001AE98 0001AEB0 0001AEC8 0001AEE0 0001AEF8 0001AF10 0001AF28 0001AF40 0001AF58 0001AF70 0001AF88 0001AFA0 0001AFB8 0001AFD0 0001AFE8 0001B000 0001B018 0001B030 0001B048 0001B060 0001B078 0001B090 0001B0A8 0001B0C0 0001B0D8 0001B0F0 0001B108 0001B120 0001B138 0001B150 0001B168 0001B180 0001B198 0001B1B0 0001B1C8 0001B1E0 0001B1F8 0001B210 0001B228 0001B240 0001B258 0001B270 0001B288 0001B2A0 0001B2B8 0001B2D0 0001B2E8 0001B300 0001B318 0001B330 0001B348 0001B360 0001B378 0001B390 0001B3A8 0001B3C0 0001B3D8 0001B3F0 0001B408 0001B420 0001B438 0001B450 0001B468 0001B480 0001B498 0001B4B0 0001B4C8 0001B4E0 0001B4F8 0001B510 0001B528 0001B540 0001B558 0001B570 0001B588 0001B5A0 0001B5B8 0001B5D0 0001B5E8 0001B600 0001B618 0001B630 0001B648 0001B660 0001B678 0001B690 0001B6A8 0001B6C0 0001B6D8 0001B6F0 0001B708 0001B720 0001B738 0001B750 0001B768 0001B780 0001B798 0001B7B0 0001B7C8 0001B7E0 0001B7F8 0001B810 0001B828 0001B840 0001B858 0001B870 0001B888 0001B8A0 0001B8B8 0001B8D0 0001B8E8 0001B900 0001B918 0001B930 0001B948 0001B960 0001B978 0001B990 0001B9A8 0001B9C0 0001B9D8 0001B9F0 0001BA08 0001BA20 0001BA38 0001BA50 0001BA68 0001BA80 0001BA98 0001BAB0 0001BAC8 0001BAE0 0001BAF8 0001BB10 0001BB28 0001BB40 0001BB58 0001BB70 0001BB88 0001BBA0 0001BBB8 0001BBD0 0001BBE8 0001BC00 0001BC18 0001BC30 0001BC48 0001BC60 0001BC78 0001BC90 0001BCA8 0001BCC0 0001BCD8 0001BCF0 0001BD08 0001BD20 0001BD38 0001BD50 0001BD68 0001BD80 0001BD98 0001BDB0 0001BDC8 0001BDE0 0001BDF8 0001BE10 0001BE28 0001BE40 0001BE58 0001BE70 0001BE88 0001BEA0 0001BEB8 0001BED0 0001BEE8 0001BF00 0001BF18 0001BF30 0001BF48 0001BF60 0001BF78 0001BF90 0001BFA8 0001BFC0 0001BFD8 0001BFF0 0001C008 0001C020 0001C038 0001C050 0001C068 0001C080 0001C098 0001C0B0 0001C0C8 0001C0E0 0001C0F8 0001C110 0001C128 0001C140 0001C158 0001C170 0001C188 0001C1A0 0001C1B8 0001C1D0 0001C1E8 0001C200 0001C218 0001C230 0001C248 0001C260 0001C278 0001C290 0001C2A8 0001C2C0 0001C2D8 0001C2F0 0001C308 0001C320 0001C338 0001C350 0001C368 0001C380 0001C398 0001C3B0 0001C3C8 0001C3E0 0001C3F8 0001C410 0001C428 0001C440 0001C458 0001C470 0001C488 0001C4A0 0001C4B8 0001C4D0 0001C4E8 0001C500 0001C518 0001C530 0001C548 0001C560 0001C578 0001C590 0001C5A8 0001C5C0 0001C5D8 0001C5F0 0001C608 0001C620 0001C638 0001C650 0001C668 0001C680 0001C698 0001C6B0 0001C6C8 0001C6E0 0001C6F8 0001C710 0001C728 0001C740 0001C758 0001C770 0001C788 0001C7A0 0001C7B8 0001C7D0 0001C7E8 0001C800 0001C818 0001C830 0001C848 0001C860 0001C878 0001C890 0001C8A8 0001C8C0 0001C8D8 0001C8F0 0001C908 0001C920 0001C938 0001C950 0001C968 0001C980 0001C998 0001C9B0 0001C9C8 0001C9E0 0001C9F8 0001CA10 0001CA28 0001CA40 0001CA58 0001CA70 0001CA88 0001CAA0 0001CAB8 0001CAD0 0001CAE8 0001CB00 0001CB18 0001CB30 0001CB48 0001CB60 0001CB78 0001CB90 0001CBA8 0001CBC0 0001CBD8 0001CBF0 0001CC08 0001CC20 0001CC38 0001CC50 0001CC68 0001CC80 0001CC98 0001CCB0 0001CCC8 0001CCE0 0001CCF8 0001CD10 0001CD28 0001CD40 0001CD58 0001CD70 0001CD88 0001CDA0 0001CDB8 0001CDD0 0001CDE8 0001CE00 0001CE18 0001CE30 0001CE48 0001CE60 0001CE78 0001CE90 0001CEA8 0001CEC0 0001CED8 0001CEF0 0001CF08 0001CF20 0001CF38 0001CF50 0001CF68 0001CF80 0001CF98 0001CFB0 0001CFC8 0001CFE0 0001CFF8 0001D010 0001D028 0001D040 0001D058 0001D070 0001D088 0001D0A0 0001D0B8 0001D0D0 0001D0E8 0001D100 0001D118 0001D130 0001D148 0001D160 0001D178 0001D190 0001D1A8 0001D1C0 0001D1D8 0001D1F0 0001D208 0001D220 0001D238 0001D250 0001D268 0001D280 0001D298 0001D2B0 0001D2C8 0001D2E0 0001D2F8 0001D310 0001D328 0001D340 0001D358 0001D370 0001D388 0001D3A0 0001D3B8 0001D3D0 0001D3E8 0001D400 0001D418 0001D430 0001D448 0001D460 0001D478 0001D490 0001D4A8 0001D4C0 0001D4D8 0001D4F0 0001D508 0001D520 0001D538 0001D550 0001D568 0001D580 0001D598 0001D5B0 0001D5C8 0001D5E0 0001D5F8 0001D610 0001D628 0001D640 0001D658 0001D670 0001D688 0001D6A0 0001D6B8 0001D6D0 0001D6E8 0001D700 0001D718 0001D730 0001D748 0001D760 0001D778 0001D790 0001D7A8 0001D7C0 0001D7D8 0001D7F0 0001D808 0001D820 0001D838 0001D850 0001D868 0001D880 0001D898 0001D8B0 0001D8C8 0001D8E0 0001D8F8 0001D910 0001D928 0001D940 0001D958 0001D970 0001D988 0001D9A0 0001D9B8 0001D9D0 0001D9E8 0001DA00 0001DA18 0001DA30 0001DA48 0001DA60 0001DA78 0001DA90 0001DAA8 0001DAC0 0001DAD8 0001DAF0 0001DB08 0001DB20 0001DB38 0001DB50 0001DB68 0001DB80 0001DB98 0001DBB0 0001DBC8 0001DBE0 0001DBF8 0001DC10 0001DC28 0001DC40 0001DC58 0001DC70 0001DC88 0001DCA0 0001DCB8 0001DCD0 0001DCE8 0001DD00 0001DD18 0001DD30 0001DD48 0001DD60 0001DD78 0001DD90 0001DDA8 0001DDC0 0001DDD8 0001DDF0 0001DE08 0001DE20 0001DE38 0001DE50 0001DE68 0001DE80 0001DE98 0001DEB0 0001DEC8 0001DEE0 0001DEF8 0001DF10 0001DF28 0001DF40 0001DF58 0001DF70 0001DF88 0001DFA0 0001DFB8 0001DFD0 0001DFE8 0001E000 0001E018 0001E030 0001E048 0001E060 0001E078 0001E090 0001E0A8 0001E0C0 0001E0D8 0001E0F0 0001E108 0001E120 0001E138 0001E150 0001E168 0001E180 0001E198 0001E1B0 0001E1C8 0001E1E0 0001E1F8 0001E210 0001E228 0001E240 0001E258 0001E270 0001E288 0001E2A0 0001E2B8 0001E2D0 0001E2E8 0001E300 0001E318 0001E330 0001E348 0001E360 0001E378 0001E390 0001E3A8 0001E3C0 0001E3D8 0001E3F0 0001E408 0001E420 0001E438 0001E450 0001E468 0001E480 0001E498 0001E4B0 0001E4C8 0001E4E0 0001E4F8 0001E510 0001E528 0001E540 0001E558 0001E570 0001E588 0001E5A0 0001E5B8 0001E5D0 0001E5E8 0001E600 0001E618 0001E630 0001E648 0001E660 0001E678 0001E690 0001E6A8 0001E6C0 0001E6D8 0001E6F0 0001E708 0001E720 0001E738 0001E750 0001E768 0001E780 0001E798 0001E7B0 0001E7C8 0001E7E0 0001E7F8 0001E810 0001E828 0001E840 0001E858 0001E870 0001E888 0001E8A0 0001E8B8 0001E8D0 0001E8E8 0001E900 0001E918 0001E930 0001E948 0001E960 0001E978 0001E990 0001E9A8 0001E9C0 0001E9D8 0001E9F0 0001EA08 0001EA20 0001EA38 0001EA50 0001EA68 0001EA80 0001EA98 0001EAB0 0001EAC8 0001EAE0 0001EAF8 0001EB10 0001EB28 0001EB40 0001EB58 0001EB70 0001EB88 0001EBA0 0001EBB8 0001EBD0 0001EBE8 0001EC00 0001EC18 0001EC30 0001EC48 0001EC60 0001EC78 0001EC90 0001ECA8 0001ECC0 0001ECD8 0001ECF0 0001ED08 0001ED20 0001ED38 0001ED50 0001ED68 0001ED80 0001ED98 0001EDB0 0001EDC8 0001EDE0 0001EDF8 0001EE10 0001EE28 0001EE40 0001EE58 0001EE70 0001EE88 0001EEA0 0001EEB8 0001EED0 0001EEE8 0001EF00 0001EF18 0001EF30 0001EF48 0001EF60 0001EF78 0001EF90 0001EFA8 0001EFC0 0001EFD8 0001EFF0 0001F008 0001F020 0001F038 0001F050 0001F068 0001F080 0001F098 0001F0B0 0001F0C8 0001F0E0 0001F0F8 0001F110 0001F128 0001F140 0001F158 0001F170 0001F188 0001F1A0 0001F1B8 0001F1D0 0001F1E8 0001F200 0001F218 0001F230 0001F248 0001F260 0001F278 0001F290 0001F2A8 0001F2C0 0001F2D8 0001F2F0 0001F308 0001F320 0001F338 0001F350 0001F368 0001F380 0001F398 0001F3B0 0001F3C8 0001F3E0 0001F3F8 0001F410 0001F428 0001F440 0001F458 0001F470 0001F488 0001F4A0 0001F4B8 0001F4D0 0001F4E8 0001F500 0001F518 0001F530 0001F548 0001F560 0001F578 0001F590 0001F5A8 0001F5C0 0001F5D8 0001F5F0 0001F608 0001F620 0001F638 0001F650 0001F668 0001F680 0001F698 0001F6B0 0001F6C8 0001F6E0 0001F6F8 0001F710 0001F728 0001F740 0001F758 0001F770 0001F788 0001F7A0 0001F7B8 0001F7D0 0001F7E8 0001F800 0001F818 0001F830 0001F848 0001F860 0001F878 0001F890 0001F8A8 0001F8C0 0001F8D8 0001F8F0 0001F908 0001F920 0001F938 0001F950 0001F968 0001F980 0001F998 0001F9B0 0001F9C8 0001F9E0 0001F9F8 0001FA10 0001FA28 0001FA40 0001FA58 0001FA70 0001FA88 0001FAA0 0001FAB8 0001FAD0 0001FAE8 0001FB00 0001FB18 0001FB30 0001FB48 0001FB60 0001FB78 0001FB90 0001FBA8 0001FBC0 0001FBD8 0001FBF0 0001FC08 0001FC20 0001FC38 0001FC50 0001FC68 0001FC80 0001FC98 0001FCB0 0001FCC8 0001FCE0 0001FCF8 0001FD10 0001FD28 0001FD40 0001FD58 0001FD70 0001FD88 0001FDA0 0001FDB8 0001FDD0 0001FDE8 0001FE00 0001FE18 0001FE30 0001FE48 0001FE60 0001FE78 0001FE90 0001FEA8 0001FEC0 0001FED8 0001FEF0 0001FF08 0001FF20 0001FF38 0001FF50 0001FF68 0001FF80 0001FF98 0001FFB0 0001FFC8 0001FFE0 0001FFF8 00020010 00020028 00020040 00020058 00020070 00020088 000200A0 000200B8 000200D0 000200E8 00020100 00020118 00020130 00020148 00020160 00020178 00020190 000201A8 000201C0 000201D8 000201F0 00020208 00020220 00020238 00020250 00020268 00020280 00020298 000202B0 000202C8 000202E0 000202F8 00020310 00020328 00020340 00020358 00020370 00020388 000203A0 000203B8 000203D0 000203E8 00020400 00020418 00020430 00020448 00020460 00020478 00020490 000204A8 000204C0 000204D8 000204F0 00020508 00020520 00020538 00020550 00020568 00020580 00020598 000205B0 000205C8 000205E0 000205F8 00020610 00020628 00020640 00020658 00020670 00020688 000206A0 000206B8 000206D0 000206E8 00020700 00020718 00020730 00020748 00020760 00020778 00020790 000207A8 000207C0 000207D8 000207F0 00020808 00020820 00020838 00020850 00020868 00020880 00020898 000208B0 000208C8 000208E0 000208F8 00020910 00020928 00020940 00020958 00020970 00020988 000209A0 000209B8 000209D0 000209E8 00020A00 00020A18 00020A30 00020A48 00020A60 00020A78 00020A90 00020AA8 00020AC0 00020AD8 00020AF0 00020B08 00020B20 00020B38 00020B50 00020B68 00020B80 00020B98 00020BB0 00020BC8 00020BE0 00020BF8 00020C10 00020C28 00020C40 00020C58 00020C70 00020C88 00020CA0 00020CB8 00020CD0 00020CE8 00020D00 00020D18 00020D30 00020D48 00020D60 00020D78 00020D90 00020DA8 00020DC0 00020DD8 00020DF0 00020E08 00020E20 00020E38 00020E50 00020E68 00020E80 00020E98 00020EB0 00020EC8 00020EE0 00020EF8 00020F10 00020F28 00020F40 00020F58 00020F70 00020F88 00020FA0 00020FB8 00020FD0 00020FE8 00021000 00021018 00021030 00021048 00021060 00021078 00021090 000210A8 000210C0 000210D8 000210F0 00021108 00021120 00021138 00021150 00021168 00021180 00021198 000211B0 000211C8 000211E0 000211F8 00021210 00021228 00021240 00021258 00021270 00021288 000212A0 000212B8 000212D0 000212E8 00021300 00021318 00021330 00021348 00021360 00021378 00021390 000213A8 000213C0 000213D8 000213F0 00021408 00021420 00021438 00021450 00021468 00021480 00021498 000214B0 000214C8 000214E0 000214F8 00021510 00021528 00021540 00021558 00021570 00021588 000215A0 000215B8 000215D0 000215E8 00021600 00021618 00021630 00021648 00021660 00021678 00021690 000216A8 000216C0 000216D8 000216F0 00021708 00021720 00021738 00021750 00021768 00021780 00021798 000217B0 000217C8 000217E0 000217F8 00021810 00021828 00021840 00021858 00021870 00021888 000218A0 000218B8 000218D0 000218E8 00021900 00021918 00021930 00021948 00021960 00021978 00021990 000219A8 000219C0 000219D8 000219F0 00021A08 00021A20 00021A38 00021A50 00021A68 00021A80 00021A98 00021AB0 00021AC8 00021AE0 00021AF8 00021B10 00021B28 00021B40 00021B58 00021B70 00021B88 00021BA0 00021BB8 00021BD0 00021BE8 00021C00 00021C18 00021C30 00021C48 00021C60 00021C78 00021C90 00021CA8 00021CC0 00021CD8 00021CF0 00021D08 00021D20 00021D38 00021D50 00021D68 00021D80 00021D98 00021DB0 00021DC8 00021DE0 00021DF8 00021E10 00021E28 00021E40 00021E58 00021E70 00021E88 00021EA0 00021EB8 00021ED0 00021EE8 00021F00 00021F18 00021F30 00021F48 00021F60 00021F78 00021F90 00021FA8 00021FC0 00021FD8 00021FF0 00022008 00022020 00022038 00022050 00022068 00022080 00022098 000220B0 000220C8 000220E0 000220F8 00022110 00022128 00022140 00022158 00022170 00022188 000221A0 000221B8 000221D0 000221E8 00022200 00022218 00022230 00022248 00022260 00022278 00022290 000222A8 000222C0 000222D8 000222F0 00022308 00022320 00022338 00022350 00022368 00022380 00022398 000223B0 000223C8 000223E0 000223F8 00022410 00022428 00022440 00022458 00022470 00022488 000224A0 000224B8 000224D0 000224E8 00022500 00022518 00022530 00022548 00022560 00022578 00022590 000225A8 000225C0 000225D8 000225F0 00022608 00022620 00022638 00022650 00022668 00022680 00022698 000226B0 000226C8 000226E0 000226F8 00022710 00022728 00022740 00022758 00022770 00022788 000227A0 000227B8 000227D0 000227E8 00022800 00022818 00022830 00022848 00022860 00022878 00022890 000228A8 000228C0 000228D8 000228F0 00022908 00022920 00022938 00022950 00022968 00022980 00022998 000229B0 000229C8 000229E0 000229F8 00022A10 00022A28 00022A40 00022A58 00022A70 00022A88 00022AA0 00022AB8 00022AD0 00022AE8 00022B00 00022B18 00022B30 00022B48 00022B60 00022B78 00022B90 00022BA8 00022BC0 00022BD8 00022BF0 00022C08 00022C20 00022C38 00022C50 00022C68 00022C80 00022C98 00022CB0 00022CC8 00022CE0 00022CF8 00022D10 00022D28 00022D40 00022D58 00022D70 00022D88 00022DA0 00022DB8 00022DD0 00022DE8 00022E00 00022E18 00022E30 00022E48 00022E60 00022E78 00022E90 00022EA8 00022EC0 00022ED8 00022EF0 00022F08 00022F20 00022F38 00022F50 00022F68 00022F80 00022F98 00022FB0 00022FC8 00022FE0 00022FF8 00023010 00023028 00023040 00023058 00023070 00023088 000230A0 000230B8 000230D0 000230E8 00023100 00023118 00023130 00023148 00023160 00023178 00023190 000231A8 000231C0 000231D8 000231F0 00023208 00023220 00023238 00023250 00023268 00023280 00023298 000232B0 000232C8 000232E0 000232F8 00023310 00023328 00023340 00023358 00023370 00023388 000233A0 000233B8 000233D0 000233E8 00023400 00023418 00023430 00023448 00023460 00023478 00023490 000234A8 000234C0 000234D8 000234F0 00023508 00023520 00023538 00023550 00023568 00023580 00023598 000235B0 000235C8 000235E0 000235F8 00023610 00023628 00023640 00023658 00023670 00023688 000236A0 000236B8 000236D0 000236E8 00023700 00023718 00023730 00023748 00023760 00023778 00023790 000237A8 000237C0 000237D8 000237F0 00023808 00023820 00023838 00023850 00023868 00023880 00023898 000238B0 000238C8 000238E0 000238F8 00023910 00023928 00023940 00023958 00023970 00023988 000239A0 000239B8 000239D0 000239E8 00023A00 00023A18 00023A30 00023A48 00023A60 00023A78 00023A90 00023AA8 00023AC0 00023AD8 00023AF0 00023B08 00023B20 00023B38 00023B50 00023B68 00023B80 00023B98 00023BB0 00023BC8 00023BE0 00023BF8 00023C10 00023C28 00023C40 00023C58 00023C70 00023C88 00023CA0 00023CB8 00023CD0 00023CE8 00023D00 00023D18 00023D30 00023D48 00023D60 00023D78 00023D90 00023DA8 00023DC0 00023DD8 00023DF0 00023E08 00023E20 00023E38 00023E50 00023E68 00023E80 00023E98 00023EB0 00023EC8 00023EE0 00023EF8 00023F10 00023F28 00023F40 00023F58 00023F70 00023F88 00023FA0 00023FB8 00023FD0 00023FE8 00024000 00024018 00024030 00024048 00024060 00024078 00024090 000240A8 000240C0 000240D8 000240F0 00024108 00024120 00024138 00024150 00024168 00024180 00024198 000241B0 000241C8 000241E0 000241F8 00024210 00024228 00024240 00024258 00024270 00024288 000242A0 000242B8 000242D0 000242E8 00024300 00024318 00024330 00024348 00024360 00024378 00024390 000243A8 000243C0 000243D8 000243F0 00024408 00024420 00024438 00024450 00024468 00024480 00024498 000244B0 000244C8 000244E0 000244F8 00024510 00024528 00024540 00024558 00024570 00024588 000245A0 000245B8 000245D0 000245E8 00024600 00024618 00024630 00024648 00024660 00024678 00024690 000246A8 000246C0 000246D8 000246F0 00024708 00024720 00024738 00024750 00024768 00024780 00024798 000247B0 000247C8 000247E0 000247F8 00024810 00024828 00024840 00024858 00024870 00024888 000248A0 000248B8 000248D0 000248E8 00024900 00024918 00024930 00024948 00024960 00024978 00024990 000249A8 000249C0 000249D8 000249F0 00024A08 00024A20 00024A38 00024A50 00024A68 00024A80 00024A98 00024AB0 00024AC8 00024AE0 00024AF8 00024B10 00024B28 00024B40 00024B58 00024B70 00024B88 00024BA0 00024BB8 00024BD0 00024BE8 00024C00 00024C18 00024C30 00024C48 00024C60 00024C78 00024C90 00024CA8 00024CC0 00024CD8 00024CF0 00024D08 00024D20 00024D38 00024D50 00024D68 00024D80 00024D98 00024DB0 00024DC8 00024DE0 00024DF8 00024E10 00024E28 00024E40 00024E58 00024E70 00024E88 00024EA0 00024EB8 00024ED0 00024EE8 00024F00 00024F18 00024F30 00024F48 00024F60 00024F78 00024F90 00024FA8 00024FC0 00024FD8 00024FF0 00025008 00025020 00025038 00025050 00025068 00025080 00025098 000250B0 000250C8 000250E0 000250F8 00025110 00025128 00025140 00025158 00025170 00025188 000251A0 000251B8 000251D0 000251E8 00025200 00025218 00025230 00025248 00025260 00025278 00025290 000252A8 000252C0 000252D8 000252F0 00025308 00025320 00025338 00025350 00025368 00025380 00025398 000253B0 000253C8 000253E0 000253F8 00025410 00025428 00025440 00025458 00025470 00025488 000254A0 000254B8 000254D0 000254E8 00025500 00025518 00025530 00025548 00025560 00025578 00025590 000255A8 000255C0 000255D8 000255F0 00025608 00025620 00025638 00025650 00025668 00025680 00025698 000256B0 000256C8 000256E0 000256F8 00025710 00025728 00025740 00025758 00025770 00025788 000257A0 000257B8 000257D0 000257E8 00025800 00025818 00025830 00025848 00025860 00025878 00025890 000258A8 000258C0 000258D8 000258F0 00025908 00025920 00025938 00025950 00025968 00025980 00025998 000259B0 000259C8 000259E0 000259F8 00025A10 00025A28 00025A40 00025A58 00025A70 00025A88 00025AA0 00025AB8 00025AD0 00025AE8 00025B00 00025B18 00025B30 00025B48 00025B60 00025B78 00025B90 00025BA8 00025BC0 00025BD8 00025BF0 00025C08 00025C20 00025C38 00025C50 00025C68 00025C80 00025C98 00025CB0 00025CC8 00025CE0 00025CF8 00025D10 00025D28 00025D40 00025D58 00025D70 00025D88 00025DA0 00025DB8 00025DD0 00025DE8 00025E00 00025E18 00025E30 00025E48 00025E60 00025E78 00025E90 00025EA8 00025EC0 00025ED8 00025EF0 00025F08 00025F20 00025F38 00025F50 00025F68 00025F80 00025F98 00025FB0 00025FC8 00025FE0 00025FF8 00026010 00026028 00026040 00026058 00026070 00026088 000260A0 000260B8 000260D0 000260E8 00026100 00026118 00026130 00026148 00026160 00026178 00026190 000261A8 000261C0 000261D8 000261F0 00026208 00026220 00026238 00026250 00026268 00026280 00026298 000262B0 000262C8 000262E0 000262F8 00026310 00026328 00026340 00026358 00026370 00026388 000263A0 000263B8 000263D0 000263E8 00026400 00026418 00026430 00026448 00026460 00026478 00026490 000264A8 000264C0 000264D8 000264F0 00026508 00026520 00026538 00026550 00026568 00026580 00026598 000265B0 000265C8 000265E0 000265F8 00026610 00026628 00026640 00026658 00026670 00026688 000266A0 000266B8 000266D0 000266E8 00026700 00026718 00026730 00026748 00026760 00026778 00026790 000267A8 000267C0 000267D8 000267F0 00026808 00026820 00026838 00026850 00026868 00026880 00026898 000268B0 000268C8 000268E0 000268F8 00026910 00026928 00026940 00026958 00026970 00026988 000269A0 000269B8 000269D0 000269E8 00026A00 00026A18 00026A30 00026A48 00026A60 00026A78 00026A90 00026AA8 00026AC0 00026AD8 00026AF0 00026B08 00026B20 00026B38 00026B50 00026B68 00026B80 00026B98 00026BB0 00026BC8 00026BE0 00026BF8 00026C10 00026C28 00026C40 00026C58 00026C70 00026C88 00026CA0 00026CB8 00026CD0 00026CE8 00026D00 00026D18 00026D30 00026D48 00026D60 00026D78 00026D90 00026DA8 00026DC0 00026DD8 00026DF0 00026E08 00026E20 00026E38 00026E50 00026E68 00026E80 00026E98 00026EB0 00026EC8 00026EE0 00026EF8 00026F10 00026F28 00026F40 00026F58 00026F70 00026F88 00026FA0 00026FB8 00026FD0 00026FE8 00027000 00027018 00027030 00027048 00027060 00027078 00027090 000270A8 000270C0 000270D8 000270F0 00027108 00027120 00027138 00027150 00027168 00027180 00027198 000271B0 000271C8 000271E0 000271F8 00027210 00027228 00027240 00027258 00027270 00027288 000272A0 000272B8 000272D0 000272E8 00027300 00027318 00027330 00027348 00027360 00027378 00027390 000273A8 000273C0 000273D8 000273F0 00027408 00027420 00027438 00027450 00027468 00027480 00027498 000274B0 000274C8 000274E0 000274F8 00027510 00027528 00027540 00027558 00027570 00027588 000275A0 000275B8 000275D0 000275E8 00027600 00027618 00027630 00027648 00027660 00027678 00027690 000276A8 000276C0 000276D8 000276F0 00027708 00027720 00027738 00027750 00027768 00027780 00027798 000277B0 000277C8 000277E0 000277F8 00027810 00027828 00027840 00027858 00027870 00027888 000278A0 000278B8 000278D0 000278E8 00027900 00027918 00027930 00027948 00027960 00027978 00027990 000279A8 000279C0 000279D8 000279F0 00027A08 00027A20 00027A38 00027A50 00027A68 00027A80 00027A98 00027AB0 00027AC8 00027AE0 00027AF8 00027B10 00027B28 00027B40 00027B58 00027B70 00027B88 00027BA0 00027BB8 00027BD0 00027BE8 00027C00 00027C18 00027C30 00027C48 00027C60 00027C78 00027C90 00027CA8 00027CC0 00027CD8 00027CF0 00027D08 00027D20 00027D38 00027D50 00027D68 00027D80 00027D98 00027DB0 00027DC8 00027DE0 00027DF8 00027E10 00027E28 00027E40 00027E58 00027E70 00027E88 00027EA0 00027EB8 00027ED0 00027EE8 00027F00 00027F18 00027F30 00027F48 00027F60 00027F78 00027F90 00027FA8 00027FC0 00027FD8 00027FF0 00028008 00028020 00028038 00028050 00028068 00028080 00028098 000280B0 000280C8 000280E0 000280F8 00028110 00028128 00028140 00028158 00028170 00028188 000281A0 000281B8 000281D0 000281E8 00028200 00028218 00028230 00028248 00028260 00028278 00028290 000282A8 000282C0 000282D8 000282F0 00028308 00028320 00028338 00028350 00028368 00028380 00028398 000283B0 000283C8 000283E0 000283F8 00028410 00028428 00028440 00028458 00028470 00028488 000284A0 000284B8 000284D0 000284E8 00028500 00028518 00028530 00028548 00028560 00028578 00028590 000285A8 000285C0 000285D8 000285F0 00028608 00028620 00028638 00028650 00028668 00028680 00028698 000286B0 000286C8 000286E0 000286F8 00028710 00028728 00028740 00028758 00028770 00028788 000287A0 000287B8 000287D0 000287E8 00028800 00028818 00028830 00028848 00028860 00028878 00028890 000288A8 000288C0 000288D8 000288F0 00028908 00028920 00028938 00028950 00028968 00028980 00028998 000289B0 000289C8 000289E0 000289F8 00028A10 00028A28 00028A40 00028A58 00028A70 00028A88 00028AA0 00028AB8 00028AD0 00028AE8 00028B00 00028B18 00028B30 00028B48 00028B60 00028B78 00028B90 00028BA8 00028BC0 00028BD8 00028BF0 00028C08 00028C20 00028C38 00028C50 00028C68 00028C80 00028C98 00028CB0 00028CC8 00028CE0 00028CF8 00028D10 00028D28 00028D40 00028D58 00028D70 00028D88 00028DA0 00028DB8 00028DD0 00028DE8 00028E00 00028E18 00028E30 00028E48 00028E60 00028E78 00028E90 00028EA8 00028EC0 00028ED8 00028EF0 00028F08 00028F20 00028F38 00028F50 00028F68 00028F80 00028F98 00028FB0 00028FC8 00028FE0 00028FF8 00029010 00029028 00029040 00029058 00029070 00029088 000290A0 000290B8 000290D0 000290E8 00029100 00029118 00029130 00029148 00029160 00029178 00029190 000291A8 000291C0 000291D8 000291F0 00029208 00029220 00029238 00029250 00029268 00029280 00029298 000292B0 000292C8 000292E0 000292F8 00029310 00029328 00029340 00029358 00029370 00029388 000293A0 000293B8 000293D0 000293E8 00029400 00029418 00029430 00029448 00029460 00029478 00029490 000294A8 000294C0 000294D8 000294F0 00029508 00029520 00029538 00029550 00029568 00029580 00029598 000295B0 000295C8 000295E0 000295F8 00029610 00029628 00029640 00029658 00029670 00029688 000296A0 000296B8 000296D0 000296E8 00029700 00029718 00029730 00029748 00029760 00029778 00029790 000297A8 000297C0 000297D8 000297F0 00029808 00029820 00029838 00029850 00029868 00029880 00029898 000298B0 000298C8 000298E0 000298F8 00029910 00029928 00029940 00029958 00029970 00029988 000299A0 000299B8 000299D0 000299E8 00029A00 00029A18 00029A30 00029A48 00029A60 00029A78 00029A90 00029AA8 00029AC0 00029AD8 00029AF0 00029B08 00029B20 00029B38 00029B50 00029B68 00029B80 00029B98 00029BB0 00029BC8 00029BE0 00029BF8 00029C10 00029C28 00029C40 00029C58 00029C70 00029C88 00029CA0 00029CB8 00029CD0 00029CE8 00029D00 00029D18 00029D30 00029D48 00029D60 00029D78 00029D90 00029DA8 00029DC0 00029DD8 00029DF0 00029E08 00029E20 00029E38 00029E50 00029E68 00029E80 00029E98 00029EB0 00029EC8 00029EE0 00029EF8 00029F10 00029F28 00029F40 00029F58 00029F70 00029F88 00029FA0 00029FB8 00029FD0 00029FE8 0002A000 0002A018 0002A030 0002A048 0002A060 0002A078 0002A090 0002A0A8 0002A0C0 0002A0D8 0002A0F0 0002A108 0002A120 0002A138 0002A150 0002A168 0002A180 0002A198 0002A1B0 0002A1C8 0002A1E0 0002A1F8 0002A210 0002A228 0002A240 0002A258 0002A270 0002A288 0002A2A0 0002A2B8 0002A2D0 0002A2E8 0002A300 0002A318 0002A330 0002A348 0002A360 0002A378 0002A390 0002A3A8 0002A3C0 0002A3D8 0002A3F0 0002A408 0002A420 0002A438 0002A450 0002A468 0002A480 0002A498 0002A4B0 0002A4C8 0002A4E0 0002A4F8 0002A510 0002A528 0002A540 0002A558 0002A570 0002A588 0002A5A0 0002A5B8 0002A5D0 0002A5E8 0002A600 0002A618 0002A630 0002A648 0002A660 0002A678 0002A690 0002A6A8 0002A6C0 0002A6D8 0002A6F0 0002A708 0002A720 0002A738 0002A750 0002A768 0002A780 0002A798 0002A7B0 0002A7C8 0002A7E0 0002A7F8 0002A810 0002A828 0002A840 0002A858 0002A870 0002A888 0002A8A0 0002A8B8 0002A8D0 0002A8E8 0002A900 0002A918 0002A930 0002A948 0002A960 0002A978 0002A990 0002A9A8 0002A9C0 0002A9D8 0002A9F0 0002AA08 0002AA20 0002AA38 0002AA50 0002AA68 0002AA80 0002AA98 0002AAB0 0002AAC8 0002AAE0 0002AAF8 0002AB10 0002AB28 0002AB40 0002AB58 0002AB70 0002AB88 0002ABA0 0002ABB8 0002ABD0 0002ABE8 0002AC00 0002AC18 0002AC30 0002AC48 0002AC60 0002AC78 0002AC90 0002ACA8 0002ACC0 0002ACD8 0002ACF0 0002AD08 0002AD20 0002AD38 0002AD50 0002AD68 0002AD80 0002AD98 0002ADB0 0002ADC8 0002ADE0 0002ADF8 0002AE10 0002AE28 0002AE40 0002AE58 0002AE70 0002AE88 0002AEA0 0002AEB8 0002AED0 0002AEE8 0002AF00 0002AF18 0002AF30 0002AF48 0002AF60 0002AF78 0002AF90 0002AFA8 0002AFC0 0002AFD8 0002AFF0 0002B008 0002B020 0002B038 0002B050 0002B068 0002B080 0002B098 0002B0B0 0002B0C8 0002B0E0 0002B0F8 0002B110 0002B128 0002B140 0002B158 0002B170 0002B188 0002B1A0 0002B1B8 0002B1D0 0002B1E8 0002B200 0002B218 0002B230 0002B248 0002B260 0002B278 0002B290 0002B2A8 0002B2C0 0002B2D8 0002B2F0 0002B308 0002B320 0002B338 0002B350 0002B368 0002B380 0002B398 0002B3B0 0002B3C8 0002B3E0 0002B3F8 0002B410 0002B428 0002B440 0002B458 0002B470 0002B488 0002B4A0 0002B4B8 0002B4D0 0002B4E8 0002B500 0002B518 0002B530 0002B548 0002B560 0002B578 0002B590 0002B5A8 0002B5C0 0002B5D8 0002B5F0 0002B608 0002B620 0002B638 0002B650 0002B668 0002B680 0002B698 0002B6B0 0002B6C8 0002B6E0 0002B6F8 0002B710 0002B728 0002B740 0002B758 0002B770 0002B788 0002B7A0 0002B7B8 0002B7D0 0002B7E8 0002B800 0002B818 0002B830 0002B848 0002B860 0002B878 0002B890 0002B8A8 0002B8C0 0002B8D8 0002B8F0 0002B908 0002B920 0002B938 0002B950 0002B968 0002B980 0002B998 0002B9B0 0002B9C8 0002B9E0 0002B9F8 0002BA10 0002BA28 0002BA40 0002BA58 0002BA70 0002BA88 0002BAA0 0002BAB8 0002BAD0 0002BAE8 0002BB00 0002BB18 0002BB30 0002BB48 0002BB60 0002BB78 0002BB90 0002BBA8 0002BBC0 0002BBD8 0002BBF0 0002BC08 0002BC20 0002BC38 0002BC50 0002BC68 0002BC80 0002BC98 0002BCB0 0002BCC8 0002BCE0 0002BCF8 0002BD10 0002BD28 0002BD40 0002BD58 0002BD70 0002BD88 0002BDA0 0002BDB8 0002BDD0 0002BDE8 0002BE00 0002BE18 0002BE30 0002BE48 0002BE60 0002BE78 0002BE90 0002BEA8 0002BEC0 0002BED8 0002BEF0 0002BF08 0002BF20 0002BF38 0002BF50 0002BF68 0002BF80 0002BF98 0002BFB0 0002BFC8 0002BFE0 0002BFF8 0002C010 0002C028 0002C040 0002C058 0002C070 0002C088 0002C0A0 0002C0B8 0002C0D0 0002C0E8 0002C100 0002C118 0002C130 0002C148 0002C160 0002C178 0002C190 0002C1A8 0002C1C0 0002C1D8 0002C1F0 0002C208 0002C220 0002C238 0002C250 0002C268 0002C280 0002C298 0002C2B0 0002C2C8 0002C2E0 0002C2F8 0002C310 0002C328 0002C340 0002C358 0002C370 0002C388 0002C3A0 0002C3B8 0002C3D0 0002C3E8 0002C400 0002C418 0002C430 0002C448 0002C460 0002C478 0002C490 0002C4A8 0002C4C0 0002C4D8 0002C4F0 0002C508 0002C520 0002C538 0002C550 0002C568 0002C580 0002C598 0002C5B0 0002C5C8 0002C5E0 0002C5F8 0002C610 0002C628 0002C640 0002C658 0002C670 0002C688 0002C6A0 0002C6B8 0002C6D0 0002C6E8 0002C700 0002C718 0002C730 0002C748 0002C760 0002C778 0002C790 0002C7A8 0002C7C0 0002C7D8 0002C7F0 0002C808 0002C820 0002C838 0002C850 0002C868 0002C880 0002C898 0002C8B0 0002C8C8 0002C8E0 0002C8F8 0002C910 0002C928 0002C940 0002C958 0002C970 0002C988 0002C9A0 0002C9B8 0002C9D0 0002C9E8 0002CA00 0002CA18 0002CA30 0002CA48 0002CA60 0002CA78 0002CA90 0002CAA8 0002CAC0 0002CAD8 0002CAF0 0002CB08 0002CB20 0002CB38 0002CB50 0002CB68 0002CB80 0002CB98 0002CBB0 0002CBC8 0002CBE0 0002CBF8 0002CC10 0002CC28 0002CC40 0002CC58 0002CC70 0002CC88 0002CCA0 0002CCB8 0002CCD0 0002CCE8 0002CD00 0002CD18 0002CD30 0002CD48 0002CD60 0002CD78 0002CD90 0002CDA8 0002CDC0 0002CDD8 0002CDF0 0002CE08 0002CE20 0002CE38 0002CE50 0002CE68 0002CE80 0002CE98 0002CEB0 0002CEC8 0002CEE0 0002CEF8 0002CF10 0002CF28 0002CF40 0002CF58 0002CF70 0002CF88 0002CFA0 0002CFB8 0002CFD0 0002CFE8 0002D000 0002D018 0002D030 0002D048 0002D060 0002D078 0002D090 0002D0A8 0002D0C0 0002D0D8 0002D0F0 0002D108 0002D120 0002D138 0002D150 0002D168 0002D180 0002D198 0002D1B0 0002D1C8 0002D1E0 0002D1F8 0002D210 0002D228 0002D240 0002D258 0002D270 0002D288 0002D2A0 0002D2B8 0002D2D0 0002D2E8 0002D300 0002D318 0002D330 0002D348 0002D360 0002D378 0002D390 0002D3A8 0002D3C0 0002D3D8 0002D3F0 0002D408 0002D420 0002D438 0002D450 0002D468 0002D480 0002D498 0002D4B0 0002D4C8 0002D4E0 0002D4F8 0002D510 0002D528 0002D540 0002D558 0002D570 0002D588 0002D5A0 0002D5B8 0002D5D0 0002D5E8 0002D600 0002D618 0002D630 0002D648 0002D660 0002D678 0002D690 0002D6A8 0002D6C0 0002D6D8 0002D6F0 0002D708 0002D720 0002D738 0002D750 0002D768 0002D780 0002D798 0002D7B0 0002D7C8 0002D7E0 0002D7F8 0002D810 0002D828 0002D840 0002D858 0002D870 0002D888 0002D8A0 0002D8B8 0002D8D0 0002D8E8 0002D900 0002D918 0002D930 0002D948 0002D960 0002D978 0002D990 0002D9A8 0002D9C0 0002D9D8 0002D9F0 0002DA08 0002DA20 0002DA38 0002DA50 0002DA68 0002DA80 0002DA98 0002DAB0 0002DAC8 0002DAE0 0002DAF8 0002DB10 0002DB28 0002DB40 0002DB58 0002DB70 0002DB88 0002DBA0 0002DBB8 0002DBD0 0002DBE8 0002DC00 0002DC18 0002DC30 0002DC48 0002DC60 0002DC78 0002DC90 0002DCA8 0002DCC0 0002DCD8 0002DCF0 0002DD08 0002DD20 0002DD38 0002DD50 0002DD68 0002DD80 0002DD98 0002DDB0 0002DDC8 0002DDE0 0002DDF8 0002DE10 0002DE28 0002DE40 0002DE58 0002DE70 0002DE88 0002DEA0 0002DEB8 0002DED0 0002DEE8 0002DF00 0002DF18 0002DF30 0002DF48 0002DF60 0002DF78 0002DF90 0002DFA8 0002DFC0 0002DFD8 0002DFF0 0002E008 0002E020 0002E038 0002E050 0002E068 0002E080 0002E098 0002E0B0 0002E0C8 0002E0E0 0002E0F8 0002E110 0002E128 0002E140 0002E158 0002E170 0002E188 0002E1A0 0002E1B8 0002E1D0 0002E1E8 0002E200 0002E218 0002E230 0002E248 0002E260 0002E278 0002E290 0002E2A8 0002E2C0 0002E2D8 0002E2F0 0002E308 0002E320 0002E338 0002E350 0002E368 0002E380 0002E398 0002E3B0 0002E3C8 0002E3E0 0002E3F8 0002E410 0002E428 0002E440 0002E458 0002E470 0002E488 0002E4A0 0002E4B8 0002E4D0 0002E4E8 0002E500 0002E518 0002E530 0002E548 0002E560 0002E578 0002E590 0002E5A8 0002E5C0 0002E5D8 0002E5F0 0002E608 0002E620 0002E638 0002E650 0002E668 0002E680 0002E698 0002E6B0 0002E6C8 0002E6E0 0002E6F8 0002E710 0002E728 0002E740 0002E758 0002E770 0002E788 0002E7A0 0002E7B8 0002E7D0 0002E7E8 0002E800 0002E818 0002E830 0002E848 0002E860 0002E878 0002E890 0002E8A8 0002E8C0 0002E8D8 0002E8F0 0002E908 0002E920 0002E938 0002E950 0002E968 0002E980 0002E998 0002E9B0 0002E9C8 0002E9E0 0002E9F8 0002EA10 0002EA28 0002EA40 0002EA58 0002EA70 0002EA88 0002EAA0 0002EAB8 0002EAD0 0002EAE8 0002EB00 0002EB18 0002EB30 0002EB48 0002EB60 0002EB78 0002EB90 0002EBA8 0002EBC0 0002EBD8 0002EBF0 0002EC08 0002EC20 0002EC38 0002EC50 0002EC68 0002EC80 0002EC98 0002ECB0 0002ECC8 0002ECE0 0002ECF8 0002ED10 0002ED28 0002ED40 0002ED58 0002ED70 0002ED88 0002EDA0 0002EDB8 0002EDD0 0002EDE8 0002EE00 0002EE18 0002EE30 0002EE48 0002EE60 0002EE78 0002EE90 0002EEA8 0002EEC0 0002EED8 0002EEF0 0002EF08 0002EF20 0002EF38 0002EF50 0002EF68 0002EF80 0002EF98 0002EFB0 0002EFC8 0002EFE0 0002EFF8 0002F010 0002F028 0002F040 0002F058 0002F070 0002F088 0002F0A0 0002F0B8 0002F0D0 0002F0E8 0002F100 0002F118 0002F130 0002F148 0002F160 0002F178 0002F190 0002F1A8 0002F1C0 0002F1D8 0002F1F0 0002F208 0002F220 0002F238 0002F250 0002F268 0002F280 0002F298 0002F2B0 0002F2C8 0002F2E0 0002F2F8 0002F310 0002F328 0002F340 0002F358 0002F370 0002F388 0002F3A0 0002F3B8 0002F3D0 0002F3E8 0002F400 0002F418 0002F430 0002F448 0002F460 0002F478 0002F490 0002F4A8 0002F4C0 0002F4D8 0002F4F0 0002F508 0002F520 0002F538 0002F550 0002F568 0002F580 0002F598 0002F5B0 0002F5C8 0002F5E0 0002F5F8 0002F610 0002F628 0002F640 0002F658 0002F670 0002F688 0002F6A0 0002F6B8 0002F6D0 0002F6E8 0002F700 0002F718 0002F730 0002F748 0002F760 0002F778 0002F790 0002F7A8 0002F7C0 0002F7D8 0002F7F0 0002F808 0002F820 0002F838 0002F850 0002F868 0002F880 0002F898 0002F8B0 0002F8C8 0002F8E0 0002F8F8 0002F910 0002F928 0002F940 0002F958 0002F970 0002F988 0002F9A0 0002F9B8 0002F9D0 0002F9E8 0002FA00 0002FA18 0002FA30 0002FA48 0002FA60 0002FA78 0002FA90 0002FAA8 0002FAC0 0002FAD8 0002FAF0 0002FB08 0002FB20 0002FB38 0002FB50 0002FB68 0002FB80 0002FB98 0002FBB0 0002FBC8 0002FBE0 0002FBF8 0002FC10 0002FC28 0002FC40 0002FC58 0002FC70 0002FC88 0002FCA0 0002FCB8 0002FCD0 0002FCE8 0002FD00 0002FD18 0002FD30 0002FD48 0002FD60 0002FD78 0002FD90 0002FDA8 0002FDC0 0002FDD8 0002FDF0 0002FE08 0002FE20 0002FE38 0002FE50 0002FE68 0002FE80 0002FE98 0002FEB0 0002FEC8 0002FEE0 0002FEF8 0002FF10 0002FF28 0002FF40 0002FF58 0002FF70 0002FF88 0002FFA0 0002FFB8 0002FFD0 0002FFE8 00030000 00030018 00030030 00030048 00030060 00030078 00030090 000300A8 000300C0 000300D8 000300F0 00030108 00030120 00030138 00030150 00030168 00030180 00030198 000301B0 000301C8 000301E0 000301F8 00030210 00030228 00030240 00030258 00030270 00030288 000302A0 000302B8 000302D0 000302E8 00030300 00030318 00030330 00030348 00030360 00030378 00030390 000303A8 000303C0 000303D8 000303F0 00030408 00030420 00030438 00030450 00030468 00030480 00030498 000304B0 000304C8 000304E0 000304F8 00030510 00030528 00030540 00030558 00030570 00030588 000305A0 000305B8 000305D0 000305E8 00030600 00030618 00030630 00030648 00030660 00030678 00030690 000306A8 000306C0 000306D8 000306F0 00030708 00030720 00030738 00030750 00030768 00030780 00030798 000307B0 000307C8 000307E0 000307F8 00030810 00030828 00030840 00030858 00030870 00030888 000308A0 000308B8 000308D0 000308E8 00030900 00030918 00030930 00030948 00030960 00030978 00030990 000309A8 000309C0 000309D8 000309F0 00030A08 00030A20 00030A38 00030A50 00030A68 00030A80 00030A98 00030AB0 00030AC8 00030AE0 00030AF8 00030B10 00030B28 00030B40 00030B58 00030B70 00030B88 00030BA0 00030BB8 00030BD0 00030BE8 00030C00 00030C18 00030C30 00030C48 00030C60 00030C78 00030C90 00030CA8 00030CC0 00030CD8 00030CF0 00030D08 00030D20 00030D38 00030D50 00030D68 00030D80 00030D98 00030DB0 00030DC8 00030DE0 00030DF8 00030E10 00030E28 00030E40 00030E58 00030E70 00030E88 00030EA0 00030EB8 00030ED0 00030EE8 00030F00 00030F18 00030F30 00030F48 00030F60 00030F78 00030F90 00030FA8 00030FC0 00030FD8 00030FF0 00031008 00031020 00031038 00031050 00031068 00031080 00031098 000310B0 000310C8 000310E0 000310F8 00031110 00031128 00031140 00031158 00031170 00031188 000311A0 000311B8 000311D0 000311E8 00031200 00031218 00031230 00031248 00031260 00031278 00031290 000312A8 000312C0 000312D8 000312F0 00031308 00031320 00031338 00031350 00031368 00031380 00031398 000313B0 000313C8 000313E0 000313F8 00031410 00031428 00031440 00031458 00031470 00031488 000314A0 000314B8 000314D0 000314E8 00031500 00031518 00031530 00031548 00031560 00031578 00031590 000315A8 000315C0 000315D8 000315F0 00031608 00031620 00031638 00031650 00031668 00031680 00031698 000316B0 000316C8 000316E0 000316F8 00031710 00031728 00031740 00031758 00031770 00031788 000317A0 000317B8 000317D0 000317E8 00031800 00031818 00031830 00031848 00031860 00031878 00031890 000318A8 000318C0 000318D8 000318F0 00031908 00031920 00031938 00031950 00031968 00031980 00031998 000319B0 000319C8 000319E0 000319F8 00031A10 00031A28 00031A40 00031A58 00031A70 00031A88 00031AA0 00031AB8 00031AD0 00031AE8 00031B00 00031B18 00031B30 00031B48 00031B60 00031B78 00031B90 00031BA8 00031BC0 00031BD8 00031BF0 00031C08 00031C20 00031C38 00031C50 00031C68 00031C80 00031C98 00031CB0 00031CC8 00031CE0 00031CF8 00031D10 00031D28 00031D40 00031D58 00031D70 00031D88 00031DA0 00031DB8 00031DD0 00031DE8 00031E00 00031E18 00031E30 00031E48 00031E60 00031E78 00031E90 00031EA8 00031EC0 00031ED8 00031EF0 00031F08 00031F20 00031F38 00031F50 00031F68 00031F80 00031F98 00031FB0 00031FC8 00031FE0 00031FF8 00032010 00032028 00032040 00032058 00032070 00032088 000320A0 000320B8 000320D0 000320E8 00032100 00032118 00032130 00032148 00032160 00032178 00032190 000321A8 000321C0 000321D8 000321F0 00032208 00032220 00032238 00032250 00032268 00032280 00032298 000322B0 000322C8 000322E0 000322F8 00032310 00032328 00032340 00032358 00032370 00032388 000323A0 000323B8 000323D0 000323E8 00032400 00032418 00032430 00032448 00032460 00032478 00032490 000324A8 000324C0 000324D8 000324F0 00032508 00032520 00032538 00032550 00032568 00032580 00032598 000325B0 000325C8 000325E0 000325F8 00032610 00032628 00032640 00032658 00032670 00032688 000326A0 000326B8 000326D0 000326E8 00032700 00032718 00032730 00032748 00032760 00032778 00032790 000327A8 000327C0 000327D8 000327F0 00032808 00032820 00032838 00032850 00032868 00032880 00032898 000328B0 000328C8 000328E0 000328F8 00032910 00032928 00032940 00032958 00032970 00032988 000329A0 000329B8 000329D0 000329E8 00032A00 00032A18 00032A30 00032A48 00032A60 00032A78 00032A90 00032AA8 00032AC0 00032AD8 00032AF0 00032B08 00032B20 00032B38 00032B50 00032B68 00032B80 00032B98 00032BB0 00032BC8 00032BE0 00032BF8 00032C10 00032C28 00032C40 00032C58 00032C70 00032C88 00032CA0 00032CB8 00032CD0 00032CE8 00032D00 00032D18 00032D30 00032D48 00032D60 00032D78 00032D90 00032DA8 00032DC0 00032DD8 00032DF0 00032E08 00032E20 00032E38 00032E50 00032E68 00032E80 00032E98 00032EB0 00032EC8 00032EE0 00032EF8 00032F10 00032F28 00032F40 00032F58 00032F70 00032F88 00032FA0 00032FB8 00032FD0 00032FE8 00033000 00033018 00033030 00033048 00033060 00033078 00033090 000330A8 000330C0 000330D8 000330F0 00033108 00033120 00033138 00033150 00033168 00033180 00033198 000331B0 000331C8 000331E0 000331F8 00033210 00033228 00033240 00033258 00033270 00033288 000332A0 000332B8 000332D0 000332E8 00033300 00033318 00033330 00033348 00033360 00033378 00033390 000333A8 000333C0 000333D8 000333F0 00033408 00033420 00033438 00033450 00033468 00033480 00033498 000334B0 000334C8 000334E0 000334F8 00033510 00033528 00033540 00033558 00033570 00033588 000335A0 000335B8 000335D0 000335E8 00033600 00033618 00033630 00033648 00033660 00033678 00033690 000336A8 000336C0 000336D8 000336F0 00033708 00033720 00033738 00033750 00033768 00033780 00033798 000337B0 000337C8 000337E0 000337F8 00033810 00033828 00033840 00033858 00033870 00033888 000338A0 000338B8 000338D0 000338E8 00033900 00033918 00033930 00033948 00033960 00033978 00033990 000339A8 000339C0 000339D8 000339F0 00033A08 00033A20 00033A38 00033A50 00033A68 00033A80 00033A98 00033AB0 00033AC8 00033AE0 00033AF8 00033B10 00033B28 00033B40 00033B58 00033B70 00033B88 00033BA0 00033BB8 00033BD0 00033BE8 00033C00 00033C18 00033C30 00033C48 00033C60 00033C78 00033C90 00033CA8 00033CC0 00033CD8 00033CF0 00033D08 00033D20 00033D38 00033D50 00033D68 00033D80 00033D98 00033DB0 00033DC8 00033DE0 00033DF8 00033E10 00033E28 00033E40 00033E58 00033E70 00033E88 00033EA0 00033EB8 00033ED0 00033EE8 00033F00 00033F18 00033F30 00033F48 00033F60 00033F78 00033F90 00033FA8 00033FC0 00033FD8 00033FF0 00034008 00034020 00034038 00034050 00034068 00034080 00034098 000340B0 000340C8 000340E0 000340F8 00034110 00034128 00034140 00034158 00034170 00034188 000341A0 000341B8 000341D0 000341E8 00034200 00034218 00034230 00034248 00034260 00034278 00034290 000342A8 000342C0 000342D8 000342F0 00034308 00034320 00034338 00034350 00034368 00034380 00034398 000343B0 000343C8 000343E0 000343F8 00034410 00034428 00034440 00034458 00034470 00034488 000344A0 000344B8 000344D0 000344E8 00034500 00034518 00034530 00034548 00034560 00034578 00034590 000345A8 000345C0 000345D8 000345F0 00034608 00034620 00034638 00034650 00034668 00034680 00034698 000346B0 000346C8 000346E0 000346F8 00034710 00034728 00034740 00034758 00034770 00034788 000347A0 000347B8 000347D0 000347E8 00034800 00034818 00034830 00034848 00034860 00034878 00034890 000348A8 000348C0 000348D8 000348F0 00034908 00034920 00034938 00034950 00034968 00034980 00034998 000349B0 000349C8 000349E0 000349F8 00034A10 00034A28 00034A40 00034A58 00034A70 00034A88 00034AA0 00034AB8 00034AD0 00034AE8 00034B00 00034B18 00034B30 00034B48 00034B60 00034B78 00034B90 00034BA8 00034BC0 00034BD8 00034BF0 00034C08 00034C20 00034C38 00034C50 00034C68 00034C80 00034C98 00034CB0 00034CC8 00034CE0 00034CF8 00034D10 00034D28 00034D40 00034D58 00034D70 00034D88 00034DA0 00034DB8 00034DD0 00034DE8 00034E00 00034E18 00034E30 00034E48 00034E60 00034E78 00034E90 00034EA8 00034EC0 00034ED8 00034EF0 00034F08 00034F20 00034F38 00034F50 00034F68 00034F80 00034F98 00034FB0 00034FC8 00034FE0 00034FF8 00035010 00035028 00035040 00035058 00035070 00035088 000350A0 000350B8 000350D0 000350E8 00035100 00035118 00035130 00035148 00035160 00035178 00035190 000351A8 000351C0 000351D8 000351F0 00035208 00035220 00035238 00035250 00035268 00035280 00035298 000352B0 000352C8 000352E0 000352F8 00035310 00035328 00035340 00035358 00035370 00035388 000353A0 000353B8 000353D0 000353E8 00035400 00035418 00035430 00035448 00035460 00035478 00035490 000354A8 000354C0 000354D8 000354F0 00035508 00035520 00035538 00035550 00035568 00035580 00035598 000355B0 000355C8 000355E0 000355F8 00035610 00035628 00035640 00035658 00035670 00035688 000356A0 000356B8 000356D0 000356E8 00035700 00035718 00035730 00035748 00035760 00035778 00035790 000357A8 000357C0 000357D8 000357F0 00035808 00035820 00035838 00035850 00035868 00035880 00035898 000358B0 000358C8 000358E0 000358F8 00035910 00035928 00035940 00035958 00035970 00035988 000359A0 000359B8 000359D0 000359E8 00035A00 00035A18 00035A30 00035A48 00035A60 00035A78 00035A90 00035AA8 00035AC0 00035AD8 00035AF0 00035B08 00035B20 00035B38 00035B50 00035B68 00035B80 00035B98 00035BB0 00035BC8 00035BE0 00035BF8 00035C10 00035C28 00035C40 00035C58 00035C70 00035C88 00035CA0 00035CB8 00035CD0 00035CE8 00035D00 00035D18 00035D30 00035D48 00035D60 00035D78 00035D90 00035DA8 00035DC0 00035DD8 00035DF0 00035E08 00035E20 00035E38 00035E50 00035E68 00035E80 00035E98 00035EB0 00035EC8 00035EE0 00035EF8 00035F10 00035F28 00035F40 00035F58 00035F70 00035F88 00035FA0 00035FB8 00035FD0 00035FE8 00036000 00036018 00036030 00036048 00036060 00036078 00036090 000360A8 000360C0 000360D8 000360F0 00036108 00036120 00036138 00036150 00036168 00036180 00036198 000361B0 000361C8 000361E0 000361F8 00036210 00036228 00036240 00036258 00036270 00036288 000362A0 000362B8 000362D0 000362E8 00036300 00036318 00036330 00036348 00036360 00036378 00036390 000363A8 000363C0 000363D8 000363F0 00036408 00036420 00036438 00036450 00036468 00036480 00036498 000364B0 000364C8 000364E0 000364F8 00036510 00036528 00036540 00036558 00036570 00036588 000365A0 000365B8 000365D0 000365E8 00036600 00036618 00036630 00036648 00036660 00036678 00036690 000366A8 000366C0 000366D8 000366F0 00036708 00036720 00036738 00036750 00036768 00036780 00036798 000367B0 000367C8 000367E0 000367F8 00036810 00036828 00036840 00036858 00036870 00036888 000368A0 000368B8 000368D0 000368E8 00036900 00036918 00036930 00036948 00036960 00036978 00036990 000369A8 000369C0 000369D8 000369F0 00036A08 00036A20 00036A38 00036A50 00036A68 00036A80 00036A98 00036AB0 00036AC8 00036AE0 00036AF8 00036B10 00036B28 00036B40 00036B58 00036B70 00036B88 00036BA0 00036BB8 00036BD0 00036BE8 00036C00 00036C18 00036C30 00036C48 00036C60 00036C78 00036C90 00036CA8 00036CC0 00036CD8 00036CF0 00036D08 00036D20 00036D38 00036D50 00036D68 00036D80 00036D98 00036DB0 00036DC8 00036DE0 00036DF8 00036E10 00036E28 00036E40 00036E58 00036E70 00036E88 00036EA0 00036EB8 00036ED0 00036EE8 00036F00 00036F18 00036F30 00036F48 00036F60 00036F78 00036F90 00036FA8 00036FC0 00036FD8 00036FF0 00037008 00037020 00037038 00037050 00037068 00037080 00037098 000370B0 000370C8 000370E0 000370F8 00037110 00037128 00037140 00037158 00037170 00037188 000371A0 000371B8 000371D0 000371E8 00037200 00037218 00037230 00037248 00037260 00037278 00037290 000372A8 000372C0 000372D8 000372F0 00037308 00037320 00037338 00037350 00037368 00037380 00037398 000373B0 000373C8 000373E0 000373F8 00037410 00037428 00037440 00037458 00037470 00037488 000374A0 000374B8 000374D0 000374E8 00037500 00037518 00037530 00037548 00037560 00037578 00037590 000375A8 000375C0 000375D8 000375F0 00037608 00037620 00037638 00037650 00037668 00037680 00037698 000376B0 000376C8 000376E0 000376F8 00037710 00037728 00037740 00037758 00037770 00037788 000377A0 000377B8 000377D0 000377E8 00037800 00037818 00037830 00037848 00037860 00037878 00037890 000378A8 000378C0 000378D8 000378F0 00037908 00037920 00037938 00037950 00037968 00037980 00037998 000379B0 000379C8 000379E0 000379F8 00037A10 00037A28 00037A40 00037A58 00037A70 00037A88 00037AA0 00037AB8 00037AD0 00037AE8 00037B00 00037B18 00037B30 00037B48 00037B60 00037B78 00037B90 00037BA8 00037BC0 00037BD8 00037BF0 00037C08 00037C20 00037C38 00037C50 00037C68 00037C80 00037C98 00037CB0 00037CC8 00037CE0 00037CF8 00037D10 00037D28 00037D40 00037D58 00037D70 00037D88 00037DA0 00037DB8 00037DD0 00037DE8 00037E00 00037E18 00037E30 00037E48 00037E60 00037E78 00037E90 00037EA8 00037EC0 00037ED8 00037EF0 00037F08 00037F20 00037F38 00037F50 00037F68 00037F80 00037F98 00037FB0 00037FC8 00037FE0 00037FF8 00038010 00038028 00038040 00038058 00038070 00038088 000380A0 000380B8 000380D0 000380E8 00038100 00038118 00038130 00038148 00038160 00038178 00038190 000381A8 000381C0 000381D8 000381F0 00038208 00038220 00038238 00038250 00038268 00038280 00038298 000382B0 000382C8 000382E0 000382F8 00038310 00038328 00038340 00038358 00038370 00038388 000383A0 000383B8 000383D0 000383E8 00038400 00038418 00038430 00038448 00038460 00038478 00038490 000384A8 000384C0 000384D8 000384F0 00038508 00038520 00038538 00038550 00038568 00038580 00038598 000385B0 000385C8 000385E0 000385F8 00038610 00038628 00038640 00038658 00038670 00038688 000386A0 000386B8 000386D0 000386E8 00038700 00038718 00038730 00038748 00038760 00038778 00038790 000387A8 000387C0 000387D8 000387F0 00038808 00038820 00038838 00038850 00038868 00038880 00038898 000388B0 000388C8 000388E0 000388F8 00038910 00038928 00038940 00038958 00038970 00038988 000389A0 000389B8 000389D0 000389E8 00038A00 00038A18 00038A30 00038A48 00038A60 00038A78 00038A90 00038AA8 00038AC0 00038AD8 00038AF0 00038B08 00038B20 00038B38 00038B50 00038B68 00038B80 00038B98 00038BB0 00038BC8 00038BE0 00038BF8 00038C10 00038C28 00038C40 00038C58 00038C70 00038C88 00038CA0 00038CB8 00038CD0 00038CE8 00038D00 00038D18 00038D30 00038D48 00038D60 00038D78 00038D90 00038DA8 00038DC0 00038DD8 00038DF0 00038E08 00038E20 00038E38 00038E50 00038E68 00038E80 00038E98 00038EB0 00038EC8 00038EE0 00038EF8 00038F10 00038F28 00038F40 00038F58 00038F70 00038F88 00038FA0 00038FB8 00038FD0 00038FE8 00039000 00039018 00039030 00039048 00039060 00039078 00039090 000390A8 000390C0 000390D8 000390F0 00039108 00039120 00039138 00039150 00039168 00039180 00039198 000391B0 000391C8 000391E0 000391F8 00039210 00039228 00039240 00039258 00039270 00039288 000392A0 000392B8 000392D0 000392E8 00039300 00039318 00039330 00039348 00039360 00039378 00039390 000393A8 000393C0 000393D8 000393F0 00039408 00039420 00039438 00039450 00039468 00039480 00039498 000394B0 000394C8 000394E0 000394F8 00039510 00039528 00039540 00039558 00039570 00039588 000395A0 000395B8 000395D0 000395E8 00039600 00039618 00039630 00039648 00039660 00039678 00039690 000396A8 000396C0 000396D8 000396F0 00039708 00039720 00039738 00039750 00039768 00039780 00039798 000397B0 000397C8 000397E0 000397F8 00039810 00039828 00039840 00039858 00039870 00039888 000398A0 000398B8 000398D0 000398E8 00039900 00039918 00039930 00039948 00039960 00039978 00039990 000399A8 000399C0 000399D8 000399F0 00039A08 00039A20 00039A38 00039A50 00039A68 00039A80 00039A98 00039AB0 00039AC8 00039AE0 00039AF8 00039B10 00039B28 00039B40 00039B58 00039B70 00039B88 00039BA0 00039BB8 00039BD0 00039BE8 00039C00 00039C18 00039C30 00039C48 00039C60 00039C78 00039C90 00039CA8 00039CC0 00039CD8 00039CF0 00039D08 00039D20 00039D38 00039D50 00039D68 00039D80 00039D98 00039DB0 00039DC8 00039DE0 00039DF8 00039E10 00039E28 00039E40 00039E58 00039E70 00039E88 00039EA0 00039EB8 00039ED0 00039EE8 00039F00 00039F18 00039F30 00039F48 00039F60 00039F78 00039F90 00039FA8 00039FC0 00039FD8 00039FF0 0003A008 0003A020 0003A038 0003A050 0003A068 0003A080 0003A098 0003A0B0 0003A0C8 0003A0E0 0003A0F8 0003A110 0003A128 0003A140 0003A158 0003A170 0003A188 0003A1A0 0003A1B8 0003A1D0 0003A1E8 0003A200 0003A218 0003A230 0003A248 0003A260 0003A278 0003A290 0003A2A8 0003A2C0 0003A2D8 0003A2F0 0003A308 0003A320 0003A338 0003A350 0003A368 0003A380 0003A398 0003A3B0 0003A3C8 0003A3E0 0003A3F8 0003A410 0003A428 0003A440 0003A458 0003A470 0003A488 0003A4A0 0003A4B8 0003A4D0 0003A4E8 0003A500 0003A518 0003A530 0003A548 0003A560 0003A578 0003A590 0003A5A8 0003A5C0 0003A5D8 0003A5F0 0003A608 0003A620 0003A638 0003A650 0003A668 0003A680 0003A698 0003A6B0 0003A6C8 0003A6E0 0003A6F8 0003A710 0003A728 0003A740 0003A758 0003A770 0003A788 0003A7A0 0003A7B8 0003A7D0 0003A7E8 0003A800 0003A818 0003A830 0003A848 0003A860 0003A878 0003A890 0003A8A8 0003A8C0 0003A8D8 0003A8F0 0003A908 0003A920 0003A938 0003A950 0003A968 0003A980 0003A998 0003A9B0 0003A9C8 0003A9E0 0003A9F8 0003AA10 0003AA28 0003AA40 0003AA58 0003AA70 0003AA88 0003AAA0 0003AAB8 0003AAD0 0003AAE8 0003AB00 0003AB18 0003AB30 0003AB48 0003AB60 0003AB78 0003AB90 0003ABA8 0003ABC0 0003ABD8 0003ABF0 0003AC08 0003AC20 0003AC38 0003AC50 0003AC68 0003AC80 0003AC98 0003ACB0 0003ACC8 0003ACE0 0003ACF8 0003AD10 0003AD28 0003AD40 0003AD58 0003AD70 0003AD88 0003ADA0 0003ADB8 0003ADD0 0003ADE8 0003AE00 0003AE18 0003AE30 0003AE48 0003AE60 0003AE78 0003AE90 0003AEA8 0003AEC0 0003AED8 0003AEF0 0003AF08 0003AF20 0003AF38 0003AF50 0003AF68 0003AF80 0003AF98 0003AFB0 0003AFC8 0003AFE0 0003AFF8 0003B010 0003B028 0003B040 0003B058 0003B070 0003B088 0003B0A0 0003B0B8 0003B0D0 0003B0E8 0003B100 0003B118 0003B130 0003B148 0003B160 0003B178 0003B190 0003B1A8 0003B1C0 0003B1D8 0003B1F0 0003B208 0003B220 0003B238 0003B250 0003B268 0003B280 0003B298 0003B2B0 0003B2C8 0003B2E0 0003B2F8 0003B310 0003B328 0003B340 0003B358 0003B370 0003B388 0003B3A0 0003B3B8 0003B3D0 0003B3E8 0003B400 0003B418 0003B430 0003B448 0003B460 0003B478 0003B490 0003B4A8 0003B4C0 0003B4D8 0003B4F0 0003B508 0003B520 0003B538 0003B550 0003B568 0003B580 0003B598 0003B5B0 0003B5C8 0003B5E0 0003B5F8 0003B610 0003B628 0003B640 0003B658 0003B670 0003B688 0003B6A0 0003B6B8 0003B6D0 0003B6E8 0003B700 0003B718 0003B730 0003B748 0003B760 0003B778 0003B790 0003B7A8 0003B7C0 0003B7D8 0003B7F0 0003B808 0003B820 0003B838 0003B850 0003B868
| 2F 2A 0A 20 43 61 6E 76 61 73 4A 53 20 48 54 4D 4C 35 20 26 20 4A 61 76 61 53 63 72 69 70 74 20 43 68 61 72 74 73 20 2D 20 76 31 2E 38 2E 30 20 47 41 20 2D 20 68 74 74 70 3A 2F 2F 63 61 6E 76 61 73 6A 73 2E 63 6F 6D 2F 20 0A 20 43 6F 70 79 72 69 67 68 74 20 32 30 31 33 20 66 65 6E 6F 70 69 78 0A 2A 2F 0A 28 66 75 6E 63 74 69 6F 6E 28 29 7B 66 75 6E 63 74 69 6F 6E 20 4F 28 61 2C 62 29 7B 61 2E 70 72 6F 74 6F 74 79 70 65 3D 43 61 28 62 2E 70 72 6F 74 6F 74 79 70 65 29 3B 61 2E 70 72 6F 74 6F 74 79 70 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 3D 61 3B 61 2E 62 61 73 65 3D 62 2E 70 72 6F 74 6F 74 79 70 65 7D 66 75 6E 63 74 69 6F 6E 20 43 61 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 29 7B 7D 62 2E 70 72 6F 74 6F 74 79 70 65 3D 61 3B 72 65 74 75 72 6E 20 6E 65 77 20 62 7D 66 75 6E 63 74 69 6F 6E 20 74 61 28 61 2C 62 2C 63 29 7B 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 3D 3D 3D 63 3F 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 2B 31 2A 62 29 3A 22 73 65 63 6F 6E 64 22 3D 3D 3D 63 3F 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 2B 31 2A 62 29 3A 22 6D 69 6E 75 74 65 22 3D 3D 3D 63 3F 61 2E 73 65 74 4D 69 6E 75 74 65 73 28 61 2E 67 65 74 4D 69 6E 75 74 65 73 28 29 2B 31 2A 62 29 3A 22 68 6F 75 72 22 3D 3D 3D 63 3F 61 2E 73 65 74 48 6F 75 72 73 28 61 2E 67 65 74 48 6F 75 72 73 28 29 2B 31 2A 62 29 3A 22 64 61 79 22 3D 3D 3D 63 3F 61 2E 73 65 74 44 61 74 65 28 61 2E 67 65 74 44 61 74 65 28 29 2B 31 2A 62 29 3A 22 77 65 65 6B 22 3D 3D 3D 63 3F 61 2E 73 65 74 44 61 74 65 28 61 2E 67 65 74 44 61 74 65 28 29 2B 37 2A 62 29 3A 22 6D 6F 6E 74 68 22 3D 3D 3D 63 3F 61 2E 73 65 74 4D 6F 6E 74 68 28 61 2E 67 65 74 4D 6F 6E 74 68 28 29 2B 31 2A 62 29 3A 22 79 65 61 72 22 3D 3D 3D 63 26 26 61 2E 73 65 74 46 75 6C 6C 59 65 61 72 28 61 2E 67 65 74 46 75 6C 6C 59 65 61 72 28 29 2B 0A 31 2A 62 29 3B 72 65 74 75 72 6E 20 61 7D 66 75 6E 63 74 69 6F 6E 20 4C 28 61 2C 62 29 7B 76 61 72 20 63 3D 21 31 3B 30 3E 61 26 26 28 63 3D 21 30 2C 61 2A 3D 2D 31 29 3B 61 3D 22 22 2B 61 3B 66 6F 72 28 62 3D 62 3F 62 3A 31 3B 61 2E 6C 65 6E 67 74 68 3C 62 3B 29 61 3D 22 30 22 2B 61 3B 72 65 74 75 72 6E 20 63 3F 22 2D 22 2B 61 3A 61 7D 66 75 6E 63 74 69 6F 6E 20 24 28 61 29 7B 69 66 28 21 61 29 72 65 74 75 72 6E 20 61 3B 61 3D 61 2E 72 65 70 6C 61 63 65 28 2F 5E 5C 73 5C 73 2A 2F 2C 22 22 29 3B 66 6F 72 28 76 61 72 20 62 3D 2F 5C 73 2F 2C 63 3D 61 2E 6C 65 6E 67 74 68 3B 62 2E 74 65 73 74 28 61 2E 63 68 61 72 41 74 28 2D 2D 63 29 29 3B 29 3B 72 65 74 75 72 6E 20 61 2E 73 6C 69 63 65 28 30 2C 63 2B 31 29 7D 66 75 6E 63 74 69 6F 6E 20 44 61 28 61 29 7B 61 2E 72 6F 75 6E 64 52 65 63 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 63 2C 64 2C 65 2C 66 2C 67 2C 6B 2C 70 29 7B 6B 26 26 28 74 68 69 73 2E 66 69 6C 6C 53 74 79 6C 65 3D 6B 29 3B 70 26 26 28 74 68 69 73 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 70 29 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 66 26 26 28 66 3D 35 29 3B 74 68 69 73 2E 6C 69 6E 65 57 69 64 74 68 3D 67 3B 74 68 69 73 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 68 69 73 2E 6D 6F 76 65 54 6F 28 61 2B 66 2C 63 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 64 2D 66 2C 63 29 3B 74 68 69 73 2E 71 75 61 64 72 61 74 69 63 43 75 72 76 65 54 6F 28 61 2B 64 2C 63 2C 61 2B 64 2C 63 2B 66 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 64 2C 63 2B 65 2D 66 29 3B 0A 74 68 69 73 2E 71 75 61 64 72 61 74 69 63 43 75 72 76 65 54 6F 28 61 2B 64 2C 63 2B 65 2C 61 2B 64 2D 66 2C 63 2B 65 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 66 2C 63 2B 65 29 3B 74 68 69 73 2E 71 75 61 64 72 61 74 69 63 43 75 72 76 65 54 6F 28 61 2C 63 2B 65 2C 61 2C 63 2B 65 2D 66 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2C 63 2B 66 29 3B 74 68 69 73 2E 71 75 61 64 72 61 74 69 63 43 75 72 76 65 54 6F 28 61 2C 63 2C 61 2B 66 2C 63 29 3B 74 68 69 73 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 6B 26 26 74 68 69 73 2E 66 69 6C 6C 28 29 3B 70 26 26 30 3C 67 26 26 74 68 69 73 2E 73 74 72 6F 6B 65 28 29 7D 7D 66 75 6E 63 74 69 6F 6E 20 75 61 28 61 2C 62 29 7B 72 65 74 75 72 6E 20 61 2D 62 7D 66 75 6E 63 74 69 6F 6E 20 76 61 28 61 2C 62 29 7B 72 65 74 75 72 6E 20 61 2E 78 2D 62 2E 78 7D 66 75 6E 63 74 69 6F 6E 20 42 28 61 29 7B 76 61 72 20 62 3D 28 28 61 26 31 36 37 31 31 36 38 30 29 3E 3E 31 36 29 2E 74 6F 53 74 72 69 6E 67 28 31 36 29 2C 63 3D 28 28 61 26 36 35 32 38 30 29 3E 3E 38 29 2E 74 6F 53 74 72 69 6E 67 28 31 36 29 3B 61 3D 28 28 61 26 32 35 35 29 3E 3E 30 29 2E 74 6F 53 74 72 69 6E 67 28 31 36 29 3B 62 3D 32 3E 62 2E 6C 65 6E 67 74 68 3F 22 30 22 2B 62 3A 62 3B 63 3D 32 3E 63 2E 6C 65 6E 67 74 68 3F 22 30 22 2B 63 3A 63 3B 61 3D 32 3E 61 2E 6C 65 6E 67 74 68 3F 22 30 22 2B 61 3A 61 3B 72 65 74 75 72 6E 22 23 22 2B 62 2B 63 2B 61 7D 66 75 6E 63 74 69 6F 6E 20 45 61 28 61 2C 62 29 7B 76 61 72 20 63 3D 74 68 69 73 2E 6C 65 6E 67 74 68 3E 3E 3E 30 2C 64 3D 4E 75 6D 62 65 72 28 62 29 7C 7C 0A 30 2C 64 3D 30 3E 64 3F 4D 61 74 68 2E 63 65 69 6C 28 64 29 3A 4D 61 74 68 2E 66 6C 6F 6F 72 28 64 29 3B 66 6F 72 28 30 3E 64 26 26 28 64 2B 3D 63 29 3B 64 3C 63 3B 64 2B 2B 29 69 66 28 64 20 69 6E 20 74 68 69 73 26 26 74 68 69 73 5B 64 5D 3D 3D 3D 61 29 72 65 74 75 72 6E 20 64 3B 72 65 74 75 72 6E 2D 31 7D 66 75 6E 63 74 69 6F 6E 20 50 28 61 29 7B 72 65 74 75 72 6E 20 6E 75 6C 6C 3D 3D 3D 61 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 61 7D 66 75 6E 63 74 69 6F 6E 20 65 61 28 61 2C 62 2C 63 29 7B 63 3D 63 7C 7C 22 6E 6F 72 6D 61 6C 22 3B 76 61 72 20 64 3D 61 2B 22 5F 22 2B 62 2B 22 5F 22 2B 63 2C 65 3D 77 61 5B 64 5D 3B 69 66 28 69 73 4E 61 4E 28 65 29 29 7B 74 72 79 7B 61 3D 22 70 6F 73 69 74 69 6F 6E 3A 61 62 73 6F 6C 75 74 65 3B 20 6C 65 66 74 3A 30 70 78 3B 20 74 6F 70 3A 2D 32 30 30 30 30 70 78 3B 20 70 61 64 64 69 6E 67 3A 30 70 78 3B 6D 61 72 67 69 6E 3A 30 70 78 3B 62 6F 72 64 65 72 3A 6E 6F 6E 65 3B 77 68 69 74 65 2D 73 70 61 63 65 3A 70 72 65 3B 6C 69 6E 65 2D 68 65 69 67 68 74 3A 6E 6F 72 6D 61 6C 3B 66 6F 6E 74 2D 66 61 6D 69 6C 79 3A 22 2B 61 2B 22 3B 20 66 6F 6E 74 2D 73 69 7A 65 3A 22 2B 62 2B 22 70 78 3B 20 66 6F 6E 74 2D 77 65 69 67 68 74 3A 22 2B 63 2B 22 3B 22 3B 69 66 28 21 55 29 7B 76 61 72 20 66 3D 64 6F 63 75 6D 65 6E 74 2E 62 6F 64 79 3B 55 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 73 70 61 6E 22 29 3B 55 2E 69 6E 6E 65 72 48 54 4D 4C 3D 22 22 3B 76 61 72 20 67 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 54 65 78 74 4E 6F 64 65 28 22 4D 70 67 79 69 22 29 3B 0A 55 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 67 29 3B 66 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 55 29 7D 55 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 22 3B 55 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 73 74 79 6C 65 22 2C 61 29 3B 65 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 55 2E 6F 66 66 73 65 74 48 65 69 67 68 74 29 3B 55 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 6E 6F 6E 65 22 7D 63 61 74 63 68 28 6B 29 7B 65 3D 4D 61 74 68 2E 63 65 69 6C 28 31 2E 31 2A 62 29 7D 65 3D 4D 61 74 68 2E 6D 61 78 28 65 2C 62 29 3B 77 61 5B 64 5D 3D 65 7D 72 65 74 75 72 6E 20 65 7D 66 75 6E 63 74 69 6F 6E 20 4D 28 61 2C 62 29 7B 76 61 72 20 63 3D 5B 5D 3B 6C 69 6E 65 44 61 73 68 54 79 70 65 4D 61 70 3D 7B 73 6F 6C 69 64 3A 5B 5D 2C 73 68 6F 72 74 44 61 73 68 3A 5B 33 2C 31 5D 2C 73 68 6F 72 74 44 6F 74 3A 5B 31 2C 31 5D 2C 73 68 6F 72 74 44 61 73 68 44 6F 74 3A 5B 33 2C 31 2C 31 2C 31 5D 2C 73 68 6F 72 74 44 61 73 68 44 6F 74 44 6F 74 3A 5B 33 2C 31 2C 31 2C 31 2C 31 2C 31 5D 2C 64 6F 74 3A 5B 31 2C 32 5D 2C 64 61 73 68 3A 5B 34 2C 32 5D 2C 64 61 73 68 44 6F 74 3A 5B 34 2C 32 2C 31 2C 32 5D 2C 6C 6F 6E 67 44 61 73 68 3A 5B 38 2C 32 5D 2C 6C 6F 6E 67 44 61 73 68 44 6F 74 3A 5B 38 2C 32 2C 31 2C 32 5D 2C 6C 6F 6E 67 44 61 73 68 44 6F 74 44 6F 74 3A 5B 38 2C 32 2C 31 2C 32 2C 31 2C 32 5D 7D 3B 69 66 28 63 3D 6C 69 6E 65 44 61 73 68 54 79 70 65 4D 61 70 5B 61 7C 7C 22 73 6F 6C 69 64 22 5D 29 66 6F 72 28 76 61 72 20 64 3D 30 3B 64 3C 63 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 63 5B 64 5D 2A 3D 62 3B 0A 65 6C 73 65 20 63 3D 5B 5D 3B 72 65 74 75 72 6E 20 63 7D 66 75 6E 63 74 69 6F 6E 20 46 28 61 2C 62 2C 63 2C 64 29 7B 69 66 28 61 2E 61 64 64 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 29 61 2E 61 64 64 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 28 62 2C 63 2C 64 7C 7C 21 31 29 3B 65 6C 73 65 20 69 66 28 61 2E 61 74 74 61 63 68 45 76 65 6E 74 29 61 2E 61 74 74 61 63 68 45 76 65 6E 74 28 22 6F 6E 22 2B 62 2C 66 75 6E 63 74 69 6F 6E 28 62 29 7B 62 3D 62 7C 7C 77 69 6E 64 6F 77 2E 65 76 65 6E 74 3B 62 2E 70 72 65 76 65 6E 74 44 65 66 61 75 6C 74 3D 62 2E 70 72 65 76 65 6E 74 44 65 66 61 75 6C 74 7C 7C 66 75 6E 63 74 69 6F 6E 28 29 7B 62 2E 72 65 74 75 72 6E 56 61 6C 75 65 3D 21 31 7D 3B 62 2E 73 74 6F 70 50 72 6F 70 61 67 61 74 69 6F 6E 3D 62 2E 73 74 6F 70 50 72 6F 70 61 67 61 74 69 6F 6E 7C 7C 66 75 6E 63 74 69 6F 6E 28 29 7B 62 2E 63 61 6E 63 65 6C 42 75 62 62 6C 65 3D 21 30 7D 3B 63 2E 63 61 6C 6C 28 61 2C 62 29 7D 29 3B 65 6C 73 65 20 72 65 74 75 72 6E 21 31 7D 66 75 6E 63 74 69 6F 6E 20 78 61 28 61 2C 62 2C 63 29 7B 61 2A 3D 4A 3B 62 2A 3D 4A 3B 61 3D 63 2E 67 65 74 49 6D 61 67 65 44 61 74 61 28 61 2C 62 2C 32 2C 32 29 2E 64 61 74 61 3B 62 3D 21 30 3B 66 6F 72 28 63 3D 30 3B 34 3E 63 3B 63 2B 2B 29 69 66 28 61 5B 63 5D 21 3D 3D 61 5B 63 2B 34 5D 7C 61 5B 63 5D 21 3D 3D 61 5B 63 2B 38 5D 7C 61 5B 63 5D 21 3D 3D 61 5B 63 2B 31 32 5D 29 7B 62 3D 21 31 3B 62 72 65 61 6B 7D 72 65 74 75 72 6E 20 62 3F 61 5B 30 5D 3C 3C 31 36 7C 61 5B 31 5D 3C 3C 38 7C 61 5B 32 5D 3A 30 7D 66 75 6E 63 74 69 6F 6E 20 4E 28 61 2C 0A 62 2C 63 29 7B 72 65 74 75 72 6E 20 61 20 69 6E 20 62 3F 62 5B 61 5D 3A 63 5B 61 5D 7D 66 75 6E 63 74 69 6F 6E 20 66 61 28 61 2C 62 2C 63 29 7B 69 66 28 74 26 26 79 61 29 7B 76 61 72 20 64 3D 61 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 3B 67 61 3D 64 2E 77 65 62 6B 69 74 42 61 63 6B 69 6E 67 53 74 6F 72 65 50 69 78 65 6C 52 61 74 69 6F 7C 7C 64 2E 6D 6F 7A 42 61 63 6B 69 6E 67 53 74 6F 72 65 50 69 78 65 6C 52 61 74 69 6F 7C 7C 64 2E 6D 73 42 61 63 6B 69 6E 67 53 74 6F 72 65 50 69 78 65 6C 52 61 74 69 6F 7C 7C 64 2E 6F 42 61 63 6B 69 6E 67 53 74 6F 72 65 50 69 78 65 6C 52 61 74 69 6F 7C 7C 64 2E 62 61 63 6B 69 6E 67 53 74 6F 72 65 50 69 78 65 6C 52 61 74 69 6F 7C 7C 31 3B 4A 3D 6F 61 2F 67 61 3B 61 2E 77 69 64 74 68 3D 62 2A 4A 3B 61 2E 68 65 69 67 68 74 3D 63 2A 4A 3B 6F 61 21 3D 3D 67 61 26 26 28 61 2E 73 74 79 6C 65 2E 77 69 64 74 68 3D 62 2B 22 70 78 22 2C 61 2E 73 74 79 6C 65 2E 68 65 69 67 68 74 3D 63 2B 22 70 78 22 2C 64 2E 73 63 61 6C 65 28 4A 2C 4A 29 29 7D 65 6C 73 65 20 61 2E 77 69 64 74 68 3D 62 2C 61 2E 68 65 69 67 68 74 3D 63 7D 66 75 6E 63 74 69 6F 6E 20 56 28 61 2C 62 29 7B 76 61 72 20 63 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 63 61 6E 76 61 73 22 29 3B 63 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 63 6C 61 73 73 22 2C 22 63 61 6E 76 61 73 6A 73 2D 63 68 61 72 74 2D 63 61 6E 76 61 73 22 29 3B 66 61 28 63 2C 61 2C 62 29 3B 74 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 47 5F 76 6D 6C 43 61 6E 76 61 73 4D 61 6E 61 67 65 72 7C 7C 0A 47 5F 76 6D 6C 43 61 6E 76 61 73 4D 61 6E 61 67 65 72 2E 69 6E 69 74 45 6C 65 6D 65 6E 74 28 63 29 3B 72 65 74 75 72 6E 20 63 7D 66 75 6E 63 74 69 6F 6E 20 7A 61 28 61 2C 62 2C 63 29 7B 69 66 28 61 26 26 62 26 26 63 29 7B 63 3D 63 2B 22 2E 22 2B 62 3B 76 61 72 20 64 3D 22 69 6D 61 67 65 2F 22 2B 62 3B 61 3D 61 2E 74 6F 44 61 74 61 55 52 4C 28 64 29 3B 76 61 72 20 65 3D 21 31 2C 66 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 61 22 29 3B 66 2E 64 6F 77 6E 6C 6F 61 64 3D 63 3B 66 2E 68 72 65 66 3D 61 3B 66 2E 74 61 72 67 65 74 3D 22 5F 62 6C 61 6E 6B 22 3B 69 66 28 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 42 6C 6F 62 26 26 6E 65 77 20 42 6C 6F 62 29 7B 66 6F 72 28 76 61 72 20 67 3D 61 2E 72 65 70 6C 61 63 65 28 2F 5E 64 61 74 61 3A 5B 61 2D 7A 2F 5D 2A 3B 62 61 73 65 36 34 2C 2F 2C 22 22 29 2C 67 3D 61 74 6F 62 28 67 29 2C 6B 3D 6E 65 77 20 41 72 72 61 79 42 75 66 66 65 72 28 67 2E 6C 65 6E 67 74 68 29 2C 6B 3D 6E 65 77 20 55 69 6E 74 38 41 72 72 61 79 28 6B 29 2C 70 3D 30 3B 70 3C 67 2E 6C 65 6E 67 74 68 3B 70 2B 2B 29 6B 5B 70 5D 3D 67 2E 63 68 61 72 43 6F 64 65 41 74 28 70 29 3B 62 3D 6E 65 77 20 42 6C 6F 62 28 5B 6B 2E 62 75 66 66 65 72 5D 2C 7B 74 79 70 65 3A 22 69 6D 61 67 65 2F 22 2B 62 7D 29 3B 74 72 79 7B 77 69 6E 64 6F 77 2E 6E 61 76 69 67 61 74 6F 72 2E 6D 73 53 61 76 65 42 6C 6F 62 28 62 2C 63 29 2C 65 3D 21 30 7D 63 61 74 63 68 28 68 29 7B 66 2E 64 61 74 61 73 65 74 2E 64 6F 77 6E 6C 6F 61 64 75 72 6C 3D 5B 64 2C 66 2E 64 6F 77 6E 6C 6F 61 64 2C 0A 66 2E 68 72 65 66 5D 2E 6A 6F 69 6E 28 22 3A 22 29 2C 66 2E 68 72 65 66 3D 77 69 6E 64 6F 77 2E 55 52 4C 2E 63 72 65 61 74 65 4F 62 6A 65 63 74 55 52 4C 28 62 29 7D 7D 69 66 28 21 65 29 74 72 79 7B 65 76 65 6E 74 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 76 65 6E 74 28 22 4D 6F 75 73 65 45 76 65 6E 74 73 22 29 2C 65 76 65 6E 74 2E 69 6E 69 74 4D 6F 75 73 65 45 76 65 6E 74 28 22 63 6C 69 63 6B 22 2C 21 30 2C 21 31 2C 77 69 6E 64 6F 77 2C 30 2C 30 2C 30 2C 30 2C 30 2C 21 31 2C 21 31 2C 21 31 2C 21 31 2C 30 2C 6E 75 6C 6C 29 2C 66 2E 64 69 73 70 61 74 63 68 45 76 65 6E 74 3F 66 2E 64 69 73 70 61 74 63 68 45 76 65 6E 74 28 65 76 65 6E 74 29 3A 66 2E 66 69 72 65 45 76 65 6E 74 26 26 66 2E 66 69 72 65 45 76 65 6E 74 28 22 6F 6E 63 6C 69 63 6B 22 29 7D 63 61 74 63 68 28 6C 29 7B 62 3D 77 69 6E 64 6F 77 2E 6F 70 65 6E 28 29 2C 62 2E 64 6F 63 75 6D 65 6E 74 2E 77 72 69 74 65 28 22 3C 69 6D 67 20 73 72 63 3D 27 22 2B 61 2B 22 27 3E 3C 2F 69 6D 67 3E 3C 64 69 76 3E 50 6C 65 61 73 65 20 72 69 67 68 74 20 63 6C 69 63 6B 20 6F 6E 20 74 68 65 20 69 6D 61 67 65 20 61 6E 64 20 73 61 76 65 20 69 74 20 74 6F 20 79 6F 75 72 20 64 65 76 69 63 65 3C 2F 64 69 76 3E 22 29 2C 62 2E 64 6F 63 75 6D 65 6E 74 2E 63 6C 6F 73 65 28 29 7D 7D 7D 66 75 6E 63 74 69 6F 6E 20 51 28 61 2C 62 2C 63 29 7B 62 2E 67 65 74 41 74 74 72 69 62 75 74 65 28 22 73 74 61 74 65 22 29 21 3D 3D 63 26 26 28 62 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 73 74 61 74 65 22 2C 63 29 2C 62 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 74 79 70 65 22 2C 0A 22 62 75 74 74 6F 6E 22 29 2C 62 2E 73 74 79 6C 65 2E 70 6F 73 69 74 69 6F 6E 3D 22 72 65 6C 61 74 69 76 65 22 2C 62 2E 73 74 79 6C 65 2E 6D 61 72 67 69 6E 3D 22 30 70 78 20 30 70 78 20 30 70 78 20 30 70 78 22 2C 62 2E 73 74 79 6C 65 2E 70 61 64 64 69 6E 67 3D 22 33 70 78 20 34 70 78 20 30 70 78 20 34 70 78 22 2C 62 2E 73 74 79 6C 65 2E 63 73 73 46 6C 6F 61 74 3D 22 6C 65 66 74 22 2C 62 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 74 69 74 6C 65 22 2C 61 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 5B 63 2B 22 54 65 78 74 22 5D 29 2C 62 2E 69 6E 6E 65 72 48 54 4D 4C 3D 22 3C 69 6D 67 20 73 74 79 6C 65 3D 27 68 65 69 67 68 74 3A 31 36 70 78 3B 27 20 73 72 63 3D 27 22 2B 46 61 5B 63 5D 2E 69 6D 61 67 65 2B 22 27 20 61 6C 74 3D 27 22 2B 61 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 5B 63 2B 22 54 65 78 74 22 5D 2B 22 27 20 2F 3E 22 29 7D 66 75 6E 63 74 69 6F 6E 20 68 61 28 29 7B 66 6F 72 28 76 61 72 20 61 3D 6E 75 6C 6C 2C 62 3D 30 3B 62 3C 61 72 67 75 6D 65 6E 74 73 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 61 3D 61 72 67 75 6D 65 6E 74 73 5B 62 5D 2C 61 2E 73 74 79 6C 65 26 26 28 61 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 69 6E 6C 69 6E 65 22 29 7D 66 75 6E 63 74 69 6F 6E 20 53 28 29 7B 66 6F 72 28 76 61 72 20 61 3D 6E 75 6C 6C 2C 62 3D 30 3B 62 3C 61 72 67 75 6D 65 6E 74 73 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 28 61 3D 61 72 67 75 6D 65 6E 74 73 5B 62 5D 29 26 26 61 2E 73 74 79 6C 65 26 26 28 61 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 6E 6F 6E 65 22 29 7D 66 75 6E 63 74 69 6F 6E 20 47 28 61 2C 0A 62 2C 63 2C 64 29 7B 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 73 4B 65 79 3D 61 3B 74 68 69 73 2E 70 61 72 65 6E 74 3D 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 3D 5B 5D 3B 64 3D 7B 7D 3B 63 26 26 28 59 5B 63 5D 26 26 59 5B 63 5D 5B 61 5D 29 26 26 28 64 3D 59 5B 63 5D 5B 61 5D 29 3B 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 3D 62 3F 62 3A 7B 7D 3B 74 68 69 73 2E 73 65 74 4F 70 74 69 6F 6E 73 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2C 64 29 7D 66 75 6E 63 74 69 6F 6E 20 75 28 61 2C 62 2C 63 29 7B 74 68 69 73 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 3D 63 3B 62 3D 62 7C 7C 7B 7D 3B 75 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 43 68 61 72 74 22 2C 62 2C 62 2E 74 68 65 6D 65 3F 62 2E 74 68 65 6D 65 3A 22 74 68 65 6D 65 31 22 29 3B 76 61 72 20 64 3D 74 68 69 73 3B 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 49 64 3D 61 3B 74 68 69 73 2E 5F 6F 62 6A 65 63 74 73 49 6E 69 74 69 61 6C 69 7A 65 64 3D 21 31 3B 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 3D 74 68 69 73 2E 63 74 78 3D 6E 75 6C 6C 3B 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 3D 5B 5D 3B 74 68 69 73 2E 5F 70 61 6E 54 69 6D 65 72 49 64 3D 30 3B 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 45 76 65 6E 74 54 79 70 65 3D 22 22 3B 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 3D 6E 75 6C 6C 3B 74 68 69 73 2E 69 73 41 6E 69 6D 61 74 69 6E 67 3D 21 31 3B 74 68 69 73 2E 72 65 6E 64 65 72 43 6F 75 6E 74 3D 0A 30 3B 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 74 68 69 73 2E 64 69 73 61 62 6C 65 54 6F 6F 6C 54 69 70 3D 74 68 69 73 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 3D 21 31 3B 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 43 75 72 73 6F 72 3D 22 64 65 66 61 75 6C 74 22 3B 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3D 7B 63 61 6E 76 61 73 3A 6E 75 6C 6C 2C 63 74 78 3A 6E 75 6C 6C 2C 78 31 3A 30 2C 79 31 3A 30 2C 78 32 3A 30 2C 79 32 3A 30 2C 77 69 64 74 68 3A 30 2C 68 65 69 67 68 74 3A 30 7D 3B 74 68 69 73 2E 5F 64 61 74 61 49 6E 52 65 6E 64 65 72 65 64 4F 72 64 65 72 3D 5B 5D 3B 28 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 3D 22 73 74 72 69 6E 67 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 49 64 3F 64 6F 63 75 6D 65 6E 74 2E 67 65 74 45 6C 65 6D 65 6E 74 42 79 49 64 28 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 49 64 29 3A 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 49 64 29 3F 28 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 69 6E 6E 65 72 48 54 4D 4C 3D 22 22 2C 62 3D 61 3D 30 2C 61 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 77 69 64 74 68 3F 74 68 69 73 2E 77 69 64 74 68 3A 30 3C 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 3A 74 68 69 73 2E 77 69 64 74 68 2C 62 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 68 65 69 67 68 74 3F 74 68 69 73 2E 68 65 69 67 68 74 3A 30 3C 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 3F 0A 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 3A 74 68 69 73 2E 68 65 69 67 68 74 2C 74 68 69 73 2E 77 69 64 74 68 3D 61 2C 74 68 69 73 2E 68 65 69 67 68 74 3D 62 2C 74 68 69 73 2E 78 31 3D 74 68 69 73 2E 79 31 3D 30 2C 74 68 69 73 2E 78 32 3D 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 79 32 3D 74 68 69 73 2E 68 65 69 67 68 74 2C 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 3D 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 57 5B 74 68 69 73 2E 63 6F 6C 6F 72 53 65 74 5D 3F 57 5B 74 68 69 73 2E 63 6F 6C 6F 72 53 65 74 5D 3A 57 2E 63 6F 6C 6F 72 53 65 74 31 2C 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 2C 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 63 6C 61 73 73 22 2C 22 63 61 6E 76 61 73 6A 73 2D 63 68 61 72 74 2D 63 6F 6E 74 61 69 6E 65 72 22 29 2C 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 70 6F 73 69 74 69 6F 6E 3D 22 72 65 6C 61 74 69 76 65 22 2C 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 74 65 78 74 41 6C 69 67 6E 3D 22 6C 65 66 74 22 2C 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 63 75 72 73 6F 72 3D 22 61 75 74 6F 22 2C 74 7C 7C 28 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 68 65 69 67 68 74 3D 0A 22 30 70 78 22 29 2C 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 29 2C 74 68 69 73 2E 63 61 6E 76 61 73 3D 56 28 61 2C 62 29 2C 74 68 69 73 2E 63 61 6E 76 61 73 2E 73 74 79 6C 65 2E 70 6F 73 69 74 69 6F 6E 3D 22 61 62 73 6F 6C 75 74 65 22 2C 74 68 69 73 2E 63 61 6E 76 61 73 2E 67 65 74 43 6F 6E 74 65 78 74 26 26 28 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 63 61 6E 76 61 73 29 2C 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 61 6E 76 61 73 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 2C 74 68 69 73 2E 63 74 78 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 22 74 6F 70 22 2C 44 61 28 74 68 69 73 2E 63 74 78 29 2C 74 3F 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3D 74 68 69 73 2E 63 74 78 3A 28 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 61 6E 76 61 73 3D 56 28 61 2C 62 29 2C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 61 6E 76 61 73 2E 73 74 79 6C 65 2E 70 6F 73 69 74 69 6F 6E 3D 22 61 62 73 6F 6C 75 74 65 22 2C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 61 6E 76 61 73 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 63 6C 61 73 73 22 2C 22 70 6C 6F 74 41 72 65 61 43 61 6E 76 61 73 22 29 2C 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 61 6E 76 61 73 29 2C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3D 0A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 61 6E 76 61 73 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 29 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 3D 56 28 61 2C 62 29 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 73 74 79 6C 65 2E 70 6F 73 69 74 69 6F 6E 3D 22 61 62 73 6F 6C 75 74 65 22 2C 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 29 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 3D 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 22 74 6F 70 22 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 3D 6E 65 77 20 61 61 28 74 68 69 73 29 2C 46 28 77 69 6E 64 6F 77 2C 22 72 65 73 69 7A 65 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 64 2E 5F 75 70 64 61 74 65 53 69 7A 65 28 29 26 26 64 2E 72 65 6E 64 65 72 28 29 7D 29 2C 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 2C 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 63 6C 61 73 73 22 2C 22 63 61 6E 76 61 73 6A 73 2D 63 68 61 72 74 2D 74 6F 6F 6C 62 61 72 22 29 2C 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 2E 73 74 79 6C 65 2E 63 73 73 54 65 78 74 3D 22 70 6F 73 69 74 69 6F 6E 3A 20 61 62 73 6F 6C 75 74 65 3B 20 72 69 67 68 74 3A 20 31 70 78 3B 20 74 6F 70 3A 20 31 70 78 3B 22 2C 0A 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 29 2C 74 68 69 73 2E 62 6F 75 6E 64 73 3D 7B 78 31 3A 30 2C 79 31 3A 30 2C 78 32 3A 74 68 69 73 2E 77 69 64 74 68 2C 79 32 3A 74 68 69 73 2E 68 65 69 67 68 74 7D 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 22 63 6C 69 63 6B 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 22 6D 6F 75 73 65 6D 6F 76 65 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 22 6D 6F 75 73 65 75 70 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 22 6D 6F 75 73 65 64 6F 77 6E 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 3B 53 28 64 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 22 6D 6F 75 73 65 6F 75 74 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 77 69 6E 64 6F 77 2E 6E 61 76 69 67 61 74 6F 72 2E 6D 73 50 6F 69 6E 74 65 72 45 6E 61 62 6C 65 64 3F 0A 22 4D 53 50 6F 69 6E 74 65 72 44 6F 77 6E 22 3A 22 74 6F 75 63 68 73 74 61 72 74 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 74 6F 75 63 68 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 77 69 6E 64 6F 77 2E 6E 61 76 69 67 61 74 6F 72 2E 6D 73 50 6F 69 6E 74 65 72 45 6E 61 62 6C 65 64 3F 22 4D 53 50 6F 69 6E 74 65 72 4D 6F 76 65 22 3A 22 74 6F 75 63 68 6D 6F 76 65 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 74 6F 75 63 68 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 77 69 6E 64 6F 77 2E 6E 61 76 69 67 61 74 6F 72 2E 6D 73 50 6F 69 6E 74 65 72 45 6E 61 62 6C 65 64 3F 22 4D 53 50 6F 69 6E 74 65 72 55 70 22 3A 22 74 6F 75 63 68 65 6E 64 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 74 6F 75 63 68 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 46 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 77 69 6E 64 6F 77 2E 6E 61 76 69 67 61 74 6F 72 2E 6D 73 50 6F 69 6E 74 65 72 45 6E 61 62 6C 65 64 3F 22 4D 53 50 6F 69 6E 74 65 72 43 61 6E 63 65 6C 22 3A 22 74 6F 75 63 68 63 61 6E 63 65 6C 22 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 64 2E 5F 74 6F 75 63 68 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 29 2C 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 7C 7C 28 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 61 22 29 2C 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 63 6C 61 73 73 22 2C 0A 22 63 61 6E 76 61 73 6A 73 2D 63 68 61 72 74 2D 63 72 65 64 69 74 22 29 2C 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 73 74 79 6C 65 22 2C 22 6F 75 74 6C 69 6E 65 3A 6E 6F 6E 65 3B 6D 61 72 67 69 6E 3A 30 70 78 3B 70 6F 73 69 74 69 6F 6E 3A 61 62 73 6F 6C 75 74 65 3B 72 69 67 68 74 3A 33 70 78 3B 74 6F 70 3A 22 2B 28 74 68 69 73 2E 68 65 69 67 68 74 2D 31 34 29 2B 22 70 78 3B 63 6F 6C 6F 72 3A 64 69 6D 67 72 65 79 3B 74 65 78 74 2D 64 65 63 6F 72 61 74 69 6F 6E 3A 6E 6F 6E 65 3B 66 6F 6E 74 2D 73 69 7A 65 3A 31 30 70 78 3B 66 6F 6E 74 2D 66 61 6D 69 6C 79 3A 4C 75 63 69 64 61 20 47 72 61 6E 64 65 2C 20 4C 75 63 69 64 61 20 53 61 6E 73 20 55 6E 69 63 6F 64 65 2C 20 41 72 69 61 6C 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 29 2C 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 74 61 62 49 6E 64 65 78 22 2C 2D 31 29 2C 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 74 61 72 67 65 74 22 2C 22 5F 62 6C 61 6E 6B 22 29 29 2C 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 3D 6E 65 77 20 52 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 6F 6F 6C 54 69 70 2C 74 68 69 73 2E 74 68 65 6D 65 29 2C 74 68 69 73 2E 61 78 69 73 59 32 3D 74 68 69 73 2E 61 78 69 73 59 3D 74 68 69 73 2E 61 78 69 73 58 3D 74 68 69 73 2E 64 61 74 61 3D 6E 75 6C 6C 2C 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 3D 7B 61 78 69 73 58 3A 7B 7D 2C 61 78 69 73 59 3A 7B 7D 2C 0A 61 78 69 73 59 32 3A 7B 7D 7D 29 29 3A 77 69 6E 64 6F 77 2E 63 6F 6E 73 6F 6C 65 26 26 77 69 6E 64 6F 77 2E 63 6F 6E 73 6F 6C 65 2E 6C 6F 67 28 27 43 61 6E 76 61 73 4A 53 20 45 72 72 6F 72 3A 20 43 68 61 72 74 20 43 6F 6E 74 61 69 6E 65 72 20 77 69 74 68 20 69 64 20 22 27 2B 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 49 64 2B 27 22 20 77 61 73 20 6E 6F 74 20 66 6F 75 6E 64 27 29 7D 66 75 6E 63 74 69 6F 6E 20 69 61 28 61 2C 62 29 7B 66 6F 72 28 76 61 72 20 63 3D 5B 5D 2C 64 3D 30 3B 64 3C 61 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 69 66 28 30 3D 3D 64 29 63 2E 70 75 73 68 28 61 5B 30 5D 29 3B 65 6C 73 65 7B 76 61 72 20 65 2C 66 2C 67 3B 67 3D 64 2D 31 3B 65 3D 30 3D 3D 3D 67 3F 30 3A 67 2D 31 3B 66 3D 67 3D 3D 3D 61 2E 6C 65 6E 67 74 68 2D 31 3F 67 3A 67 2B 31 3B 63 5B 63 2E 6C 65 6E 67 74 68 5D 3D 7B 78 3A 61 5B 67 5D 2E 78 2B 28 61 5B 66 5D 2E 78 2D 61 5B 65 5D 2E 78 29 2F 62 2F 33 2C 79 3A 61 5B 67 5D 2E 79 2B 28 61 5B 66 5D 2E 79 2D 61 5B 65 5D 2E 79 29 2F 62 2F 33 7D 3B 67 3D 64 3B 65 3D 30 3D 3D 3D 67 3F 30 3A 67 2D 31 3B 66 3D 67 3D 3D 3D 61 2E 6C 65 6E 67 74 68 2D 31 3F 67 3A 67 2B 31 3B 63 5B 63 2E 6C 65 6E 67 74 68 5D 3D 7B 78 3A 61 5B 67 5D 2E 78 2D 28 61 5B 66 5D 2E 78 2D 61 5B 65 5D 2E 78 29 2F 62 2F 33 2C 79 3A 61 5B 67 5D 2E 79 2D 28 61 5B 66 5D 2E 79 2D 61 5B 65 5D 2E 79 29 2F 62 2F 33 7D 3B 63 5B 63 2E 6C 65 6E 67 74 68 5D 3D 61 5B 64 5D 7D 72 65 74 75 72 6E 20 63 7D 66 75 6E 63 74 69 6F 6E 20 41 61 28 61 2C 62 29 7B 69 66 28 6E 75 6C 6C 3D 3D 3D 61 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 0A 74 79 70 65 6F 66 20 61 29 72 65 74 75 72 6E 20 62 3B 76 61 72 20 63 3D 70 61 72 73 65 46 6C 6F 61 74 28 61 2E 74 6F 53 74 72 69 6E 67 28 29 29 2A 28 30 3C 3D 61 2E 74 6F 53 74 72 69 6E 67 28 29 2E 69 6E 64 65 78 4F 66 28 22 25 22 29 3F 62 2F 31 30 30 3A 31 29 3B 72 65 74 75 72 6E 21 69 73 4E 61 4E 28 63 29 26 26 63 3C 3D 62 26 26 30 3C 3D 63 3F 63 3A 62 7D 66 75 6E 63 74 69 6F 6E 20 5A 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 65 26 26 28 65 3D 30 29 3B 74 68 69 73 2E 5F 70 61 64 64 69 6E 67 3D 65 3B 74 68 69 73 2E 5F 78 31 3D 61 3B 74 68 69 73 2E 5F 79 31 3D 62 3B 74 68 69 73 2E 5F 78 32 3D 63 3B 74 68 69 73 2E 5F 79 32 3D 64 3B 74 68 69 73 2E 5F 72 69 67 68 74 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 6C 65 66 74 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 62 6F 74 74 6F 6D 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 74 6F 70 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 70 61 64 64 69 6E 67 7D 66 75 6E 63 74 69 6F 6E 20 48 28 61 2C 62 29 7B 48 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 54 65 78 74 42 6C 6F 63 6B 22 2C 62 29 3B 74 68 69 73 2E 63 74 78 3D 61 3B 74 68 69 73 2E 5F 69 73 44 69 72 74 79 3D 21 30 3B 74 68 69 73 2E 5F 77 72 61 70 70 65 64 54 65 78 74 3D 6E 75 6C 6C 3B 74 68 69 73 2E 5F 6C 69 6E 65 48 65 69 67 68 74 3D 65 61 28 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 2C 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2C 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 29 7D 0A 66 75 6E 63 74 69 6F 6E 20 62 61 28 61 2C 62 29 7B 62 61 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 54 69 74 6C 65 22 2C 62 2C 61 2E 74 68 65 6D 65 29 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 2E 63 61 6E 76 61 73 3B 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 66 6F 6E 74 53 69 7A 65 26 26 28 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 41 75 74 6F 46 6F 6E 74 53 69 7A 65 28 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 29 29 3B 74 68 69 73 2E 68 65 69 67 68 74 3D 74 68 69 73 2E 77 69 64 74 68 3D 6E 75 6C 6C 3B 74 68 69 73 2E 62 6F 75 6E 64 73 3D 7B 78 31 3A 6E 75 6C 6C 2C 79 31 3A 6E 75 6C 6C 2C 78 32 3A 6E 75 6C 6C 2C 79 32 3A 6E 75 6C 6C 7D 7D 66 75 6E 63 74 69 6F 6E 20 6A 61 28 61 2C 62 29 7B 6A 61 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 53 75 62 74 69 74 6C 65 22 2C 62 2C 61 2E 74 68 65 6D 65 29 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 2E 63 61 6E 76 61 73 3B 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 66 6F 6E 74 53 69 7A 65 26 26 28 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 41 75 74 6F 46 6F 6E 74 53 69 7A 65 28 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 29 29 3B 0A 74 68 69 73 2E 68 65 69 67 68 74 3D 74 68 69 73 2E 77 69 64 74 68 3D 6E 75 6C 6C 3B 74 68 69 73 2E 62 6F 75 6E 64 73 3D 7B 78 31 3A 6E 75 6C 6C 2C 79 31 3A 6E 75 6C 6C 2C 78 32 3A 6E 75 6C 6C 2C 79 32 3A 6E 75 6C 6C 7D 7D 66 75 6E 63 74 69 6F 6E 20 6B 61 28 61 2C 62 2C 63 29 7B 6B 61 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 4C 65 67 65 6E 64 22 2C 62 2C 63 29 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 2E 63 61 6E 76 61 73 3B 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 3B 74 68 69 73 2E 67 68 6F 73 74 43 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 3B 74 68 69 73 2E 69 74 65 6D 73 3D 5B 5D 3B 74 68 69 73 2E 68 65 69 67 68 74 3D 74 68 69 73 2E 77 69 64 74 68 3D 30 3B 74 68 69 73 2E 6F 72 69 65 6E 74 61 74 69 6F 6E 3D 6E 75 6C 6C 3B 74 68 69 73 2E 64 61 74 61 53 65 72 69 65 73 3D 5B 5D 3B 74 68 69 73 2E 62 6F 75 6E 64 73 3D 7B 78 31 3A 6E 75 6C 6C 2C 79 31 3A 6E 75 6C 6C 2C 78 32 3A 6E 75 6C 6C 2C 79 32 3A 6E 75 6C 6C 7D 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 66 6F 6E 74 53 69 7A 65 26 26 28 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 41 75 74 6F 46 6F 6E 74 53 69 7A 65 28 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 29 29 3B 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3D 65 61 28 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 2C 0A 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2C 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 29 3B 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 3D 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 7D 66 75 6E 63 74 69 6F 6E 20 70 61 28 61 2C 62 29 7B 70 61 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 62 29 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 2E 63 61 6E 76 61 73 3B 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 7D 66 75 6E 63 74 69 6F 6E 20 54 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 54 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 44 61 74 61 53 65 72 69 65 73 22 2C 62 2C 63 29 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 2E 63 61 6E 76 61 73 3B 74 68 69 73 2E 5F 63 74 78 3D 61 2E 63 61 6E 76 61 73 2E 63 74 78 3B 74 68 69 73 2E 69 6E 64 65 78 3D 64 3B 74 68 69 73 2E 6E 6F 44 61 74 61 50 6F 69 6E 74 73 49 6E 50 6C 6F 74 41 72 65 61 3D 30 3B 74 68 69 73 2E 69 64 3D 65 3B 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 65 5D 3D 7B 69 64 3A 65 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 64 7D 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 3D 5B 5D 3B 74 68 69 73 2E 70 6C 6F 74 55 6E 69 74 3D 5B 5D 3B 74 68 69 73 2E 61 78 69 73 59 3D 74 68 69 73 2E 61 78 69 73 58 3D 0A 6E 75 6C 6C 3B 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 66 69 6C 6C 4F 70 61 63 69 74 79 26 26 28 74 68 69 73 2E 74 79 70 65 2E 6D 61 74 63 68 28 2F 61 72 65 61 2F 69 29 3F 74 68 69 73 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3D 30 2E 37 3A 74 68 69 73 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3D 31 29 3B 74 68 69 73 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3D 74 68 69 73 2E 67 65 74 44 65 66 61 75 6C 74 41 78 69 73 50 6C 61 63 65 6D 65 6E 74 28 29 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 26 26 28 74 68 69 73 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 41 75 74 6F 46 6F 6E 74 53 69 7A 65 28 74 68 69 73 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 29 29 7D 66 75 6E 63 74 69 6F 6E 20 43 28 61 2C 62 2C 63 2C 64 29 7B 43 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 41 78 69 73 22 2C 62 2C 61 2E 74 68 65 6D 65 29 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 2E 63 61 6E 76 61 73 3B 74 68 69 73 2E 63 74 78 3D 61 2E 63 74 78 3B 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 53 74 61 72 74 50 6F 73 69 74 69 6F 6E 3D 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 3D 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3D 30 3B 74 68 69 73 2E 6C 61 62 65 6C 73 3D 5B 5D 3B 74 68 69 73 2E 5F 6C 61 62 65 6C 73 3D 6E 75 6C 6C 3B 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 3D 0A 7B 6D 69 6E 3A 49 6E 66 69 6E 69 74 79 2C 6D 61 78 3A 2D 49 6E 66 69 6E 69 74 79 2C 76 69 65 77 50 6F 72 74 4D 69 6E 3A 49 6E 66 69 6E 69 74 79 2C 76 69 65 77 50 6F 72 74 4D 61 78 3A 2D 49 6E 66 69 6E 69 74 79 2C 6D 69 6E 44 69 66 66 3A 49 6E 66 69 6E 69 74 79 7D 3B 22 61 78 69 73 58 22 3D 3D 3D 63 3F 28 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 3D 74 68 69 73 2E 63 68 61 72 74 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 5B 63 5D 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 7C 7C 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 6E 75 6C 6C 29 29 3A 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 3D 22 6C 65 66 74 22 3D 3D 3D 64 7C 7C 22 74 6F 70 22 3D 3D 3D 64 3F 74 68 69 73 2E 63 68 61 72 74 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 3A 74 68 69 73 2E 63 68 61 72 74 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 32 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 26 26 28 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 41 75 74 6F 46 6F 6E 74 53 69 7A 65 28 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 29 29 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 26 26 28 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3D 0A 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 41 75 74 6F 46 6F 6E 74 53 69 7A 65 28 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 29 29 3B 74 68 69 73 2E 74 79 70 65 3D 63 3B 22 61 78 69 73 58 22 21 3D 3D 63 7C 7C 62 26 26 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 62 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 7C 7C 28 74 68 69 73 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3D 30 29 3B 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 3D 64 3B 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 3D 7B 78 31 3A 6E 75 6C 6C 2C 79 31 3A 6E 75 6C 6C 2C 78 32 3A 6E 75 6C 6C 2C 79 32 3A 6E 75 6C 6C 2C 77 69 64 74 68 3A 6E 75 6C 6C 7D 3B 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3D 28 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 25 33 36 30 2B 33 36 30 29 25 33 36 30 3B 39 30 3C 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 26 26 32 37 30 3E 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 2D 3D 31 38 30 3A 31 38 30 3C 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 26 26 32 37 30 3E 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 2D 3D 31 38 30 3A 32 37 30 3C 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 26 26 33 36 30 3E 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 26 26 28 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 2D 3D 33 36 30 29 3B 69 66 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 73 74 72 69 70 4C 69 6E 65 73 26 26 30 3C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 73 74 72 69 70 4C 69 6E 65 73 2E 6C 65 6E 67 74 68 29 66 6F 72 28 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 3D 0A 5B 5D 2C 62 3D 30 3B 62 3C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 73 74 72 69 70 4C 69 6E 65 73 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 2E 70 75 73 68 28 6E 65 77 20 6C 61 28 74 68 69 73 2E 63 68 61 72 74 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 73 74 72 69 70 4C 69 6E 65 73 5B 62 5D 2C 61 2E 74 68 65 6D 65 2C 2B 2B 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6C 61 73 74 4F 62 6A 65 63 74 49 64 2C 74 68 69 73 29 29 3B 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 3D 6E 75 6C 6C 3B 74 68 69 73 2E 68 61 73 4F 70 74 69 6F 6E 43 68 61 6E 67 65 64 28 22 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 22 29 26 26 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 76 6F 69 64 20 30 2C 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 6E 75 6C 6C 29 3B 74 68 69 73 2E 68 61 73 4F 70 74 69 6F 6E 43 68 61 6E 67 65 64 28 22 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 22 29 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 7C 7C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 0A 6E 75 6C 6C 3A 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3B 74 68 69 73 2E 68 61 73 4F 70 74 69 6F 6E 43 68 61 6E 67 65 64 28 22 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 22 29 26 26 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 26 26 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 76 6F 69 64 20 30 2C 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 6E 75 6C 6C 29 3B 74 68 69 73 2E 68 61 73 4F 70 74 69 6F 6E 43 68 61 6E 67 65 64 28 22 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 22 29 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 7C 7C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 6E 75 6C 6C 3A 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3B 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 26 26 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 0A 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2C 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 29 29 3B 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 26 26 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 26 26 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2C 74 68 69 73 2E 6D 61 78 69 6D 75 6D 29 29 3B 74 68 69 73 2E 74 72 61 63 6B 43 68 61 6E 67 65 73 28 22 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 22 29 3B 74 68 69 73 2E 74 72 61 63 6B 43 68 61 6E 67 65 73 28 22 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 22 29 7D 66 75 6E 63 74 69 6F 6E 20 6C 61 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 6C 61 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 53 74 72 69 70 4C 69 6E 65 22 2C 62 2C 63 2C 65 29 3B 74 68 69 73 2E 69 64 3D 64 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 3B 74 68 69 73 2E 6C 61 62 65 6C 3D 74 68 69 73 2E 6C 61 62 65 6C 3B 74 68 69 73 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 3D 22 70 69 78 65 6C 22 3B 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 73 74 61 72 74 56 61 6C 75 65 26 26 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 65 6E 64 56 61 6C 75 65 26 26 28 74 68 69 73 2E 76 61 6C 75 65 3D 28 28 74 68 69 73 2E 73 74 61 72 74 56 61 6C 75 65 2E 67 65 74 54 69 6D 65 3F 0A 74 68 69 73 2E 73 74 61 72 74 56 61 6C 75 65 2E 67 65 74 54 69 6D 65 28 29 3A 74 68 69 73 2E 73 74 61 72 74 56 61 6C 75 65 29 2B 28 74 68 69 73 2E 65 6E 64 56 61 6C 75 65 2E 67 65 74 54 69 6D 65 3F 74 68 69 73 2E 65 6E 64 56 61 6C 75 65 2E 67 65 74 54 69 6D 65 28 29 3A 74 68 69 73 2E 65 6E 64 56 61 6C 75 65 29 29 2F 32 2C 74 68 69 73 2E 74 68 69 63 6B 6E 65 73 73 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 65 6E 64 56 61 6C 75 65 2D 74 68 69 73 2E 73 74 61 72 74 56 61 6C 75 65 29 2C 74 68 69 73 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 3D 22 76 61 6C 75 65 22 29 7D 66 75 6E 63 74 69 6F 6E 20 52 28 61 2C 62 2C 63 29 7B 52 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 54 6F 6F 6C 54 69 70 22 2C 62 2C 63 29 3B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 2E 63 61 6E 76 61 73 3B 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3D 74 68 69 73 2E 63 75 72 72 65 6E 74 53 65 72 69 65 73 49 6E 64 65 78 3D 2D 31 3B 74 68 69 73 2E 5F 74 69 6D 65 72 49 64 3D 30 3B 74 68 69 73 2E 5F 70 72 65 76 59 3D 74 68 69 73 2E 5F 70 72 65 76 58 3D 4E 61 4E 3B 74 68 69 73 2E 5F 69 6E 69 74 69 61 6C 69 7A 65 28 29 7D 66 75 6E 63 74 69 6F 6E 20 61 61 28 61 29 7B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 6C 61 73 74 4F 62 6A 65 63 74 49 64 3D 30 3B 74 68 69 73 2E 6F 62 6A 65 63 74 4D 61 70 3D 5B 5D 3B 74 68 69 73 2E 72 65 63 74 61 6E 67 75 6C 61 72 52 65 67 69 6F 6E 45 76 65 6E 74 53 75 62 73 63 72 69 70 74 69 6F 6E 73 3D 0A 5B 5D 3B 74 68 69 73 2E 70 72 65 76 69 6F 75 73 44 61 74 61 50 6F 69 6E 74 45 76 65 6E 74 4F 62 6A 65 63 74 3D 6E 75 6C 6C 3B 74 68 69 73 2E 67 68 6F 73 74 43 61 6E 76 61 73 3D 56 28 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 2C 74 68 69 73 2E 63 68 61 72 74 2E 68 65 69 67 68 74 29 3B 74 68 69 73 2E 67 68 6F 73 74 43 74 78 3D 74 68 69 73 2E 67 68 6F 73 74 43 61 6E 76 61 73 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 3B 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 3D 5B 5D 7D 66 75 6E 63 74 69 6F 6E 20 63 61 28 61 29 7B 76 61 72 20 62 3B 61 26 26 64 61 5B 61 5D 26 26 28 62 3D 64 61 5B 61 5D 29 3B 63 61 2E 62 61 73 65 2E 63 6F 6E 73 74 72 75 63 74 6F 72 2E 63 61 6C 6C 28 74 68 69 73 2C 22 43 75 6C 74 75 72 65 49 6E 66 6F 22 2C 62 29 7D 66 75 6E 63 74 69 6F 6E 20 71 61 28 61 29 7B 74 68 69 73 2E 63 68 61 72 74 3D 61 3B 74 68 69 73 2E 63 74 78 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 73 3D 5B 5D 3B 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 3D 6E 75 6C 6C 7D 76 61 72 20 74 3D 21 21 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 63 61 6E 76 61 73 22 29 2E 67 65 74 43 6F 6E 74 65 78 74 2C 6D 61 3D 7B 43 68 61 72 74 3A 7B 77 69 64 74 68 3A 35 30 30 2C 68 65 69 67 68 74 3A 34 30 30 2C 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3A 21 31 2C 7A 6F 6F 6D 54 79 70 65 3A 22 78 22 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 22 77 68 69 74 65 22 2C 0A 74 68 65 6D 65 3A 22 74 68 65 6D 65 31 22 2C 61 6E 69 6D 61 74 69 6F 6E 45 6E 61 62 6C 65 64 3A 21 31 2C 61 6E 69 6D 61 74 69 6F 6E 44 75 72 61 74 69 6F 6E 3A 31 32 30 30 2C 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 6E 75 6C 6C 2C 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 6E 75 6C 6C 2C 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 63 6F 6C 6F 72 53 65 74 3A 22 63 6F 6C 6F 72 53 65 74 31 22 2C 63 75 6C 74 75 72 65 3A 22 65 6E 22 2C 63 72 65 64 69 74 54 65 78 74 3A 22 22 2C 69 6E 74 65 72 61 63 74 69 76 69 74 79 45 6E 61 62 6C 65 64 3A 21 30 2C 65 78 70 6F 72 74 45 6E 61 62 6C 65 64 3A 21 31 2C 65 78 70 6F 72 74 46 69 6C 65 4E 61 6D 65 3A 22 43 68 61 72 74 22 2C 72 61 6E 67 65 43 68 61 6E 67 69 6E 67 3A 6E 75 6C 6C 2C 72 61 6E 67 65 43 68 61 6E 67 65 64 3A 6E 75 6C 6C 7D 2C 54 69 74 6C 65 3A 7B 70 61 64 64 69 6E 67 3A 30 2C 74 65 78 74 3A 6E 75 6C 6C 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 53 69 7A 65 3A 32 30 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 43 61 6C 69 62 72 69 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 66 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 30 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 63 6F 72 6E 65 72 52 61 64 69 75 73 3A 30 2C 0A 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 6D 61 72 67 69 6E 3A 35 2C 77 72 61 70 3A 21 30 2C 6D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3A 21 31 7D 2C 53 75 62 74 69 74 6C 65 3A 7B 70 61 64 64 69 6E 67 3A 30 2C 74 65 78 74 3A 6E 75 6C 6C 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 53 69 7A 65 3A 31 34 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 43 61 6C 69 62 72 69 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 66 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 30 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 63 6F 72 6E 65 72 52 61 64 69 75 73 3A 30 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 6D 61 72 67 69 6E 3A 32 2C 77 72 61 70 3A 21 30 2C 6D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3A 21 31 7D 2C 4C 65 67 65 6E 64 3A 7B 6E 61 6D 65 3A 6E 75 6C 6C 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 72 69 67 68 74 22 2C 66 6F 6E 74 53 69 7A 65 3A 31 34 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 63 61 6C 69 62 72 69 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 0A 66 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 63 75 72 73 6F 72 3A 6E 75 6C 6C 2C 69 74 65 6D 6D 6F 75 73 65 6F 76 65 72 3A 6E 75 6C 6C 2C 69 74 65 6D 6D 6F 75 73 65 6F 75 74 3A 6E 75 6C 6C 2C 69 74 65 6D 6D 6F 75 73 65 6D 6F 76 65 3A 6E 75 6C 6C 2C 69 74 65 6D 63 6C 69 63 6B 3A 6E 75 6C 6C 2C 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3A 21 31 2C 72 65 76 65 72 73 65 64 3A 21 31 2C 6D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 6D 61 78 48 65 69 67 68 74 3A 6E 75 6C 6C 2C 69 74 65 6D 4D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 69 74 65 6D 57 69 64 74 68 3A 6E 75 6C 6C 2C 69 74 65 6D 57 72 61 70 3A 21 30 2C 69 74 65 6D 54 65 78 74 46 6F 72 6D 61 74 74 65 72 3A 6E 75 6C 6C 7D 2C 54 6F 6F 6C 54 69 70 3A 7B 65 6E 61 62 6C 65 64 3A 21 30 2C 73 68 61 72 65 64 3A 21 31 2C 61 6E 69 6D 61 74 69 6F 6E 45 6E 61 62 6C 65 64 3A 21 30 2C 63 6F 6E 74 65 6E 74 3A 6E 75 6C 6C 2C 63 6F 6E 74 65 6E 74 46 6F 72 6D 61 74 74 65 72 3A 6E 75 6C 6C 2C 72 65 76 65 72 73 65 64 3A 21 31 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 32 2C 63 6F 72 6E 65 72 52 61 64 69 75 73 3A 35 2C 66 6F 6E 74 53 69 7A 65 3A 31 34 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 43 61 6C 69 62 72 69 2C 20 41 72 69 61 6C 2C 20 47 65 6F 72 67 69 61 2C 20 73 65 72 69 66 3B 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 66 6F 6E 74 53 74 79 6C 65 3A 22 69 74 61 6C 69 63 22 7D 2C 0A 41 78 69 73 3A 7B 6D 69 6E 69 6D 75 6D 3A 6E 75 6C 6C 2C 6D 61 78 69 6D 75 6D 3A 6E 75 6C 6C 2C 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 6E 75 6C 6C 2C 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 6E 75 6C 6C 2C 69 6E 74 65 72 76 61 6C 3A 6E 75 6C 6C 2C 69 6E 74 65 72 76 61 6C 54 79 70 65 3A 6E 75 6C 6C 2C 74 69 74 6C 65 3A 6E 75 6C 6C 2C 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 3A 32 30 2C 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 3A 22 61 72 69 61 6C 22 2C 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 74 69 74 6C 65 46 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 6C 61 62 65 6C 41 6E 67 6C 65 3A 30 2C 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 22 61 72 69 61 6C 22 2C 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 32 2C 6C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 6C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 6C 61 62 65 6C 41 75 74 6F 46 69 74 3A 21 31 2C 6C 61 62 65 6C 57 72 61 70 3A 21 30 2C 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3A 6E 75 6C 6C 2C 70 72 65 66 69 78 3A 22 22 2C 73 75 66 66 69 78 3A 22 22 2C 69 6E 63 6C 75 64 65 5A 65 72 6F 3A 21 30 2C 74 69 63 6B 4C 65 6E 67 74 68 3A 35 2C 74 69 63 6B 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 3A 31 2C 0A 6C 69 6E 65 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 31 2C 6C 69 6E 65 44 61 73 68 54 79 70 65 3A 22 73 6F 6C 69 64 22 2C 67 72 69 64 43 6F 6C 6F 72 3A 22 41 30 41 30 41 30 22 2C 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3A 30 2C 67 72 69 64 44 61 73 68 54 79 70 65 3A 22 73 6F 6C 69 64 22 2C 69 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 6E 75 6C 6C 2C 6D 61 72 67 69 6E 3A 32 2C 73 74 72 69 70 4C 69 6E 65 73 3A 5B 5D 7D 2C 53 74 72 69 70 4C 69 6E 65 3A 7B 76 61 6C 75 65 3A 6E 75 6C 6C 2C 73 74 61 72 74 56 61 6C 75 65 3A 6E 75 6C 6C 2C 65 6E 64 56 61 6C 75 65 3A 6E 75 6C 6C 2C 63 6F 6C 6F 72 3A 22 6F 72 61 6E 67 65 22 2C 6F 70 61 63 69 74 79 3A 6E 75 6C 6C 2C 74 68 69 63 6B 6E 65 73 73 3A 32 2C 6C 69 6E 65 44 61 73 68 54 79 70 65 3A 22 73 6F 6C 69 64 22 2C 6C 61 62 65 6C 3A 22 22 2C 6C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 22 23 45 45 45 45 45 45 22 2C 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 22 61 72 69 61 6C 22 2C 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 6F 72 61 6E 67 65 22 2C 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 32 2C 6C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 6C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3A 6E 75 6C 6C 2C 73 68 6F 77 4F 6E 54 6F 70 3A 21 31 7D 2C 44 61 74 61 53 65 72 69 65 73 3A 7B 6E 61 6D 65 3A 6E 75 6C 6C 2C 0A 64 61 74 61 50 6F 69 6E 74 73 3A 6E 75 6C 6C 2C 6C 61 62 65 6C 3A 22 22 2C 62 65 76 65 6C 45 6E 61 62 6C 65 64 3A 21 31 2C 68 69 67 68 6C 69 67 68 74 45 6E 61 62 6C 65 64 3A 21 30 2C 63 75 72 73 6F 72 3A 6E 75 6C 6C 2C 69 6E 64 65 78 4C 61 62 65 6C 3A 22 22 2C 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 3A 22 61 75 74 6F 22 2C 69 6E 64 65 78 4C 61 62 65 6C 4F 72 69 65 6E 74 61 74 69 6F 6E 3A 22 68 6F 72 69 7A 6F 6E 74 61 6C 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 32 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 22 41 72 69 61 6C 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 31 2C 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 44 61 73 68 54 79 70 65 3A 22 73 6F 6C 69 64 22 2C 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 69 6E 64 65 78 4C 61 62 65 6C 57 72 61 70 3A 21 30 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3A 6E 75 6C 6C 2C 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 32 2C 6C 69 6E 65 44 61 73 68 54 79 70 65 3A 22 73 6F 6C 69 64 22 2C 0A 63 6F 6C 6F 72 3A 6E 75 6C 6C 2C 72 69 73 69 6E 67 43 6F 6C 6F 72 3A 22 77 68 69 74 65 22 2C 66 69 6C 6C 4F 70 61 63 69 74 79 3A 6E 75 6C 6C 2C 73 74 61 72 74 41 6E 67 6C 65 3A 30 2C 72 61 64 69 75 73 3A 6E 75 6C 6C 2C 69 6E 6E 65 72 52 61 64 69 75 73 3A 6E 75 6C 6C 2C 74 79 70 65 3A 22 63 6F 6C 75 6D 6E 22 2C 78 56 61 6C 75 65 54 79 70 65 3A 22 6E 75 6D 62 65 72 22 2C 61 78 69 73 59 54 79 70 65 3A 22 70 72 69 6D 61 72 79 22 2C 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 6E 75 6C 6C 2C 79 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 6E 75 6C 6C 2C 7A 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 6E 75 6C 6C 2C 70 65 72 63 65 6E 74 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 6E 75 6C 6C 2C 73 68 6F 77 49 6E 4C 65 67 65 6E 64 3A 6E 75 6C 6C 2C 6C 65 67 65 6E 64 4D 61 72 6B 65 72 54 79 70 65 3A 6E 75 6C 6C 2C 6C 65 67 65 6E 64 4D 61 72 6B 65 72 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 6C 65 67 65 6E 64 54 65 78 74 3A 6E 75 6C 6C 2C 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 6E 75 6C 6C 2C 6D 61 72 6B 65 72 54 79 70 65 3A 22 63 69 72 63 6C 65 22 2C 6D 61 72 6B 65 72 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 6D 61 72 6B 65 72 53 69 7A 65 3A 6E 75 6C 6C 2C 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 6E 75 6C 6C 2C 6D 6F 75 73 65 6F 76 65 72 3A 6E 75 6C 6C 2C 6D 6F 75 73 65 6F 75 74 3A 6E 75 6C 6C 2C 0A 6D 6F 75 73 65 6D 6F 76 65 3A 6E 75 6C 6C 2C 63 6C 69 63 6B 3A 6E 75 6C 6C 2C 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 6E 75 6C 6C 2C 76 69 73 69 62 6C 65 3A 21 30 7D 2C 54 65 78 74 42 6C 6F 63 6B 3A 7B 78 3A 30 2C 79 3A 30 2C 77 69 64 74 68 3A 6E 75 6C 6C 2C 68 65 69 67 68 74 3A 6E 75 6C 6C 2C 6D 61 78 57 69 64 74 68 3A 6E 75 6C 6C 2C 6D 61 78 48 65 69 67 68 74 3A 6E 75 6C 6C 2C 70 61 64 64 69 6E 67 3A 30 2C 61 6E 67 6C 65 3A 30 2C 74 65 78 74 3A 22 22 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 53 69 7A 65 3A 31 32 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 63 61 6C 69 62 72 69 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 66 6F 6E 74 53 74 79 6C 65 3A 22 6E 6F 72 6D 61 6C 22 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 30 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 2C 63 6F 72 6E 65 72 52 61 64 69 75 73 3A 30 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 2C 43 75 6C 74 75 72 65 49 6E 66 6F 3A 7B 64 65 63 69 6D 61 6C 53 65 70 61 72 61 74 6F 72 3A 22 2E 22 2C 64 69 67 69 74 47 72 6F 75 70 53 65 70 61 72 61 74 6F 72 3A 22 2C 22 2C 7A 6F 6F 6D 54 65 78 74 3A 22 5A 6F 6F 6D 22 2C 70 61 6E 54 65 78 74 3A 22 50 61 6E 22 2C 72 65 73 65 74 54 65 78 74 3A 22 52 65 73 65 74 22 2C 6D 65 6E 75 54 65 78 74 3A 22 4D 6F 72 65 20 4F 70 74 69 6F 6E 73 22 2C 73 61 76 65 4A 50 47 54 65 78 74 3A 22 53 61 76 65 20 61 73 20 4A 50 45 47 22 2C 0A 73 61 76 65 50 4E 47 54 65 78 74 3A 22 53 61 76 65 20 61 73 20 50 4E 47 22 2C 64 61 79 73 3A 22 53 75 6E 64 61 79 20 4D 6F 6E 64 61 79 20 54 75 65 73 64 61 79 20 57 65 64 6E 65 73 64 61 79 20 54 68 75 72 73 64 61 79 20 46 72 69 64 61 79 20 53 61 74 75 72 64 61 79 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 73 68 6F 72 74 44 61 79 73 3A 22 53 75 6E 20 4D 6F 6E 20 54 75 65 20 57 65 64 20 54 68 75 20 46 72 69 20 53 61 74 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 6D 6F 6E 74 68 73 3A 22 4A 61 6E 75 61 72 79 20 46 65 62 72 75 61 72 79 20 4D 61 72 63 68 20 41 70 72 69 6C 20 4D 61 79 20 4A 75 6E 65 20 4A 75 6C 79 20 41 75 67 75 73 74 20 53 65 70 74 65 6D 62 65 72 20 4F 63 74 6F 62 65 72 20 4E 6F 76 65 6D 62 65 72 20 44 65 63 65 6D 62 65 72 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 73 68 6F 72 74 4D 6F 6E 74 68 73 3A 22 4A 61 6E 20 46 65 62 20 4D 61 72 20 41 70 72 20 4D 61 79 20 4A 75 6E 20 4A 75 6C 20 41 75 67 20 53 65 70 20 4F 63 74 20 4E 6F 76 20 44 65 63 22 2E 73 70 6C 69 74 28 22 20 22 29 7D 7D 2C 64 61 3D 7B 65 6E 3A 7B 7D 7D 2C 57 3D 7B 63 6F 6C 6F 72 53 65 74 31 3A 22 23 33 36 39 45 41 44 20 23 43 32 34 36 34 32 20 23 37 46 36 30 38 34 20 23 38 36 42 34 30 32 20 23 41 32 44 31 43 46 20 23 43 38 42 36 33 31 20 23 36 44 42 43 45 42 20 23 35 32 35 31 34 45 20 23 34 46 38 31 42 43 20 23 41 30 36 34 41 31 20 23 46 37 39 36 34 37 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 63 6F 6C 6F 72 53 65 74 32 3A 22 23 34 46 38 31 42 43 20 23 43 30 35 30 34 45 20 23 39 42 42 42 35 38 20 23 32 33 42 46 41 41 20 23 38 30 36 34 41 31 20 23 34 41 41 43 43 35 20 23 46 37 39 36 34 37 20 23 33 33 35 35 38 42 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 0A 63 6F 6C 6F 72 53 65 74 33 3A 22 23 38 43 41 31 42 43 20 23 33 36 38 34 35 43 20 23 30 31 37 45 38 32 20 23 38 43 42 39 44 30 20 23 37 30 38 43 39 38 20 23 39 34 38 33 38 44 20 23 46 30 38 38 39 31 20 23 30 33 36 36 41 37 20 23 30 30 38 32 37 36 20 23 45 45 37 37 35 37 20 23 45 35 42 41 33 41 20 23 46 32 39 39 30 42 20 23 30 33 35 35 37 42 20 23 37 38 32 39 37 30 22 2E 73 70 6C 69 74 28 22 20 22 29 7D 2C 59 3D 7B 74 68 65 6D 65 31 3A 7B 43 68 61 72 74 3A 7B 63 6F 6C 6F 72 53 65 74 3A 22 63 6F 6C 6F 72 53 65 74 31 22 7D 2C 54 69 74 6C 65 3A 7B 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6C 69 62 72 69 2C 20 4F 70 74 69 6D 61 2C 20 43 61 6E 64 61 72 61 2C 20 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 66 6F 6E 74 53 69 7A 65 3A 33 33 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 23 33 41 33 41 33 41 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 62 6F 6C 64 22 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 6D 61 72 67 69 6E 3A 35 7D 2C 53 75 62 74 69 74 6C 65 3A 7B 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6C 69 62 72 69 2C 20 4F 70 74 69 6D 61 2C 20 43 61 6E 64 61 72 61 2C 20 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 66 6F 6E 74 53 69 7A 65 3A 31 36 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 23 33 41 33 41 33 41 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 62 6F 6C 64 22 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 0A 6D 61 72 67 69 6E 3A 35 7D 2C 41 78 69 73 3A 7B 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 3A 32 36 2C 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 3A 22 23 36 36 36 36 36 36 22 2C 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6C 69 62 72 69 2C 20 4F 70 74 69 6D 61 2C 20 43 61 6E 64 61 72 61 2C 20 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6C 69 62 72 69 2C 20 4F 70 74 69 6D 61 2C 20 43 61 6E 64 61 72 61 2C 20 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 38 2C 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 74 69 63 6B 43 6F 6C 6F 72 3A 22 23 42 42 42 42 42 42 22 2C 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 3A 32 2C 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3A 32 2C 67 72 69 64 43 6F 6C 6F 72 3A 22 23 42 42 42 42 42 42 22 2C 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 32 2C 6C 69 6E 65 43 6F 6C 6F 72 3A 22 23 42 42 42 42 42 42 22 7D 2C 4C 65 67 65 6E 64 3A 7B 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 62 6F 74 74 6F 6D 22 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 6D 6F 6E 6F 73 70 61 63 65 2C 20 73 61 6E 73 2D 73 65 72 69 66 2C 61 72 69 61 6C 20 62 6C 61 63 6B 22 3A 22 63 61 6C 69 62 72 69 22 7D 2C 44 61 74 61 53 65 72 69 65 73 3A 7B 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 0A 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6C 69 62 72 69 2C 20 4F 70 74 69 6D 61 2C 20 43 61 6E 64 61 72 61 2C 20 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 38 2C 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 31 7D 7D 2C 74 68 65 6D 65 32 3A 7B 43 68 61 72 74 3A 7B 63 6F 6C 6F 72 53 65 74 3A 22 63 6F 6C 6F 72 53 65 74 32 22 7D 2C 54 69 74 6C 65 3A 7B 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 69 6D 70 61 63 74 2C 20 63 68 61 72 63 6F 61 6C 2C 20 61 72 69 61 6C 20 62 6C 61 63 6B 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 2C 66 6F 6E 74 53 69 7A 65 3A 33 32 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 23 33 33 33 33 33 33 22 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 6D 61 72 67 69 6E 3A 35 7D 2C 53 75 62 74 69 74 6C 65 3A 7B 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 69 6D 70 61 63 74 2C 20 63 68 61 72 63 6F 61 6C 2C 20 61 72 69 61 6C 20 62 6C 61 63 6B 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 2C 66 6F 6E 74 53 69 7A 65 3A 31 34 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 23 33 33 33 33 33 33 22 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 6D 61 72 67 69 6E 3A 35 7D 2C 41 78 69 73 3A 7B 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 3A 32 32 2C 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 3A 22 72 67 62 28 39 38 2C 39 38 2C 39 38 29 22 2C 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 6D 6F 6E 6F 73 70 61 63 65 2C 20 73 61 6E 73 2D 73 65 72 69 66 2C 61 72 69 61 6C 20 62 6C 61 63 6B 22 3A 0A 22 61 72 69 61 6C 22 2C 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 3A 22 62 6F 6C 64 22 2C 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 6D 6F 6E 6F 73 70 61 63 65 2C 20 43 6F 75 72 69 65 72 20 4E 65 77 2C 20 43 6F 75 72 69 65 72 22 3A 22 61 72 69 61 6C 22 2C 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 36 2C 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 6C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3A 22 62 6F 6C 64 22 2C 74 69 63 6B 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 3A 32 2C 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3A 32 2C 67 72 69 64 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 6C 69 6E 65 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 30 7D 2C 4C 65 67 65 6E 64 3A 7B 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 62 6F 74 74 6F 6D 22 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 6D 6F 6E 6F 73 70 61 63 65 2C 20 73 61 6E 73 2D 73 65 72 69 66 2C 61 72 69 61 6C 20 62 6C 61 63 6B 22 3A 22 61 72 69 61 6C 22 7D 2C 44 61 74 61 53 65 72 69 65 73 3A 7B 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 6F 75 72 69 65 72 20 4E 65 77 2C 20 43 6F 75 72 69 65 72 2C 20 6D 6F 6E 6F 73 70 61 63 65 22 3A 22 61 72 69 61 6C 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3A 22 62 6F 6C 64 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 38 2C 0A 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 31 7D 7D 2C 74 68 65 6D 65 33 3A 7B 43 68 61 72 74 3A 7B 63 6F 6C 6F 72 53 65 74 3A 22 63 6F 6C 6F 72 53 65 74 31 22 7D 2C 54 69 74 6C 65 3A 7B 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6E 64 61 72 61 2C 20 4F 70 74 69 6D 61 2C 20 54 72 65 62 75 63 68 65 74 20 4D 53 2C 20 48 65 6C 76 65 74 69 63 61 20 4E 65 75 65 2C 20 48 65 6C 76 65 74 69 63 61 2C 20 54 72 65 62 75 63 68 65 74 20 4D 53 2C 20 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 66 6F 6E 74 53 69 7A 65 3A 33 32 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 23 33 41 33 41 33 41 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 62 6F 6C 64 22 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 6D 61 72 67 69 6E 3A 35 7D 2C 53 75 62 74 69 74 6C 65 3A 7B 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6E 64 61 72 61 2C 20 4F 70 74 69 6D 61 2C 20 54 72 65 62 75 63 68 65 74 20 4D 53 2C 20 48 65 6C 76 65 74 69 63 61 20 4E 65 75 65 2C 20 48 65 6C 76 65 74 69 63 61 2C 20 54 72 65 62 75 63 68 65 74 20 4D 53 2C 20 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 66 6F 6E 74 53 69 7A 65 3A 31 36 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 22 23 33 41 33 41 33 41 22 2C 66 6F 6E 74 57 65 69 67 68 74 3A 22 62 6F 6C 64 22 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 74 6F 70 22 2C 6D 61 72 67 69 6E 3A 35 7D 2C 41 78 69 73 3A 7B 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 3A 32 32 2C 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 3A 22 72 67 62 28 39 38 2C 39 38 2C 39 38 29 22 2C 0A 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 43 61 6C 69 62 72 69 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6C 69 62 72 69 2C 20 4F 70 74 69 6D 61 2C 20 43 61 6E 64 61 72 61 2C 20 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 22 63 61 6C 69 62 72 69 22 2C 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 38 2C 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 74 69 63 6B 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 3A 32 2C 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3A 32 2C 67 72 69 64 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 32 2C 6C 69 6E 65 43 6F 6C 6F 72 3A 22 67 72 65 79 22 7D 2C 4C 65 67 65 6E 64 3A 7B 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 22 62 6F 74 74 6F 6D 22 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 6D 6F 6E 6F 73 70 61 63 65 2C 20 73 61 6E 73 2D 73 65 72 69 66 2C 61 72 69 61 6C 20 62 6C 61 63 6B 22 3A 22 63 61 6C 69 62 72 69 22 7D 2C 44 61 74 61 53 65 72 69 65 73 3A 7B 62 65 76 65 6C 45 6E 61 62 6C 65 64 3A 21 30 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 22 67 72 65 79 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 74 3F 22 43 61 6E 64 61 72 61 2C 20 4F 70 74 69 6D 61 2C 20 43 61 6C 69 62 72 69 2C 20 56 65 72 64 61 6E 61 2C 20 47 65 6E 65 76 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 22 3A 0A 22 63 61 6C 69 62 72 69 22 2C 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 38 2C 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 3A 22 6C 69 67 68 74 67 72 65 79 22 2C 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 32 7D 7D 7D 2C 44 3D 7B 6E 75 6D 62 65 72 44 75 72 61 74 69 6F 6E 3A 31 2C 79 65 61 72 44 75 72 61 74 69 6F 6E 3A 33 31 34 34 39 36 45 35 2C 6D 6F 6E 74 68 44 75 72 61 74 69 6F 6E 3A 32 35 39 32 45 36 2C 77 65 65 6B 44 75 72 61 74 69 6F 6E 3A 36 30 34 38 45 35 2C 64 61 79 44 75 72 61 74 69 6F 6E 3A 38 36 34 45 35 2C 68 6F 75 72 44 75 72 61 74 69 6F 6E 3A 33 36 45 35 2C 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 3A 36 45 34 2C 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 3A 31 45 33 2C 6D 69 6C 6C 69 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 3A 31 2C 64 61 79 4F 66 57 65 65 6B 46 72 6F 6D 49 6E 74 3A 22 53 75 6E 64 61 79 20 4D 6F 6E 64 61 79 20 54 75 65 73 64 61 79 20 57 65 64 6E 65 73 64 61 79 20 54 68 75 72 73 64 61 79 20 46 72 69 64 61 79 20 53 61 74 75 72 64 61 79 22 2E 73 70 6C 69 74 28 22 20 22 29 7D 2C 77 61 3D 7B 7D 2C 55 3D 6E 75 6C 6C 2C 72 61 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 2F 44 7B 31 2C 34 7D 7C 4D 7B 31 2C 34 7D 7C 59 7B 31 2C 34 7D 7C 68 7B 31 2C 32 7D 7C 48 7B 31 2C 32 7D 7C 6D 7B 31 2C 32 7D 7C 73 7B 31 2C 32 7D 7C 66 7B 31 2C 33 7D 7C 74 7B 31 2C 32 7D 7C 54 7B 31 2C 32 7D 7C 4B 7C 7A 7B 31 2C 33 7D 7C 22 5B 5E 22 5D 2A 22 7C 27 5B 5E 27 5D 2A 27 2F 67 2C 62 3D 22 53 75 6E 64 61 79 20 4D 6F 6E 64 61 79 20 54 75 65 73 64 61 79 20 57 65 64 6E 65 73 64 61 79 20 54 68 75 72 73 64 61 79 20 46 72 69 64 61 79 20 53 61 74 75 72 64 61 79 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 0A 63 3D 22 53 75 6E 20 4D 6F 6E 20 54 75 65 20 57 65 64 20 54 68 75 20 46 72 69 20 53 61 74 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 64 3D 22 4A 61 6E 75 61 72 79 20 46 65 62 72 75 61 72 79 20 4D 61 72 63 68 20 41 70 72 69 6C 20 4D 61 79 20 4A 75 6E 65 20 4A 75 6C 79 20 41 75 67 75 73 74 20 53 65 70 74 65 6D 62 65 72 20 4F 63 74 6F 62 65 72 20 4E 6F 76 65 6D 62 65 72 20 44 65 63 65 6D 62 65 72 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 65 3D 22 4A 61 6E 20 46 65 62 20 4D 61 72 20 41 70 72 20 4D 61 79 20 4A 75 6E 20 4A 75 6C 20 41 75 67 20 53 65 70 20 4F 63 74 20 4E 6F 76 20 44 65 63 22 2E 73 70 6C 69 74 28 22 20 22 29 2C 66 3D 2F 5C 62 28 3F 3A 5B 50 4D 43 45 41 5D 5B 53 44 50 5D 54 7C 28 3F 3A 50 61 63 69 66 69 63 7C 4D 6F 75 6E 74 61 69 6E 7C 43 65 6E 74 72 61 6C 7C 45 61 73 74 65 72 6E 7C 41 74 6C 61 6E 74 69 63 29 20 28 3F 3A 53 74 61 6E 64 61 72 64 7C 44 61 79 6C 69 67 68 74 7C 50 72 65 76 61 69 6C 69 6E 67 29 20 54 69 6D 65 7C 28 3F 3A 47 4D 54 7C 55 54 43 29 28 3F 3A 5B 2D 2B 5D 5C 64 7B 34 7D 29 3F 29 5C 62 2F 67 2C 67 3D 2F 5B 5E 2D 2B 5C 64 41 2D 5A 5D 2F 67 3B 72 65 74 75 72 6E 20 66 75 6E 63 74 69 6F 6E 28 6B 2C 70 2C 68 29 7B 76 61 72 20 6C 3D 68 3F 68 2E 64 61 79 73 3A 62 2C 6D 3D 68 3F 68 2E 6D 6F 6E 74 68 73 3A 64 2C 6E 3D 68 3F 68 2E 73 68 6F 72 74 44 61 79 73 3A 63 2C 71 3D 68 3F 68 2E 73 68 6F 72 74 4D 6F 6E 74 68 73 3A 65 3B 68 3D 22 22 3B 76 61 72 20 72 3D 21 31 3B 6B 3D 6B 26 26 6B 2E 67 65 74 54 69 6D 65 3F 6B 3A 6B 3F 6E 65 77 20 44 61 74 65 28 6B 29 3A 6E 65 77 20 44 61 74 65 3B 0A 69 66 28 69 73 4E 61 4E 28 6B 29 29 74 68 72 6F 77 20 53 79 6E 74 61 78 45 72 72 6F 72 28 22 69 6E 76 61 6C 69 64 20 64 61 74 65 22 29 3B 22 55 54 43 3A 22 3D 3D 3D 70 2E 73 6C 69 63 65 28 30 2C 34 29 26 26 28 70 3D 70 2E 73 6C 69 63 65 28 34 29 2C 72 3D 21 30 29 3B 68 3D 72 3F 22 67 65 74 55 54 43 22 3A 22 67 65 74 22 3B 76 61 72 20 73 3D 6B 5B 68 2B 22 44 61 74 65 22 5D 28 29 2C 77 3D 6B 5B 68 2B 22 44 61 79 22 5D 28 29 2C 76 3D 6B 5B 68 2B 22 4D 6F 6E 74 68 22 5D 28 29 2C 78 3D 6B 5B 68 2B 22 46 75 6C 6C 59 65 61 72 22 5D 28 29 2C 74 3D 6B 5B 68 2B 22 48 6F 75 72 73 22 5D 28 29 2C 79 3D 6B 5B 68 2B 22 4D 69 6E 75 74 65 73 22 5D 28 29 2C 7A 3D 6B 5B 68 2B 22 53 65 63 6F 6E 64 73 22 5D 28 29 2C 75 3D 6B 5B 68 2B 22 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 22 5D 28 29 2C 41 3D 72 3F 30 3A 6B 2E 67 65 74 54 69 6D 65 7A 6F 6E 65 4F 66 66 73 65 74 28 29 3B 72 65 74 75 72 6E 20 68 3D 70 2E 72 65 70 6C 61 63 65 28 61 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 73 77 69 74 63 68 28 61 29 7B 63 61 73 65 20 22 44 22 3A 72 65 74 75 72 6E 20 73 3B 63 61 73 65 20 22 44 44 22 3A 72 65 74 75 72 6E 20 4C 28 73 2C 32 29 3B 63 61 73 65 20 22 44 44 44 22 3A 72 65 74 75 72 6E 20 6E 5B 77 5D 3B 63 61 73 65 20 22 44 44 44 44 22 3A 72 65 74 75 72 6E 20 6C 5B 77 5D 3B 63 61 73 65 20 22 4D 22 3A 72 65 74 75 72 6E 20 76 2B 31 3B 63 61 73 65 20 22 4D 4D 22 3A 72 65 74 75 72 6E 20 4C 28 76 2B 31 2C 32 29 3B 63 61 73 65 20 22 4D 4D 4D 22 3A 72 65 74 75 72 6E 20 71 5B 76 5D 3B 63 61 73 65 20 22 4D 4D 4D 4D 22 3A 72 65 74 75 72 6E 20 6D 5B 76 5D 3B 0A 63 61 73 65 20 22 59 22 3A 72 65 74 75 72 6E 20 70 61 72 73 65 49 6E 74 28 53 74 72 69 6E 67 28 78 29 2E 73 6C 69 63 65 28 2D 32 29 29 3B 63 61 73 65 20 22 59 59 22 3A 72 65 74 75 72 6E 20 4C 28 53 74 72 69 6E 67 28 78 29 2E 73 6C 69 63 65 28 2D 32 29 2C 32 29 3B 63 61 73 65 20 22 59 59 59 22 3A 72 65 74 75 72 6E 20 4C 28 53 74 72 69 6E 67 28 78 29 2E 73 6C 69 63 65 28 2D 33 29 2C 33 29 3B 63 61 73 65 20 22 59 59 59 59 22 3A 72 65 74 75 72 6E 20 4C 28 78 2C 34 29 3B 63 61 73 65 20 22 68 22 3A 72 65 74 75 72 6E 20 74 25 31 32 7C 7C 31 32 3B 63 61 73 65 20 22 68 68 22 3A 72 65 74 75 72 6E 20 4C 28 74 25 31 32 7C 7C 31 32 2C 32 29 3B 63 61 73 65 20 22 48 22 3A 72 65 74 75 72 6E 20 74 3B 63 61 73 65 20 22 48 48 22 3A 72 65 74 75 72 6E 20 4C 28 74 2C 32 29 3B 63 61 73 65 20 22 6D 22 3A 72 65 74 75 72 6E 20 79 3B 63 61 73 65 20 22 6D 6D 22 3A 72 65 74 75 72 6E 20 4C 28 79 2C 32 29 3B 63 61 73 65 20 22 73 22 3A 72 65 74 75 72 6E 20 7A 3B 63 61 73 65 20 22 73 73 22 3A 72 65 74 75 72 6E 20 4C 28 7A 2C 32 29 3B 63 61 73 65 20 22 66 22 3A 72 65 74 75 72 6E 20 53 74 72 69 6E 67 28 75 29 2E 73 6C 69 63 65 28 30 2C 31 29 3B 63 61 73 65 20 22 66 66 22 3A 72 65 74 75 72 6E 20 4C 28 53 74 72 69 6E 67 28 75 29 2E 73 6C 69 63 65 28 30 2C 32 29 2C 32 29 3B 63 61 73 65 20 22 66 66 66 22 3A 72 65 74 75 72 6E 20 4C 28 53 74 72 69 6E 67 28 75 29 2E 73 6C 69 63 65 28 30 2C 33 29 2C 33 29 3B 63 61 73 65 20 22 74 22 3A 72 65 74 75 72 6E 20 31 32 3E 74 3F 22 61 22 3A 22 70 22 3B 63 61 73 65 20 22 74 74 22 3A 72 65 74 75 72 6E 20 31 32 3E 0A 74 3F 22 61 6D 22 3A 22 70 6D 22 3B 63 61 73 65 20 22 54 22 3A 72 65 74 75 72 6E 20 31 32 3E 74 3F 22 41 22 3A 22 50 22 3B 63 61 73 65 20 22 54 54 22 3A 72 65 74 75 72 6E 20 31 32 3E 74 3F 22 41 4D 22 3A 22 50 4D 22 3B 63 61 73 65 20 22 4B 22 3A 72 65 74 75 72 6E 20 72 3F 22 55 54 43 22 3A 28 53 74 72 69 6E 67 28 6B 29 2E 6D 61 74 63 68 28 66 29 7C 7C 5B 22 22 5D 29 2E 70 6F 70 28 29 2E 72 65 70 6C 61 63 65 28 67 2C 22 22 29 3B 63 61 73 65 20 22 7A 22 3A 72 65 74 75 72 6E 28 30 3C 41 3F 22 2D 22 3A 22 2B 22 29 2B 4D 61 74 68 2E 66 6C 6F 6F 72 28 4D 61 74 68 2E 61 62 73 28 41 29 2F 36 30 29 3B 63 61 73 65 20 22 7A 7A 22 3A 72 65 74 75 72 6E 28 30 3C 41 3F 22 2D 22 3A 22 2B 22 29 2B 4C 28 4D 61 74 68 2E 66 6C 6F 6F 72 28 4D 61 74 68 2E 61 62 73 28 41 29 2F 36 30 29 2C 32 29 3B 63 61 73 65 20 22 7A 7A 7A 22 3A 72 65 74 75 72 6E 28 30 3C 41 3F 22 2D 22 3A 22 2B 22 29 2B 4C 28 4D 61 74 68 2E 66 6C 6F 6F 72 28 4D 61 74 68 2E 61 62 73 28 41 29 2F 36 30 29 2C 32 29 2B 4C 28 4D 61 74 68 2E 61 62 73 28 41 29 25 36 30 2C 32 29 3B 64 65 66 61 75 6C 74 3A 72 65 74 75 72 6E 20 61 2E 73 6C 69 63 65 28 31 2C 61 2E 6C 65 6E 67 74 68 2D 31 29 7D 7D 29 7D 7D 28 29 2C 58 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 69 66 28 6E 75 6C 6C 3D 3D 3D 61 29 72 65 74 75 72 6E 22 22 3B 61 3D 4E 75 6D 62 65 72 28 61 29 3B 76 61 72 20 64 3D 30 3E 61 3F 21 30 3A 21 31 3B 64 26 26 28 61 2A 3D 2D 31 29 3B 76 61 72 20 65 3D 63 3F 63 2E 64 65 63 69 6D 61 6C 53 65 70 61 72 61 74 6F 72 3A 22 2E 22 2C 66 3D 63 3F 0A 63 2E 64 69 67 69 74 47 72 6F 75 70 53 65 70 61 72 61 74 6F 72 3A 22 2C 22 2C 67 3D 22 22 3B 62 3D 53 74 72 69 6E 67 28 62 29 3B 76 61 72 20 67 3D 31 2C 6B 3D 63 3D 22 22 2C 70 3D 2D 31 2C 68 3D 5B 5D 2C 6C 3D 5B 5D 2C 6D 3D 30 2C 6E 3D 30 2C 71 3D 30 2C 72 3D 21 31 2C 73 3D 30 2C 6B 3D 62 2E 6D 61 74 63 68 28 2F 22 5B 5E 22 5D 2A 22 7C 27 5B 5E 27 5D 2A 27 7C 5B 65 45 5D 5B 2B 2D 5D 2A 5B 30 5D 2B 7C 5B 2C 5D 2B 5B 2E 5D 7C 5C 75 32 30 33 30 7C 2E 2F 67 29 3B 62 3D 6E 75 6C 6C 3B 66 6F 72 28 76 61 72 20 77 3D 30 3B 6B 26 26 77 3C 6B 2E 6C 65 6E 67 74 68 3B 77 2B 2B 29 69 66 28 62 3D 6B 5B 77 5D 2C 22 2E 22 3D 3D 3D 62 26 26 30 3E 70 29 70 3D 77 3B 65 6C 73 65 7B 69 66 28 22 25 22 3D 3D 3D 62 29 67 2A 3D 31 30 30 3B 65 6C 73 65 20 69 66 28 22 5C 75 32 30 33 30 22 3D 3D 3D 62 29 7B 67 2A 3D 31 45 33 3B 63 6F 6E 74 69 6E 75 65 7D 65 6C 73 65 20 69 66 28 22 2C 22 3D 3D 3D 62 5B 30 5D 26 26 22 2E 22 3D 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 29 7B 67 2F 3D 4D 61 74 68 2E 70 6F 77 28 31 45 33 2C 62 2E 6C 65 6E 67 74 68 2D 31 29 3B 70 3D 77 2B 62 2E 6C 65 6E 67 74 68 2D 31 3B 63 6F 6E 74 69 6E 75 65 7D 65 6C 73 65 22 45 22 21 3D 3D 62 5B 30 5D 26 26 22 65 22 21 3D 3D 62 5B 30 5D 7C 7C 22 30 22 21 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 7C 7C 28 72 3D 21 30 29 3B 30 3E 70 3F 28 68 2E 70 75 73 68 28 62 29 2C 22 23 22 3D 3D 3D 62 7C 7C 22 30 22 3D 3D 3D 62 3F 6D 2B 2B 3A 22 2C 22 3D 3D 3D 62 26 26 71 2B 2B 29 3A 28 6C 2E 70 75 73 68 28 62 29 2C 22 23 22 21 3D 3D 62 26 26 22 30 22 21 3D 3D 0A 62 7C 7C 6E 2B 2B 29 7D 72 26 26 28 62 3D 4D 61 74 68 2E 66 6C 6F 6F 72 28 61 29 2C 73 3D 28 30 3D 3D 3D 62 3F 22 22 3A 53 74 72 69 6E 67 28 62 29 29 2E 6C 65 6E 67 74 68 2D 6D 2C 67 2F 3D 4D 61 74 68 2E 70 6F 77 28 31 30 2C 73 29 29 3B 30 3E 70 26 26 28 70 3D 77 29 3B 67 3D 28 61 2A 67 29 2E 74 6F 46 69 78 65 64 28 6E 29 3B 62 3D 67 2E 73 70 6C 69 74 28 22 2E 22 29 3B 67 3D 28 62 5B 30 5D 2B 22 22 29 2E 73 70 6C 69 74 28 22 22 29 3B 61 3D 28 62 5B 31 5D 2B 22 22 29 2E 73 70 6C 69 74 28 22 22 29 3B 67 26 26 22 30 22 3D 3D 3D 67 5B 30 5D 26 26 67 2E 73 68 69 66 74 28 29 3B 66 6F 72 28 77 3D 72 3D 6B 3D 6E 3D 70 3D 30 3B 30 3C 68 2E 6C 65 6E 67 74 68 3B 29 69 66 28 62 3D 68 2E 70 6F 70 28 29 2C 22 23 22 3D 3D 3D 62 7C 7C 22 30 22 3D 3D 3D 62 29 69 66 28 70 2B 2B 2C 70 3D 3D 3D 6D 29 7B 76 61 72 20 76 3D 67 2C 67 3D 5B 5D 3B 69 66 28 22 30 22 3D 3D 3D 62 29 66 6F 72 28 62 3D 6D 2D 6E 2D 28 76 3F 76 2E 6C 65 6E 67 74 68 3A 30 29 3B 30 3C 62 3B 29 76 2E 75 6E 73 68 69 66 74 28 22 30 22 29 2C 62 2D 2D 3B 66 6F 72 28 3B 30 3C 76 2E 6C 65 6E 67 74 68 3B 29 63 3D 76 2E 70 6F 70 28 29 2B 63 2C 77 2B 2B 2C 30 3D 3D 3D 77 25 72 26 26 28 6B 3D 3D 3D 71 26 26 30 3C 76 2E 6C 65 6E 67 74 68 29 26 26 28 63 3D 66 2B 63 29 3B 64 26 26 28 63 3D 22 2D 22 2B 63 29 7D 65 6C 73 65 20 30 3C 67 2E 6C 65 6E 67 74 68 3F 28 63 3D 67 2E 70 6F 70 28 29 2B 63 2C 6E 2B 2B 2C 77 2B 2B 29 3A 22 30 22 3D 3D 3D 62 26 26 28 63 3D 22 30 22 2B 63 2C 6E 2B 2B 2C 77 2B 2B 29 2C 30 3D 3D 3D 77 25 72 26 26 28 6B 3D 3D 3D 0A 71 26 26 30 3C 67 2E 6C 65 6E 67 74 68 29 26 26 28 63 3D 66 2B 63 29 3B 65 6C 73 65 22 45 22 21 3D 3D 62 5B 30 5D 26 26 22 65 22 21 3D 3D 62 5B 30 5D 7C 7C 22 30 22 21 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 7C 7C 21 2F 5B 65 45 5D 5B 2B 2D 5D 2A 5B 30 5D 2B 2F 2E 74 65 73 74 28 62 29 3F 22 2C 22 3D 3D 3D 62 3F 28 6B 2B 2B 2C 72 3D 77 2C 77 3D 30 2C 30 3C 67 2E 6C 65 6E 67 74 68 26 26 28 63 3D 66 2B 63 29 29 3A 63 3D 31 3C 62 2E 6C 65 6E 67 74 68 26 26 28 27 22 27 3D 3D 3D 62 5B 30 5D 26 26 27 22 27 3D 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 7C 7C 22 27 22 3D 3D 3D 62 5B 30 5D 26 26 22 27 22 3D 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 29 3F 62 2E 73 6C 69 63 65 28 31 2C 62 2E 6C 65 6E 67 74 68 2D 31 29 2B 63 3A 62 2B 63 3A 28 62 3D 30 3E 73 3F 62 2E 72 65 70 6C 61 63 65 28 22 2B 22 2C 22 22 29 2E 72 65 70 6C 61 63 65 28 22 2D 22 2C 22 22 29 3A 62 2E 72 65 70 6C 61 63 65 28 22 2D 22 2C 22 22 29 2C 63 2B 3D 62 2E 72 65 70 6C 61 63 65 28 2F 5B 30 5D 2B 2F 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 72 65 74 75 72 6E 20 4C 28 73 2C 61 2E 6C 65 6E 67 74 68 29 7D 29 29 3B 64 3D 22 22 3B 66 6F 72 28 66 3D 21 31 3B 30 3C 6C 2E 6C 65 6E 67 74 68 3B 29 62 3D 6C 2E 73 68 69 66 74 28 29 2C 22 23 22 3D 3D 3D 62 7C 7C 22 30 22 3D 3D 3D 62 3F 30 3C 61 2E 6C 65 6E 67 74 68 26 26 30 21 3D 3D 4E 75 6D 62 65 72 28 61 2E 6A 6F 69 6E 28 22 22 29 29 3F 28 64 2B 3D 61 2E 73 68 69 66 74 28 29 2C 66 3D 21 30 29 3A 22 30 22 3D 3D 3D 62 26 26 28 64 2B 3D 22 30 22 2C 66 3D 21 30 29 3A 31 3C 62 2E 6C 65 6E 67 74 68 26 26 0A 28 27 22 27 3D 3D 3D 62 5B 30 5D 26 26 27 22 27 3D 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 7C 7C 22 27 22 3D 3D 3D 62 5B 30 5D 26 26 22 27 22 3D 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 29 3F 64 2B 3D 62 2E 73 6C 69 63 65 28 31 2C 62 2E 6C 65 6E 67 74 68 2D 31 29 3A 22 45 22 21 3D 3D 62 5B 30 5D 26 26 22 65 22 21 3D 3D 62 5B 30 5D 7C 7C 22 30 22 21 3D 3D 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 7C 7C 21 2F 5B 65 45 5D 5B 2B 2D 5D 2A 5B 30 5D 2B 2F 2E 74 65 73 74 28 62 29 3F 64 2B 3D 62 3A 28 62 3D 30 3E 73 3F 62 2E 72 65 70 6C 61 63 65 28 22 2B 22 2C 22 22 29 2E 72 65 70 6C 61 63 65 28 22 2D 22 2C 22 22 29 3A 62 2E 72 65 70 6C 61 63 65 28 22 2D 22 2C 22 22 29 2C 64 2B 3D 62 2E 72 65 70 6C 61 63 65 28 2F 5B 30 5D 2B 2F 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 72 65 74 75 72 6E 20 4C 28 73 2C 61 2E 6C 65 6E 67 74 68 29 7D 29 29 3B 72 65 74 75 72 6E 20 63 2B 28 28 66 3F 65 3A 22 22 29 2B 64 29 7D 2C 6E 61 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 30 2C 63 3D 30 3B 61 3D 61 7C 7C 77 69 6E 64 6F 77 2E 65 76 65 6E 74 3B 61 2E 6F 66 66 73 65 74 58 7C 7C 30 3D 3D 3D 61 2E 6F 66 66 73 65 74 58 3F 28 62 3D 61 2E 6F 66 66 73 65 74 58 2C 63 3D 61 2E 6F 66 66 73 65 74 59 29 3A 61 2E 6C 61 79 65 72 58 7C 7C 30 3D 3D 61 2E 6C 61 79 65 72 58 3F 28 62 3D 61 2E 6C 61 79 65 72 58 2C 63 3D 61 2E 6C 61 79 65 72 59 29 3A 28 62 3D 61 2E 70 61 67 65 58 2D 61 2E 74 61 72 67 65 74 2E 6F 66 66 73 65 74 4C 65 66 74 2C 63 3D 61 2E 70 61 67 65 59 2D 61 2E 74 61 72 67 65 74 2E 6F 66 66 73 65 74 54 6F 70 29 3B 0A 72 65 74 75 72 6E 7B 78 3A 62 2C 79 3A 63 7D 7D 2C 79 61 3D 21 30 2C 6F 61 3D 77 69 6E 64 6F 77 2E 64 65 76 69 63 65 50 69 78 65 6C 52 61 74 69 6F 7C 7C 31 2C 67 61 3D 31 2C 4A 3D 79 61 3F 6F 61 2F 67 61 3A 31 2C 46 61 3D 7B 72 65 73 65 74 3A 7B 69 6D 61 67 65 3A 22 64 61 74 61 3A 69 6D 61 67 65 2F 70 6E 67 3B 62 61 73 65 36 34 2C 69 56 42 4F 52 77 30 4B 47 67 6F 41 41 41 41 4E 53 55 68 45 55 67 41 41 41 43 41 41 41 41 41 63 43 41 59 41 41 41 41 41 77 72 30 69 41 41 41 41 42 48 4E 43 53 56 51 49 43 41 67 49 66 41 68 6B 69 41 41 41 41 41 6C 77 53 46 6C 7A 41 41 41 4C 45 67 41 41 43 78 49 42 30 74 31 2B 2F 41 41 41 41 42 78 30 52 56 68 30 55 32 39 6D 64 48 64 68 63 6D 55 41 51 57 52 76 59 6D 55 67 52 6D 6C 79 5A 58 64 76 63 6D 74 7A 49 45 4E 54 4E 75 69 38 73 6F 77 41 41 41 4B 52 53 55 52 42 56 45 69 4A 72 64 59 2F 69 46 31 46 46 4D 66 78 7A 77 6E 5A 72 47 49 53 55 53 52 2F 4A 4C 47 49 68 6F 68 2F 51 69 52 4E 42 4C 57 78 4D 4C 49 57 45 6B 77 62 67 69 41 6F 46 67 6F 57 32 6D 68 6C 59 36 64 67 70 59 32 49 6C 52 42 52 78 42 53 4B 68 53 41 4B 49 6B 6C 57 4A 52 59 75 4D 5A 4B 41 68 69 79 6F 70 41 69 61 54 59 37 46 76 52 74 6D 5A 2B 2F 65 64 39 2F 7A 48 52 6A 65 7A 4C 77 35 76 2F 4F 39 64 38 36 63 75 5A 47 5A 70 6D 55 52 41 66 64 6E 35 6F 39 44 66 64 5A 4E 4C 58 70 6A 7A 2B 4C 7A 69 50 67 79 49 6C 36 4D 69 47 30 6A 50 54 4A 7A 5A 42 75 79 44 72 50 34 42 56 6D 30 50 2F 41 4B 62 6C 6A 54 62 34 54 6F 59 2F 67 47 65 77 59 41 37 4B 79 43 6C 2B 31 62 33 44 55 59 41 4E 76 77 62 69 48 77 30 67 43 41 47 52 7A 42 4F 7A 6A 54 41 58 45 4F 75 30 63 43 34 43 68 2B 72 35 78 2F 48 72 70 64 72 63 5A 6D 76 49 44 46 53 75 63 4D 74 6E 59 43 59 43 2B 2B 36 48 6D 4E 44 77 38 46 4B 44 54 33 34 45 54 72 66 36 33 39 2F 61 7A 4F 72 35 76 77 52 6B 2F 67 35 66 62 65 75 41 42 74 67 43 30 34 58 57 6B 39 56 51 4C 63 69 4D 50 34 45 48 2F 33 41 46 7A 45 72 52 4E 43 37 4D 58 6C 51 6D 73 65 73 53 6F 48 73 47 50 45 32 33 68 6D 45 6F 42 57 2B 36 31 4B 36 36 48 4D 58 46 6D 49 4D 76 4E 38 6D 79 69 6C 58 53 33 36 52 30 31 75 62 2B 4B 66 59 76 77 34 33 5A 58 77 59 44 58 2B 41 48 50 34 42 41 63 69 34 70 46 4A 6F 6D 66 6D 72 2F 69 68 6D 4E 6F 66 45 53 73 42 49 6D 4A 47 6B 37 6D 6C 6E 63 72 4D 34 35 6E 35 4A 50 62 68 7A 30 6B 41 57 70 73 76 2B 6A 75 78 61 58 32 31 59 49 50 6D 56 4A 53 32 75 4E 7A 4A 4D 53 36 5A 4E 65 78 43 30 64 2B 49 37 66 55 57 58 4C 46 79 7A 32 6B 53 5A 6C 70 57 50 76 41 53 6C 6D 71 41 66 2F 46 58 4E 58 66 33 46 41 46 32 46 2F 31 4C 75 46 69 66 41 6C 69 6F 6E 42 36 64 52 75 53 49 32 49 77 48 69 36 6C 7A 6D 58 6D 70 36 78 52 38 58 59 30 66 69 49 68 37 70 73 41 77 68 2B 33 46 75 44 6B 52 48 51 56 6A 6C 2B 61 38 6C 6B 58 6A 6F 30 6B 4C 55 4B 48 37 58 61 56 35 6F 4F 38 36 50 6D 5A 31 46 54 7A 79 50 34 4B 2F 58 47 6C 39 76 2F 7A 77 66 62 57 37 42 72 69 69 75 45 54 47 43 50 35 63 68 39 62 63 39 66 39 37 48 46 2F 76 63 46 7A 43 61 35 67 64 45 50 67 57 71 2B 74 2F 34 76 30 56 36 33 6F 45 31 75 46 34 68 30 44 69 46 4A 37 48 6E 53 57 4D 70 70 44 64 68 31 64 78 74 73 50 76 4A 32 77 63 42 4E 41 4B 62 73 4A 58 61 30 43 6B 35 6F 70 64 61 42 50 73 52 4E 75 2F 75 73 62 61 30 39 69 31 4B 73 61 41 56 7A 6D 4C 74 33 73 67 68 72 52 6A 75 4B 31 54 66 34 78 6B 65 67 49 6E 78 77 79 38 67 4B 66 37 64 4B 4D 56 48 32 51 52 73 56 35 7A 58 52 2F 43 66 74 79 75 2B 61 4B 61 4B 62 62 6B 51 72 73 64 48 2B 50 54 7A 4C 7A 63 71 7A 6B 4F 51 41 56 7A 4D 2B 37 46 48 64 69 71 71 65 32 2F 59 54 34 7A 46 2F 74 38 53 2F 73 50 6D 61 77 79 76 43 39 37 34 76 63 41 41 41 41 41 53 55 56 4F 52 4B 35 43 59 49 49 3D 22 7D 2C 0A 70 61 6E 3A 7B 69 6D 61 67 65 3A 22 64 61 74 61 3A 69 6D 61 67 65 2F 70 6E 67 3B 62 61 73 65 36 34 2C 69 56 42 4F 52 77 30 4B 47 67 6F 41 41 41 41 4E 53 55 68 45 55 67 41 41 41 43 41 41 41 41 41 67 43 41 59 41 41 41 42 7A 65 6E 72 30 41 41 41 41 42 48 4E 43 53 56 51 49 43 41 67 49 66 41 68 6B 69 41 41 41 41 41 6C 77 53 46 6C 7A 41 41 41 4C 45 67 41 41 43 78 49 42 30 74 31 2B 2F 41 41 41 41 42 78 30 52 56 68 30 55 32 39 6D 64 48 64 68 63 6D 55 41 51 57 52 76 59 6D 55 67 52 6D 6C 79 5A 58 64 76 63 6D 74 7A 49 45 4E 54 4E 75 69 38 73 6F 77 41 41 41 4A 56 53 55 52 42 56 46 69 46 76 5A 65 37 61 31 52 42 47 4D 56 2F 78 32 68 57 49 34 4A 70 66 4B 43 49 69 53 42 4B 4F 6F 4F 43 6B 49 44 2F 77 50 34 42 46 71 49 49 46 6B 45 30 32 43 68 49 69 43 38 51 44 4B 6C 53 69 49 33 59 71 52 42 73 42 56 47 77 55 4E 41 55 64 69 49 45 55 67 6A 69 41 7A 51 49 49 73 75 4B 4A 73 66 69 7A 73 58 72 35 74 37 64 2B 38 6A 6D 77 4C 44 66 7A 48 7A 33 6E 4C 4F 7A 63 37 2B 5A 78 54 5A 6C 47 79 44 67 5A 69 57 4F 43 75 4A 39 77 48 32 67 43 55 79 75 71 51 46 67 46 2F 41 47 63 4B 4A 4E 72 59 6B 42 59 42 6A 34 30 43 49 65 74 2B 6D 75 47 51 69 2F 39 36 6B 4D 34 57 53 37 43 2F 54 6D 35 56 55 67 37 77 68 4A 67 38 42 6B 45 47 6B 43 52 34 42 44 59 66 6F 64 73 41 44 55 67 50 36 77 45 72 4F 35 69 43 74 73 77 73 75 4A 62 33 32 68 64 62 58 79 38 71 7A 4C 35 54 49 64 6D 7A 4A 69 6E 48 64 5A 6F 5A 49 42 5A 63 53 46 6B 47 6C 41 4B 73 31 5A 33 59 43 6B 65 74 5A 63 42 74 6F 75 75 61 51 4E 6B 72 62 6C 4D 69 42 70 42 72 68 6D 65 37 6D 41 67 55 34 77 4D 43 76 70 63 46 73 44 6B 71 34 43 35 34 44 46 56 52 54 48 39 68 2B 69 36 76 6C 45 30 72 35 55 41 35 49 6D 67 43 75 68 32 38 6A 42 32 38 69 49 73 37 42 49 56 43 4F 65 53 74 6F 5A 44 36 34 50 34 75 50 41 6A 55 54 79 67 4B 53 78 32 46 73 4B 32 54 49 77 6B 75 67 66 6B 39 51 6B 66 64 2F 45 2B 79 4D 57 48 51 43 65 53 52 71 78 2F 52 33 67 4F 70 33 4C 61 7A 66 61 53 32 43 34 42 35 67 48 44 67 44 37 55 39 78 33 45 33 75 41 48 37 4B 4E 70 43 33 41 48 48 41 77 54 4C 34 46 48 67 4D 39 47 51 38 76 41 61 50 41 30 64 42 2F 41 62 78 71 6B 32 2F 67 42 4C 41 39 4D 58 62 61 39 72 31 6B 2F 64 34 4C 66 41 33 4A 74 77 75 65 42 65 4D 35 38 75 63 53 2B 65 64 58 6E 41 57 32 33 77 50 31 30 4E 33 61 64 76 45 69 39 43 58 69 7A 54 6E 79 4E 34 62 50 53 37 5A 6E 34 73 48 2F 64 71 33 74 31 38 41 59 34 65 31 59 4C 59 53 79 33 67 2F 63 73 6A 32 56 6E 46 73 68 5A 50 75 4F 70 4F 65 53 4B 48 43 6F 64 55 49 4E 75 47 6A 37 59 65 74 45 36 6A 65 31 50 56 39 51 6F 4E 50 4A 39 53 74 4E 48 4B 6F 64 78 37 6E 52 62 69 57 72 47 48 42 47 58 41 69 35 44 55 69 71 74 51 77 74 70 63 57 4B 30 4A 75 62 74 38 43 6C 74 41 35 4D 45 56 31 49 66 77 4F 37 2B 56 66 66 50 77 47 66 69 61 35 6D 33 34 43 54 34 62 58 75 6A 49 49 58 30 51 6E 61 31 2F 63 47 4D 4E 71 56 2F 77 55 4A 45 32 63 7A 78 44 38 43 51 34 58 35 53 6C 37 4A 7A 37 53 49 4C 77 43 44 70 62 6A 4B 50 42 52 4D 48 41 64 2B 45 74 58 34 48 57 56 35 53 70 64 63 32 77 38 6B 44 51 47 50 62 48 38 70 79 2F 4D 58 4D 79 67 4D 36 39 2F 46 4B 7A 34 41 41 41 41 41 53 55 56 4F 52 4B 35 43 59 49 49 3D 22 7D 2C 0A 7A 6F 6F 6D 3A 7B 69 6D 61 67 65 3A 22 64 61 74 61 3A 69 6D 61 67 65 2F 70 6E 67 3B 62 61 73 65 36 34 2C 69 56 42 4F 52 77 30 4B 47 67 6F 41 41 41 41 4E 53 55 68 45 55 67 41 41 41 43 41 41 41 41 41 67 43 41 59 41 41 41 42 7A 65 6E 72 30 41 41 41 41 42 48 4E 43 53 56 51 49 43 41 67 49 66 41 68 6B 69 41 41 41 41 41 6C 77 53 46 6C 7A 41 41 41 4B 36 77 41 41 43 75 73 42 67 6F 73 4E 57 67 41 41 41 42 78 30 52 56 68 30 55 32 39 6D 64 48 64 68 63 6D 55 41 51 57 52 76 59 6D 55 67 52 6D 6C 79 5A 58 64 76 63 6D 74 7A 49 45 4E 54 4E 75 69 38 73 6F 77 41 41 41 4D 71 53 55 52 42 56 46 69 46 76 64 66 62 6A 39 31 54 46 4D 44 78 7A 35 37 55 36 47 55 45 4D 53 31 61 59 7A 79 4D 74 43 53 53 44 68 57 6A 43 5A 4D 49 6E 70 41 49 33 6B 68 45 2F 51 48 74 67 7A 64 52 6B 58 67 53 43 53 38 53 45 53 39 65 70 4B 4C 69 30 6F 52 4B 4E 45 54 6A 52 61 68 52 45 71 32 4B 53 31 73 74 64 52 75 6A 74 44 50 74 62 41 39 37 6E 35 7A 64 6E 39 2B 35 7A 4A 78 54 4B 39 6B 35 76 33 50 4F 58 6D 74 39 39 31 70 37 72 37 31 2B 49 63 61 6F 47 77 6B 68 54 4F 49 65 62 4D 52 71 7A 4F 42 54 76 49 47 33 59 34 7A 54 58 52 6D 71 53 6F 79 78 35 63 41 4B 62 4D 4A 4F 48 4D 46 4A 6E 4D 5A 38 2F 6A 79 46 61 58 79 4D 52 37 47 36 6E 62 31 61 48 32 32 63 50 34 42 76 63 42 78 7A 69 47 33 47 4B 66 79 54 49 52 39 44 36 42 59 67 31 4B 55 67 68 50 42 43 44 76 65 46 6C 62 2F 32 34 41 76 38 69 75 55 59 77 34 31 59 56 73 7A 35 47 37 75 78 4B 63 5A 34 61 4D 45 70 77 47 74 35 4E 59 33 56 2F 59 62 48 73 51 36 72 63 41 48 4F 77 2F 6B 59 78 69 67 65 77 72 35 43 5A 77 34 66 59 47 78 42 4B 63 43 4C 4F 46 45 59 65 68 58 72 4D 64 52 68 72 35 79 4C 45 54 78 56 53 63 73 4F 4C 4F 6B 4B 41 50 66 6E 31 54 59 4D 50 49 76 4C 46 72 53 68 55 6C 53 32 46 44 5A 6D 38 58 52 48 41 43 7A 46 41 57 6C 33 52 32 78 62 71 50 4D 43 59 68 6D 65 4C 43 41 4F 59 45 4D 6E 67 41 63 7A 62 63 54 76 75 48 59 78 7A 67 75 49 79 2F 46 65 73 52 39 65 36 67 53 77 55 2F 4F 6F 50 59 48 42 48 67 48 67 76 69 49 4B 58 32 46 6C 71 37 6B 33 34 4B 68 6D 63 56 6E 62 69 2F 50 43 38 4A 58 34 4D 67 4D 63 78 62 31 31 38 77 5A 77 64 7A 35 61 49 53 73 63 71 78 37 56 52 63 6F 78 37 4D 72 50 51 37 69 2B 62 74 49 41 4A 72 41 6B 66 39 2B 62 49 39 45 50 6D 5A 59 32 49 41 78 69 54 53 75 41 6C 64 4C 71 34 59 39 2B 41 63 53 55 68 37 38 4B 50 30 74 62 41 63 77 55 33 35 63 58 4D 44 31 4A 43 49 46 55 6F 47 69 65 68 6C 71 41 7A 36 54 4E 42 31 66 31 43 30 44 4B 2B 30 68 2B 6E 73 4E 50 72 51 43 32 61 34 62 71 47 6D 6C 44 39 6B 4F 47 63 57 74 2B 50 6F 36 70 56 67 44 76 53 78 66 4A 61 53 6B 46 64 34 55 51 42 76 6F 41 73 42 59 62 43 6F 42 33 61 32 66 6C 4D 37 73 6C 41 30 52 38 69 79 74 36 72 41 46 44 65 44 50 62 6D 38 65 4F 54 70 56 77 47 44 39 71 56 71 37 6E 4C 62 49 61 5A 6E 6D 6B 73 50 55 31 4A 74 73 43 5A 4D 58 4E 6D 70 64 52 78 46 61 73 57 49 54 7A 68 36 58 6A 33 4C 43 7A 72 61 31 4F 78 63 44 32 51 6A 48 69 47 56 7A 64 70 66 4F 52 6E 4D 71 5A 69 6F 32 50 63 46 32 33 41 42 64 4A 46 31 4E 70 34 42 50 70 74 6C 79 50 69 36 57 7A 50 59 42 7A 70 4A 5A 74 48 65 37 41 36 78 57 39 63 6E 79 50 38 54 71 41 2F 2F 53 45 49 59 52 4C 38 42 78 75 6C 37 72 69 68 76 77 67 74 56 6E 37 38 57 63 47 47 5A 58 61 39 48 47 64 35 54 44 75 6A 44 48 75 4F 65 50 58 4E 69 48 64 4B 6A 57 67 5A 58 2F 59 62 73 78 4C 78 2F 6B 74 71 62 6A 56 7A 54 6C 63 6A 55 53 6E 76 49 35 4A 72 64 6C 55 56 70 36 57 65 73 5A 5A 36 52 31 68 52 72 70 71 39 2B 45 56 54 47 53 39 6A 54 6A 59 41 75 4B 49 6F 75 47 70 62 63 75 72 45 6B 49 59 78 43 30 35 31 4B 4E 53 61 6D 61 7A 73 63 2B 78 4B 38 62 34 53 30 56 6E 45 69 2F 6A 30 68 71 54 50 2B 4D 32 37 4F 32 35 38 65 67 51 77 5A 75 7A 73 37 70 49 37 4D 66 34 57 51 58 49 45 44 63 35 73 39 73 75 78 2B 35 2B 31 50 79 32 45 6D 50 38 55 4F 71 36 47 76 57 68 49 53 63 78 66 64 59 6A 55 45 52 69 41 74 39 4A 64 38 34 4A 36 61 31 36 7A 66 38 4A 45 4B 54 33 79 43 6D 38 67 31 55 78 52 76 38 43 43 34 70 79 52 68 7A 52 31 75 55 41 41 41 41 41 53 55 56 4F 52 4B 35 43 59 49 49 3D 22 7D 2C 0A 6D 65 6E 75 3A 7B 69 6D 61 67 65 3A 22 64 61 74 61 3A 69 6D 61 67 65 2F 70 6E 67 3B 62 61 73 65 36 34 2C 69 56 42 4F 52 77 30 4B 47 67 6F 41 41 41 41 4E 53 55 68 45 55 67 41 41 41 42 41 41 41 41 41 67 43 41 59 41 41 41 41 62 69 66 6A 4D 41 41 41 41 42 48 4E 43 53 56 51 49 43 41 67 49 66 41 68 6B 69 41 41 41 41 41 6C 77 53 46 6C 7A 41 41 41 4B 36 77 41 41 43 75 73 42 67 6F 73 4E 57 67 41 41 41 42 78 30 52 56 68 30 55 32 39 6D 64 48 64 68 63 6D 55 41 51 57 52 76 59 6D 55 67 52 6D 6C 79 5A 58 64 76 63 6D 74 7A 49 45 4E 54 4E 75 69 38 73 6F 77 41 41 41 41 57 64 45 56 59 64 45 4E 79 5A 57 46 30 61 57 39 75 49 46 52 70 62 57 55 41 4D 44 63 76 4D 54 55 76 4D 54 54 50 73 76 55 30 41 41 41 41 50 30 6C 45 51 56 52 49 69 65 32 53 4D 51 6F 41 49 42 44 44 55 76 48 2F 58 36 36 37 67 38 73 4A 4A 39 4B 4F 68 59 59 4F 6B 57 30 71 47 61 55 31 4D 50 64 43 30 76 47 53 62 56 31 39 45 41 43 6F 33 59 4D 50 41 46 48 35 42 55 42 55 6A 73 71 66 41 50 70 56 58 74 4E 67 47 44 66 78 45 44 43 74 41 41 41 41 41 45 6C 46 54 6B 53 75 51 6D 43 43 22 7D 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 73 65 74 4F 70 74 69 6F 6E 73 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 6D 61 5B 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 73 4B 65 79 5D 29 7B 76 61 72 20 63 3D 6D 61 5B 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 73 4B 65 79 5D 2C 64 3B 66 6F 72 28 64 20 69 6E 20 63 29 63 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 64 29 26 26 28 74 68 69 73 5B 64 5D 3D 61 26 26 64 20 69 6E 20 61 3F 61 5B 64 5D 3A 62 26 26 64 20 69 6E 0A 62 3F 62 5B 64 5D 3A 63 5B 64 5D 29 7D 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 6D 61 5B 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 73 4B 65 79 5D 2C 63 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 68 65 6D 65 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 68 65 6D 65 3A 74 68 69 73 2E 63 68 61 72 74 26 26 74 68 69 73 2E 63 68 61 72 74 2E 5F 6F 70 74 69 6F 6E 73 2E 74 68 65 6D 65 3F 74 68 69 73 2E 63 68 61 72 74 2E 5F 6F 70 74 69 6F 6E 73 2E 74 68 65 6D 65 3A 22 74 68 65 6D 65 31 22 2C 64 3D 7B 7D 2C 65 3D 74 68 69 73 5B 61 5D 3B 63 26 26 28 59 5B 63 5D 26 26 59 5B 63 5D 5B 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 73 4B 65 79 5D 29 26 26 28 64 3D 59 5B 63 5D 5B 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 73 4B 65 79 5D 29 3B 61 20 69 6E 20 62 26 26 28 65 3D 61 20 69 6E 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 5B 61 5D 3A 64 26 26 61 20 69 6E 20 64 3F 64 5B 61 5D 3A 62 5B 61 5D 29 3B 69 66 28 65 3D 3D 3D 74 68 69 73 5B 61 5D 29 72 65 74 75 72 6E 21 31 3B 74 68 69 73 5B 61 5D 3D 65 3B 72 65 74 75 72 6E 21 30 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 74 72 61 63 6B 43 68 61 6E 67 65 73 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 21 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 29 74 68 72 6F 77 22 53 65 73 73 69 6F 6E 20 56 61 72 69 61 62 6C 65 20 53 74 6F 72 65 20 6E 6F 74 20 73 65 74 22 3B 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 5B 61 5D 3D 0A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 5B 61 5D 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 69 73 42 65 69 6E 67 54 72 61 63 6B 65 64 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 5F 6F 6C 64 4F 70 74 69 6F 6E 73 7C 7C 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 5F 6F 6C 64 4F 70 74 69 6F 6E 73 3D 7B 7D 29 3B 72 65 74 75 72 6E 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 5F 6F 6C 64 4F 70 74 69 6F 6E 73 5B 61 5D 3F 21 30 3A 21 31 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 68 61 73 4F 70 74 69 6F 6E 43 68 61 6E 67 65 64 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 21 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 29 74 68 72 6F 77 22 53 65 73 73 69 6F 6E 20 56 61 72 69 61 62 6C 65 20 53 74 6F 72 65 20 6E 6F 74 20 73 65 74 22 3B 72 65 74 75 72 6E 20 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 5B 61 5D 21 3D 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 5B 61 5D 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 61 64 64 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 61 26 26 62 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 5B 61 5D 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 5B 61 5D 7C 7C 5B 5D 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 5B 61 5D 2E 70 75 73 68 28 7B 63 6F 6E 74 65 78 74 3A 63 7C 7C 74 68 69 73 2C 65 76 65 6E 74 48 61 6E 64 6C 65 72 3A 62 7D 29 29 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6D 6F 76 65 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 3D 0A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 61 26 26 62 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 5B 61 5D 29 66 6F 72 28 76 61 72 20 63 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 5B 61 5D 2C 64 3D 30 3B 64 3C 63 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 69 66 28 63 5B 64 5D 2E 65 76 65 6E 74 48 61 6E 64 6C 65 72 3D 3D 3D 62 29 7B 63 5B 64 5D 2E 73 70 6C 69 63 65 28 64 2C 31 29 3B 62 72 65 61 6B 7D 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6D 6F 76 65 41 6C 6C 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 3D 5B 5D 7D 3B 47 2E 70 72 6F 74 6F 74 79 70 65 2E 64 69 73 70 61 74 63 68 45 76 65 6E 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 69 66 28 61 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 5B 61 5D 29 7B 62 3D 62 7C 7C 7B 7D 3B 66 6F 72 28 76 61 72 20 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 5B 61 5D 2C 65 3D 30 3B 65 3C 64 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 64 5B 65 5D 2E 65 76 65 6E 74 48 61 6E 64 6C 65 72 2E 63 61 6C 6C 28 64 5B 65 5D 2E 63 6F 6E 74 65 78 74 2C 62 29 7D 22 66 75 6E 63 74 69 6F 6E 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 5B 61 5D 26 26 74 68 69 73 5B 61 5D 2E 63 61 6C 6C 28 63 7C 7C 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 62 29 7D 3B 4F 28 75 2C 47 29 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 75 70 64 61 74 65 4F 70 74 69 6F 6E 73 3D 0A 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 77 69 64 74 68 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 68 65 69 67 68 74 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 69 6E 74 65 72 61 63 74 69 76 69 74 79 45 6E 61 62 6C 65 64 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 74 68 65 6D 65 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 63 6F 6C 6F 72 53 65 74 22 29 26 26 28 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 3D 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 57 5B 74 68 69 73 2E 63 6F 6C 6F 72 53 65 74 5D 3F 57 5B 74 68 69 73 2E 63 6F 6C 6F 72 53 65 74 5D 3A 57 2E 63 6F 6C 6F 72 53 65 74 31 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 22 29 3B 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 7C 7C 28 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3D 22 72 67 62 61 28 30 2C 30 2C 30 2C 30 29 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 63 75 6C 74 75 72 65 22 29 3B 0A 74 68 69 73 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 3D 6E 65 77 20 63 61 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 63 75 6C 74 75 72 65 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 61 6E 69 6D 61 74 69 6F 6E 45 6E 61 62 6C 65 64 22 29 3B 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 45 6E 61 62 6C 65 64 3D 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 45 6E 61 62 6C 65 64 26 26 74 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 61 6E 69 6D 61 74 69 6F 6E 44 75 72 61 74 69 6F 6E 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 72 61 6E 67 65 43 68 61 6E 67 69 6E 67 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 72 61 6E 67 65 43 68 61 6E 67 65 64 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 65 78 70 6F 72 74 45 6E 61 62 6C 65 64 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 65 78 70 6F 72 74 46 69 6C 65 4E 61 6D 65 22 29 3B 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 7A 6F 6F 6D 54 79 70 65 22 29 3B 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3F 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 7C 7C 28 53 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 62 75 74 74 6F 6E 22 29 29 2C 51 28 74 68 69 73 2C 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 70 61 6E 22 29 2C 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 29 2C 0A 46 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 63 6C 69 63 6B 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 61 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3F 28 61 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 31 2C 61 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 30 2C 51 28 61 2C 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 7A 6F 6F 6D 22 29 29 3A 28 61 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 30 2C 61 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 31 2C 51 28 61 2C 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 70 61 6E 22 29 29 3B 61 2E 72 65 6E 64 65 72 28 29 7D 29 29 2C 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 7C 7C 28 53 28 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 62 75 74 74 6F 6E 22 29 29 2C 51 28 74 68 69 73 2C 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 2C 22 72 65 73 65 74 22 29 2C 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 29 2C 46 28 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 2C 22 63 6C 69 63 6B 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 61 2E 5F 74 6F 6F 6C 54 69 70 2E 68 69 64 65 28 29 3B 61 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 7C 7C 61 2E 70 61 6E 45 6E 61 62 6C 65 64 3F 28 61 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 30 2C 61 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 31 2C 51 28 61 2C 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 70 61 6E 22 29 2C 61 2E 5F 64 65 66 61 75 6C 74 43 75 72 73 6F 72 3D 0A 22 64 65 66 61 75 6C 74 22 2C 61 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 73 74 79 6C 65 2E 63 75 72 73 6F 72 3D 61 2E 5F 64 65 66 61 75 6C 74 43 75 72 73 6F 72 29 3A 28 61 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 31 2C 61 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 31 29 3B 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 26 26 28 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 6E 75 6C 6C 2C 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 6E 75 6C 6C 29 3B 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 26 26 28 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 6E 75 6C 6C 2C 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 6E 75 6C 6C 29 3B 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 32 26 26 28 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 32 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 6E 75 6C 6C 2C 61 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 59 32 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 6E 75 6C 6C 29 3B 61 2E 72 65 73 65 74 4F 76 65 72 6C 61 79 65 64 43 61 6E 76 61 73 28 29 3B 53 28 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 0A 61 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 29 3B 61 2E 5F 64 69 73 70 61 74 63 68 52 61 6E 67 65 45 76 65 6E 74 28 22 72 61 6E 67 65 43 68 61 6E 67 69 6E 67 22 2C 22 72 65 73 65 74 22 29 3B 61 2E 72 65 6E 64 65 72 28 29 3B 61 2E 5F 64 69 73 70 61 74 63 68 52 61 6E 67 65 45 76 65 6E 74 28 22 72 61 6E 67 65 43 68 61 6E 67 65 64 22 2C 22 72 65 73 65 74 22 29 7D 29 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 73 74 79 6C 65 2E 63 75 72 73 6F 72 3D 61 2E 5F 64 65 66 61 75 6C 74 43 75 72 73 6F 72 29 2C 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 7C 7C 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 7C 7C 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 3F 28 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2E 67 65 74 41 74 74 72 69 62 75 74 65 28 22 73 74 61 74 65 22 29 3D 3D 3D 61 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 2E 7A 6F 6F 6D 54 65 78 74 3F 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 30 2C 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 31 29 3A 28 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 30 2C 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 31 29 2C 68 61 28 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 61 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 29 29 3A 28 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 30 2C 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 31 29 29 29 3A 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 31 3B 74 68 69 73 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 3F 0A 74 68 69 73 2E 65 78 70 6F 72 74 45 6E 61 62 6C 65 64 3F 68 61 28 74 68 69 73 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 29 3A 53 28 74 68 69 73 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 29 3A 74 68 69 73 2E 65 78 70 6F 72 74 45 6E 61 62 6C 65 64 26 26 74 26 26 28 74 68 69 73 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 62 75 74 74 6F 6E 22 29 2C 51 28 74 68 69 73 2C 74 68 69 73 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 2C 22 6D 65 6E 75 22 29 2C 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 29 2C 46 28 74 68 69 73 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 2C 22 63 6C 69 63 6B 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 22 6E 6F 6E 65 22 21 3D 3D 61 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 7C 7C 61 2E 5F 64 72 6F 70 44 6F 77 6E 43 6C 6F 73 65 54 69 6D 65 26 26 35 30 30 3E 3D 28 6E 65 77 20 44 61 74 65 29 2E 67 65 74 54 69 6D 65 28 29 2D 61 2E 5F 64 72 6F 70 44 6F 77 6E 43 6C 6F 73 65 54 69 6D 65 2E 67 65 74 54 69 6D 65 28 29 7C 7C 28 61 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 62 6C 6F 63 6B 22 2C 61 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 2E 62 6C 75 72 28 29 2C 61 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 66 6F 63 75 73 28 29 29 7D 2C 21 30 29 29 3B 69 66 28 21 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 26 26 74 68 69 73 2E 65 78 70 6F 72 74 45 6E 61 62 6C 65 64 26 26 0A 74 29 7B 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 3B 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 74 61 62 69 6E 64 65 78 22 2C 2D 31 29 3B 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 73 74 79 6C 65 2E 63 73 73 54 65 78 74 3D 22 70 6F 73 69 74 69 6F 6E 3A 20 61 62 73 6F 6C 75 74 65 3B 20 2D 77 65 62 6B 69 74 2D 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 20 2D 6D 6F 7A 2D 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 20 2D 6D 73 2D 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 20 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 20 63 75 72 73 6F 72 3A 20 70 6F 69 6E 74 65 72 3B 72 69 67 68 74 3A 20 31 70 78 3B 74 6F 70 3A 20 32 35 70 78 3B 6D 69 6E 2D 77 69 64 74 68 3A 20 31 32 30 70 78 3B 6F 75 74 6C 69 6E 65 3A 20 30 3B 62 6F 72 64 65 72 3A 20 31 70 78 20 73 6F 6C 69 64 20 73 69 6C 76 65 72 3B 66 6F 6E 74 2D 73 69 7A 65 3A 20 31 34 70 78 3B 66 6F 6E 74 2D 66 61 6D 69 6C 79 3A 20 43 61 6C 69 62 72 69 2C 20 56 65 72 64 61 6E 61 2C 20 73 61 6E 73 2D 73 65 72 69 66 3B 70 61 64 64 69 6E 67 3A 20 35 70 78 20 30 70 78 20 35 70 78 20 30 70 78 3B 74 65 78 74 2D 61 6C 69 67 6E 3A 20 6C 65 66 74 3B 62 61 63 6B 67 72 6F 75 6E 64 2D 63 6F 6C 6F 72 3A 20 23 66 66 66 3B 6C 69 6E 65 2D 68 65 69 67 68 74 3A 20 32 30 70 78 3B 62 6F 78 2D 73 68 61 64 6F 77 3A 20 32 70 78 20 32 70 78 20 31 30 70 78 20 23 38 38 38 38 38 38 3B 22 3B 0A 61 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 6E 6F 6E 65 22 3B 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 29 3B 46 28 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2C 22 62 6C 75 72 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 53 28 61 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 29 3B 61 2E 5F 64 72 6F 70 44 6F 77 6E 43 6C 6F 73 65 54 69 6D 65 3D 6E 65 77 20 44 61 74 65 7D 2C 21 30 29 3B 76 61 72 20 62 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 3B 62 2E 73 74 79 6C 65 2E 63 73 73 54 65 78 74 3D 22 70 61 64 64 69 6E 67 3A 20 32 70 78 20 31 35 70 78 20 32 70 78 20 31 30 70 78 22 3B 62 2E 69 6E 6E 65 72 48 54 4D 4C 3D 74 68 69 73 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 2E 73 61 76 65 4A 50 47 54 65 78 74 3B 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 62 29 3B 46 28 62 2C 22 6D 6F 75 73 65 6F 76 65 72 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 73 74 79 6C 65 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3D 22 23 45 45 45 45 45 45 22 7D 2C 21 30 29 3B 46 28 62 2C 22 6D 6F 75 73 65 6F 75 74 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 73 74 79 6C 65 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3D 22 74 72 61 6E 73 70 61 72 65 6E 74 22 7D 2C 21 30 29 3B 46 28 62 2C 22 63 6C 69 63 6B 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 7A 61 28 61 2E 63 61 6E 76 61 73 2C 0A 22 6A 70 65 67 22 2C 61 2E 65 78 70 6F 72 74 46 69 6C 65 4E 61 6D 65 29 3B 53 28 61 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 29 7D 2C 21 30 29 3B 62 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 3B 62 2E 73 74 79 6C 65 2E 63 73 73 54 65 78 74 3D 22 70 61 64 64 69 6E 67 3A 20 32 70 78 20 31 35 70 78 20 32 70 78 20 31 30 70 78 22 3B 62 2E 69 6E 6E 65 72 48 54 4D 4C 3D 74 68 69 73 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 2E 73 61 76 65 50 4E 47 54 65 78 74 3B 74 68 69 73 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 62 29 3B 46 28 62 2C 22 6D 6F 75 73 65 6F 76 65 72 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 73 74 79 6C 65 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3D 22 23 45 45 45 45 45 45 22 7D 2C 21 30 29 3B 46 28 62 2C 22 6D 6F 75 73 65 6F 75 74 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 73 74 79 6C 65 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3D 22 74 72 61 6E 73 70 61 72 65 6E 74 22 7D 2C 21 30 29 3B 46 28 62 2C 22 63 6C 69 63 6B 22 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 7A 61 28 61 2E 63 61 6E 76 61 73 2C 22 70 6E 67 22 2C 61 2E 65 78 70 6F 72 74 46 69 6C 65 4E 61 6D 65 29 3B 53 28 61 2E 5F 64 72 6F 70 64 6F 77 6E 4D 65 6E 75 29 7D 2C 21 30 29 7D 22 6E 6F 6E 65 22 21 3D 3D 74 68 69 73 2E 5F 74 6F 6F 6C 42 61 72 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 26 26 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 26 26 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3F 51 28 61 2C 0A 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 7A 6F 6F 6D 22 29 3A 51 28 61 2C 61 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 70 61 6E 22 29 2C 61 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 2E 67 65 74 41 74 74 72 69 62 75 74 65 28 22 73 74 61 74 65 22 29 21 3D 3D 61 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 2E 72 65 73 65 74 54 65 78 74 26 26 51 28 61 2C 61 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 2C 22 72 65 73 65 74 22 29 29 3B 69 66 28 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 6D 61 2E 43 68 61 72 74 2E 63 72 65 64 69 74 48 72 65 66 29 74 68 69 73 2E 63 72 65 64 69 74 48 72 65 66 3D 22 22 2C 74 68 69 73 2E 63 72 65 64 69 74 54 65 78 74 3D 22 22 3B 65 6C 73 65 20 76 61 72 20 63 3D 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 63 72 65 64 69 74 54 65 78 74 22 29 2C 64 3D 74 68 69 73 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 22 63 72 65 64 69 74 48 72 65 66 22 29 3B 69 66 28 30 3D 3D 3D 74 68 69 73 2E 72 65 6E 64 65 72 43 6F 75 6E 74 7C 7C 63 7C 7C 64 29 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 68 72 65 66 22 2C 74 68 69 73 2E 63 72 65 64 69 74 48 72 65 66 29 2C 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 69 6E 6E 65 72 48 54 4D 4C 3D 74 68 69 73 2E 63 72 65 64 69 74 54 65 78 74 3B 74 68 69 73 2E 63 72 65 64 69 74 48 72 65 66 26 26 74 68 69 73 2E 63 72 65 64 69 74 54 65 78 74 3F 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 70 61 72 65 6E 74 45 6C 65 6D 65 6E 74 7C 7C 0A 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 29 3A 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 2E 70 61 72 65 6E 74 45 6C 65 6D 65 6E 74 26 26 74 68 69 73 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 72 65 6D 6F 76 65 43 68 69 6C 64 28 74 68 69 73 2E 5F 63 72 65 64 69 74 4C 69 6E 6B 29 3B 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 6F 6F 6C 54 69 70 26 26 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 5F 6F 70 74 69 6F 6E 73 21 3D 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 6F 6F 6C 54 69 70 26 26 28 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 5F 6F 70 74 69 6F 6E 73 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 6F 6F 6C 54 69 70 29 3B 66 6F 72 28 76 61 72 20 65 20 69 6E 20 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 5F 6F 70 74 69 6F 6E 73 29 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 5F 6F 70 74 69 6F 6E 73 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 65 29 26 26 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 75 70 64 61 74 65 4F 70 74 69 6F 6E 28 65 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 75 70 64 61 74 65 53 69 7A 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 30 2C 62 3D 30 3B 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 77 69 64 74 68 3F 61 3D 74 68 69 73 2E 77 69 64 74 68 3A 74 68 69 73 2E 77 69 64 74 68 3D 61 3D 30 3C 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 3A 0A 74 68 69 73 2E 77 69 64 74 68 3B 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 68 65 69 67 68 74 3F 62 3D 74 68 69 73 2E 68 65 69 67 68 74 3A 74 68 69 73 2E 68 65 69 67 68 74 3D 62 3D 30 3C 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 3F 74 68 69 73 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 3A 74 68 69 73 2E 68 65 69 67 68 74 3B 72 65 74 75 72 6E 20 74 68 69 73 2E 63 61 6E 76 61 73 2E 77 69 64 74 68 21 3D 3D 61 2A 4A 7C 7C 74 68 69 73 2E 63 61 6E 76 61 73 2E 68 65 69 67 68 74 21 3D 3D 62 2A 4A 3F 28 66 61 28 74 68 69 73 2E 63 61 6E 76 61 73 2C 61 2C 62 29 2C 66 61 28 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2C 61 2C 62 29 2C 66 61 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 61 6E 76 61 73 2C 61 2C 62 29 2C 21 30 29 3A 21 31 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 69 6E 69 74 69 61 6C 69 7A 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 5F 61 6E 69 6D 61 74 6F 72 3F 74 68 69 73 2E 5F 61 6E 69 6D 61 74 6F 72 2E 63 61 6E 63 65 6C 41 6C 6C 41 6E 69 6D 61 74 69 6F 6E 73 28 29 3A 74 68 69 73 2E 5F 61 6E 69 6D 61 74 6F 72 3D 6E 65 77 20 71 61 28 74 68 69 73 29 3B 74 68 69 73 2E 72 65 6D 6F 76 65 41 6C 6C 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 73 28 29 3B 74 68 69 73 2E 64 69 73 61 62 6C 65 54 6F 6F 6C 54 69 70 3D 21 31 3B 74 68 69 73 2E 5F 61 78 65 73 3D 5B 5D 3B 74 68 69 73 2E 70 69 65 44 6F 75 67 68 6E 75 74 43 6C 69 63 6B 48 61 6E 64 6C 65 72 3D 6E 75 6C 6C 3B 0A 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 26 26 74 68 69 73 2E 63 61 6E 63 65 6C 52 65 71 75 65 73 74 41 6E 69 6D 46 72 61 6D 65 2E 63 61 6C 6C 28 77 69 6E 64 6F 77 2C 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 29 3B 74 68 69 73 2E 5F 75 70 64 61 74 65 4F 70 74 69 6F 6E 73 28 29 3B 74 68 69 73 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 3D 74 26 26 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 45 6E 61 62 6C 65 64 26 26 30 3D 3D 3D 74 68 69 73 2E 72 65 6E 64 65 72 43 6F 75 6E 74 3B 74 68 69 73 2E 5F 75 70 64 61 74 65 53 69 7A 65 28 29 3B 74 68 69 73 2E 63 6C 65 61 72 43 61 6E 76 61 73 28 29 3B 74 68 69 73 2E 63 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 68 69 73 2E 61 78 69 73 59 32 3D 74 68 69 73 2E 61 78 69 73 59 3D 74 68 69 73 2E 61 78 69 73 58 3D 6E 75 6C 6C 3B 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 3D 5B 5D 3B 74 68 69 73 2E 5F 64 61 74 61 49 6E 52 65 6E 64 65 72 65 64 4F 72 64 65 72 3D 5B 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 73 3D 5B 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 72 65 73 65 74 28 29 3B 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 3D 7B 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3A 6E 75 6C 6C 2C 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 3A 6E 75 6C 6C 2C 70 6C 6F 74 54 79 70 65 73 3A 5B 5D 7D 3B 74 68 69 73 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 3D 6E 65 77 20 5A 28 30 2C 30 2C 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 2C 0A 32 29 3B 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 26 26 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 72 65 73 65 74 28 29 3B 74 68 69 73 2E 64 61 74 61 3D 5B 5D 3B 66 6F 72 28 76 61 72 20 61 3D 30 2C 62 3D 30 3B 62 3C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 64 61 74 61 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 69 66 28 61 2B 2B 2C 21 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 64 61 74 61 5B 62 5D 2E 74 79 70 65 7C 7C 30 3C 3D 75 2E 5F 73 75 70 70 6F 72 74 65 64 43 68 61 72 74 54 79 70 65 73 2E 69 6E 64 65 78 4F 66 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 64 61 74 61 5B 62 5D 2E 74 79 70 65 29 29 7B 76 61 72 20 63 3D 6E 65 77 20 54 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 64 61 74 61 5B 62 5D 2C 74 68 69 73 2E 74 68 65 6D 65 2C 61 2D 31 2C 2B 2B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6C 61 73 74 4F 62 6A 65 63 74 49 64 29 3B 6E 75 6C 6C 3D 3D 3D 63 2E 6E 61 6D 65 26 26 28 63 2E 6E 61 6D 65 3D 22 44 61 74 61 53 65 72 69 65 73 20 22 2B 61 29 3B 6E 75 6C 6C 3D 3D 3D 63 2E 63 6F 6C 6F 72 3F 31 3C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 64 61 74 61 2E 6C 65 6E 67 74 68 3F 28 63 2E 5F 63 6F 6C 6F 72 53 65 74 3D 5B 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 5B 63 2E 69 6E 64 65 78 25 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 5D 2C 63 2E 63 6F 6C 6F 72 3D 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 5B 63 2E 69 6E 64 65 78 25 0A 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 29 3A 63 2E 5F 63 6F 6C 6F 72 53 65 74 3D 22 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 61 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 6F 68 6C 63 22 3D 3D 3D 63 2E 74 79 70 65 3F 5B 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 5B 30 5D 5D 3A 74 68 69 73 2E 5F 73 65 6C 65 63 74 65 64 43 6F 6C 6F 72 53 65 74 3A 63 2E 5F 63 6F 6C 6F 72 53 65 74 3D 5B 63 2E 63 6F 6C 6F 72 5D 3B 6E 75 6C 6C 3D 3D 3D 63 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 28 22 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 29 26 26 63 2E 64 61 74 61 50 6F 69 6E 74 73 26 26 63 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 3C 74 68 69 73 2E 77 69 64 74 68 2F 0A 31 36 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 63 2E 74 79 70 65 29 26 26 28 63 2E 6D 61 72 6B 65 72 53 69 7A 65 3D 38 29 3B 22 62 75 62 62 6C 65 22 21 3D 3D 63 2E 74 79 70 65 26 26 22 73 63 61 74 74 65 72 22 21 3D 3D 63 2E 74 79 70 65 7C 7C 21 63 2E 64 61 74 61 50 6F 69 6E 74 73 7C 7C 28 63 2E 64 61 74 61 50 6F 69 6E 74 73 2E 73 6F 6D 65 3F 63 2E 64 61 74 61 50 6F 69 6E 74 73 2E 73 6F 6D 65 28 66 75 6E 63 74 69 6F 6E 28 61 29 7B 72 65 74 75 72 6E 20 61 2E 78 7D 29 26 26 63 2E 64 61 74 61 50 6F 69 6E 74 73 2E 73 6F 72 74 28 76 61 29 3A 63 2E 64 61 74 61 50 6F 69 6E 74 73 2E 73 6F 72 74 28 76 61 29 29 3B 74 68 69 73 2E 64 61 74 61 2E 70 75 73 68 28 63 29 3B 76 61 72 20 64 3D 63 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 2C 65 3B 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 64 3F 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 65 3D 27 59 6F 75 20 63 61 6E 6E 6F 74 20 63 6F 6D 62 69 6E 65 20 22 27 2B 63 2E 74 79 70 65 2B 27 22 20 77 69 74 68 20 62 61 72 20 63 68 61 72 74 27 3A 22 6E 6F 6E 65 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 65 3D 27 59 6F 75 20 63 61 6E 6E 6F 74 20 63 6F 6D 62 69 6E 65 20 22 27 2B 63 2E 74 79 70 65 2B 27 22 20 77 69 74 68 20 70 69 65 20 63 68 61 72 74 27 3A 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 28 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3D 0A 22 6E 6F 72 6D 61 6C 22 29 3A 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 64 3F 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 65 3D 27 59 6F 75 20 63 61 6E 6E 6F 74 20 63 6F 6D 62 69 6E 65 20 22 27 2B 63 2E 74 79 70 65 2B 27 22 20 77 69 74 68 20 6C 69 6E 65 2C 20 61 72 65 61 2C 20 63 6F 6C 75 6D 6E 20 6F 72 20 70 69 65 20 63 68 61 72 74 27 3A 22 6E 6F 6E 65 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 65 3D 27 59 6F 75 20 63 61 6E 6E 6F 74 20 63 6F 6D 62 69 6E 65 20 22 27 2B 63 2E 74 79 70 65 2B 27 22 20 77 69 74 68 20 70 69 65 20 63 68 61 72 74 27 3A 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 28 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3D 22 78 79 53 77 61 70 70 65 64 22 29 3A 22 6E 6F 6E 65 22 3D 3D 64 26 26 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 65 3D 27 59 6F 75 20 63 61 6E 6E 6F 74 20 63 6F 6D 62 69 6E 65 20 22 27 2B 63 2E 74 79 70 65 2B 27 22 20 77 69 74 68 20 6C 69 6E 65 2C 20 61 72 65 61 2C 20 63 6F 6C 75 6D 6E 20 6F 72 20 62 61 72 20 63 68 61 72 74 27 3A 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 65 3D 27 59 6F 75 20 63 61 6E 6E 6F 74 20 63 6F 6D 62 69 6E 65 20 22 27 2B 63 2E 74 79 70 65 2B 0A 27 22 20 77 69 74 68 20 62 61 72 20 63 68 61 72 74 27 3A 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 28 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3D 22 6E 6F 6E 65 22 29 29 3B 69 66 28 65 26 26 77 69 6E 64 6F 77 2E 63 6F 6E 73 6F 6C 65 29 7B 77 69 6E 64 6F 77 2E 63 6F 6E 73 6F 6C 65 2E 6C 6F 67 28 65 29 3B 72 65 74 75 72 6E 7D 7D 74 68 69 73 2E 5F 6F 62 6A 65 63 74 73 49 6E 69 74 69 61 6C 69 7A 65 64 3D 21 30 7D 3B 75 2E 5F 73 75 70 70 6F 72 74 65 64 43 68 61 72 74 54 79 70 65 73 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 61 2E 69 6E 64 65 78 4F 66 7C 7C 28 61 2E 69 6E 64 65 78 4F 66 3D 45 61 29 3B 72 65 74 75 72 6E 20 61 7D 28 22 6C 69 6E 65 20 73 74 65 70 4C 69 6E 65 20 73 70 6C 69 6E 65 20 63 6F 6C 75 6D 6E 20 61 72 65 61 20 73 74 65 70 41 72 65 61 20 73 70 6C 69 6E 65 41 72 65 61 20 62 61 72 20 62 75 62 62 6C 65 20 73 63 61 74 74 65 72 20 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 20 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 20 73 74 61 63 6B 65 64 42 61 72 20 73 74 61 63 6B 65 64 42 61 72 31 30 30 20 73 74 61 63 6B 65 64 41 72 65 61 20 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 20 63 61 6E 64 6C 65 73 74 69 63 6B 20 6F 68 6C 63 20 72 61 6E 67 65 43 6F 6C 75 6D 6E 20 72 61 6E 67 65 42 61 72 20 72 61 6E 67 65 41 72 65 61 20 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 20 70 69 65 20 64 6F 75 67 68 6E 75 74 20 66 75 6E 6E 65 6C 22 2E 73 70 6C 69 74 28 22 20 22 29 29 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3D 0A 66 75 6E 63 74 69 6F 6E 28 61 29 7B 61 26 26 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 3D 61 29 3B 74 68 69 73 2E 5F 69 6E 69 74 69 61 6C 69 7A 65 28 29 3B 76 61 72 20 62 3D 5B 5D 3B 66 6F 72 28 61 3D 30 3B 61 3C 74 68 69 73 2E 64 61 74 61 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 7C 7C 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 61 78 69 73 59 54 79 70 65 26 26 22 70 72 69 6D 61 72 79 22 21 3D 3D 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 61 78 69 73 59 54 79 70 65 3F 22 73 65 63 6F 6E 64 61 72 79 22 3D 3D 3D 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 61 78 69 73 59 54 79 70 65 26 26 28 74 68 69 73 2E 61 78 69 73 59 32 7C 7C 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 74 68 69 73 2E 5F 61 78 65 73 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 59 32 3D 6E 65 77 20 43 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 59 32 2C 22 61 78 69 73 59 22 2C 22 72 69 67 68 74 22 29 29 3A 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 74 68 69 73 2E 5F 61 78 65 73 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 59 32 3D 6E 65 77 20 43 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 59 32 2C 0A 22 61 78 69 73 59 22 2C 22 74 6F 70 22 29 29 29 2C 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 61 78 69 73 59 3D 74 68 69 73 2E 61 78 69 73 59 32 29 3A 28 74 68 69 73 2E 61 78 69 73 59 7C 7C 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 74 68 69 73 2E 5F 61 78 65 73 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 59 3D 6E 65 77 20 43 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 59 2C 22 61 78 69 73 59 22 2C 22 6C 65 66 74 22 29 29 3A 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 74 68 69 73 2E 5F 61 78 65 73 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 59 3D 6E 65 77 20 43 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 59 2C 22 61 78 69 73 59 22 2C 22 62 6F 74 74 6F 6D 22 29 29 29 2C 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 61 78 69 73 59 3D 74 68 69 73 2E 61 78 69 73 59 29 2C 74 68 69 73 2E 61 78 69 73 58 7C 7C 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 74 68 69 73 2E 5F 61 78 65 73 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 58 3D 6E 65 77 20 43 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2C 22 61 78 69 73 58 22 2C 22 62 6F 74 74 6F 6D 22 29 29 3A 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 0A 74 68 69 73 2E 5F 61 78 65 73 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 58 3D 6E 65 77 20 43 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2C 22 61 78 69 73 58 22 2C 22 6C 65 66 74 22 29 29 29 2C 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 61 78 69 73 58 3D 74 68 69 73 2E 61 78 69 73 58 3B 74 68 69 73 2E 61 78 69 73 59 26 26 74 68 69 73 2E 61 78 69 73 59 32 26 26 28 30 3C 74 68 69 73 2E 61 78 69 73 59 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 26 26 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 61 78 69 73 59 32 2E 5F 6F 70 74 69 6F 6E 73 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3F 74 68 69 73 2E 61 78 69 73 59 32 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3D 30 3A 30 3C 74 68 69 73 2E 61 78 69 73 59 32 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 26 26 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 61 78 69 73 59 2E 5F 6F 70 74 69 6F 6E 73 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 26 26 28 74 68 69 73 2E 61 78 69 73 59 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3D 30 29 29 3B 76 61 72 20 63 3D 21 31 3B 69 66 28 30 3C 74 68 69 73 2E 5F 61 78 65 73 2E 6C 65 6E 67 74 68 26 26 28 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 7C 7C 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 29 29 66 6F 72 28 61 3D 30 3B 61 3C 74 68 69 73 2E 5F 61 78 65 73 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 69 66 28 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 5F 61 78 65 73 5B 61 5D 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 0A 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 5F 61 78 65 73 5B 61 5D 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 7B 63 3D 21 30 3B 62 72 65 61 6B 7D 63 3F 68 61 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 29 3A 28 53 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 29 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 26 26 28 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3D 21 30 2C 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3D 21 31 29 29 3B 74 68 69 73 2E 5F 70 72 6F 63 65 73 73 44 61 74 61 28 29 3B 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 69 74 6C 65 26 26 28 74 68 69 73 2E 5F 74 69 74 6C 65 3D 6E 65 77 20 62 61 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 74 69 74 6C 65 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3F 62 2E 70 75 73 68 28 74 68 69 73 2E 5F 74 69 74 6C 65 29 3A 74 68 69 73 2E 5F 74 69 74 6C 65 2E 72 65 6E 64 65 72 28 29 29 3B 69 66 28 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 73 75 62 74 69 74 6C 65 73 29 66 6F 72 28 61 3D 30 3B 61 3C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 73 75 62 74 69 74 6C 65 73 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 74 68 69 73 2E 73 75 62 74 69 74 6C 65 73 3D 5B 5D 2C 63 3D 6E 65 77 20 6A 61 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 73 75 62 74 69 74 6C 65 73 5B 61 5D 29 2C 74 68 69 73 2E 73 75 62 74 69 74 6C 65 73 2E 70 75 73 68 28 63 29 2C 0A 63 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3F 62 2E 70 75 73 68 28 63 29 3A 63 2E 72 65 6E 64 65 72 28 29 3B 74 68 69 73 2E 6C 65 67 65 6E 64 3D 6E 65 77 20 6B 61 28 74 68 69 73 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 65 67 65 6E 64 2C 74 68 69 73 2E 74 68 65 6D 65 29 3B 66 6F 72 28 61 3D 30 3B 61 3C 74 68 69 73 2E 64 61 74 61 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 28 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 73 68 6F 77 49 6E 4C 65 67 65 6E 64 7C 7C 22 70 69 65 22 3D 3D 3D 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 74 79 70 65 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 74 68 69 73 2E 64 61 74 61 5B 61 5D 2E 74 79 70 65 29 26 26 74 68 69 73 2E 6C 65 67 65 6E 64 2E 64 61 74 61 53 65 72 69 65 73 2E 70 75 73 68 28 74 68 69 73 2E 64 61 74 61 5B 61 5D 29 3B 74 68 69 73 2E 6C 65 67 65 6E 64 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3F 62 2E 70 75 73 68 28 74 68 69 73 2E 6C 65 67 65 6E 64 29 3A 74 68 69 73 2E 6C 65 67 65 6E 64 2E 72 65 6E 64 65 72 28 29 3B 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 7C 7C 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 43 2E 73 65 74 4C 61 79 6F 75 74 41 6E 64 52 65 6E 64 65 72 28 74 68 69 73 2E 61 78 69 73 58 2C 74 68 69 73 2E 61 78 69 73 59 2C 74 68 69 73 2E 61 78 69 73 59 32 2C 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 2C 74 68 69 73 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 67 65 74 46 72 65 65 53 70 61 63 65 28 29 29 3B 0A 65 6C 73 65 20 69 66 28 22 6E 6F 6E 65 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 74 68 69 73 2E 70 72 65 70 61 72 65 50 6C 6F 74 41 72 65 61 28 29 3B 65 6C 73 65 20 72 65 74 75 72 6E 3B 66 6F 72 28 61 3D 30 3B 61 3C 62 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 62 5B 61 5D 2E 72 65 6E 64 65 72 28 29 3B 76 61 72 20 64 3D 5B 5D 3B 69 66 28 74 68 69 73 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 29 7B 76 61 72 20 65 3D 56 28 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 3B 65 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 2E 64 72 61 77 49 6D 61 67 65 28 74 68 69 73 2E 63 61 6E 76 61 73 2C 30 2C 30 2C 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 7D 66 6F 72 28 61 3D 30 3B 61 3C 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 66 6F 72 28 62 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 5B 61 5D 2C 63 3D 30 3B 63 3C 62 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 76 61 72 20 66 3D 62 2E 70 6C 6F 74 55 6E 69 74 73 5B 63 5D 2C 67 3D 6E 75 6C 6C 3B 66 2E 74 61 72 67 65 74 43 61 6E 76 61 73 3D 6E 75 6C 6C 3B 74 68 69 73 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 26 26 28 66 2E 74 61 72 67 65 74 43 61 6E 76 61 73 3D 56 28 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 2C 66 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 3D 66 2E 74 61 72 67 65 74 43 61 6E 76 61 73 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 29 3B 0A 22 6C 69 6E 65 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 4C 69 6E 65 28 66 29 3A 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 65 70 4C 69 6E 65 28 66 29 3A 22 73 70 6C 69 6E 65 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 70 6C 69 6E 65 28 66 29 3A 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 43 6F 6C 75 6D 6E 28 66 29 3A 22 62 61 72 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 42 61 72 28 66 29 3A 22 61 72 65 61 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 41 72 65 61 28 66 29 3A 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 65 70 41 72 65 61 28 66 29 3A 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 70 6C 69 6E 65 41 72 65 61 28 66 29 3A 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 28 66 29 3A 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 28 66 29 3A 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 42 61 72 28 66 29 3A 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 0A 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 42 61 72 31 30 30 28 66 29 3A 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 41 72 65 61 28 66 29 3A 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 41 72 65 61 31 30 30 28 66 29 3A 22 62 75 62 62 6C 65 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 42 75 62 62 6C 65 28 66 29 3A 22 73 63 61 74 74 65 72 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 53 63 61 74 74 65 72 28 66 29 3A 22 70 69 65 22 3D 3D 3D 66 2E 74 79 70 65 3F 74 68 69 73 2E 72 65 6E 64 65 72 50 69 65 28 66 29 3A 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 66 2E 74 79 70 65 3F 74 68 69 73 2E 72 65 6E 64 65 72 50 69 65 28 66 29 3A 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 43 61 6E 64 6C 65 73 74 69 63 6B 28 66 29 3A 22 6F 68 6C 63 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 43 61 6E 64 6C 65 73 74 69 63 6B 28 66 29 3A 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 52 61 6E 67 65 43 6F 6C 75 6D 6E 28 66 29 3A 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 52 61 6E 67 65 42 61 72 28 66 29 3A 22 72 61 6E 67 65 41 72 65 61 22 3D 3D 3D 0A 66 2E 74 79 70 65 3F 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 52 61 6E 67 65 41 72 65 61 28 66 29 3A 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 66 2E 74 79 70 65 26 26 28 67 3D 74 68 69 73 2E 72 65 6E 64 65 72 52 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 28 66 29 29 3B 66 6F 72 28 76 61 72 20 6B 3D 30 3B 6B 3C 66 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 74 68 69 73 2E 5F 64 61 74 61 49 6E 52 65 6E 64 65 72 65 64 4F 72 64 65 72 2E 70 75 73 68 28 74 68 69 73 2E 64 61 74 61 5B 66 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 6B 5D 5D 29 3B 74 68 69 73 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 26 26 67 26 26 64 2E 70 75 73 68 28 67 29 7D 74 68 69 73 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 26 26 30 3C 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 26 26 28 61 3D 56 28 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 2E 67 65 74 43 6F 6E 74 65 78 74 28 22 32 64 22 29 2C 64 2E 70 75 73 68 28 74 68 69 73 2E 72 65 6E 64 65 72 49 6E 64 65 78 4C 61 62 65 6C 73 28 61 29 29 29 3B 76 61 72 20 70 3D 74 68 69 73 3B 30 3C 64 2E 6C 65 6E 67 74 68 3F 28 70 2E 64 69 73 61 62 6C 65 54 6F 6F 6C 54 69 70 3D 21 30 2C 70 2E 5F 61 6E 69 6D 61 74 6F 72 2E 61 6E 69 6D 61 74 65 28 32 30 30 2C 70 2E 61 6E 69 6D 61 74 69 6F 6E 44 75 72 61 74 69 6F 6E 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 70 2E 63 74 78 2E 63 6C 65 61 72 52 65 63 74 28 30 2C 30 2C 70 2E 77 69 64 74 68 2C 70 2E 68 65 69 67 68 74 29 3B 0A 70 2E 63 74 78 2E 64 72 61 77 49 6D 61 67 65 28 65 2C 30 2C 30 2C 4D 61 74 68 2E 66 6C 6F 6F 72 28 70 2E 77 69 64 74 68 2A 4A 29 2C 4D 61 74 68 2E 66 6C 6F 6F 72 28 70 2E 68 65 69 67 68 74 2A 4A 29 2C 30 2C 30 2C 70 2E 77 69 64 74 68 2C 70 2E 68 65 69 67 68 74 29 3B 66 6F 72 28 76 61 72 20 63 3D 30 3B 63 3C 64 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 67 3D 64 5B 63 5D 2C 31 3E 61 26 26 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 67 2E 73 74 61 72 74 54 69 6D 65 50 65 72 63 65 6E 74 3F 61 3E 3D 67 2E 73 74 61 72 74 54 69 6D 65 50 65 72 63 65 6E 74 26 26 67 2E 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 28 67 2E 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 28 61 2D 67 2E 73 74 61 72 74 54 69 6D 65 50 65 72 63 65 6E 74 2C 30 2C 31 2C 31 2D 67 2E 73 74 61 72 74 54 69 6D 65 50 65 72 63 65 6E 74 29 2C 67 29 3A 67 2E 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 28 67 2E 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 28 61 2C 30 2C 31 2C 31 29 2C 67 29 3B 70 2E 64 69 73 70 61 74 63 68 45 76 65 6E 74 28 22 64 61 74 61 41 6E 69 6D 61 74 69 6F 6E 49 74 65 72 61 74 69 6F 6E 45 6E 64 22 2C 7B 63 68 61 72 74 3A 70 7D 29 7D 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 64 3D 5B 5D 3B 66 6F 72 28 76 61 72 20 61 3D 30 3B 61 3C 70 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 66 6F 72 28 76 61 72 20 63 3D 70 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 5B 61 5D 2C 62 3D 30 3B 62 3C 63 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 63 2E 70 6C 6F 74 55 6E 69 74 73 5B 62 5D 2E 74 61 72 67 65 74 43 61 6E 76 61 73 3D 0A 6E 75 6C 6C 3B 65 3D 6E 75 6C 6C 3B 70 2E 64 69 73 61 62 6C 65 54 6F 6F 6C 54 69 70 3D 21 31 7D 29 29 3A 28 30 3C 70 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 26 26 70 2E 72 65 6E 64 65 72 49 6E 64 65 78 4C 61 62 65 6C 73 28 29 2C 70 2E 64 69 73 70 61 74 63 68 45 76 65 6E 74 28 22 64 61 74 61 41 6E 69 6D 61 74 69 6F 6E 49 74 65 72 61 74 69 6F 6E 45 6E 64 22 2C 7B 63 68 61 72 74 3A 70 7D 29 29 3B 74 68 69 73 2E 61 74 74 61 63 68 50 6C 6F 74 41 72 65 61 45 76 65 6E 74 48 61 6E 64 6C 65 72 73 28 29 3B 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 7C 7C 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 7C 7C 21 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 7C 7C 22 6E 6F 6E 65 22 3D 3D 3D 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 29 7C 7C 53 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 29 3B 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 5F 75 70 64 61 74 65 54 6F 6F 6C 54 69 70 28 29 3B 74 68 69 73 2E 72 65 6E 64 65 72 43 6F 75 6E 74 2B 2B 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 61 74 74 61 63 68 50 6C 6F 74 41 72 65 61 45 76 65 6E 74 48 61 6E 64 6C 65 72 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 61 74 74 61 63 68 45 76 65 6E 74 28 7B 63 6F 6E 74 65 78 74 3A 74 68 69 73 2C 63 68 61 72 74 3A 74 68 69 73 2C 6D 6F 75 73 65 64 6F 77 6E 3A 74 68 69 73 2E 5F 70 6C 6F 74 41 72 65 61 4D 6F 75 73 65 44 6F 77 6E 2C 6D 6F 75 73 65 75 70 3A 74 68 69 73 2E 5F 70 6C 6F 74 41 72 65 61 4D 6F 75 73 65 55 70 2C 0A 6D 6F 75 73 65 6D 6F 76 65 3A 74 68 69 73 2E 5F 70 6C 6F 74 41 72 65 61 4D 6F 75 73 65 4D 6F 76 65 2C 63 75 72 73 6F 72 3A 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 3F 22 63 6F 6C 2D 72 65 73 69 7A 65 22 3A 22 6D 6F 76 65 22 2C 63 75 72 73 6F 72 3A 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3F 22 6D 6F 76 65 22 3A 22 64 65 66 61 75 6C 74 22 2C 63 61 70 74 75 72 65 3A 21 30 2C 62 6F 75 6E 64 73 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 7D 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 63 61 74 65 67 6F 72 69 73 65 44 61 74 61 53 65 72 69 65 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 66 6F 72 28 76 61 72 20 61 3D 22 22 2C 62 3D 30 3B 62 3C 74 68 69 73 2E 64 61 74 61 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 69 66 28 61 3D 74 68 69 73 2E 64 61 74 61 5B 62 5D 2C 61 2E 64 61 74 61 50 6F 69 6E 74 73 26 26 28 30 21 3D 3D 61 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 26 26 61 2E 76 69 73 69 62 6C 65 29 26 26 30 3C 3D 75 2E 5F 73 75 70 70 6F 72 74 65 64 43 68 61 72 74 54 79 70 65 73 2E 69 6E 64 65 78 4F 66 28 61 2E 74 79 70 65 29 29 7B 66 6F 72 28 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 21 31 2C 65 3D 6E 75 6C 6C 2C 66 3D 21 31 2C 67 3D 30 3B 67 3C 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 69 66 28 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 5B 67 5D 2E 74 79 70 65 3D 3D 3D 61 2E 74 79 70 65 29 7B 64 3D 21 30 3B 63 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 5B 67 5D 3B 0A 62 72 65 61 6B 7D 64 7C 7C 28 63 3D 7B 74 79 70 65 3A 61 2E 74 79 70 65 2C 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 3A 30 2C 70 6C 6F 74 55 6E 69 74 73 3A 5B 5D 7D 2C 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 2E 70 75 73 68 28 63 29 29 3B 66 6F 72 28 67 3D 30 3B 67 3C 63 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 69 66 28 63 2E 70 6C 6F 74 55 6E 69 74 73 5B 67 5D 2E 61 78 69 73 59 54 79 70 65 3D 3D 3D 61 2E 61 78 69 73 59 54 79 70 65 29 7B 66 3D 21 30 3B 65 3D 63 2E 70 6C 6F 74 55 6E 69 74 73 5B 67 5D 3B 62 72 65 61 6B 7D 66 7C 7C 28 65 3D 7B 74 79 70 65 3A 61 2E 74 79 70 65 2C 70 72 65 76 69 6F 75 73 44 61 74 61 53 65 72 69 65 73 43 6F 75 6E 74 3A 30 2C 69 6E 64 65 78 3A 63 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 2C 70 6C 6F 74 54 79 70 65 3A 63 2C 61 78 69 73 59 54 79 70 65 3A 61 2E 61 78 69 73 59 54 79 70 65 2C 61 78 69 73 59 3A 22 70 72 69 6D 61 72 79 22 3D 3D 3D 61 2E 61 78 69 73 59 54 79 70 65 3F 74 68 69 73 2E 61 78 69 73 59 3A 74 68 69 73 2E 61 78 69 73 59 32 2C 61 78 69 73 58 3A 74 68 69 73 2E 61 78 69 73 58 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 3A 5B 5D 2C 79 54 6F 74 61 6C 73 3A 5B 5D 7D 2C 63 2E 70 6C 6F 74 55 6E 69 74 73 2E 70 75 73 68 28 65 29 29 3B 63 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 2B 2B 3B 65 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 70 75 73 68 28 62 29 3B 61 2E 70 6C 6F 74 55 6E 69 74 3D 65 7D 66 6F 72 28 62 3D 30 3B 62 3C 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 66 6F 72 28 63 3D 0A 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 5B 62 5D 2C 67 3D 61 3D 30 3B 67 3C 63 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 63 2E 70 6C 6F 74 55 6E 69 74 73 5B 67 5D 2E 70 72 65 76 69 6F 75 73 44 61 74 61 53 65 72 69 65 73 43 6F 75 6E 74 3D 61 2C 61 2B 3D 63 2E 70 6C 6F 74 55 6E 69 74 73 5B 67 5D 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 61 73 73 69 67 6E 49 64 54 6F 44 61 74 61 50 6F 69 6E 74 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 66 6F 72 28 76 61 72 20 61 3D 30 3B 61 3C 74 68 69 73 2E 64 61 74 61 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 7B 76 61 72 20 62 3D 74 68 69 73 2E 64 61 74 61 5B 61 5D 3B 69 66 28 62 2E 64 61 74 61 50 6F 69 6E 74 73 29 66 6F 72 28 76 61 72 20 63 3D 62 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 2C 64 3D 30 3B 64 3C 63 3B 64 2B 2B 29 62 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 64 5D 3D 2B 2B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6C 61 73 74 4F 62 6A 65 63 74 49 64 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 72 6F 63 65 73 73 44 61 74 61 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 61 73 73 69 67 6E 49 64 54 6F 44 61 74 61 50 6F 69 6E 74 73 28 29 3B 74 68 69 73 2E 63 61 74 65 67 6F 72 69 73 65 44 61 74 61 53 65 72 69 65 73 28 29 3B 66 6F 72 28 76 61 72 20 61 3D 30 3B 61 3C 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 66 6F 72 28 76 61 72 20 62 3D 0A 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 70 6C 6F 74 54 79 70 65 73 5B 61 5D 2C 63 3D 30 3B 63 3C 62 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 76 61 72 20 64 3D 62 2E 70 6C 6F 74 55 6E 69 74 73 5B 63 5D 3B 22 6C 69 6E 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 61 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 62 61 72 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 62 75 62 62 6C 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 64 2E 74 79 70 65 3F 74 68 69 73 2E 5F 70 72 6F 63 65 73 73 4D 75 6C 74 69 73 65 72 69 65 73 50 6C 6F 74 55 6E 69 74 28 64 29 3A 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 3F 74 68 69 73 2E 5F 70 72 6F 63 65 73 73 53 74 61 63 6B 65 64 50 6C 6F 74 55 6E 69 74 28 64 29 3A 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 64 2E 74 79 70 65 3F 74 68 69 73 2E 5F 70 72 6F 63 65 73 73 53 74 61 63 6B 65 64 31 30 30 50 6C 6F 74 55 6E 69 74 28 64 29 3A 0A 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 6F 68 6C 63 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 72 61 6E 67 65 42 61 72 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 72 61 6E 67 65 41 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 7C 7C 74 68 69 73 2E 5F 70 72 6F 63 65 73 73 4D 75 6C 74 69 59 50 6C 6F 74 55 6E 69 74 28 64 29 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 72 6F 63 65 73 73 4D 75 6C 74 69 73 65 72 69 65 73 50 6C 6F 74 55 6E 69 74 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 26 26 21 28 31 3E 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 66 6F 72 28 76 61 72 20 62 3D 61 2E 61 78 69 73 59 2E 64 61 74 61 49 6E 66 6F 2C 63 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2C 64 2C 65 2C 66 3D 21 31 2C 67 3D 30 3B 67 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 7B 76 61 72 20 6B 3D 74 68 69 73 2E 64 61 74 61 5B 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 67 5D 5D 2C 70 3D 30 2C 68 3D 21 31 2C 6C 3D 21 31 3B 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 6B 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 7C 7C 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 6B 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 76 61 72 20 6D 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 0A 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3A 2D 49 6E 66 69 6E 69 74 79 2C 6E 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3A 49 6E 66 69 6E 69 74 79 3B 0A 69 66 28 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 78 26 26 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 78 2E 67 65 74 54 69 6D 65 7C 7C 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 6B 2E 78 56 61 6C 75 65 54 79 70 65 29 66 3D 21 30 3B 66 6F 72 28 70 3D 30 3B 70 3C 6B 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 3B 70 2B 2B 29 7B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 78 26 26 28 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 78 3D 70 29 3B 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 28 66 3D 21 30 2C 64 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 29 3A 64 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 78 3B 65 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 79 3B 64 3C 63 2E 6D 69 6E 26 26 28 63 2E 6D 69 6E 3D 64 29 3B 64 3E 63 2E 6D 61 78 26 26 28 63 2E 6D 61 78 3D 64 29 3B 65 3C 62 2E 6D 69 6E 26 26 28 62 2E 6D 69 6E 3D 65 29 3B 65 3E 62 2E 6D 61 78 26 26 28 62 2E 6D 61 78 3D 65 29 3B 69 66 28 30 3C 70 29 7B 76 61 72 20 71 3D 64 2D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 2D 31 5D 2E 78 3B 30 3E 71 26 26 28 71 2A 3D 2D 31 29 3B 63 2E 6D 69 6E 44 69 66 66 3E 71 26 26 30 21 3D 3D 71 26 26 28 63 2E 6D 69 6E 44 69 66 66 3D 71 29 3B 6E 75 6C 6C 21 3D 3D 65 26 26 6E 75 6C 6C 21 3D 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 2D 31 5D 2E 79 26 26 28 71 3D 65 2D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 2D 31 5D 2E 79 2C 0A 30 3E 71 26 26 28 71 2A 3D 2D 31 29 2C 62 2E 6D 69 6E 44 69 66 66 3E 71 26 26 30 21 3D 3D 71 26 26 28 62 2E 6D 69 6E 44 69 66 66 3D 71 29 29 7D 69 66 28 21 28 64 3C 6D 29 7C 7C 68 29 7B 69 66 28 21 68 26 26 28 68 3D 21 30 2C 30 3C 70 29 29 7B 70 2D 3D 32 3B 63 6F 6E 74 69 6E 75 65 7D 69 66 28 64 3E 6E 26 26 21 6C 29 6C 3D 21 30 3B 65 6C 73 65 20 69 66 28 64 3E 6E 26 26 6C 29 63 6F 6E 74 69 6E 75 65 3B 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 6C 61 62 65 6C 26 26 28 61 2E 61 78 69 73 58 2E 6C 61 62 65 6C 73 5B 64 5D 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 5B 70 5D 2E 6C 61 62 65 6C 29 3B 64 3C 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 64 29 3B 64 3E 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 64 29 3B 6E 75 6C 6C 21 3D 3D 65 26 26 28 65 3C 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 65 29 2C 65 3E 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 65 29 29 7D 7D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 3D 6B 2E 78 56 61 6C 75 65 54 79 70 65 3D 66 3F 22 64 61 74 65 54 69 6D 65 22 3A 22 6E 75 6D 62 65 72 22 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 72 6F 63 65 73 73 53 74 61 63 6B 65 64 50 6C 6F 74 55 6E 69 74 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 26 26 21 28 31 3E 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 66 6F 72 28 76 61 72 20 62 3D 0A 61 2E 61 78 69 73 59 2E 64 61 74 61 49 6E 66 6F 2C 63 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2C 64 2C 65 2C 66 3D 21 31 2C 67 3D 5B 5D 2C 6B 3D 5B 5D 2C 70 3D 49 6E 66 69 6E 69 74 79 2C 68 3D 30 3B 68 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6C 3D 74 68 69 73 2E 64 61 74 61 5B 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 68 5D 5D 2C 6D 3D 30 2C 6E 3D 21 31 2C 71 3D 21 31 3B 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 6C 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 7C 7C 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 6C 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 76 61 72 20 72 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3A 2D 49 6E 66 69 6E 69 74 79 2C 73 3D 0A 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3A 49 6E 66 69 6E 69 74 79 3B 69 66 28 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 26 26 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 7C 7C 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 6C 2E 78 56 61 6C 75 65 54 79 70 65 29 66 3D 21 30 3B 66 6F 72 28 6D 3D 30 3B 6D 3C 6C 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 3B 6D 2B 2B 29 7B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 26 26 28 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 3D 6D 29 3B 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 28 66 3D 21 30 2C 64 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 29 3A 0A 64 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 3B 50 28 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 79 29 3F 65 3D 30 3A 28 65 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 79 2C 30 3D 3D 3D 68 26 26 28 70 3D 4D 61 74 68 2E 6D 69 6E 28 65 2C 70 29 29 29 3B 64 3C 63 2E 6D 69 6E 26 26 28 63 2E 6D 69 6E 3D 64 29 3B 64 3E 63 2E 6D 61 78 26 26 28 63 2E 6D 61 78 3D 64 29 3B 69 66 28 30 3C 6D 29 7B 76 61 72 20 77 3D 64 2D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 2D 31 5D 2E 78 3B 30 3E 77 26 26 28 77 2A 3D 2D 31 29 3B 63 2E 6D 69 6E 44 69 66 66 3E 77 26 26 30 21 3D 3D 77 26 26 28 63 2E 6D 69 6E 44 69 66 66 3D 77 29 3B 6E 75 6C 6C 21 3D 3D 65 26 26 6E 75 6C 6C 21 3D 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 2D 31 5D 2E 79 26 26 28 77 3D 65 2D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 2D 31 5D 2E 79 2C 30 3E 77 26 26 28 77 2A 3D 2D 31 29 2C 62 2E 6D 69 6E 44 69 66 66 3E 77 26 26 30 21 3D 3D 77 26 26 28 62 2E 6D 69 6E 44 69 66 66 3D 77 29 29 7D 69 66 28 21 28 64 3C 72 29 7C 7C 6E 29 7B 69 66 28 21 6E 26 26 28 6E 3D 21 30 2C 30 3C 6D 29 29 7B 6D 2D 3D 32 3B 63 6F 6E 74 69 6E 75 65 7D 69 66 28 64 3E 73 26 26 21 71 29 71 3D 21 30 3B 65 6C 73 65 20 69 66 28 64 3E 73 26 26 71 29 63 6F 6E 74 69 6E 75 65 3B 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 6C 61 62 65 6C 26 26 28 61 2E 61 78 69 73 58 2E 6C 61 62 65 6C 73 5B 64 5D 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 6C 61 62 65 6C 29 3B 64 3C 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 0A 64 29 3B 64 3E 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 64 29 3B 6E 75 6C 6C 21 3D 3D 65 26 26 28 61 2E 79 54 6F 74 61 6C 73 5B 64 5D 3D 28 61 2E 79 54 6F 74 61 6C 73 5B 64 5D 3F 61 2E 79 54 6F 74 61 6C 73 5B 64 5D 3A 30 29 2B 4D 61 74 68 2E 61 62 73 28 65 29 2C 30 3C 3D 65 3F 67 5B 64 5D 3D 67 5B 64 5D 3F 67 5B 64 5D 2B 65 3A 65 3A 6B 5B 64 5D 3D 6B 5B 64 5D 3F 6B 5B 64 5D 2B 65 3A 65 29 7D 7D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 3D 6C 2E 78 56 61 6C 75 65 54 79 70 65 3D 66 3F 22 64 61 74 65 54 69 6D 65 22 3A 22 6E 75 6D 62 65 72 22 7D 66 6F 72 28 6D 20 69 6E 20 67 29 67 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 6D 29 26 26 21 69 73 4E 61 4E 28 6D 29 26 26 28 61 3D 67 5B 6D 5D 2C 61 3C 62 2E 6D 69 6E 26 26 28 62 2E 6D 69 6E 3D 4D 61 74 68 2E 6D 69 6E 28 61 2C 70 29 29 2C 61 3E 62 2E 6D 61 78 26 26 28 62 2E 6D 61 78 3D 61 29 2C 6D 3C 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6D 3E 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 7C 7C 28 61 3C 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 4D 61 74 68 2E 6D 69 6E 28 61 2C 70 29 29 2C 61 3E 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 61 29 29 29 3B 66 6F 72 28 6D 20 69 6E 20 6B 29 6B 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 6D 29 26 26 21 69 73 4E 61 4E 28 6D 29 26 26 28 61 3D 6B 5B 6D 5D 2C 61 3C 62 2E 6D 69 6E 26 26 28 62 2E 6D 69 6E 3D 4D 61 74 68 2E 6D 69 6E 28 61 2C 0A 70 29 29 2C 61 3E 62 2E 6D 61 78 26 26 28 62 2E 6D 61 78 3D 61 29 2C 6D 3C 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6D 3E 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 7C 7C 28 61 3C 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 4D 61 74 68 2E 6D 69 6E 28 61 2C 70 29 29 2C 61 3E 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 61 29 29 29 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 72 6F 63 65 73 73 53 74 61 63 6B 65 64 31 30 30 50 6C 6F 74 55 6E 69 74 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 26 26 21 28 31 3E 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 66 6F 72 28 76 61 72 20 62 3D 61 2E 61 78 69 73 59 2E 64 61 74 61 49 6E 66 6F 2C 63 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2C 64 2C 65 2C 66 3D 21 31 2C 67 3D 21 31 2C 6B 3D 21 31 2C 70 3D 5B 5D 2C 68 3D 30 3B 68 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6C 3D 74 68 69 73 2E 64 61 74 61 5B 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 68 5D 5D 2C 6D 3D 30 2C 6E 3D 21 31 2C 71 3D 21 31 3B 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 6C 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 7C 7C 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 6C 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 76 61 72 20 72 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 0A 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3A 2D 49 6E 66 69 6E 69 74 79 2C 73 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3A 49 6E 66 69 6E 69 74 79 3B 0A 69 66 28 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 26 26 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 7C 7C 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 6C 2E 78 56 61 6C 75 65 54 79 70 65 29 66 3D 21 30 3B 66 6F 72 28 6D 3D 30 3B 6D 3C 6C 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 3B 6D 2B 2B 29 7B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 26 26 28 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 3D 6D 29 3B 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 28 66 3D 21 30 2C 64 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 29 3A 64 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 78 3B 65 3D 50 28 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 79 29 3F 6E 75 6C 6C 3A 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 79 3B 64 3C 63 2E 6D 69 6E 26 26 28 63 2E 6D 69 6E 3D 64 29 3B 64 3E 63 2E 6D 61 78 26 26 28 63 2E 6D 61 78 3D 64 29 3B 69 66 28 30 3C 6D 29 7B 76 61 72 20 77 3D 64 2D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 2D 31 5D 2E 78 3B 30 3E 77 26 26 28 77 2A 3D 2D 31 29 3B 63 2E 6D 69 6E 44 69 66 66 3E 77 26 26 30 21 3D 3D 77 26 26 28 63 2E 6D 69 6E 44 69 66 66 3D 77 29 3B 50 28 65 29 7C 7C 6E 75 6C 6C 3D 3D 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 2D 31 5D 2E 79 7C 7C 28 77 3D 65 2D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 2D 31 5D 2E 79 2C 30 3E 77 26 26 28 77 2A 3D 2D 31 29 2C 62 2E 6D 69 6E 44 69 66 66 3E 0A 77 26 26 30 21 3D 3D 77 26 26 28 62 2E 6D 69 6E 44 69 66 66 3D 77 29 29 7D 69 66 28 21 28 64 3C 72 29 7C 7C 6E 29 7B 69 66 28 21 6E 26 26 28 6E 3D 21 30 2C 30 3C 6D 29 29 7B 6D 2D 3D 32 3B 63 6F 6E 74 69 6E 75 65 7D 69 66 28 64 3E 73 26 26 21 71 29 71 3D 21 30 3B 65 6C 73 65 20 69 66 28 64 3E 73 26 26 71 29 63 6F 6E 74 69 6E 75 65 3B 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 6C 61 62 65 6C 26 26 28 61 2E 61 78 69 73 58 2E 6C 61 62 65 6C 73 5B 64 5D 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6D 5D 2E 6C 61 62 65 6C 29 3B 64 3C 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 64 29 3B 64 3E 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 64 29 3B 6E 75 6C 6C 21 3D 3D 65 26 26 28 61 2E 79 54 6F 74 61 6C 73 5B 64 5D 3D 28 61 2E 79 54 6F 74 61 6C 73 5B 64 5D 3F 61 2E 79 54 6F 74 61 6C 73 5B 64 5D 3A 30 29 2B 4D 61 74 68 2E 61 62 73 28 65 29 2C 30 3C 3D 65 3F 67 3D 21 30 3A 30 3E 65 26 26 28 6B 3D 21 30 29 2C 70 5B 64 5D 3D 70 5B 64 5D 3F 70 5B 64 5D 2B 4D 61 74 68 2E 61 62 73 28 65 29 3A 4D 61 74 68 2E 61 62 73 28 65 29 29 7D 7D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 3D 6C 2E 78 56 61 6C 75 65 54 79 70 65 3D 66 3F 22 64 61 74 65 54 69 6D 65 22 3A 22 6E 75 6D 62 65 72 22 7D 67 26 26 21 6B 3F 28 62 2E 6D 61 78 3D 50 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 3F 39 39 3A 4D 61 74 68 2E 6D 61 78 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 2C 39 39 29 2C 62 2E 6D 69 6E 3D 0A 50 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 29 3F 31 3A 4D 61 74 68 2E 6D 69 6E 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 2C 31 29 29 3A 67 26 26 6B 3F 28 62 2E 6D 61 78 3D 50 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 3F 39 39 3A 4D 61 74 68 2E 6D 61 78 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 2C 39 39 29 2C 62 2E 6D 69 6E 3D 50 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 29 3F 2D 39 39 3A 4D 61 74 68 2E 6D 69 6E 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 2C 2D 39 39 29 29 3A 21 67 26 26 6B 26 26 28 62 2E 6D 61 78 3D 50 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 3F 2D 31 3A 4D 61 74 68 2E 6D 61 78 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 2C 2D 31 29 2C 62 2E 6D 69 6E 3D 50 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 29 3F 2D 39 39 3A 4D 61 74 68 2E 6D 69 6E 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 2C 2D 39 39 29 29 3B 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 62 2E 6D 69 6E 3B 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 62 2E 6D 61 78 3B 61 2E 64 61 74 61 50 6F 69 6E 74 59 53 75 6D 73 3D 70 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 72 6F 63 65 73 73 4D 75 6C 74 69 59 50 6C 6F 74 55 6E 69 74 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 26 26 21 28 31 3E 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 66 6F 72 28 76 61 72 20 62 3D 61 2E 61 78 69 73 59 2E 64 61 74 61 49 6E 66 6F 2C 63 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2C 64 2C 65 2C 66 2C 67 2C 6B 3D 21 31 2C 0A 70 3D 30 3B 70 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 70 2B 2B 29 7B 76 61 72 20 68 3D 74 68 69 73 2E 64 61 74 61 5B 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 70 5D 5D 2C 6C 3D 30 2C 6D 3D 21 31 2C 6E 3D 21 31 3B 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 68 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 7C 7C 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 68 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 76 61 72 20 71 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 69 6E 69 6D 75 6D 3A 2D 49 6E 66 69 6E 69 74 79 2C 72 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 61 78 69 73 58 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 0A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 26 26 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 61 78 69 73 58 2E 6D 61 78 69 6D 75 6D 3A 49 6E 66 69 6E 69 74 79 3B 69 66 28 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 78 26 26 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 78 2E 67 65 74 54 69 6D 65 7C 7C 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 68 2E 78 56 61 6C 75 65 54 79 70 65 29 6B 3D 21 30 3B 66 6F 72 28 6C 3D 30 3B 6C 3C 68 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 3B 6C 2B 2B 29 7B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 78 26 26 28 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 78 3D 6C 29 3B 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 28 6B 3D 21 30 2C 64 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 29 3A 64 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 78 3B 28 65 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 79 29 26 26 65 2E 6C 65 6E 67 74 68 26 26 28 66 3D 4D 61 74 68 2E 6D 69 6E 2E 61 70 70 6C 79 28 6E 75 6C 6C 2C 65 29 2C 67 3D 4D 61 74 68 2E 6D 61 78 2E 61 70 70 6C 79 28 6E 75 6C 6C 2C 0A 65 29 29 3B 64 3C 63 2E 6D 69 6E 26 26 28 63 2E 6D 69 6E 3D 64 29 3B 64 3E 63 2E 6D 61 78 26 26 28 63 2E 6D 61 78 3D 64 29 3B 66 3C 62 2E 6D 69 6E 26 26 28 62 2E 6D 69 6E 3D 66 29 3B 67 3E 62 2E 6D 61 78 26 26 28 62 2E 6D 61 78 3D 67 29 3B 69 66 28 30 3C 6C 29 7B 76 61 72 20 73 3D 64 2D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 2D 31 5D 2E 78 3B 30 3E 73 26 26 28 73 2A 3D 2D 31 29 3B 63 2E 6D 69 6E 44 69 66 66 3E 73 26 26 30 21 3D 3D 73 26 26 28 63 2E 6D 69 6E 44 69 66 66 3D 73 29 3B 6E 75 6C 6C 21 3D 3D 65 5B 30 5D 26 26 6E 75 6C 6C 21 3D 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 2D 31 5D 2E 79 5B 30 5D 26 26 28 73 3D 65 5B 30 5D 2D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 2D 31 5D 2E 79 5B 30 5D 2C 30 3E 73 26 26 28 73 2A 3D 2D 31 29 2C 62 2E 6D 69 6E 44 69 66 66 3E 73 26 26 30 21 3D 3D 73 26 26 28 62 2E 6D 69 6E 44 69 66 66 3D 73 29 29 7D 69 66 28 21 28 64 3C 71 29 7C 7C 6D 29 7B 69 66 28 21 6D 26 26 28 6D 3D 21 30 2C 30 3C 6C 29 29 7B 6C 2D 3D 32 3B 63 6F 6E 74 69 6E 75 65 7D 69 66 28 64 3E 72 26 26 21 6E 29 6E 3D 21 30 3B 65 6C 73 65 20 69 66 28 64 3E 72 26 26 6E 29 63 6F 6E 74 69 6E 75 65 3B 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 6C 61 62 65 6C 26 26 28 61 2E 61 78 69 73 58 2E 6C 61 62 65 6C 73 5B 64 5D 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 6C 5D 2E 6C 61 62 65 6C 29 3B 64 3C 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 64 29 3B 64 3E 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 63 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 0A 64 29 3B 6E 75 6C 6C 21 3D 3D 65 26 26 28 66 3C 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 69 6E 3D 66 29 2C 67 3E 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 26 26 28 62 2E 76 69 65 77 50 6F 72 74 4D 61 78 3D 67 29 29 7D 7D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 3D 68 2E 78 56 61 6C 75 65 54 79 70 65 3D 6B 3F 22 64 61 74 65 54 69 6D 65 22 3A 22 6E 75 6D 62 65 72 22 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 59 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 63 3D 63 7C 7C 21 31 3B 66 6F 72 28 76 61 72 20 64 3D 5B 5D 2C 65 3D 74 68 69 73 2E 5F 64 61 74 61 49 6E 52 65 6E 64 65 72 65 64 4F 72 64 65 72 2E 6C 65 6E 67 74 68 2D 31 3B 30 3C 3D 65 3B 65 2D 2D 29 7B 76 61 72 20 66 3D 6E 75 6C 6C 3B 28 66 3D 74 68 69 73 2E 5F 64 61 74 61 49 6E 52 65 6E 64 65 72 65 64 4F 72 64 65 72 5B 65 5D 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 59 28 61 2C 62 2C 63 29 29 26 26 64 2E 70 75 73 68 28 66 29 7D 61 3D 6E 75 6C 6C 3B 62 3D 21 31 3B 66 6F 72 28 63 3D 30 3B 63 3C 64 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 69 66 28 22 6C 69 6E 65 22 3D 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 61 72 65 61 22 3D 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 29 69 66 28 65 3D 0A 4E 28 22 6D 61 72 6B 65 72 53 69 7A 65 22 2C 64 5B 63 5D 2E 64 61 74 61 50 6F 69 6E 74 2C 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 29 7C 7C 38 2C 64 5B 63 5D 2E 64 69 73 74 61 6E 63 65 3C 3D 65 2F 32 29 7B 62 3D 21 30 3B 62 72 65 61 6B 7D 66 6F 72 28 63 3D 30 3B 63 3C 64 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 62 26 26 22 6C 69 6E 65 22 21 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 74 65 70 4C 69 6E 65 22 21 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 61 72 65 61 22 21 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 74 65 70 41 72 65 61 22 21 3D 3D 64 5B 63 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 28 61 3F 64 5B 63 5D 2E 64 69 73 74 61 6E 63 65 3C 3D 61 2E 64 69 73 74 61 6E 63 65 26 26 28 61 3D 64 5B 63 5D 29 3A 61 3D 64 5B 63 5D 29 3B 72 65 74 75 72 6E 20 61 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 4F 62 6A 65 63 74 41 74 58 59 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 76 61 72 20 64 3D 6E 75 6C 6C 3B 69 66 28 63 3D 74 68 69 73 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 59 28 61 2C 62 2C 63 7C 7C 21 31 29 29 64 3D 63 2E 64 61 74 61 53 65 72 69 65 73 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 63 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 5D 3B 65 6C 73 65 20 69 66 28 74 29 64 3D 78 61 28 61 2C 62 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 29 3B 65 6C 73 65 20 66 6F 72 28 63 3D 30 3B 63 3C 74 68 69 73 2E 6C 65 67 65 6E 64 2E 69 74 65 6D 73 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 76 61 72 20 65 3D 0A 74 68 69 73 2E 6C 65 67 65 6E 64 2E 69 74 65 6D 73 5B 63 5D 3B 61 3E 3D 65 2E 78 31 26 26 28 61 3C 3D 65 2E 78 32 26 26 62 3E 3D 65 2E 79 31 26 26 62 3C 3D 65 2E 79 32 29 26 26 28 64 3D 65 2E 69 64 29 7D 72 65 74 75 72 6E 20 64 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 41 75 74 6F 46 6F 6E 74 53 69 7A 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 61 2F 3D 34 30 30 3B 72 65 74 75 72 6E 20 4D 61 74 68 2E 72 6F 75 6E 64 28 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 2A 61 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 73 65 74 4F 76 65 72 6C 61 79 65 64 43 61 6E 76 61 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 2E 63 6C 65 61 72 52 65 63 74 28 30 2C 30 2C 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 63 6C 65 61 72 43 61 6E 76 61 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 63 74 78 2E 63 6C 65 61 72 52 65 63 74 28 30 2C 30 2C 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 3B 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 26 26 28 74 68 69 73 2E 63 74 78 2E 66 69 6C 6C 53 74 79 6C 65 3D 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 2C 74 68 69 73 2E 63 74 78 2E 66 69 6C 6C 52 65 63 74 28 30 2C 30 2C 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 29 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 61 74 74 61 63 68 45 76 65 6E 74 3D 0A 66 75 6E 63 74 69 6F 6E 28 61 29 7B 74 68 69 73 2E 5F 65 76 65 6E 74 73 2E 70 75 73 68 28 61 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 74 6F 75 63 68 45 76 65 6E 74 48 61 6E 64 6C 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 61 2E 63 68 61 6E 67 65 64 54 6F 75 63 68 65 73 26 26 74 68 69 73 2E 69 6E 74 65 72 61 63 74 69 76 69 74 79 45 6E 61 62 6C 65 64 29 7B 76 61 72 20 62 3D 5B 5D 2C 63 3D 61 2E 63 68 61 6E 67 65 64 54 6F 75 63 68 65 73 2C 64 3D 63 3F 63 5B 30 5D 3A 61 2C 65 3D 6E 75 6C 6C 3B 73 77 69 74 63 68 28 61 2E 74 79 70 65 29 7B 63 61 73 65 20 22 74 6F 75 63 68 73 74 61 72 74 22 3A 63 61 73 65 20 22 4D 53 50 6F 69 6E 74 65 72 44 6F 77 6E 22 3A 62 3D 5B 22 6D 6F 75 73 65 6D 6F 76 65 22 2C 22 6D 6F 75 73 65 64 6F 77 6E 22 5D 3B 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 3D 6E 61 28 64 29 3B 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 2E 74 69 6D 65 3D 6E 65 77 20 44 61 74 65 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 74 6F 75 63 68 6D 6F 76 65 22 3A 63 61 73 65 20 22 4D 53 50 6F 69 6E 74 65 72 4D 6F 76 65 22 3A 62 3D 5B 22 6D 6F 75 73 65 6D 6F 76 65 22 5D 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 74 6F 75 63 68 65 6E 64 22 3A 63 61 73 65 20 22 4D 53 50 6F 69 6E 74 65 72 55 70 22 3A 62 3D 22 74 6F 75 63 68 73 74 61 72 74 22 3D 3D 3D 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 45 76 65 6E 74 54 79 70 65 7C 7C 22 4D 53 50 6F 69 6E 74 65 72 44 6F 77 6E 22 3D 3D 3D 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 45 76 65 6E 74 54 79 70 65 3F 5B 22 6D 6F 75 73 65 75 70 22 2C 0A 22 63 6C 69 63 6B 22 5D 3A 5B 22 6D 6F 75 73 65 75 70 22 5D 3B 62 72 65 61 6B 3B 64 65 66 61 75 6C 74 3A 72 65 74 75 72 6E 7D 69 66 28 21 28 63 26 26 31 3C 63 2E 6C 65 6E 67 74 68 29 29 7B 65 3D 6E 61 28 64 29 3B 65 2E 74 69 6D 65 3D 6E 65 77 20 44 61 74 65 3B 74 72 79 7B 76 61 72 20 66 3D 65 2E 79 2D 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 2E 79 2C 67 3D 65 2E 74 69 6D 65 2D 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 2E 74 69 6D 65 3B 69 66 28 31 35 3C 4D 61 74 68 2E 61 62 73 28 66 29 26 26 28 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 2E 73 63 72 6F 6C 6C 7C 7C 32 30 30 3E 67 29 29 7B 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 2E 73 63 72 6F 6C 6C 3D 21 30 3B 76 61 72 20 6B 3D 77 69 6E 64 6F 77 2E 70 61 72 65 6E 74 7C 7C 77 69 6E 64 6F 77 3B 6B 26 26 6B 2E 73 63 72 6F 6C 6C 42 79 26 26 6B 2E 73 63 72 6F 6C 6C 42 79 28 30 2C 2D 66 29 7D 7D 63 61 74 63 68 28 70 29 7B 7D 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 45 76 65 6E 74 54 79 70 65 3D 61 2E 74 79 70 65 3B 69 66 28 74 68 69 73 2E 5F 6C 61 73 74 54 6F 75 63 68 44 61 74 61 2E 73 63 72 6F 6C 6C 26 26 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 29 74 68 69 73 2E 69 73 44 72 61 67 26 26 74 68 69 73 2E 72 65 73 65 74 4F 76 65 72 6C 61 79 65 64 43 61 6E 76 61 73 28 29 2C 74 68 69 73 2E 69 73 44 72 61 67 3D 21 31 3B 65 6C 73 65 20 66 6F 72 28 63 3D 30 3B 63 3C 62 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 65 3D 62 5B 63 5D 2C 66 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 76 65 6E 74 28 22 4D 6F 75 73 65 45 76 65 6E 74 22 29 2C 0A 66 2E 69 6E 69 74 4D 6F 75 73 65 45 76 65 6E 74 28 65 2C 21 30 2C 21 30 2C 77 69 6E 64 6F 77 2C 31 2C 64 2E 73 63 72 65 65 6E 58 2C 64 2E 73 63 72 65 65 6E 59 2C 64 2E 63 6C 69 65 6E 74 58 2C 64 2E 63 6C 69 65 6E 74 59 2C 21 31 2C 21 31 2C 21 31 2C 21 31 2C 30 2C 6E 75 6C 6C 29 2C 64 2E 74 61 72 67 65 74 2E 64 69 73 70 61 74 63 68 45 76 65 6E 74 28 66 29 2C 61 2E 70 72 65 76 65 6E 74 4D 61 6E 69 70 75 6C 61 74 69 6F 6E 26 26 61 2E 70 72 65 76 65 6E 74 4D 61 6E 69 70 75 6C 61 74 69 6F 6E 28 29 2C 61 2E 70 72 65 76 65 6E 74 44 65 66 61 75 6C 74 26 26 61 2E 70 72 65 76 65 6E 74 44 65 66 61 75 6C 74 28 29 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 64 69 73 70 61 74 63 68 52 61 6E 67 65 45 76 65 6E 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 76 61 72 20 63 3D 7B 7D 3B 63 2E 63 68 61 72 74 3D 74 68 69 73 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 3B 63 2E 74 79 70 65 3D 61 3B 63 2E 74 72 69 67 67 65 72 3D 62 3B 76 61 72 20 64 3D 5B 5D 3B 74 68 69 73 2E 61 78 69 73 58 26 26 64 2E 70 75 73 68 28 22 61 78 69 73 58 22 29 3B 74 68 69 73 2E 61 78 69 73 59 26 26 64 2E 70 75 73 68 28 22 61 78 69 73 59 22 29 3B 74 68 69 73 2E 61 78 69 73 59 32 26 26 64 2E 70 75 73 68 28 22 61 78 69 73 59 32 22 29 3B 66 6F 72 28 76 61 72 20 65 3D 30 3B 65 3C 64 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 63 5B 64 5B 65 5D 5D 3D 7B 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 5B 64 5B 65 5D 5D 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2C 0A 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 5B 64 5B 65 5D 5D 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7D 3B 74 68 69 73 2E 64 69 73 70 61 74 63 68 45 76 65 6E 74 28 61 2C 63 2C 74 68 69 73 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 74 68 69 73 2E 69 6E 74 65 72 61 63 74 69 76 69 74 79 45 6E 61 62 6C 65 64 29 69 66 28 74 68 69 73 2E 5F 69 67 6E 6F 72 65 4E 65 78 74 45 76 65 6E 74 29 74 68 69 73 2E 5F 69 67 6E 6F 72 65 4E 65 78 74 45 76 65 6E 74 3D 21 31 3B 65 6C 73 65 7B 61 2E 70 72 65 76 65 6E 74 4D 61 6E 69 70 75 6C 61 74 69 6F 6E 26 26 61 2E 70 72 65 76 65 6E 74 4D 61 6E 69 70 75 6C 61 74 69 6F 6E 28 29 3B 61 2E 70 72 65 76 65 6E 74 44 65 66 61 75 6C 74 26 26 61 2E 70 72 65 76 65 6E 74 44 65 66 61 75 6C 74 28 29 3B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 61 2E 74 61 72 67 65 74 26 26 61 2E 73 72 63 45 6C 65 6D 65 6E 74 26 26 28 61 2E 74 61 72 67 65 74 3D 61 2E 73 72 63 45 6C 65 6D 65 6E 74 29 3B 76 61 72 20 62 3D 6E 61 28 61 29 2C 63 3D 61 2E 74 79 70 65 2C 64 2C 65 3B 61 2E 77 68 69 63 68 3F 65 3D 33 3D 3D 61 2E 77 68 69 63 68 3A 61 2E 62 75 74 74 6F 6E 26 26 28 65 3D 32 3D 3D 61 2E 62 75 74 74 6F 6E 29 3B 69 66 28 21 65 29 7B 69 66 28 75 2E 63 61 70 74 75 72 65 64 45 76 65 6E 74 50 61 72 61 6D 29 64 3D 0A 75 2E 63 61 70 74 75 72 65 64 45 76 65 6E 74 50 61 72 61 6D 2C 22 6D 6F 75 73 65 75 70 22 3D 3D 3D 63 26 26 28 75 2E 63 61 70 74 75 72 65 64 45 76 65 6E 74 50 61 72 61 6D 3D 6E 75 6C 6C 2C 64 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 72 65 6C 65 61 73 65 43 61 70 74 75 72 65 3F 64 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 72 65 6C 65 61 73 65 43 61 70 74 75 72 65 28 29 3A 64 6F 63 75 6D 65 6E 74 2E 62 6F 64 79 2E 72 65 6D 6F 76 65 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 28 22 6D 6F 75 73 65 75 70 22 2C 64 2E 63 68 61 72 74 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 2C 21 31 29 29 2C 64 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 63 29 26 26 64 5B 63 5D 2E 63 61 6C 6C 28 64 2E 63 6F 6E 74 65 78 74 2C 62 2E 78 2C 62 2E 79 29 3B 65 6C 73 65 20 69 66 28 74 68 69 73 2E 5F 65 76 65 6E 74 73 29 7B 66 6F 72 28 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 65 76 65 6E 74 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 74 68 69 73 2E 5F 65 76 65 6E 74 73 5B 65 5D 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 63 29 29 7B 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 73 5B 65 5D 3B 76 61 72 20 66 3D 64 2E 62 6F 75 6E 64 73 3B 69 66 28 62 2E 78 3E 3D 66 2E 78 31 26 26 62 2E 78 3C 3D 66 2E 78 32 26 26 62 2E 79 3E 3D 66 2E 79 31 26 26 62 2E 79 3C 3D 66 2E 79 32 29 7B 64 5B 63 5D 2E 63 61 6C 6C 28 64 2E 63 6F 6E 74 65 78 74 2C 62 2E 78 2C 62 2E 79 29 3B 22 6D 6F 75 73 65 64 6F 77 6E 22 3D 3D 3D 63 26 26 21 30 3D 3D 3D 64 2E 63 61 70 74 75 72 65 3F 0A 28 75 2E 63 61 70 74 75 72 65 64 45 76 65 6E 74 50 61 72 61 6D 3D 64 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 73 65 74 43 61 70 74 75 72 65 3F 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 73 65 74 43 61 70 74 75 72 65 28 29 3A 64 6F 63 75 6D 65 6E 74 2E 62 6F 64 79 2E 61 64 64 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 28 22 6D 6F 75 73 65 75 70 22 2C 74 68 69 73 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 2C 21 31 29 29 3A 22 6D 6F 75 73 65 75 70 22 3D 3D 3D 63 26 26 28 64 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 72 65 6C 65 61 73 65 43 61 70 74 75 72 65 3F 64 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 2E 72 65 6C 65 61 73 65 43 61 70 74 75 72 65 28 29 3A 64 6F 63 75 6D 65 6E 74 2E 62 6F 64 79 2E 72 65 6D 6F 76 65 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 28 22 6D 6F 75 73 65 75 70 22 2C 74 68 69 73 2E 5F 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 2C 21 31 29 29 3B 62 72 65 61 6B 7D 65 6C 73 65 20 64 3D 6E 75 6C 6C 7D 61 2E 74 61 72 67 65 74 2E 73 74 79 6C 65 2E 63 75 72 73 6F 72 3D 64 26 26 64 2E 63 75 72 73 6F 72 3F 64 2E 63 75 72 73 6F 72 3A 74 68 69 73 2E 5F 64 65 66 61 75 6C 74 43 75 72 73 6F 72 7D 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 26 26 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 65 6E 61 62 6C 65 64 26 26 28 63 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 28 62 2E 78 3C 63 2E 78 31 7C 7C 62 2E 78 3E 63 2E 78 32 7C 7C 62 2E 79 3C 63 2E 79 31 7C 7C 62 2E 79 3E 63 2E 79 32 29 26 26 0A 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 68 69 64 65 28 29 29 3B 74 68 69 73 2E 69 73 44 72 61 67 26 26 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 7C 7C 21 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 7C 7C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 28 61 29 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 6C 6F 74 41 72 65 61 4D 6F 75 73 65 44 6F 77 6E 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 74 68 69 73 2E 69 73 44 72 61 67 3D 21 30 3B 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 3D 7B 78 3A 61 2C 79 3A 62 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 6C 6F 74 41 72 65 61 4D 6F 75 73 65 55 70 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 7C 7C 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 26 26 74 68 69 73 2E 69 73 44 72 61 67 29 7B 76 61 72 20 63 3D 62 2D 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 79 2C 64 3D 61 2D 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 78 2C 65 3D 30 3C 3D 74 68 69 73 2E 7A 6F 6F 6D 54 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 78 22 29 2C 66 3D 30 3C 3D 74 68 69 73 2E 7A 6F 6F 6D 54 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 79 22 29 2C 67 3D 21 31 3B 74 68 69 73 2E 72 65 73 65 74 4F 76 65 72 6C 61 79 65 64 43 61 6E 76 61 73 28 29 3B 0A 69 66 28 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 76 61 72 20 6B 3D 66 2C 66 3D 65 2C 65 3D 6B 3B 69 66 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 7C 7C 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 29 7B 69 66 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 29 66 6F 72 28 65 3D 66 3D 30 3B 65 3C 74 68 69 73 2E 5F 61 78 65 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 63 3D 74 68 69 73 2E 5F 61 78 65 73 5B 65 5D 2C 63 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3C 63 2E 6D 69 6E 69 6D 75 6D 3F 28 66 3D 63 2E 6D 69 6E 69 6D 75 6D 2D 63 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2C 63 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 63 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2B 66 2C 63 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 63 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2B 66 2C 67 3D 21 30 29 3A 63 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3E 63 2E 6D 61 78 69 6D 75 6D 26 26 28 66 3D 63 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 63 2E 6D 61 78 69 6D 75 6D 2C 63 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 63 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2D 66 2C 63 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 0A 63 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 66 2C 67 3D 21 30 29 3B 65 6C 73 65 20 69 66 28 28 21 65 7C 7C 32 3C 4D 61 74 68 2E 61 62 73 28 64 29 29 26 26 28 21 66 7C 7C 32 3C 4D 61 74 68 2E 61 62 73 28 63 29 29 26 26 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 29 7B 69 66 28 21 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 29 72 65 74 75 72 6E 3B 63 3D 65 3F 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 78 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 31 3B 64 3D 66 3F 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 79 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 31 3B 65 3D 65 3F 61 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 32 3B 66 3D 66 3F 62 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 32 3B 32 3C 4D 61 74 68 2E 61 62 73 28 63 2D 65 29 26 26 32 3C 4D 61 74 68 2E 61 62 73 28 64 2D 66 29 26 26 74 68 69 73 2E 5F 7A 6F 6F 6D 50 61 6E 54 6F 53 65 6C 65 63 74 65 64 52 65 67 69 6F 6E 28 63 2C 64 2C 65 2C 66 29 26 26 28 67 3D 21 30 29 7D 67 26 26 28 74 68 69 73 2E 5F 69 67 6E 6F 72 65 4E 65 78 74 45 76 65 6E 74 3D 21 30 2C 74 68 69 73 2E 5F 64 69 73 70 61 74 63 68 52 61 6E 67 65 45 76 65 6E 74 28 22 72 61 6E 67 65 43 68 61 6E 67 69 6E 67 22 2C 22 7A 6F 6F 6D 22 29 2C 74 68 69 73 2E 72 65 6E 64 65 72 28 29 2C 74 68 69 73 2E 5F 64 69 73 70 61 74 63 68 52 61 6E 67 65 45 76 65 6E 74 28 22 72 61 6E 67 65 43 68 61 6E 67 65 64 22 2C 22 7A 6F 6F 6D 22 29 2C 67 26 26 28 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 26 26 22 6E 6F 6E 65 22 3D 3D 3D 0A 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 29 26 26 28 68 61 28 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 29 2C 51 28 74 68 69 73 2C 74 68 69 73 2E 5F 7A 6F 6F 6D 42 75 74 74 6F 6E 2C 22 70 61 6E 22 29 2C 51 28 74 68 69 73 2C 74 68 69 73 2E 5F 72 65 73 65 74 42 75 74 74 6F 6E 2C 22 72 65 73 65 74 22 29 29 29 7D 7D 74 68 69 73 2E 69 73 44 72 61 67 3D 21 31 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 70 6C 6F 74 41 72 65 61 4D 6F 75 73 65 4D 6F 76 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 74 68 69 73 2E 69 73 44 72 61 67 26 26 22 6E 6F 6E 65 22 21 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 7B 76 61 72 20 63 3D 30 2C 64 3D 30 2C 65 3D 63 3D 6E 75 6C 6C 2C 65 3D 30 3C 3D 74 68 69 73 2E 7A 6F 6F 6D 54 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 78 22 29 2C 66 3D 30 3C 3D 74 68 69 73 2E 7A 6F 6F 6D 54 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 79 22 29 3B 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 28 63 3D 66 2C 66 3D 65 2C 65 3D 63 29 3B 63 3D 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 78 2D 61 3B 64 3D 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 79 2D 62 3B 32 3C 4D 61 74 68 2E 61 62 73 28 63 29 26 26 38 3E 4D 61 74 68 2E 61 62 73 28 63 29 26 26 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 7C 7C 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 29 3F 0A 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 68 69 64 65 28 29 3A 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 7C 7C 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 7C 7C 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 6D 6F 75 73 65 4D 6F 76 65 48 61 6E 64 6C 65 72 28 61 2C 62 29 3B 28 21 65 7C 7C 32 3C 4D 61 74 68 2E 61 62 73 28 63 29 7C 7C 21 66 7C 7C 32 3C 4D 61 74 68 2E 61 62 73 28 64 29 29 26 26 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 7C 7C 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 29 26 26 28 74 68 69 73 2E 70 61 6E 45 6E 61 62 6C 65 64 3F 28 65 3D 7B 78 31 3A 65 3F 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 31 2B 63 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 31 2C 79 31 3A 66 3F 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 31 2B 64 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 31 2C 78 32 3A 65 3F 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 32 2B 63 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 32 2C 79 32 3A 66 3F 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 32 2B 64 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 32 7D 2C 74 68 69 73 2E 5F 7A 6F 6F 6D 50 61 6E 54 6F 53 65 6C 65 63 74 65 64 52 65 67 69 6F 6E 28 65 2E 78 31 2C 65 2E 79 31 2C 65 2E 78 32 2C 65 2E 79 32 2C 21 30 29 26 26 28 74 68 69 73 2E 5F 64 69 73 70 61 74 63 68 52 61 6E 67 65 45 76 65 6E 74 28 22 72 61 6E 67 65 43 68 61 6E 67 69 6E 67 22 2C 22 70 61 6E 22 29 2C 74 68 69 73 2E 72 65 6E 64 65 72 28 29 2C 74 68 69 73 2E 5F 64 69 73 70 61 74 63 68 52 61 6E 67 65 45 76 65 6E 74 28 22 72 61 6E 67 65 43 68 61 6E 67 65 64 22 2C 0A 22 70 61 6E 22 29 2C 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 78 3D 61 2C 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 79 3D 62 29 29 3A 74 68 69 73 2E 7A 6F 6F 6D 45 6E 61 62 6C 65 64 26 26 28 74 68 69 73 2E 72 65 73 65 74 4F 76 65 72 6C 61 79 65 64 43 61 6E 76 61 73 28 29 2C 63 3D 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 30 2E 37 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 2E 66 69 6C 6C 53 74 79 6C 65 3D 22 23 41 30 41 42 42 38 22 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 2E 66 69 6C 6C 52 65 63 74 28 65 3F 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 78 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 31 2C 66 3F 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 79 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 31 2C 65 3F 61 2D 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 78 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 32 2D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 78 31 2C 66 3F 62 2D 74 68 69 73 2E 64 72 61 67 53 74 61 72 74 50 6F 69 6E 74 2E 79 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 32 2D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 79 31 29 2C 74 68 69 73 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 63 29 29 7D 65 6C 73 65 20 74 68 69 73 2E 5F 74 6F 6F 6C 54 69 70 2E 6D 6F 75 73 65 4D 6F 76 65 48 61 6E 64 6C 65 72 28 61 2C 0A 62 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 7A 6F 6F 6D 50 61 6E 54 6F 53 65 6C 65 63 74 65 64 52 65 67 69 6F 6E 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 65 3D 65 7C 7C 21 31 3B 76 61 72 20 66 3D 30 3C 3D 74 68 69 73 2E 7A 6F 6F 6D 54 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 78 22 29 2C 67 3D 30 3C 3D 74 68 69 73 2E 7A 6F 6F 6D 54 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 79 22 29 2C 6B 3D 21 31 2C 70 3D 5B 5D 2C 68 3D 5B 5D 3B 74 68 69 73 2E 61 78 69 73 58 26 26 66 26 26 70 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 58 29 3B 74 68 69 73 2E 61 78 69 73 59 26 26 67 26 26 70 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 59 29 3B 74 68 69 73 2E 61 78 69 73 59 32 26 26 67 26 26 70 2E 70 75 73 68 28 74 68 69 73 2E 61 78 69 73 59 32 29 3B 66 3D 5B 5D 3B 66 6F 72 28 67 3D 30 3B 67 3C 70 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 7B 76 61 72 20 6C 3D 70 5B 67 5D 2C 6D 3D 6C 2E 63 6F 6E 76 65 72 74 50 69 78 65 6C 54 6F 56 61 6C 75 65 28 7B 78 3A 61 2C 79 3A 62 7D 29 2C 6E 3D 6C 2E 63 6F 6E 76 65 72 74 50 69 78 65 6C 54 6F 56 61 6C 75 65 28 7B 78 3A 63 2C 79 3A 64 7D 29 3B 69 66 28 6D 3E 6E 29 76 61 72 20 71 3D 6E 2C 6E 3D 6D 2C 6D 3D 71 3B 69 66 28 69 73 46 69 6E 69 74 65 28 6C 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 29 29 69 66 28 21 28 4D 61 74 68 2E 61 62 73 28 6E 2D 6D 29 3C 33 2A 4D 61 74 68 2E 61 62 73 28 6C 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 29 7C 7C 6D 3C 6C 2E 6D 69 6E 69 6D 75 6D 7C 7C 6E 3E 6C 2E 6D 61 78 69 6D 75 6D 29 29 68 2E 70 75 73 68 28 6C 29 2C 0A 66 2E 70 75 73 68 28 7B 76 61 6C 31 3A 6D 2C 76 61 6C 32 3A 6E 7D 29 2C 6B 3D 21 30 3B 65 6C 73 65 20 69 66 28 21 65 29 7B 6B 3D 21 31 3B 62 72 65 61 6B 7D 7D 69 66 28 6B 29 66 6F 72 28 67 3D 30 3B 67 3C 68 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 6C 3D 68 5B 67 5D 2C 61 3D 66 5B 67 5D 2C 6C 2E 73 65 74 56 69 65 77 50 6F 72 74 52 61 6E 67 65 28 61 2E 76 61 6C 31 2C 61 2E 76 61 6C 32 29 3B 72 65 74 75 72 6E 20 6B 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 70 72 65 70 61 72 65 50 6C 6F 74 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 62 3D 74 68 69 73 2E 61 78 69 73 59 3F 74 68 69 73 2E 61 78 69 73 59 3A 74 68 69 73 2E 61 78 69 73 59 32 3B 21 74 26 26 28 30 3C 61 2E 78 31 7C 7C 30 3C 61 2E 79 31 29 26 26 61 2E 63 74 78 2E 74 72 61 6E 73 6C 61 74 65 28 61 2E 78 31 2C 61 2E 79 31 29 3B 74 68 69 73 2E 61 78 69 73 58 26 26 62 3F 28 61 2E 78 31 3D 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3C 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3F 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3A 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 2C 61 2E 79 31 3D 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3C 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3F 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3A 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 2C 0A 61 2E 78 32 3D 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3E 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3F 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3A 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 2C 61 2E 79 32 3D 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 3E 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3F 74 68 69 73 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 3A 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 2C 61 2E 77 69 64 74 68 3D 61 2E 78 32 2D 61 2E 78 31 2C 61 2E 68 65 69 67 68 74 3D 61 2E 79 32 2D 61 2E 79 31 29 3A 28 62 3D 74 68 69 73 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 67 65 74 46 72 65 65 53 70 61 63 65 28 29 2C 61 2E 78 31 3D 62 2E 78 31 2C 61 2E 78 32 3D 62 2E 78 32 2C 61 2E 79 31 3D 62 2E 79 31 2C 61 2E 79 32 3D 62 2E 79 32 2C 61 2E 77 69 64 74 68 3D 62 2E 77 69 64 74 68 2C 61 2E 68 65 69 67 68 74 3D 62 2E 68 65 69 67 68 74 29 3B 74 7C 7C 28 61 2E 63 61 6E 76 61 73 2E 77 69 64 74 68 3D 61 2E 77 69 64 74 68 2C 61 2E 63 61 6E 76 61 73 2E 68 65 69 67 68 74 3D 61 2E 68 65 69 67 68 74 2C 61 2E 63 61 6E 76 61 73 2E 73 74 79 6C 65 2E 6C 65 66 74 3D 61 2E 78 31 2B 22 70 78 22 2C 61 2E 63 61 6E 76 61 73 2E 73 74 79 6C 65 2E 74 6F 70 3D 61 2E 79 31 2B 22 70 78 22 2C 28 30 3C 61 2E 78 31 7C 7C 30 3C 61 2E 79 31 29 26 26 0A 61 2E 63 74 78 2E 74 72 61 6E 73 6C 61 74 65 28 2D 61 2E 78 31 2C 2D 61 2E 79 31 29 29 3B 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 3D 6E 65 77 20 5A 28 61 2E 78 31 2C 61 2E 79 31 2C 61 2E 78 32 2C 61 2E 79 32 2C 32 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 50 6C 6F 74 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 72 65 74 75 72 6E 7B 78 3A 74 68 69 73 2E 61 78 69 73 58 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 61 29 2E 78 2C 79 3A 74 68 69 73 2E 61 78 69 73 59 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 62 29 2E 79 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 49 6E 64 65 78 4C 61 62 65 6C 73 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 61 3D 61 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 66 6F 72 28 76 61 72 20 62 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 63 3D 30 2C 64 3D 30 2C 65 3D 30 2C 66 3D 30 2C 67 3D 30 2C 6B 3D 64 3D 66 3D 65 3D 30 2C 70 3D 30 3B 70 3C 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 70 2B 2B 29 7B 76 61 72 20 68 3D 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 5B 70 5D 2C 67 3D 68 2E 63 68 61 72 74 54 79 70 65 2E 74 6F 4C 6F 77 65 72 43 61 73 65 28 29 2C 6C 2C 6D 2C 6E 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 2C 6B 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 22 2C 0A 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 3B 6C 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 3B 6D 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 3B 76 61 72 20 66 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 2C 64 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 2C 65 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 2C 71 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 57 72 61 70 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 2C 72 3D 7B 70 65 72 63 65 6E 74 3A 6E 75 6C 6C 2C 74 6F 74 61 6C 3A 6E 75 6C 6C 7D 2C 73 3D 6E 75 6C 6C 3B 69 66 28 30 3C 3D 68 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 73 74 61 63 6B 65 64 22 29 7C 7C 22 70 69 65 22 3D 3D 3D 68 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 68 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 29 72 3D 74 68 69 73 2E 67 65 74 50 65 72 63 65 6E 74 41 6E 64 54 6F 74 61 6C 28 68 2E 64 61 74 61 53 65 72 69 65 73 2C 0A 68 2E 64 61 74 61 50 6F 69 6E 74 29 3B 69 66 28 68 2E 64 61 74 61 53 65 72 69 65 73 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 68 2E 64 61 74 61 50 6F 69 6E 74 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 73 3D 7B 63 68 61 72 74 3A 74 68 69 73 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 64 61 74 61 53 65 72 69 65 73 3A 68 2E 64 61 74 61 53 65 72 69 65 73 2C 64 61 74 61 50 6F 69 6E 74 3A 68 2E 64 61 74 61 50 6F 69 6E 74 2C 69 6E 64 65 78 3A 68 2E 69 6E 64 65 78 4B 65 79 77 6F 72 64 2C 74 6F 74 61 6C 3A 72 2E 74 6F 74 61 6C 2C 70 65 72 63 65 6E 74 3A 72 2E 70 65 72 63 65 6E 74 7D 3B 76 61 72 20 77 3D 68 2E 64 61 74 61 50 6F 69 6E 74 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3F 68 2E 64 61 74 61 50 6F 69 6E 74 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 28 73 29 3A 68 2E 64 61 74 61 50 6F 69 6E 74 2E 69 6E 64 65 78 4C 61 62 65 6C 3F 74 68 69 73 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 68 2E 64 61 74 61 50 6F 69 6E 74 2E 69 6E 64 65 78 4C 61 62 65 6C 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 2C 6E 75 6C 6C 2C 68 2E 69 6E 64 65 78 4B 65 79 77 6F 72 64 29 3A 68 2E 64 61 74 61 53 65 72 69 65 73 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3F 68 2E 64 61 74 61 53 65 72 69 65 73 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 28 73 29 3A 68 2E 64 61 74 61 53 65 72 69 65 73 2E 69 6E 64 65 78 4C 61 62 65 6C 3F 0A 74 68 69 73 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 68 2E 64 61 74 61 53 65 72 69 65 73 2E 69 6E 64 65 78 4C 61 62 65 6C 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 2C 6E 75 6C 6C 2C 68 2E 69 6E 64 65 78 4B 65 79 77 6F 72 64 29 3A 6E 75 6C 6C 3B 69 66 28 6E 75 6C 6C 21 3D 3D 77 26 26 22 22 21 3D 3D 77 29 7B 76 61 72 20 63 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 2C 72 3D 4E 28 22 69 6E 64 65 78 4C 61 62 65 6C 4F 72 69 65 6E 74 61 74 69 6F 6E 22 2C 68 2E 64 61 74 61 50 6F 69 6E 74 2C 68 2E 64 61 74 61 53 65 72 69 65 73 29 2C 73 3D 68 2E 64 69 72 65 63 74 69 6F 6E 2C 76 3D 68 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 58 2C 78 3D 68 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2C 6E 3D 6E 65 77 20 48 28 61 2C 7B 78 3A 30 2C 79 3A 30 2C 6D 61 78 57 69 64 74 68 3A 65 3F 65 3A 30 2E 35 2A 74 68 69 73 2E 77 69 64 74 68 2C 6D 61 78 48 65 69 67 68 74 3A 71 3F 35 2A 6B 3A 31 2E 35 2A 6B 2C 61 6E 67 6C 65 3A 22 68 6F 72 69 7A 6F 6E 74 61 6C 22 3D 3D 3D 72 3F 30 3A 2D 39 30 2C 74 65 78 74 3A 77 2C 70 61 64 64 69 6E 67 3A 30 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 64 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 6C 65 66 74 22 2C 66 6F 6E 74 53 69 7A 65 3A 6B 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 6C 2C 66 6F 6E 74 57 65 69 67 68 74 3A 66 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 6E 2C 66 6F 6E 74 53 74 79 6C 65 3A 6D 2C 0A 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 3B 6E 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 3B 69 66 28 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 6C 69 6E 65 22 29 7C 7C 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 61 72 65 61 22 29 7C 7C 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 62 75 62 62 6C 65 22 29 7C 7C 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 73 63 61 74 74 65 72 22 29 29 7B 69 66 28 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3C 76 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3E 76 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 68 2E 64 61 74 61 50 6F 69 6E 74 2E 79 3C 78 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 68 2E 64 61 74 61 50 6F 69 6E 74 2E 79 3E 78 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 63 6F 6E 74 69 6E 75 65 7D 65 6C 73 65 20 69 66 28 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 63 6F 6C 75 6D 6E 22 29 29 7B 69 66 28 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3C 76 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3E 76 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 68 2E 62 6F 75 6E 64 73 2E 79 31 3E 62 2E 79 32 7C 7C 68 2E 62 6F 75 6E 64 73 2E 79 32 3C 62 2E 79 31 29 63 6F 6E 74 69 6E 75 65 7D 65 6C 73 65 20 69 66 28 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 62 61 72 22 29 29 7B 69 66 28 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3C 76 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3E 76 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 0A 68 2E 62 6F 75 6E 64 73 2E 78 31 3E 62 2E 78 32 7C 7C 68 2E 62 6F 75 6E 64 73 2E 78 32 3C 62 2E 78 31 29 63 6F 6E 74 69 6E 75 65 7D 65 6C 73 65 20 69 66 28 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3C 76 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 68 2E 64 61 74 61 50 6F 69 6E 74 2E 78 3E 76 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 63 6F 6E 74 69 6E 75 65 3B 65 3D 66 3D 32 3B 22 68 6F 72 69 7A 6F 6E 74 61 6C 22 3D 3D 3D 72 3F 28 64 3D 6E 2E 77 69 64 74 68 2C 6B 3D 6E 2E 68 65 69 67 68 74 29 3A 28 6B 3D 6E 2E 77 69 64 74 68 2C 64 3D 6E 2E 68 65 69 67 68 74 29 3B 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 74 68 69 73 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 7B 69 66 28 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 6C 69 6E 65 22 29 7C 7C 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 61 72 65 61 22 29 29 63 3D 22 61 75 74 6F 22 2C 66 3D 34 3B 65 6C 73 65 20 69 66 28 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 73 74 61 63 6B 65 64 22 29 29 22 61 75 74 6F 22 3D 3D 3D 63 26 26 28 63 3D 22 69 6E 73 69 64 65 22 29 3B 65 6C 73 65 20 69 66 28 22 62 75 62 62 6C 65 22 3D 3D 3D 67 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 67 29 63 3D 22 69 6E 73 69 64 65 22 3B 6C 3D 68 2E 70 6F 69 6E 74 2E 78 2D 64 2F 32 3B 22 69 6E 73 69 64 65 22 21 3D 3D 63 3F 28 64 3D 62 2E 79 31 2C 65 3D 62 2E 79 32 2C 30 3C 73 3F 28 6D 3D 68 2E 70 6F 69 6E 74 2E 79 2D 6B 2D 66 2C 6D 3C 64 26 26 28 6D 3D 22 61 75 74 6F 22 3D 3D 3D 63 3F 4D 61 74 68 2E 6D 61 78 28 68 2E 70 6F 69 6E 74 2E 79 2C 0A 64 29 2B 66 3A 64 2B 66 29 29 3A 28 6D 3D 68 2E 70 6F 69 6E 74 2E 79 2B 66 2C 6D 3E 65 2D 6B 2D 66 26 26 28 6D 3D 22 61 75 74 6F 22 3D 3D 3D 63 3F 4D 61 74 68 2E 6D 69 6E 28 68 2E 70 6F 69 6E 74 2E 79 2C 65 29 2D 6B 2D 66 3A 65 2D 6B 2D 66 29 29 29 3A 28 64 3D 4D 61 74 68 2E 6D 61 78 28 68 2E 62 6F 75 6E 64 73 2E 79 31 2C 62 2E 79 31 29 2C 65 3D 4D 61 74 68 2E 6D 69 6E 28 68 2E 62 6F 75 6E 64 73 2E 79 32 2C 62 2E 79 32 29 2C 63 3D 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 72 61 6E 67 65 22 29 3F 30 3C 73 3F 4D 61 74 68 2E 6D 61 78 28 68 2E 62 6F 75 6E 64 73 2E 79 31 2C 62 2E 79 31 29 2B 6B 2F 32 2B 66 3A 4D 61 74 68 2E 6D 69 6E 28 68 2E 62 6F 75 6E 64 73 2E 79 32 2C 62 2E 79 32 29 2D 6B 2F 32 2D 66 3A 28 4D 61 74 68 2E 6D 61 78 28 68 2E 62 6F 75 6E 64 73 2E 79 31 2C 62 2E 79 31 29 2B 4D 61 74 68 2E 6D 69 6E 28 68 2E 62 6F 75 6E 64 73 2E 79 32 2C 62 2E 79 32 29 29 2F 32 2C 30 3C 73 3F 28 6D 3D 4D 61 74 68 2E 6D 61 78 28 68 2E 70 6F 69 6E 74 2E 79 2C 63 29 2D 6B 2F 32 2C 6D 3C 64 26 26 28 22 62 75 62 62 6C 65 22 3D 3D 3D 67 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 67 29 26 26 28 6D 3D 4D 61 74 68 2E 6D 61 78 28 68 2E 70 6F 69 6E 74 2E 79 2D 6B 2D 66 2C 62 2E 79 31 2B 66 29 29 29 3A 28 6D 3D 4D 61 74 68 2E 6D 69 6E 28 68 2E 70 6F 69 6E 74 2E 79 2C 63 29 2D 6B 2F 32 2C 6D 3E 65 2D 6B 2D 66 26 26 28 22 62 75 62 62 6C 65 22 3D 3D 3D 67 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 67 29 26 26 28 6D 3D 4D 61 74 68 2E 6D 69 6E 28 68 2E 70 6F 69 6E 74 2E 79 2B 66 2C 62 2E 79 32 2D 6B 2D 66 29 29 29 2C 0A 6D 3D 4D 61 74 68 2E 6D 69 6E 28 6D 2C 65 2D 6B 29 29 7D 65 6C 73 65 20 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 6C 69 6E 65 22 29 7C 7C 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 61 72 65 61 22 29 7C 7C 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 73 63 61 74 74 65 72 22 29 3F 28 63 3D 22 61 75 74 6F 22 2C 65 3D 34 29 3A 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 73 74 61 63 6B 65 64 22 29 3F 22 61 75 74 6F 22 3D 3D 3D 63 26 26 28 63 3D 22 69 6E 73 69 64 65 22 29 3A 22 62 75 62 62 6C 65 22 3D 3D 3D 67 26 26 28 63 3D 22 69 6E 73 69 64 65 22 29 2C 6D 3D 68 2E 70 6F 69 6E 74 2E 79 2D 6B 2F 32 2C 22 69 6E 73 69 64 65 22 21 3D 3D 63 3F 28 66 3D 62 2E 78 31 2C 67 3D 62 2E 78 32 2C 30 3E 73 3F 28 6C 3D 68 2E 70 6F 69 6E 74 2E 78 2D 64 2D 65 2C 6C 3C 66 26 26 28 6C 3D 22 61 75 74 6F 22 3D 3D 3D 63 3F 4D 61 74 68 2E 6D 61 78 28 68 2E 70 6F 69 6E 74 2E 78 2C 66 29 2B 65 3A 66 2B 65 29 29 3A 28 6C 3D 68 2E 70 6F 69 6E 74 2E 78 2B 65 2C 6C 3E 67 2D 64 2D 65 26 26 28 6C 3D 22 61 75 74 6F 22 3D 3D 3D 63 3F 4D 61 74 68 2E 6D 69 6E 28 68 2E 70 6F 69 6E 74 2E 78 2C 67 29 2D 64 2D 65 3A 67 2D 64 2D 65 29 29 29 3A 28 66 3D 4D 61 74 68 2E 6D 61 78 28 68 2E 62 6F 75 6E 64 73 2E 78 31 2C 62 2E 78 31 29 2C 4D 61 74 68 2E 6D 69 6E 28 68 2E 62 6F 75 6E 64 73 2E 78 32 2C 62 2E 78 32 29 2C 63 3D 30 3C 3D 67 2E 69 6E 64 65 78 4F 66 28 22 72 61 6E 67 65 22 29 3F 30 3E 73 3F 4D 61 74 68 2E 6D 61 78 28 68 2E 62 6F 75 6E 64 73 2E 78 31 2C 62 2E 78 31 29 2B 64 2F 32 2B 65 3A 4D 61 74 68 2E 6D 69 6E 28 68 2E 62 6F 75 6E 64 73 2E 78 32 2C 0A 62 2E 78 32 29 2D 64 2F 32 2D 65 3A 28 4D 61 74 68 2E 6D 61 78 28 68 2E 62 6F 75 6E 64 73 2E 78 31 2C 62 2E 78 31 29 2B 4D 61 74 68 2E 6D 69 6E 28 68 2E 62 6F 75 6E 64 73 2E 78 32 2C 62 2E 78 32 29 29 2F 32 2C 6C 3D 30 3E 73 3F 4D 61 74 68 2E 6D 61 78 28 68 2E 70 6F 69 6E 74 2E 78 2C 63 29 2D 64 2F 32 3A 4D 61 74 68 2E 6D 69 6E 28 68 2E 70 6F 69 6E 74 2E 78 2C 63 29 2D 64 2F 32 2C 6C 3D 4D 61 74 68 2E 6D 61 78 28 6C 2C 66 29 29 3B 22 76 65 72 74 69 63 61 6C 22 3D 3D 3D 72 26 26 28 6D 2B 3D 6B 29 3B 6E 2E 78 3D 6C 3B 6E 2E 79 3D 6D 3B 6E 2E 72 65 6E 64 65 72 28 21 30 29 7D 7D 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 61 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 66 61 64 65 49 6E 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 49 6E 51 75 61 64 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 2C 73 74 61 72 74 54 69 6D 65 50 65 72 63 65 6E 74 3A 30 2E 37 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 4C 69 6E 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 3B 62 2E 73 61 76 65 28 29 3B 0A 76 61 72 20 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 66 6F 72 28 76 61 72 20 64 3D 5B 5D 2C 65 3D 30 3B 65 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 7B 76 61 72 20 66 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 65 5D 2C 67 3D 74 68 69 73 2E 64 61 74 61 5B 66 5D 3B 62 2E 6C 69 6E 65 57 69 64 74 68 3D 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 76 61 72 20 6B 3D 67 2E 64 61 74 61 50 6F 69 6E 74 73 3B 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 67 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 76 61 72 20 70 3D 67 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 70 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 66 7D 3B 70 3D 42 28 70 29 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 70 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 30 3C 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3F 4D 61 74 68 2E 6D 61 78 28 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 2C 34 29 3A 30 3B 70 3D 67 2E 5F 63 6F 6C 6F 72 53 65 74 5B 30 5D 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 70 3B 76 61 72 20 68 3D 21 30 2C 6C 3D 30 2C 6D 2C 0A 6E 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 69 66 28 30 3C 6B 2E 6C 65 6E 67 74 68 29 7B 66 6F 72 28 76 61 72 20 71 3D 21 31 2C 6C 3D 30 3B 6C 3C 6B 2E 6C 65 6E 67 74 68 3B 6C 2B 2B 29 69 66 28 6D 3D 6B 5B 6C 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 6B 5B 6C 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6B 5B 6C 5D 2E 78 2C 21 28 6D 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6D 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 69 66 28 22 6E 75 6D 62 65 72 22 21 3D 3D 74 79 70 65 6F 66 20 6B 5B 6C 5D 2E 79 29 30 3C 6C 26 26 28 62 2E 73 74 72 6F 6B 65 28 29 2C 74 26 26 63 2E 73 74 72 6F 6B 65 28 29 29 2C 71 3D 21 30 3B 65 6C 73 65 7B 6D 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6D 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6E 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6B 5B 6C 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 0A 30 2E 35 3C 3C 30 3B 76 61 72 20 72 3D 67 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 6C 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 72 5D 3D 7B 69 64 3A 72 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 66 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6C 2C 78 31 3A 6D 2C 79 31 3A 6E 7D 3B 68 7C 7C 71 3F 28 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 2C 74 26 26 28 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 29 2C 71 3D 68 3D 21 31 29 3A 28 62 2E 6C 69 6E 65 54 6F 28 6D 2C 6E 29 2C 74 26 26 63 2E 6C 69 6E 65 54 6F 28 6D 2C 6E 29 2C 30 3D 3D 6C 25 35 30 30 26 26 28 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 2C 74 26 26 28 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 29 29 29 3B 69 66 28 30 3C 6B 5B 6C 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 67 2E 6D 61 72 6B 65 72 53 69 7A 65 29 7B 76 61 72 20 73 3D 67 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6C 2C 6D 2C 6E 2C 62 29 3B 64 2E 70 75 73 68 28 73 29 3B 72 3D 42 28 72 29 3B 74 26 26 64 2E 70 75 73 68 28 7B 78 3A 6D 2C 79 3A 6E 2C 63 74 78 3A 63 2C 74 79 70 65 3A 73 2E 74 79 70 65 2C 73 69 7A 65 3A 73 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 72 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 72 2C 0A 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 7D 28 6B 5B 6C 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 67 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6B 5B 6C 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 6C 69 6E 65 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6B 5B 6C 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 67 2C 70 6F 69 6E 74 3A 7B 78 3A 6D 2C 79 3A 6E 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 6B 5B 6C 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 70 7D 29 7D 62 2E 73 74 72 6F 6B 65 28 29 3B 74 26 26 63 2E 73 74 72 6F 6B 65 28 29 7D 7D 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 64 29 3B 62 2E 72 65 73 74 6F 72 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 26 26 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 65 70 4C 69 6E 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 0A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 3B 62 2E 73 61 76 65 28 29 3B 76 61 72 20 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 66 6F 72 28 76 61 72 20 64 3D 5B 5D 2C 65 3D 30 3B 65 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 7B 76 61 72 20 66 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 65 5D 2C 67 3D 74 68 69 73 2E 64 61 74 61 5B 66 5D 3B 62 2E 6C 69 6E 65 57 69 64 74 68 3D 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 76 61 72 20 6B 3D 67 2E 64 61 74 61 50 6F 69 6E 74 73 3B 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 67 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 76 61 72 20 70 3D 67 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 70 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 66 7D 3B 70 3D 42 28 70 29 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 70 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 0A 30 3C 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3F 4D 61 74 68 2E 6D 61 78 28 67 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 2C 34 29 3A 30 3B 70 3D 67 2E 5F 63 6F 6C 6F 72 53 65 74 5B 30 5D 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 70 3B 76 61 72 20 68 3D 21 30 2C 6C 3D 30 2C 6D 2C 6E 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 69 66 28 30 3C 6B 2E 6C 65 6E 67 74 68 29 7B 66 6F 72 28 76 61 72 20 71 3D 21 31 2C 6C 3D 30 3B 6C 3C 6B 2E 6C 65 6E 67 74 68 3B 6C 2B 2B 29 69 66 28 6D 3D 6B 5B 6C 5D 2E 67 65 74 54 69 6D 65 3F 6B 5B 6C 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6B 5B 6C 5D 2E 78 2C 21 28 6D 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6D 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 69 66 28 22 6E 75 6D 62 65 72 22 21 3D 3D 74 79 70 65 6F 66 20 6B 5B 6C 5D 2E 79 29 30 3C 6C 26 26 28 62 2E 73 74 72 6F 6B 65 28 29 2C 74 26 26 63 2E 73 74 72 6F 6B 65 28 29 29 2C 71 3D 21 30 3B 65 6C 73 65 7B 76 61 72 20 72 3D 6E 3B 6D 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6D 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6E 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6B 5B 6C 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 73 3D 67 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 6C 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 73 5D 3D 7B 69 64 3A 73 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 66 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6C 2C 78 31 3A 6D 2C 79 31 3A 6E 7D 3B 68 7C 7C 71 3F 28 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 2C 74 26 26 28 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 29 2C 71 3D 68 3D 21 31 29 3A 28 62 2E 6C 69 6E 65 54 6F 28 6D 2C 72 29 2C 74 26 26 63 2E 6C 69 6E 65 54 6F 28 6D 2C 72 29 2C 62 2E 6C 69 6E 65 54 6F 28 6D 2C 6E 29 2C 74 26 26 63 2E 6C 69 6E 65 54 6F 28 6D 2C 6E 29 2C 30 3D 3D 6C 25 35 30 30 26 26 28 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 2C 74 26 26 28 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 6D 2C 6E 29 29 29 29 3B 69 66 28 30 3C 6B 5B 6C 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 67 2E 6D 61 72 6B 65 72 53 69 7A 65 29 72 3D 67 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6C 2C 0A 6D 2C 6E 2C 62 29 2C 64 2E 70 75 73 68 28 72 29 2C 73 3D 42 28 73 29 2C 74 26 26 64 2E 70 75 73 68 28 7B 78 3A 6D 2C 79 3A 6E 2C 63 74 78 3A 63 2C 74 79 70 65 3A 72 2E 74 79 70 65 2C 73 69 7A 65 3A 72 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 73 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 73 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 72 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 3B 28 6B 5B 6C 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 67 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6B 5B 6C 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 65 70 4C 69 6E 65 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6B 5B 6C 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 67 2C 70 6F 69 6E 74 3A 7B 78 3A 6D 2C 79 3A 6E 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 6B 5B 6C 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 70 7D 29 7D 62 2E 73 74 72 6F 6B 65 28 29 3B 74 26 26 63 2E 73 74 72 6F 6B 65 28 29 7D 7D 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 64 29 3B 62 2E 72 65 73 74 6F 72 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 26 26 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 0A 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 70 6C 69 6E 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 61 29 7B 61 3D 69 61 28 61 2C 32 29 3B 69 66 28 30 3C 61 2E 6C 65 6E 67 74 68 29 7B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 26 26 64 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 6D 6F 76 65 54 6F 28 61 5B 30 5D 2E 78 2C 61 5B 30 5D 2E 79 29 3B 74 26 26 64 2E 6D 6F 76 65 54 6F 28 61 5B 30 5D 2E 78 2C 61 5B 30 5D 2E 79 29 3B 66 6F 72 28 76 61 72 20 62 3D 30 3B 62 3C 61 2E 6C 65 6E 67 74 68 2D 33 3B 62 2B 3D 33 29 63 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2B 31 5D 2E 78 2C 61 5B 62 2B 31 5D 2E 79 2C 61 5B 62 2B 32 5D 2E 78 2C 61 5B 62 2B 32 5D 2E 79 2C 61 5B 62 2B 33 5D 2E 78 2C 61 5B 62 2B 33 5D 2E 79 29 2C 74 26 26 64 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2B 31 5D 2E 78 2C 61 5B 62 2B 31 5D 2E 79 2C 61 5B 62 2B 32 5D 2E 78 2C 61 5B 62 2B 32 5D 2E 79 2C 61 5B 62 2B 33 5D 2E 78 2C 61 5B 62 2B 33 5D 2E 79 29 2C 30 3C 62 26 26 30 3D 3D 3D 62 25 33 45 33 26 26 28 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 61 5B 62 2B 33 5D 2E 78 2C 61 5B 62 2B 33 5D 2E 79 29 2C 74 26 26 28 64 2E 73 74 72 6F 6B 65 28 29 2C 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 61 5B 62 2B 33 5D 2E 78 2C 61 5B 62 2B 33 5D 2E 79 29 29 29 3B 63 2E 73 74 72 6F 6B 65 28 29 3B 74 26 26 64 2E 73 74 72 6F 6B 65 28 29 7D 7D 0A 76 61 72 20 63 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 3B 63 2E 73 61 76 65 28 29 3B 76 61 72 20 65 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 72 65 63 74 28 65 2E 78 31 2C 65 2E 79 31 2C 65 2E 77 69 64 74 68 2C 65 2E 68 65 69 67 68 74 29 3B 63 2E 63 6C 69 70 28 29 3B 66 6F 72 28 76 61 72 20 65 3D 5B 5D 2C 66 3D 30 3B 66 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 66 2B 2B 29 7B 76 61 72 20 67 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 66 5D 2C 6B 3D 74 68 69 73 2E 64 61 74 61 5B 67 5D 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 76 61 72 20 70 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 3B 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 6B 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 76 61 72 20 68 3D 6B 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 68 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 67 7D 3B 68 3D 42 28 68 29 3B 0A 64 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 68 3B 64 2E 6C 69 6E 65 57 69 64 74 68 3D 30 3C 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3F 4D 61 74 68 2E 6D 61 78 28 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 2C 34 29 3A 30 3B 68 3D 6B 2E 5F 63 6F 6C 6F 72 53 65 74 5B 30 5D 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 68 3B 76 61 72 20 6C 3D 30 2C 6D 2C 6E 2C 71 3D 5B 5D 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 69 66 28 30 3C 70 2E 6C 65 6E 67 74 68 29 66 6F 72 28 6C 3D 30 3B 6C 3C 70 2E 6C 65 6E 67 74 68 3B 6C 2B 2B 29 69 66 28 6D 3D 70 5B 6C 5D 2E 67 65 74 54 69 6D 65 3F 70 5B 6C 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 70 5B 6C 5D 2E 78 2C 21 28 6D 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6D 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 69 66 28 22 6E 75 6D 62 65 72 22 21 3D 3D 74 79 70 65 6F 66 20 70 5B 6C 5D 2E 79 29 30 3C 6C 26 26 28 62 28 71 29 2C 71 3D 5B 5D 29 3B 65 6C 73 65 7B 6D 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6D 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6E 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 70 5B 6C 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 72 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 6C 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 72 5D 3D 7B 69 64 3A 72 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 67 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6C 2C 78 31 3A 6D 2C 79 31 3A 6E 7D 3B 71 5B 71 2E 6C 65 6E 67 74 68 5D 3D 7B 78 3A 6D 2C 79 3A 6E 7D 3B 69 66 28 30 3C 70 5B 6C 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 6B 2E 6D 61 72 6B 65 72 53 69 7A 65 29 7B 76 61 72 20 73 3D 6B 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6C 2C 6D 2C 6E 2C 63 29 3B 65 2E 70 75 73 68 28 73 29 3B 72 3D 42 28 72 29 3B 74 26 26 65 2E 70 75 73 68 28 7B 78 3A 6D 2C 79 3A 6E 2C 63 74 78 3A 64 2C 74 79 70 65 3A 73 2E 74 79 70 65 2C 73 69 7A 65 3A 73 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 72 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 72 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 7D 28 70 5B 6C 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 70 5B 6C 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 0A 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 70 6C 69 6E 65 22 2C 64 61 74 61 50 6F 69 6E 74 3A 70 5B 6C 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6B 2C 70 6F 69 6E 74 3A 7B 78 3A 6D 2C 79 3A 6E 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 70 5B 6C 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 68 7D 29 7D 62 28 71 29 7D 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 65 29 3B 63 2E 72 65 73 74 6F 72 65 28 29 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 26 26 64 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 63 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 76 61 72 20 49 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 2C 66 2C 67 2C 6B 2C 70 2C 68 2C 6C 2C 6D 2C 6E 29 7B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 6E 26 26 28 6E 3D 31 29 3B 67 3D 67 7C 7C 30 3B 6B 3D 6B 7C 7C 22 62 6C 61 63 6B 22 3B 76 61 72 20 71 3D 31 35 3C 64 2D 62 26 26 31 35 3C 65 2D 63 3F 38 3A 30 2E 33 35 2A 4D 61 74 68 2E 6D 69 6E 28 64 2D 62 2C 65 2D 63 29 3B 61 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 61 2E 6D 6F 76 65 54 6F 28 62 2C 63 29 3B 0A 61 2E 73 61 76 65 28 29 3B 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 66 3B 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 6E 3B 61 2E 66 69 6C 6C 52 65 63 74 28 62 2C 63 2C 64 2D 62 2C 65 2D 63 29 3B 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 30 3C 67 26 26 28 6E 3D 30 3D 3D 3D 67 25 32 3F 30 3A 30 2E 35 2C 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 61 2E 6C 69 6E 65 57 69 64 74 68 3D 67 2C 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 6B 2C 61 2E 6D 6F 76 65 54 6F 28 62 2C 63 29 2C 61 2E 72 65 63 74 28 62 2D 6E 2C 63 2D 6E 2C 64 2D 62 2B 32 2A 6E 2C 65 2D 63 2B 32 2A 6E 29 2C 61 2E 73 74 72 6F 6B 65 28 29 29 3B 61 2E 72 65 73 74 6F 72 65 28 29 3B 21 30 3D 3D 3D 70 26 26 28 61 2E 73 61 76 65 28 29 2C 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 61 2E 6D 6F 76 65 54 6F 28 62 2C 63 29 2C 61 2E 6C 69 6E 65 54 6F 28 62 2B 71 2C 63 2B 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 64 2D 71 2C 63 2B 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 64 2C 63 29 2C 61 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 67 3D 61 2E 63 72 65 61 74 65 4C 69 6E 65 61 72 47 72 61 64 69 65 6E 74 28 28 64 2B 62 29 2F 32 2C 63 2B 71 2C 28 64 2B 62 29 2F 32 2C 63 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 30 2C 66 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 31 2C 22 72 67 62 61 28 32 35 35 2C 20 32 35 35 2C 20 32 35 35 2C 20 2E 34 29 22 29 2C 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 67 2C 61 2E 66 69 6C 6C 28 29 2C 61 2E 72 65 73 74 6F 72 65 28 29 29 3B 21 30 3D 3D 3D 68 26 26 28 61 2E 73 61 76 65 28 29 2C 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 0A 61 2E 6D 6F 76 65 54 6F 28 62 2C 65 29 2C 61 2E 6C 69 6E 65 54 6F 28 62 2B 71 2C 65 2D 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 64 2D 71 2C 65 2D 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 64 2C 65 29 2C 61 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 67 3D 61 2E 63 72 65 61 74 65 4C 69 6E 65 61 72 47 72 61 64 69 65 6E 74 28 28 64 2B 62 29 2F 32 2C 65 2D 71 2C 28 64 2B 62 29 2F 32 2C 65 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 30 2C 66 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 31 2C 22 72 67 62 61 28 32 35 35 2C 20 32 35 35 2C 20 32 35 35 2C 20 2E 34 29 22 29 2C 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 67 2C 61 2E 66 69 6C 6C 28 29 2C 61 2E 72 65 73 74 6F 72 65 28 29 29 3B 21 30 3D 3D 3D 6C 26 26 28 61 2E 73 61 76 65 28 29 2C 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 61 2E 6D 6F 76 65 54 6F 28 62 2C 63 29 2C 61 2E 6C 69 6E 65 54 6F 28 62 2B 71 2C 63 2B 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 62 2B 71 2C 65 2D 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 62 2C 65 29 2C 61 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 67 3D 61 2E 63 72 65 61 74 65 4C 69 6E 65 61 72 47 72 61 64 69 65 6E 74 28 62 2B 71 2C 28 65 2B 63 29 2F 32 2C 62 2C 28 65 2B 63 29 2F 32 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 30 2C 66 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 31 2C 22 72 67 62 61 28 32 35 35 2C 20 32 35 35 2C 20 32 35 35 2C 20 30 2E 31 29 22 29 2C 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 67 2C 61 2E 66 69 6C 6C 28 29 2C 61 2E 72 65 73 74 6F 72 65 28 29 29 3B 21 30 3D 3D 3D 6D 26 26 28 61 2E 73 61 76 65 28 29 2C 0A 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 61 2E 6D 6F 76 65 54 6F 28 64 2C 63 29 2C 61 2E 6C 69 6E 65 54 6F 28 64 2D 71 2C 63 2B 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 64 2D 71 2C 65 2D 71 29 2C 61 2E 6C 69 6E 65 54 6F 28 64 2C 65 29 2C 67 3D 61 2E 63 72 65 61 74 65 4C 69 6E 65 61 72 47 72 61 64 69 65 6E 74 28 64 2D 71 2C 28 65 2B 63 29 2F 32 2C 64 2C 28 65 2B 63 29 2F 32 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 30 2C 66 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 31 2C 22 72 67 62 61 28 32 35 35 2C 20 32 35 35 2C 20 32 35 35 2C 20 30 2E 31 29 22 29 2C 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 67 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 30 2C 66 29 2C 67 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 28 31 2C 22 72 67 62 61 28 32 35 35 2C 20 32 35 35 2C 20 32 35 35 2C 20 30 2E 31 29 22 29 2C 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 67 2C 61 2E 66 69 6C 6C 28 29 2C 61 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 61 2E 72 65 73 74 6F 72 65 28 29 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 43 6F 6C 75 6D 6E 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 2C 66 2C 67 2C 6B 2C 70 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 65 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 2C 68 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 4D 61 74 68 2E 6D 69 6E 28 30 2E 31 35 2A 74 68 69 73 2E 77 69 64 74 68 2C 30 2E 39 2A 28 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 77 69 64 74 68 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 29 29 3C 3C 30 2C 6C 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6C 29 7C 7C 28 6C 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6C 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 77 69 64 74 68 2F 0A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6C 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 29 3C 3C 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 65 3E 68 26 26 28 65 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 68 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 68 3C 65 29 26 26 28 68 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 65 29 29 3B 6C 3C 65 26 26 28 6C 3D 65 29 3B 6C 3E 68 26 26 28 6C 3D 68 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 0A 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 64 3D 30 3B 64 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 7B 76 61 72 20 68 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 64 5D 2C 6D 3D 74 68 69 73 2E 64 61 74 61 5B 68 5D 2C 6E 3D 6D 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 6E 2E 6C 65 6E 67 74 68 29 66 6F 72 28 76 61 72 20 71 3D 35 3C 6C 26 26 6D 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 2C 65 3D 30 3B 65 3C 6E 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 6E 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 6B 3D 6E 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6B 3D 6E 5B 65 5D 2E 78 2C 21 28 6B 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6B 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 6E 5B 65 5D 2E 79 29 7B 66 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6B 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 67 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6E 5B 65 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 66 3D 66 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 2A 6C 2F 32 2B 28 61 2E 70 72 65 76 69 6F 75 73 44 61 74 61 53 65 72 69 65 73 43 6F 75 6E 74 2B 64 29 2A 6C 3C 3C 30 3B 76 61 72 20 72 3D 66 2B 6C 3C 3C 30 2C 73 3B 30 3C 3D 6E 5B 65 5D 2E 79 3F 73 3D 70 3A 28 73 3D 67 2C 67 3D 70 29 3B 67 3E 73 26 26 28 73 3D 67 3D 73 29 3B 63 3D 6E 5B 65 5D 2E 63 6F 6C 6F 72 3F 6E 5B 65 5D 2E 63 6F 6C 6F 72 3A 6D 2E 5F 63 6F 6C 6F 72 53 65 74 5B 65 25 6D 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 49 28 62 2C 66 2C 67 2C 72 2C 73 2C 63 2C 30 2C 6E 75 6C 6C 2C 71 26 26 30 3C 3D 6E 5B 65 5D 2E 79 2C 30 3E 6E 5B 65 5D 2E 79 26 26 71 2C 21 31 2C 21 31 2C 6D 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 6D 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 69 64 3A 63 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 68 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 65 2C 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 72 2C 79 32 3A 73 7D 3B 63 3D 42 28 63 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 0A 66 2C 67 2C 72 2C 73 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 28 6E 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 63 6F 6C 75 6D 6E 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6E 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6D 2C 70 6F 69 6E 74 3A 7B 78 3A 66 2B 28 72 2D 66 29 2F 32 2C 79 3A 30 3C 3D 6E 5B 65 5D 2E 79 3F 67 3A 73 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 6E 5B 65 5D 2E 79 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 66 2C 79 31 3A 4D 61 74 68 2E 6D 69 6E 28 67 2C 73 29 2C 78 32 3A 72 2C 79 32 3A 4D 61 74 68 2E 6D 61 78 28 67 2C 73 29 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 61 3D 4D 61 74 68 2E 6D 69 6E 28 70 2C 61 2E 61 78 69 73 59 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 79 32 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 79 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 4F 75 74 51 75 61 72 74 2C 0A 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 61 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 5B 5D 2C 66 3D 5B 5D 2C 67 3D 30 2C 6B 2C 70 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 67 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 2C 68 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 31 35 2A 74 68 69 73 2E 77 69 64 74 68 3C 3C 0A 30 2C 6C 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6C 29 7C 7C 28 6C 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6C 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6C 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 29 3C 3C 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 67 3E 68 26 26 28 67 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 68 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 68 3C 67 29 26 26 28 68 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 67 29 29 3B 6C 3C 67 26 26 28 6C 3D 67 29 3B 6C 3E 68 26 26 28 6C 3D 68 29 3B 0A 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 68 3D 30 3B 68 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6D 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 68 5D 2C 6E 3D 74 68 69 73 2E 64 61 74 61 5B 6D 5D 2C 71 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 71 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 72 3D 35 3C 6C 26 26 6E 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 34 35 37 32 41 37 20 22 3B 66 6F 72 28 67 3D 30 3B 67 3C 71 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 69 66 28 63 3D 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 71 5B 67 5D 2E 78 2C 21 28 63 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 63 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 0A 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 71 5B 67 5D 2E 79 29 7B 64 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 63 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6B 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 71 5B 67 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3B 76 61 72 20 73 3D 64 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 2A 6C 2F 32 2B 61 2E 69 6E 64 65 78 2A 6C 3C 3C 30 2C 77 3D 73 2B 6C 3C 3C 30 2C 76 3B 69 66 28 30 3C 3D 71 5B 67 5D 2E 79 29 7B 76 61 72 20 78 3D 65 5B 63 5D 3F 65 5B 63 5D 3A 30 3B 6B 2D 3D 78 3B 76 3D 70 2D 78 3B 65 5B 63 5D 3D 78 2B 28 76 2D 6B 29 7D 65 6C 73 65 20 78 3D 66 5B 63 5D 3F 66 5B 63 5D 3A 30 2C 76 3D 6B 2B 78 2C 6B 3D 70 2B 78 2C 66 5B 63 5D 3D 78 2B 28 76 2D 6B 29 3B 63 3D 71 5B 67 5D 2E 63 6F 6C 6F 72 3F 71 5B 67 5D 2E 63 6F 6C 6F 72 3A 6E 2E 5F 63 6F 6C 6F 72 53 65 74 5B 67 25 6E 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 0A 49 28 62 2C 73 2C 6B 2C 77 2C 76 2C 63 2C 30 2C 6E 75 6C 6C 2C 72 26 26 30 3C 3D 71 5B 67 5D 2E 79 2C 30 3E 71 5B 67 5D 2E 79 26 26 72 2C 21 31 2C 21 31 2C 6E 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 67 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 69 64 3A 63 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6D 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 67 2C 78 31 3A 73 2C 79 31 3A 6B 2C 78 32 3A 77 2C 79 32 3A 76 7D 3B 63 3D 42 28 63 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 73 2C 6B 2C 77 2C 76 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 28 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 2C 64 61 74 61 50 6F 69 6E 74 3A 71 5B 67 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6E 2C 70 6F 69 6E 74 3A 7B 78 3A 64 2C 79 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 6B 3A 76 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 73 2C 79 31 3A 4D 61 74 68 2E 6D 69 6E 28 6B 2C 0A 76 29 2C 78 32 3A 77 2C 79 32 3A 4D 61 74 68 2E 6D 61 78 28 6B 2C 76 29 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 61 3D 4D 61 74 68 2E 6D 69 6E 28 70 2C 61 2E 61 78 69 73 59 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 79 32 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 79 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 4F 75 74 51 75 61 72 74 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 61 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 5B 5D 2C 66 3D 5B 5D 2C 67 3D 30 2C 6B 2C 70 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 0A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 67 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 2C 68 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 31 35 2A 74 68 69 73 2E 77 69 64 74 68 3C 3C 30 2C 6C 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6C 29 7C 7C 28 6C 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6C 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6C 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 29 3C 3C 0A 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 67 3E 68 26 26 28 67 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 68 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 68 3C 67 29 26 26 28 68 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 67 29 29 3B 6C 3C 67 26 26 28 6C 3D 67 29 3B 6C 3E 68 26 26 28 6C 3D 68 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 68 3D 30 3B 68 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6D 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 68 5D 2C 0A 6E 3D 74 68 69 73 2E 64 61 74 61 5B 6D 5D 2C 71 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 71 2E 6C 65 6E 67 74 68 29 66 6F 72 28 76 61 72 20 72 3D 35 3C 6C 26 26 6E 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 2C 67 3D 30 3B 67 3C 71 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 69 66 28 63 3D 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 71 5B 67 5D 2E 78 2C 21 28 63 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 63 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 71 5B 67 5D 2E 79 29 7B 64 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 63 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6B 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 28 30 21 3D 3D 61 2E 64 61 74 61 50 6F 69 6E 74 59 53 75 6D 73 5B 63 5D 3F 31 30 30 2A 28 71 5B 67 5D 2E 79 2F 61 2E 64 61 74 61 50 6F 69 6E 74 59 53 75 6D 73 5B 63 5D 29 3A 0A 30 29 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3B 76 61 72 20 73 3D 64 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 2A 6C 2F 32 2B 61 2E 69 6E 64 65 78 2A 6C 3C 3C 30 2C 77 3D 73 2B 6C 3C 3C 30 2C 76 3B 69 66 28 30 3C 3D 71 5B 67 5D 2E 79 29 7B 76 61 72 20 78 3D 65 5B 63 5D 3F 65 5B 63 5D 3A 30 3B 6B 2D 3D 78 3B 76 3D 70 2D 78 3B 65 5B 63 5D 3D 78 2B 28 76 2D 6B 29 7D 65 6C 73 65 20 78 3D 66 5B 63 5D 3F 66 5B 63 5D 3A 30 2C 76 3D 6B 2B 78 2C 6B 3D 70 2B 78 2C 66 5B 63 5D 3D 78 2B 28 76 2D 6B 29 3B 63 3D 71 5B 67 5D 2E 63 6F 6C 6F 72 3F 71 5B 67 5D 2E 63 6F 6C 6F 72 3A 6E 2E 5F 63 6F 6C 6F 72 53 65 74 5B 67 25 6E 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 49 28 62 2C 73 2C 6B 2C 77 2C 76 2C 63 2C 30 2C 6E 75 6C 6C 2C 72 26 26 30 3C 3D 71 5B 67 5D 2E 79 2C 30 3E 71 5B 67 5D 2E 79 26 26 72 2C 21 31 2C 21 31 2C 6E 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 67 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 69 64 3A 63 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6D 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 67 2C 78 31 3A 73 2C 79 31 3A 6B 2C 78 32 3A 77 2C 79 32 3A 76 7D 3B 63 3D 42 28 63 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 0A 73 2C 6B 2C 77 2C 76 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 28 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 2C 64 61 74 61 50 6F 69 6E 74 3A 71 5B 67 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6E 2C 70 6F 69 6E 74 3A 7B 78 3A 64 2C 79 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 6B 3A 76 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 73 2C 79 31 3A 4D 61 74 68 2E 6D 69 6E 28 6B 2C 76 29 2C 78 32 3A 77 2C 79 32 3A 4D 61 74 68 2E 6D 61 78 28 6B 2C 76 29 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 61 3D 4D 61 74 68 2E 6D 69 6E 28 70 2C 61 2E 61 78 69 73 59 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 79 32 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 79 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 4F 75 74 51 75 61 72 74 2C 0A 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 61 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 42 61 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 2C 66 2C 67 2C 6B 2C 70 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 65 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 2C 68 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 4D 61 74 68 2E 6D 69 6E 28 30 2E 31 35 2A 74 68 69 73 2E 68 65 69 67 68 74 2C 0A 30 2E 39 2A 28 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 68 65 69 67 68 74 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 29 29 3C 3C 30 2C 6C 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6C 29 7C 7C 28 6C 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6C 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 68 65 69 67 68 74 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6C 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 29 3C 3C 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 65 3E 68 26 26 28 65 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 68 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 68 3C 65 29 26 26 28 68 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 0A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 65 29 29 3B 6C 3C 65 26 26 28 6C 3D 65 29 3B 6C 3E 68 26 26 28 6C 3D 68 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 64 3D 30 3B 64 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 7B 76 61 72 20 68 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 64 5D 2C 6D 3D 74 68 69 73 2E 64 61 74 61 5B 68 5D 2C 6E 3D 6D 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 6E 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 71 3D 35 3C 6C 26 26 6D 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 34 35 37 32 41 37 20 22 3B 66 6F 72 28 65 3D 30 3B 65 3C 6E 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 6E 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 6B 3D 6E 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6B 3D 6E 5B 65 5D 2E 78 2C 0A 21 28 6B 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6B 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 6E 5B 65 5D 2E 79 29 7B 67 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6B 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 66 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6E 5B 65 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 67 3D 67 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 2A 6C 2F 32 2B 28 61 2E 70 72 65 76 69 6F 75 73 44 61 74 61 53 65 72 69 65 73 43 6F 75 6E 74 2B 64 29 2A 6C 3C 3C 30 3B 76 61 72 20 72 3D 67 2B 6C 3C 3C 30 2C 73 3B 30 3C 3D 6E 5B 65 5D 2E 79 3F 73 3D 70 3A 28 73 3D 66 2C 66 3D 70 29 3B 63 3D 6E 5B 65 5D 2E 63 6F 6C 6F 72 3F 6E 5B 65 5D 2E 63 6F 6C 6F 72 3A 6D 2E 5F 63 6F 6C 6F 72 53 65 74 5B 65 25 0A 6D 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 49 28 62 2C 73 2C 67 2C 66 2C 72 2C 63 2C 30 2C 6E 75 6C 6C 2C 71 2C 21 31 2C 21 31 2C 21 31 2C 6D 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 6D 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 69 64 3A 63 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 68 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 65 2C 78 31 3A 73 2C 79 31 3A 67 2C 78 32 3A 66 2C 79 32 3A 72 7D 3B 63 3D 42 28 63 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 73 2C 67 2C 66 2C 72 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 28 6E 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 62 61 72 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6E 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6D 2C 70 6F 69 6E 74 3A 7B 78 3A 30 3C 3D 6E 5B 65 5D 2E 79 3F 66 3A 73 2C 79 3A 67 2B 28 72 2D 67 29 2F 32 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 6E 5B 65 5D 2E 79 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 4D 61 74 68 2E 6D 69 6E 28 73 2C 0A 66 29 2C 79 31 3A 67 2C 78 32 3A 4D 61 74 68 2E 6D 61 78 28 73 2C 66 29 2C 79 32 3A 72 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 61 3D 4D 61 74 68 2E 6D 61 78 28 70 2C 61 2E 61 78 69 73 58 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 78 32 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 4F 75 74 51 75 61 72 74 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 61 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 42 61 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 5B 5D 2C 66 3D 5B 5D 2C 67 3D 30 2C 6B 2C 70 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 0A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 67 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 2C 68 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 31 35 2A 74 68 69 73 2E 68 65 69 67 68 74 3C 3C 30 2C 6C 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6C 29 7C 7C 28 6C 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6C 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 68 65 69 67 68 74 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6C 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 29 3C 3C 0A 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 67 3E 68 26 26 28 67 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 68 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 68 3C 67 29 26 26 28 68 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 67 29 29 3B 6C 3C 67 26 26 28 6C 3D 67 29 3B 6C 3E 68 26 26 28 6C 3D 68 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 68 3D 30 3B 68 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6D 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 68 5D 2C 0A 6E 3D 74 68 69 73 2E 64 61 74 61 5B 6D 5D 2C 71 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 71 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 72 3D 35 3C 6C 26 26 6E 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 34 35 37 32 41 37 20 22 3B 66 6F 72 28 67 3D 30 3B 67 3C 71 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 69 66 28 63 3D 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 71 5B 67 5D 2E 78 2C 21 28 63 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 63 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 71 5B 67 5D 2E 79 29 7B 64 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 63 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6B 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 71 5B 67 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3B 0A 76 61 72 20 73 3D 64 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 2A 6C 2F 32 2B 61 2E 69 6E 64 65 78 2A 6C 3C 3C 30 2C 77 3D 73 2B 6C 3C 3C 30 2C 76 3B 69 66 28 30 3C 3D 71 5B 67 5D 2E 79 29 7B 76 61 72 20 78 3D 65 5B 63 5D 3F 65 5B 63 5D 3A 30 3B 76 3D 70 2B 78 3B 6B 2B 3D 78 3B 65 5B 63 5D 3D 78 2B 28 6B 2D 76 29 7D 65 6C 73 65 20 78 3D 66 5B 63 5D 3F 66 5B 63 5D 3A 30 2C 76 3D 6B 2D 78 2C 6B 3D 70 2D 78 2C 66 5B 63 5D 3D 78 2B 28 6B 2D 76 29 3B 63 3D 71 5B 67 5D 2E 63 6F 6C 6F 72 3F 71 5B 67 5D 2E 63 6F 6C 6F 72 3A 6E 2E 5F 63 6F 6C 6F 72 53 65 74 5B 67 25 6E 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 49 28 62 2C 76 2C 73 2C 6B 2C 77 2C 63 2C 30 2C 6E 75 6C 6C 2C 72 2C 21 31 2C 21 31 2C 21 31 2C 6E 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 67 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 69 64 3A 63 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6D 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 67 2C 78 31 3A 76 2C 79 31 3A 73 2C 78 32 3A 6B 2C 79 32 3A 77 7D 3B 63 3D 42 28 63 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 76 2C 73 2C 6B 2C 77 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 28 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 0A 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 61 63 6B 65 64 42 61 72 22 2C 64 61 74 61 50 6F 69 6E 74 3A 71 5B 67 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6E 2C 70 6F 69 6E 74 3A 7B 78 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 6B 3A 76 2C 79 3A 64 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 4D 61 74 68 2E 6D 69 6E 28 76 2C 6B 29 2C 79 31 3A 73 2C 78 32 3A 4D 61 74 68 2E 6D 61 78 28 76 2C 6B 29 2C 79 32 3A 77 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 61 3D 4D 61 74 68 2E 6D 61 78 28 70 2C 61 2E 61 78 69 73 58 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 78 32 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 4F 75 74 51 75 61 72 74 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 61 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 42 61 72 31 30 30 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 0A 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 5B 5D 2C 66 3D 5B 5D 2C 67 3D 30 2C 6B 2C 70 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 67 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 2C 68 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 31 35 2A 74 68 69 73 2E 68 65 69 67 68 74 3C 3C 30 2C 6C 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6C 29 7C 7C 28 6C 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 0A 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6C 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 68 65 69 67 68 74 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6C 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 29 3C 3C 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 67 3E 68 26 26 28 67 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 68 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 68 3C 67 29 26 26 28 68 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 67 29 29 3B 6C 3C 67 26 26 28 6C 3D 67 29 3B 6C 3E 68 26 26 28 6C 3D 68 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 0A 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 68 3D 30 3B 68 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6D 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 68 5D 2C 6E 3D 74 68 69 73 2E 64 61 74 61 5B 6D 5D 2C 71 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 71 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 72 3D 35 3C 6C 26 26 6E 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 34 35 37 32 41 37 20 22 3B 66 6F 72 28 67 3D 30 3B 67 3C 71 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 69 66 28 63 3D 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 71 5B 67 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 71 5B 67 5D 2E 78 2C 21 28 63 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 63 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 71 5B 67 5D 2E 79 29 7B 64 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 0A 28 63 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6B 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 28 30 21 3D 3D 61 2E 64 61 74 61 50 6F 69 6E 74 59 53 75 6D 73 5B 63 5D 3F 31 30 30 2A 28 71 5B 67 5D 2E 79 2F 61 2E 64 61 74 61 50 6F 69 6E 74 59 53 75 6D 73 5B 63 5D 29 3A 30 29 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3B 76 61 72 20 73 3D 64 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 70 6C 6F 74 55 6E 69 74 73 2E 6C 65 6E 67 74 68 2A 6C 2F 32 2B 61 2E 69 6E 64 65 78 2A 6C 3C 3C 30 2C 77 3D 73 2B 6C 3C 3C 30 2C 76 3B 69 66 28 30 3C 3D 71 5B 67 5D 2E 79 29 7B 76 61 72 20 78 3D 65 5B 63 5D 3F 65 5B 63 5D 3A 30 3B 76 3D 70 2B 78 3B 6B 2B 3D 78 3B 65 5B 63 5D 3D 78 2B 28 6B 2D 76 29 7D 65 6C 73 65 20 78 3D 66 5B 63 5D 3F 66 5B 63 5D 3A 30 2C 76 3D 6B 2D 78 2C 6B 3D 70 2D 78 2C 66 5B 63 5D 3D 78 2B 28 6B 2D 76 29 3B 63 3D 71 5B 67 5D 2E 63 6F 6C 6F 72 3F 71 5B 67 5D 2E 63 6F 6C 6F 72 3A 6E 2E 5F 63 6F 6C 6F 72 53 65 74 5B 67 25 6E 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 49 28 62 2C 76 2C 73 2C 6B 2C 77 2C 63 2C 30 2C 6E 75 6C 6C 2C 72 2C 21 31 2C 21 31 2C 21 31 2C 6E 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 0A 6E 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 67 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 69 64 3A 63 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6D 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 67 2C 78 31 3A 76 2C 79 31 3A 73 2C 78 32 3A 6B 2C 79 32 3A 77 7D 3B 63 3D 42 28 63 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 76 2C 73 2C 6B 2C 77 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 28 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 71 5B 67 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 2C 64 61 74 61 50 6F 69 6E 74 3A 71 5B 67 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6E 2C 70 6F 69 6E 74 3A 7B 78 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 6B 3A 76 2C 79 3A 64 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 71 5B 67 5D 2E 79 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 4D 61 74 68 2E 6D 69 6E 28 76 2C 6B 29 2C 79 31 3A 73 2C 78 32 3A 4D 61 74 68 2E 6D 61 78 28 76 2C 6B 29 2C 79 32 3A 77 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 0A 61 3D 4D 61 74 68 2E 6D 61 78 28 70 2C 61 2E 61 78 69 73 58 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 78 32 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 4F 75 74 51 75 61 72 74 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 61 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 29 7B 78 26 26 28 30 3C 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 63 2E 73 74 72 6F 6B 65 28 29 2C 30 3E 3D 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 30 3C 3D 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 76 3D 77 3A 30 3E 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 76 3D 66 2E 79 31 3A 30 3C 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 28 76 3D 65 2E 79 32 29 2C 63 2E 6C 69 6E 65 54 6F 28 71 2C 76 29 2C 63 2E 6C 69 6E 65 54 6F 28 78 2E 78 2C 76 29 2C 63 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 68 2E 66 69 6C 6C 4F 70 61 63 69 74 79 2C 63 2E 66 69 6C 6C 28 29 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 2C 74 26 26 28 64 2E 6C 69 6E 65 54 6F 28 71 2C 76 29 2C 64 2E 6C 69 6E 65 54 6F 28 78 2E 78 2C 0A 76 29 2C 64 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 64 2E 66 69 6C 6C 28 29 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 2C 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 2C 78 3D 7B 78 3A 71 2C 79 3A 72 7D 29 7D 76 61 72 20 63 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 65 3D 61 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2C 66 3D 61 2E 61 78 69 73 59 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2C 67 3D 5B 5D 2C 6B 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 63 2E 73 61 76 65 28 29 3B 74 26 26 64 2E 73 61 76 65 28 29 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 72 65 63 74 28 6B 2E 78 31 2C 6B 2E 79 31 2C 6B 2E 77 69 64 74 68 2C 6B 2E 68 65 69 67 68 74 29 3B 63 2E 63 6C 69 70 28 29 3B 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 72 65 63 74 28 6B 2E 78 31 2C 6B 2E 79 31 2C 6B 2E 77 69 64 74 68 2C 6B 2E 68 65 69 67 68 74 29 2C 64 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 6B 3D 30 3B 6B 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 7B 76 61 72 20 70 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 6B 5D 2C 68 3D 74 68 69 73 2E 64 61 74 61 5B 70 5D 2C 0A 6C 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 2C 67 3D 68 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 67 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 70 7D 3B 67 3D 42 28 67 29 3B 64 2E 66 69 6C 6C 53 74 79 6C 65 3D 67 3B 76 61 72 20 67 3D 5B 5D 2C 6D 3D 21 30 2C 6E 3D 30 2C 71 2C 72 2C 73 2C 77 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 2C 76 2C 78 3D 6E 75 6C 6C 3B 69 66 28 30 3C 6C 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 45 3D 68 2E 5F 63 6F 6C 6F 72 53 65 74 5B 6E 25 68 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 63 2E 66 69 6C 6C 53 74 79 6C 65 3D 45 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 45 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 68 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 66 6F 72 28 76 61 72 20 79 3D 21 30 3B 6E 3C 6C 2E 6C 65 6E 67 74 68 3B 6E 2B 2B 29 69 66 28 73 3D 6C 5B 6E 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 0A 6C 5B 6E 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6C 5B 6E 5D 2E 78 2C 21 28 73 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 73 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 69 66 28 22 6E 75 6D 62 65 72 22 21 3D 3D 74 79 70 65 6F 66 20 6C 5B 6E 5D 2E 79 29 62 28 29 2C 79 3D 21 30 3B 65 6C 73 65 7B 71 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 73 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 72 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6C 5B 6E 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6D 7C 7C 79 3F 28 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 2C 78 3D 7B 78 3A 71 2C 79 3A 72 7D 2C 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 29 2C 79 3D 6D 3D 21 31 29 3A 28 63 2E 6C 69 6E 65 54 6F 28 71 2C 72 29 2C 0A 74 26 26 64 2E 6C 69 6E 65 54 6F 28 71 2C 72 29 2C 30 3D 3D 6E 25 32 35 30 26 26 62 28 29 29 3B 76 61 72 20 7A 3D 68 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 6E 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 7A 5D 3D 7B 69 64 3A 7A 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 70 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6E 2C 78 31 3A 71 2C 79 31 3A 72 7D 3B 30 21 3D 3D 6C 5B 6E 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 30 3C 6C 5B 6E 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 68 2E 6D 61 72 6B 65 72 53 69 7A 65 29 26 26 28 73 3D 68 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6E 2C 71 2C 72 2C 63 29 2C 67 2E 70 75 73 68 28 73 29 2C 7A 3D 42 28 7A 29 2C 74 26 26 67 2E 70 75 73 68 28 7B 78 3A 71 2C 79 3A 72 2C 63 74 78 3A 64 2C 74 79 70 65 3A 73 2E 74 79 70 65 2C 73 69 7A 65 3A 73 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 7A 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 7A 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 29 3B 28 6C 5B 6E 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6C 5B 6E 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 61 72 65 61 22 2C 0A 64 61 74 61 50 6F 69 6E 74 3A 6C 5B 6E 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 68 2C 70 6F 69 6E 74 3A 7B 78 3A 71 2C 79 3A 72 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 6C 5B 6E 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 45 7D 29 7D 62 28 29 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 67 29 7D 7D 63 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 63 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 70 6C 69 6E 65 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 29 7B 76 61 72 20 62 3D 69 61 28 76 2C 32 29 3B 69 66 28 30 3C 62 2E 6C 65 6E 67 74 68 29 7B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 6D 6F 76 65 54 6F 28 62 5B 30 5D 2E 78 2C 62 5B 30 5D 2E 79 29 3B 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 62 5B 30 5D 2E 78 2C 62 5B 30 5D 2E 79 29 29 3B 66 6F 72 28 76 61 72 20 67 3D 30 3B 67 3C 62 2E 6C 65 6E 67 74 68 2D 33 3B 67 2B 3D 33 29 63 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 62 5B 67 2B 31 5D 2E 78 2C 62 5B 67 2B 0A 31 5D 2E 79 2C 62 5B 67 2B 32 5D 2E 78 2C 62 5B 67 2B 32 5D 2E 79 2C 62 5B 67 2B 33 5D 2E 78 2C 62 5B 67 2B 33 5D 2E 79 29 2C 74 26 26 64 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 62 5B 67 2B 31 5D 2E 78 2C 62 5B 67 2B 31 5D 2E 79 2C 62 5B 67 2B 32 5D 2E 78 2C 62 5B 67 2B 32 5D 2E 79 2C 62 5B 67 2B 33 5D 2E 78 2C 62 5B 67 2B 33 5D 2E 79 29 3B 30 3C 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 63 2E 73 74 72 6F 6B 65 28 29 3B 30 3E 3D 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 30 3C 3D 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 73 3D 72 3A 30 3E 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 73 3D 66 2E 79 31 3A 30 3C 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 28 73 3D 65 2E 79 32 29 3B 77 3D 7B 78 3A 62 5B 30 5D 2E 78 2C 79 3A 62 5B 30 5D 2E 79 7D 3B 63 2E 6C 69 6E 65 54 6F 28 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 2E 78 2C 73 29 3B 63 2E 6C 69 6E 65 54 6F 28 77 2E 78 2C 73 29 3B 63 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 68 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 63 2E 66 69 6C 6C 28 29 3B 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 74 26 26 28 64 2E 6C 69 6E 65 54 6F 28 62 5B 62 2E 6C 65 6E 67 74 68 2D 31 5D 2E 78 2C 73 29 2C 64 2E 6C 69 6E 65 54 6F 28 77 2E 78 2C 73 29 2C 64 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 64 2E 66 69 6C 6C 28 29 29 7D 7D 76 61 72 20 63 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 0A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 65 3D 61 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2C 66 3D 61 2E 61 78 69 73 59 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2C 67 3D 5B 5D 2C 6B 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 63 2E 73 61 76 65 28 29 3B 74 26 26 64 2E 73 61 76 65 28 29 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 72 65 63 74 28 6B 2E 78 31 2C 6B 2E 79 31 2C 6B 2E 77 69 64 74 68 2C 6B 2E 68 65 69 67 68 74 29 3B 63 2E 63 6C 69 70 28 29 3B 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 72 65 63 74 28 6B 2E 78 31 2C 6B 2E 79 31 2C 6B 2E 77 69 64 74 68 2C 6B 2E 68 65 69 67 68 74 29 2C 64 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 6B 3D 30 3B 6B 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 7B 76 61 72 20 70 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 6B 5D 2C 68 3D 74 68 69 73 2E 64 61 74 61 5B 70 5D 2C 6C 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 2C 67 3D 68 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 67 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 70 7D 3B 67 3D 42 28 67 29 3B 64 2E 66 69 6C 6C 53 74 79 6C 65 3D 0A 67 3B 76 61 72 20 67 3D 5B 5D 2C 6D 3D 30 2C 6E 2C 71 2C 72 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 2C 73 2C 77 3D 6E 75 6C 6C 2C 76 3D 5B 5D 3B 69 66 28 30 3C 6C 2E 6C 65 6E 67 74 68 29 7B 63 6F 6C 6F 72 3D 68 2E 5F 63 6F 6C 6F 72 53 65 74 5B 6D 25 68 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 63 2E 66 69 6C 6C 53 74 79 6C 65 3D 63 6F 6C 6F 72 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 6F 6C 6F 72 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 66 6F 72 28 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 68 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 6D 3C 6C 2E 6C 65 6E 67 74 68 3B 6D 2B 2B 29 69 66 28 6E 3D 6C 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 6C 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6C 5B 6D 5D 2E 78 2C 21 28 6E 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6E 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 69 66 28 22 6E 75 6D 62 65 72 22 21 3D 3D 74 79 70 65 6F 66 20 6C 5B 6D 5D 2E 79 29 30 3C 0A 6D 26 26 28 62 28 29 2C 76 3D 5B 5D 29 3B 65 6C 73 65 7B 6E 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6E 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 71 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6C 5B 6D 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 78 3D 68 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 6D 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 78 5D 3D 7B 69 64 3A 78 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 70 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6D 2C 78 31 3A 6E 2C 79 31 3A 71 7D 3B 76 5B 76 2E 6C 65 6E 67 74 68 5D 3D 7B 78 3A 6E 2C 79 3A 71 7D 3B 69 66 28 30 21 3D 3D 6C 5B 6D 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 30 3C 6C 5B 6D 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 68 2E 6D 61 72 6B 65 72 53 69 7A 65 29 29 7B 76 61 72 20 45 3D 0A 68 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6D 2C 6E 2C 71 2C 63 29 3B 67 2E 70 75 73 68 28 45 29 3B 78 3D 42 28 78 29 3B 74 26 26 67 2E 70 75 73 68 28 7B 78 3A 6E 2C 79 3A 71 2C 63 74 78 3A 64 2C 74 79 70 65 3A 45 2E 74 79 70 65 2C 73 69 7A 65 3A 45 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 78 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 78 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 45 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 7D 28 6C 5B 6D 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6C 5B 6D 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 70 6C 69 6E 65 41 72 65 61 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6C 5B 6D 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 68 2C 70 6F 69 6E 74 3A 7B 78 3A 6E 2C 79 3A 71 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 6C 5B 6D 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 63 6F 6C 6F 72 7D 29 7D 62 28 29 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 67 29 7D 7D 63 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 63 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 0A 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 65 70 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 29 7B 78 26 26 28 30 3C 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 63 2E 73 74 72 6F 6B 65 28 29 2C 30 3E 3D 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 30 3C 3D 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 76 3D 77 3A 30 3E 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 76 3D 66 2E 79 31 3A 30 3C 61 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 28 76 3D 65 2E 79 32 29 2C 63 2E 6C 69 6E 65 54 6F 28 71 2C 76 29 2C 63 2E 6C 69 6E 65 54 6F 28 78 2E 78 2C 76 29 2C 63 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 68 2E 66 69 6C 6C 4F 70 61 63 69 74 79 2C 63 2E 66 69 6C 6C 28 29 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 2C 74 26 26 28 64 2E 6C 69 6E 65 54 6F 28 71 2C 76 29 2C 64 2E 6C 69 6E 65 54 6F 28 78 2E 78 2C 76 29 2C 64 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 64 2E 66 69 6C 6C 28 29 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 2C 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 2C 78 3D 7B 78 3A 71 2C 79 3A 72 7D 29 7D 76 61 72 20 63 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 0A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 65 3D 61 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2C 66 3D 61 2E 61 78 69 73 59 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2C 67 3D 5B 5D 2C 6B 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 63 2E 73 61 76 65 28 29 3B 74 26 26 64 2E 73 61 76 65 28 29 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 72 65 63 74 28 6B 2E 78 31 2C 6B 2E 79 31 2C 6B 2E 77 69 64 74 68 2C 6B 2E 68 65 69 67 68 74 29 3B 63 2E 63 6C 69 70 28 29 3B 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 72 65 63 74 28 6B 2E 78 31 2C 6B 2E 79 31 2C 6B 2E 77 69 64 74 68 2C 6B 2E 68 65 69 67 68 74 29 2C 64 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 6B 3D 30 3B 6B 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 7B 76 61 72 20 70 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 6B 5D 2C 68 3D 74 68 69 73 2E 64 61 74 61 5B 70 5D 2C 6C 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 2C 67 3D 68 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 67 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 70 7D 3B 67 3D 42 28 67 29 3B 64 2E 66 69 6C 6C 53 74 79 6C 65 3D 0A 67 3B 76 61 72 20 67 3D 5B 5D 2C 6D 3D 21 30 2C 6E 3D 30 2C 71 2C 72 2C 73 2C 77 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 2C 76 2C 78 3D 6E 75 6C 6C 2C 45 3D 21 31 3B 69 66 28 30 3C 6C 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 79 3D 68 2E 5F 63 6F 6C 6F 72 53 65 74 5B 6E 25 68 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 63 2E 66 69 6C 6C 53 74 79 6C 65 3D 79 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 79 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 66 6F 72 28 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 68 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 68 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 6E 3C 6C 2E 6C 65 6E 67 74 68 3B 6E 2B 2B 29 69 66 28 73 3D 6C 5B 6E 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 6C 5B 6E 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6C 5B 6E 5D 2E 78 2C 21 28 73 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 73 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 7B 76 61 72 20 7A 3D 72 3B 22 6E 75 6D 62 65 72 22 21 3D 3D 74 79 70 65 6F 66 20 6C 5B 6E 5D 2E 79 3F 0A 28 62 28 29 2C 45 3D 21 30 29 3A 28 71 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 73 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 2C 72 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6C 5B 6E 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 2C 6D 7C 7C 45 3F 28 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 2C 78 3D 7B 78 3A 71 2C 79 3A 72 7D 2C 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 71 2C 72 29 29 2C 45 3D 6D 3D 21 31 29 3A 28 63 2E 6C 69 6E 65 54 6F 28 71 2C 7A 29 2C 74 26 26 64 2E 6C 69 6E 65 54 6F 28 71 2C 7A 29 2C 63 2E 6C 69 6E 65 54 6F 28 71 2C 72 29 2C 74 26 26 64 2E 6C 69 6E 65 54 6F 28 71 2C 72 29 2C 30 3D 3D 6E 25 32 35 30 26 26 62 28 29 29 2C 7A 3D 68 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 6E 5D 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 7A 5D 3D 7B 69 64 3A 7A 2C 0A 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 70 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6E 2C 78 31 3A 71 2C 79 31 3A 72 7D 2C 30 21 3D 3D 6C 5B 6E 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 30 3C 6C 5B 6E 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 68 2E 6D 61 72 6B 65 72 53 69 7A 65 29 26 26 28 73 3D 68 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6E 2C 71 2C 72 2C 63 29 2C 67 2E 70 75 73 68 28 73 29 2C 7A 3D 42 28 7A 29 2C 74 26 26 67 2E 70 75 73 68 28 7B 78 3A 71 2C 79 3A 72 2C 63 74 78 3A 64 2C 74 79 70 65 3A 73 2E 74 79 70 65 2C 73 69 7A 65 3A 73 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 7A 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 7A 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 29 2C 28 6C 5B 6E 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6C 5B 6E 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 65 70 41 72 65 61 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6C 5B 6E 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 68 2C 70 6F 69 6E 74 3A 7B 78 3A 71 2C 79 3A 72 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 6C 5B 6E 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 79 7D 29 29 7D 62 28 29 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 67 29 7D 7D 63 2E 72 65 73 74 6F 72 65 28 29 3B 0A 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 63 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 5B 5D 2C 65 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 66 3D 5B 5D 2C 67 3D 5B 5D 2C 6B 3D 30 2C 70 2C 68 2C 6C 2C 6D 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 6E 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 3B 74 26 26 6E 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 0A 62 2E 73 61 76 65 28 29 3B 74 26 26 6E 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 65 2E 78 31 2C 65 2E 79 31 2C 65 2E 77 69 64 74 68 2C 65 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 6E 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 6E 2E 72 65 63 74 28 65 2E 78 31 2C 65 2E 79 31 2C 65 2E 77 69 64 74 68 2C 65 2E 68 65 69 67 68 74 29 2C 6E 2E 63 6C 69 70 28 29 29 3B 78 56 61 6C 75 65 50 72 65 73 65 6E 74 3D 5B 5D 3B 66 6F 72 28 65 3D 30 3B 65 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 7B 76 61 72 20 71 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 65 5D 2C 72 3D 74 68 69 73 2E 64 61 74 61 5B 71 5D 2C 73 3D 72 2E 64 61 74 61 50 6F 69 6E 74 73 3B 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 3D 5B 5D 3B 66 6F 72 28 6B 3D 30 3B 6B 3C 73 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 71 3D 73 5B 6B 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 73 5B 6B 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 73 5B 6B 5D 2E 78 2C 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 71 5D 3D 6B 2C 78 56 61 6C 75 65 50 72 65 73 65 6E 74 5B 71 5D 7C 7C 28 67 2E 70 75 73 68 28 71 29 2C 78 56 61 6C 75 65 50 72 65 73 65 6E 74 5B 71 5D 3D 21 30 29 3B 67 2E 73 6F 72 74 28 75 61 29 7D 66 6F 72 28 65 3D 30 3B 65 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 7B 76 61 72 20 71 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 65 5D 2C 0A 72 3D 74 68 69 73 2E 64 61 74 61 5B 71 5D 2C 73 3D 72 2E 64 61 74 61 50 6F 69 6E 74 73 2C 77 3D 21 30 2C 76 3D 5B 5D 2C 6B 3D 72 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 6B 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 71 7D 3B 6B 3D 42 28 6B 29 3B 6E 2E 66 69 6C 6C 53 74 79 6C 65 3D 6B 3B 69 66 28 30 3C 67 2E 6C 65 6E 67 74 68 29 7B 63 3D 72 2E 5F 63 6F 6C 6F 72 53 65 74 5B 30 5D 3B 62 2E 66 69 6C 6C 53 74 79 6C 65 3D 63 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 3B 62 2E 6C 69 6E 65 57 69 64 74 68 3D 72 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 72 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 72 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 66 6F 72 28 6B 3D 30 3B 6B 3C 67 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 7B 6C 3D 67 5B 6B 5D 3B 76 61 72 20 78 3D 6E 75 6C 6C 2C 78 3D 30 3C 3D 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 3F 73 5B 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 5D 3A 7B 78 3A 6C 2C 79 3A 30 7D 3B 69 66 28 21 28 6C 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6C 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 78 2E 79 29 7B 70 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6C 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 68 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 78 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3B 76 61 72 20 45 3D 66 5B 6C 5D 3F 66 5B 6C 5D 3A 30 3B 68 2D 3D 45 3B 76 2E 70 75 73 68 28 7B 78 3A 70 2C 79 3A 6D 2D 45 7D 29 3B 66 5B 6C 5D 3D 6D 2D 68 3B 69 66 28 77 29 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 2C 74 26 26 28 6E 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 6E 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 29 2C 77 3D 21 31 3B 65 6C 73 65 20 69 66 28 62 2E 6C 69 6E 65 54 6F 28 70 2C 68 29 2C 74 26 26 6E 2E 6C 69 6E 65 54 6F 28 70 2C 68 29 2C 30 3D 3D 6B 25 32 35 30 29 7B 66 6F 72 28 30 3C 72 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 62 2E 73 74 72 6F 6B 65 28 29 3B 30 3C 76 2E 6C 65 6E 67 74 68 3B 29 7B 76 61 72 20 79 3D 76 2E 70 6F 70 28 29 3B 62 2E 6C 69 6E 65 54 6F 28 79 2E 78 2C 79 2E 79 29 3B 74 26 26 6E 2E 6C 69 6E 65 54 6F 28 79 2E 78 2C 79 2E 79 29 7D 62 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 0A 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 72 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 62 2E 66 69 6C 6C 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 3B 74 26 26 28 6E 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 6E 2E 66 69 6C 6C 28 29 2C 6E 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 6E 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 29 3B 76 2E 70 75 73 68 28 7B 78 3A 70 2C 79 3A 6D 2D 45 7D 29 7D 69 66 28 30 3C 3D 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 29 7B 76 61 72 20 7A 3D 72 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 7A 5D 3D 7B 69 64 3A 7A 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 2C 78 31 3A 70 2C 79 31 3A 68 7D 7D 30 3C 3D 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 26 26 30 21 3D 3D 78 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 30 3C 78 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 72 2E 6D 61 72 6B 65 72 53 69 7A 65 29 26 26 28 6C 3D 72 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6B 2C 70 2C 68 2C 62 29 2C 64 2E 70 75 73 68 28 6C 29 2C 6D 61 72 6B 65 72 43 6F 6C 6F 72 3D 42 28 7A 29 2C 74 26 26 64 2E 70 75 73 68 28 7B 78 3A 70 2C 0A 79 3A 68 2C 63 74 78 3A 6E 2C 74 79 70 65 3A 6C 2E 74 79 70 65 2C 73 69 7A 65 3A 6C 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 6D 61 72 6B 65 72 43 6F 6C 6F 72 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 6D 61 72 6B 65 72 43 6F 6C 6F 72 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 6C 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 29 3B 28 78 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 72 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 78 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 72 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 61 63 6B 65 64 41 72 65 61 22 2C 64 61 74 61 50 6F 69 6E 74 3A 78 2C 64 61 74 61 53 65 72 69 65 73 3A 72 2C 70 6F 69 6E 74 3A 7B 78 3A 70 2C 79 3A 68 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 73 5B 6B 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 66 6F 72 28 30 3C 72 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 62 2E 73 74 72 6F 6B 65 28 29 3B 30 3C 76 2E 6C 65 6E 67 74 68 3B 29 79 3D 76 2E 70 6F 70 28 29 2C 62 2E 6C 69 6E 65 54 6F 28 79 2E 78 2C 79 2E 79 29 2C 74 26 26 6E 2E 6C 69 6E 65 54 6F 28 79 2E 78 2C 79 2E 79 29 3B 62 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 72 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 62 2E 66 69 6C 6C 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 6D 6F 76 65 54 6F 28 70 2C 0A 68 29 3B 74 26 26 28 6E 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 6E 2E 66 69 6C 6C 28 29 2C 6E 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 6E 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 29 7D 64 65 6C 65 74 65 20 72 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 7D 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 64 29 3B 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 6E 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 61 63 6B 65 64 41 72 65 61 31 30 30 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 5B 5D 2C 66 3D 5B 5D 2C 67 3D 5B 5D 2C 6B 3D 30 2C 70 2C 68 2C 6C 2C 6D 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 0A 28 30 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3C 3C 30 2C 6E 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 30 2E 31 35 2A 74 68 69 73 2E 77 69 64 74 68 3C 3C 30 2C 71 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 2C 71 3D 30 2E 39 2A 64 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 71 29 3C 3C 30 2C 72 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 72 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 72 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 72 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 72 2E 63 6C 69 70 28 29 29 3B 78 56 61 6C 75 65 50 72 65 73 65 6E 74 3D 5B 5D 3B 66 6F 72 28 64 3D 30 3B 64 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 7B 76 61 72 20 73 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 64 5D 2C 77 3D 74 68 69 73 2E 64 61 74 61 5B 73 5D 2C 76 3D 0A 77 2E 64 61 74 61 50 6F 69 6E 74 73 3B 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 3D 5B 5D 3B 66 6F 72 28 6B 3D 30 3B 6B 3C 76 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 73 3D 76 5B 6B 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 76 5B 6B 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 76 5B 6B 5D 2E 78 2C 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 73 5D 3D 6B 2C 78 56 61 6C 75 65 50 72 65 73 65 6E 74 5B 73 5D 7C 7C 28 67 2E 70 75 73 68 28 73 29 2C 78 56 61 6C 75 65 50 72 65 73 65 6E 74 5B 73 5D 3D 21 30 29 3B 67 2E 73 6F 72 74 28 75 61 29 7D 66 6F 72 28 64 3D 30 3B 64 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 7B 76 61 72 20 73 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 64 5D 2C 77 3D 74 68 69 73 2E 64 61 74 61 5B 73 5D 2C 76 3D 77 2E 64 61 74 61 50 6F 69 6E 74 73 2C 78 3D 21 30 2C 63 3D 77 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 73 7D 3B 63 3D 42 28 63 29 3B 72 2E 66 69 6C 6C 53 74 79 6C 65 3D 63 3B 31 3D 3D 76 2E 6C 65 6E 67 74 68 26 26 28 71 3D 6E 29 3B 31 3E 71 3F 71 3D 31 3A 71 3E 6E 26 26 28 71 3D 6E 29 3B 76 61 72 20 45 3D 5B 5D 3B 69 66 28 30 3C 67 2E 6C 65 6E 67 74 68 29 7B 63 3D 77 2E 5F 63 6F 6C 6F 72 53 65 74 5B 6B 25 77 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 62 2E 66 69 6C 6C 53 74 79 6C 65 3D 0A 63 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 3B 62 2E 6C 69 6E 65 57 69 64 74 68 3D 77 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 62 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 77 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 77 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 66 6F 72 28 6B 3D 30 3B 6B 3C 67 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 7B 6C 3D 67 5B 6B 5D 3B 76 61 72 20 79 3D 6E 75 6C 6C 2C 79 3D 30 3C 3D 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 3F 76 5B 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 5D 3A 7B 78 3A 6C 2C 79 3A 30 7D 3B 69 66 28 21 28 6C 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6C 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 79 2E 79 29 7B 68 3D 30 21 3D 3D 61 2E 64 61 74 61 50 6F 69 6E 74 59 53 75 6D 73 5B 6C 5D 3F 31 30 30 2A 28 79 2E 79 2F 61 2E 64 61 74 61 50 6F 69 6E 74 59 53 75 6D 73 5B 6C 5D 29 3A 30 3B 70 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6C 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 68 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 68 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 3B 76 61 72 20 7A 3D 66 5B 6C 5D 3F 66 5B 6C 5D 3A 30 3B 68 2D 3D 7A 3B 45 2E 70 75 73 68 28 7B 78 3A 70 2C 79 3A 6D 2D 7A 7D 29 3B 66 5B 6C 5D 3D 6D 2D 68 3B 69 66 28 78 29 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 2C 74 26 26 28 72 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 72 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 29 2C 78 3D 21 31 3B 65 6C 73 65 20 69 66 28 62 2E 6C 69 6E 65 54 6F 28 70 2C 68 29 2C 74 26 26 72 2E 6C 69 6E 65 54 6F 28 70 2C 68 29 2C 30 3D 3D 6B 25 32 35 30 29 7B 66 6F 72 28 30 3C 77 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 62 2E 73 74 72 6F 6B 65 28 29 3B 30 3C 45 2E 6C 65 6E 67 74 68 3B 29 7B 76 61 72 20 75 3D 45 2E 70 6F 70 28 29 3B 62 2E 6C 69 6E 65 54 6F 28 75 2E 78 2C 75 2E 79 29 3B 74 26 26 72 2E 6C 69 6E 65 54 6F 28 75 2E 78 2C 75 2E 79 29 7D 62 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 77 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 62 2E 66 69 6C 6C 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 3B 74 26 26 28 72 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 72 2E 66 69 6C 6C 28 29 2C 72 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 72 2E 6D 6F 76 65 54 6F 28 70 2C 0A 68 29 29 3B 45 2E 70 75 73 68 28 7B 78 3A 70 2C 79 3A 6D 2D 7A 7D 29 7D 69 66 28 30 3C 3D 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 29 7B 76 61 72 20 44 3D 77 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 44 5D 3D 7B 69 64 3A 44 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 73 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 2C 78 31 3A 70 2C 79 31 3A 68 7D 7D 30 3C 3D 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 5B 6C 5D 26 26 30 21 3D 3D 79 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 30 3C 79 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 77 2E 6D 61 72 6B 65 72 53 69 7A 65 29 26 26 28 6C 3D 77 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6B 2C 70 2C 68 2C 62 29 2C 65 2E 70 75 73 68 28 6C 29 2C 6D 61 72 6B 65 72 43 6F 6C 6F 72 3D 42 28 44 29 2C 74 26 26 65 2E 70 75 73 68 28 7B 78 3A 70 2C 79 3A 68 2C 63 74 78 3A 72 2C 74 79 70 65 3A 6C 2E 74 79 70 65 2C 73 69 7A 65 3A 6C 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 6D 61 72 6B 65 72 43 6F 6C 6F 72 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 6D 61 72 6B 65 72 43 6F 6C 6F 72 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 6C 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 29 3B 28 79 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 0A 77 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 79 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 77 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 2C 64 61 74 61 50 6F 69 6E 74 3A 79 2C 64 61 74 61 53 65 72 69 65 73 3A 77 2C 70 6F 69 6E 74 3A 7B 78 3A 70 2C 79 3A 68 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 30 3C 3D 76 5B 6B 5D 2E 79 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 66 6F 72 28 30 3C 77 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 62 2E 73 74 72 6F 6B 65 28 29 3B 30 3C 45 2E 6C 65 6E 67 74 68 3B 29 75 3D 45 2E 70 6F 70 28 29 2C 62 2E 6C 69 6E 65 54 6F 28 75 2E 78 2C 75 2E 79 29 2C 74 26 26 72 2E 6C 69 6E 65 54 6F 28 75 2E 78 2C 75 2E 79 29 3B 62 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 77 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 62 2E 66 69 6C 6C 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 3B 74 26 26 28 72 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 72 2E 66 69 6C 6C 28 29 2C 72 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 72 2E 6D 6F 76 65 54 6F 28 70 2C 68 29 29 7D 64 65 6C 65 74 65 20 77 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 65 73 7D 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 65 29 3B 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 72 2E 72 65 73 74 6F 72 65 28 29 3B 0A 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 42 75 62 62 6C 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 63 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 69 66 28 21 28 30 3E 3D 63 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 2C 66 2C 67 2C 6B 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 30 2E 31 35 2A 74 68 69 73 2E 77 69 64 74 68 3C 3C 30 2C 65 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 2C 63 3D 30 2E 39 2A 28 64 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 65 29 2F 63 29 3C 3C 30 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 0A 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 76 61 72 20 70 3D 2D 49 6E 66 69 6E 69 74 79 2C 68 3D 49 6E 66 69 6E 69 74 79 2C 6C 3D 30 3B 6C 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 6C 2B 2B 29 66 6F 72 28 76 61 72 20 6D 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 6C 5D 2C 6E 3D 74 68 69 73 2E 64 61 74 61 5B 6D 5D 2C 71 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 73 2C 72 3D 30 2C 65 3D 30 3B 65 3C 71 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 66 3D 71 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 66 3D 71 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 66 3D 71 5B 65 5D 2E 78 2C 66 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 66 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 71 5B 65 5D 2E 7A 7C 7C 28 72 3D 71 5B 65 5D 2E 7A 2C 72 3E 70 26 26 28 70 3D 72 29 2C 72 3C 68 26 26 28 68 3D 72 29 29 3B 66 6F 72 28 76 61 72 20 73 3D 32 35 2A 4D 61 74 68 2E 50 49 2C 0A 64 3D 4D 61 74 68 2E 6D 61 78 28 4D 61 74 68 2E 70 6F 77 28 30 2E 32 35 2A 4D 61 74 68 2E 6D 69 6E 28 64 2E 68 65 69 67 68 74 2C 64 2E 77 69 64 74 68 29 2F 32 2C 32 29 2A 4D 61 74 68 2E 50 49 2C 73 29 2C 6C 3D 30 3B 6C 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 6C 2B 2B 29 69 66 28 6D 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 6C 5D 2C 6E 3D 74 68 69 73 2E 64 61 74 61 5B 6D 5D 2C 71 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 73 2C 31 3D 3D 71 2E 6C 65 6E 67 74 68 26 26 28 63 3D 6B 29 2C 31 3E 63 3F 63 3D 31 3A 63 3E 6B 26 26 28 63 3D 6B 29 2C 30 3C 71 2E 6C 65 6E 67 74 68 29 66 6F 72 28 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 34 35 37 32 41 37 20 22 2C 65 3D 30 3B 65 3C 71 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 66 3D 71 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 66 3D 71 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 66 3D 71 5B 65 5D 2E 78 2C 21 28 66 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 66 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 71 5B 65 5D 2E 79 29 7B 66 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 66 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 0A 30 2E 35 3C 3C 30 3B 67 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 71 5B 65 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 72 3D 71 5B 65 5D 2E 7A 2C 77 3D 32 2A 4D 61 74 68 2E 6D 61 78 28 4D 61 74 68 2E 73 71 72 74 28 28 70 3D 3D 3D 68 3F 64 2F 32 3A 73 2B 28 64 2D 73 29 2F 28 70 2D 68 29 2A 28 72 2D 68 29 29 2F 4D 61 74 68 2E 50 49 29 3C 3C 30 2C 31 29 2C 72 3D 6E 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 65 2C 62 29 3B 72 2E 73 69 7A 65 3D 77 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 6E 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 28 66 2C 67 2C 62 2C 72 2E 74 79 70 65 2C 72 2E 73 69 7A 65 2C 72 2E 63 6F 6C 6F 72 2C 72 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 2C 72 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 76 61 72 20 76 3D 6E 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 76 5D 3D 7B 69 64 3A 76 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6D 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 65 2C 0A 78 31 3A 66 2C 79 31 3A 67 2C 73 69 7A 65 3A 77 7D 3B 77 3D 42 28 76 29 3B 74 26 26 4B 2E 64 72 61 77 4D 61 72 6B 65 72 28 66 2C 67 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 72 2E 74 79 70 65 2C 72 2E 73 69 7A 65 2C 77 2C 77 2C 72 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 29 3B 28 71 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 71 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6E 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 62 75 62 62 6C 65 22 2C 64 61 74 61 50 6F 69 6E 74 3A 71 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6E 2C 70 6F 69 6E 74 3A 7B 78 3A 66 2C 79 3A 67 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 66 2D 72 2E 73 69 7A 65 2F 32 2C 79 31 3A 67 2D 72 2E 73 69 7A 65 2F 32 2C 78 32 3A 66 2B 72 2E 73 69 7A 65 2F 32 2C 79 32 3A 67 2B 72 2E 73 69 7A 65 2F 32 7D 2C 63 6F 6C 6F 72 3A 6E 75 6C 6C 7D 29 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 66 61 64 65 49 6E 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 49 6E 51 75 61 64 2C 0A 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 63 61 74 74 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 63 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 69 66 28 21 28 30 3E 3D 63 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 2C 66 2C 67 2C 6B 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 30 2E 31 35 2A 74 68 69 73 2E 77 69 64 74 68 3C 3C 30 2C 65 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 2C 63 3D 30 2E 39 2A 28 64 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 65 29 2F 63 29 3C 3C 30 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 0A 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 76 61 72 20 70 3D 30 3B 70 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 70 2B 2B 29 7B 76 61 72 20 68 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 70 5D 2C 6C 3D 74 68 69 73 2E 64 61 74 61 5B 68 5D 2C 6D 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 3B 31 3D 3D 6D 2E 6C 65 6E 67 74 68 26 26 28 63 3D 6B 29 3B 31 3E 63 3F 63 3D 31 3A 63 3E 6B 26 26 28 63 3D 6B 29 3B 69 66 28 30 3C 6D 2E 6C 65 6E 67 74 68 29 7B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 34 35 37 32 41 37 20 22 3B 4D 61 74 68 2E 70 6F 77 28 30 2E 33 2A 4D 61 74 68 2E 6D 69 6E 28 64 2E 68 65 69 67 68 74 2C 64 2E 77 69 64 74 68 29 2F 32 2C 32 29 3B 66 6F 72 28 76 61 72 20 6E 3D 30 2C 71 3D 30 2C 65 3D 30 3B 65 3C 6D 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 66 3D 6D 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 66 3D 6D 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 66 3D 6D 5B 65 5D 2E 78 2C 21 28 66 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 66 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 6D 5B 65 5D 2E 79 29 7B 66 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 66 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 67 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6D 5B 65 5D 2E 79 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 72 3D 6C 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 65 2C 66 2C 67 2C 62 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 6C 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 28 72 2E 78 2C 72 2E 79 2C 72 2E 63 74 78 2C 72 2E 74 79 70 65 2C 72 2E 73 69 7A 65 2C 72 2E 63 6F 6C 6F 72 2C 72 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 2C 72 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 4D 61 74 68 2E 73 71 72 74 28 28 6E 2D 66 29 2A 28 6E 2D 66 29 2B 28 71 2D 67 29 2A 28 71 2D 67 29 29 3C 4D 61 74 68 2E 6D 69 6E 28 72 2E 73 69 7A 65 2C 35 29 26 26 6D 2E 6C 65 6E 67 74 68 3E 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 77 69 64 74 68 2C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 68 65 69 67 68 74 29 7C 7C 0A 28 6E 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 5D 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 6E 5D 3D 7B 69 64 3A 6E 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 68 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 65 2C 78 31 3A 66 2C 79 31 3A 67 7D 2C 6E 3D 42 28 6E 29 2C 74 26 26 4B 2E 64 72 61 77 4D 61 72 6B 65 72 28 72 2E 78 2C 72 2E 79 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 72 2E 74 79 70 65 2C 72 2E 73 69 7A 65 2C 6E 2C 6E 2C 72 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 29 2C 28 6D 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6C 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6D 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6C 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 63 61 74 74 65 72 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6D 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6C 2C 70 6F 69 6E 74 3A 7B 78 3A 66 2C 79 3A 67 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 66 2D 72 2E 73 69 7A 65 2F 32 2C 79 31 3A 67 2D 72 2E 73 69 7A 65 2F 32 2C 78 32 3A 66 2B 72 2E 73 69 7A 65 2F 32 2C 79 32 3A 67 2B 72 2E 73 69 7A 65 2F 32 7D 2C 63 6F 6C 6F 72 3A 6E 75 6C 6C 7D 29 2C 6E 3D 66 2C 71 3D 67 29 7D 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 0A 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 66 61 64 65 49 6E 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 49 6E 51 75 61 64 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 43 61 6E 64 6C 65 73 74 69 63 6B 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 63 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 64 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 2C 66 2C 67 2C 6B 2C 70 2C 68 2C 6C 2C 65 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 3B 66 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 0A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 30 31 35 2A 74 68 69 73 2E 77 69 64 74 68 3B 76 61 72 20 6D 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6D 29 7C 7C 28 6D 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6D 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 37 2A 64 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6D 29 3C 3C 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 65 3E 66 26 26 28 65 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 66 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 66 3C 65 29 26 26 28 66 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 0A 65 29 29 3B 6D 3C 65 26 26 28 6D 3D 65 29 3B 6D 3E 66 26 26 28 6D 3D 66 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 63 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 63 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 63 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 76 61 72 20 6E 3D 30 3B 6E 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 6E 2B 2B 29 7B 76 61 72 20 71 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 6E 5D 2C 72 3D 74 68 69 73 2E 64 61 74 61 5B 71 5D 2C 73 3D 72 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 73 2E 6C 65 6E 67 74 68 29 66 6F 72 28 76 61 72 20 77 3D 35 3C 6D 26 26 72 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 2C 65 3D 30 3B 65 3C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 73 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 6C 3D 73 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6C 3D 73 5B 65 5D 2E 78 2C 21 28 6C 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6C 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 6E 75 6C 6C 21 3D 3D 73 5B 65 5D 2E 79 26 26 73 5B 65 5D 2E 79 2E 6C 65 6E 67 74 68 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 73 5B 65 5D 2E 79 5B 30 5D 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 0A 74 79 70 65 6F 66 20 73 5B 65 5D 2E 79 5B 31 5D 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 73 5B 65 5D 2E 79 5B 32 5D 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 73 5B 65 5D 2E 79 5B 33 5D 29 7B 66 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6C 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 67 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 73 5B 65 5D 2E 79 5B 30 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6B 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 73 5B 65 5D 2E 79 5B 31 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 70 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 73 5B 65 5D 2E 79 5B 32 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 68 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 73 5B 65 5D 2E 79 5B 33 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 76 3D 66 2D 6D 2F 32 3C 3C 30 2C 78 3D 76 2B 6D 3C 3C 30 2C 64 3D 73 5B 65 5D 2E 63 6F 6C 6F 72 3F 73 5B 65 5D 2E 63 6F 6C 6F 72 3A 72 2E 5F 63 6F 6C 6F 72 53 65 74 5B 30 5D 2C 45 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 4D 61 74 68 2E 6D 61 78 28 31 2C 30 2E 31 35 2A 6D 29 29 2C 75 3D 30 3D 3D 3D 45 25 32 3F 30 3A 30 2E 35 2C 7A 3D 72 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 7A 5D 3D 7B 69 64 3A 7A 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 65 2C 78 31 3A 76 2C 79 31 3A 67 2C 78 32 3A 78 2C 79 32 3A 6B 2C 78 33 3A 66 2C 79 33 3A 70 2C 78 34 3A 66 2C 79 34 3A 68 2C 0A 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 45 2C 63 6F 6C 6F 72 3A 64 7D 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 64 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 6C 69 6E 65 57 69 64 74 68 3D 45 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 4D 61 74 68 2E 6D 61 78 28 45 2C 34 29 3B 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 72 2E 74 79 70 65 3F 28 62 2E 6D 6F 76 65 54 6F 28 66 2D 75 2C 6B 29 2C 62 2E 6C 69 6E 65 54 6F 28 66 2D 75 2C 4D 61 74 68 2E 6D 69 6E 28 67 2C 68 29 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 66 2D 75 2C 4D 61 74 68 2E 6D 61 78 28 67 2C 68 29 29 2C 62 2E 6C 69 6E 65 54 6F 28 66 2D 75 2C 70 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 49 28 62 2C 76 2C 4D 61 74 68 2E 6D 69 6E 28 67 2C 68 29 2C 78 2C 4D 61 74 68 2E 6D 61 78 28 67 2C 68 29 2C 73 5B 65 5D 2E 79 5B 30 5D 3C 3D 73 5B 65 5D 2E 79 5B 33 5D 3F 72 2E 72 69 73 69 6E 67 43 6F 6C 6F 72 3A 64 2C 45 2C 64 2C 77 2C 77 2C 21 31 2C 21 31 2C 72 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 2C 74 26 26 28 64 3D 42 28 7A 29 2C 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 64 2C 63 2E 6D 6F 76 65 54 6F 28 66 2D 75 2C 6B 29 2C 63 2E 6C 69 6E 65 54 6F 28 66 2D 75 2C 4D 61 74 68 2E 6D 69 6E 28 67 2C 68 29 29 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 66 2D 75 2C 4D 61 74 68 2E 6D 61 78 28 67 2C 68 29 29 2C 63 2E 6C 69 6E 65 54 6F 28 66 2D 75 2C 70 29 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 49 28 63 2C 76 2C 4D 61 74 68 2E 6D 69 6E 28 67 2C 68 29 2C 78 2C 4D 61 74 68 2E 6D 61 78 28 67 2C 0A 68 29 2C 64 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 29 29 3A 22 6F 68 6C 63 22 3D 3D 3D 72 2E 74 79 70 65 26 26 28 62 2E 6D 6F 76 65 54 6F 28 66 2D 75 2C 6B 29 2C 62 2E 6C 69 6E 65 54 6F 28 66 2D 75 2C 70 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 66 2C 67 29 2C 62 2E 6C 69 6E 65 54 6F 28 76 2C 67 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 66 2C 68 29 2C 62 2E 6C 69 6E 65 54 6F 28 78 2C 68 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 74 26 26 28 64 3D 42 28 7A 29 2C 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 64 2C 63 2E 6D 6F 76 65 54 6F 28 66 2D 75 2C 6B 29 2C 63 2E 6C 69 6E 65 54 6F 28 66 2D 75 2C 70 29 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 66 2C 67 29 2C 63 2E 6C 69 6E 65 54 6F 28 76 2C 67 29 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 66 2C 68 29 2C 63 2E 6C 69 6E 65 54 6F 28 78 2C 68 29 2C 63 2E 73 74 72 6F 6B 65 28 29 29 29 3B 28 73 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 72 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 73 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 72 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 26 26 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 72 2E 74 79 70 65 2C 64 61 74 61 50 6F 69 6E 74 3A 73 5B 65 5D 2C 0A 64 61 74 61 53 65 72 69 65 73 3A 72 2C 70 6F 69 6E 74 3A 7B 78 3A 76 2B 28 78 2D 76 29 2F 32 2C 79 3A 6B 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 76 2C 79 31 3A 4D 61 74 68 2E 6D 69 6E 28 6B 2C 70 29 2C 78 32 3A 78 2C 79 32 3A 4D 61 74 68 2E 6D 61 78 28 6B 2C 70 29 7D 2C 63 6F 6C 6F 72 3A 64 7D 29 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 63 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 66 61 64 65 49 6E 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 49 6E 51 75 61 64 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 52 61 6E 67 65 43 6F 6C 75 6D 6E 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 2C 66 2C 67 2C 65 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 0A 31 3B 66 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 30 33 2A 74 68 69 73 2E 77 69 64 74 68 3B 76 61 72 20 6B 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 6B 29 7C 7C 28 6B 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 6B 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 6B 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 29 3C 3C 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 65 3E 66 26 26 28 65 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 66 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 0A 66 3C 65 29 26 26 28 66 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 65 29 29 3B 6B 3C 65 26 26 28 6B 3D 65 29 3B 6B 3E 66 26 26 28 6B 3D 66 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 76 61 72 20 70 3D 30 3B 70 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 70 2B 2B 29 7B 76 61 72 20 68 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 70 5D 2C 6C 3D 74 68 69 73 2E 64 61 74 61 5B 68 5D 2C 6D 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 6D 2E 6C 65 6E 67 74 68 29 66 6F 72 28 76 61 72 20 6E 3D 35 3C 6B 26 26 6C 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 2C 65 3D 30 3B 65 3C 6D 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 6D 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 67 3D 6D 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 0A 67 3D 6D 5B 65 5D 2E 78 2C 21 28 67 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 67 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 6E 75 6C 6C 21 3D 3D 6D 5B 65 5D 2E 79 26 26 6D 5B 65 5D 2E 79 2E 6C 65 6E 67 74 68 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 6D 5B 65 5D 2E 79 5B 30 5D 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 6D 5B 65 5D 2E 79 5B 31 5D 29 7B 63 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 67 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 64 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6D 5B 65 5D 2E 79 5B 30 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 66 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 0A 28 6D 5B 65 5D 2E 79 5B 31 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 71 3D 63 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 2A 6B 2F 32 2B 28 61 2E 70 72 65 76 69 6F 75 73 44 61 74 61 53 65 72 69 65 73 43 6F 75 6E 74 2B 70 29 2A 6B 3C 3C 30 2C 72 3D 71 2B 6B 3C 3C 30 2C 63 3D 6D 5B 65 5D 2E 63 6F 6C 6F 72 3F 6D 5B 65 5D 2E 63 6F 6C 6F 72 3A 6C 2E 5F 63 6F 6C 6F 72 53 65 74 5B 65 25 6C 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 69 66 28 64 3E 66 29 7B 76 61 72 20 73 3D 64 2C 64 3D 66 3B 66 3D 73 7D 73 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 73 5D 3D 7B 69 64 3A 73 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 68 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 65 2C 78 31 3A 71 2C 79 31 3A 64 2C 78 32 3A 72 2C 79 32 3A 66 7D 3B 49 28 62 2C 71 2C 64 2C 72 2C 66 2C 63 2C 30 2C 63 2C 6E 2C 6E 2C 21 31 2C 21 31 2C 6C 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 42 28 73 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 71 2C 64 2C 72 2C 66 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 69 66 28 6D 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6C 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 0A 6D 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6C 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6D 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6C 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 30 2C 70 6F 69 6E 74 3A 7B 78 3A 71 2B 28 72 2D 71 29 2F 32 2C 79 3A 6D 5B 65 5D 2E 79 5B 31 5D 3E 3D 6D 5B 65 5D 2E 79 5B 30 5D 3F 66 3A 64 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 6D 5B 65 5D 2E 79 5B 31 5D 3E 3D 6D 5B 65 5D 2E 79 5B 30 5D 3F 2D 31 3A 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 71 2C 79 31 3A 4D 61 74 68 2E 6D 69 6E 28 64 2C 66 29 2C 78 32 3A 72 2C 79 32 3A 4D 61 74 68 2E 6D 61 78 28 64 2C 66 29 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 2C 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6D 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6C 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 31 2C 70 6F 69 6E 74 3A 7B 78 3A 71 2B 28 72 2D 71 29 2F 32 2C 79 3A 6D 5B 65 5D 2E 79 5B 31 5D 3E 3D 6D 5B 65 5D 2E 79 5B 30 5D 3F 64 3A 66 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 6D 5B 65 5D 2E 79 5B 31 5D 3E 3D 6D 5B 65 5D 2E 79 5B 30 5D 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 71 2C 79 31 3A 4D 61 74 68 2E 6D 69 6E 28 64 2C 66 29 2C 78 32 3A 72 2C 79 32 3A 4D 61 74 68 2E 6D 61 78 28 64 2C 0A 66 29 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 66 61 64 65 49 6E 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 49 6E 51 75 61 64 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 52 61 6E 67 65 42 61 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 2C 66 2C 67 2C 6B 2C 65 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 31 3B 66 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 0A 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 4D 61 74 68 2E 6D 69 6E 28 30 2E 31 35 2A 74 68 69 73 2E 68 65 69 67 68 74 2C 30 2E 39 2A 28 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 68 65 69 67 68 74 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 29 29 3C 3C 30 3B 76 61 72 20 70 3D 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3B 69 73 46 69 6E 69 74 65 28 70 29 7C 7C 28 70 3D 30 2E 33 2A 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 3B 70 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 30 2E 39 2A 28 64 2E 68 65 69 67 68 74 2F 4D 61 74 68 2E 61 62 73 28 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 61 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 4D 61 74 68 2E 61 62 73 28 70 29 2F 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 29 3C 3C 30 3B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 65 3E 66 26 26 28 65 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 49 6E 66 69 6E 69 74 79 2C 66 29 29 3B 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 4D 69 6E 57 69 64 74 68 26 26 0A 66 3C 65 29 26 26 28 66 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3F 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 57 69 64 74 68 3A 2D 49 6E 66 69 6E 69 74 79 2C 65 29 29 3B 70 3C 65 26 26 28 70 3D 65 29 3B 70 3E 66 26 26 28 70 3D 66 29 3B 62 2E 73 61 76 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 73 61 76 65 28 29 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 62 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 3B 62 2E 63 6C 69 70 28 29 3B 74 26 26 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 63 74 28 64 2E 78 31 2C 64 2E 79 31 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 76 61 72 20 68 3D 30 3B 68 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6C 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 68 5D 2C 6D 3D 74 68 69 73 2E 64 61 74 61 5B 6C 5D 2C 6E 3D 6D 2E 64 61 74 61 50 6F 69 6E 74 73 3B 69 66 28 30 3C 6E 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 71 3D 35 3C 70 26 26 6D 2E 62 65 76 65 6C 45 6E 61 62 6C 65 64 3F 21 30 3A 21 31 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 34 35 37 32 41 37 20 22 3B 66 6F 72 28 65 3D 30 3B 65 3C 6E 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 6E 5B 65 5D 2E 67 65 74 54 69 6D 65 3F 0A 6B 3D 6E 5B 65 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 6B 3D 6E 5B 65 5D 2E 78 2C 21 28 6B 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6B 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 26 26 6E 75 6C 6C 21 3D 3D 6E 5B 65 5D 2E 79 26 26 6E 5B 65 5D 2E 79 2E 6C 65 6E 67 74 68 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 6E 5B 65 5D 2E 79 5B 30 5D 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 6E 5B 65 5D 2E 79 5B 31 5D 29 7B 64 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6E 5B 65 5D 2E 79 5B 30 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 66 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6E 5B 65 5D 2E 79 5B 31 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 67 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6B 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 67 3D 67 2D 61 2E 70 6C 6F 74 54 79 70 65 2E 74 6F 74 61 6C 44 61 74 61 53 65 72 69 65 73 2A 70 2F 32 2B 28 61 2E 70 72 65 76 69 6F 75 73 44 61 74 61 53 65 72 69 65 73 43 6F 75 6E 74 2B 68 29 2A 70 3C 3C 30 3B 76 61 72 20 72 3D 67 2B 70 3C 3C 30 3B 64 3E 66 26 26 28 63 3D 64 2C 64 3D 66 2C 66 3D 63 29 3B 63 3D 6E 5B 65 5D 2E 63 6F 6C 6F 72 3F 6E 5B 65 5D 2E 63 6F 6C 6F 72 3A 6D 2E 5F 63 6F 6C 6F 72 53 65 74 5B 65 25 6D 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 49 28 62 2C 64 2C 67 2C 66 2C 72 2C 63 2C 30 2C 6E 75 6C 6C 2C 71 2C 21 31 2C 21 31 2C 21 31 2C 6D 2E 66 69 6C 6C 4F 70 61 63 69 74 79 29 3B 63 3D 6D 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 63 5D 3D 7B 69 64 3A 63 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6C 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 65 2C 78 31 3A 64 2C 79 31 3A 67 2C 78 32 3A 66 2C 79 32 3A 72 7D 3B 63 3D 42 28 63 29 3B 74 26 26 49 28 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 64 2C 67 2C 66 2C 72 2C 63 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 3B 0A 69 66 28 6E 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6E 5B 65 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 72 61 6E 67 65 42 61 72 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6E 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6D 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 30 2C 70 6F 69 6E 74 3A 7B 78 3A 6E 5B 65 5D 2E 79 5B 31 5D 3E 3D 6E 5B 65 5D 2E 79 5B 30 5D 3F 64 3A 66 2C 79 3A 67 2B 28 72 2D 67 29 2F 32 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 6E 5B 65 5D 2E 79 5B 31 5D 3E 3D 6E 5B 65 5D 2E 79 5B 30 5D 3F 2D 31 3A 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 4D 61 74 68 2E 6D 69 6E 28 64 2C 66 29 2C 79 31 3A 67 2C 78 32 3A 4D 61 74 68 2E 6D 61 78 28 64 2C 66 29 2C 79 32 3A 72 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 2C 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 72 61 6E 67 65 42 61 72 22 2C 64 61 74 61 50 6F 69 6E 74 3A 6E 5B 65 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6D 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 31 2C 70 6F 69 6E 74 3A 7B 78 3A 6E 5B 65 5D 2E 79 5B 31 5D 3E 3D 6E 5B 65 5D 2E 79 5B 30 5D 3F 66 3A 64 2C 79 3A 67 2B 28 72 2D 67 29 2F 32 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 6E 5B 65 5D 2E 79 5B 31 5D 3E 3D 6E 5B 65 5D 2E 79 5B 30 5D 3F 31 3A 2D 31 2C 62 6F 75 6E 64 73 3A 7B 78 31 3A 4D 61 74 68 2E 6D 69 6E 28 64 2C 0A 66 29 2C 79 31 3A 67 2C 78 32 3A 4D 61 74 68 2E 6D 61 78 28 64 2C 66 29 2C 79 32 3A 72 7D 2C 63 6F 6C 6F 72 3A 63 7D 29 7D 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 62 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 66 61 64 65 49 6E 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 65 61 73 65 49 6E 51 75 61 64 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 52 61 6E 67 65 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 29 7B 69 66 28 77 29 7B 76 61 72 20 61 3D 6E 75 6C 6C 3B 30 3C 70 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 63 2E 73 74 72 6F 6B 65 28 29 3B 66 6F 72 28 76 61 72 20 62 3D 67 2E 6C 65 6E 67 74 68 2D 31 3B 30 3C 3D 62 3B 62 2D 2D 29 61 3D 67 5B 62 5D 2C 63 2E 6C 69 6E 65 54 6F 28 61 2E 78 2C 61 2E 79 29 2C 64 2E 6C 69 6E 65 54 6F 28 61 2E 78 2C 61 2E 79 29 3B 63 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 70 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 63 2E 66 69 6C 6C 28 29 3B 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 64 2E 66 69 6C 6C 28 29 3B 69 66 28 30 3C 70 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 7B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 0A 63 2E 6D 6F 76 65 54 6F 28 61 2E 78 2C 61 2E 79 29 3B 66 6F 72 28 62 3D 30 3B 62 3C 67 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 61 3D 67 5B 62 5D 2C 63 2E 6C 69 6E 65 54 6F 28 61 2E 78 2C 61 2E 79 29 3B 63 2E 73 74 72 6F 6B 65 28 29 7D 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 6D 6F 76 65 54 6F 28 6E 2C 71 29 3B 64 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 64 2E 6D 6F 76 65 54 6F 28 6E 2C 71 29 3B 77 3D 7B 78 3A 6E 2C 79 3A 71 7D 3B 67 3D 5B 5D 3B 67 2E 70 75 73 68 28 7B 78 3A 6E 2C 79 3A 72 7D 29 7D 7D 76 61 72 20 63 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 65 3D 5B 5D 2C 66 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 63 2E 73 61 76 65 28 29 3B 74 26 26 64 2E 73 61 76 65 28 29 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 72 65 63 74 28 66 2E 78 31 2C 66 2E 79 31 2C 66 2E 77 69 64 74 68 2C 66 2E 68 65 69 67 68 74 29 3B 63 2E 63 6C 69 70 28 29 3B 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 72 65 63 74 28 66 2E 78 31 2C 66 2E 79 31 2C 66 2E 77 69 64 74 68 2C 66 2E 68 65 69 67 68 74 29 2C 64 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 66 3D 30 3B 66 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 66 2B 2B 29 7B 76 61 72 20 67 3D 5B 5D 2C 6B 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 66 5D 2C 0A 70 3D 74 68 69 73 2E 64 61 74 61 5B 6B 5D 2C 68 3D 70 2E 64 61 74 61 50 6F 69 6E 74 73 2C 65 3D 70 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 65 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6B 7D 3B 65 3D 42 28 65 29 3B 64 2E 66 69 6C 6C 53 74 79 6C 65 3D 65 3B 76 61 72 20 65 3D 5B 5D 2C 6C 3D 21 30 2C 6D 3D 30 2C 6E 2C 71 2C 72 2C 73 2C 77 3D 6E 75 6C 6C 3B 69 66 28 30 3C 68 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 76 3D 70 2E 5F 63 6F 6C 6F 72 53 65 74 5B 6D 25 70 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 63 2E 66 69 6C 6C 53 74 79 6C 65 3D 76 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 76 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 70 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 70 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 70 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 66 6F 72 28 76 61 72 20 78 3D 21 30 3B 6D 3C 68 2E 6C 65 6E 67 74 68 3B 6D 2B 2B 29 69 66 28 73 3D 68 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 68 5B 6D 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 68 5B 6D 5D 2E 78 2C 21 28 73 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 73 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 69 66 28 6E 75 6C 6C 21 3D 3D 68 5B 6D 5D 2E 79 26 26 68 5B 6D 5D 2E 79 2E 6C 65 6E 67 74 68 26 26 0A 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 68 5B 6D 5D 2E 79 5B 30 5D 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 68 5B 6D 5D 2E 79 5B 31 5D 29 7B 6E 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 73 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 71 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 68 5B 6D 5D 2E 79 5B 30 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 72 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 68 5B 6D 5D 2E 79 5B 31 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6C 7C 7C 78 3F 28 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 6E 2C 71 29 2C 0A 77 3D 7B 78 3A 6E 2C 79 3A 71 7D 2C 67 3D 5B 5D 2C 67 2E 70 75 73 68 28 7B 78 3A 6E 2C 79 3A 72 7D 29 2C 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 6E 2C 71 29 29 2C 78 3D 6C 3D 21 31 29 3A 28 63 2E 6C 69 6E 65 54 6F 28 6E 2C 71 29 2C 67 2E 70 75 73 68 28 7B 78 3A 6E 2C 79 3A 72 7D 29 2C 74 26 26 64 2E 6C 69 6E 65 54 6F 28 6E 2C 71 29 2C 30 3D 3D 6D 25 32 35 30 26 26 62 28 29 29 3B 73 3D 70 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 6D 5D 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 73 5D 3D 7B 69 64 3A 73 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6B 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6D 2C 78 31 3A 6E 2C 79 31 3A 71 2C 79 32 3A 72 7D 3B 69 66 28 30 21 3D 3D 68 5B 6D 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 30 3C 68 5B 6D 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 70 2E 6D 61 72 6B 65 72 53 69 7A 65 29 29 7B 76 61 72 20 75 3D 70 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6D 2C 6E 2C 72 2C 63 29 3B 65 2E 70 75 73 68 28 75 29 3B 76 61 72 20 79 3D 42 28 73 29 3B 74 26 26 65 2E 70 75 73 68 28 7B 78 3A 6E 2C 79 3A 72 2C 63 74 78 3A 64 2C 74 79 70 65 3A 75 2E 74 79 70 65 2C 73 69 7A 65 3A 75 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 79 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 79 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 75 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 3B 75 3D 0A 70 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 6D 2C 6E 2C 71 2C 63 29 3B 65 2E 70 75 73 68 28 75 29 3B 79 3D 42 28 73 29 3B 74 26 26 65 2E 70 75 73 68 28 7B 78 3A 6E 2C 79 3A 71 2C 63 74 78 3A 64 2C 74 79 70 65 3A 75 2E 74 79 70 65 2C 73 69 7A 65 3A 75 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 79 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 79 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 75 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 7D 69 66 28 68 5B 6D 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 70 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 68 5B 6D 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 70 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 72 61 6E 67 65 41 72 65 61 22 2C 64 61 74 61 50 6F 69 6E 74 3A 68 5B 6D 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 70 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 30 2C 70 6F 69 6E 74 3A 7B 78 3A 6E 2C 79 3A 71 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 68 5B 6D 5D 2E 79 5B 30 5D 3C 3D 68 5B 6D 5D 2E 79 5B 31 5D 3F 2D 31 3A 31 2C 63 6F 6C 6F 72 3A 76 7D 29 2C 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 72 61 6E 67 65 41 72 65 61 22 2C 64 61 74 61 50 6F 69 6E 74 3A 68 5B 6D 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 70 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 31 2C 70 6F 69 6E 74 3A 7B 78 3A 6E 2C 79 3A 72 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 68 5B 6D 5D 2E 79 5B 30 5D 3C 3D 0A 68 5B 6D 5D 2E 79 5B 31 5D 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 76 7D 29 7D 65 6C 73 65 20 62 28 29 2C 78 3D 21 30 3B 62 28 29 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 65 29 7D 7D 63 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 63 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 52 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 29 7B 76 61 72 20 61 3D 69 61 28 71 2C 32 29 3B 69 66 28 30 3C 61 2E 6C 65 6E 67 74 68 29 7B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 6D 6F 76 65 54 6F 28 61 5B 30 5D 2E 78 2C 61 5B 30 5D 2E 79 29 3B 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 6D 6F 76 65 54 6F 28 61 5B 30 5D 2E 78 2C 61 5B 30 5D 2E 79 29 29 3B 66 6F 72 28 76 61 72 20 62 3D 30 3B 62 3C 61 2E 6C 65 6E 67 74 68 2D 33 3B 62 2B 3D 33 29 63 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2B 31 5D 2E 78 2C 61 5B 62 2B 31 5D 2E 79 2C 61 5B 62 2B 32 5D 2E 78 2C 61 5B 62 2B 32 5D 2E 79 2C 61 5B 62 2B 33 5D 2E 78 2C 61 5B 62 2B 0A 33 5D 2E 79 29 2C 74 26 26 64 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2B 31 5D 2E 78 2C 61 5B 62 2B 31 5D 2E 79 2C 61 5B 62 2B 32 5D 2E 78 2C 61 5B 62 2B 32 5D 2E 79 2C 61 5B 62 2B 33 5D 2E 78 2C 61 5B 62 2B 33 5D 2E 79 29 3B 30 3C 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 63 2E 73 74 72 6F 6B 65 28 29 3B 61 3D 69 61 28 72 2C 32 29 3B 63 2E 6C 69 6E 65 54 6F 28 72 5B 72 2E 6C 65 6E 67 74 68 2D 31 5D 2E 78 2C 72 5B 72 2E 6C 65 6E 67 74 68 2D 31 5D 2E 79 29 3B 66 6F 72 28 62 3D 61 2E 6C 65 6E 67 74 68 2D 31 3B 32 3C 62 3B 62 2D 3D 33 29 63 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2D 31 5D 2E 78 2C 61 5B 62 2D 31 5D 2E 79 2C 61 5B 62 2D 32 5D 2E 78 2C 61 5B 62 2D 32 5D 2E 79 2C 61 5B 62 2D 33 5D 2E 78 2C 61 5B 62 2D 33 5D 2E 79 29 2C 74 26 26 64 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2D 31 5D 2E 78 2C 61 5B 62 2D 31 5D 2E 79 2C 61 5B 62 2D 32 5D 2E 78 2C 61 5B 62 2D 32 5D 2E 79 2C 61 5B 62 2D 33 5D 2E 78 2C 61 5B 62 2D 33 5D 2E 79 29 3B 63 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 6B 2E 66 69 6C 6C 4F 70 61 63 69 74 79 3B 63 2E 66 69 6C 6C 28 29 3B 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 69 66 28 30 3C 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 7B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 6D 6F 76 65 54 6F 28 72 5B 72 2E 6C 65 6E 67 74 68 2D 31 5D 2E 78 2C 72 5B 72 2E 6C 65 6E 67 74 68 2D 31 5D 2E 79 29 3B 66 6F 72 28 62 3D 61 2E 6C 65 6E 67 74 68 2D 31 3B 32 3C 62 3B 62 2D 3D 0A 33 29 63 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2D 31 5D 2E 78 2C 61 5B 62 2D 31 5D 2E 79 2C 61 5B 62 2D 32 5D 2E 78 2C 61 5B 62 2D 32 5D 2E 79 2C 61 5B 62 2D 33 5D 2E 78 2C 61 5B 62 2D 33 5D 2E 79 29 2C 74 26 26 64 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 28 61 5B 62 2D 31 5D 2E 78 2C 61 5B 62 2D 31 5D 2E 79 2C 61 5B 62 2D 32 5D 2E 78 2C 61 5B 62 2D 32 5D 2E 79 2C 61 5B 62 2D 33 5D 2E 78 2C 61 5B 62 2D 33 5D 2E 79 29 3B 63 2E 73 74 72 6F 6B 65 28 29 7D 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 26 26 28 64 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 64 2E 66 69 6C 6C 28 29 29 7D 7D 76 61 72 20 63 3D 61 2E 74 61 72 67 65 74 43 61 6E 76 61 73 43 74 78 7C 7C 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2C 65 3D 5B 5D 2C 66 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 3B 63 2E 73 61 76 65 28 29 3B 74 26 26 64 2E 73 61 76 65 28 29 3B 63 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 63 2E 72 65 63 74 28 66 2E 78 31 2C 66 2E 79 31 2C 66 2E 77 69 64 74 68 2C 66 2E 68 65 69 67 68 74 29 3B 63 2E 63 6C 69 70 28 29 3B 74 26 26 28 64 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 64 2E 72 65 63 74 28 66 2E 78 31 2C 66 2E 79 31 2C 66 2E 77 69 64 74 68 2C 66 2E 68 65 69 67 68 74 29 2C 64 2E 63 6C 69 70 28 29 29 3B 66 6F 72 28 66 3D 30 3B 66 3C 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 3B 66 2B 2B 29 7B 76 61 72 20 67 3D 0A 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 66 5D 2C 6B 3D 74 68 69 73 2E 64 61 74 61 5B 67 5D 2C 70 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 73 2C 65 3D 6B 2E 69 64 3B 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 65 5D 3D 7B 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 53 65 72 69 65 73 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 67 7D 3B 65 3D 42 28 65 29 3B 64 2E 66 69 6C 6C 53 74 79 6C 65 3D 65 3B 76 61 72 20 65 3D 5B 5D 2C 68 3D 30 2C 6C 2C 6D 2C 6E 2C 71 3D 5B 5D 2C 72 3D 5B 5D 3B 69 66 28 30 3C 70 2E 6C 65 6E 67 74 68 29 7B 63 6F 6C 6F 72 3D 6B 2E 5F 63 6F 6C 6F 72 53 65 74 5B 68 25 6B 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 63 2E 66 69 6C 6C 53 74 79 6C 65 3D 63 6F 6C 6F 72 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 6F 6C 6F 72 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 66 6F 72 28 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 63 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 6B 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 6B 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 68 3C 70 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 69 66 28 6C 3D 70 5B 68 5D 2E 78 2E 67 65 74 54 69 6D 65 3F 70 5B 68 5D 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 70 5B 68 5D 2E 78 2C 21 28 6C 3C 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 7C 7C 6C 3E 61 2E 61 78 69 73 58 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 29 29 69 66 28 6E 75 6C 6C 21 3D 3D 0A 70 5B 68 5D 2E 79 26 26 70 5B 68 5D 2E 79 2E 6C 65 6E 67 74 68 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 70 5B 68 5D 2E 79 5B 30 5D 26 26 22 6E 75 6D 62 65 72 22 3D 3D 3D 74 79 70 65 6F 66 20 70 5B 68 5D 2E 79 5B 31 5D 29 7B 6C 3D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 6C 2D 61 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6D 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 70 5B 68 5D 2E 79 5B 30 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 6E 3D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 70 5B 68 5D 2E 79 5B 31 5D 2D 61 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 76 61 72 20 73 3D 6B 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 68 5D 3B 0A 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 73 5D 3D 7B 69 64 3A 73 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 67 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 68 2C 78 31 3A 6C 2C 79 31 3A 6D 2C 79 32 3A 6E 7D 3B 71 5B 71 2E 6C 65 6E 67 74 68 5D 3D 7B 78 3A 6C 2C 79 3A 6D 7D 3B 72 5B 72 2E 6C 65 6E 67 74 68 5D 3D 7B 78 3A 6C 2C 79 3A 6E 7D 3B 69 66 28 30 21 3D 3D 70 5B 68 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 26 26 28 30 3C 70 5B 68 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 30 3C 6B 2E 6D 61 72 6B 65 72 53 69 7A 65 29 29 7B 76 61 72 20 77 3D 6B 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 68 2C 6C 2C 6D 2C 63 29 3B 65 2E 70 75 73 68 28 77 29 3B 76 61 72 20 76 3D 42 28 73 29 3B 74 26 26 65 2E 70 75 73 68 28 7B 78 3A 6C 2C 79 3A 6D 2C 63 74 78 3A 64 2C 74 79 70 65 3A 77 2E 74 79 70 65 2C 73 69 7A 65 3A 77 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 76 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 76 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 77 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 3B 77 3D 6B 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 68 2C 6C 2C 6E 2C 63 29 3B 65 2E 70 75 73 68 28 77 29 3B 76 3D 42 28 73 29 3B 74 26 26 65 2E 70 75 73 68 28 7B 78 3A 6C 2C 79 3A 6E 2C 63 74 78 3A 64 2C 74 79 70 65 3A 77 2E 74 79 70 65 2C 73 69 7A 65 3A 77 2E 73 69 7A 65 2C 63 6F 6C 6F 72 3A 76 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 76 2C 0A 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 77 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7D 29 7D 69 66 28 70 5B 68 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 7C 7C 70 5B 68 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 70 6C 69 6E 65 41 72 65 61 22 2C 64 61 74 61 50 6F 69 6E 74 3A 70 5B 68 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6B 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 30 2C 70 6F 69 6E 74 3A 7B 78 3A 6C 2C 79 3A 6D 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 70 5B 68 5D 2E 79 5B 30 5D 3C 3D 70 5B 68 5D 2E 79 5B 31 5D 3F 2D 31 3A 31 2C 63 6F 6C 6F 72 3A 63 6F 6C 6F 72 7D 29 2C 74 68 69 73 2E 5F 69 6E 64 65 78 4C 61 62 65 6C 73 2E 70 75 73 68 28 7B 63 68 61 72 74 54 79 70 65 3A 22 73 70 6C 69 6E 65 41 72 65 61 22 2C 64 61 74 61 50 6F 69 6E 74 3A 70 5B 68 5D 2C 64 61 74 61 53 65 72 69 65 73 3A 6B 2C 69 6E 64 65 78 4B 65 79 77 6F 72 64 3A 31 2C 70 6F 69 6E 74 3A 7B 78 3A 6C 2C 79 3A 6E 7D 2C 64 69 72 65 63 74 69 6F 6E 3A 70 5B 68 5D 2E 79 5B 30 5D 3C 3D 70 5B 68 5D 2E 79 5B 31 5D 3F 31 3A 2D 31 2C 63 6F 6C 6F 72 3A 63 6F 6C 6F 72 7D 29 7D 65 6C 73 65 20 30 3C 68 26 26 28 62 28 29 2C 71 3D 5B 5D 2C 72 3D 5B 5D 29 3B 62 28 29 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 65 29 7D 7D 63 2E 72 65 73 74 6F 72 65 28 29 3B 74 26 26 74 68 69 73 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 0A 72 65 74 75 72 6E 7B 73 6F 75 72 63 65 3A 63 2C 64 65 73 74 3A 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 41 2E 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 2C 65 61 73 69 6E 67 46 75 6E 63 74 69 6F 6E 3A 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 2C 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3A 30 7D 7D 7D 3B 76 61 72 20 73 61 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 2C 66 2C 67 2C 6B 2C 70 29 7B 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 6B 26 26 28 6B 3D 31 29 3B 69 66 28 21 74 29 7B 76 61 72 20 68 3D 4E 75 6D 62 65 72 28 28 67 25 28 32 2A 4D 61 74 68 2E 50 49 29 29 2E 74 6F 46 69 78 65 64 28 38 29 29 3B 4E 75 6D 62 65 72 28 28 66 25 28 32 2A 4D 61 74 68 2E 50 49 29 29 2E 74 6F 46 69 78 65 64 28 38 29 29 3D 3D 3D 68 26 26 28 67 2D 3D 31 45 2D 34 29 7D 61 2E 73 61 76 65 28 29 3B 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 6B 3B 22 70 69 65 22 3D 3D 3D 65 3F 28 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 61 2E 6D 6F 76 65 54 6F 28 62 2E 78 2C 62 2E 79 29 2C 61 2E 61 72 63 28 62 2E 78 2C 62 2E 79 2C 63 2C 66 2C 67 2C 21 31 29 2C 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 64 2C 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 77 68 69 74 65 22 2C 61 2E 6C 69 6E 65 57 69 64 74 68 3D 32 2C 61 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 61 2E 66 69 6C 6C 28 29 29 3A 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 65 26 26 28 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 61 2E 61 72 63 28 62 2E 78 2C 62 2E 79 2C 63 2C 66 2C 0A 67 2C 21 31 29 2C 61 2E 61 72 63 28 62 2E 78 2C 62 2E 79 2C 70 2A 63 2C 67 2C 66 2C 21 30 29 2C 61 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 64 2C 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 77 68 69 74 65 22 2C 61 2E 6C 69 6E 65 57 69 64 74 68 3D 32 2C 61 2E 66 69 6C 6C 28 29 29 3B 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 61 2E 72 65 73 74 6F 72 65 28 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 50 69 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 75 6E 63 74 69 6F 6E 20 62 28 29 7B 69 66 28 68 26 26 6C 29 7B 76 61 72 20 61 3D 30 2C 62 3D 30 2C 63 3D 30 2C 64 3D 30 3B 66 6F 72 28 79 3D 30 3B 79 3C 6C 2E 6C 65 6E 67 74 68 3B 79 2B 2B 29 7B 76 61 72 20 65 3D 6C 5B 79 5D 2C 66 3D 68 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 79 5D 2C 67 3D 7B 69 64 3A 66 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 64 61 74 61 50 6F 69 6E 74 22 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 79 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 30 7D 3B 71 2E 70 75 73 68 28 67 29 3B 76 61 72 20 6B 3D 7B 70 65 72 63 65 6E 74 3A 6E 75 6C 6C 2C 74 6F 74 61 6C 3A 6E 75 6C 6C 7D 2C 6D 3D 6E 75 6C 6C 2C 6B 3D 70 2E 67 65 74 50 65 72 63 65 6E 74 41 6E 64 54 6F 74 61 6C 28 68 2C 65 29 3B 69 66 28 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 7C 7C 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 29 6D 3D 7B 63 68 61 72 74 3A 70 2E 5F 6F 70 74 69 6F 6E 73 2C 64 61 74 61 53 65 72 69 65 73 3A 68 2C 64 61 74 61 50 6F 69 6E 74 3A 65 2C 0A 74 6F 74 61 6C 3A 6B 2E 74 6F 74 61 6C 2C 70 65 72 63 65 6E 74 3A 6B 2E 70 65 72 63 65 6E 74 7D 3B 6B 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 28 6D 29 3A 65 2E 69 6E 64 65 78 4C 61 62 65 6C 3F 70 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 65 2E 69 6E 64 65 78 4C 61 62 65 6C 2C 65 2C 68 2C 79 29 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3F 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 28 6D 29 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 3F 70 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 68 2E 69 6E 64 65 78 4C 61 62 65 6C 2C 65 2C 68 2C 79 29 3A 65 2E 6C 61 62 65 6C 3F 65 2E 6C 61 62 65 6C 3A 22 22 3B 70 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 66 5D 3D 67 3B 67 2E 63 65 6E 74 65 72 3D 7B 78 3A 78 2E 78 2C 79 3A 78 2E 79 7D 3B 67 2E 79 3D 65 2E 79 3B 67 2E 72 61 64 69 75 73 3D 7A 3B 67 2E 70 65 72 63 65 6E 74 49 6E 6E 65 72 52 61 64 69 75 73 3D 44 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 3D 6B 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 3D 68 2E 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 3F 0A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 3A 65 2E 63 6F 6C 6F 72 3F 65 2E 63 6F 6C 6F 72 3A 68 2E 5F 63 6F 6C 6F 72 53 65 74 5B 79 25 68 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3D 50 28 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 3F 68 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3A 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 44 61 73 68 54 79 70 65 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 44 61 73 68 54 79 70 65 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 44 61 73 68 54 79 70 65 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 44 61 73 68 54 79 70 65 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3F 0A 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3F 68 2E 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 6E 75 6C 6C 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 3D 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 3F 68 2E 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 3A 30 2E 33 33 2A 6E 2E 77 69 64 74 68 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 57 72 61 70 3D 0A 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 65 2E 69 6E 64 65 78 4C 61 62 65 6C 57 72 61 70 3F 65 2E 69 6E 64 65 78 4C 61 62 65 6C 57 72 61 70 3A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 57 72 61 70 3B 67 2E 73 74 61 72 74 41 6E 67 6C 65 3D 30 3D 3D 3D 79 3F 68 2E 73 74 61 72 74 41 6E 67 6C 65 3F 68 2E 73 74 61 72 74 41 6E 67 6C 65 2F 31 38 30 2A 4D 61 74 68 2E 50 49 3A 30 3A 71 5B 79 2D 31 5D 2E 65 6E 64 41 6E 67 6C 65 3B 67 2E 73 74 61 72 74 41 6E 67 6C 65 3D 28 67 2E 73 74 61 72 74 41 6E 67 6C 65 2B 32 2A 4D 61 74 68 2E 50 49 29 25 28 32 2A 4D 61 74 68 2E 50 49 29 3B 67 2E 65 6E 64 41 6E 67 6C 65 3D 67 2E 73 74 61 72 74 41 6E 67 6C 65 2B 32 2A 4D 61 74 68 2E 50 49 2F 75 2A 4D 61 74 68 2E 61 62 73 28 65 2E 79 29 3B 65 3D 28 67 2E 65 6E 64 41 6E 67 6C 65 2B 67 2E 73 74 61 72 74 41 6E 67 6C 65 29 2F 32 3B 65 3D 28 65 2B 32 2A 4D 61 74 68 2E 50 49 29 25 28 32 2A 4D 61 74 68 2E 50 49 29 3B 67 2E 6D 69 64 41 6E 67 6C 65 3D 65 3B 69 66 28 67 2E 6D 69 64 41 6E 67 6C 65 3E 4D 61 74 68 2E 50 49 2F 32 2D 74 26 26 67 2E 6D 69 64 41 6E 67 6C 65 3C 4D 61 74 68 2E 50 49 2F 32 2B 74 29 7B 69 66 28 30 3D 3D 3D 61 7C 7C 71 5B 63 5D 2E 6D 69 64 41 6E 67 6C 65 3E 67 2E 6D 69 64 41 6E 67 6C 65 29 63 3D 79 3B 61 2B 2B 7D 65 6C 73 65 20 69 66 28 67 2E 6D 69 64 41 6E 67 6C 65 3E 33 2A 4D 61 74 68 2E 50 49 2F 32 2D 74 26 26 67 2E 6D 69 64 41 6E 67 6C 65 3C 33 2A 4D 61 74 68 2E 50 49 2F 32 2B 74 29 7B 69 66 28 30 3D 3D 3D 62 7C 7C 71 5B 64 5D 2E 6D 69 64 41 6E 67 6C 65 3E 67 2E 6D 69 64 41 6E 67 6C 65 29 64 3D 0A 79 3B 62 2B 2B 7D 67 2E 68 65 6D 69 73 70 68 65 72 65 3D 65 3E 4D 61 74 68 2E 50 49 2F 32 26 26 65 3C 3D 33 2A 4D 61 74 68 2E 50 49 2F 32 3F 22 6C 65 66 74 22 3A 22 72 69 67 68 74 22 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 3D 6E 65 77 20 48 28 70 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 7B 66 6F 6E 74 53 69 7A 65 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 2C 66 6F 6E 74 57 65 69 67 68 74 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 6C 65 66 74 22 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 2C 6D 61 78 57 69 64 74 68 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 4D 61 78 57 69 64 74 68 2C 6D 61 78 48 65 69 67 68 74 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 57 72 61 70 3F 35 2A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3A 31 2E 35 2A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 2C 74 65 78 74 3A 67 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 2C 70 61 64 64 69 6E 67 3A 30 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 3B 67 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 7D 66 3D 0A 65 3D 30 3B 6B 3D 21 31 3B 66 6F 72 28 79 3D 30 3B 79 3C 6C 2E 6C 65 6E 67 74 68 3B 79 2B 2B 29 67 3D 71 5B 28 63 2B 79 29 25 6C 2E 6C 65 6E 67 74 68 5D 2C 31 3C 61 26 26 28 67 2E 6D 69 64 41 6E 67 6C 65 3E 4D 61 74 68 2E 50 49 2F 32 2D 74 26 26 67 2E 6D 69 64 41 6E 67 6C 65 3C 4D 61 74 68 2E 50 49 2F 32 2B 74 29 26 26 28 65 3C 3D 61 2F 32 26 26 21 6B 3F 28 67 2E 68 65 6D 69 73 70 68 65 72 65 3D 22 72 69 67 68 74 22 2C 65 2B 2B 29 3A 28 67 2E 68 65 6D 69 73 70 68 65 72 65 3D 22 6C 65 66 74 22 2C 6B 3D 21 30 29 29 3B 6B 3D 21 31 3B 66 6F 72 28 79 3D 30 3B 79 3C 6C 2E 6C 65 6E 67 74 68 3B 79 2B 2B 29 67 3D 71 5B 28 64 2B 79 29 25 6C 2E 6C 65 6E 67 74 68 5D 2C 31 3C 62 26 26 28 67 2E 6D 69 64 41 6E 67 6C 65 3E 33 2A 4D 61 74 68 2E 50 49 2F 32 2D 74 26 26 67 2E 6D 69 64 41 6E 67 6C 65 3C 33 2A 4D 61 74 68 2E 50 49 2F 32 2B 74 29 26 26 28 66 3C 3D 62 2F 32 26 26 21 6B 3F 28 67 2E 68 65 6D 69 73 70 68 65 72 65 3D 22 6C 65 66 74 22 2C 66 2B 2B 29 3A 28 67 2E 68 65 6D 69 73 70 68 65 72 65 3D 22 72 69 67 68 74 22 2C 6B 3D 21 30 29 29 7D 7D 66 75 6E 63 74 69 6F 6E 20 63 28 61 29 7B 76 61 72 20 62 3D 70 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 62 2E 63 6C 65 61 72 52 65 63 74 28 6E 2E 78 31 2C 6E 2E 79 31 2C 6E 2E 77 69 64 74 68 2C 6E 2E 68 65 69 67 68 74 29 3B 62 2E 66 69 6C 6C 53 74 79 6C 65 3D 70 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3B 62 2E 66 69 6C 6C 52 65 63 74 28 6E 2E 78 31 2C 6E 2E 79 31 2C 6E 2E 77 69 64 74 68 2C 6E 2E 68 65 69 67 68 74 29 3B 66 6F 72 28 62 3D 30 3B 62 3C 0A 6C 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 7B 76 61 72 20 63 3D 71 5B 62 5D 2E 73 74 61 72 74 41 6E 67 6C 65 2C 64 3D 71 5B 62 5D 2E 65 6E 64 41 6E 67 6C 65 3B 69 66 28 64 3E 63 29 7B 76 61 72 20 65 3D 30 2E 30 37 2A 7A 2A 4D 61 74 68 2E 63 6F 73 28 71 5B 62 5D 2E 6D 69 64 41 6E 67 6C 65 29 2C 66 3D 30 2E 30 37 2A 7A 2A 4D 61 74 68 2E 73 69 6E 28 71 5B 62 5D 2E 6D 69 64 41 6E 67 6C 65 29 2C 67 3D 21 31 3B 69 66 28 6C 5B 62 5D 2E 65 78 70 6C 6F 64 65 64 29 7B 69 66 28 31 45 2D 39 3C 4D 61 74 68 2E 61 62 73 28 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 78 2D 28 78 2E 78 2B 65 29 29 7C 7C 31 45 2D 39 3C 4D 61 74 68 2E 61 62 73 28 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 79 2D 28 78 2E 79 2B 66 29 29 29 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 78 3D 78 2E 78 2B 65 2A 61 2C 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 79 3D 78 2E 79 2B 66 2A 61 2C 67 3D 21 30 7D 65 6C 73 65 20 69 66 28 30 3C 4D 61 74 68 2E 61 62 73 28 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 78 2D 78 2E 78 29 7C 7C 30 3C 4D 61 74 68 2E 61 62 73 28 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 79 2D 78 2E 79 29 29 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 78 3D 78 2E 78 2B 65 2A 28 31 2D 61 29 2C 71 5B 62 5D 2E 63 65 6E 74 65 72 2E 79 3D 78 2E 79 2B 66 2A 28 31 2D 61 29 2C 67 3D 21 30 3B 67 26 26 28 65 3D 7B 7D 2C 65 2E 64 61 74 61 53 65 72 69 65 73 3D 68 2C 65 2E 64 61 74 61 50 6F 69 6E 74 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 5B 62 5D 2C 65 2E 69 6E 64 65 78 3D 62 2C 70 2E 5F 74 6F 6F 6C 54 69 70 2E 68 69 67 68 6C 69 67 68 74 4F 62 6A 65 63 74 73 28 5B 65 5D 29 29 3B 0A 73 61 28 70 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 71 5B 62 5D 2E 63 65 6E 74 65 72 2C 71 5B 62 5D 2E 72 61 64 69 75 73 2C 6C 5B 62 5D 2E 63 6F 6C 6F 72 3F 6C 5B 62 5D 2E 63 6F 6C 6F 72 3A 68 2E 5F 63 6F 6C 6F 72 53 65 74 5B 62 25 68 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 2C 68 2E 74 79 70 65 2C 63 2C 64 2C 68 2E 66 69 6C 6C 4F 70 61 63 69 74 79 2C 71 5B 62 5D 2E 70 65 72 63 65 6E 74 49 6E 6E 65 72 52 61 64 69 75 73 29 7D 7D 61 3D 70 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 61 2E 73 61 76 65 28 29 3B 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 22 62 6C 61 63 6B 22 3B 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 67 72 65 79 22 3B 61 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 22 6D 69 64 64 6C 65 22 3B 61 2E 6C 69 6E 65 4A 6F 69 6E 3D 22 72 6F 75 6E 64 22 3B 66 6F 72 28 62 3D 62 3D 30 3B 62 3C 6C 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 63 3D 71 5B 62 5D 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 26 26 28 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 3D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 64 3D 30 2C 64 3D 22 6C 65 66 74 22 3D 3D 3D 63 2E 68 65 6D 69 73 70 68 65 72 65 3F 22 69 6E 73 69 64 65 22 21 3D 3D 68 2E 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 3F 2D 28 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2B 6D 29 3A 2D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 3A 22 69 6E 73 69 64 65 22 21 3D 3D 0A 68 2E 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 3F 6D 3A 2D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2B 3D 64 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 3D 64 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 3D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 22 69 6E 73 69 64 65 22 21 3D 3D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 26 26 30 3C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 26 26 28 64 3D 63 2E 63 65 6E 74 65 72 2E 78 2B 7A 2A 4D 61 74 68 2E 63 6F 73 28 63 2E 6D 69 64 41 6E 67 6C 65 29 2C 65 3D 63 2E 63 65 6E 74 65 72 2E 79 2B 7A 2A 4D 61 74 68 2E 73 69 6E 28 63 2E 6D 69 64 41 6E 67 6C 65 29 2C 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 43 6F 6C 6F 72 2C 61 2E 6C 69 6E 65 57 69 64 74 68 3D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 2C 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 63 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 44 61 73 68 54 79 70 65 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 4C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 2C 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 0A 61 2E 6D 6F 76 65 54 6F 28 64 2C 65 29 2C 61 2E 6C 69 6E 65 54 6F 28 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 29 2C 61 2E 6C 69 6E 65 54 6F 28 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2B 28 22 6C 65 66 74 22 3D 3D 3D 63 2E 68 65 6D 69 73 70 68 65 72 65 3F 2D 6D 3A 6D 29 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 29 2C 61 2E 73 74 72 6F 6B 65 28 29 29 2C 61 2E 6C 69 6E 65 4A 6F 69 6E 3D 22 6D 69 74 65 72 22 29 3B 61 2E 73 61 76 65 28 29 7D 66 75 6E 63 74 69 6F 6E 20 64 28 61 2C 62 29 7B 76 61 72 20 63 3D 30 2C 63 3D 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 64 3D 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 65 3D 62 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 62 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 66 3D 62 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 62 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 3B 72 65 74 75 72 6E 20 63 3D 62 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3E 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3F 0A 65 2D 64 3A 63 2D 66 7D 66 75 6E 63 74 69 6F 6E 20 65 28 61 29 7B 66 6F 72 28 76 61 72 20 62 3D 6E 75 6C 6C 2C 63 3D 31 3B 63 3C 6C 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 69 66 28 62 3D 28 61 2B 63 2B 71 2E 6C 65 6E 67 74 68 29 25 71 2E 6C 65 6E 67 74 68 2C 71 5B 62 5D 2E 68 65 6D 69 73 70 68 65 72 65 21 3D 3D 71 5B 61 5D 2E 68 65 6D 69 73 70 68 65 72 65 29 7B 62 3D 6E 75 6C 6C 3B 62 72 65 61 6B 7D 65 6C 73 65 20 69 66 28 71 5B 62 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 26 26 62 21 3D 3D 61 26 26 28 30 3E 64 28 71 5B 62 5D 2C 71 5B 61 5D 29 7C 7C 28 22 72 69 67 68 74 22 3D 3D 3D 71 5B 61 5D 2E 68 65 6D 69 73 70 68 65 72 65 3F 71 5B 62 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3E 3D 71 5B 61 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3A 71 5B 62 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3C 3D 71 5B 61 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 29 29 29 62 72 65 61 6B 3B 65 6C 73 65 20 62 3D 6E 75 6C 6C 3B 72 65 74 75 72 6E 20 62 7D 66 75 6E 63 74 69 6F 6E 20 66 28 61 2C 62 2C 63 29 7B 63 3D 28 63 7C 7C 30 29 2B 31 3B 69 66 28 31 45 33 3C 63 29 72 65 74 75 72 6E 20 30 3B 62 3D 62 7C 7C 30 3B 76 61 72 20 67 3D 30 2C 68 3D 78 2E 79 2D 31 2A 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2C 6B 3D 78 2E 79 2B 31 2A 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 3B 69 66 28 30 3C 3D 61 26 26 61 3C 6C 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 6D 3D 71 5B 61 5D 3B 69 66 28 30 3E 0A 62 26 26 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3C 68 7C 7C 30 3C 62 26 26 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3E 6B 29 72 65 74 75 72 6E 20 30 3B 76 61 72 20 6E 3D 30 2C 70 3D 30 2C 70 3D 6E 3D 6E 3D 30 3B 30 3E 62 3F 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 3E 68 26 26 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2B 62 3C 68 26 26 28 62 3D 2D 28 68 2D 28 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2B 62 29 29 29 3A 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 3C 68 26 26 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2B 62 3E 6B 26 26 28 62 3D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2B 62 2D 6B 29 3B 62 3D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 62 3B 68 3D 30 3B 68 3D 22 72 69 67 68 74 22 3D 3D 3D 0A 6D 2E 68 65 6D 69 73 70 68 65 72 65 3F 78 2E 78 2B 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2C 32 29 2D 4D 61 74 68 2E 70 6F 77 28 62 2D 78 2E 79 2C 32 29 29 3A 78 2E 78 2D 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2C 32 29 2D 4D 61 74 68 2E 70 6F 77 28 62 2D 78 2E 79 2C 32 29 29 3B 70 3D 78 2E 78 2B 7A 2A 4D 61 74 68 2E 63 6F 73 28 6D 2E 6D 69 64 41 6E 67 6C 65 29 3B 6E 3D 78 2E 79 2B 7A 2A 4D 61 74 68 2E 73 69 6E 28 6D 2E 6D 69 64 41 6E 67 6C 65 29 3B 6E 3D 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 68 2D 70 2C 32 29 2B 4D 61 74 68 2E 70 6F 77 28 62 2D 6E 2C 32 29 29 3B 70 3D 4D 61 74 68 2E 61 63 6F 73 28 7A 2F 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 29 3B 6E 3D 4D 61 74 68 2E 61 63 6F 73 28 28 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2A 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2B 7A 2A 7A 2D 6E 2A 6E 29 2F 28 32 2A 7A 2A 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 29 29 3B 62 3D 6E 3C 70 3F 62 2D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3A 30 3B 68 3D 6E 75 6C 6C 3B 66 6F 72 28 6B 3D 31 3B 6B 3C 6C 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 69 66 28 68 3D 28 61 2D 6B 2B 71 2E 6C 65 6E 67 74 68 29 25 71 2E 6C 65 6E 67 74 68 2C 71 5B 68 5D 2E 68 65 6D 69 73 70 68 65 72 65 21 3D 3D 71 5B 61 5D 2E 68 65 6D 69 73 70 68 65 72 65 29 7B 68 3D 6E 75 6C 6C 3B 62 72 65 61 6B 7D 65 6C 73 65 20 69 66 28 71 5B 68 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 26 26 0A 71 5B 68 5D 2E 68 65 6D 69 73 70 68 65 72 65 3D 3D 3D 71 5B 61 5D 2E 68 65 6D 69 73 70 68 65 72 65 26 26 68 21 3D 3D 61 26 26 28 30 3E 64 28 71 5B 68 5D 2C 71 5B 61 5D 29 7C 7C 28 22 72 69 67 68 74 22 3D 3D 3D 71 5B 61 5D 2E 68 65 6D 69 73 70 68 65 72 65 3F 71 5B 68 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3C 3D 71 5B 61 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3A 71 5B 68 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3E 3D 71 5B 61 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 29 29 29 62 72 65 61 6B 3B 65 6C 73 65 20 68 3D 6E 75 6C 6C 3B 70 3D 68 3B 6E 3D 65 28 61 29 3B 6B 3D 68 3D 30 3B 30 3E 62 3F 28 6B 3D 22 72 69 67 68 74 22 3D 3D 3D 6D 2E 68 65 6D 69 73 70 68 65 72 65 3F 70 3A 6E 2C 67 3D 62 2C 6E 75 6C 6C 21 3D 3D 6B 26 26 28 70 3D 2D 62 2C 62 3D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2D 28 71 5B 6B 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 71 5B 6B 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 29 2C 62 2D 70 3C 72 26 26 28 68 3D 2D 70 2C 6B 3D 66 28 6B 2C 68 2C 63 2B 31 29 2C 2B 6B 2E 74 6F 46 69 78 65 64 28 76 29 3E 2B 68 2E 74 6F 46 69 78 65 64 28 76 29 26 26 28 67 3D 62 3E 72 3F 2D 28 62 2D 72 29 3A 2D 28 70 2D 28 6B 2D 68 29 29 29 29 29 29 3A 30 3C 62 26 26 28 6B 3D 22 72 69 67 68 74 22 3D 3D 3D 0A 6D 2E 68 65 6D 69 73 70 68 65 72 65 3F 6E 3A 70 2C 67 3D 62 2C 6E 75 6C 6C 21 3D 3D 6B 26 26 28 70 3D 62 2C 62 3D 71 5B 6B 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 71 5B 6B 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2D 28 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 29 2C 62 2D 70 3C 72 26 26 28 68 3D 70 2C 6B 3D 66 28 6B 2C 68 2C 63 2B 31 29 2C 2B 6B 2E 74 6F 46 69 78 65 64 28 76 29 3C 2B 68 2E 74 6F 46 69 78 65 64 28 76 29 26 26 28 67 3D 62 3E 72 3F 62 2D 72 3A 70 2D 28 68 2D 6B 29 29 29 29 29 3B 67 26 26 28 63 3D 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 67 2C 62 3D 30 2C 62 3D 22 72 69 67 68 74 22 3D 3D 3D 6D 2E 68 65 6D 69 73 70 68 65 72 65 3F 78 2E 78 2B 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2C 32 29 2D 4D 61 74 68 2E 70 6F 77 28 63 2D 78 2E 79 2C 32 29 29 3A 78 2E 78 2D 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2C 32 29 2D 4D 61 74 68 2E 70 6F 77 28 63 2D 78 2E 79 2C 32 29 29 2C 6D 2E 6D 69 64 41 6E 67 6C 65 3E 4D 61 74 68 2E 50 49 2F 32 2D 74 26 26 6D 2E 6D 69 64 41 6E 67 6C 65 3C 4D 61 74 68 2E 50 49 2F 32 2B 74 3F 28 68 3D 28 61 2D 31 2B 71 2E 6C 65 6E 67 74 68 29 25 71 2E 6C 65 6E 67 74 68 2C 68 3D 71 5B 68 5D 2C 61 3D 0A 71 5B 28 61 2B 31 2B 71 2E 6C 65 6E 67 74 68 29 25 71 2E 6C 65 6E 67 74 68 5D 2C 22 6C 65 66 74 22 3D 3D 3D 6D 2E 68 65 6D 69 73 70 68 65 72 65 26 26 22 72 69 67 68 74 22 3D 3D 3D 68 2E 68 65 6D 69 73 70 68 65 72 65 26 26 62 3E 68 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 3F 62 3D 68 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 31 35 3A 22 72 69 67 68 74 22 3D 3D 3D 6D 2E 68 65 6D 69 73 70 68 65 72 65 26 26 28 22 6C 65 66 74 22 3D 3D 3D 61 2E 68 65 6D 69 73 70 68 65 72 65 26 26 62 3C 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 29 26 26 28 62 3D 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2B 31 35 29 29 3A 6D 2E 6D 69 64 41 6E 67 6C 65 3E 33 2A 4D 61 74 68 2E 50 49 2F 32 2D 74 26 26 6D 2E 6D 69 64 41 6E 67 6C 65 3C 33 2A 4D 61 74 68 2E 50 49 2F 32 2B 74 26 26 28 68 3D 28 61 2D 31 2B 71 2E 6C 65 6E 67 74 68 29 25 71 2E 6C 65 6E 67 74 68 2C 68 3D 71 5B 68 5D 2C 61 3D 71 5B 28 61 2B 31 2B 71 2E 6C 65 6E 67 74 68 29 25 71 2E 6C 65 6E 67 74 68 5D 2C 22 72 69 67 68 74 22 3D 3D 3D 6D 2E 68 65 6D 69 73 70 68 65 72 65 26 26 22 6C 65 66 74 22 3D 3D 3D 68 2E 68 65 6D 69 73 70 68 65 72 65 26 26 62 3C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 3F 62 3D 68 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2B 31 35 3A 22 6C 65 66 74 22 3D 3D 3D 6D 2E 68 65 6D 69 73 70 68 65 72 65 26 26 28 22 72 69 67 68 74 22 3D 3D 3D 61 2E 68 65 6D 69 73 70 68 65 72 65 26 26 0A 62 3E 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 29 26 26 28 62 3D 61 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 31 35 29 29 2C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3D 63 2C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 3D 62 2C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 3D 4D 61 74 68 2E 61 74 61 6E 32 28 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 78 2E 79 2C 6D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 78 2E 78 29 29 7D 72 65 74 75 72 6E 20 67 7D 66 75 6E 63 74 69 6F 6E 20 67 28 29 7B 76 61 72 20 61 3D 70 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 22 67 72 65 79 22 3B 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 67 72 65 79 22 3B 61 2E 66 6F 6E 74 3D 22 31 36 70 78 20 41 72 69 61 6C 22 3B 61 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 22 6D 69 64 64 6C 65 22 3B 66 6F 72 28 76 61 72 20 62 3D 61 3D 30 2C 63 3D 30 2C 67 3D 21 30 2C 62 3D 30 3B 31 30 3E 62 26 26 28 31 3E 62 7C 7C 30 3C 63 29 3B 62 2B 2B 29 7B 69 66 28 68 2E 72 61 64 69 75 73 7C 7C 21 68 2E 72 61 64 69 75 73 26 26 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 68 2E 69 6E 6E 65 72 52 61 64 69 75 73 26 26 6E 75 6C 6C 21 3D 3D 68 2E 69 6E 6E 65 72 52 61 64 69 75 73 26 26 7A 2D 63 3C 3D 41 29 67 3D 21 31 3B 67 26 26 28 7A 2D 3D 63 29 3B 63 3D 30 3B 69 66 28 22 69 6E 73 69 64 65 22 21 3D 3D 68 2E 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 29 7B 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 3D 0A 7A 2A 73 3B 66 6F 72 28 61 3D 30 3B 61 3C 6C 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 7B 76 61 72 20 6B 3D 71 5B 61 5D 3B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 3D 78 2E 78 2B 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2A 4D 61 74 68 2E 63 6F 73 28 6B 2E 6D 69 64 41 6E 67 6C 65 29 3B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3D 78 2E 79 2B 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2A 4D 61 74 68 2E 73 69 6E 28 6B 2E 6D 69 64 41 6E 67 6C 65 29 3B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 3D 6B 2E 6D 69 64 41 6E 67 6C 65 3B 6B 2E 72 61 64 69 75 73 3D 7A 3B 6B 2E 70 65 72 63 65 6E 74 49 6E 6E 65 72 52 61 64 69 75 73 3D 44 7D 66 6F 72 28 76 61 72 20 74 2C 77 2C 61 3D 30 3B 61 3C 6C 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 7B 76 61 72 20 6B 3D 71 5B 61 5D 2C 75 3D 65 28 61 29 3B 69 66 28 6E 75 6C 6C 21 3D 3D 75 29 7B 74 3D 71 5B 61 5D 3B 77 3D 71 5B 75 5D 3B 76 61 72 20 79 3D 30 2C 79 3D 64 28 74 2C 77 29 2D 72 3B 69 66 28 30 3E 79 29 7B 66 6F 72 28 76 61 72 20 42 3D 77 3D 30 2C 43 3D 30 3B 43 3C 6C 2E 6C 65 6E 67 74 68 3B 43 2B 2B 29 43 21 3D 3D 61 26 26 71 5B 43 5D 2E 68 65 6D 69 73 70 68 65 72 65 3D 3D 3D 6B 2E 68 65 6D 69 73 70 68 65 72 65 26 26 28 71 5B 43 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3F 77 2B 2B 3A 42 2B 2B 29 3B 77 3D 79 2F 28 77 2B 42 7C 7C 31 29 2A 42 3B 76 61 72 20 42 3D 2D 31 2A 28 79 2D 77 29 2C 0A 45 3D 43 3D 30 3B 22 72 69 67 68 74 22 3D 3D 3D 6B 2E 68 65 6D 69 73 70 68 65 72 65 3F 28 43 3D 66 28 61 2C 77 29 2C 42 3D 2D 31 2A 28 79 2D 43 29 2C 45 3D 66 28 75 2C 42 29 2C 2B 45 2E 74 6F 46 69 78 65 64 28 76 29 3C 2B 42 2E 74 6F 46 69 78 65 64 28 76 29 26 26 2B 43 2E 74 6F 46 69 78 65 64 28 76 29 3C 3D 2B 77 2E 74 6F 46 69 78 65 64 28 76 29 26 26 66 28 61 2C 2D 28 42 2D 45 29 29 29 3A 28 43 3D 66 28 75 2C 77 29 2C 42 3D 2D 31 2A 28 79 2D 43 29 2C 45 3D 66 28 61 2C 42 29 2C 2B 45 2E 74 6F 46 69 78 65 64 28 76 29 3C 2B 42 2E 74 6F 46 69 78 65 64 28 76 29 26 26 2B 43 2E 74 6F 46 69 78 65 64 28 76 29 3C 3D 2B 77 2E 74 6F 46 69 78 65 64 28 76 29 26 26 66 28 75 2C 2D 28 42 2D 45 29 29 29 7D 7D 7D 7D 65 6C 73 65 20 66 6F 72 28 61 3D 30 3B 61 3C 6C 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 6B 3D 71 5B 61 5D 2C 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 3D 22 70 69 65 22 3D 3D 3D 68 2E 74 79 70 65 3F 30 2E 37 2A 7A 3A 30 2E 38 2A 7A 2C 75 3D 78 2E 78 2B 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2A 4D 61 74 68 2E 63 6F 73 28 6B 2E 6D 69 64 41 6E 67 6C 65 29 2C 77 3D 78 2E 79 2B 69 6E 64 65 78 4C 61 62 65 6C 52 61 64 69 75 73 2A 4D 61 74 68 2E 73 69 6E 28 6B 2E 6D 69 64 41 6E 67 6C 65 29 2C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 3D 75 2C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 3D 77 3B 66 6F 72 28 61 3D 30 3B 61 3C 6C 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 69 66 28 6B 3D 71 5B 61 5D 2C 75 3D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 2C 0A 30 21 3D 3D 75 2E 68 65 69 67 68 74 26 26 30 21 3D 3D 75 2E 77 69 64 74 68 29 75 3D 75 3D 30 2C 22 72 69 67 68 74 22 3D 3D 3D 6B 2E 68 65 6D 69 73 70 68 65 72 65 3F 28 75 3D 6E 2E 78 32 2D 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2B 6D 29 2C 75 2A 3D 2D 31 29 3A 75 3D 6E 2E 78 31 2D 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2D 6D 29 2C 30 3C 75 26 26 28 21 67 26 26 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 26 26 28 77 3D 22 72 69 67 68 74 22 3D 3D 3D 6B 2E 68 65 6D 69 73 70 68 65 72 65 3F 6E 2E 78 32 2D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 3A 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 6E 2E 78 31 2C 30 2E 33 2A 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 6D 61 78 57 69 64 74 68 3E 77 3F 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 3D 22 22 3A 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 6D 61 78 57 69 64 74 68 3D 30 2E 38 35 2A 77 2C 30 2E 33 2A 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 6D 61 78 57 69 64 74 68 3C 77 26 26 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 3D 22 72 69 67 68 74 22 3D 3D 3D 6B 2E 68 65 6D 69 73 70 68 65 72 65 3F 32 3A 2D 32 29 29 2C 4D 61 74 68 2E 61 62 73 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 0A 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2D 78 2E 79 29 3C 7A 7C 7C 4D 61 74 68 2E 61 62 73 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2D 78 2E 79 29 3C 7A 29 26 26 28 75 2F 3D 4D 61 74 68 2E 61 62 73 28 4D 61 74 68 2E 63 6F 73 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 29 29 2C 39 3C 75 26 26 28 75 2A 3D 30 2E 33 29 2C 75 3E 63 26 26 28 63 3D 75 29 29 2C 75 3D 75 3D 30 2C 30 3C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 26 26 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 3C 4D 61 74 68 2E 50 49 3F 28 75 3D 6E 2E 79 32 2D 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2B 35 29 2C 75 2A 3D 2D 31 29 3A 75 3D 6E 2E 79 31 2D 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2D 35 29 2C 30 3C 75 26 26 28 21 67 26 26 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 26 26 28 77 3D 30 3C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 26 26 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 3C 4D 61 74 68 2E 50 49 3F 2D 31 3A 31 2C 30 3D 3D 3D 66 28 61 2C 75 2A 77 29 26 26 66 28 61 2C 32 2A 77 29 29 2C 4D 61 74 68 2E 61 62 73 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 0A 78 2E 78 29 3C 7A 26 26 28 75 2F 3D 4D 61 74 68 2E 61 62 73 28 4D 61 74 68 2E 73 69 6E 28 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 41 6E 67 6C 65 29 29 2C 39 3C 75 26 26 28 75 2A 3D 30 2E 33 29 2C 75 3E 63 26 26 28 63 3D 75 29 29 29 3B 76 61 72 20 46 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 66 6F 72 28 76 61 72 20 64 3D 5B 5D 2C 65 3D 30 3B 64 2E 70 75 73 68 28 71 5B 62 5D 29 2C 62 21 3D 3D 63 3B 62 3D 28 62 2B 31 2B 6C 2E 6C 65 6E 67 74 68 29 25 6C 2E 6C 65 6E 67 74 68 29 3B 64 2E 73 6F 72 74 28 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 72 65 74 75 72 6E 20 61 2E 79 2D 62 2E 79 7D 29 3B 66 6F 72 28 62 3D 30 3B 62 3C 64 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 69 66 28 63 3D 64 5B 62 5D 2C 65 3C 30 2E 37 2A 61 29 65 2B 3D 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 74 65 78 74 3D 22 22 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 3D 22 22 2C 63 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 3B 65 6C 73 65 20 62 72 65 61 6B 7D 3B 28 66 75 6E 63 74 69 6F 6E 28 29 7B 66 6F 72 28 76 61 72 20 61 3D 2D 31 2C 62 3D 2D 31 2C 63 3D 30 2C 66 3D 21 31 2C 67 3D 30 3B 67 3C 6C 2E 6C 65 6E 67 74 68 3B 67 2B 2B 29 69 66 28 66 3D 21 31 2C 74 3D 71 5B 67 5D 2C 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 29 7B 76 61 72 20 68 3D 65 28 67 29 3B 69 66 28 6E 75 6C 6C 21 3D 3D 68 29 7B 76 61 72 20 6B 3D 71 5B 68 5D 3B 79 3D 30 3B 0A 79 3D 64 28 74 2C 6B 29 3B 76 61 72 20 6E 3B 69 66 28 6E 3D 30 3E 79 29 7B 6E 3D 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 3B 76 61 72 20 70 3D 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 72 3D 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 73 3D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 2C 77 3D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2C 76 3D 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 79 2B 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 3B 6E 3D 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2B 74 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 3C 6B 2E 69 6E 64 65 78 4C 61 62 65 6C 54 65 78 74 42 6C 6F 63 6B 2E 78 2D 6D 7C 7C 6E 3E 77 2B 6D 7C 7C 70 3E 76 2B 6D 7C 7C 72 3C 73 2D 6D 3F 21 31 3A 21 30 7D 6E 3F 28 30 3E 61 26 26 28 61 3D 67 29 2C 68 21 3D 3D 61 26 26 28 62 3D 68 2C 63 2B 3D 2D 79 29 2C 30 3D 3D 3D 67 25 4D 61 74 68 2E 6D 61 78 28 6C 2E 6C 65 6E 67 74 68 2F 0A 31 30 2C 33 29 26 26 28 66 3D 21 30 29 29 3A 66 3D 21 30 3B 66 26 26 28 30 3C 63 26 26 30 3C 3D 61 26 26 30 3C 3D 62 29 26 26 28 46 28 63 2C 61 2C 62 29 2C 62 3D 61 3D 2D 31 2C 63 3D 30 29 7D 7D 30 3C 63 26 26 46 28 63 2C 61 2C 62 29 7D 29 28 29 7D 7D 66 75 6E 63 74 69 6F 6E 20 6B 28 29 7B 70 2E 70 6C 6F 74 41 72 65 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 72 65 73 65 74 28 29 3B 70 2E 5F 74 69 74 6C 65 26 26 28 70 2E 5F 74 69 74 6C 65 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 7C 7C 22 63 65 6E 74 65 72 22 3D 3D 3D 70 2E 5F 74 69 74 6C 65 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 26 26 22 63 65 6E 74 65 72 22 3D 3D 3D 70 2E 5F 74 69 74 6C 65 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 29 26 26 70 2E 5F 74 69 74 6C 65 2E 72 65 6E 64 65 72 28 29 3B 69 66 28 70 2E 73 75 62 74 69 74 6C 65 73 29 66 6F 72 28 76 61 72 20 61 3D 30 3B 61 3C 70 2E 73 75 62 74 69 74 6C 65 73 2E 6C 65 6E 67 74 68 3B 61 2B 2B 29 7B 76 61 72 20 62 3D 70 2E 73 75 62 74 69 74 6C 65 73 5B 61 5D 3B 28 62 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 7C 7C 22 63 65 6E 74 65 72 22 3D 3D 3D 62 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 26 26 22 63 65 6E 74 65 72 22 3D 3D 3D 62 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 29 26 26 62 2E 72 65 6E 64 65 72 28 29 7D 70 2E 6C 65 67 65 6E 64 26 26 28 70 2E 6C 65 67 65 6E 64 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 7C 7C 22 63 65 6E 74 65 72 22 3D 3D 3D 70 2E 6C 65 67 65 6E 64 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 26 26 0A 22 63 65 6E 74 65 72 22 3D 3D 3D 70 2E 6C 65 67 65 6E 64 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 29 26 26 70 2E 6C 65 67 65 6E 64 2E 72 65 6E 64 65 72 28 29 7D 76 61 72 20 70 3D 74 68 69 73 3B 69 66 28 21 28 30 3E 3D 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 2E 6C 65 6E 67 74 68 29 29 7B 76 61 72 20 68 3D 74 68 69 73 2E 64 61 74 61 5B 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 65 73 5B 30 5D 5D 2C 6C 3D 68 2E 64 61 74 61 50 6F 69 6E 74 73 2C 6D 3D 31 30 2C 6E 3D 74 68 69 73 2E 70 6C 6F 74 41 72 65 61 2C 71 3D 5B 5D 2C 72 3D 32 2C 73 3D 31 2E 33 2C 74 3D 32 30 2F 31 38 30 2A 4D 61 74 68 2E 50 49 2C 76 3D 36 2C 78 3D 7B 78 3A 28 6E 2E 78 32 2B 6E 2E 78 31 29 2F 32 2C 79 3A 28 6E 2E 79 32 2B 6E 2E 79 31 29 2F 32 7D 2C 75 3D 30 3B 61 3D 21 31 3B 66 6F 72 28 76 61 72 20 79 3D 30 3B 79 3C 6C 2E 6C 65 6E 67 74 68 3B 79 2B 2B 29 75 2B 3D 4D 61 74 68 2E 61 62 73 28 6C 5B 79 5D 2E 79 29 2C 21 61 26 26 28 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 6C 5B 79 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 26 26 6E 75 6C 6C 21 3D 3D 6C 5B 79 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 26 26 30 3C 6C 5B 79 5D 2E 69 6E 64 65 78 4C 61 62 65 6C 2E 74 6F 53 74 72 69 6E 67 28 29 2E 6C 65 6E 67 74 68 29 26 26 28 61 3D 21 30 29 2C 21 61 26 26 28 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 6C 5B 79 5D 2E 6C 61 62 65 6C 26 26 6E 75 6C 6C 21 3D 3D 6C 5B 79 5D 2E 6C 61 62 65 6C 26 26 30 3C 6C 5B 79 5D 2E 6C 61 62 65 6C 2E 74 6F 53 74 72 69 6E 67 28 29 2E 6C 65 6E 67 74 68 29 26 26 0A 28 61 3D 21 30 29 3B 69 66 28 30 21 3D 3D 75 29 7B 61 3D 61 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 68 2E 69 6E 64 65 78 4C 61 62 65 6C 26 26 6E 75 6C 6C 21 3D 3D 68 2E 69 6E 64 65 78 4C 61 62 65 6C 26 26 30 3C 68 2E 69 6E 64 65 78 4C 61 62 65 6C 2E 74 6F 53 74 72 69 6E 67 28 29 2E 6C 65 6E 67 74 68 3B 76 61 72 20 7A 3D 22 69 6E 73 69 64 65 22 21 3D 3D 68 2E 69 6E 64 65 78 4C 61 62 65 6C 50 6C 61 63 65 6D 65 6E 74 26 26 61 3F 30 2E 37 35 2A 4D 61 74 68 2E 6D 69 6E 28 6E 2E 77 69 64 74 68 2C 6E 2E 68 65 69 67 68 74 29 2F 32 3A 30 2E 39 32 2A 4D 61 74 68 2E 6D 69 6E 28 6E 2E 77 69 64 74 68 2C 6E 2E 68 65 69 67 68 74 29 2F 32 3B 68 2E 72 61 64 69 75 73 26 26 28 7A 3D 41 61 28 68 2E 72 61 64 69 75 73 2C 7A 29 29 3B 76 61 72 20 41 3D 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 68 2E 69 6E 6E 65 72 52 61 64 69 75 73 26 26 6E 75 6C 6C 21 3D 3D 68 2E 69 6E 6E 65 72 52 61 64 69 75 73 3F 41 61 28 68 2E 69 6E 6E 65 72 52 61 64 69 75 73 2C 7A 29 3A 30 2E 37 2A 7A 2C 44 3D 4D 61 74 68 2E 6D 69 6E 28 41 2F 7A 2C 28 7A 2D 31 29 2F 7A 29 3B 74 68 69 73 2E 70 69 65 44 6F 75 67 68 6E 75 74 43 6C 69 63 6B 48 61 6E 64 6C 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 70 2E 69 73 41 6E 69 6D 61 74 69 6E 67 7C 7C 28 61 3D 61 2E 64 61 74 61 50 6F 69 6E 74 2C 61 2E 65 78 70 6C 6F 64 65 64 3D 61 2E 65 78 70 6C 6F 64 65 64 3F 21 31 3A 21 30 2C 31 3C 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 26 26 70 2E 5F 61 6E 69 6D 61 74 6F 72 2E 61 6E 69 6D 61 74 65 28 30 2C 0A 35 30 30 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 63 28 61 29 3B 6B 28 29 7D 29 29 7D 3B 62 28 29 3B 67 28 29 3B 67 28 29 3B 67 28 29 3B 67 28 29 3B 74 68 69 73 2E 64 69 73 61 62 6C 65 54 6F 6F 6C 54 69 70 3D 21 30 3B 74 68 69 73 2E 5F 61 6E 69 6D 61 74 6F 72 2E 61 6E 69 6D 61 74 65 28 30 2C 74 68 69 73 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 3F 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 44 75 72 61 74 69 6F 6E 3A 30 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 70 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 3B 62 2E 63 6C 65 61 72 52 65 63 74 28 6E 2E 78 31 2C 6E 2E 79 31 2C 6E 2E 77 69 64 74 68 2C 6E 2E 68 65 69 67 68 74 29 3B 62 2E 66 69 6C 6C 53 74 79 6C 65 3D 70 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3B 62 2E 66 69 6C 6C 52 65 63 74 28 6E 2E 78 31 2C 6E 2E 79 31 2C 6E 2E 77 69 64 74 68 2C 6E 2E 68 65 69 67 68 74 29 3B 61 3D 71 5B 30 5D 2E 73 74 61 72 74 41 6E 67 6C 65 2B 32 2A 4D 61 74 68 2E 50 49 2A 61 3B 66 6F 72 28 62 3D 30 3B 62 3C 6C 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 7B 76 61 72 20 63 3D 30 3D 3D 3D 62 3F 71 5B 62 5D 2E 73 74 61 72 74 41 6E 67 6C 65 3A 64 2C 64 3D 63 2B 28 71 5B 62 5D 2E 65 6E 64 41 6E 67 6C 65 2D 71 5B 62 5D 2E 73 74 61 72 74 41 6E 67 6C 65 29 2C 65 3D 21 31 3B 64 3E 61 26 26 28 64 3D 61 2C 65 3D 21 30 29 3B 76 61 72 20 66 3D 6C 5B 62 5D 2E 63 6F 6C 6F 72 3F 6C 5B 62 5D 2E 63 6F 6C 6F 72 3A 68 2E 5F 63 6F 6C 6F 72 53 65 74 5B 62 25 68 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 64 3E 63 26 26 73 61 28 70 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 0A 71 5B 62 5D 2E 63 65 6E 74 65 72 2C 71 5B 62 5D 2E 72 61 64 69 75 73 2C 66 2C 68 2E 74 79 70 65 2C 63 2C 64 2C 68 2E 66 69 6C 6C 4F 70 61 63 69 74 79 2C 71 5B 62 5D 2E 70 65 72 63 65 6E 74 49 6E 6E 65 72 52 61 64 69 75 73 29 3B 69 66 28 65 29 62 72 65 61 6B 7D 6B 28 29 7D 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 70 2E 64 69 73 61 62 6C 65 54 6F 6F 6C 54 69 70 3D 21 31 3B 70 2E 5F 61 6E 69 6D 61 74 6F 72 2E 61 6E 69 6D 61 74 65 28 30 2C 70 2E 61 6E 69 6D 61 74 65 64 52 65 6E 64 65 72 3F 35 30 30 3A 30 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 63 28 61 29 3B 6B 28 29 7D 29 7D 29 7D 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 3D 6E 75 6C 6C 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 71 75 65 73 74 41 6E 69 6D 46 72 61 6D 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 72 65 74 75 72 6E 20 77 69 6E 64 6F 77 2E 72 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 77 65 62 6B 69 74 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 6D 6F 7A 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 6F 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 6D 73 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 77 69 6E 64 6F 77 2E 73 65 74 54 69 6D 65 6F 75 74 28 61 2C 31 45 33 2F 36 30 29 7D 7D 28 29 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 63 61 6E 63 65 6C 52 65 71 75 65 73 74 41 6E 69 6D 46 72 61 6D 65 3D 0A 77 69 6E 64 6F 77 2E 63 61 6E 63 65 6C 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 77 65 62 6B 69 74 43 61 6E 63 65 6C 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 6D 6F 7A 43 61 6E 63 65 6C 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 6F 43 61 6E 63 65 6C 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 77 69 6E 64 6F 77 2E 6D 73 43 61 6E 63 65 6C 52 65 71 75 65 73 74 41 6E 69 6D 61 74 69 6F 6E 46 72 61 6D 65 7C 7C 63 6C 65 61 72 54 69 6D 65 6F 75 74 3B 5A 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 67 69 73 74 65 72 53 70 61 63 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 22 74 6F 70 22 3D 3D 3D 61 3F 74 68 69 73 2E 5F 74 6F 70 4F 63 63 75 70 69 65 64 2B 3D 62 2E 68 65 69 67 68 74 3A 22 62 6F 74 74 6F 6D 22 3D 3D 3D 61 3F 74 68 69 73 2E 5F 62 6F 74 74 6F 6D 4F 63 63 75 70 69 65 64 2B 3D 62 2E 68 65 69 67 68 74 3A 22 6C 65 66 74 22 3D 3D 3D 61 3F 74 68 69 73 2E 5F 6C 65 66 74 4F 63 63 75 70 69 65 64 2B 3D 62 2E 77 69 64 74 68 3A 22 72 69 67 68 74 22 3D 3D 3D 61 26 26 28 74 68 69 73 2E 5F 72 69 67 68 74 4F 63 63 75 70 69 65 64 2B 3D 62 2E 77 69 64 74 68 29 7D 3B 5A 2E 70 72 6F 74 6F 74 79 70 65 2E 75 6E 52 65 67 69 73 74 65 72 53 70 61 63 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 22 74 6F 70 22 3D 3D 3D 61 3F 74 68 69 73 2E 5F 74 6F 70 4F 63 63 75 70 69 65 64 2D 3D 62 2E 68 65 69 67 68 74 3A 22 62 6F 74 74 6F 6D 22 3D 3D 3D 61 3F 74 68 69 73 2E 5F 62 6F 74 74 6F 6D 4F 63 63 75 70 69 65 64 2D 3D 0A 62 2E 68 65 69 67 68 74 3A 22 6C 65 66 74 22 3D 3D 3D 61 3F 74 68 69 73 2E 5F 6C 65 66 74 4F 63 63 75 70 69 65 64 2D 3D 62 2E 77 69 64 74 68 3A 22 72 69 67 68 74 22 3D 3D 3D 61 26 26 28 74 68 69 73 2E 5F 72 69 67 68 74 4F 63 63 75 70 69 65 64 2D 3D 62 2E 77 69 64 74 68 29 7D 3B 5A 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 46 72 65 65 53 70 61 63 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 72 65 74 75 72 6E 7B 78 31 3A 74 68 69 73 2E 5F 78 31 2B 74 68 69 73 2E 5F 6C 65 66 74 4F 63 63 75 70 69 65 64 2C 79 31 3A 74 68 69 73 2E 5F 79 31 2B 74 68 69 73 2E 5F 74 6F 70 4F 63 63 75 70 69 65 64 2C 78 32 3A 74 68 69 73 2E 5F 78 32 2D 74 68 69 73 2E 5F 72 69 67 68 74 4F 63 63 75 70 69 65 64 2C 79 32 3A 74 68 69 73 2E 5F 79 32 2D 74 68 69 73 2E 5F 62 6F 74 74 6F 6D 4F 63 63 75 70 69 65 64 2C 77 69 64 74 68 3A 74 68 69 73 2E 5F 78 32 2D 74 68 69 73 2E 5F 78 31 2D 74 68 69 73 2E 5F 72 69 67 68 74 4F 63 63 75 70 69 65 64 2D 74 68 69 73 2E 5F 6C 65 66 74 4F 63 63 75 70 69 65 64 2C 68 65 69 67 68 74 3A 74 68 69 73 2E 5F 79 32 2D 74 68 69 73 2E 5F 79 31 2D 74 68 69 73 2E 5F 62 6F 74 74 6F 6D 4F 63 63 75 70 69 65 64 2D 74 68 69 73 2E 5F 74 6F 70 4F 63 63 75 70 69 65 64 7D 7D 3B 5A 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 73 65 74 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 5F 72 69 67 68 74 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 6C 65 66 74 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 62 6F 74 74 6F 6D 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 74 6F 70 4F 63 63 75 70 69 65 64 3D 74 68 69 73 2E 5F 70 61 64 64 69 6E 67 7D 3B 0A 4F 28 48 2C 47 29 3B 48 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 61 26 26 74 68 69 73 2E 63 74 78 2E 73 61 76 65 28 29 3B 76 61 72 20 62 3D 74 68 69 73 2E 63 74 78 2E 66 6F 6E 74 3B 74 68 69 73 2E 63 74 78 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 74 68 69 73 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3B 76 61 72 20 63 3D 30 3B 74 68 69 73 2E 5F 69 73 44 69 72 74 79 26 26 74 68 69 73 2E 6D 65 61 73 75 72 65 54 65 78 74 28 74 68 69 73 2E 63 74 78 29 3B 74 68 69 73 2E 63 74 78 2E 74 72 61 6E 73 6C 61 74 65 28 74 68 69 73 2E 78 2C 74 68 69 73 2E 79 2B 63 29 3B 22 6D 69 64 64 6C 65 22 3D 3D 3D 74 68 69 73 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 26 26 28 63 3D 2D 74 68 69 73 2E 5F 6C 69 6E 65 48 65 69 67 68 74 2F 32 29 3B 74 68 69 73 2E 63 74 78 2E 66 6F 6E 74 3D 74 68 69 73 2E 5F 67 65 74 46 6F 6E 74 53 74 72 69 6E 67 28 29 3B 74 68 69 73 2E 63 74 78 2E 72 6F 74 61 74 65 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 61 6E 67 6C 65 29 3B 76 61 72 20 64 3D 30 2C 65 3D 74 68 69 73 2E 70 61 64 64 69 6E 67 2C 66 3D 6E 75 6C 6C 3B 28 30 3C 74 68 69 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 26 26 74 68 69 73 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 7C 7C 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 29 26 26 74 68 69 73 2E 63 74 78 2E 72 6F 75 6E 64 52 65 63 74 28 30 2C 63 2C 74 68 69 73 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 2C 74 68 69 73 2E 63 6F 72 6E 65 72 52 61 64 69 75 73 2C 74 68 69 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2C 0A 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 2C 74 68 69 73 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 29 3B 74 68 69 73 2E 63 74 78 2E 66 69 6C 6C 53 74 79 6C 65 3D 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3B 66 6F 72 28 63 3D 30 3B 63 3C 74 68 69 73 2E 5F 77 72 61 70 70 65 64 54 65 78 74 2E 6C 69 6E 65 73 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 66 3D 74 68 69 73 2E 5F 77 72 61 70 70 65 64 54 65 78 74 2E 6C 69 6E 65 73 5B 63 5D 2C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 64 3D 74 68 69 73 2E 77 69 64 74 68 2D 66 2E 77 69 64 74 68 2D 74 68 69 73 2E 70 61 64 64 69 6E 67 3A 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 64 3D 74 68 69 73 2E 70 61 64 64 69 6E 67 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 26 26 28 64 3D 28 74 68 69 73 2E 77 69 64 74 68 2D 32 2A 74 68 69 73 2E 70 61 64 64 69 6E 67 29 2F 32 2D 66 2E 77 69 64 74 68 2F 32 2B 74 68 69 73 2E 70 61 64 64 69 6E 67 29 2C 74 68 69 73 2E 63 74 78 2E 66 69 6C 6C 54 65 78 74 28 66 2E 74 65 78 74 2C 64 2C 65 29 2C 65 2B 3D 66 2E 68 65 69 67 68 74 3B 74 68 69 73 2E 63 74 78 2E 66 6F 6E 74 3D 62 3B 61 26 26 74 68 69 73 2E 63 74 78 2E 72 65 73 74 6F 72 65 28 29 7D 3B 48 2E 70 72 6F 74 6F 74 79 70 65 2E 73 65 74 54 65 78 74 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 74 68 69 73 2E 74 65 78 74 3D 61 3B 74 68 69 73 2E 5F 69 73 44 69 72 74 79 3D 21 30 3B 74 68 69 73 2E 5F 77 72 61 70 70 65 64 54 65 78 74 3D 0A 6E 75 6C 6C 7D 3B 48 2E 70 72 6F 74 6F 74 79 70 65 2E 6D 65 61 73 75 72 65 54 65 78 74 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 57 69 64 74 68 29 74 68 72 6F 77 22 50 6C 65 61 73 65 20 73 65 74 20 6D 61 78 57 69 64 74 68 20 61 6E 64 20 68 65 69 67 68 74 20 66 6F 72 20 54 65 78 74 42 6C 6F 63 6B 22 3B 74 68 69 73 2E 5F 77 72 61 70 54 65 78 74 28 74 68 69 73 2E 63 74 78 29 3B 74 68 69 73 2E 5F 69 73 44 69 72 74 79 3D 21 31 3B 72 65 74 75 72 6E 7B 77 69 64 74 68 3A 74 68 69 73 2E 77 69 64 74 68 2C 68 65 69 67 68 74 3A 74 68 69 73 2E 68 65 69 67 68 74 7D 7D 3B 48 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 67 65 74 4C 69 6E 65 57 69 74 68 57 69 64 74 68 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 61 3D 53 74 72 69 6E 67 28 61 29 3B 69 66 28 21 61 29 72 65 74 75 72 6E 7B 74 65 78 74 3A 22 22 2C 77 69 64 74 68 3A 30 7D 3B 76 61 72 20 64 3D 63 3D 30 2C 65 3D 61 2E 6C 65 6E 67 74 68 2D 31 2C 66 3D 49 6E 66 69 6E 69 74 79 3B 66 6F 72 28 74 68 69 73 2E 63 74 78 2E 66 6F 6E 74 3D 74 68 69 73 2E 5F 67 65 74 46 6F 6E 74 53 74 72 69 6E 67 28 29 3B 64 3C 3D 65 3B 29 7B 76 61 72 20 66 3D 4D 61 74 68 2E 66 6C 6F 6F 72 28 28 64 2B 65 29 2F 32 29 2C 67 3D 61 2E 73 75 62 73 74 72 28 30 2C 66 2B 31 29 3B 63 3D 74 68 69 73 2E 63 74 78 2E 6D 65 61 73 75 72 65 54 65 78 74 28 67 29 2E 77 69 64 74 68 3B 69 66 28 63 3C 62 29 64 3D 66 2B 31 3B 65 6C 73 65 20 69 66 28 63 3E 62 29 65 3D 66 2D 31 3B 65 6C 73 65 20 62 72 65 61 6B 7D 63 3E 62 26 26 31 3C 67 2E 6C 65 6E 67 74 68 26 26 0A 28 67 3D 67 2E 73 75 62 73 74 72 28 30 2C 67 2E 6C 65 6E 67 74 68 2D 31 29 2C 63 3D 74 68 69 73 2E 63 74 78 2E 6D 65 61 73 75 72 65 54 65 78 74 28 67 29 2E 77 69 64 74 68 29 3B 62 3D 21 30 3B 69 66 28 67 2E 6C 65 6E 67 74 68 3D 3D 3D 61 2E 6C 65 6E 67 74 68 7C 7C 22 20 22 3D 3D 3D 61 5B 67 2E 6C 65 6E 67 74 68 5D 29 62 3D 21 31 3B 62 26 26 28 61 3D 67 2E 73 70 6C 69 74 28 22 20 22 29 2C 31 3C 61 2E 6C 65 6E 67 74 68 26 26 61 2E 70 6F 70 28 29 2C 67 3D 61 2E 6A 6F 69 6E 28 22 20 22 29 2C 63 3D 74 68 69 73 2E 63 74 78 2E 6D 65 61 73 75 72 65 54 65 78 74 28 67 29 2E 77 69 64 74 68 29 3B 72 65 74 75 72 6E 7B 74 65 78 74 3A 67 2C 77 69 64 74 68 3A 63 7D 7D 3B 48 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 77 72 61 70 54 65 78 74 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 6E 65 77 20 53 74 72 69 6E 67 28 24 28 53 74 72 69 6E 67 28 74 68 69 73 2E 74 65 78 74 29 29 29 2C 62 3D 5B 5D 2C 63 3D 74 68 69 73 2E 63 74 78 2E 66 6F 6E 74 2C 64 3D 30 2C 65 3D 30 3B 66 6F 72 28 74 68 69 73 2E 63 74 78 2E 66 6F 6E 74 3D 74 68 69 73 2E 5F 67 65 74 46 6F 6E 74 53 74 72 69 6E 67 28 29 3B 30 3C 61 2E 6C 65 6E 67 74 68 3B 29 7B 76 61 72 20 66 3D 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 2D 32 2A 74 68 69 73 2E 70 61 64 64 69 6E 67 2C 67 3D 74 68 69 73 2E 5F 67 65 74 4C 69 6E 65 57 69 74 68 57 69 64 74 68 28 61 2C 74 68 69 73 2E 6D 61 78 57 69 64 74 68 2D 32 2A 74 68 69 73 2E 70 61 64 64 69 6E 67 2C 21 31 29 3B 67 2E 68 65 69 67 68 74 3D 74 68 69 73 2E 5F 6C 69 6E 65 48 65 69 67 68 74 3B 62 2E 70 75 73 68 28 67 29 3B 0A 65 3D 4D 61 74 68 2E 6D 61 78 28 65 2C 67 2E 77 69 64 74 68 29 3B 64 2B 3D 67 2E 68 65 69 67 68 74 3B 61 3D 24 28 61 2E 73 6C 69 63 65 28 67 2E 74 65 78 74 2E 6C 65 6E 67 74 68 2C 61 2E 6C 65 6E 67 74 68 29 29 3B 66 26 26 64 3E 66 26 26 28 67 3D 62 2E 70 6F 70 28 29 2C 64 2D 3D 67 2E 68 65 69 67 68 74 29 7D 74 68 69 73 2E 5F 77 72 61 70 70 65 64 54 65 78 74 3D 7B 6C 69 6E 65 73 3A 62 2C 77 69 64 74 68 3A 65 2C 68 65 69 67 68 74 3A 64 7D 3B 74 68 69 73 2E 77 69 64 74 68 3D 65 2B 32 2A 74 68 69 73 2E 70 61 64 64 69 6E 67 3B 74 68 69 73 2E 68 65 69 67 68 74 3D 64 2B 32 2A 74 68 69 73 2E 70 61 64 64 69 6E 67 3B 74 68 69 73 2E 63 74 78 2E 66 6F 6E 74 3D 63 7D 3B 48 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 67 65 74 46 6F 6E 74 53 74 72 69 6E 67 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3B 61 3D 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 53 74 79 6C 65 3F 74 68 69 73 2E 66 6F 6E 74 53 74 79 6C 65 2B 22 20 22 3A 22 22 29 3B 61 2B 3D 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 3F 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 2B 22 20 22 3A 22 22 3B 61 2B 3D 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 3F 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2B 22 70 78 20 22 3A 22 22 3B 76 61 72 20 62 3D 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 3F 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 2B 22 22 3A 22 22 3B 21 74 26 26 62 26 26 28 62 3D 62 2E 73 70 6C 69 74 28 22 2C 22 29 5B 30 5D 2C 22 27 22 21 3D 3D 62 5B 30 5D 26 26 27 22 27 21 3D 3D 62 5B 30 5D 26 26 28 62 3D 22 27 22 2B 62 2B 22 27 22 29 29 3B 0A 72 65 74 75 72 6E 20 61 2B 3D 62 7D 3B 4F 28 62 61 2C 47 29 3B 62 61 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 69 66 28 74 68 69 73 2E 74 65 78 74 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3F 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 3A 74 68 69 73 2E 63 68 61 72 74 2C 62 3D 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 67 65 74 46 72 65 65 53 70 61 63 65 28 29 2C 63 3D 62 2E 78 31 2C 64 3D 62 2E 79 31 2C 65 3D 30 2C 66 3D 30 2C 67 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 6D 65 6E 75 42 75 74 74 6F 6E 26 26 74 68 69 73 2E 63 68 61 72 74 2E 65 78 70 6F 72 74 45 6E 61 62 6C 65 64 26 26 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3F 32 32 3A 30 2C 6B 2C 70 3B 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 7C 7C 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3F 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3D 62 2E 77 69 64 74 68 2D 34 2D 67 2A 28 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 32 3A 31 29 29 2C 66 3D 30 2E 35 2A 62 2E 68 65 69 67 68 74 2D 74 68 69 73 2E 6D 61 72 67 69 6E 2D 32 2C 65 3D 30 29 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 26 26 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 7C 7C 0A 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3D 62 2E 68 65 69 67 68 74 2D 34 29 2C 66 3D 30 2E 35 2A 62 2E 77 69 64 74 68 2D 74 68 69 73 2E 6D 61 72 67 69 6E 2D 32 29 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 26 26 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 57 69 64 74 68 26 26 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3D 62 2E 77 69 64 74 68 2D 34 29 2C 66 3D 30 2E 35 2A 62 2E 68 65 69 67 68 74 2D 34 29 29 3B 74 68 69 73 2E 77 72 61 70 7C 7C 28 66 3D 4D 61 74 68 2E 6D 69 6E 28 66 2C 4D 61 74 68 2E 6D 61 78 28 31 2E 35 2A 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2C 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2B 32 2E 35 2A 74 68 69 73 2E 70 61 64 64 69 6E 67 29 29 29 3B 76 61 72 20 66 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 66 6F 6E 74 53 74 79 6C 65 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 2C 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3A 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 2C 0A 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 74 68 69 73 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 74 68 69 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 2C 6D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 6D 61 78 57 69 64 74 68 2C 6D 61 78 48 65 69 67 68 74 3A 66 2C 63 6F 72 6E 65 72 52 61 64 69 75 73 3A 74 68 69 73 2E 63 6F 72 6E 65 72 52 61 64 69 75 73 2C 74 65 78 74 3A 74 68 69 73 2E 74 65 78 74 2C 70 61 64 64 69 6E 67 3A 74 68 69 73 2E 70 61 64 64 69 6E 67 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 2C 68 3D 66 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 3B 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 7C 7C 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3F 28 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3F 28 64 3D 62 2E 79 31 2B 32 2C 70 3D 22 74 6F 70 22 29 3A 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 26 26 28 64 3D 62 2E 79 32 2D 32 2D 68 2E 68 65 69 67 68 74 2C 70 3D 22 62 6F 74 74 6F 6D 22 29 2C 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 63 3D 62 2E 78 31 2B 32 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 63 3D 62 2E 78 31 2B 62 2E 77 69 64 74 68 2F 32 2D 68 2E 77 69 64 74 68 2F 0A 32 3A 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 26 26 28 63 3D 62 2E 78 32 2D 32 2D 68 2E 77 69 64 74 68 2D 67 29 2C 6B 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 2C 74 68 69 73 2E 77 69 64 74 68 3D 68 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 3D 68 2E 68 65 69 67 68 74 29 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 26 26 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 28 63 3D 62 2E 78 31 2B 32 2C 64 3D 62 2E 79 32 2D 32 2D 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 2F 32 2D 68 2E 77 69 64 74 68 2F 32 29 2C 65 3D 2D 39 30 2C 70 3D 22 6C 65 66 74 22 2C 74 68 69 73 2E 77 69 64 74 68 3D 68 2E 68 65 69 67 68 74 2C 74 68 69 73 2E 68 65 69 67 68 74 3D 68 2E 77 69 64 74 68 29 3A 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 28 63 3D 62 2E 78 32 2D 32 2C 64 3D 62 2E 79 31 2B 32 2B 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 2F 32 2D 68 2E 77 69 64 74 68 2F 32 29 2C 65 3D 39 30 2C 70 3D 22 72 69 67 68 74 22 2C 74 68 69 73 2E 77 69 64 74 68 3D 68 2E 68 65 69 67 68 74 2C 74 68 69 73 2E 68 65 69 67 68 74 3D 68 2E 77 69 64 74 68 29 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 26 26 28 64 3D 61 2E 79 31 2B 28 61 2E 68 65 69 67 68 74 2F 32 2D 68 2E 68 65 69 67 68 74 2F 32 29 2C 63 3D 61 2E 78 31 2B 28 61 2E 77 69 64 74 68 2F 32 2D 0A 68 2E 77 69 64 74 68 2F 32 29 2C 70 3D 22 63 65 6E 74 65 72 22 2C 74 68 69 73 2E 77 69 64 74 68 3D 68 2E 77 69 64 74 68 2C 74 68 69 73 2E 68 65 69 67 68 74 3D 68 2E 68 65 69 67 68 74 29 2C 6B 3D 22 63 65 6E 74 65 72 22 29 3B 66 2E 78 3D 63 3B 66 2E 79 3D 64 3B 66 2E 61 6E 67 6C 65 3D 65 3B 66 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3D 6B 3B 66 2E 72 65 6E 64 65 72 28 21 30 29 3B 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 72 65 67 69 73 74 65 72 53 70 61 63 65 28 70 2C 7B 77 69 64 74 68 3A 74 68 69 73 2E 77 69 64 74 68 2B 28 22 6C 65 66 74 22 3D 3D 3D 70 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 70 3F 74 68 69 73 2E 6D 61 72 67 69 6E 2B 32 3A 30 29 2C 68 65 69 67 68 74 3A 74 68 69 73 2E 68 65 69 67 68 74 2B 28 22 74 6F 70 22 3D 3D 3D 70 7C 7C 22 62 6F 74 74 6F 6D 22 3D 3D 3D 70 3F 74 68 69 73 2E 6D 61 72 67 69 6E 2B 32 3A 30 29 7D 29 3B 74 68 69 73 2E 62 6F 75 6E 64 73 3D 7B 78 31 3A 63 2C 79 31 3A 64 2C 78 32 3A 63 2B 74 68 69 73 2E 77 69 64 74 68 2C 79 32 3A 64 2B 74 68 69 73 2E 68 65 69 67 68 74 7D 3B 74 68 69 73 2E 63 74 78 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 22 74 6F 70 22 7D 7D 3B 4F 28 6A 61 2C 47 29 3B 6A 61 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3D 62 61 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3B 4F 28 6B 61 2C 47 29 3B 6B 61 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 64 6F 63 6B 49 6E 73 69 64 65 50 6C 6F 74 41 72 65 61 3F 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 3A 0A 74 68 69 73 2E 63 68 61 72 74 2C 62 3D 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 67 65 74 46 72 65 65 53 70 61 63 65 28 29 2C 63 3D 6E 75 6C 6C 2C 64 3D 30 2C 65 3D 30 2C 66 3D 30 2C 67 3D 30 2C 6B 3D 5B 5D 2C 70 3D 5B 5D 3B 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 7C 7C 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3F 28 74 68 69 73 2E 6F 72 69 65 6E 74 61 74 69 6F 6E 3D 22 68 6F 72 69 7A 6F 6E 74 61 6C 22 2C 63 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 2C 66 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3A 30 2E 37 2A 62 2E 77 69 64 74 68 2C 67 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 3F 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 3A 30 2E 35 2A 62 2E 68 65 69 67 68 74 29 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 26 26 28 74 68 69 73 2E 6F 72 69 65 6E 74 61 74 69 6F 6E 3D 22 76 65 72 74 69 63 61 6C 22 2C 63 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 2C 66 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3F 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3A 30 2E 35 2A 62 2E 77 69 64 74 68 2C 67 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 3F 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 3A 30 2E 37 2A 62 2E 68 65 69 67 68 74 29 3B 66 6F 72 28 76 61 72 20 68 3D 30 3B 68 3C 74 68 69 73 2E 64 61 74 61 53 65 72 69 65 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 76 61 72 20 6C 3D 0A 74 68 69 73 2E 64 61 74 61 53 65 72 69 65 73 5B 68 5D 3B 69 66 28 22 70 69 65 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 64 6F 75 67 68 6E 75 74 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 66 75 6E 6E 65 6C 22 21 3D 3D 6C 2E 74 79 70 65 29 7B 76 61 72 20 6D 3D 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 54 79 70 65 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 54 79 70 65 3A 22 6C 69 6E 65 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 73 74 65 70 4C 69 6E 65 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 73 70 6C 69 6E 65 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 73 63 61 74 74 65 72 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 62 75 62 62 6C 65 22 21 3D 3D 6C 2E 74 79 70 65 7C 7C 21 6C 2E 6D 61 72 6B 65 72 54 79 70 65 3F 54 2E 67 65 74 44 65 66 61 75 6C 74 4C 65 67 65 6E 64 4D 61 72 6B 65 72 28 6C 2E 74 79 70 65 29 3A 6C 2E 6D 61 72 6B 65 72 54 79 70 65 2C 6E 3D 6C 2E 6C 65 67 65 6E 64 54 65 78 74 3F 6C 2E 6C 65 67 65 6E 64 54 65 78 74 3A 74 68 69 73 2E 69 74 65 6D 54 65 78 74 46 6F 72 6D 61 74 74 65 72 3F 74 68 69 73 2E 69 74 65 6D 54 65 78 74 46 6F 72 6D 61 74 74 65 72 28 7B 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 6C 65 67 65 6E 64 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2C 64 61 74 61 53 65 72 69 65 73 3A 6C 2C 64 61 74 61 50 6F 69 6E 74 3A 6E 75 6C 6C 7D 29 3A 6C 2E 6E 61 6D 65 2C 71 3D 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 43 6F 6C 6F 72 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 43 6F 6C 6F 72 3A 6C 2E 6D 61 72 6B 65 72 43 6F 6C 6F 72 3F 0A 6C 2E 6D 61 72 6B 65 72 43 6F 6C 6F 72 3A 6C 2E 5F 63 6F 6C 6F 72 53 65 74 5B 30 5D 2C 72 3D 6C 2E 6D 61 72 6B 65 72 53 69 7A 65 7C 7C 22 6C 69 6E 65 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 73 74 65 70 4C 69 6E 65 22 21 3D 3D 6C 2E 74 79 70 65 26 26 22 73 70 6C 69 6E 65 22 21 3D 3D 6C 2E 74 79 70 65 3F 30 2E 36 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3A 30 2C 73 3D 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 6C 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 2C 74 3D 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 6C 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 4D 61 74 68 2E 6D 61 78 28 31 2C 4D 61 74 68 2E 72 6F 75 6E 64 28 30 2E 32 2A 72 29 29 3A 30 2C 6E 3D 74 68 69 73 2E 63 68 61 72 74 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 6E 2C 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 30 5D 2C 6C 2C 68 29 2C 6D 3D 7B 6D 61 72 6B 65 72 54 79 70 65 3A 6D 2C 6D 61 72 6B 65 72 43 6F 6C 6F 72 3A 71 2C 74 65 78 74 3A 6E 2C 74 65 78 74 42 6C 6F 63 6B 3A 6E 75 6C 6C 2C 63 68 61 72 74 54 79 70 65 3A 6C 2E 74 79 70 65 2C 6D 61 72 6B 65 72 53 69 7A 65 3A 72 2C 6C 69 6E 65 43 6F 6C 6F 72 3A 6C 2E 5F 63 6F 6C 6F 72 53 65 74 5B 30 5D 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6C 2E 69 6E 64 65 78 2C 0A 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6E 75 6C 6C 2C 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 73 2C 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 74 7D 3B 6B 2E 70 75 73 68 28 6D 29 7D 65 6C 73 65 20 66 6F 72 28 76 61 72 20 76 3D 30 3B 76 3C 6C 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 3B 76 2B 2B 29 7B 76 61 72 20 75 3D 6C 2E 64 61 74 61 50 6F 69 6E 74 73 5B 76 5D 2C 6D 3D 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 54 79 70 65 3F 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 54 79 70 65 3A 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 54 79 70 65 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 54 79 70 65 3A 54 2E 67 65 74 44 65 66 61 75 6C 74 4C 65 67 65 6E 64 4D 61 72 6B 65 72 28 6C 2E 74 79 70 65 29 2C 6E 3D 75 2E 6C 65 67 65 6E 64 54 65 78 74 3F 75 2E 6C 65 67 65 6E 64 54 65 78 74 3A 6C 2E 6C 65 67 65 6E 64 54 65 78 74 3F 6C 2E 6C 65 67 65 6E 64 54 65 78 74 3A 74 68 69 73 2E 69 74 65 6D 54 65 78 74 46 6F 72 6D 61 74 74 65 72 3F 74 68 69 73 2E 69 74 65 6D 54 65 78 74 46 6F 72 6D 61 74 74 65 72 28 7B 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 6C 65 67 65 6E 64 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2C 64 61 74 61 53 65 72 69 65 73 3A 6C 2C 64 61 74 61 50 6F 69 6E 74 3A 75 7D 29 3A 75 2E 6E 61 6D 65 3F 75 2E 6E 61 6D 65 3A 22 44 61 74 61 50 6F 69 6E 74 3A 20 22 2B 28 76 2B 31 29 2C 71 3D 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 43 6F 6C 6F 72 3F 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 43 6F 6C 6F 72 3A 0A 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 43 6F 6C 6F 72 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 43 6F 6C 6F 72 3A 75 2E 63 6F 6C 6F 72 3F 75 2E 63 6F 6C 6F 72 3A 6C 2E 63 6F 6C 6F 72 3F 6C 2E 63 6F 6C 6F 72 3A 6C 2E 5F 63 6F 6C 6F 72 53 65 74 5B 76 25 6C 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 2C 72 3D 30 2E 36 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2C 73 3D 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3F 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 75 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3F 75 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 6C 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 2C 74 3D 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 75 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 6C 2E 6C 65 67 65 6E 64 4D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 75 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7C 7C 6C 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 4D 61 74 68 2E 6D 61 78 28 31 2C 4D 61 74 68 2E 72 6F 75 6E 64 28 30 2E 32 2A 72 29 29 3A 30 2C 6E 3D 74 68 69 73 2E 63 68 61 72 74 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 6E 2C 0A 75 2C 6C 2C 76 29 2C 6D 3D 7B 6D 61 72 6B 65 72 54 79 70 65 3A 6D 2C 6D 61 72 6B 65 72 43 6F 6C 6F 72 3A 71 2C 74 65 78 74 3A 6E 2C 74 65 78 74 42 6C 6F 63 6B 3A 6E 75 6C 6C 2C 63 68 61 72 74 54 79 70 65 3A 6C 2E 74 79 70 65 2C 6D 61 72 6B 65 72 53 69 7A 65 3A 72 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 68 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 76 2C 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 73 2C 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 74 7D 3B 28 75 2E 73 68 6F 77 49 6E 4C 65 67 65 6E 64 7C 7C 6C 2E 73 68 6F 77 49 6E 4C 65 67 65 6E 64 26 26 21 31 21 3D 3D 75 2E 73 68 6F 77 49 6E 4C 65 67 65 6E 64 29 26 26 6B 2E 70 75 73 68 28 6D 29 7D 7D 21 30 3D 3D 3D 74 68 69 73 2E 72 65 76 65 72 73 65 64 26 26 6B 2E 72 65 76 65 72 73 65 28 29 3B 69 66 28 30 3C 6B 2E 6C 65 6E 67 74 68 29 7B 6C 3D 6E 75 6C 6C 3B 76 3D 6E 3D 75 3D 30 3B 6E 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 69 74 65 6D 57 69 64 74 68 3F 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 69 74 65 6D 4D 61 78 57 69 64 74 68 3F 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 69 74 65 6D 57 69 64 74 68 2C 74 68 69 73 2E 69 74 65 6D 4D 61 78 57 69 64 74 68 2C 66 29 3A 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 69 74 65 6D 57 69 64 74 68 2C 66 29 3A 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 69 74 65 6D 4D 61 78 57 69 64 74 68 3F 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 69 74 65 6D 4D 61 78 57 69 64 74 68 2C 66 29 3A 66 3B 72 3D 30 3D 3D 3D 72 3F 30 2E 36 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3A 0A 72 3B 6E 2D 3D 72 2B 30 2E 31 2A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 3B 66 6F 72 28 68 3D 30 3B 68 3C 6B 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 6D 3D 6B 5B 68 5D 3B 69 66 28 22 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 29 6E 2D 3D 32 2A 30 2E 31 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3B 69 66 28 21 28 30 3E 3D 67 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 67 7C 7C 30 3E 3D 6E 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 6E 29 29 7B 69 66 28 22 68 6F 72 69 7A 6F 6E 74 61 6C 22 3D 3D 3D 74 68 69 73 2E 6F 72 69 65 6E 74 61 74 69 6F 6E 29 7B 6D 2E 74 65 78 74 42 6C 6F 63 6B 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 30 2C 79 3A 30 2C 6D 61 78 57 69 64 74 68 3A 6E 2C 6D 61 78 48 65 69 67 68 74 3A 74 68 69 73 2E 69 74 65 6D 57 72 61 70 3F 67 3A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2C 61 6E 67 6C 65 3A 30 2C 74 65 78 74 3A 6D 2E 74 65 78 74 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 6C 65 66 74 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 66 6F 6E 74 53 74 79 6C 65 2C 0A 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 3B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 3B 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 69 74 65 6D 57 69 64 74 68 26 26 28 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 3D 74 68 69 73 2E 69 74 65 6D 57 69 64 74 68 2D 28 72 2B 30 2E 31 2A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 2B 28 22 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 3F 32 2A 30 2E 31 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3A 30 29 29 29 3B 69 66 28 21 6C 7C 7C 6C 2E 77 69 64 74 68 2B 4D 61 74 68 2E 72 6F 75 6E 64 28 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2B 30 2E 31 2A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 2B 72 2B 28 30 3D 3D 3D 6C 2E 77 69 64 74 68 3F 30 3A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 29 2B 28 22 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 3F 32 2A 30 2E 31 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3A 30 29 29 3E 66 29 6C 3D 7B 69 74 65 6D 73 3A 5B 5D 2C 77 69 64 74 68 3A 30 7D 2C 70 2E 70 75 73 68 28 6C 29 2C 74 68 69 73 2E 68 65 69 67 68 74 2B 3D 76 2C 76 3D 30 3B 76 3D 4D 61 74 68 2E 6D 61 78 28 76 2C 0A 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 29 7D 65 6C 73 65 20 6D 2E 74 65 78 74 42 6C 6F 63 6B 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 30 2C 79 3A 30 2C 6D 61 78 57 69 64 74 68 3A 6E 2C 6D 61 78 48 65 69 67 68 74 3A 21 30 3D 3D 3D 74 68 69 73 2E 69 74 65 6D 57 72 61 70 3F 67 3A 31 2E 35 2A 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2C 61 6E 67 6C 65 3A 30 2C 74 65 78 74 3A 6D 2E 74 65 78 74 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 6C 65 66 74 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 66 6F 6E 74 53 74 79 6C 65 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 2C 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 2C 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 69 74 65 6D 57 69 64 74 68 26 26 28 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 3D 74 68 69 73 2E 69 74 65 6D 57 69 64 74 68 2D 28 72 2B 30 2E 31 2A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 2B 28 22 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 3F 32 2A 30 2E 31 2A 0A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3A 30 29 29 29 2C 74 68 69 73 2E 68 65 69 67 68 74 3C 3D 67 3F 28 6C 3D 7B 69 74 65 6D 73 3A 5B 5D 2C 77 69 64 74 68 3A 30 7D 2C 70 2E 70 75 73 68 28 6C 29 29 3A 28 6C 3D 70 5B 75 5D 2C 75 3D 28 75 2B 31 29 25 70 2E 6C 65 6E 67 74 68 29 2C 74 68 69 73 2E 68 65 69 67 68 74 2B 3D 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 3B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 3D 6C 2E 77 69 64 74 68 3B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 3D 30 3B 6C 2E 77 69 64 74 68 2B 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2B 30 2E 31 2A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 2B 72 2B 28 30 3D 3D 3D 6C 2E 77 69 64 74 68 3F 30 3A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 29 2B 28 22 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 3F 32 2A 30 2E 31 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3A 30 29 29 3B 6C 2E 69 74 65 6D 73 2E 70 75 73 68 28 6D 29 3B 74 68 69 73 2E 77 69 64 74 68 3D 4D 61 74 68 2E 6D 61 78 28 6C 2E 77 69 64 74 68 2C 74 68 69 73 2E 77 69 64 74 68 29 7D 7D 74 68 69 73 2E 68 65 69 67 68 74 3D 21 31 3D 3D 3D 74 68 69 73 2E 69 74 65 6D 57 72 61 70 3F 70 2E 6C 65 6E 67 74 68 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3A 74 68 69 73 2E 68 65 69 67 68 74 2B 76 3B 74 68 69 73 2E 68 65 69 67 68 74 3D 0A 4D 61 74 68 2E 6D 69 6E 28 67 2C 74 68 69 73 2E 68 65 69 67 68 74 29 3B 74 68 69 73 2E 77 69 64 74 68 3D 4D 61 74 68 2E 6D 69 6E 28 66 2C 74 68 69 73 2E 77 69 64 74 68 29 7D 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3F 28 65 3D 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 62 2E 78 31 3A 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 62 2E 78 32 2D 74 68 69 73 2E 77 69 64 74 68 3A 62 2E 78 31 2B 62 2E 77 69 64 74 68 2F 32 2D 74 68 69 73 2E 77 69 64 74 68 2F 32 2C 64 3D 62 2E 79 31 29 3A 22 63 65 6E 74 65 72 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 3F 28 65 3D 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 62 2E 78 31 3A 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 62 2E 78 32 2D 74 68 69 73 2E 77 69 64 74 68 3A 62 2E 78 31 2B 62 2E 77 69 64 74 68 2F 32 2D 74 68 69 73 2E 77 69 64 74 68 2F 32 2C 64 3D 62 2E 79 31 2B 62 2E 68 65 69 67 68 74 2F 32 2D 74 68 69 73 2E 68 65 69 67 68 74 2F 32 29 3A 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 76 65 72 74 69 63 61 6C 41 6C 69 67 6E 26 26 28 65 3D 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 62 2E 78 31 3A 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3F 62 2E 78 32 2D 74 68 69 73 2E 77 69 64 74 68 3A 62 2E 78 31 2B 0A 62 2E 77 69 64 74 68 2F 32 2D 74 68 69 73 2E 77 69 64 74 68 2F 32 2C 64 3D 62 2E 79 32 2D 74 68 69 73 2E 68 65 69 67 68 74 29 3B 74 68 69 73 2E 69 74 65 6D 73 3D 6B 3B 66 6F 72 28 68 3D 30 3B 68 3C 74 68 69 73 2E 69 74 65 6D 73 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 6D 3D 6B 5B 68 5D 2C 6D 2E 69 64 3D 2B 2B 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6C 61 73 74 4F 62 6A 65 63 74 49 64 2C 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 6D 2E 69 64 5D 3D 7B 69 64 3A 6D 2E 69 64 2C 6F 62 6A 65 63 74 54 79 70 65 3A 22 6C 65 67 65 6E 64 49 74 65 6D 22 2C 6C 65 67 65 6E 64 49 74 65 6D 49 6E 64 65 78 3A 68 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 6D 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 6D 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 7D 3B 66 6F 72 28 68 3D 62 3D 30 3B 68 3C 70 2E 6C 65 6E 67 74 68 3B 68 2B 2B 29 7B 6C 3D 70 5B 68 5D 3B 66 6F 72 28 6B 3D 76 3D 30 3B 6B 3C 6C 2E 69 74 65 6D 73 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 7B 6D 3D 6C 2E 69 74 65 6D 73 5B 6B 5D 3B 6E 3D 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 2B 65 2B 28 30 3D 3D 3D 6B 3F 30 2E 32 2A 72 3A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 29 3B 71 3D 64 2B 62 3B 75 3D 6E 3B 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 6D 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 5D 2E 76 69 73 69 62 6C 65 7C 7C 28 74 68 69 73 2E 63 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 0A 30 2E 35 29 3B 74 68 69 73 2E 63 74 78 2E 73 61 76 65 28 29 3B 74 68 69 73 2E 63 74 78 2E 72 65 63 74 28 65 2C 64 2C 66 2C 67 29 3B 74 68 69 73 2E 63 74 78 2E 63 6C 69 70 28 29 3B 69 66 28 22 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 29 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 6D 2E 6C 69 6E 65 43 6F 6C 6F 72 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 4D 61 74 68 2E 63 65 69 6C 28 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2F 38 29 2C 74 68 69 73 2E 63 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 74 68 69 73 2E 63 74 78 2E 6D 6F 76 65 54 6F 28 6E 2D 30 2E 31 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2C 71 2B 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2F 32 29 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 54 6F 28 6E 2B 30 2E 37 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2C 71 2B 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2F 32 29 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 28 29 2C 75 2D 3D 30 2E 31 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 28 6E 2B 72 2F 32 2C 71 2B 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 2F 32 2C 74 68 69 73 2E 63 74 78 2C 6D 2E 6D 61 72 6B 65 72 54 79 70 65 2C 6D 2E 6D 61 72 6B 65 72 53 69 7A 65 2C 6D 2E 6D 61 72 6B 65 72 43 6F 6C 6F 72 2C 6D 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 2C 0A 6D 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 29 3B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 3D 6E 2B 30 2E 31 2A 74 68 69 73 2E 68 6F 72 69 7A 6F 6E 74 61 6C 53 70 61 63 69 6E 67 2B 72 3B 69 66 28 22 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 6D 2E 63 68 61 72 74 54 79 70 65 29 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 2B 3D 30 2E 31 2A 74 68 69 73 2E 6C 69 6E 65 48 65 69 67 68 74 3B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 3D 71 3B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 3B 74 68 69 73 2E 63 74 78 2E 72 65 73 74 6F 72 65 28 29 3B 76 3D 30 3C 6B 3F 4D 61 74 68 2E 6D 61 78 28 76 2C 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 29 3A 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 3B 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 6D 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 5D 2E 76 69 73 69 62 6C 65 7C 7C 28 74 68 69 73 2E 63 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 29 3B 6E 3D 42 28 6D 2E 69 64 29 3B 74 68 69 73 2E 67 68 6F 73 74 43 74 78 2E 66 69 6C 6C 53 74 79 6C 65 3D 6E 3B 74 68 69 73 2E 67 68 6F 73 74 43 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 68 69 73 2E 67 68 6F 73 74 43 74 78 2E 66 69 6C 6C 52 65 63 74 28 75 2C 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 2C 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 2B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2D 75 2C 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 29 3B 0A 6D 2E 78 31 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 6D 2E 69 64 5D 2E 78 31 3D 75 3B 6D 2E 79 31 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 6D 2E 69 64 5D 2E 79 31 3D 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 3B 6D 2E 78 32 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 6D 2E 69 64 5D 2E 78 32 3D 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 2B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 3B 6D 2E 79 32 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 6D 2E 69 64 5D 2E 79 32 3D 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 2B 6D 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 7D 62 2B 3D 76 7D 61 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 72 65 67 69 73 74 65 72 53 70 61 63 65 28 63 2C 7B 77 69 64 74 68 3A 74 68 69 73 2E 77 69 64 74 68 2B 32 2B 32 2C 68 65 69 67 68 74 3A 74 68 69 73 2E 68 65 69 67 68 74 2B 35 2B 35 7D 29 3B 74 68 69 73 2E 62 6F 75 6E 64 73 3D 7B 78 31 3A 65 2C 79 31 3A 64 2C 78 32 3A 65 2B 74 68 69 73 2E 77 69 64 74 68 2C 79 32 3A 64 2B 74 68 69 73 2E 68 65 69 67 68 74 7D 7D 3B 4F 28 70 61 2C 47 29 3B 70 61 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 63 68 61 72 74 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 67 65 74 46 72 65 65 53 70 61 63 65 28 29 3B 0A 74 68 69 73 2E 63 74 78 2E 66 69 6C 6C 53 74 79 6C 65 3D 22 72 65 64 22 3B 74 68 69 73 2E 63 74 78 2E 66 69 6C 6C 52 65 63 74 28 61 2E 78 31 2C 61 2E 79 31 2C 61 2E 78 32 2C 61 2E 79 32 29 7D 3B 4F 28 54 2C 47 29 3B 54 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 44 65 66 61 75 6C 74 41 78 69 73 50 6C 61 63 65 6D 65 6E 74 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 74 79 70 65 3B 69 66 28 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 61 7C 7C 22 6C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 61 72 65 61 22 3D 3D 3D 61 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 61 7C 7C 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 4C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 62 75 62 62 6C 65 22 3D 3D 3D 61 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 4C 69 6E 65 31 30 30 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 61 7C 7C 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 61 7C 7C 22 6F 68 6C 63 22 3D 3D 3D 61 7C 7C 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 3D 3D 3D 61 7C 7C 22 72 61 6E 67 65 41 72 65 61 22 3D 3D 3D 61 7C 7C 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 61 29 72 65 74 75 72 6E 22 6E 6F 72 6D 61 6C 22 3B 69 66 28 22 62 61 72 22 3D 3D 3D 0A 61 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 61 7C 7C 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 61 29 72 65 74 75 72 6E 22 78 79 53 77 61 70 70 65 64 22 3B 69 66 28 22 70 69 65 22 3D 3D 3D 61 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 61 7C 7C 22 66 75 6E 6E 65 6C 22 3D 3D 3D 61 29 72 65 74 75 72 6E 22 6E 6F 6E 65 22 3B 77 69 6E 64 6F 77 2E 63 6F 6E 73 6F 6C 65 2E 6C 6F 67 28 22 55 6E 6B 6E 6F 77 6E 20 43 68 61 72 74 20 54 79 70 65 3A 20 22 2B 61 29 3B 72 65 74 75 72 6E 20 6E 75 6C 6C 7D 3B 54 2E 67 65 74 44 65 66 61 75 6C 74 4C 65 67 65 6E 64 4D 61 72 6B 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 4C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 62 61 72 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 61 7C 7C 22 62 75 62 62 6C 65 22 3D 3D 3D 61 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 4C 69 6E 65 31 30 30 22 3D 3D 3D 61 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 61 7C 7C 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 61 7C 7C 22 6F 68 6C 63 22 3D 3D 3D 61 7C 7C 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 3D 3D 3D 61 7C 7C 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 61 7C 7C 22 72 61 6E 67 65 41 72 65 61 22 3D 3D 3D 0A 61 7C 7C 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 61 29 72 65 74 75 72 6E 22 73 71 75 61 72 65 22 3B 69 66 28 22 6C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 61 7C 7C 22 70 69 65 22 3D 3D 3D 61 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 61 7C 7C 22 66 75 6E 6E 65 6C 22 3D 3D 3D 61 29 72 65 74 75 72 6E 22 63 69 72 63 6C 65 22 3B 69 66 28 22 61 72 65 61 22 3D 3D 3D 61 7C 7C 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 61 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 61 29 72 65 74 75 72 6E 22 74 72 69 61 6E 67 6C 65 22 3B 77 69 6E 64 6F 77 2E 63 6F 6E 73 6F 6C 65 2E 6C 6F 67 28 22 55 6E 6B 6E 6F 77 6E 20 43 68 61 72 74 20 54 79 70 65 3A 20 22 2B 61 29 3B 72 65 74 75 72 6E 20 6E 75 6C 6C 7D 3B 54 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 7C 7C 30 3D 3D 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 29 72 65 74 75 72 6E 20 6E 75 6C 6C 3B 76 61 72 20 63 3D 7B 64 61 74 61 50 6F 69 6E 74 3A 6E 75 6C 6C 2C 64 69 73 74 61 6E 63 65 3A 49 6E 66 69 6E 69 74 79 2C 69 6E 64 65 78 3A 4E 61 4E 7D 2C 64 3D 6E 75 6C 6C 2C 65 3D 30 2C 66 3D 30 2C 67 3D 31 2C 6B 3D 49 6E 66 69 6E 69 74 79 2C 70 3D 30 2C 68 3D 30 2C 6C 3D 30 3B 22 6E 6F 6E 65 22 21 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 0A 28 6C 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 2D 31 5D 2E 78 2D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 30 5D 2E 78 2C 6C 3D 30 3C 6C 3F 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 6D 61 78 28 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 2D 31 29 2F 6C 2A 28 61 2D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 30 5D 2E 78 29 3E 3E 30 2C 30 29 2C 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 29 3A 30 29 3B 66 6F 72 28 3B 3B 29 7B 66 3D 30 3C 67 3F 6C 2B 65 3A 6C 2D 65 3B 69 66 28 30 3C 3D 66 26 26 66 3C 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 66 5D 2C 6D 3D 4D 61 74 68 2E 61 62 73 28 64 2E 78 2D 61 29 3B 6D 3C 63 2E 64 69 73 74 61 6E 63 65 26 26 28 63 2E 64 61 74 61 50 6F 69 6E 74 3D 64 2C 63 2E 64 69 73 74 61 6E 63 65 3D 6D 2C 63 2E 69 6E 64 65 78 3D 66 29 3B 64 3D 4D 61 74 68 2E 61 62 73 28 64 2E 78 2D 61 29 3B 64 3C 3D 6B 3F 6B 3D 64 3A 30 3C 67 3F 70 2B 2B 3A 68 2B 2B 3B 69 66 28 31 45 33 3C 70 26 26 31 45 33 3C 68 29 62 72 65 61 6B 7D 65 6C 73 65 20 69 66 28 30 3E 6C 2D 65 26 26 6C 2B 65 3E 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 29 62 72 65 61 6B 3B 2D 31 3D 3D 3D 67 3F 28 65 2B 2B 2C 67 3D 31 29 3A 67 3D 2D 31 7D 72 65 74 75 72 6E 20 62 7C 7C 63 2E 64 61 74 61 50 6F 69 6E 74 2E 78 21 3D 3D 61 3F 62 26 26 6E 75 6C 6C 21 3D 3D 0A 63 2E 64 61 74 61 50 6F 69 6E 74 3F 63 3A 6E 75 6C 6C 3A 63 7D 3B 54 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 59 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 69 66 28 21 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 7C 7C 30 3D 3D 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 7C 7C 61 3C 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 78 31 7C 7C 61 3E 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 78 32 7C 7C 62 3C 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 79 31 7C 7C 62 3E 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 79 32 29 72 65 74 75 72 6E 20 6E 75 6C 6C 3B 63 3D 63 7C 7C 21 31 3B 76 61 72 20 64 3D 5B 5D 2C 65 3D 30 2C 66 3D 30 2C 67 3D 31 2C 6B 3D 21 31 2C 70 3D 49 6E 66 69 6E 69 74 79 2C 68 3D 30 2C 6C 3D 30 2C 6D 3D 30 3B 22 6E 6F 6E 65 22 21 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 26 26 28 6D 3D 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 67 65 74 58 56 61 6C 75 65 41 74 28 7B 78 3A 61 2C 79 3A 62 7D 29 2C 66 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 2D 31 5D 2E 78 2D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 30 5D 2E 78 2C 6D 3D 30 3C 66 3F 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 6D 61 78 28 28 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 2D 31 29 2F 66 2A 28 6D 2D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 30 5D 2E 78 29 3E 3E 0A 30 2C 30 29 2C 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 29 3A 30 29 3B 66 6F 72 28 3B 3B 29 7B 66 3D 30 3C 67 3F 6D 2B 65 3A 6D 2D 65 3B 69 66 28 30 3C 3D 66 26 26 66 3C 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 29 7B 76 61 72 20 6E 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 66 5D 5D 2C 71 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 5B 66 5D 2C 72 3D 6E 75 6C 6C 3B 69 66 28 6E 29 7B 73 77 69 74 63 68 28 74 68 69 73 2E 74 79 70 65 29 7B 63 61 73 65 20 22 63 6F 6C 75 6D 6E 22 3A 63 61 73 65 20 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3A 63 61 73 65 20 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3A 63 61 73 65 20 22 62 61 72 22 3A 63 61 73 65 20 22 73 74 61 63 6B 65 64 42 61 72 22 3A 63 61 73 65 20 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3A 63 61 73 65 20 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 3A 63 61 73 65 20 22 72 61 6E 67 65 42 61 72 22 3A 61 3E 3D 6E 2E 78 31 26 26 28 61 3C 3D 6E 2E 78 32 26 26 62 3E 3D 6E 2E 79 31 26 26 62 3C 3D 6E 2E 79 32 29 26 26 28 64 2E 70 75 73 68 28 7B 64 61 74 61 50 6F 69 6E 74 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 74 68 69 73 2C 64 69 73 74 61 6E 63 65 3A 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 6E 2E 78 31 2D 61 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 78 32 2D 61 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 79 31 2D 0A 62 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 79 32 2D 62 29 29 7D 29 2C 6B 3D 21 30 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 6C 69 6E 65 22 3A 63 61 73 65 20 22 73 74 65 70 4C 69 6E 65 22 3A 63 61 73 65 20 22 73 70 6C 69 6E 65 22 3A 63 61 73 65 20 22 61 72 65 61 22 3A 63 61 73 65 20 22 73 74 65 70 41 72 65 61 22 3A 63 61 73 65 20 22 73 74 61 63 6B 65 64 41 72 65 61 22 3A 63 61 73 65 20 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3A 63 61 73 65 20 22 73 70 6C 69 6E 65 41 72 65 61 22 3A 63 61 73 65 20 22 73 63 61 74 74 65 72 22 3A 76 61 72 20 73 3D 4E 28 22 6D 61 72 6B 65 72 53 69 7A 65 22 2C 71 2C 74 68 69 73 29 7C 7C 34 2C 74 3D 63 3F 32 30 3A 73 2C 72 3D 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 6E 2E 78 31 2D 61 2C 32 29 2B 4D 61 74 68 2E 70 6F 77 28 6E 2E 79 31 2D 62 2C 32 29 29 3B 72 3C 3D 74 26 26 64 2E 70 75 73 68 28 7B 64 61 74 61 50 6F 69 6E 74 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 74 68 69 73 2C 64 69 73 74 61 6E 63 65 3A 72 7D 29 3B 66 3D 4D 61 74 68 2E 61 62 73 28 6E 2E 78 31 2D 61 29 3B 66 3C 3D 70 3F 70 3D 66 3A 30 3C 67 3F 68 2B 2B 3A 6C 2B 2B 3B 72 3C 3D 73 2F 32 26 26 28 6B 3D 21 30 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 72 61 6E 67 65 41 72 65 61 22 3A 63 61 73 65 20 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3A 73 3D 4E 28 22 6D 61 72 6B 65 72 53 69 7A 65 22 2C 71 2C 74 68 69 73 29 7C 7C 34 3B 74 3D 63 3F 32 30 3A 73 3B 72 3D 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 6E 2E 78 31 2D 0A 61 2C 32 29 2B 4D 61 74 68 2E 70 6F 77 28 6E 2E 79 31 2D 62 2C 32 29 29 2C 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 6E 2E 78 31 2D 61 2C 32 29 2B 4D 61 74 68 2E 70 6F 77 28 6E 2E 79 32 2D 62 2C 32 29 29 29 3B 72 3C 3D 74 26 26 64 2E 70 75 73 68 28 7B 64 61 74 61 50 6F 69 6E 74 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 74 68 69 73 2C 64 69 73 74 61 6E 63 65 3A 72 7D 29 3B 66 3D 4D 61 74 68 2E 61 62 73 28 6E 2E 78 31 2D 61 29 3B 66 3C 3D 70 3F 70 3D 66 3A 30 3C 67 3F 68 2B 2B 3A 6C 2B 2B 3B 72 3C 3D 73 2F 32 26 26 28 6B 3D 21 30 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 62 75 62 62 6C 65 22 3A 73 3D 6E 2E 73 69 7A 65 3B 72 3D 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 6E 2E 78 31 2D 61 2C 32 29 2B 4D 61 74 68 2E 70 6F 77 28 6E 2E 79 31 2D 62 2C 32 29 29 3B 72 3C 3D 73 2F 32 26 26 28 64 2E 70 75 73 68 28 7B 64 61 74 61 50 6F 69 6E 74 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 74 68 69 73 2C 64 69 73 74 61 6E 63 65 3A 72 7D 29 2C 6B 3D 21 30 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 70 69 65 22 3A 63 61 73 65 20 22 64 6F 75 67 68 6E 75 74 22 3A 73 3D 6E 2E 63 65 6E 74 65 72 3B 74 3D 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 6E 2E 70 65 72 63 65 6E 74 49 6E 6E 65 72 52 61 64 69 75 73 2A 6E 2E 72 61 64 69 75 73 3A 30 3B 72 3D 4D 61 74 68 2E 73 71 72 74 28 4D 61 74 68 2E 70 6F 77 28 73 2E 78 2D 61 2C 32 29 2B 4D 61 74 68 2E 70 6F 77 28 73 2E 79 2D 0A 62 2C 32 29 29 3B 72 3C 6E 2E 72 61 64 69 75 73 26 26 72 3E 74 26 26 28 72 3D 4D 61 74 68 2E 61 74 61 6E 32 28 62 2D 73 2E 79 2C 61 2D 73 2E 78 29 2C 30 3E 72 26 26 28 72 2B 3D 32 2A 4D 61 74 68 2E 50 49 29 2C 72 3D 4E 75 6D 62 65 72 28 28 28 31 38 30 2A 28 72 2F 4D 61 74 68 2E 50 49 29 25 33 36 30 2B 33 36 30 29 25 33 36 30 29 2E 74 6F 46 69 78 65 64 28 31 32 29 29 2C 73 3D 4E 75 6D 62 65 72 28 28 28 31 38 30 2A 28 6E 2E 73 74 61 72 74 41 6E 67 6C 65 2F 4D 61 74 68 2E 50 49 29 25 33 36 30 2B 33 36 30 29 25 33 36 30 29 2E 74 6F 46 69 78 65 64 28 31 32 29 29 2C 74 3D 4E 75 6D 62 65 72 28 28 28 31 38 30 2A 28 6E 2E 65 6E 64 41 6E 67 6C 65 2F 4D 61 74 68 2E 50 49 29 25 33 36 30 2B 33 36 30 29 25 33 36 30 29 2E 74 6F 46 69 78 65 64 28 31 32 29 29 2C 30 3D 3D 3D 74 26 26 31 3C 6E 2E 65 6E 64 41 6E 67 6C 65 26 26 28 74 3D 33 36 30 29 2C 73 3E 3D 74 26 26 30 21 3D 3D 71 2E 79 26 26 28 74 2B 3D 33 36 30 2C 72 3C 73 26 26 28 72 2B 3D 33 36 30 29 29 2C 72 3E 73 26 26 72 3C 74 26 26 28 64 2E 70 75 73 68 28 7B 64 61 74 61 50 6F 69 6E 74 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 74 68 69 73 2C 64 69 73 74 61 6E 63 65 3A 30 7D 29 2C 6B 3D 21 30 29 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3A 69 66 28 61 3E 3D 6E 2E 78 31 2D 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 32 26 26 61 3C 3D 6E 2E 78 32 2B 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 32 26 26 62 3E 3D 6E 2E 79 32 2D 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 0A 32 26 26 62 3C 3D 6E 2E 79 33 2B 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 32 7C 7C 4D 61 74 68 2E 61 62 73 28 6E 2E 78 32 2D 61 2B 6E 2E 78 31 2D 61 29 3C 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 26 26 62 3E 3D 6E 2E 79 31 26 26 62 3C 3D 6E 2E 79 34 29 64 2E 70 75 73 68 28 7B 64 61 74 61 50 6F 69 6E 74 3A 71 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 74 68 69 73 2C 64 69 73 74 61 6E 63 65 3A 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 6E 2E 78 31 2D 61 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 78 32 2D 61 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 79 32 2D 62 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 79 33 2D 62 29 29 7D 29 2C 6B 3D 21 30 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 6F 68 6C 63 22 3A 69 66 28 4D 61 74 68 2E 61 62 73 28 6E 2E 78 32 2D 61 2B 6E 2E 78 31 2D 61 29 3C 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 26 26 62 3E 3D 6E 2E 79 32 26 26 62 3C 3D 6E 2E 79 33 7C 7C 61 3E 3D 6E 2E 78 31 26 26 61 3C 3D 28 6E 2E 78 32 2B 6E 2E 78 31 29 2F 32 26 26 62 3E 3D 6E 2E 79 31 2D 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 32 26 26 62 3C 3D 6E 2E 79 31 2B 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 32 7C 7C 61 3E 3D 28 6E 2E 78 31 2B 6E 2E 78 32 29 2F 32 26 26 61 3C 3D 6E 2E 78 32 26 26 62 3E 3D 6E 2E 79 34 2D 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 32 26 26 62 3C 3D 6E 2E 79 34 2B 6E 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2F 32 29 64 2E 70 75 73 68 28 7B 64 61 74 61 50 6F 69 6E 74 3A 71 2C 0A 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 74 68 69 73 2C 64 69 73 74 61 6E 63 65 3A 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 6E 2E 78 31 2D 61 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 78 32 2D 61 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 79 32 2D 62 29 2C 4D 61 74 68 2E 61 62 73 28 6E 2E 79 33 2D 62 29 29 7D 29 2C 6B 3D 21 30 7D 69 66 28 6B 7C 7C 31 45 33 3C 68 26 26 31 45 33 3C 6C 29 62 72 65 61 6B 7D 7D 65 6C 73 65 20 69 66 28 30 3E 6D 2D 65 26 26 6D 2B 65 3E 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 29 62 72 65 61 6B 3B 2D 31 3D 3D 3D 67 3F 28 65 2B 2B 2C 67 3D 31 29 3A 67 3D 2D 31 7D 61 3D 6E 75 6C 6C 3B 66 6F 72 28 62 3D 30 3B 62 3C 64 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 61 3F 64 5B 62 5D 2E 64 69 73 74 61 6E 63 65 3C 3D 61 2E 64 69 73 74 61 6E 63 65 26 26 28 61 3D 64 5B 62 5D 29 3A 61 3D 64 5B 62 5D 3B 72 65 74 75 72 6E 20 61 7D 3B 54 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 29 7B 76 61 72 20 65 3D 74 68 69 73 2E 64 61 74 61 50 6F 69 6E 74 73 3B 72 65 74 75 72 6E 7B 78 3A 62 2C 79 3A 63 2C 63 74 78 3A 64 2C 74 79 70 65 3A 65 5B 61 5D 2E 6D 61 72 6B 65 72 54 79 70 65 3F 65 5B 61 5D 2E 6D 61 72 6B 65 72 54 79 70 65 3A 74 68 69 73 2E 6D 61 72 6B 65 72 54 79 70 65 2C 73 69 7A 65 3A 65 5B 61 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 3F 65 5B 61 5D 2E 6D 61 72 6B 65 72 53 69 7A 65 3A 74 68 69 73 2E 6D 61 72 6B 65 72 53 69 7A 65 2C 0A 63 6F 6C 6F 72 3A 65 5B 61 5D 2E 6D 61 72 6B 65 72 43 6F 6C 6F 72 3F 65 5B 61 5D 2E 6D 61 72 6B 65 72 43 6F 6C 6F 72 3A 74 68 69 73 2E 6D 61 72 6B 65 72 43 6F 6C 6F 72 3F 74 68 69 73 2E 6D 61 72 6B 65 72 43 6F 6C 6F 72 3A 65 5B 61 5D 2E 63 6F 6C 6F 72 3F 65 5B 61 5D 2E 63 6F 6C 6F 72 3A 74 68 69 73 2E 63 6F 6C 6F 72 3F 74 68 69 73 2E 63 6F 6C 6F 72 3A 74 68 69 73 2E 5F 63 6F 6C 6F 72 53 65 74 5B 61 25 74 68 69 73 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 2C 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 65 5B 61 5D 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3F 65 5B 61 5D 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 74 68 69 73 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3F 74 68 69 73 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 43 6F 6C 6F 72 3A 6E 75 6C 6C 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 65 5B 61 5D 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 65 5B 61 5D 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 74 68 69 73 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 74 68 69 73 2E 6D 61 72 6B 65 72 42 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 6E 75 6C 6C 7D 7D 3B 4F 28 43 2C 47 29 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 2C 62 3D 30 2C 63 2C 64 3D 30 2C 65 3D 30 2C 62 3D 30 3B 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 0A 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 62 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2F 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 2C 64 3D 74 68 69 73 2E 6C 61 62 65 6C 41 75 74 6F 46 69 74 3F 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 3F 30 2E 39 2A 62 3E 3E 30 3A 74 68 69 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 3A 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 3F 30 2E 37 2A 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 3E 3E 30 3A 74 68 69 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 2C 65 3D 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 57 72 61 70 7C 7C 74 68 69 73 2E 6C 61 62 65 6C 57 72 61 70 3F 30 2E 35 2A 74 68 69 73 2E 63 68 61 72 74 2E 68 65 69 67 68 74 3E 3E 30 3A 31 2E 35 2A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3B 65 6C 73 65 20 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 62 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2F 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 0A 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 2C 64 3D 74 68 69 73 2E 6C 61 62 65 6C 41 75 74 6F 46 69 74 3F 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 3F 30 2E 33 2A 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 3E 3E 30 3A 74 68 69 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 3A 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 3F 30 2E 35 2A 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 3E 3E 30 3A 74 68 69 73 2E 6C 61 62 65 6C 4D 61 78 57 69 64 74 68 2C 65 3D 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 57 72 61 70 7C 7C 74 68 69 73 2E 6C 61 62 65 6C 57 72 61 70 3F 32 2A 62 3E 3E 30 3A 31 2E 35 2A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 3B 69 66 28 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 29 66 6F 72 28 63 3D 74 61 28 6E 65 77 20 44 61 74 65 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 2C 62 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 53 74 61 72 74 50 6F 73 69 74 69 6F 6E 3B 62 3C 0A 63 3B 74 61 28 62 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 29 61 3D 62 2E 67 65 74 54 69 6D 65 28 29 2C 61 3D 74 68 69 73 2E 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3F 74 68 69 73 2E 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 28 7B 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 61 78 69 73 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2C 76 61 6C 75 65 3A 62 2C 6C 61 62 65 6C 3A 74 68 69 73 2E 6C 61 62 65 6C 73 5B 62 5D 3F 74 68 69 73 2E 6C 61 62 65 6C 73 5B 62 5D 3A 6E 75 6C 6C 7D 29 3A 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 74 68 69 73 2E 6C 61 62 65 6C 73 5B 61 5D 3F 74 68 69 73 2E 6C 61 62 65 6C 73 5B 61 5D 3A 72 61 28 62 2C 74 68 69 73 2E 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 2C 74 68 69 73 2E 63 68 61 72 74 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 29 2C 61 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 30 2C 79 3A 30 2C 6D 61 78 57 69 64 74 68 3A 64 2C 6D 61 78 48 65 69 67 68 74 3A 65 2C 61 6E 67 6C 65 3A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 2C 74 65 78 74 3A 74 68 69 73 2E 70 72 65 66 69 78 2B 61 2B 74 68 69 73 2E 73 75 66 66 69 78 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 6C 65 66 74 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 2C 0A 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 6D 69 64 64 6C 65 22 7D 29 2C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 70 75 73 68 28 7B 70 6F 73 69 74 69 6F 6E 3A 62 2E 67 65 74 54 69 6D 65 28 29 2C 74 65 78 74 42 6C 6F 63 6B 3A 61 2C 65 66 66 65 63 74 69 76 65 48 65 69 67 68 74 3A 6E 75 6C 6C 7D 29 3B 65 6C 73 65 7B 63 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3B 69 66 28 74 68 69 73 2E 6C 61 62 65 6C 73 26 26 74 68 69 73 2E 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 29 7B 61 3D 4D 61 74 68 2E 63 65 69 6C 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 3B 66 6F 72 28 76 61 72 20 66 3D 4D 61 74 68 2E 63 65 69 6C 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 53 74 61 72 74 50 6F 73 69 74 69 6F 6E 29 2C 67 3D 21 31 2C 62 3D 66 3B 62 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3B 62 2B 3D 61 29 69 66 28 74 68 69 73 2E 6C 61 62 65 6C 73 5B 62 5D 29 67 3D 21 30 3B 65 6C 73 65 7B 67 3D 21 31 3B 62 72 65 61 6B 7D 67 26 26 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 61 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 53 74 61 72 74 50 6F 73 69 74 69 6F 6E 3D 66 29 7D 66 6F 72 28 62 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 53 74 61 72 74 50 6F 73 69 74 69 6F 6E 3B 62 3C 3D 63 3B 62 3D 70 61 72 73 65 46 6C 6F 61 74 28 28 62 2B 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 2E 74 6F 46 69 78 65 64 28 31 34 29 29 29 61 3D 0A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3F 74 68 69 73 2E 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 28 7B 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 61 78 69 73 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2C 76 61 6C 75 65 3A 62 2C 6C 61 62 65 6C 3A 74 68 69 73 2E 6C 61 62 65 6C 73 5B 62 5D 3F 74 68 69 73 2E 6C 61 62 65 6C 73 5B 62 5D 3A 6E 75 6C 6C 7D 29 3A 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 74 68 69 73 2E 6C 61 62 65 6C 73 5B 62 5D 3F 74 68 69 73 2E 6C 61 62 65 6C 73 5B 62 5D 3A 58 28 62 2C 74 68 69 73 2E 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 2C 74 68 69 73 2E 63 68 61 72 74 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 29 2C 61 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 30 2C 79 3A 30 2C 6D 61 78 57 69 64 74 68 3A 64 2C 6D 61 78 48 65 69 67 68 74 3A 65 2C 61 6E 67 6C 65 3A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 2C 74 65 78 74 3A 74 68 69 73 2E 70 72 65 66 69 78 2B 61 2B 74 68 69 73 2E 73 75 66 66 69 78 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 6C 65 66 74 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 6C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 2C 0A 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 6D 69 64 64 6C 65 22 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 30 7D 29 2C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 70 75 73 68 28 7B 70 6F 73 69 74 69 6F 6E 3A 62 2C 74 65 78 74 42 6C 6F 63 6B 3A 61 2C 65 66 66 65 63 74 69 76 65 48 65 69 67 68 74 3A 6E 75 6C 6C 7D 29 7D 66 6F 72 28 62 3D 30 3B 62 3C 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 63 3D 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 5B 62 5D 2C 61 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 30 2C 79 3A 30 2C 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 63 2E 6C 61 62 65 6C 42 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 2C 6D 61 78 57 69 64 74 68 3A 64 2C 6D 61 78 48 65 69 67 68 74 3A 65 2C 61 6E 67 6C 65 3A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 2C 74 65 78 74 3A 63 2E 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 3F 63 2E 6C 61 62 65 6C 46 6F 72 6D 61 74 74 65 72 28 7B 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 61 78 69 73 3A 74 68 69 73 2C 73 74 72 69 70 4C 69 6E 65 3A 63 7D 29 3A 63 2E 6C 61 62 65 6C 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 6C 65 66 74 22 2C 66 6F 6E 74 53 69 7A 65 3A 63 2E 6C 61 62 65 6C 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 63 2E 6C 61 62 65 6C 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 63 2E 6C 61 62 65 6C 46 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 63 2E 5F 6F 70 74 69 6F 6E 73 2E 6C 61 62 65 6C 46 6F 6E 74 43 6F 6C 6F 72 7C 7C 0A 63 2E 63 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 63 2E 6C 61 62 65 6C 46 6F 6E 74 53 74 79 6C 65 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 6D 69 64 64 6C 65 22 2C 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3A 30 7D 29 2C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 70 75 73 68 28 7B 70 6F 73 69 74 69 6F 6E 3A 63 2E 76 61 6C 75 65 2C 74 65 78 74 42 6C 6F 63 6B 3A 61 2C 65 66 66 65 63 74 69 76 65 48 65 69 67 68 74 3A 6E 75 6C 6C 2C 73 74 72 69 70 4C 69 6E 65 3A 63 7D 29 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 57 69 64 74 68 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 30 3B 74 68 69 73 2E 5F 6C 61 62 65 6C 73 3D 5B 5D 3B 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 66 6F 72 28 74 68 69 73 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 28 29 2C 69 3D 30 3B 69 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 69 2B 2B 29 7B 76 61 72 20 62 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 69 5D 2E 74 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 2C 63 3D 30 2C 63 3D 30 3D 3D 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 62 2E 77 69 64 74 68 3A 62 2E 77 69 64 74 68 2A 4D 61 74 68 2E 63 6F 73 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 29 2B 62 2E 68 65 69 67 68 74 2F 32 2A 4D 61 74 68 2E 73 69 6E 28 4D 61 74 68 2E 50 49 2F 0A 31 38 30 2A 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 29 3B 61 3C 63 26 26 28 61 3D 63 29 3B 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 69 5D 2E 65 66 66 65 63 74 69 76 65 57 69 64 74 68 3D 63 7D 72 65 74 75 72 6E 28 74 68 69 73 2E 74 69 74 6C 65 3F 65 61 28 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 2C 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 29 2B 32 3A 30 29 2B 61 2B 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2B 35 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 48 65 69 67 68 74 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 30 3B 74 68 69 73 2E 5F 6C 61 62 65 6C 73 3D 5B 5D 3B 76 61 72 20 62 2C 63 3D 30 3B 74 68 69 73 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 28 29 3B 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 66 6F 72 28 63 3D 30 3B 63 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 62 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 63 5D 2E 74 65 78 74 42 6C 6F 63 6B 3B 62 3D 62 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 3B 76 61 72 20 64 3D 30 2C 64 3D 30 3D 3D 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 62 2E 68 65 69 67 68 74 3A 62 2E 77 69 64 74 68 2A 4D 61 74 68 2E 73 69 6E 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 29 2B 0A 62 2E 68 65 69 67 68 74 2F 32 2A 4D 61 74 68 2E 63 6F 73 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 29 3B 61 3C 64 26 26 28 61 3D 64 29 3B 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 63 5D 2E 65 66 66 65 63 74 69 76 65 48 65 69 67 68 74 3D 64 7D 72 65 74 75 72 6E 28 74 68 69 73 2E 74 69 74 6C 65 3F 65 61 28 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 2C 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 29 2B 32 3A 30 29 2B 61 2B 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2B 35 7D 3B 43 2E 73 65 74 4C 61 79 6F 75 74 41 6E 64 52 65 6E 64 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 76 61 72 20 66 2C 67 2C 6B 2C 70 3D 61 2E 63 68 61 72 74 2C 68 3D 70 2E 63 74 78 3B 61 2E 63 61 6C 63 75 6C 61 74 65 41 78 69 73 50 61 72 61 6D 65 74 65 72 73 28 29 3B 62 26 26 62 2E 63 61 6C 63 75 6C 61 74 65 41 78 69 73 50 61 72 61 6D 65 74 65 72 73 28 29 3B 63 26 26 63 2E 63 61 6C 63 75 6C 61 74 65 41 78 69 73 50 61 72 61 6D 65 74 65 72 73 28 29 3B 76 61 72 20 6C 3D 62 3F 62 2E 6D 61 72 67 69 6E 3A 30 3B 67 3D 63 3F 63 2E 6D 61 72 67 69 6E 3A 30 3B 69 66 28 22 6E 6F 72 6D 61 6C 22 3D 3D 3D 64 29 7B 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 3D 7B 7D 3B 76 61 72 20 6D 3D 4D 61 74 68 2E 63 65 69 6C 28 62 3F 62 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 57 69 64 74 68 28 29 3A 30 29 3B 66 3D 0A 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 31 2B 6D 2B 6C 29 3B 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3D 66 3B 6C 3D 4D 61 74 68 2E 63 65 69 6C 28 63 3F 63 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 57 69 64 74 68 28 29 3A 30 29 3B 6B 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 32 2D 6C 2D 67 3E 61 2E 63 68 61 72 74 2E 77 69 64 74 68 2D 31 30 3F 61 2E 63 68 61 72 74 2E 77 69 64 74 68 2D 31 30 3A 65 2E 78 32 2D 6C 2D 67 29 3B 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3D 6B 3B 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 3D 4D 61 74 68 2E 61 62 73 28 6B 2D 66 29 3B 76 61 72 20 6E 3D 4D 61 74 68 2E 63 65 69 6C 28 61 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 48 65 69 67 68 74 28 29 29 3B 67 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 79 32 2D 6E 2D 61 2E 6D 61 72 67 69 6E 29 3B 64 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 79 32 2D 61 2E 6D 61 72 67 69 6E 29 3B 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3D 67 3B 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 3D 67 3B 61 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 3D 7B 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 77 69 64 74 68 3A 6B 2D 66 2C 68 65 69 67 68 74 3A 64 2D 67 7D 3B 62 26 26 28 66 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 31 2B 62 2E 6D 61 72 67 69 6E 29 2C 67 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 31 30 3E 65 2E 79 31 3F 31 30 3A 65 2E 79 31 29 2C 6B 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 31 2B 0A 6D 2B 62 2E 6D 61 72 67 69 6E 29 2C 64 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 79 32 2D 6E 2D 61 2E 6D 61 72 67 69 6E 29 2C 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 3D 7B 78 31 3A 6B 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 68 65 69 67 68 74 3A 4D 61 74 68 2E 61 62 73 28 64 2D 67 29 7D 2C 62 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 3D 7B 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 77 69 64 74 68 3A 6B 2D 66 2C 68 65 69 67 68 74 3A 64 2D 67 7D 29 3B 63 26 26 28 66 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 29 2C 67 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 31 30 3E 65 2E 79 31 3F 31 30 3A 65 2E 79 31 29 2C 6B 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 66 2B 6C 29 2C 64 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 79 32 2D 6E 2D 61 2E 6D 61 72 67 69 6E 29 2C 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 3D 7B 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 66 2C 79 32 3A 64 2C 68 65 69 67 68 74 3A 4D 61 74 68 2E 61 62 73 28 64 2D 67 29 7D 2C 63 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 3D 7B 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 77 69 64 74 68 3A 6B 2D 66 2C 68 65 69 67 68 74 3A 64 2D 67 7D 29 3B 61 2E 63 61 6C 63 75 6C 61 74 65 56 61 6C 75 65 54 6F 50 69 78 65 6C 43 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 28 29 3B 62 26 26 62 2E 63 61 6C 63 75 6C 61 74 65 56 61 6C 75 65 54 6F 50 69 78 65 6C 43 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 28 29 3B 63 26 26 63 2E 63 61 6C 63 75 6C 61 74 65 56 61 6C 75 65 54 6F 50 69 78 65 6C 43 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 28 29 3B 0A 68 2E 73 61 76 65 28 29 3B 68 2E 72 65 63 74 28 35 2C 61 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 79 31 2C 61 2E 63 68 61 72 74 2E 77 69 64 74 68 2D 31 30 2C 61 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 68 65 69 67 68 74 29 3B 68 2E 63 6C 69 70 28 29 3B 61 2E 72 65 6E 64 65 72 4C 61 62 65 6C 73 54 69 63 6B 73 41 6E 64 54 69 74 6C 65 28 29 3B 68 2E 72 65 73 74 6F 72 65 28 29 3B 62 26 26 62 2E 72 65 6E 64 65 72 4C 61 62 65 6C 73 54 69 63 6B 73 41 6E 64 54 69 74 6C 65 28 29 3B 63 26 26 63 2E 72 65 6E 64 65 72 4C 61 62 65 6C 73 54 69 63 6B 73 41 6E 64 54 69 74 6C 65 28 29 7D 65 6C 73 65 7B 6D 3D 4D 61 74 68 2E 63 65 69 6C 28 61 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 57 69 64 74 68 28 29 29 3B 62 26 26 28 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 3D 7B 7D 2C 66 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 31 2B 6D 2B 61 2E 6D 61 72 67 69 6E 29 2C 6B 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 32 3E 62 2E 63 68 61 72 74 2E 77 69 64 74 68 2D 31 30 3F 62 2E 63 68 61 72 74 2E 77 69 64 74 68 2D 31 30 3A 65 2E 78 32 29 2C 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3D 66 2C 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3D 6B 2C 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 3D 4D 61 74 68 2E 61 62 73 28 6B 2D 66 29 29 3B 63 26 26 28 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 3D 7B 7D 2C 66 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 31 2B 6D 2B 61 2E 6D 61 72 67 69 6E 29 2C 6B 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 32 3E 0A 63 2E 63 68 61 72 74 2E 77 69 64 74 68 2D 31 30 3F 63 2E 63 68 61 72 74 2E 77 69 64 74 68 2D 31 30 3A 65 2E 78 32 29 2C 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3D 66 2C 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3D 6B 2C 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 3D 4D 61 74 68 2E 61 62 73 28 6B 2D 66 29 29 3B 76 61 72 20 6E 3D 4D 61 74 68 2E 63 65 69 6C 28 62 3F 62 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 48 65 69 67 68 74 28 29 3A 30 29 2C 71 3D 4D 61 74 68 2E 63 65 69 6C 28 63 3F 63 2E 63 72 65 61 74 65 4C 61 62 65 6C 73 41 6E 64 43 61 6C 63 75 6C 61 74 65 48 65 69 67 68 74 28 29 3A 30 29 3B 62 26 26 28 67 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 79 32 2D 6E 2D 62 2E 6D 61 72 67 69 6E 29 2C 64 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 79 32 2D 6C 3E 62 2E 63 68 61 72 74 2E 68 65 69 67 68 74 2D 31 30 3F 62 2E 63 68 61 72 74 2E 68 65 69 67 68 74 2D 31 30 3A 65 2E 79 32 2D 6C 29 2C 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3D 67 2C 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 3D 67 2C 62 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 3D 7B 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 77 69 64 74 68 3A 6B 2D 66 2C 68 65 69 67 68 74 3A 6E 7D 29 3B 63 26 26 28 67 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 79 31 2B 63 2E 6D 61 72 67 69 6E 29 2C 64 3D 65 2E 79 31 2B 63 2E 6D 61 72 67 69 6E 2B 71 2C 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3D 0A 64 2C 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 3D 64 2C 63 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 3D 7B 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 77 69 64 74 68 3A 6B 2D 66 2C 68 65 69 67 68 74 3A 71 7D 29 3B 66 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 31 2B 61 2E 6D 61 72 67 69 6E 29 3B 67 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 63 3F 63 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 3A 31 30 3E 65 2E 79 31 3F 31 30 3A 65 2E 79 31 29 3B 6B 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 65 2E 78 31 2B 6D 2B 61 2E 6D 61 72 67 69 6E 29 3B 64 3D 4D 61 74 68 2E 72 6F 75 6E 64 28 62 3F 62 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3A 65 2E 79 32 2D 6C 3E 61 2E 63 68 61 72 74 2E 68 65 69 67 68 74 2D 31 30 3F 61 2E 63 68 61 72 74 2E 68 65 69 67 68 74 2D 31 30 3A 65 2E 79 32 2D 6C 29 3B 61 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 3D 7B 78 31 3A 6B 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 68 65 69 67 68 74 3A 4D 61 74 68 2E 61 62 73 28 64 2D 67 29 7D 3B 61 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 3D 7B 78 31 3A 66 2C 79 31 3A 67 2C 78 32 3A 6B 2C 79 32 3A 64 2C 77 69 64 74 68 3A 6B 2D 66 2C 68 65 69 67 68 74 3A 64 2D 67 7D 3B 61 2E 63 61 6C 63 75 6C 61 74 65 56 61 6C 75 65 54 6F 50 69 78 65 6C 43 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 28 29 3B 62 26 26 62 2E 63 61 6C 63 75 6C 61 74 65 56 61 6C 75 65 54 6F 50 69 78 65 6C 43 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 28 29 3B 63 26 26 63 2E 63 61 6C 63 75 6C 61 74 65 56 61 6C 75 65 54 6F 50 69 78 65 6C 43 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 28 29 3B 0A 62 26 26 62 2E 72 65 6E 64 65 72 4C 61 62 65 6C 73 54 69 63 6B 73 41 6E 64 54 69 74 6C 65 28 29 3B 63 26 26 63 2E 72 65 6E 64 65 72 4C 61 62 65 6C 73 54 69 63 6B 73 41 6E 64 54 69 74 6C 65 28 29 3B 61 2E 72 65 6E 64 65 72 4C 61 62 65 6C 73 54 69 63 6B 73 41 6E 64 54 69 74 6C 65 28 29 7D 70 2E 70 72 65 70 61 72 65 50 6C 6F 74 41 72 65 61 28 29 3B 65 3D 61 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 3B 68 2E 73 61 76 65 28 29 3B 68 2E 72 65 63 74 28 65 2E 78 31 2C 65 2E 79 31 2C 4D 61 74 68 2E 61 62 73 28 65 2E 78 32 2D 65 2E 78 31 29 2C 4D 61 74 68 2E 61 62 73 28 65 2E 79 32 2D 65 2E 79 31 29 29 3B 68 2E 63 6C 69 70 28 29 3B 61 2E 72 65 6E 64 65 72 53 74 72 69 70 4C 69 6E 65 73 4F 66 54 68 69 63 6B 6E 65 73 73 54 79 70 65 28 22 76 61 6C 75 65 22 29 3B 62 26 26 62 2E 72 65 6E 64 65 72 53 74 72 69 70 4C 69 6E 65 73 4F 66 54 68 69 63 6B 6E 65 73 73 54 79 70 65 28 22 76 61 6C 75 65 22 29 3B 63 26 26 63 2E 72 65 6E 64 65 72 53 74 72 69 70 4C 69 6E 65 73 4F 66 54 68 69 63 6B 6E 65 73 73 54 79 70 65 28 22 76 61 6C 75 65 22 29 3B 61 2E 72 65 6E 64 65 72 49 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 73 28 29 3B 62 26 26 62 2E 72 65 6E 64 65 72 49 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 73 28 29 3B 63 26 26 63 2E 72 65 6E 64 65 72 49 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 73 28 29 3B 68 2E 72 65 73 74 6F 72 65 28 29 3B 61 2E 72 65 6E 64 65 72 47 72 69 64 28 29 3B 62 26 26 62 2E 72 65 6E 64 65 72 47 72 69 64 28 29 3B 63 26 26 63 2E 72 65 6E 64 65 72 47 72 69 64 28 29 3B 61 2E 72 65 6E 64 65 72 41 78 69 73 4C 69 6E 65 28 29 3B 0A 62 26 26 62 2E 72 65 6E 64 65 72 41 78 69 73 4C 69 6E 65 28 29 3B 63 26 26 63 2E 72 65 6E 64 65 72 41 78 69 73 4C 69 6E 65 28 29 3B 61 2E 72 65 6E 64 65 72 53 74 72 69 70 4C 69 6E 65 73 4F 66 54 68 69 63 6B 6E 65 73 73 54 79 70 65 28 22 70 69 78 65 6C 22 29 3B 62 26 26 62 2E 72 65 6E 64 65 72 53 74 72 69 70 4C 69 6E 65 73 4F 66 54 68 69 63 6B 6E 65 73 73 54 79 70 65 28 22 70 69 78 65 6C 22 29 3B 63 26 26 63 2E 72 65 6E 64 65 72 53 74 72 69 70 4C 69 6E 65 73 4F 66 54 68 69 63 6B 6E 65 73 73 54 79 70 65 28 22 70 69 78 65 6C 22 29 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 4C 61 62 65 6C 73 54 69 63 6B 73 41 6E 64 54 69 74 6C 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 21 31 2C 62 3D 30 2C 63 3D 31 2C 64 3D 30 3B 30 21 3D 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 26 26 33 36 30 21 3D 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 26 26 28 63 3D 31 2E 32 29 3B 69 66 28 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 29 7B 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 66 6F 72 28 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 66 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2C 66 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 66 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 0A 28 66 3D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 63 6F 73 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2B 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2A 4D 61 74 68 2E 73 69 6E 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2C 62 2B 3D 66 29 3B 62 3E 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2A 63 26 26 28 61 3D 21 30 29 7D 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 66 6F 72 28 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 66 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2C 66 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 66 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 28 66 3D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2A 4D 61 74 68 2E 63 6F 73 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2B 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 73 69 6E 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2C 62 2B 3D 66 29 3B 62 3E 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2A 63 26 26 28 61 3D 21 30 29 7D 7D 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 66 6F 72 28 76 61 72 20 65 3D 0A 30 2C 66 2C 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 66 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2C 21 28 66 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 66 2E 70 6F 73 69 74 69 6F 6E 3E 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 7B 62 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 66 2E 70 6F 73 69 74 69 6F 6E 29 3B 69 66 28 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 26 26 21 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 26 26 22 70 69 78 65 6C 22 3D 3D 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 29 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 3F 28 63 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 63 2E 74 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 2E 63 6F 6C 6F 72 29 3A 28 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 74 68 69 73 2E 74 69 63 6B 43 6F 6C 6F 72 29 2C 63 3D 31 3D 3D 3D 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 25 0A 32 3F 28 62 2E 78 3C 3C 30 29 2B 30 2E 35 3A 62 2E 78 3C 3C 30 2C 74 68 69 73 2E 63 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 74 68 69 73 2E 63 74 78 2E 6D 6F 76 65 54 6F 28 63 2C 62 2E 79 3C 3C 30 29 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 54 6F 28 63 2C 62 2E 79 2B 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 3C 3C 30 29 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 28 29 3B 69 66 28 21 61 7C 7C 30 3D 3D 3D 64 2B 2B 25 32 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 29 30 3D 3D 3D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 61 6E 67 6C 65 3F 28 62 2E 78 2D 3D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 2C 62 2E 79 2B 3D 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2B 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 66 6F 6E 74 53 69 7A 65 2F 32 29 3A 28 62 2E 78 2D 3D 30 3E 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 63 6F 73 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 3A 30 2C 62 2E 79 2B 3D 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2B 4D 61 74 68 2E 61 62 73 28 30 3E 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 73 69 6E 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2D 35 3A 35 29 29 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 3D 62 2E 78 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 3D 62 2E 79 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 7D 74 68 69 73 2E 74 69 74 6C 65 26 26 0A 28 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 2C 79 3A 74 68 69 73 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 79 32 2D 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2D 35 2C 6D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2C 6D 61 78 48 65 69 67 68 74 3A 31 2E 35 2A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 61 6E 67 6C 65 3A 30 2C 74 65 78 74 3A 74 68 69 73 2E 74 69 74 6C 65 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 74 79 6C 65 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 78 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 2B 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2F 0A 32 2D 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 79 3D 74 68 69 73 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 79 32 2D 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2D 33 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 29 7D 65 6C 73 65 20 69 66 28 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 66 6F 72 28 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 66 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2C 21 28 66 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 66 2E 70 6F 73 69 74 69 6F 6E 3E 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 7B 62 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 66 2E 70 6F 73 69 74 69 6F 6E 29 3B 69 66 28 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 26 26 21 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 26 26 22 70 69 78 65 6C 22 3D 3D 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 29 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 3F 28 63 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2C 0A 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 63 2E 74 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 2E 63 6F 6C 6F 72 29 3A 28 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 74 68 69 73 2E 74 69 63 6B 43 6F 6C 6F 72 29 2C 63 3D 31 3D 3D 3D 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 28 62 2E 78 3C 3C 30 29 2B 30 2E 35 3A 62 2E 78 3C 3C 30 2C 74 68 69 73 2E 63 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 74 68 69 73 2E 63 74 78 2E 6D 6F 76 65 54 6F 28 63 2C 62 2E 79 3C 3C 30 29 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 54 6F 28 63 2C 62 2E 79 2D 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 3C 3C 30 29 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 28 29 3B 69 66 28 21 61 7C 7C 30 3D 3D 3D 64 2B 2B 25 32 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 29 30 3D 3D 3D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 61 6E 67 6C 65 3F 28 62 2E 78 2D 3D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 2C 62 2E 79 2D 3D 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2B 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 68 65 69 67 68 74 2F 32 29 3A 28 62 2E 78 2D 3D 30 3C 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 63 6F 73 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 3A 0A 30 2C 62 2E 79 2D 3D 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2B 4D 61 74 68 2E 61 62 73 28 30 3C 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 73 69 6E 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2B 35 3A 35 29 29 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 3D 62 2E 78 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 3D 62 2E 79 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 7D 74 68 69 73 2E 74 69 74 6C 65 26 26 28 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 2C 79 3A 74 68 69 73 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 79 31 2B 31 2C 6D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2C 6D 61 78 48 65 69 67 68 74 3A 31 2E 35 2A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 61 6E 67 6C 65 3A 30 2C 74 65 78 74 3A 74 68 69 73 2E 74 69 74 6C 65 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 2C 0A 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 74 79 6C 65 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 78 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 2B 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2F 32 2D 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 29 7D 65 6C 73 65 20 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 66 6F 72 28 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 66 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2C 21 28 66 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 66 2E 70 6F 73 69 74 69 6F 6E 3E 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 7B 62 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 66 2E 70 6F 73 69 74 69 6F 6E 29 3B 69 66 28 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 26 26 21 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 26 26 0A 22 70 69 78 65 6C 22 3D 3D 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 29 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 3F 28 63 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 63 2E 74 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 2E 63 6F 6C 6F 72 29 3A 28 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 74 68 69 73 2E 74 69 63 6B 43 6F 6C 6F 72 29 2C 63 3D 31 3D 3D 3D 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 28 62 2E 79 3C 3C 30 29 2B 30 2E 35 3A 62 2E 79 3C 3C 30 2C 74 68 69 73 2E 63 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 74 68 69 73 2E 63 74 78 2E 6D 6F 76 65 54 6F 28 62 2E 78 3C 3C 30 2C 63 29 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 54 6F 28 62 2E 78 2D 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 3C 3C 30 2C 63 29 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 28 29 3B 69 66 28 21 61 7C 7C 30 3D 3D 3D 64 2B 2B 25 32 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 29 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 3D 62 2E 78 2D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 63 6F 73 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2D 0A 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2D 35 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 3D 30 3D 3D 3D 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 3F 62 2E 79 3A 62 2E 79 2D 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2A 4D 61 74 68 2E 73 69 6E 28 4D 61 74 68 2E 50 49 2F 31 38 30 2A 74 68 69 73 2E 6C 61 62 65 6C 41 6E 67 6C 65 29 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 7D 74 68 69 73 2E 74 69 74 6C 65 26 26 28 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 74 68 69 73 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 78 31 2B 31 2C 79 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 2C 6D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2C 6D 61 78 48 65 69 67 68 74 3A 31 2E 35 2A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 61 6E 67 6C 65 3A 2D 39 30 2C 74 65 78 74 3A 74 68 69 73 2E 74 69 74 6C 65 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 74 79 6C 65 2C 0A 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 79 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2F 32 2B 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 2B 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 29 7D 65 6C 73 65 20 69 66 28 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 66 6F 72 28 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 69 66 28 66 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2C 21 28 66 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 66 2E 70 6F 73 69 74 69 6F 6E 3E 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 7B 62 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 66 2E 70 6F 73 69 74 69 6F 6E 29 3B 69 66 28 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 26 26 21 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 26 26 22 70 69 78 65 6C 22 3D 3D 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 29 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 3F 0A 28 63 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 63 2E 74 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 63 2E 63 6F 6C 6F 72 29 3A 28 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 74 68 69 73 2E 74 69 63 6B 54 68 69 63 6B 6E 65 73 73 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 74 68 69 73 2E 74 69 63 6B 43 6F 6C 6F 72 29 2C 63 3D 31 3D 3D 3D 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 28 62 2E 79 3C 3C 30 29 2B 30 2E 35 3A 62 2E 79 3C 3C 30 2C 74 68 69 73 2E 63 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 74 68 69 73 2E 63 74 78 2E 6D 6F 76 65 54 6F 28 62 2E 78 3C 3C 30 2C 63 29 2C 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 54 6F 28 62 2E 78 2B 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 3C 3C 30 2C 63 29 2C 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 28 29 3B 69 66 28 21 61 7C 7C 30 3D 3D 3D 64 2B 2B 25 32 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 29 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 78 3D 62 2E 78 2B 74 68 69 73 2E 74 69 63 6B 4C 65 6E 67 74 68 2B 35 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 79 3D 62 2E 79 2C 66 2E 74 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 7D 74 68 69 73 2E 74 69 74 6C 65 26 26 28 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 3D 6E 65 77 20 48 28 74 68 69 73 2E 63 74 78 2C 7B 78 3A 74 68 69 73 2E 62 6F 75 6E 64 69 6E 67 52 65 63 74 2E 78 32 2D 0A 31 2C 79 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 2C 6D 61 78 57 69 64 74 68 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2C 6D 61 78 48 65 69 67 68 74 3A 31 2E 35 2A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 61 6E 67 6C 65 3A 39 30 2C 74 65 78 74 3A 74 68 69 73 2E 74 69 74 6C 65 2C 68 6F 72 69 7A 6F 6E 74 61 6C 41 6C 69 67 6E 3A 22 63 65 6E 74 65 72 22 2C 66 6F 6E 74 53 69 7A 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 69 7A 65 2C 66 6F 6E 74 46 61 6D 69 6C 79 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 46 61 6D 69 6C 79 2C 66 6F 6E 74 57 65 69 67 68 74 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 57 65 69 67 68 74 2C 66 6F 6E 74 43 6F 6C 6F 72 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 43 6F 6C 6F 72 2C 66 6F 6E 74 53 74 79 6C 65 3A 74 68 69 73 2E 74 69 74 6C 65 46 6F 6E 74 53 74 79 6C 65 2C 74 65 78 74 42 61 73 65 6C 69 6E 65 3A 22 74 6F 70 22 7D 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 6D 65 61 73 75 72 65 54 65 78 74 28 29 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 79 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2F 32 2D 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 77 69 64 74 68 2F 32 2B 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 2C 74 68 69 73 2E 5F 74 69 74 6C 65 54 65 78 74 42 6C 6F 63 6B 2E 72 65 6E 64 65 72 28 21 30 29 29 7D 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 49 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 73 3D 0A 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 63 74 78 2C 62 2C 63 2C 64 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2C 65 3D 30 3B 62 3D 21 30 3B 69 66 28 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 26 26 74 68 69 73 2E 69 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 29 66 6F 72 28 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 74 68 69 73 2E 69 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 2C 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 28 62 3F 28 62 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 70 6F 73 69 74 69 6F 6E 29 2C 63 3D 65 2B 31 3E 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 2D 31 3F 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 3A 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 2B 31 5D 2E 70 6F 73 69 74 69 6F 6E 29 2C 61 2E 66 69 6C 6C 52 65 63 74 28 62 2E 78 2C 64 2E 79 31 2C 4D 61 74 68 2E 61 62 73 28 63 2E 78 2D 62 2E 78 29 2C 4D 61 74 68 2E 61 62 73 28 64 2E 79 31 2D 0A 64 2E 79 32 29 29 2C 62 3D 21 31 29 3A 62 3D 21 30 29 3B 65 6C 73 65 20 69 66 28 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 26 26 74 68 69 73 2E 69 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 29 66 6F 72 28 61 2E 66 69 6C 6C 53 74 79 6C 65 3D 74 68 69 73 2E 69 6E 74 65 72 6C 61 63 65 64 43 6F 6C 6F 72 2C 65 3D 30 3B 65 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 73 74 72 69 70 4C 69 6E 65 7C 7C 28 62 3F 28 63 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 5D 2E 70 6F 73 69 74 69 6F 6E 29 2C 62 3D 65 2B 31 3E 3D 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 2D 31 3F 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 3A 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 65 2B 31 5D 2E 70 6F 73 69 74 69 6F 6E 29 2C 61 2E 66 69 6C 6C 52 65 63 74 28 64 2E 78 31 2C 62 2E 79 2C 4D 61 74 68 2E 61 62 73 28 64 2E 78 31 2D 64 2E 78 32 29 2C 4D 61 74 68 2E 61 62 73 28 62 2E 79 2D 63 2E 79 29 29 2C 62 3D 21 31 29 3A 62 3D 21 30 29 3B 61 2E 62 65 67 69 6E 50 61 74 68 28 29 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 53 74 72 69 70 4C 69 6E 65 73 4F 66 54 68 69 63 6B 6E 65 73 73 54 79 70 65 3D 0A 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 26 26 30 3C 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 2E 6C 65 6E 67 74 68 26 26 61 29 66 6F 72 28 76 61 72 20 62 3D 30 2C 62 3D 30 3B 62 3C 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 7B 76 61 72 20 63 3D 74 68 69 73 2E 73 74 72 69 70 4C 69 6E 65 73 5B 62 5D 3B 63 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 3D 3D 3D 61 26 26 28 22 70 69 78 65 6C 22 3D 3D 3D 61 26 26 28 63 2E 76 61 6C 75 65 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 63 2E 76 61 6C 75 65 3E 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 7C 7C 28 63 2E 73 68 6F 77 4F 6E 54 6F 70 3F 74 68 69 73 2E 63 68 61 72 74 2E 61 64 64 45 76 65 6E 74 4C 69 73 74 65 6E 65 72 28 22 64 61 74 61 41 6E 69 6D 61 74 69 6F 6E 49 74 65 72 61 74 69 6F 6E 45 6E 64 22 2C 63 2E 72 65 6E 64 65 72 2C 63 29 3A 63 2E 72 65 6E 64 65 72 28 29 29 29 7D 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 47 72 69 64 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 69 66 28 74 68 69 73 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 26 26 30 3C 74 68 69 73 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 3B 61 2E 73 61 76 65 28 29 3B 76 61 72 20 62 2C 63 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 3B 61 2E 6C 69 6E 65 57 69 64 74 68 3D 74 68 69 73 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 3B 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 0A 74 68 69 73 2E 67 72 69 64 43 6F 6C 6F 72 3B 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 74 68 69 73 2E 67 72 69 64 44 61 73 68 54 79 70 65 2C 74 68 69 73 2E 67 72 69 64 54 68 69 63 6B 6E 65 73 73 29 29 3B 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 66 6F 72 28 64 3D 30 3B 64 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 26 26 21 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 73 74 72 69 70 4C 69 6E 65 3B 64 2B 2B 29 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 70 6F 73 69 74 69 6F 6E 3E 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 28 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 70 6F 73 69 74 69 6F 6E 29 2C 62 3D 31 3D 3D 3D 61 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 28 62 2E 78 3C 3C 30 29 2B 30 2E 35 3A 62 2E 78 3C 3C 30 2C 61 2E 6D 6F 76 65 54 6F 28 62 2C 63 2E 79 31 3C 3C 30 29 2C 61 2E 6C 69 6E 65 54 6F 28 62 2C 63 2E 79 32 3C 3C 30 29 2C 61 2E 73 74 72 6F 6B 65 28 29 29 3B 65 6C 73 65 20 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 0A 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 66 6F 72 28 76 61 72 20 64 3D 30 3B 64 3C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 2E 6C 65 6E 67 74 68 26 26 21 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 73 74 72 69 70 4C 69 6E 65 3B 64 2B 2B 29 30 3D 3D 3D 64 26 26 22 61 78 69 73 59 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 26 26 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 7C 7C 28 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 70 6F 73 69 74 69 6F 6E 3C 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 70 6F 73 69 74 69 6F 6E 3E 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 7C 7C 28 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 3D 74 68 69 73 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 5F 6C 61 62 65 6C 73 5B 64 5D 2E 70 6F 73 69 74 69 6F 6E 29 2C 62 3D 31 3D 3D 3D 61 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 28 62 2E 79 3C 3C 30 29 2B 30 2E 35 3A 62 2E 79 3C 3C 30 2C 61 2E 6D 6F 76 65 54 6F 28 63 2E 78 31 3C 3C 30 2C 62 29 2C 61 2E 6C 69 6E 65 54 6F 28 63 2E 78 32 3C 3C 30 2C 62 29 2C 61 2E 73 74 72 6F 6B 65 28 29 29 3B 61 2E 72 65 73 74 6F 72 65 28 29 7D 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 41 78 69 73 4C 69 6E 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 63 68 61 72 74 2E 63 74 78 3B 61 2E 73 61 76 65 28 29 3B 0A 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 69 66 28 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 7B 61 2E 6C 69 6E 65 57 69 64 74 68 3D 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 3B 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6C 6F 72 3F 74 68 69 73 2E 6C 69 6E 65 43 6F 6C 6F 72 3A 22 62 6C 61 63 6B 22 3B 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 74 68 69 73 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 3B 76 61 72 20 62 3D 31 3D 3D 3D 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 25 32 3F 28 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3C 3C 30 29 2B 30 2E 35 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3C 3C 30 3B 61 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 61 2E 6D 6F 76 65 54 6F 28 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 2C 62 29 3B 61 2E 6C 69 6E 65 54 6F 28 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 2C 62 29 3B 61 2E 73 74 72 6F 6B 65 28 29 7D 7D 65 6C 73 65 22 6C 65 66 74 22 21 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 26 26 22 72 69 67 68 74 22 21 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 21 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 7C 7C 28 61 2E 6C 69 6E 65 57 69 64 74 68 3D 0A 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 2C 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6C 6F 72 2C 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 61 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 74 68 69 73 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 29 29 2C 62 3D 31 3D 3D 3D 74 68 69 73 2E 6C 69 6E 65 54 68 69 63 6B 6E 65 73 73 25 32 3F 28 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3C 3C 30 29 2B 30 2E 35 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3C 3C 30 2C 61 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 61 2E 6D 6F 76 65 54 6F 28 62 2C 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 29 2C 61 2E 6C 69 6E 65 54 6F 28 62 2C 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 29 2C 61 2E 73 74 72 6F 6B 65 28 29 29 3B 61 2E 72 65 73 74 6F 72 65 28 29 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 7B 7D 3B 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 7B 76 61 72 20 63 3D 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 3B 62 2E 78 3D 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 63 2A 28 61 2D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 3B 62 2E 79 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 7D 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 63 3D 2D 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2C 62 2E 79 3D 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2D 63 2A 28 61 2D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2C 62 2E 78 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3B 72 65 74 75 72 6E 20 62 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 63 6F 6E 76 65 72 74 50 69 78 65 6C 54 6F 56 61 6C 75 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 21 61 29 72 65 74 75 72 6E 20 6E 75 6C 6C 3B 76 61 72 20 62 3D 30 3B 72 65 74 75 72 6E 20 62 3D 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 2B 28 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 3F 61 2E 79 3A 61 2E 78 29 2D 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 29 2F 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 7D 3B 0A 43 2E 70 72 6F 74 6F 74 79 70 65 2E 73 65 74 56 69 65 77 50 6F 72 74 52 61 6E 67 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 4D 61 74 68 2E 6D 69 6E 28 61 2C 62 29 3B 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 6E 65 77 56 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 4D 61 74 68 2E 6D 61 78 28 61 2C 62 29 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 58 56 61 6C 75 65 41 74 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 21 61 29 72 65 74 75 72 6E 20 6E 75 6C 6C 3B 76 61 72 20 62 3D 6E 75 6C 6C 3B 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 3F 62 3D 28 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2F 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2A 28 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 2D 61 2E 79 29 2B 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 26 26 28 62 3D 28 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 0A 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2F 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2A 28 61 2E 78 2D 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 29 2B 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 3B 72 65 74 75 72 6E 20 62 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 63 61 6C 63 75 6C 61 74 65 56 61 6C 75 65 54 6F 50 69 78 65 6C 43 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 74 68 69 73 2E 72 65 76 65 72 73 65 64 3D 21 31 3B 61 3D 7B 70 69 78 65 6C 50 65 72 55 6E 69 74 3A 6E 75 6C 6C 2C 6D 69 6E 69 6D 75 6D 3A 6E 75 6C 6C 2C 72 65 66 65 72 65 6E 63 65 3A 6E 75 6C 6C 7D 3B 76 61 72 20 62 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2C 63 3D 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 3B 61 2E 6D 69 6E 69 6D 75 6D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3B 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 61 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 3D 28 74 68 69 73 2E 72 65 76 65 72 73 65 64 3F 2D 31 3A 31 29 2A 62 2F 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 0A 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2C 61 2E 72 65 66 65 72 65 6E 63 65 3D 74 68 69 73 2E 72 65 76 65 72 73 65 64 3F 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 32 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 3B 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 29 61 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 3D 28 74 68 69 73 2E 72 65 76 65 72 73 65 64 3F 31 3A 2D 31 29 2A 63 2F 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2C 61 2E 72 65 66 65 72 65 6E 63 65 3D 74 68 69 73 2E 72 65 76 65 72 73 65 64 3F 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 31 3A 74 68 69 73 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 3B 74 68 69 73 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 3D 61 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 63 61 6C 63 75 6C 61 74 65 41 78 69 73 50 61 72 61 6D 65 74 65 72 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 74 68 69 73 2E 63 68 61 72 74 2E 6C 61 79 6F 75 74 4D 61 6E 61 67 65 72 2E 67 65 74 46 72 65 65 53 70 61 63 65 28 29 2C 62 3D 21 31 3B 22 62 6F 74 74 6F 6D 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 5F 70 6F 73 69 74 69 6F 6E 3F 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3D 0A 61 2E 77 69 64 74 68 2C 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 3D 61 2E 68 65 69 67 68 74 29 3A 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3D 61 2E 68 65 69 67 68 74 2C 74 68 69 73 2E 6D 61 78 48 65 69 67 68 74 3D 61 2E 77 69 64 74 68 29 3B 76 61 72 20 61 3D 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 35 30 30 3E 74 68 69 73 2E 6D 61 78 57 69 64 74 68 3F 38 3A 4D 61 74 68 2E 6D 61 78 28 36 2C 4D 61 74 68 2E 66 6C 6F 6F 72 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 2F 36 32 29 29 3A 4D 61 74 68 2E 6D 61 78 28 4D 61 74 68 2E 66 6C 6F 6F 72 28 74 68 69 73 2E 6D 61 78 57 69 64 74 68 2F 34 30 29 2C 32 29 2C 63 2C 64 2C 65 2C 66 3B 66 3D 30 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3B 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 28 63 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 2C 0A 64 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 2C 30 3D 3D 3D 64 2D 63 26 26 28 66 3D 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 3F 30 2E 34 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 2C 64 2B 3D 66 2C 63 2D 3D 66 29 2C 49 6E 66 69 6E 69 74 79 21 3D 3D 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3F 65 3D 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3A 31 3C 64 2D 63 3F 65 3D 30 2E 35 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 3A 28 65 3D 31 2C 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 26 26 28 62 3D 21 30 29 29 29 3A 22 61 78 69 73 59 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 28 63 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 69 6E 2C 64 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 76 69 65 77 50 6F 72 74 4D 61 78 2C 69 73 46 69 6E 69 74 65 28 63 29 7C 7C 0A 69 73 46 69 6E 69 74 65 28 64 29 3F 69 73 46 69 6E 69 74 65 28 63 29 3F 69 73 46 69 6E 69 74 65 28 64 29 7C 7C 28 64 3D 63 29 3A 63 3D 64 3A 28 64 3D 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 3F 2D 49 6E 66 69 6E 69 74 79 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 2C 63 3D 30 29 2C 30 3D 3D 3D 63 26 26 30 3D 3D 3D 64 3F 28 64 2B 3D 39 2C 63 3D 30 29 3A 30 3D 3D 3D 64 2D 63 3F 28 66 3D 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 30 2E 30 31 2A 4D 61 74 68 2E 61 62 73 28 64 29 29 2C 35 29 2C 64 2B 3D 66 2C 63 2D 3D 66 29 3A 63 3E 64 3F 28 66 3D 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 30 2E 30 31 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 29 2C 35 29 2C 30 3C 3D 64 3F 63 3D 64 2D 66 3A 64 3D 63 2B 66 29 3A 28 66 3D 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 30 2E 30 31 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 29 2C 30 2E 30 35 29 2C 30 21 3D 3D 64 26 26 28 64 2B 3D 66 29 2C 30 21 3D 3D 63 26 26 28 63 2D 3D 66 29 29 2C 65 3D 49 6E 66 69 6E 69 74 79 21 3D 3D 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3F 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3A 31 3C 64 2D 63 3F 30 2E 35 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 3A 31 2C 74 68 69 73 2E 69 6E 63 6C 75 64 65 5A 65 72 6F 26 26 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 26 26 0A 30 3C 63 26 26 28 63 3D 30 29 2C 74 68 69 73 2E 69 6E 63 6C 75 64 65 5A 65 72 6F 26 26 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 26 26 30 3E 64 26 26 28 64 3D 30 29 29 3B 66 3D 28 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 7C 7C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3F 64 3A 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 2D 28 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 7C 7C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 63 3A 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 3B 69 66 28 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 29 7B 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 7C 7C 28 66 2F 31 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 32 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 35 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 35 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 0A 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 31 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 32 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 35 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 35 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 31 30 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 30 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 32 30 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 30 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 32 35 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 35 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 33 30 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 33 30 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 34 30 30 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 34 30 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 35 30 30 3C 3D 0A 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 35 30 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 29 3A 66 2F 28 31 2A 44 2E 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 73 65 63 6F 6E 64 22 29 3A 66 2F 28 32 2A 44 2E 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 73 65 63 6F 6E 64 22 29 3A 66 2F 28 35 2A 44 2E 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 35 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 73 65 63 6F 6E 64 22 29 3A 66 2F 28 31 30 2A 44 2E 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 73 65 63 6F 6E 64 22 29 3A 66 2F 28 31 35 2A 44 2E 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 35 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 73 65 63 6F 6E 64 22 29 3A 66 2F 28 32 30 2A 44 2E 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 73 65 63 6F 6E 64 22 29 3A 66 2F 28 33 30 2A 44 2E 73 65 63 6F 6E 64 44 75 72 61 74 69 6F 6E 29 3C 3D 0A 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 33 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 73 65 63 6F 6E 64 22 29 3A 66 2F 28 31 2A 44 2E 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6E 75 74 65 22 29 3A 66 2F 28 32 2A 44 2E 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6E 75 74 65 22 29 3A 66 2F 28 35 2A 44 2E 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 35 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6E 75 74 65 22 29 3A 66 2F 28 31 30 2A 44 2E 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6E 75 74 65 22 29 3A 66 2F 28 31 35 2A 44 2E 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 35 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6E 75 74 65 22 29 3A 66 2F 28 32 30 2A 44 2E 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6E 75 74 65 22 29 3A 66 2F 28 33 30 2A 44 2E 6D 69 6E 75 74 65 44 75 72 61 74 69 6F 6E 29 3C 3D 0A 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 33 30 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 69 6E 75 74 65 22 29 3A 66 2F 28 31 2A 44 2E 68 6F 75 72 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 68 6F 75 72 22 29 3A 66 2F 28 32 2A 44 2E 68 6F 75 72 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 68 6F 75 72 22 29 3A 66 2F 28 33 2A 44 2E 68 6F 75 72 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 33 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 68 6F 75 72 22 29 3A 66 2F 28 36 2A 44 2E 68 6F 75 72 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 36 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 68 6F 75 72 22 29 3A 66 2F 28 31 2A 44 2E 64 61 79 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 64 61 79 22 29 3A 66 2F 28 32 2A 44 2E 64 61 79 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 64 61 79 22 29 3A 66 2F 28 34 2A 44 2E 64 61 79 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 34 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 0A 22 64 61 79 22 29 3A 66 2F 28 31 2A 44 2E 77 65 65 6B 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 77 65 65 6B 22 29 3A 66 2F 28 32 2A 44 2E 77 65 65 6B 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 77 65 65 6B 22 29 3A 66 2F 28 33 2A 44 2E 77 65 65 6B 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 33 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 77 65 65 6B 22 29 3A 66 2F 28 31 2A 44 2E 6D 6F 6E 74 68 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 31 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 6F 6E 74 68 22 29 3A 66 2F 28 32 2A 44 2E 6D 6F 6E 74 68 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 32 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 6F 6E 74 68 22 29 3A 66 2F 28 33 2A 44 2E 6D 6F 6E 74 68 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 33 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 6F 6E 74 68 22 29 3A 66 2F 28 36 2A 44 2E 6D 6F 6E 74 68 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 36 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6D 6F 6E 74 68 22 29 3A 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 66 2F 0A 28 31 2A 44 2E 79 65 61 72 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 31 3A 66 2F 28 32 2A 44 2E 79 65 61 72 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 32 3A 66 2F 28 34 2A 44 2E 79 65 61 72 44 75 72 61 74 69 6F 6E 29 3C 3D 61 3F 34 3A 4D 61 74 68 2E 66 6C 6F 6F 72 28 43 2E 67 65 74 4E 69 63 65 4E 75 6D 62 65 72 28 66 2F 28 61 2D 31 29 2C 21 30 29 2F 44 2E 79 65 61 72 44 75 72 61 74 69 6F 6E 29 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 79 65 61 72 22 29 29 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 63 2D 65 2F 32 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 64 2B 65 2F 32 3B 62 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 4D 4D 4D 20 44 44 20 59 59 59 59 20 48 48 3A 6D 6D 22 3A 22 79 65 61 72 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 59 59 59 59 22 3A 22 6D 6F 6E 74 68 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 4D 4D 4D 20 59 59 59 59 22 3A 0A 22 77 65 65 6B 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 4D 4D 4D 20 44 44 20 59 59 59 59 22 3A 22 64 61 79 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 4D 4D 4D 20 44 44 20 59 59 59 59 22 3A 22 68 6F 75 72 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 68 68 3A 6D 6D 20 54 54 22 3A 22 6D 69 6E 75 74 65 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 68 68 3A 6D 6D 20 54 54 22 3A 22 73 65 63 6F 6E 64 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3F 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 68 68 3A 6D 6D 3A 73 73 20 54 54 22 3A 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 26 26 28 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 66 66 66 27 6D 73 27 22 29 3B 74 68 69 73 2E 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 7C 7C 28 74 68 69 73 2E 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 74 68 69 73 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 29 7D 65 6C 73 65 7B 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 0A 22 6E 75 6D 62 65 72 22 3B 66 3D 43 2E 67 65 74 4E 69 63 65 4E 75 6D 62 65 72 28 66 2C 21 31 29 3B 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 26 26 30 3C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 3F 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 3A 43 2E 67 65 74 4E 69 63 65 4E 75 6D 62 65 72 28 66 2F 28 61 2D 31 29 2C 21 30 29 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 63 2D 65 2F 32 3A 4D 61 74 68 2E 66 6C 6F 6F 72 28 63 2F 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 64 2B 65 2F 32 3A 4D 61 74 68 2E 63 65 69 6C 28 64 2F 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3B 30 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 26 26 30 3D 3D 3D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 28 30 3D 3D 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 0A 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2B 3D 31 30 3A 30 3D 3D 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 26 26 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2D 3D 31 30 29 2C 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 26 26 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 26 26 28 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3D 43 2E 67 65 74 4E 69 63 65 4E 75 6D 62 65 72 28 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2F 28 61 2D 31 29 2C 21 30 29 29 29 7D 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 7C 7C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 29 69 66 28 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 28 63 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 2C 64 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 61 78 2C 30 3D 3D 3D 64 2D 63 26 26 28 66 3D 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 3F 30 2E 34 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 2C 64 2B 3D 66 2C 63 2D 3D 66 29 2C 0A 65 3D 49 6E 66 69 6E 69 74 79 21 3D 3D 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3F 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3A 31 3C 64 2D 63 3F 30 2E 35 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 3A 31 29 3A 22 61 78 69 73 59 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 28 63 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 2C 64 3D 6E 75 6C 6C 21 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3F 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3A 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 61 78 2C 69 73 46 69 6E 69 74 65 28 63 29 7C 7C 69 73 46 69 6E 69 74 65 28 64 29 3F 30 3D 3D 3D 63 26 26 30 3D 3D 3D 64 3F 28 64 2B 3D 39 2C 63 3D 30 29 3A 30 3D 3D 3D 64 2D 63 3F 28 66 3D 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 30 2E 30 31 2A 4D 61 74 68 2E 61 62 73 28 64 29 29 2C 35 29 2C 64 2B 3D 66 2C 63 2D 3D 66 29 3A 63 3E 64 3F 28 66 3D 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 30 2E 30 31 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 29 2C 35 29 2C 30 3C 3D 64 3F 63 3D 64 2D 66 3A 64 3D 63 2B 66 29 3A 28 66 3D 4D 61 74 68 2E 6D 69 6E 28 4D 61 74 68 2E 61 62 73 28 30 2E 30 31 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 29 2C 30 2E 30 35 29 2C 30 21 3D 3D 64 26 26 28 64 2B 3D 66 29 2C 30 21 3D 3D 63 26 26 28 63 2D 3D 66 29 29 3A 28 64 3D 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 3F 0A 2D 49 6E 66 69 6E 69 74 79 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 69 6E 74 65 72 76 61 6C 2C 63 3D 30 29 2C 65 3D 49 6E 66 69 6E 69 74 79 21 3D 3D 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3F 74 68 69 73 2E 64 61 74 61 49 6E 66 6F 2E 6D 69 6E 44 69 66 66 3A 31 3C 64 2D 63 3F 30 2E 35 2A 4D 61 74 68 2E 61 62 73 28 64 2D 63 29 3A 31 2C 74 68 69 73 2E 69 6E 63 6C 75 64 65 5A 65 72 6F 26 26 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 29 29 26 26 30 3C 63 26 26 28 63 3D 30 29 2C 74 68 69 73 2E 69 6E 63 6C 75 64 65 5A 65 72 6F 26 26 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 6D 61 78 69 6D 75 6D 29 29 26 26 30 3E 64 26 26 28 64 3D 30 29 29 2C 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 29 7B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 29 29 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3D 63 2D 65 2F 32 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 6D 61 78 69 6D 75 6D 29 29 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3D 64 2B 65 2F 32 7D 65 6C 73 65 20 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 3D 22 6E 75 6D 62 65 72 22 2C 6E 75 6C 6C 3D 3D 3D 0A 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 26 26 28 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3D 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 63 2D 65 2F 32 3A 4D 61 74 68 2E 66 6C 6F 6F 72 28 63 2F 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 2C 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 2C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 3F 49 6E 66 69 6E 69 74 79 3A 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 29 2C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 26 26 28 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3D 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 3F 64 2B 65 2F 32 3A 4D 61 74 68 2E 63 65 69 6C 28 64 2F 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 2C 74 68 69 73 2E 6D 61 78 69 6D 75 6D 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 6D 61 78 69 6D 75 6D 2C 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 3F 2D 49 6E 66 69 6E 69 74 79 3A 0A 74 68 69 73 2E 73 65 73 73 69 6F 6E 56 61 72 69 61 62 6C 65 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 29 2C 30 3D 3D 3D 74 68 69 73 2E 6D 61 78 69 6D 75 6D 26 26 30 3D 3D 3D 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 26 26 28 30 3D 3D 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6D 69 6E 69 6D 75 6D 3F 74 68 69 73 2E 6D 61 78 69 6D 75 6D 2B 3D 31 30 3A 30 3D 3D 3D 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2E 6D 61 78 69 6D 75 6D 26 26 28 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 2D 3D 31 30 29 29 3B 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3D 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2C 74 68 69 73 2E 6D 69 6E 69 6D 75 6D 29 3B 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3D 4D 61 74 68 2E 6D 69 6E 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2C 74 68 69 73 2E 6D 61 78 69 6D 75 6D 29 3B 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 53 74 61 72 74 50 6F 73 69 74 69 6F 6E 3D 22 61 78 69 73 58 22 3D 3D 3D 74 68 69 73 2E 74 79 70 65 26 26 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 3F 74 68 69 73 2E 67 65 74 4C 61 62 65 6C 53 74 61 72 74 50 6F 69 6E 74 28 6E 65 77 20 44 61 74 65 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 2C 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 3A 4D 61 74 68 2E 66 6C 6F 6F 72 28 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2B 0A 30 2E 32 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 2F 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 29 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 3B 69 66 28 21 74 68 69 73 2E 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 26 26 28 74 68 69 73 2E 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3D 22 23 2C 23 23 30 2E 23 23 22 2C 66 3D 4D 61 74 68 2E 61 62 73 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2C 31 3E 66 29 29 7B 62 3D 4D 61 74 68 2E 66 6C 6F 6F 72 28 4D 61 74 68 2E 61 62 73 28 4D 61 74 68 2E 6C 6F 67 28 66 29 2F 4D 61 74 68 2E 4C 4E 31 30 29 29 2B 32 3B 69 66 28 69 73 4E 61 4E 28 62 29 7C 7C 21 69 73 46 69 6E 69 74 65 28 62 29 29 62 3D 32 3B 69 66 28 32 3C 62 29 66 6F 72 28 63 3D 30 3B 63 3C 62 2D 32 3B 63 2B 2B 29 74 68 69 73 2E 76 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 2B 3D 22 23 22 7D 7D 3B 43 2E 67 65 74 4E 69 63 65 4E 75 6D 62 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 76 61 72 20 63 3D 4D 61 74 68 2E 66 6C 6F 6F 72 28 4D 61 74 68 2E 6C 6F 67 28 61 29 2F 4D 61 74 68 2E 4C 4E 31 30 29 2C 64 3D 61 2F 4D 61 74 68 2E 70 6F 77 28 31 30 2C 63 29 3B 72 65 74 75 72 6E 20 4E 75 6D 62 65 72 28 28 28 62 3F 31 2E 35 3E 64 3F 31 3A 33 3E 64 3F 32 3A 37 3E 64 3F 35 3A 31 30 3A 31 3E 3D 64 3F 31 3A 32 3E 3D 64 3F 32 3A 35 3E 3D 64 3F 35 3A 31 30 29 2A 4D 61 74 68 2E 70 6F 77 28 31 30 2C 63 29 29 2E 74 6F 46 69 78 65 64 28 32 30 29 29 7D 3B 43 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 4C 61 62 65 6C 53 74 61 72 74 50 6F 69 6E 74 3D 0A 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 44 5B 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 2B 22 44 75 72 61 74 69 6F 6E 22 5D 2A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 2C 61 3D 6E 65 77 20 44 61 74 65 28 4D 61 74 68 2E 66 6C 6F 6F 72 28 74 68 69 73 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2F 61 29 2A 61 29 3B 69 66 28 22 6D 69 6C 6C 69 73 65 63 6F 6E 64 22 21 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 69 66 28 22 73 65 63 6F 6E 64 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 30 3C 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 26 26 28 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 2B 31 29 2C 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 30 29 29 3B 65 6C 73 65 20 69 66 28 22 6D 69 6E 75 74 65 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 7B 69 66 28 30 3C 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 29 61 2E 73 65 74 4D 69 6E 75 74 65 73 28 61 2E 67 65 74 4D 69 6E 75 74 65 73 28 29 2B 31 29 2C 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 30 29 2C 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 30 29 7D 65 6C 73 65 20 69 66 28 22 68 6F 75 72 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 7B 69 66 28 30 3C 61 2E 67 65 74 4D 69 6E 75 74 65 73 28 29 7C 7C 30 3C 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 29 61 2E 73 65 74 48 6F 75 72 73 28 61 2E 67 65 74 48 6F 75 72 73 28 29 2B 0A 31 29 2C 61 2E 73 65 74 4D 69 6E 75 74 65 73 28 30 29 2C 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 30 29 2C 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 30 29 7D 65 6C 73 65 20 69 66 28 22 64 61 79 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 7B 69 66 28 30 3C 61 2E 67 65 74 48 6F 75 72 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6E 75 74 65 73 28 29 7C 7C 30 3C 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 29 61 2E 73 65 74 44 61 74 65 28 61 2E 67 65 74 44 61 74 65 28 29 2B 31 29 2C 61 2E 73 65 74 48 6F 75 72 73 28 30 29 2C 61 2E 73 65 74 4D 69 6E 75 74 65 73 28 30 29 2C 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 30 29 2C 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 30 29 7D 65 6C 73 65 20 69 66 28 22 77 65 65 6B 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 7B 69 66 28 30 3C 61 2E 67 65 74 44 61 79 28 29 7C 7C 30 3C 61 2E 67 65 74 48 6F 75 72 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6E 75 74 65 73 28 29 7C 7C 30 3C 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 29 61 2E 73 65 74 44 61 74 65 28 61 2E 67 65 74 44 61 74 65 28 29 2B 28 37 2D 61 2E 67 65 74 44 61 79 28 29 29 29 2C 61 2E 73 65 74 48 6F 75 72 73 28 30 29 2C 61 2E 73 65 74 4D 69 6E 75 74 65 73 28 30 29 2C 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 30 29 2C 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 30 29 7D 65 6C 73 65 20 69 66 28 22 6D 6F 6E 74 68 22 3D 3D 3D 0A 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 29 7B 69 66 28 31 3C 61 2E 67 65 74 44 61 74 65 28 29 7C 7C 30 3C 61 2E 67 65 74 48 6F 75 72 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6E 75 74 65 73 28 29 7C 7C 30 3C 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 29 61 2E 73 65 74 4D 6F 6E 74 68 28 61 2E 67 65 74 4D 6F 6E 74 68 28 29 2B 31 29 2C 61 2E 73 65 74 44 61 74 65 28 31 29 2C 61 2E 73 65 74 48 6F 75 72 73 28 30 29 2C 61 2E 73 65 74 4D 69 6E 75 74 65 73 28 30 29 2C 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 30 29 2C 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 30 29 7D 65 6C 73 65 22 79 65 61 72 22 3D 3D 3D 74 68 69 73 2E 69 6E 74 65 72 76 61 6C 54 79 70 65 26 26 28 30 3C 61 2E 67 65 74 4D 6F 6E 74 68 28 29 7C 7C 31 3C 61 2E 67 65 74 44 61 74 65 28 29 7C 7C 30 3C 61 2E 67 65 74 48 6F 75 72 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6E 75 74 65 73 28 29 7C 7C 30 3C 61 2E 67 65 74 53 65 63 6F 6E 64 73 28 29 7C 7C 30 3C 61 2E 67 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 29 29 26 26 28 61 2E 73 65 74 46 75 6C 6C 59 65 61 72 28 61 2E 67 65 74 46 75 6C 6C 59 65 61 72 28 29 2B 31 29 2C 61 2E 73 65 74 4D 6F 6E 74 68 28 30 29 2C 61 2E 73 65 74 44 61 74 65 28 31 29 2C 61 2E 73 65 74 48 6F 75 72 73 28 30 29 2C 61 2E 73 65 74 4D 69 6E 75 74 65 73 28 30 29 2C 61 2E 73 65 74 53 65 63 6F 6E 64 73 28 30 29 2C 61 2E 73 65 74 4D 69 6C 6C 69 73 65 63 6F 6E 64 73 28 30 29 29 3B 72 65 74 75 72 6E 20 61 7D 3B 4F 28 6C 61 2C 0A 47 29 3B 6C 61 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 6E 64 65 72 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 63 74 78 2E 73 61 76 65 28 29 3B 76 61 72 20 61 3D 74 68 69 73 2E 70 61 72 65 6E 74 2E 67 65 74 50 69 78 65 6C 43 6F 6F 72 64 69 6E 61 74 65 73 4F 6E 41 78 69 73 28 74 68 69 73 2E 76 61 6C 75 65 29 2C 62 3D 4D 61 74 68 2E 61 62 73 28 22 70 69 78 65 6C 22 3D 3D 3D 74 68 69 73 2E 5F 74 68 69 63 6B 6E 65 73 73 54 79 70 65 3F 74 68 69 73 2E 74 68 69 63 6B 6E 65 73 73 3A 74 68 69 73 2E 70 61 72 65 6E 74 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 74 68 69 73 2E 74 68 69 63 6B 6E 65 73 73 29 3B 69 66 28 30 3C 62 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 3D 3D 3D 74 68 69 73 2E 6F 70 61 63 69 74 79 3F 31 3A 74 68 69 73 2E 6F 70 61 63 69 74 79 3B 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 74 68 69 73 2E 63 6F 6C 6F 72 3B 74 68 69 73 2E 63 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 76 61 72 20 64 3D 74 68 69 73 2E 63 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3B 74 68 69 73 2E 63 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 63 3B 42 28 74 68 69 73 2E 69 64 29 3B 76 61 72 20 65 2C 66 2C 67 2C 6B 3B 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 3D 62 3B 74 68 69 73 2E 63 74 78 2E 73 65 74 4C 69 6E 65 44 61 73 68 26 26 74 68 69 73 2E 63 74 78 2E 73 65 74 4C 69 6E 65 44 61 73 68 28 4D 28 74 68 69 73 2E 6C 69 6E 65 44 61 73 68 54 79 70 65 2C 62 29 29 3B 69 66 28 22 62 6F 74 74 6F 6D 22 3D 3D 3D 0A 74 68 69 73 2E 70 61 72 65 6E 74 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 74 6F 70 22 3D 3D 3D 74 68 69 73 2E 70 61 72 65 6E 74 2E 5F 70 6F 73 69 74 69 6F 6E 29 65 3D 66 3D 31 3D 3D 3D 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 28 61 2E 78 3C 3C 30 29 2B 30 2E 35 3A 61 2E 78 3C 3C 30 2C 67 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 79 31 2C 6B 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 79 32 3B 65 6C 73 65 20 69 66 28 22 6C 65 66 74 22 3D 3D 3D 74 68 69 73 2E 70 61 72 65 6E 74 2E 5F 70 6F 73 69 74 69 6F 6E 7C 7C 22 72 69 67 68 74 22 3D 3D 3D 74 68 69 73 2E 70 61 72 65 6E 74 2E 5F 70 6F 73 69 74 69 6F 6E 29 67 3D 6B 3D 31 3D 3D 3D 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 28 61 2E 79 3C 3C 30 29 2B 30 2E 35 3A 61 2E 79 3C 3C 30 2C 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 78 31 2C 66 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2E 78 32 3B 74 68 69 73 2E 63 74 78 2E 6D 6F 76 65 54 6F 28 65 2C 67 29 3B 74 68 69 73 2E 63 74 78 2E 6C 69 6E 65 54 6F 28 66 2C 6B 29 3B 74 68 69 73 2E 63 74 78 2E 73 74 72 6F 6B 65 28 29 3B 74 68 69 73 2E 63 74 78 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 64 7D 74 68 69 73 2E 63 74 78 2E 72 65 73 74 6F 72 65 28 29 7D 3B 4F 28 52 2C 47 29 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 69 6E 69 74 69 61 6C 69 7A 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 69 66 28 74 68 69 73 2E 65 6E 61 62 6C 65 64 29 7B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 3B 0A 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 65 74 41 74 74 72 69 62 75 74 65 28 22 63 6C 61 73 73 22 2C 22 63 61 6E 76 61 73 6A 73 2D 63 68 61 72 74 2D 74 6F 6F 6C 74 69 70 22 29 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 70 6F 73 69 74 69 6F 6E 3D 22 61 62 73 6F 6C 75 74 65 22 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 68 65 69 67 68 74 3D 22 61 75 74 6F 22 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 62 6F 78 53 68 61 64 6F 77 3D 22 31 70 78 20 31 70 78 20 32 70 78 20 32 70 78 20 72 67 62 61 28 30 2C 30 2C 30 2C 30 2E 31 29 22 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 7A 49 6E 64 65 78 3D 22 31 30 30 30 22 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 6E 6F 6E 65 22 3B 76 61 72 20 61 3B 61 3D 27 3C 64 69 76 20 73 74 79 6C 65 3D 22 20 77 69 64 74 68 3A 20 61 75 74 6F 3B 68 65 69 67 68 74 3A 20 61 75 74 6F 3B 6D 69 6E 2D 77 69 64 74 68 3A 20 35 30 70 78 3B 27 3B 61 2B 3D 22 6C 69 6E 65 2D 68 65 69 67 68 74 3A 20 61 75 74 6F 3B 22 3B 61 2B 3D 22 6D 61 72 67 69 6E 3A 20 30 70 78 20 30 70 78 20 30 70 78 20 30 70 78 3B 22 3B 61 2B 3D 22 70 61 64 64 69 6E 67 3A 20 35 70 78 3B 22 3B 61 2B 3D 22 66 6F 6E 74 2D 66 61 6D 69 6C 79 3A 20 43 61 6C 69 62 72 69 2C 20 41 72 69 61 6C 2C 20 47 65 6F 72 67 69 61 2C 20 73 65 72 69 66 3B 22 3B 61 2B 3D 22 66 6F 6E 74 2D 77 65 69 67 68 74 3A 20 6E 6F 72 6D 61 6C 3B 22 3B 61 2B 3D 22 66 6F 6E 74 2D 73 74 79 6C 65 3A 20 22 2B 0A 28 74 3F 22 69 74 61 6C 69 63 3B 22 3A 22 6E 6F 72 6D 61 6C 3B 22 29 3B 61 2B 3D 22 66 6F 6E 74 2D 73 69 7A 65 3A 20 31 34 70 78 3B 22 3B 61 2B 3D 22 63 6F 6C 6F 72 3A 20 23 30 30 30 30 30 30 3B 22 3B 61 2B 3D 22 74 65 78 74 2D 73 68 61 64 6F 77 3A 20 31 70 78 20 31 70 78 20 31 70 78 20 72 67 62 61 28 30 2C 20 30 2C 20 30 2C 20 30 2E 31 29 3B 22 3B 61 2B 3D 22 74 65 78 74 2D 61 6C 69 67 6E 3A 20 6C 65 66 74 3B 22 3B 61 2B 3D 22 62 6F 72 64 65 72 3A 20 32 70 78 20 73 6F 6C 69 64 20 67 72 61 79 3B 22 3B 61 2B 3D 74 3F 22 62 61 63 6B 67 72 6F 75 6E 64 3A 20 72 67 62 61 28 32 35 35 2C 32 35 35 2C 32 35 35 2C 2E 39 29 3B 22 3A 22 62 61 63 6B 67 72 6F 75 6E 64 3A 20 72 67 62 28 32 35 35 2C 32 35 35 2C 32 35 35 29 3B 22 3B 61 2B 3D 22 74 65 78 74 2D 69 6E 64 65 6E 74 3A 20 30 70 78 3B 22 3B 61 2B 3D 22 77 68 69 74 65 2D 73 70 61 63 65 3A 20 6E 6F 77 72 61 70 3B 22 3B 61 2B 3D 22 62 6F 72 64 65 72 2D 72 61 64 69 75 73 3A 20 35 70 78 3B 22 3B 61 2B 3D 22 2D 6D 6F 7A 2D 75 73 65 72 2D 73 65 6C 65 63 74 3A 6E 6F 6E 65 3B 22 3B 61 2B 3D 22 2D 6B 68 74 6D 6C 2D 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 22 3B 61 2B 3D 22 2D 77 65 62 6B 69 74 2D 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 22 3B 61 2B 3D 22 2D 6D 73 2D 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 22 3B 61 2B 3D 22 75 73 65 72 2D 73 65 6C 65 63 74 3A 20 6E 6F 6E 65 3B 22 3B 74 7C 7C 28 61 2B 3D 22 66 69 6C 74 65 72 3A 20 61 6C 70 68 61 28 6F 70 61 63 69 74 79 20 3D 20 39 30 29 3B 22 2C 61 2B 3D 22 66 69 6C 74 65 72 3A 20 70 72 6F 67 69 64 3A 44 58 49 6D 61 67 65 54 72 61 6E 73 66 6F 72 6D 2E 4D 69 63 72 6F 73 6F 66 74 2E 53 68 61 64 6F 77 28 53 74 72 65 6E 67 74 68 3D 33 2C 20 44 69 72 65 63 74 69 6F 6E 3D 31 33 35 2C 20 43 6F 6C 6F 72 3D 27 23 36 36 36 36 36 36 27 29 3B 22 29 3B 0A 61 2B 3D 27 7D 20 22 3E 20 53 61 6D 70 6C 65 20 54 6F 6F 6C 74 69 70 3C 2F 64 69 76 3E 27 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 69 6E 6E 65 72 48 54 4D 4C 3D 61 3B 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 3D 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 66 69 72 73 74 43 68 69 6C 64 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 52 61 64 69 75 73 3D 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 52 61 64 69 75 73 3B 74 68 69 73 2E 63 68 61 72 74 2E 5F 63 61 6E 76 61 73 4A 53 43 6F 6E 74 61 69 6E 65 72 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 29 7D 7D 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 6D 6F 75 73 65 4D 6F 76 65 48 61 6E 64 6C 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 74 68 69 73 2E 5F 6C 61 73 74 55 70 64 61 74 65 64 26 26 34 30 3E 28 6E 65 77 20 44 61 74 65 29 2E 67 65 74 54 69 6D 65 28 29 2D 74 68 69 73 2E 5F 6C 61 73 74 55 70 64 61 74 65 64 7C 7C 28 74 68 69 73 2E 5F 6C 61 73 74 55 70 64 61 74 65 64 3D 28 6E 65 77 20 44 61 74 65 29 2E 67 65 74 54 69 6D 65 28 29 2C 74 68 69 73 2E 5F 75 70 64 61 74 65 54 6F 6F 6C 54 69 70 28 61 2C 62 29 29 7D 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 5F 75 70 64 61 74 65 54 6F 6F 6C 54 69 70 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 21 74 68 69 73 2E 63 68 61 72 74 2E 64 69 73 61 62 6C 65 54 6F 6F 6C 54 69 70 29 7B 69 66 28 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 61 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 0A 74 79 70 65 6F 66 20 62 29 7B 69 66 28 69 73 4E 61 4E 28 74 68 69 73 2E 5F 70 72 65 76 58 29 7C 7C 69 73 4E 61 4E 28 74 68 69 73 2E 5F 70 72 65 76 59 29 29 72 65 74 75 72 6E 3B 61 3D 74 68 69 73 2E 5F 70 72 65 76 58 3B 62 3D 74 68 69 73 2E 5F 70 72 65 76 59 7D 65 6C 73 65 20 74 68 69 73 2E 5F 70 72 65 76 58 3D 61 2C 74 68 69 73 2E 5F 70 72 65 76 59 3D 62 3B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 6E 75 6C 6C 2C 65 3D 5B 5D 2C 66 3D 30 3B 69 66 28 74 68 69 73 2E 73 68 61 72 65 64 26 26 74 68 69 73 2E 65 6E 61 62 6C 65 64 26 26 22 6E 6F 6E 65 22 21 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 7B 66 3D 22 78 79 53 77 61 70 70 65 64 22 3D 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 3F 28 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2F 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 68 65 69 67 68 74 2A 28 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 79 32 2D 62 29 2B 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3A 28 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2D 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2F 0A 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 77 69 64 74 68 2A 28 61 2D 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 69 6E 65 43 6F 6F 72 64 69 6E 61 74 65 73 2E 78 31 29 2B 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3B 64 3D 5B 5D 3B 66 6F 72 28 63 3D 30 3B 63 3C 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 76 61 72 20 67 3D 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 63 5D 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 28 66 2C 21 30 29 3B 67 26 26 30 3C 3D 67 2E 69 6E 64 65 78 26 26 28 67 2E 64 61 74 61 53 65 72 69 65 73 3D 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 63 5D 2C 6E 75 6C 6C 21 3D 3D 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 26 26 64 2E 70 75 73 68 28 67 29 29 7D 69 66 28 30 3D 3D 3D 64 2E 6C 65 6E 67 74 68 29 72 65 74 75 72 6E 3B 64 2E 73 6F 72 74 28 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 72 65 74 75 72 6E 20 61 2E 64 69 73 74 61 6E 63 65 2D 62 2E 64 69 73 74 61 6E 63 65 7D 29 3B 66 3D 64 5B 30 5D 3B 66 6F 72 28 63 3D 30 3B 63 3C 64 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 64 5B 63 5D 2E 64 61 74 61 50 6F 69 6E 74 2E 78 2E 76 61 6C 75 65 4F 66 28 29 3D 3D 3D 66 2E 64 61 74 61 50 6F 69 6E 74 2E 78 2E 76 61 6C 75 65 4F 66 28 29 26 26 65 2E 70 75 73 68 28 64 5B 63 5D 29 3B 64 3D 6E 75 6C 6C 7D 65 6C 73 65 7B 69 66 28 67 3D 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 59 28 61 2C 0A 62 2C 21 30 29 29 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3D 67 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 2C 74 68 69 73 2E 63 75 72 72 65 6E 74 53 65 72 69 65 73 49 6E 64 65 78 3D 67 2E 64 61 74 61 53 65 72 69 65 73 2E 69 6E 64 65 78 3B 65 6C 73 65 20 69 66 28 74 29 69 66 28 67 3D 78 61 28 61 2C 62 2C 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 67 68 6F 73 74 43 74 78 29 2C 30 3C 67 26 26 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 67 5D 29 7B 65 76 65 6E 74 4F 62 6A 65 63 74 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 67 5D 3B 69 66 28 22 6C 65 67 65 6E 64 49 74 65 6D 22 3D 3D 3D 65 76 65 6E 74 4F 62 6A 65 63 74 2E 6F 62 6A 65 63 74 54 79 70 65 29 72 65 74 75 72 6E 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 53 65 72 69 65 73 49 6E 64 65 78 3D 65 76 65 6E 74 4F 62 6A 65 63 74 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3D 30 3C 3D 65 76 65 6E 74 4F 62 6A 65 63 74 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3F 65 76 65 6E 74 4F 62 6A 65 63 74 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 2D 31 7D 65 6C 73 65 20 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3D 2D 31 3B 65 6C 73 65 20 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3D 0A 2D 31 3B 69 66 28 30 3C 3D 74 68 69 73 2E 63 75 72 72 65 6E 74 53 65 72 69 65 73 49 6E 64 65 78 29 7B 64 3D 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 74 68 69 73 2E 63 75 72 72 65 6E 74 53 65 72 69 65 73 49 6E 64 65 78 5D 3B 67 3D 7B 7D 3B 69 66 28 30 3C 3D 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 29 63 3D 64 2E 64 61 74 61 50 6F 69 6E 74 73 5B 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 5D 2C 67 2E 64 61 74 61 53 65 72 69 65 73 3D 64 2C 67 2E 64 61 74 61 50 6F 69 6E 74 3D 63 2C 67 2E 69 6E 64 65 78 3D 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 2C 67 2E 64 69 73 74 61 6E 63 65 3D 4D 61 74 68 2E 61 62 73 28 63 2E 78 2D 66 29 3B 65 6C 73 65 7B 69 66 28 21 74 68 69 73 2E 65 6E 61 62 6C 65 64 7C 7C 22 6C 69 6E 65 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 73 74 65 70 4C 69 6E 65 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 73 70 6C 69 6E 65 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 61 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 73 74 65 70 41 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 73 70 6C 69 6E 65 41 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 73 74 61 63 6B 65 64 41 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 72 61 6E 67 65 41 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 21 3D 3D 64 2E 74 79 70 65 26 26 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 21 3D 3D 0A 64 2E 74 79 70 65 26 26 22 6F 68 6C 63 22 21 3D 3D 64 2E 74 79 70 65 29 72 65 74 75 72 6E 3B 66 3D 64 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 2B 28 61 2D 64 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 29 2F 64 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 3B 67 3D 64 2E 67 65 74 44 61 74 61 50 6F 69 6E 74 41 74 58 28 66 2C 21 30 29 3B 67 2E 64 61 74 61 53 65 72 69 65 73 3D 64 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 44 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3D 67 2E 69 6E 64 65 78 3B 63 3D 67 2E 64 61 74 61 50 6F 69 6E 74 7D 69 66 28 21 50 28 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 29 29 69 66 28 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 29 69 66 28 30 3C 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 2E 6C 65 6E 67 74 68 29 7B 66 6F 72 28 63 3D 66 3D 30 3B 63 3C 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 5B 63 5D 3C 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3F 66 2D 2D 3A 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 5B 63 5D 3E 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 26 26 66 2B 2B 3B 66 3C 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 2E 6C 65 6E 67 74 68 26 26 66 3E 2D 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 2E 6C 65 6E 67 74 68 26 26 0A 65 2E 70 75 73 68 28 67 29 7D 65 6C 73 65 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 62 61 72 22 3D 3D 3D 64 2E 74 79 70 65 3F 30 3E 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 3F 30 3E 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 3E 3D 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 26 26 65 2E 70 75 73 68 28 67 29 3A 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 3C 3D 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 26 26 30 3C 3D 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 26 26 65 2E 70 75 73 68 28 67 29 3A 22 62 75 62 62 6C 65 22 3D 3D 3D 64 2E 74 79 70 65 3F 28 66 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 64 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 67 2E 69 6E 64 65 78 5D 5D 2E 73 69 7A 65 2F 32 2C 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 3E 3D 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 2D 66 26 26 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 3C 3D 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 2B 66 26 26 65 2E 70 75 73 68 28 67 29 29 3A 28 30 3C 3D 67 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 31 30 30 22 29 7C 7C 0A 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 3E 3D 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 26 26 67 2E 64 61 74 61 50 6F 69 6E 74 2E 79 3C 3D 67 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 61 78 69 6D 75 6D 29 26 26 65 2E 70 75 73 68 28 67 29 3B 65 6C 73 65 20 65 2E 70 75 73 68 28 67 29 7D 7D 69 66 28 30 3C 65 2E 6C 65 6E 67 74 68 26 26 28 74 68 69 73 2E 68 69 67 68 6C 69 67 68 74 4F 62 6A 65 63 74 73 28 65 29 2C 74 68 69 73 2E 65 6E 61 62 6C 65 64 29 29 69 66 28 66 3D 22 22 2C 66 3D 74 68 69 73 2E 67 65 74 54 6F 6F 6C 54 69 70 49 6E 6E 65 72 48 54 4D 4C 28 7B 65 6E 74 72 69 65 73 3A 65 7D 29 2C 6E 75 6C 6C 21 3D 3D 66 29 7B 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 69 6E 6E 65 72 48 54 4D 4C 3D 66 3B 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 69 6E 6E 65 72 48 54 4D 4C 3D 66 3B 66 3D 21 31 3B 22 6E 6F 6E 65 22 3D 3D 3D 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 26 26 28 66 3D 21 30 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 62 6C 6F 63 6B 22 29 3B 74 72 79 7B 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 61 63 6B 67 72 6F 75 6E 64 3D 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3F 74 68 69 73 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3A 0A 74 3F 22 72 67 62 61 28 32 35 35 2C 32 35 35 2C 32 35 35 2C 2E 39 29 22 3A 22 72 67 62 28 32 35 35 2C 32 35 35 2C 32 35 35 29 22 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 52 69 67 68 74 43 6F 6C 6F 72 3D 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 4C 65 66 74 43 6F 6C 6F 72 3D 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 3D 74 68 69 73 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 3F 74 68 69 73 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 3A 65 5B 30 5D 2E 64 61 74 61 50 6F 69 6E 74 2E 63 6F 6C 6F 72 3F 65 5B 30 5D 2E 64 61 74 61 50 6F 69 6E 74 2E 63 6F 6C 6F 72 3A 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 63 6F 6C 6F 72 3F 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 63 6F 6C 6F 72 3A 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 5F 63 6F 6C 6F 72 53 65 74 5B 65 5B 30 5D 2E 69 6E 64 65 78 25 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 57 69 64 74 68 3D 74 68 69 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7C 7C 30 3D 3D 3D 74 68 69 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3F 74 68 69 73 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2B 22 70 78 22 3A 22 32 70 78 22 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 52 61 64 69 75 73 3D 74 68 69 73 2E 63 6F 72 6E 65 72 52 61 64 69 75 73 7C 7C 0A 30 3D 3D 3D 74 68 69 73 2E 63 6F 72 6E 65 72 52 61 64 69 75 73 3F 74 68 69 73 2E 63 6F 72 6E 65 72 52 61 64 69 75 73 2B 22 70 78 22 3A 22 35 70 78 22 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 52 61 64 69 75 73 3D 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 62 6F 72 64 65 72 52 61 64 69 75 73 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 66 6F 6E 74 53 69 7A 65 3D 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 7C 7C 30 3D 3D 3D 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 3F 74 68 69 73 2E 66 6F 6E 74 53 69 7A 65 2B 22 70 78 22 3A 22 31 34 70 78 22 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 63 6F 6C 6F 72 3D 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3A 22 23 30 30 30 30 30 30 22 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 66 6F 6E 74 46 61 6D 69 6C 79 3D 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 3F 74 68 69 73 2E 66 6F 6E 74 46 61 6D 69 6C 79 3A 22 43 61 6C 69 62 72 69 2C 20 41 72 69 61 6C 2C 20 47 65 6F 72 67 69 61 2C 20 73 65 72 69 66 3B 22 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 66 6F 6E 74 57 65 69 67 68 74 3D 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 3F 74 68 69 73 2E 66 6F 6E 74 57 65 69 67 68 74 3A 22 6E 6F 72 6D 61 6C 22 2C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 44 69 76 2E 73 74 79 6C 65 2E 66 6F 6E 74 53 74 79 6C 65 3D 74 68 69 73 2E 66 6F 6E 74 53 74 79 6C 65 3F 74 68 69 73 2E 66 6F 6E 74 53 74 79 6C 65 3A 0A 74 3F 22 69 74 61 6C 69 63 22 3A 22 6E 6F 72 6D 61 6C 22 7D 63 61 74 63 68 28 6B 29 7B 7D 22 70 69 65 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 66 75 6E 6E 65 6C 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 62 61 72 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 3F 74 6F 6F 6C 54 69 70 4C 65 66 74 3D 61 2D 31 30 2D 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 3A 28 74 6F 6F 6C 54 69 70 4C 65 66 74 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 65 5B 30 5D 2E 64 61 74 61 50 6F 69 6E 74 2E 78 2D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 6D 69 6E 69 6D 75 6D 29 2D 0A 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 3C 3C 30 2C 74 6F 6F 6C 54 69 70 4C 65 66 74 2D 3D 31 30 29 3B 30 3E 74 6F 6F 6C 54 69 70 4C 65 66 74 26 26 28 74 6F 6F 6C 54 69 70 4C 65 66 74 2B 3D 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 2B 32 30 29 3B 74 6F 6F 6C 54 69 70 4C 65 66 74 2B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 3E 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 63 68 61 72 74 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 2C 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 29 26 26 28 74 6F 6F 6C 54 69 70 4C 65 66 74 3D 4D 61 74 68 2E 6D 61 78 28 30 2C 4D 61 74 68 2E 6D 61 78 28 74 68 69 73 2E 63 68 61 72 74 2E 5F 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 2C 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 29 2D 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 57 69 64 74 68 29 29 3B 74 6F 6F 6C 54 69 70 4C 65 66 74 2B 3D 22 70 78 22 3B 65 3D 31 21 3D 3D 65 2E 6C 65 6E 67 74 68 7C 7C 74 68 69 73 2E 73 68 61 72 65 64 7C 7C 22 6C 69 6E 65 22 21 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 74 65 70 4C 69 6E 65 22 21 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 70 6C 69 6E 65 22 21 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 61 72 65 61 22 21 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 74 65 70 41 72 65 61 22 21 3D 3D 0A 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 70 6C 69 6E 65 41 72 65 61 22 21 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 74 61 63 6B 65 64 41 72 65 61 22 21 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 26 26 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 21 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 3F 22 62 61 72 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 79 70 65 3F 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 58 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 65 5B 30 5D 2E 64 61 74 61 50 6F 69 6E 74 2E 78 2D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 58 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3A 62 3A 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 72 65 66 65 72 65 6E 63 65 2B 0A 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 63 6F 6E 76 65 72 73 69 6F 6E 50 61 72 61 6D 65 74 65 72 73 2E 70 69 78 65 6C 50 65 72 55 6E 69 74 2A 28 65 5B 30 5D 2E 64 61 74 61 50 6F 69 6E 74 2E 79 2D 65 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 61 78 69 73 59 2E 76 69 65 77 70 6F 72 74 4D 69 6E 69 6D 75 6D 29 2B 30 2E 35 3C 3C 30 3B 65 3D 2D 65 2B 31 30 3B 30 3C 65 2B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 2B 35 26 26 28 65 2D 3D 65 2B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 2B 35 2D 30 29 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 6C 65 66 74 3D 74 6F 6F 6C 54 69 70 4C 65 66 74 3B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 62 6F 74 74 6F 6D 3D 65 2B 22 70 78 22 3B 21 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 45 6E 61 62 6C 65 64 7C 7C 66 3F 74 68 69 73 2E 64 69 73 61 62 6C 65 41 6E 69 6D 61 74 69 6F 6E 28 29 3A 74 68 69 73 2E 65 6E 61 62 6C 65 41 6E 69 6D 61 74 69 6F 6E 28 29 7D 65 6C 73 65 20 74 68 69 73 2E 68 69 64 65 28 21 31 29 7D 7D 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 68 69 67 68 6C 69 67 68 74 4F 62 6A 65 63 74 73 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 74 68 69 73 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 3B 74 68 69 73 2E 63 68 61 72 74 2E 72 65 73 65 74 4F 76 65 72 6C 61 79 65 64 43 61 6E 76 61 73 28 29 3B 62 2E 63 6C 65 61 72 52 65 63 74 28 30 2C 30 2C 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 2C 0A 74 68 69 73 2E 63 68 61 72 74 2E 68 65 69 67 68 74 29 3B 62 2E 73 61 76 65 28 29 3B 76 61 72 20 63 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 41 72 65 61 2C 64 3D 30 3B 62 2E 72 65 63 74 28 63 2E 78 31 2C 63 2E 79 31 2C 63 2E 78 32 2D 63 2E 78 31 2C 63 2E 79 32 2D 63 2E 79 31 29 3B 62 2E 63 6C 69 70 28 29 3B 66 6F 72 28 63 3D 30 3B 63 3C 61 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 76 61 72 20 65 3D 61 5B 63 5D 3B 69 66 28 28 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 65 76 65 6E 74 4D 61 6E 61 67 65 72 2E 6F 62 6A 65 63 74 4D 61 70 5B 65 2E 64 61 74 61 53 65 72 69 65 73 2E 64 61 74 61 50 6F 69 6E 74 49 64 73 5B 65 2E 69 6E 64 65 78 5D 5D 29 26 26 65 2E 6F 62 6A 65 63 74 54 79 70 65 26 26 22 64 61 74 61 50 6F 69 6E 74 22 3D 3D 3D 65 2E 6F 62 6A 65 63 74 54 79 70 65 29 7B 76 61 72 20 64 3D 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 65 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 5D 2C 66 3D 64 2E 64 61 74 61 50 6F 69 6E 74 73 5B 65 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 5D 2C 67 3D 65 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3B 21 31 3D 3D 3D 66 2E 68 69 67 68 6C 69 67 68 74 45 6E 61 62 6C 65 64 7C 7C 21 30 21 3D 3D 64 2E 68 69 67 68 6C 69 67 68 74 45 6E 61 62 6C 65 64 26 26 21 30 21 3D 3D 66 2E 68 69 67 68 6C 69 67 68 74 45 6E 61 62 6C 65 64 7C 7C 28 22 6C 69 6E 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 0A 22 61 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 64 2E 74 79 70 65 3F 28 66 3D 64 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 67 2C 65 2E 78 31 2C 65 2E 79 31 2C 74 68 69 73 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 29 2C 66 2E 73 69 7A 65 3D 4D 61 74 68 2E 6D 61 78 28 31 2E 35 2A 66 2E 73 69 7A 65 3C 3C 30 2C 31 30 29 2C 66 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 3D 66 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 7C 7C 22 23 46 46 46 46 46 46 22 2C 66 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3D 66 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7C 7C 4D 61 74 68 2E 63 65 69 6C 28 30 2E 31 2A 66 2E 73 69 7A 65 29 2C 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 5B 66 5D 29 2C 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 65 2E 79 32 26 26 28 66 3D 64 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 67 2C 65 2E 78 31 2C 65 2E 79 32 2C 74 68 69 73 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 29 2C 66 2E 73 69 7A 65 3D 4D 61 74 68 2E 6D 61 78 28 31 2E 35 2A 66 2E 73 69 7A 65 3C 3C 0A 30 2C 31 30 29 2C 66 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 3D 66 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 7C 7C 22 23 46 46 46 46 46 46 22 2C 66 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 3D 66 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 7C 7C 4D 61 74 68 2E 63 65 69 6C 28 30 2E 31 2A 66 2E 73 69 7A 65 29 2C 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 5B 66 5D 29 29 29 3A 22 62 75 62 62 6C 65 22 3D 3D 3D 64 2E 74 79 70 65 3F 28 66 3D 64 2E 67 65 74 4D 61 72 6B 65 72 50 72 6F 70 65 72 74 69 65 73 28 67 2C 65 2E 78 31 2C 65 2E 79 31 2C 74 68 69 73 2E 63 68 61 72 74 2E 6F 76 65 72 6C 61 69 64 43 61 6E 76 61 73 43 74 78 29 2C 66 2E 73 69 7A 65 3D 65 2E 73 69 7A 65 2C 66 2E 63 6F 6C 6F 72 3D 22 77 68 69 74 65 22 2C 66 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 3D 22 77 68 69 74 65 22 2C 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 30 2E 33 2C 4B 2E 64 72 61 77 4D 61 72 6B 65 72 73 28 5B 66 5D 29 2C 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 29 3A 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 62 61 72 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 3D 3D 3D 64 2E 74 79 70 65 3F 49 28 62 2C 0A 65 2E 78 31 2C 65 2E 79 31 2C 65 2E 78 32 2C 65 2E 79 32 2C 22 77 68 69 74 65 22 2C 30 2C 6E 75 6C 6C 2C 21 31 2C 21 31 2C 21 31 2C 21 31 2C 30 2E 33 29 3A 22 70 69 65 22 3D 3D 3D 64 2E 74 79 70 65 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 64 2E 74 79 70 65 3F 73 61 28 62 2C 65 2E 63 65 6E 74 65 72 2C 65 2E 72 61 64 69 75 73 2C 22 77 68 69 74 65 22 2C 64 2E 74 79 70 65 2C 65 2E 73 74 61 72 74 41 6E 67 6C 65 2C 65 2E 65 6E 64 41 6E 67 6C 65 2C 30 2E 33 2C 65 2E 70 65 72 63 65 6E 74 49 6E 6E 65 72 52 61 64 69 75 73 29 3A 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 64 2E 74 79 70 65 3F 28 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 2C 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 65 2E 63 6F 6C 6F 72 2C 62 2E 6C 69 6E 65 57 69 64 74 68 3D 32 2A 65 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2C 64 3D 30 3D 3D 3D 62 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 30 3A 30 2E 35 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 65 2E 78 33 2D 64 2C 65 2E 79 32 29 2C 62 2E 6C 69 6E 65 54 6F 28 65 2E 78 33 2D 64 2C 4D 61 74 68 2E 6D 69 6E 28 65 2E 79 31 2C 65 2E 79 34 29 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 65 2E 78 33 2D 64 2C 4D 61 74 68 2E 6D 61 78 28 65 2E 79 31 2C 65 2E 79 34 29 29 2C 62 2E 6C 69 6E 65 54 6F 28 65 2E 78 33 2D 64 2C 65 2E 79 33 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 49 28 62 2C 65 2E 78 31 2C 4D 61 74 68 2E 6D 69 6E 28 65 2E 79 31 2C 65 2E 79 34 29 2C 65 2E 78 32 2C 4D 61 74 68 2E 6D 61 78 28 65 2E 79 31 2C 0A 65 2E 79 34 29 2C 22 74 72 61 6E 73 70 61 72 65 6E 74 22 2C 32 2A 65 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2C 65 2E 63 6F 6C 6F 72 2C 21 31 2C 21 31 2C 21 31 2C 21 31 29 2C 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 29 3A 22 6F 68 6C 63 22 3D 3D 3D 64 2E 74 79 70 65 26 26 28 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 2C 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 65 2E 63 6F 6C 6F 72 2C 62 2E 6C 69 6E 65 57 69 64 74 68 3D 32 2A 65 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 2C 64 3D 30 3D 3D 3D 62 2E 6C 69 6E 65 57 69 64 74 68 25 32 3F 30 3A 30 2E 35 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 65 2E 78 33 2D 64 2C 65 2E 79 32 29 2C 62 2E 6C 69 6E 65 54 6F 28 65 2E 78 33 2D 64 2C 65 2E 79 33 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 65 2E 78 33 2C 65 2E 79 31 29 2C 62 2E 6C 69 6E 65 54 6F 28 65 2E 78 31 2C 65 2E 79 31 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 62 2E 6D 6F 76 65 54 6F 28 65 2E 78 33 2C 65 2E 79 34 29 2C 62 2E 6C 69 6E 65 54 6F 28 65 2E 78 32 2C 65 2E 79 34 29 2C 62 2E 73 74 72 6F 6B 65 28 29 2C 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 29 29 7D 7D 62 2E 72 65 73 74 6F 72 65 28 29 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 62 2E 62 65 67 69 6E 50 61 74 68 28 29 7D 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 54 6F 6F 6C 54 69 70 49 6E 6E 65 72 48 54 4D 4C 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 61 3D 61 2E 65 6E 74 72 69 65 73 3B 0A 66 6F 72 28 76 61 72 20 62 3D 6E 75 6C 6C 2C 63 3D 6E 75 6C 6C 2C 64 3D 6E 75 6C 6C 2C 65 3D 30 2C 66 3D 22 22 2C 67 3D 21 30 2C 6B 3D 30 3B 6B 3C 61 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 69 66 28 61 5B 6B 5D 2E 64 61 74 61 53 65 72 69 65 73 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 7C 7C 61 5B 6B 5D 2E 64 61 74 61 50 6F 69 6E 74 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 29 7B 67 3D 21 31 3B 62 72 65 61 6B 7D 69 66 28 67 26 26 28 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 3D 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 7C 7C 74 68 69 73 2E 63 6F 6E 74 65 6E 74 46 6F 72 6D 61 74 74 65 72 29 29 61 3D 7B 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 2C 74 6F 6F 6C 54 69 70 3A 74 68 69 73 2E 5F 6F 70 74 69 6F 6E 73 2C 65 6E 74 72 69 65 73 3A 61 7D 2C 62 3D 74 68 69 73 2E 63 6F 6E 74 65 6E 74 46 6F 72 6D 61 74 74 65 72 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 46 6F 72 6D 61 74 74 65 72 28 61 29 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 28 61 29 3B 65 6C 73 65 20 69 66 28 74 68 69 73 2E 73 68 61 72 65 64 26 26 22 6E 6F 6E 65 22 21 3D 3D 74 68 69 73 2E 63 68 61 72 74 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 50 6C 61 63 65 6D 65 6E 74 29 7B 66 6F 72 28 76 61 72 20 70 3D 22 22 2C 6B 3D 30 3B 6B 3C 61 2E 6C 65 6E 67 74 68 3B 6B 2B 2B 29 69 66 28 63 3D 61 5B 6B 5D 2E 64 61 74 61 53 65 72 69 65 73 2C 64 3D 61 5B 6B 5D 2E 64 61 74 61 50 6F 69 6E 74 2C 65 3D 61 5B 6B 5D 2E 69 6E 64 65 78 2C 0A 66 3D 22 22 2C 30 3D 3D 3D 6B 26 26 28 67 26 26 21 74 68 69 73 2E 63 6F 6E 74 65 6E 74 29 26 26 28 70 2B 3D 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 61 62 65 6C 73 5B 64 2E 78 5D 3F 74 68 69 73 2E 63 68 61 72 74 2E 61 78 69 73 58 2E 6C 61 62 65 6C 73 5B 64 2E 78 5D 3A 22 7B 78 7D 22 2C 70 2B 3D 22 3C 2F 62 72 3E 22 2C 70 3D 74 68 69 73 2E 63 68 61 72 74 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 70 2C 64 2C 63 2C 65 29 29 2C 6E 75 6C 6C 21 3D 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 26 26 28 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 7C 7C 6E 75 6C 6C 21 3D 3D 63 2E 5F 6F 70 74 69 6F 6E 73 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 29 29 7B 69 66 28 22 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 61 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 62 61 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3D 3D 3D 0A 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 63 2E 74 79 70 65 29 66 2B 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 7B 6E 61 6D 65 7D 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 7D 22 3B 65 6C 73 65 20 69 66 28 22 62 75 62 62 6C 65 22 3D 3D 3D 63 2E 74 79 70 65 29 66 2B 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 0A 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 7B 6E 61 6D 65 7D 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 7D 2C 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 7A 7D 22 3B 65 6C 73 65 20 69 66 28 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 29 66 2B 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 7B 6E 61 6D 65 7D 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 30 5D 7D 2C 26 6E 62 73 70 3B 7B 79 5B 31 5D 7D 22 3B 65 6C 73 65 20 69 66 28 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 6F 68 6C 63 22 3D 3D 3D 63 2E 74 79 70 65 29 66 2B 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 0A 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 7B 6E 61 6D 65 7D 3A 3C 2F 73 70 61 6E 3E 3C 62 72 2F 3E 4F 70 65 6E 3A 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 30 5D 7D 3C 62 72 2F 3E 48 69 67 68 3A 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 31 5D 7D 3C 62 72 2F 3E 4C 6F 77 3A 26 6E 62 73 70 3B 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 32 5D 7D 3C 62 72 2F 3E 43 6C 6F 73 65 3A 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 33 5D 7D 22 3B 6E 75 6C 6C 3D 3D 3D 62 26 26 28 62 3D 22 22 29 3B 21 30 3D 3D 3D 74 68 69 73 2E 72 65 76 65 72 73 65 64 3F 28 62 3D 74 68 69 73 2E 63 68 61 72 74 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 66 2C 64 2C 63 2C 65 29 2B 62 2C 6B 3C 61 2E 6C 65 6E 67 74 68 2D 31 26 26 28 62 3D 22 3C 2F 62 72 3E 22 2B 62 29 29 3A 28 62 2B 3D 74 68 69 73 2E 63 68 61 72 74 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 66 2C 64 2C 63 2C 65 29 2C 6B 3C 61 2E 6C 65 6E 67 74 68 2D 31 26 26 28 62 2B 3D 22 3C 2F 62 72 3E 22 29 29 7D 6E 75 6C 6C 21 3D 3D 0A 62 26 26 28 62 3D 70 2B 62 29 7D 65 6C 73 65 7B 63 3D 61 5B 30 5D 2E 64 61 74 61 53 65 72 69 65 73 3B 64 3D 61 5B 30 5D 2E 64 61 74 61 50 6F 69 6E 74 3B 65 3D 61 5B 30 5D 2E 69 6E 64 65 78 3B 69 66 28 6E 75 6C 6C 3D 3D 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 7C 7C 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 26 26 6E 75 6C 6C 3D 3D 3D 63 2E 5F 6F 70 74 69 6F 6E 73 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 29 72 65 74 75 72 6E 20 6E 75 6C 6C 3B 69 66 28 22 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 65 70 4C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 61 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 65 70 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 63 6F 6C 75 6D 6E 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 62 61 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 63 61 74 74 65 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 43 6F 6C 75 6D 6E 31 30 30 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 42 61 72 31 30 30 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 73 74 61 63 6B 65 64 41 72 65 61 31 30 30 22 3D 3D 3D 63 2E 74 79 70 65 29 66 3D 0A 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 22 2B 28 64 2E 6C 61 62 65 6C 3F 22 7B 6C 61 62 65 6C 7D 22 3A 22 7B 78 7D 22 29 2B 22 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 7D 22 3B 65 6C 73 65 20 69 66 28 22 62 75 62 62 6C 65 22 3D 3D 3D 63 2E 74 79 70 65 29 66 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 22 2B 28 64 2E 6C 61 62 65 6C 3F 22 7B 6C 61 62 65 6C 7D 22 3A 22 7B 78 7D 22 29 2B 22 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 7D 2C 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 7A 7D 22 3B 0A 65 6C 73 65 20 69 66 28 22 70 69 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 66 75 6E 6E 65 6C 22 3D 3D 3D 63 2E 74 79 70 65 29 66 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 22 2B 28 64 2E 6E 61 6D 65 3F 22 7B 6E 61 6D 65 7D 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 22 3A 64 2E 6C 61 62 65 6C 3F 22 7B 6C 61 62 65 6C 7D 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 22 3A 22 3C 2F 73 70 61 6E 3E 22 29 2B 22 7B 79 7D 22 3B 65 6C 73 65 20 69 66 28 22 72 61 6E 67 65 43 6F 6C 75 6D 6E 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 42 61 72 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 72 61 6E 67 65 53 70 6C 69 6E 65 41 72 65 61 22 3D 3D 3D 63 2E 74 79 70 65 29 66 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 0A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 22 2B 28 64 2E 6C 61 62 65 6C 3F 22 7B 6C 61 62 65 6C 7D 22 3A 22 7B 78 7D 22 29 2B 22 20 3A 3C 2F 73 70 61 6E 3E 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 30 5D 7D 2C 20 26 6E 62 73 70 3B 7B 79 5B 31 5D 7D 22 3B 65 6C 73 65 20 69 66 28 22 63 61 6E 64 6C 65 73 74 69 63 6B 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 6F 68 6C 63 22 3D 3D 3D 63 2E 74 79 70 65 29 66 3D 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 64 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3F 63 2E 74 6F 6F 6C 54 69 70 43 6F 6E 74 65 6E 74 3A 74 68 69 73 2E 63 6F 6E 74 65 6E 74 26 26 22 66 75 6E 63 74 69 6F 6E 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3F 74 68 69 73 2E 63 6F 6E 74 65 6E 74 3A 22 3C 73 70 61 6E 20 73 74 79 6C 65 3D 27 5C 22 22 2B 28 74 68 69 73 2E 66 6F 6E 74 43 6F 6C 6F 72 3F 22 22 3A 22 27 63 6F 6C 6F 72 3A 7B 63 6F 6C 6F 72 7D 3B 27 22 29 2B 22 5C 22 27 3E 22 2B 28 64 2E 6C 61 62 65 6C 3F 22 7B 6C 61 62 65 6C 7D 22 3A 22 7B 78 7D 22 29 2B 22 3C 2F 73 70 61 6E 3E 3C 62 72 2F 3E 4F 70 65 6E 3A 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 30 5D 7D 3C 62 72 2F 3E 48 69 67 68 3A 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 31 5D 7D 3C 62 72 2F 3E 4C 6F 77 3A 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 32 5D 7D 3C 62 72 2F 3E 43 6C 6F 73 65 3A 20 26 6E 62 73 70 3B 26 6E 62 73 70 3B 7B 79 5B 33 5D 7D 22 3B 0A 6E 75 6C 6C 3D 3D 3D 62 26 26 28 62 3D 22 22 29 3B 62 2B 3D 74 68 69 73 2E 63 68 61 72 74 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 28 66 2C 64 2C 63 2C 65 29 7D 72 65 74 75 72 6E 20 62 7D 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 65 6E 61 62 6C 65 41 6E 69 6D 61 74 69 6F 6E 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 57 65 62 6B 69 74 54 72 61 6E 73 69 74 69 6F 6E 7C 7C 28 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 57 65 62 6B 69 74 54 72 61 6E 73 69 74 69 6F 6E 3D 22 6C 65 66 74 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 2C 20 62 6F 74 74 6F 6D 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 22 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 4D 6F 7A 54 72 61 6E 73 69 74 69 6F 6E 3D 22 6C 65 66 74 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 2C 20 62 6F 74 74 6F 6D 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 22 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 4D 73 54 72 61 6E 73 69 74 69 6F 6E 3D 22 6C 65 66 74 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 2C 20 62 6F 74 74 6F 6D 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 22 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 74 72 61 6E 73 69 74 69 6F 6E 3D 22 6C 65 66 74 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 2C 20 62 6F 74 74 6F 6D 20 2E 32 73 20 65 61 73 65 2D 6F 75 74 22 29 7D 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 64 69 73 61 62 6C 65 41 6E 69 6D 61 74 69 6F 6E 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 57 65 62 6B 69 74 54 72 61 6E 73 69 74 69 6F 6E 26 26 0A 28 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 57 65 62 6B 69 74 54 72 61 6E 73 69 74 69 6F 6E 3D 22 22 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 4D 6F 7A 54 72 61 6E 73 69 74 69 6F 6E 3D 22 22 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 4D 73 54 72 61 6E 73 69 74 69 6F 6E 3D 22 22 2C 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 74 72 61 6E 73 69 74 69 6F 6E 3D 22 22 29 7D 3B 52 2E 70 72 6F 74 6F 74 79 70 65 2E 68 69 64 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 74 68 69 73 2E 65 6E 61 62 6C 65 64 26 26 28 74 68 69 73 2E 63 6F 6E 74 61 69 6E 65 72 2E 73 74 79 6C 65 2E 64 69 73 70 6C 61 79 3D 22 6E 6F 6E 65 22 2C 74 68 69 73 2E 63 75 72 72 65 6E 74 53 65 72 69 65 73 49 6E 64 65 78 3D 2D 31 2C 74 68 69 73 2E 5F 70 72 65 76 59 3D 74 68 69 73 2E 5F 70 72 65 76 58 3D 4E 61 4E 2C 28 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 61 7C 7C 61 29 26 26 74 68 69 73 2E 63 68 61 72 74 2E 72 65 73 65 74 4F 76 65 72 6C 61 79 65 64 43 61 6E 76 61 73 28 29 29 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 50 65 72 63 65 6E 74 41 6E 64 54 6F 74 61 6C 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 76 61 72 20 63 3D 6E 75 6C 6C 2C 64 3D 6E 75 6C 6C 2C 65 3D 6E 75 6C 6C 3B 69 66 28 30 3C 3D 61 2E 74 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 73 74 61 63 6B 65 64 22 29 29 64 3D 30 2C 63 3D 62 2E 78 2E 67 65 74 54 69 6D 65 3F 62 2E 78 2E 67 65 74 54 69 6D 65 28 29 3A 62 2E 78 2C 63 20 69 6E 20 61 2E 70 6C 6F 74 55 6E 69 74 2E 79 54 6F 74 61 6C 73 26 26 0A 28 64 3D 61 2E 70 6C 6F 74 55 6E 69 74 2E 79 54 6F 74 61 6C 73 5B 63 5D 2C 65 3D 69 73 4E 61 4E 28 62 2E 79 29 3F 30 3A 30 3D 3D 3D 64 3F 30 3A 31 30 30 2A 28 62 2E 79 2F 64 29 29 3B 65 6C 73 65 20 69 66 28 22 70 69 65 22 3D 3D 3D 61 2E 74 79 70 65 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 61 2E 74 79 70 65 29 7B 66 6F 72 28 69 3D 64 3D 30 3B 69 3C 61 2E 64 61 74 61 50 6F 69 6E 74 73 2E 6C 65 6E 67 74 68 3B 69 2B 2B 29 69 73 4E 61 4E 28 61 2E 64 61 74 61 50 6F 69 6E 74 73 5B 69 5D 2E 79 29 7C 7C 28 64 2B 3D 61 2E 64 61 74 61 50 6F 69 6E 74 73 5B 69 5D 2E 79 29 3B 65 3D 69 73 4E 61 4E 28 62 2E 79 29 3F 30 3A 31 30 30 2A 28 62 2E 79 2F 64 29 7D 72 65 74 75 72 6E 7B 70 65 72 63 65 6E 74 3A 65 2C 74 6F 74 61 6C 3A 64 7D 7D 3B 75 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 70 6C 61 63 65 4B 65 79 77 6F 72 64 73 57 69 74 68 56 61 6C 75 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 76 61 72 20 66 3D 74 68 69 73 3B 65 3D 22 75 6E 64 65 66 69 6E 65 64 22 3D 3D 3D 74 79 70 65 6F 66 20 65 3F 30 3A 65 3B 69 66 28 28 30 3C 3D 63 2E 74 79 70 65 2E 69 6E 64 65 78 4F 66 28 22 73 74 61 63 6B 65 64 22 29 7C 7C 22 70 69 65 22 3D 3D 3D 63 2E 74 79 70 65 7C 7C 22 64 6F 75 67 68 6E 75 74 22 3D 3D 3D 63 2E 74 79 70 65 29 26 26 28 30 3C 3D 61 2E 69 6E 64 65 78 4F 66 28 22 23 70 65 72 63 65 6E 74 22 29 7C 7C 30 3C 3D 61 2E 69 6E 64 65 78 4F 66 28 22 23 74 6F 74 61 6C 22 29 29 29 7B 76 61 72 20 67 3D 22 23 70 65 72 63 65 6E 74 22 2C 6B 3D 22 23 74 6F 74 61 6C 22 2C 70 3D 74 68 69 73 2E 67 65 74 50 65 72 63 65 6E 74 41 6E 64 54 6F 74 61 6C 28 63 2C 0A 62 29 2C 6B 3D 69 73 4E 61 4E 28 70 2E 74 6F 74 61 6C 29 3F 6B 3A 70 2E 74 6F 74 61 6C 2C 67 3D 69 73 4E 61 4E 28 70 2E 70 65 72 63 65 6E 74 29 3F 67 3A 70 2E 70 65 72 63 65 6E 74 3B 64 6F 7B 70 3D 22 22 3B 69 66 28 63 2E 70 65 72 63 65 6E 74 46 6F 72 6D 61 74 53 74 72 69 6E 67 29 70 3D 63 2E 70 65 72 63 65 6E 74 46 6F 72 6D 61 74 53 74 72 69 6E 67 3B 65 6C 73 65 7B 76 61 72 20 70 3D 22 23 2C 23 23 30 2E 22 2C 68 3D 4D 61 74 68 2E 6D 61 78 28 4D 61 74 68 2E 63 65 69 6C 28 4D 61 74 68 2E 6C 6F 67 28 31 2F 4D 61 74 68 2E 61 62 73 28 67 29 29 2F 4D 61 74 68 2E 4C 4E 31 30 29 2C 32 29 3B 69 66 28 69 73 4E 61 4E 28 68 29 7C 7C 21 69 73 46 69 6E 69 74 65 28 68 29 29 68 3D 32 3B 66 6F 72 28 76 61 72 20 6C 3D 30 3B 6C 3C 68 3B 6C 2B 2B 29 70 2B 3D 22 23 22 7D 61 3D 61 2E 72 65 70 6C 61 63 65 28 22 23 70 65 72 63 65 6E 74 22 2C 58 28 67 2C 70 2C 66 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 29 29 3B 61 3D 61 2E 72 65 70 6C 61 63 65 28 22 23 74 6F 74 61 6C 22 2C 58 28 6B 2C 63 2E 79 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 63 2E 79 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 22 23 2C 23 23 30 2E 23 23 23 23 23 23 23 23 22 29 29 7D 77 68 69 6C 65 28 30 3C 3D 61 2E 69 6E 64 65 78 4F 66 28 22 23 70 65 72 63 65 6E 74 22 29 7C 7C 30 3C 3D 61 2E 69 6E 64 65 78 4F 66 28 22 23 74 6F 74 61 6C 22 29 29 7D 72 65 74 75 72 6E 20 61 2E 72 65 70 6C 61 63 65 28 2F 5C 7B 2E 2A 3F 5C 7D 7C 22 5B 5E 22 5D 2A 22 7C 27 5B 5E 27 5D 2A 27 2F 67 2C 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 27 22 27 3D 3D 3D 0A 61 5B 30 5D 26 26 27 22 27 3D 3D 3D 61 5B 61 2E 6C 65 6E 67 74 68 2D 31 5D 7C 7C 22 27 22 3D 3D 3D 61 5B 30 5D 26 26 22 27 22 3D 3D 3D 61 5B 61 2E 6C 65 6E 67 74 68 2D 31 5D 29 72 65 74 75 72 6E 20 61 2E 73 6C 69 63 65 28 31 2C 61 2E 6C 65 6E 67 74 68 2D 31 29 3B 61 3D 24 28 61 2E 73 6C 69 63 65 28 31 2C 61 2E 6C 65 6E 67 74 68 2D 31 29 29 3B 61 3D 61 2E 72 65 70 6C 61 63 65 28 22 23 69 6E 64 65 78 22 2C 65 29 3B 76 61 72 20 67 3D 6E 75 6C 6C 3B 74 72 79 7B 76 61 72 20 68 3D 61 2E 6D 61 74 63 68 28 2F 28 2E 2A 3F 29 5C 73 2A 5C 5B 5C 73 2A 28 2E 2A 3F 29 5C 73 2A 5C 5D 2F 29 3B 68 26 26 30 3C 68 2E 6C 65 6E 67 74 68 26 26 28 67 3D 24 28 68 5B 32 5D 29 2C 61 3D 24 28 68 5B 31 5D 29 29 7D 63 61 74 63 68 28 6B 29 7B 7D 68 3D 6E 75 6C 6C 3B 69 66 28 22 63 6F 6C 6F 72 22 3D 3D 3D 61 29 72 65 74 75 72 6E 20 62 2E 63 6F 6C 6F 72 3F 62 2E 63 6F 6C 6F 72 3A 63 2E 63 6F 6C 6F 72 3F 63 2E 63 6F 6C 6F 72 3A 63 2E 5F 63 6F 6C 6F 72 53 65 74 5B 64 25 63 2E 5F 63 6F 6C 6F 72 53 65 74 2E 6C 65 6E 67 74 68 5D 3B 69 66 28 62 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 61 29 29 68 3D 62 3B 65 6C 73 65 20 69 66 28 63 2E 68 61 73 4F 77 6E 50 72 6F 70 65 72 74 79 28 61 29 29 68 3D 63 3B 65 6C 73 65 20 72 65 74 75 72 6E 22 22 3B 68 3D 68 5B 61 5D 3B 6E 75 6C 6C 21 3D 3D 67 26 26 28 68 3D 68 5B 67 5D 29 3B 72 65 74 75 72 6E 22 78 22 3D 3D 3D 61 3F 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 66 2E 70 6C 6F 74 49 6E 66 6F 2E 61 78 69 73 58 56 61 6C 75 65 54 79 70 65 7C 7C 22 64 61 74 65 54 69 6D 65 22 3D 3D 3D 0A 63 2E 78 56 61 6C 75 65 54 79 70 65 7C 7C 62 2E 78 26 26 62 2E 78 2E 67 65 74 54 69 6D 65 3F 72 61 28 68 2C 62 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 62 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 63 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 63 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 66 2E 61 78 69 73 58 26 26 66 2E 61 78 69 73 58 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 66 2E 61 78 69 73 58 2E 61 75 74 6F 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 22 44 44 20 4D 4D 4D 20 59 59 22 2C 66 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 29 3A 58 28 68 2C 62 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 62 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 63 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 63 2E 78 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 22 23 2C 23 23 30 2E 23 23 23 23 23 23 23 23 22 2C 66 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 29 3A 22 79 22 3D 3D 3D 61 3F 58 28 68 2C 62 2E 79 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 62 2E 79 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 63 2E 79 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 63 2E 79 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 22 23 2C 23 23 30 2E 23 23 23 23 23 23 23 23 22 2C 66 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 29 3A 22 7A 22 3D 3D 3D 61 3F 58 28 68 2C 62 2E 7A 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 62 2E 7A 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 0A 63 2E 7A 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3F 63 2E 7A 56 61 6C 75 65 46 6F 72 6D 61 74 53 74 72 69 6E 67 3A 22 23 2C 23 23 30 2E 23 23 23 23 23 23 23 23 22 2C 66 2E 5F 63 75 6C 74 75 72 65 49 6E 66 6F 29 3A 68 7D 29 7D 3B 61 61 2E 70 72 6F 74 6F 74 79 70 65 2E 72 65 73 65 74 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 6C 61 73 74 4F 62 6A 65 63 74 49 64 3D 30 3B 74 68 69 73 2E 6F 62 6A 65 63 74 4D 61 70 3D 5B 5D 3B 74 68 69 73 2E 72 65 63 74 61 6E 67 75 6C 61 72 52 65 67 69 6F 6E 45 76 65 6E 74 53 75 62 73 63 72 69 70 74 69 6F 6E 73 3D 5B 5D 3B 74 68 69 73 2E 70 72 65 76 69 6F 75 73 44 61 74 61 50 6F 69 6E 74 45 76 65 6E 74 4F 62 6A 65 63 74 3D 6E 75 6C 6C 3B 74 68 69 73 2E 65 76 65 6E 74 4F 62 6A 65 63 74 73 3D 5B 5D 3B 74 26 26 28 74 68 69 73 2E 67 68 6F 73 74 43 74 78 2E 63 6C 65 61 72 52 65 63 74 28 30 2C 30 2C 74 68 69 73 2E 63 68 61 72 74 2E 77 69 64 74 68 2C 74 68 69 73 2E 63 68 61 72 74 2E 68 65 69 67 68 74 29 2C 74 68 69 73 2E 67 68 6F 73 74 43 74 78 2E 62 65 67 69 6E 50 61 74 68 28 29 29 7D 3B 61 61 2E 70 72 6F 74 6F 74 79 70 65 2E 67 65 74 4E 65 77 4F 62 6A 65 63 74 54 72 61 63 6B 69 6E 67 49 64 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 72 65 74 75 72 6E 2B 2B 74 68 69 73 2E 6C 61 73 74 4F 62 6A 65 63 74 49 64 7D 3B 61 61 2E 70 72 6F 74 6F 74 79 70 65 2E 6D 6F 75 73 65 45 76 65 6E 74 48 61 6E 64 6C 65 72 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 22 6D 6F 75 73 65 6D 6F 76 65 22 3D 3D 3D 61 2E 74 79 70 65 7C 7C 22 63 6C 69 63 6B 22 3D 3D 3D 61 2E 74 79 70 65 29 7B 76 61 72 20 62 3D 0A 5B 5D 2C 63 3D 6E 61 28 61 29 2C 64 3D 6E 75 6C 6C 3B 69 66 28 28 64 3D 74 68 69 73 2E 63 68 61 72 74 2E 67 65 74 4F 62 6A 65 63 74 41 74 58 59 28 63 2E 78 2C 63 2E 79 2C 21 31 29 29 26 26 22 75 6E 64 65 66 69 6E 65 64 22 21 3D 3D 74 79 70 65 6F 66 20 74 68 69 73 2E 6F 62 6A 65 63 74 4D 61 70 5B 64 5D 29 69 66 28 64 3D 74 68 69 73 2E 6F 62 6A 65 63 74 4D 61 70 5B 64 5D 2C 22 64 61 74 61 50 6F 69 6E 74 22 3D 3D 3D 64 2E 6F 62 6A 65 63 74 54 79 70 65 29 7B 76 61 72 20 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 64 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 5D 2C 66 3D 65 2E 64 61 74 61 50 6F 69 6E 74 73 5B 64 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 5D 2C 67 3D 64 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3B 64 2E 65 76 65 6E 74 50 61 72 61 6D 65 74 65 72 3D 7B 78 3A 63 2E 78 2C 79 3A 63 2E 79 2C 64 61 74 61 50 6F 69 6E 74 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 65 2E 5F 6F 70 74 69 6F 6E 73 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 67 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 65 2E 69 6E 64 65 78 2C 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 7D 3B 64 2E 65 76 65 6E 74 43 6F 6E 74 65 78 74 3D 7B 63 6F 6E 74 65 78 74 3A 66 2C 75 73 65 72 43 6F 6E 74 65 78 74 3A 66 2C 6D 6F 75 73 65 6F 76 65 72 3A 22 6D 6F 75 73 65 6F 76 65 72 22 2C 6D 6F 75 73 65 6D 6F 76 65 3A 22 6D 6F 75 73 65 6D 6F 76 65 22 2C 6D 6F 75 73 65 6F 75 74 3A 22 6D 6F 75 73 65 6F 75 74 22 2C 63 6C 69 63 6B 3A 22 63 6C 69 63 6B 22 7D 3B 0A 62 2E 70 75 73 68 28 64 29 3B 64 3D 74 68 69 73 2E 6F 62 6A 65 63 74 4D 61 70 5B 65 2E 69 64 5D 3B 64 2E 65 76 65 6E 74 50 61 72 61 6D 65 74 65 72 3D 7B 78 3A 63 2E 78 2C 79 3A 63 2E 79 2C 64 61 74 61 50 6F 69 6E 74 3A 66 2C 64 61 74 61 53 65 72 69 65 73 3A 65 2E 5F 6F 70 74 69 6F 6E 73 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 67 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 65 2E 69 6E 64 65 78 2C 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 7D 3B 64 2E 65 76 65 6E 74 43 6F 6E 74 65 78 74 3D 7B 63 6F 6E 74 65 78 74 3A 65 2C 75 73 65 72 43 6F 6E 74 65 78 74 3A 65 2E 5F 6F 70 74 69 6F 6E 73 2C 6D 6F 75 73 65 6F 76 65 72 3A 22 6D 6F 75 73 65 6F 76 65 72 22 2C 6D 6F 75 73 65 6D 6F 76 65 3A 22 6D 6F 75 73 65 6D 6F 76 65 22 2C 6D 6F 75 73 65 6F 75 74 3A 22 6D 6F 75 73 65 6F 75 74 22 2C 63 6C 69 63 6B 3A 22 63 6C 69 63 6B 22 7D 3B 62 2E 70 75 73 68 28 74 68 69 73 2E 6F 62 6A 65 63 74 4D 61 70 5B 65 2E 69 64 5D 29 7D 65 6C 73 65 22 6C 65 67 65 6E 64 49 74 65 6D 22 3D 3D 3D 64 2E 6F 62 6A 65 63 74 54 79 70 65 26 26 28 65 3D 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 64 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 5D 2C 66 3D 6E 75 6C 6C 21 3D 3D 64 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3F 65 2E 64 61 74 61 50 6F 69 6E 74 73 5B 64 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 5D 3A 6E 75 6C 6C 2C 64 2E 65 76 65 6E 74 50 61 72 61 6D 65 74 65 72 3D 7B 78 3A 63 2E 78 2C 79 3A 63 2E 79 2C 64 61 74 61 53 65 72 69 65 73 3A 65 2E 5F 6F 70 74 69 6F 6E 73 2C 0A 64 61 74 61 50 6F 69 6E 74 3A 66 2C 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 3A 64 2E 64 61 74 61 50 6F 69 6E 74 49 6E 64 65 78 2C 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 3A 64 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 2C 63 68 61 72 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 5F 70 75 62 6C 69 63 43 68 61 72 74 52 65 66 65 72 65 6E 63 65 7D 2C 64 2E 65 76 65 6E 74 43 6F 6E 74 65 78 74 3D 7B 63 6F 6E 74 65 78 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 6C 65 67 65 6E 64 2C 75 73 65 72 43 6F 6E 74 65 78 74 3A 74 68 69 73 2E 63 68 61 72 74 2E 6C 65 67 65 6E 64 2E 5F 6F 70 74 69 6F 6E 73 2C 6D 6F 75 73 65 6F 76 65 72 3A 22 69 74 65 6D 6D 6F 75 73 65 6F 76 65 72 22 2C 6D 6F 75 73 65 6D 6F 76 65 3A 22 69 74 65 6D 6D 6F 75 73 65 6D 6F 76 65 22 2C 6D 6F 75 73 65 6F 75 74 3A 22 69 74 65 6D 6D 6F 75 73 65 6F 75 74 22 2C 63 6C 69 63 6B 3A 22 69 74 65 6D 63 6C 69 63 6B 22 7D 2C 62 2E 70 75 73 68 28 64 29 29 3B 65 3D 5B 5D 3B 66 6F 72 28 63 3D 30 3B 63 3C 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 66 3D 21 30 3B 66 6F 72 28 64 3D 30 3B 64 3C 62 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 69 66 28 62 5B 64 5D 2E 69 64 3D 3D 3D 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 5B 63 5D 2E 69 64 29 7B 66 3D 21 31 3B 62 72 65 61 6B 7D 66 3F 74 68 69 73 2E 66 69 72 65 45 76 65 6E 74 28 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 5B 63 5D 2C 22 6D 6F 75 73 65 6F 75 74 22 2C 0A 61 29 3A 65 2E 70 75 73 68 28 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 5B 63 5D 29 7D 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 3D 65 3B 66 6F 72 28 63 3D 30 3B 63 3C 62 2E 6C 65 6E 67 74 68 3B 63 2B 2B 29 7B 65 3D 21 31 3B 66 6F 72 28 64 3D 30 3B 64 3C 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 2E 6C 65 6E 67 74 68 3B 64 2B 2B 29 69 66 28 62 5B 63 5D 2E 69 64 3D 3D 3D 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 5B 64 5D 2E 69 64 29 7B 65 3D 21 30 3B 62 72 65 61 6B 7D 65 7C 7C 28 74 68 69 73 2E 66 69 72 65 45 76 65 6E 74 28 62 5B 63 5D 2C 22 6D 6F 75 73 65 6F 76 65 72 22 2C 61 29 2C 74 68 69 73 2E 6D 6F 75 73 65 6F 76 65 72 65 64 4F 62 6A 65 63 74 4D 61 70 73 2E 70 75 73 68 28 62 5B 63 5D 29 29 3B 22 63 6C 69 63 6B 22 3D 3D 3D 61 2E 74 79 70 65 3F 74 68 69 73 2E 66 69 72 65 45 76 65 6E 74 28 62 5B 63 5D 2C 22 63 6C 69 63 6B 22 2C 61 29 3A 22 6D 6F 75 73 65 6D 6F 76 65 22 3D 3D 3D 61 2E 74 79 70 65 26 26 74 68 69 73 2E 66 69 72 65 45 76 65 6E 74 28 62 5B 63 5D 2C 22 6D 6F 75 73 65 6D 6F 76 65 22 2C 61 29 7D 7D 7D 3B 61 61 2E 70 72 6F 74 6F 74 79 70 65 2E 66 69 72 65 45 76 65 6E 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 69 66 28 61 26 26 62 29 7B 76 61 72 20 64 3D 61 2E 65 76 65 6E 74 50 61 72 61 6D 65 74 65 72 2C 65 3D 61 2E 65 76 65 6E 74 43 6F 6E 74 65 78 74 2C 66 3D 61 2E 65 76 65 6E 74 43 6F 6E 74 65 78 74 2E 75 73 65 72 43 6F 6E 74 65 78 74 3B 0A 66 26 26 28 65 26 26 66 5B 65 5B 62 5D 5D 29 26 26 66 5B 65 5B 62 5D 5D 2E 63 61 6C 6C 28 66 2C 64 29 3B 22 6D 6F 75 73 65 6F 75 74 22 21 3D 3D 62 3F 66 2E 63 75 72 73 6F 72 26 26 66 2E 63 75 72 73 6F 72 21 3D 3D 63 2E 74 61 72 67 65 74 2E 73 74 79 6C 65 2E 63 75 72 73 6F 72 26 26 28 63 2E 74 61 72 67 65 74 2E 73 74 79 6C 65 2E 63 75 72 73 6F 72 3D 66 2E 63 75 72 73 6F 72 29 3A 28 63 2E 74 61 72 67 65 74 2E 73 74 79 6C 65 2E 63 75 72 73 6F 72 3D 74 68 69 73 2E 63 68 61 72 74 2E 5F 64 65 66 61 75 6C 74 43 75 72 73 6F 72 2C 64 65 6C 65 74 65 20 61 2E 65 76 65 6E 74 50 61 72 61 6D 65 74 65 72 2C 64 65 6C 65 74 65 20 61 2E 65 76 65 6E 74 43 6F 6E 74 65 78 74 29 3B 22 63 6C 69 63 6B 22 3D 3D 3D 62 26 26 28 22 64 61 74 61 50 6F 69 6E 74 22 3D 3D 3D 61 2E 6F 62 6A 65 63 74 54 79 70 65 26 26 74 68 69 73 2E 63 68 61 72 74 2E 70 69 65 44 6F 75 67 68 6E 75 74 43 6C 69 63 6B 48 61 6E 64 6C 65 72 29 26 26 74 68 69 73 2E 63 68 61 72 74 2E 70 69 65 44 6F 75 67 68 6E 75 74 43 6C 69 63 6B 48 61 6E 64 6C 65 72 2E 63 61 6C 6C 28 74 68 69 73 2E 63 68 61 72 74 2E 64 61 74 61 5B 61 2E 64 61 74 61 53 65 72 69 65 73 49 6E 64 65 78 5D 2C 64 29 7D 7D 3B 4F 28 63 61 2C 47 29 3B 71 61 2E 70 72 6F 74 6F 74 79 70 65 2E 61 6E 69 6D 61 74 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 76 61 72 20 66 3D 74 68 69 73 3B 74 68 69 73 2E 63 68 61 72 74 2E 69 73 41 6E 69 6D 61 74 69 6E 67 3D 21 30 3B 65 3D 65 7C 7C 41 2E 65 61 73 69 6E 67 2E 6C 69 6E 65 61 72 3B 63 26 26 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 73 2E 70 75 73 68 28 7B 73 74 61 72 74 54 69 6D 65 3A 28 6E 65 77 20 44 61 74 65 29 2E 67 65 74 54 69 6D 65 28 29 2B 0A 28 61 3F 61 3A 30 29 2C 64 75 72 61 74 69 6F 6E 3A 62 2C 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 3A 63 2C 6F 6E 43 6F 6D 70 6C 65 74 65 3A 64 7D 29 3B 66 6F 72 28 61 3D 5B 5D 3B 30 3C 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 73 2E 6C 65 6E 67 74 68 3B 29 69 66 28 62 3D 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 73 2E 73 68 69 66 74 28 29 2C 63 3D 28 6E 65 77 20 44 61 74 65 29 2E 67 65 74 54 69 6D 65 28 29 2C 64 3D 30 2C 62 2E 73 74 61 72 74 54 69 6D 65 3C 3D 63 26 26 28 64 3D 65 28 4D 61 74 68 2E 6D 69 6E 28 63 2D 62 2E 73 74 61 72 74 54 69 6D 65 2C 62 2E 64 75 72 61 74 69 6F 6E 29 2C 30 2C 31 2C 62 2E 64 75 72 61 74 69 6F 6E 29 2C 64 3D 4D 61 74 68 2E 6D 69 6E 28 64 2C 31 29 2C 69 73 4E 61 4E 28 64 29 7C 7C 21 69 73 46 69 6E 69 74 65 28 64 29 29 26 26 28 64 3D 31 29 2C 31 3E 64 26 26 61 2E 70 75 73 68 28 62 29 2C 62 2E 61 6E 69 6D 61 74 69 6F 6E 43 61 6C 6C 62 61 63 6B 28 64 29 2C 31 3C 3D 64 26 26 62 2E 6F 6E 43 6F 6D 70 6C 65 74 65 29 62 2E 6F 6E 43 6F 6D 70 6C 65 74 65 28 29 3B 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 73 3D 61 3B 30 3C 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 73 2E 6C 65 6E 67 74 68 3F 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 3D 74 68 69 73 2E 63 68 61 72 74 2E 72 65 71 75 65 73 74 41 6E 69 6D 46 72 61 6D 65 2E 63 61 6C 6C 28 77 69 6E 64 6F 77 2C 66 75 6E 63 74 69 6F 6E 28 29 7B 66 2E 61 6E 69 6D 61 74 65 2E 63 61 6C 6C 28 66 29 7D 29 3A 74 68 69 73 2E 63 68 61 72 74 2E 69 73 41 6E 69 6D 61 74 69 6E 67 3D 21 31 7D 3B 0A 71 61 2E 70 72 6F 74 6F 74 79 70 65 2E 63 61 6E 63 65 6C 41 6C 6C 41 6E 69 6D 61 74 69 6F 6E 73 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 73 3D 5B 5D 3B 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 26 26 74 68 69 73 2E 63 68 61 72 74 2E 63 61 6E 63 65 6C 52 65 71 75 65 73 74 41 6E 69 6D 46 72 61 6D 65 2E 63 61 6C 6C 28 77 69 6E 64 6F 77 2C 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 29 3B 74 68 69 73 2E 61 6E 69 6D 61 74 69 6F 6E 52 65 71 75 65 73 74 49 64 3D 6E 75 6C 6C 3B 74 68 69 73 2E 63 68 61 72 74 2E 69 73 41 6E 69 6D 61 74 69 6E 67 3D 21 31 7D 3B 76 61 72 20 41 3D 7B 79 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 30 21 3D 3D 61 29 7B 76 61 72 20 63 3D 62 2E 64 65 73 74 2C 64 3D 62 2E 73 6F 75 72 63 65 2E 63 61 6E 76 61 73 2C 65 3D 62 2E 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3B 63 2E 64 72 61 77 49 6D 61 67 65 28 64 2C 30 2C 30 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 2C 30 2C 65 2D 65 2A 61 2C 63 2E 63 61 6E 76 61 73 2E 77 69 64 74 68 2F 4A 2C 61 2A 63 2E 63 61 6E 76 61 73 2E 68 65 69 67 68 74 2F 4A 29 7D 7D 2C 78 53 63 61 6C 65 41 6E 69 6D 61 74 69 6F 6E 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 30 21 3D 3D 61 29 7B 76 61 72 20 63 3D 62 2E 64 65 73 74 2C 64 3D 62 2E 73 6F 75 72 63 65 2E 63 61 6E 76 61 73 2C 65 3D 62 2E 61 6E 69 6D 61 74 69 6F 6E 42 61 73 65 3B 63 2E 64 72 61 77 49 6D 61 67 65 28 64 2C 30 2C 30 2C 0A 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 2C 65 2D 65 2A 61 2C 30 2C 61 2A 63 2E 63 61 6E 76 61 73 2E 77 69 64 74 68 2F 4A 2C 63 2E 63 61 6E 76 61 73 2E 68 65 69 67 68 74 2F 4A 29 7D 7D 2C 78 43 6C 69 70 41 6E 69 6D 61 74 69 6F 6E 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 30 21 3D 3D 61 29 7B 76 61 72 20 63 3D 62 2E 64 65 73 74 2C 64 3D 62 2E 73 6F 75 72 63 65 2E 63 61 6E 76 61 73 3B 63 2E 73 61 76 65 28 29 3B 30 3C 61 26 26 63 2E 64 72 61 77 49 6D 61 67 65 28 64 2C 30 2C 30 2C 64 2E 77 69 64 74 68 2A 61 2C 64 2E 68 65 69 67 68 74 2C 30 2C 30 2C 64 2E 77 69 64 74 68 2A 61 2F 4A 2C 64 2E 68 65 69 67 68 74 2F 4A 29 3B 63 2E 72 65 73 74 6F 72 65 28 29 7D 7D 2C 66 61 64 65 49 6E 41 6E 69 6D 61 74 69 6F 6E 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 69 66 28 30 21 3D 3D 61 29 7B 76 61 72 20 63 3D 62 2E 64 65 73 74 2C 64 3D 62 2E 73 6F 75 72 63 65 2E 63 61 6E 76 61 73 3B 63 2E 73 61 76 65 28 29 3B 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 61 3B 63 2E 64 72 61 77 49 6D 61 67 65 28 64 2C 30 2C 30 2C 64 2E 77 69 64 74 68 2C 64 2E 68 65 69 67 68 74 2C 30 2C 30 2C 63 2E 63 61 6E 76 61 73 2E 77 69 64 74 68 2F 4A 2C 63 2E 63 61 6E 76 61 73 2E 68 65 69 67 68 74 2F 4A 29 3B 63 2E 72 65 73 74 6F 72 65 28 29 7D 7D 2C 65 61 73 69 6E 67 3A 7B 6C 69 6E 65 61 72 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 29 7B 72 65 74 75 72 6E 20 63 2A 61 2F 64 2B 62 7D 2C 65 61 73 65 4F 75 74 51 75 61 64 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 29 7B 72 65 74 75 72 6E 2D 63 2A 0A 28 61 2F 3D 64 29 2A 28 61 2D 32 29 2B 62 7D 2C 65 61 73 65 4F 75 74 51 75 61 72 74 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 29 7B 72 65 74 75 72 6E 2D 63 2A 28 28 61 3D 61 2F 64 2D 31 29 2A 61 2A 61 2A 61 2D 31 29 2B 62 7D 2C 65 61 73 65 49 6E 51 75 61 64 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 29 7B 72 65 74 75 72 6E 20 63 2A 28 61 2F 3D 64 29 2A 61 2B 62 7D 2C 65 61 73 65 49 6E 51 75 61 72 74 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 29 7B 72 65 74 75 72 6E 20 63 2A 28 61 2F 3D 64 29 2A 61 2A 61 2A 61 2B 62 7D 7D 7D 2C 4B 3D 7B 64 72 61 77 4D 61 72 6B 65 72 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 2C 66 2C 67 2C 6B 29 7B 69 66 28 63 29 7B 76 61 72 20 70 3D 31 3B 63 2E 66 69 6C 6C 53 74 79 6C 65 3D 66 3F 66 3A 22 23 30 30 30 30 30 30 22 3B 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 67 3F 67 3A 22 23 30 30 30 30 30 30 22 3B 63 2E 6C 69 6E 65 57 69 64 74 68 3D 6B 3F 6B 3A 30 3B 22 63 69 72 63 6C 65 22 3D 3D 3D 64 3F 28 63 2E 6D 6F 76 65 54 6F 28 61 2C 62 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 61 72 63 28 61 2C 62 2C 65 2F 32 2C 30 2C 32 2A 4D 61 74 68 2E 50 49 2C 21 31 29 2C 66 26 26 63 2E 66 69 6C 6C 28 29 2C 6B 26 26 28 67 3F 63 2E 73 74 72 6F 6B 65 28 29 3A 28 70 3D 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 30 2E 31 35 2C 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 62 6C 61 63 6B 22 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 70 29 29 29 3A 0A 22 73 71 75 61 72 65 22 3D 3D 3D 64 3F 28 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 72 65 63 74 28 61 2D 65 2F 32 2C 62 2D 65 2F 32 2C 65 2C 65 29 2C 66 26 26 63 2E 66 69 6C 6C 28 29 2C 6B 26 26 28 67 3F 63 2E 73 74 72 6F 6B 65 28 29 3A 28 70 3D 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 30 2E 31 35 2C 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 62 6C 61 63 6B 22 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 70 29 29 29 3A 22 74 72 69 61 6E 67 6C 65 22 3D 3D 3D 64 3F 28 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 61 2D 65 2F 32 2C 62 2B 65 2F 32 29 2C 63 2E 6C 69 6E 65 54 6F 28 61 2B 65 2F 32 2C 62 2B 65 2F 32 29 2C 63 2E 6C 69 6E 65 54 6F 28 61 2C 62 2D 65 2F 32 29 2C 63 2E 63 6C 6F 73 65 50 61 74 68 28 29 2C 66 26 26 63 2E 66 69 6C 6C 28 29 2C 6B 26 26 28 67 3F 63 2E 73 74 72 6F 6B 65 28 29 3A 28 70 3D 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 30 2E 31 35 2C 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 62 6C 61 63 6B 22 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 70 29 29 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 29 3A 22 63 72 6F 73 73 22 3D 3D 3D 64 26 26 28 63 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 66 2C 63 2E 6C 69 6E 65 57 69 64 74 68 3D 65 2F 34 2C 63 2E 62 65 67 69 6E 50 61 74 68 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 61 2D 65 2F 32 2C 62 2D 65 2F 32 29 2C 63 2E 6C 69 6E 65 54 6F 28 61 2B 65 2F 0A 32 2C 62 2B 65 2F 32 29 2C 63 2E 73 74 72 6F 6B 65 28 29 2C 63 2E 6D 6F 76 65 54 6F 28 61 2B 65 2F 32 2C 62 2D 65 2F 32 29 2C 63 2E 6C 69 6E 65 54 6F 28 61 2D 65 2F 32 2C 62 2B 65 2F 32 29 2C 63 2E 73 74 72 6F 6B 65 28 29 29 7D 7D 2C 64 72 61 77 4D 61 72 6B 65 72 73 3A 66 75 6E 63 74 69 6F 6E 28 61 29 7B 66 6F 72 28 76 61 72 20 62 3D 30 3B 62 3C 61 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 7B 76 61 72 20 63 3D 61 5B 62 5D 3B 4B 2E 64 72 61 77 4D 61 72 6B 65 72 28 63 2E 78 2C 63 2E 79 2C 63 2E 63 74 78 2C 63 2E 74 79 70 65 2C 63 2E 73 69 7A 65 2C 63 2E 63 6F 6C 6F 72 2C 63 2E 62 6F 72 64 65 72 43 6F 6C 6F 72 2C 63 2E 62 6F 72 64 65 72 54 68 69 63 6B 6E 65 73 73 29 7D 7D 7D 2C 42 61 3D 7B 43 68 61 72 74 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 76 61 72 20 63 3D 6E 65 77 20 75 28 61 2C 62 2C 74 68 69 73 29 3B 74 68 69 73 2E 72 65 6E 64 65 72 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 63 2E 72 65 6E 64 65 72 28 74 68 69 73 2E 6F 70 74 69 6F 6E 73 29 7D 3B 74 68 69 73 2E 6F 70 74 69 6F 6E 73 3D 63 2E 5F 6F 70 74 69 6F 6E 73 7D 2C 61 64 64 43 6F 6C 6F 72 53 65 74 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 57 5B 61 5D 3D 62 7D 2C 61 64 64 43 75 6C 74 75 72 65 49 6E 66 6F 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 64 61 5B 61 5D 3D 62 7D 2C 66 6F 72 6D 61 74 4E 75 6D 62 65 72 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 63 3D 63 7C 7C 22 65 6E 22 3B 69 66 28 64 61 5B 63 5D 29 72 65 74 75 72 6E 20 58 28 61 2C 62 7C 7C 22 23 2C 23 23 30 2E 23 23 22 2C 6E 65 77 20 63 61 28 63 29 29 3B 74 68 72 6F 77 22 55 6E 6B 6E 6F 77 6E 20 43 75 6C 74 75 72 65 20 4E 61 6D 65 22 3B 0A 7D 2C 66 6F 72 6D 61 74 44 61 74 65 3A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 29 7B 63 3D 63 7C 7C 22 65 6E 22 3B 69 66 28 64 61 5B 63 5D 29 72 65 74 75 72 6E 20 72 61 28 61 2C 62 7C 7C 22 44 44 20 4D 4D 4D 20 59 59 59 59 22 2C 6E 65 77 20 63 61 28 63 29 29 3B 74 68 72 6F 77 22 55 6E 6B 6E 6F 77 6E 20 43 75 6C 74 75 72 65 20 4E 61 6D 65 22 3B 7D 7D 3B 42 61 2E 43 68 61 72 74 2E 76 65 72 73 69 6F 6E 3D 22 76 31 2E 38 2E 30 20 47 41 22 3B 77 69 6E 64 6F 77 2E 43 61 6E 76 61 73 4A 53 3D 42 61 7D 29 28 29 3B 0A 2F 2A 0A 20 20 65 78 63 61 6E 76 61 73 20 69 73 20 75 73 65 64 20 74 6F 20 73 75 70 70 6F 72 74 20 49 45 36 37 38 20 77 68 69 63 68 20 64 6F 20 6E 6F 74 20 69 6D 70 6C 65 6D 65 6E 74 20 48 54 4D 4C 35 20 43 61 6E 76 61 73 20 45 6C 65 6D 65 6E 74 2E 20 59 6F 75 20 63 61 6E 20 73 61 66 65 6C 79 20 72 65 6D 6F 76 65 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 65 78 63 61 6E 76 61 73 20 63 6F 64 65 20 69 66 20 79 6F 75 20 64 6F 6E 27 74 20 6E 65 65 64 20 74 6F 20 73 75 70 70 6F 72 74 20 6F 6C 64 65 72 20 62 72 6F 77 73 65 72 73 2E 0A 0A 20 20 43 6F 70 79 72 69 67 68 74 20 32 30 30 36 20 47 6F 6F 67 6C 65 20 49 6E 63 2E 20 68 74 74 70 73 3A 2F 2F 63 6F 64 65 2E 67 6F 6F 67 6C 65 2E 63 6F 6D 2F 70 2F 65 78 70 6C 6F 72 65 72 63 61 6E 76 61 73 2F 0A 20 20 4C 69 63 65 6E 73 65 64 20 75 6E 64 65 72 20 74 68 65 20 41 70 61 63 68 65 20 4C 69 63 65 6E 73 65 2C 20 56 65 72 73 69 6F 6E 20 32 2E 30 0A 2A 2F 0A 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 63 61 6E 76 61 73 22 29 2E 67 65 74 43 6F 6E 74 65 78 74 7C 7C 66 75 6E 63 74 69 6F 6E 28 29 7B 66 75 6E 63 74 69 6F 6E 20 56 28 29 7B 72 65 74 75 72 6E 20 74 68 69 73 2E 63 6F 6E 74 65 78 74 5F 7C 7C 28 74 68 69 73 2E 63 6F 6E 74 65 78 74 5F 3D 6E 65 77 20 43 28 74 68 69 73 29 29 7D 66 75 6E 63 74 69 6F 6E 20 57 28 61 2C 62 2C 63 29 7B 76 61 72 20 67 3D 4D 2E 63 61 6C 6C 28 61 72 67 75 6D 65 6E 74 73 2C 32 29 3B 72 65 74 75 72 6E 20 66 75 6E 63 74 69 6F 6E 28 29 7B 72 65 74 75 72 6E 20 61 2E 61 70 70 6C 79 28 62 2C 67 2E 63 6F 6E 63 61 74 28 4D 2E 63 61 6C 6C 28 61 72 67 75 6D 65 6E 74 73 29 29 29 7D 7D 66 75 6E 63 74 69 6F 6E 20 4E 28 61 29 7B 72 65 74 75 72 6E 20 53 74 72 69 6E 67 28 61 29 2E 72 65 70 6C 61 63 65 28 2F 26 2F 67 2C 22 26 61 6D 70 3B 22 29 2E 72 65 70 6C 61 63 65 28 2F 22 2F 67 2C 22 26 71 75 6F 74 3B 22 29 7D 66 75 6E 63 74 69 6F 6E 20 4F 28 61 29 7B 61 2E 6E 61 6D 65 73 70 61 63 65 73 2E 67 5F 76 6D 6C 5F 7C 7C 61 2E 6E 61 6D 65 73 70 61 63 65 73 2E 61 64 64 28 22 67 5F 76 6D 6C 5F 22 2C 22 75 72 6E 3A 73 63 68 65 6D 61 73 2D 6D 69 63 72 6F 73 6F 66 74 2D 63 6F 6D 3A 76 6D 6C 22 2C 22 23 64 65 66 61 75 6C 74 23 56 4D 4C 22 29 3B 61 2E 6E 61 6D 65 73 70 61 63 65 73 2E 67 5F 6F 5F 7C 7C 61 2E 6E 61 6D 65 73 70 61 63 65 73 2E 61 64 64 28 22 67 5F 6F 5F 22 2C 22 75 72 6E 3A 73 63 68 65 6D 61 73 2D 6D 69 63 72 6F 73 6F 66 74 2D 63 6F 6D 3A 6F 66 66 69 63 65 3A 6F 66 66 69 63 65 22 2C 22 23 64 65 66 61 75 6C 74 23 56 4D 4C 22 29 3B 0A 61 2E 73 74 79 6C 65 53 68 65 65 74 73 2E 65 78 5F 63 61 6E 76 61 73 5F 7C 7C 28 61 3D 61 2E 63 72 65 61 74 65 53 74 79 6C 65 53 68 65 65 74 28 29 2C 61 2E 6F 77 6E 69 6E 67 45 6C 65 6D 65 6E 74 2E 69 64 3D 22 65 78 5F 63 61 6E 76 61 73 5F 22 2C 61 2E 63 73 73 54 65 78 74 3D 22 63 61 6E 76 61 73 7B 64 69 73 70 6C 61 79 3A 69 6E 6C 69 6E 65 2D 62 6C 6F 63 6B 3B 6F 76 65 72 66 6C 6F 77 3A 68 69 64 64 65 6E 3B 74 65 78 74 2D 61 6C 69 67 6E 3A 6C 65 66 74 3B 77 69 64 74 68 3A 33 30 30 70 78 3B 68 65 69 67 68 74 3A 31 35 30 70 78 7D 22 29 7D 66 75 6E 63 74 69 6F 6E 20 58 28 61 29 7B 76 61 72 20 62 3D 61 2E 73 72 63 45 6C 65 6D 65 6E 74 3B 73 77 69 74 63 68 28 61 2E 70 72 6F 70 65 72 74 79 4E 61 6D 65 29 7B 63 61 73 65 20 22 77 69 64 74 68 22 3A 62 2E 67 65 74 43 6F 6E 74 65 78 74 28 29 2E 63 6C 65 61 72 52 65 63 74 28 29 3B 62 2E 73 74 79 6C 65 2E 77 69 64 74 68 3D 62 2E 61 74 74 72 69 62 75 74 65 73 2E 77 69 64 74 68 2E 6E 6F 64 65 56 61 6C 75 65 2B 22 70 78 22 3B 62 2E 66 69 72 73 74 43 68 69 6C 64 2E 73 74 79 6C 65 2E 77 69 64 74 68 3D 62 2E 63 6C 69 65 6E 74 57 69 64 74 68 2B 22 70 78 22 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 68 65 69 67 68 74 22 3A 62 2E 67 65 74 43 6F 6E 74 65 78 74 28 29 2E 63 6C 65 61 72 52 65 63 74 28 29 2C 62 2E 73 74 79 6C 65 2E 68 65 69 67 68 74 3D 62 2E 61 74 74 72 69 62 75 74 65 73 2E 68 65 69 67 68 74 2E 6E 6F 64 65 56 61 6C 75 65 2B 22 70 78 22 2C 62 2E 66 69 72 73 74 43 68 69 6C 64 2E 73 74 79 6C 65 2E 68 65 69 67 68 74 3D 62 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 2B 0A 22 70 78 22 7D 7D 66 75 6E 63 74 69 6F 6E 20 59 28 61 29 7B 61 3D 61 2E 73 72 63 45 6C 65 6D 65 6E 74 3B 61 2E 66 69 72 73 74 43 68 69 6C 64 26 26 28 61 2E 66 69 72 73 74 43 68 69 6C 64 2E 73 74 79 6C 65 2E 77 69 64 74 68 3D 61 2E 63 6C 69 65 6E 74 57 69 64 74 68 2B 22 70 78 22 2C 61 2E 66 69 72 73 74 43 68 69 6C 64 2E 73 74 79 6C 65 2E 68 65 69 67 68 74 3D 61 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 2B 22 70 78 22 29 7D 66 75 6E 63 74 69 6F 6E 20 44 28 29 7B 72 65 74 75 72 6E 5B 5B 31 2C 30 2C 30 5D 2C 5B 30 2C 31 2C 30 5D 2C 5B 30 2C 30 2C 31 5D 5D 7D 66 75 6E 63 74 69 6F 6E 20 74 28 61 2C 62 29 7B 66 6F 72 28 76 61 72 20 63 3D 44 28 29 2C 67 3D 30 3B 33 3E 67 3B 67 2B 2B 29 66 6F 72 28 76 61 72 20 65 3D 30 3B 33 3E 65 3B 65 2B 2B 29 7B 66 6F 72 28 76 61 72 20 66 3D 30 2C 64 3D 30 3B 33 3E 64 3B 64 2B 2B 29 66 2B 3D 61 5B 67 5D 5B 64 5D 2A 62 5B 64 5D 5B 65 5D 3B 63 5B 67 5D 5B 65 5D 3D 66 7D 72 65 74 75 72 6E 20 63 7D 66 75 6E 63 74 69 6F 6E 20 50 28 61 2C 62 29 7B 62 2E 66 69 6C 6C 53 74 79 6C 65 3D 61 2E 66 69 6C 6C 53 74 79 6C 65 3B 62 2E 6C 69 6E 65 43 61 70 3D 61 2E 6C 69 6E 65 43 61 70 3B 62 2E 6C 69 6E 65 4A 6F 69 6E 3D 61 2E 6C 69 6E 65 4A 6F 69 6E 3B 62 2E 6C 69 6E 65 57 69 64 74 68 3D 61 2E 6C 69 6E 65 57 69 64 74 68 3B 62 2E 6D 69 74 65 72 4C 69 6D 69 74 3D 61 2E 6D 69 74 65 72 4C 69 6D 69 74 3B 62 2E 73 68 61 64 6F 77 42 6C 75 72 3D 61 2E 73 68 61 64 6F 77 42 6C 75 72 3B 62 2E 73 68 61 64 6F 77 43 6F 6C 6F 72 3D 61 2E 73 68 61 64 6F 77 43 6F 6C 6F 72 3B 62 2E 73 68 61 64 6F 77 4F 66 66 73 65 74 58 3D 0A 61 2E 73 68 61 64 6F 77 4F 66 66 73 65 74 58 3B 62 2E 73 68 61 64 6F 77 4F 66 66 73 65 74 59 3D 61 2E 73 68 61 64 6F 77 4F 66 66 73 65 74 59 3B 62 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3B 62 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3B 62 2E 66 6F 6E 74 3D 61 2E 66 6F 6E 74 3B 62 2E 74 65 78 74 41 6C 69 67 6E 3D 61 2E 74 65 78 74 41 6C 69 67 6E 3B 62 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 61 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3B 62 2E 61 72 63 53 63 61 6C 65 58 5F 3D 61 2E 61 72 63 53 63 61 6C 65 58 5F 3B 62 2E 61 72 63 53 63 61 6C 65 59 5F 3D 61 2E 61 72 63 53 63 61 6C 65 59 5F 3B 62 2E 6C 69 6E 65 53 63 61 6C 65 5F 3D 61 2E 6C 69 6E 65 53 63 61 6C 65 5F 7D 66 75 6E 63 74 69 6F 6E 20 51 28 61 29 7B 76 61 72 20 62 3D 61 2E 69 6E 64 65 78 4F 66 28 22 28 22 2C 33 29 2C 63 3D 61 2E 69 6E 64 65 78 4F 66 28 22 29 22 2C 62 2B 31 29 2C 62 3D 61 2E 73 75 62 73 74 72 69 6E 67 28 62 2B 31 2C 63 29 2E 73 70 6C 69 74 28 22 2C 22 29 3B 69 66 28 34 21 3D 62 2E 6C 65 6E 67 74 68 7C 7C 22 61 22 21 3D 61 2E 63 68 61 72 41 74 28 33 29 29 62 5B 33 5D 3D 31 3B 72 65 74 75 72 6E 20 62 7D 66 75 6E 63 74 69 6F 6E 20 45 28 61 2C 62 2C 63 29 7B 72 65 74 75 72 6E 20 4D 61 74 68 2E 6D 69 6E 28 63 2C 4D 61 74 68 2E 6D 61 78 28 62 2C 61 29 29 7D 66 75 6E 63 74 69 6F 6E 20 46 28 61 2C 62 2C 63 29 7B 30 3E 63 26 26 63 2B 2B 3B 31 3C 63 26 26 63 2D 2D 3B 72 65 74 75 72 6E 20 31 3E 36 2A 63 3F 61 2B 36 2A 28 62 2D 61 29 2A 63 3A 0A 31 3E 32 2A 63 3F 62 3A 32 3E 33 2A 63 3F 61 2B 36 2A 28 62 2D 61 29 2A 28 32 2F 33 2D 63 29 3A 61 7D 66 75 6E 63 74 69 6F 6E 20 47 28 61 29 7B 69 66 28 61 20 69 6E 20 48 29 72 65 74 75 72 6E 20 48 5B 61 5D 3B 76 61 72 20 62 2C 63 3D 31 3B 61 3D 53 74 72 69 6E 67 28 61 29 3B 69 66 28 22 23 22 3D 3D 61 2E 63 68 61 72 41 74 28 30 29 29 62 3D 61 3B 65 6C 73 65 20 69 66 28 2F 5E 72 67 62 2F 2E 74 65 73 74 28 61 29 29 7B 63 3D 51 28 61 29 3B 62 3D 22 23 22 3B 66 6F 72 28 76 61 72 20 67 2C 65 3D 30 3B 33 3E 65 3B 65 2B 2B 29 67 3D 2D 31 21 3D 63 5B 65 5D 2E 69 6E 64 65 78 4F 66 28 22 25 22 29 3F 4D 61 74 68 2E 66 6C 6F 6F 72 28 32 35 35 2A 28 70 61 72 73 65 46 6C 6F 61 74 28 63 5B 65 5D 29 2F 31 30 30 29 29 3A 2B 63 5B 65 5D 2C 62 2B 3D 76 5B 45 28 67 2C 30 2C 32 35 35 29 5D 3B 63 3D 2B 63 5B 33 5D 7D 65 6C 73 65 20 69 66 28 2F 5E 68 73 6C 2F 2E 74 65 73 74 28 61 29 29 7B 65 3D 63 3D 51 28 61 29 3B 62 3D 70 61 72 73 65 46 6C 6F 61 74 28 65 5B 30 5D 29 2F 33 36 30 25 33 36 30 3B 30 3E 62 26 26 62 2B 2B 3B 67 3D 45 28 70 61 72 73 65 46 6C 6F 61 74 28 65 5B 31 5D 29 2F 31 30 30 2C 30 2C 31 29 3B 65 3D 45 28 70 61 72 73 65 46 6C 6F 61 74 28 65 5B 32 5D 29 2F 31 30 30 2C 30 2C 31 29 3B 69 66 28 30 3D 3D 67 29 67 3D 65 3D 62 3D 65 3B 65 6C 73 65 7B 76 61 72 20 66 3D 30 2E 35 3E 65 3F 65 2A 28 31 2B 67 29 3A 65 2B 67 2D 65 2A 67 2C 64 3D 32 2A 65 2D 66 3B 67 3D 46 28 64 2C 66 2C 62 2B 31 2F 33 29 3B 65 3D 46 28 64 2C 66 2C 62 29 3B 62 3D 46 28 64 2C 66 2C 62 2D 31 2F 33 29 7D 62 3D 22 23 22 2B 0A 76 5B 4D 61 74 68 2E 66 6C 6F 6F 72 28 32 35 35 2A 67 29 5D 2B 76 5B 4D 61 74 68 2E 66 6C 6F 6F 72 28 32 35 35 2A 65 29 5D 2B 76 5B 4D 61 74 68 2E 66 6C 6F 6F 72 28 32 35 35 2A 62 29 5D 3B 63 3D 63 5B 33 5D 7D 65 6C 73 65 20 62 3D 5A 5B 61 5D 7C 7C 61 3B 72 65 74 75 72 6E 20 48 5B 61 5D 3D 7B 63 6F 6C 6F 72 3A 62 2C 61 6C 70 68 61 3A 63 7D 7D 66 75 6E 63 74 69 6F 6E 20 43 28 61 29 7B 74 68 69 73 2E 6D 5F 3D 44 28 29 3B 74 68 69 73 2E 6D 53 74 61 63 6B 5F 3D 5B 5D 3B 74 68 69 73 2E 61 53 74 61 63 6B 5F 3D 5B 5D 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 3D 5B 5D 3B 74 68 69 73 2E 66 69 6C 6C 53 74 79 6C 65 3D 74 68 69 73 2E 73 74 72 6F 6B 65 53 74 79 6C 65 3D 22 23 30 30 30 22 3B 74 68 69 73 2E 6C 69 6E 65 57 69 64 74 68 3D 31 3B 74 68 69 73 2E 6C 69 6E 65 4A 6F 69 6E 3D 22 6D 69 74 65 72 22 3B 74 68 69 73 2E 6C 69 6E 65 43 61 70 3D 22 62 75 74 74 22 3B 74 68 69 73 2E 6D 69 74 65 72 4C 69 6D 69 74 3D 31 2A 71 3B 74 68 69 73 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3D 31 3B 74 68 69 73 2E 66 6F 6E 74 3D 22 31 30 70 78 20 73 61 6E 73 2D 73 65 72 69 66 22 3B 74 68 69 73 2E 74 65 78 74 41 6C 69 67 6E 3D 22 6C 65 66 74 22 3B 74 68 69 73 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 3D 22 61 6C 70 68 61 62 65 74 69 63 22 3B 74 68 69 73 2E 63 61 6E 76 61 73 3D 61 3B 76 61 72 20 62 3D 22 77 69 64 74 68 3A 22 2B 61 2E 63 6C 69 65 6E 74 57 69 64 74 68 2B 22 70 78 3B 68 65 69 67 68 74 3A 22 2B 61 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 2B 22 70 78 3B 6F 76 65 72 66 6C 6F 77 3A 68 69 64 64 65 6E 3B 70 6F 73 69 74 69 6F 6E 3A 61 62 73 6F 6C 75 74 65 22 2C 0A 63 3D 61 2E 6F 77 6E 65 72 44 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 3B 63 2E 73 74 79 6C 65 2E 63 73 73 54 65 78 74 3D 62 3B 61 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 63 29 3B 62 3D 63 2E 63 6C 6F 6E 65 4E 6F 64 65 28 21 31 29 3B 62 2E 73 74 79 6C 65 2E 62 61 63 6B 67 72 6F 75 6E 64 43 6F 6C 6F 72 3D 22 72 65 64 22 3B 62 2E 73 74 79 6C 65 2E 66 69 6C 74 65 72 3D 22 61 6C 70 68 61 28 6F 70 61 63 69 74 79 3D 30 29 22 3B 61 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 62 29 3B 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 3D 63 3B 74 68 69 73 2E 6C 69 6E 65 53 63 61 6C 65 5F 3D 74 68 69 73 2E 61 72 63 53 63 61 6C 65 59 5F 3D 74 68 69 73 2E 61 72 63 53 63 61 6C 65 58 5F 3D 31 7D 66 75 6E 63 74 69 6F 6E 20 52 28 61 2C 62 2C 63 2C 67 29 7B 61 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 2E 70 75 73 68 28 7B 74 79 70 65 3A 22 62 65 7A 69 65 72 43 75 72 76 65 54 6F 22 2C 63 70 31 78 3A 62 2E 78 2C 63 70 31 79 3A 62 2E 79 2C 63 70 32 78 3A 63 2E 78 2C 63 70 32 79 3A 63 2E 79 2C 78 3A 67 2E 78 2C 79 3A 67 2E 79 7D 29 3B 61 2E 63 75 72 72 65 6E 74 58 5F 3D 67 2E 78 3B 61 2E 63 75 72 72 65 6E 74 59 5F 3D 67 2E 79 7D 66 75 6E 63 74 69 6F 6E 20 53 28 61 2C 62 29 7B 76 61 72 20 63 3D 47 28 61 2E 73 74 72 6F 6B 65 53 74 79 6C 65 29 2C 67 3D 63 2E 63 6F 6C 6F 72 2C 63 3D 63 2E 61 6C 70 68 61 2A 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 2C 65 3D 61 2E 6C 69 6E 65 53 63 61 6C 65 5F 2A 61 2E 6C 69 6E 65 57 69 64 74 68 3B 31 3E 65 26 26 28 63 2A 3D 65 29 3B 62 2E 70 75 73 68 28 22 3C 67 5F 76 6D 6C 5F 3A 73 74 72 6F 6B 65 22 2C 0A 27 20 6F 70 61 63 69 74 79 3D 22 27 2C 63 2C 27 22 27 2C 27 20 6A 6F 69 6E 73 74 79 6C 65 3D 22 27 2C 61 2E 6C 69 6E 65 4A 6F 69 6E 2C 27 22 27 2C 27 20 6D 69 74 65 72 6C 69 6D 69 74 3D 22 27 2C 61 2E 6D 69 74 65 72 4C 69 6D 69 74 2C 27 22 27 2C 27 20 65 6E 64 63 61 70 3D 22 27 2C 24 5B 61 2E 6C 69 6E 65 43 61 70 5D 7C 7C 22 73 71 75 61 72 65 22 2C 27 22 27 2C 27 20 77 65 69 67 68 74 3D 22 27 2C 65 2C 27 70 78 22 27 2C 27 20 63 6F 6C 6F 72 3D 22 27 2C 67 2C 27 22 20 2F 3E 27 29 7D 66 75 6E 63 74 69 6F 6E 20 54 28 61 2C 62 2C 63 2C 67 29 7B 76 61 72 20 65 3D 61 2E 66 69 6C 6C 53 74 79 6C 65 2C 66 3D 61 2E 61 72 63 53 63 61 6C 65 58 5F 2C 64 3D 61 2E 61 72 63 53 63 61 6C 65 59 5F 2C 6B 3D 67 2E 78 2D 63 2E 78 2C 6E 3D 67 2E 79 2D 63 2E 79 3B 69 66 28 65 20 69 6E 73 74 61 6E 63 65 6F 66 20 77 29 7B 76 61 72 20 68 3D 30 2C 6C 3D 67 3D 30 2C 75 3D 30 2C 6D 3D 31 3B 69 66 28 22 67 72 61 64 69 65 6E 74 22 3D 3D 65 2E 74 79 70 65 5F 29 7B 68 3D 65 2E 78 31 5F 2F 66 3B 63 3D 65 2E 79 31 5F 2F 64 3B 76 61 72 20 70 3D 73 28 61 2C 65 2E 78 30 5F 2F 66 2C 65 2E 79 30 5F 2F 64 29 2C 68 3D 73 28 61 2C 68 2C 63 29 2C 68 3D 31 38 30 2A 4D 61 74 68 2E 61 74 61 6E 32 28 68 2E 78 2D 70 2E 78 2C 68 2E 79 2D 70 2E 79 29 2F 4D 61 74 68 2E 50 49 3B 30 3E 68 26 26 28 68 2B 3D 33 36 30 29 3B 31 45 2D 36 3E 68 26 26 28 68 3D 30 29 7D 65 6C 73 65 20 70 3D 73 28 61 2C 65 2E 78 30 5F 2C 65 2E 79 30 5F 29 2C 67 3D 28 70 2E 78 2D 63 2E 78 29 2F 6B 2C 6C 3D 28 70 2E 79 2D 63 2E 79 29 2F 6E 2C 6B 2F 3D 66 2A 71 2C 0A 6E 2F 3D 64 2A 71 2C 6D 3D 78 2E 6D 61 78 28 6B 2C 6E 29 2C 75 3D 32 2A 65 2E 72 30 5F 2F 6D 2C 6D 3D 32 2A 65 2E 72 31 5F 2F 6D 2D 75 3B 66 3D 65 2E 63 6F 6C 6F 72 73 5F 3B 66 2E 73 6F 72 74 28 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 72 65 74 75 72 6E 20 61 2E 6F 66 66 73 65 74 2D 62 2E 6F 66 66 73 65 74 7D 29 3B 64 3D 66 2E 6C 65 6E 67 74 68 3B 70 3D 66 5B 30 5D 2E 63 6F 6C 6F 72 3B 63 3D 66 5B 64 2D 31 5D 2E 63 6F 6C 6F 72 3B 6B 3D 66 5B 30 5D 2E 61 6C 70 68 61 2A 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3B 61 3D 66 5B 64 2D 31 5D 2E 61 6C 70 68 61 2A 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 3B 66 6F 72 28 76 61 72 20 6E 3D 5B 5D 2C 72 3D 30 3B 72 3C 64 3B 72 2B 2B 29 7B 76 61 72 20 74 3D 66 5B 72 5D 3B 6E 2E 70 75 73 68 28 74 2E 6F 66 66 73 65 74 2A 6D 2B 75 2B 22 20 22 2B 74 2E 63 6F 6C 6F 72 29 7D 62 2E 70 75 73 68 28 27 3C 67 5F 76 6D 6C 5F 3A 66 69 6C 6C 20 74 79 70 65 3D 22 27 2C 65 2E 74 79 70 65 5F 2C 27 22 27 2C 27 20 6D 65 74 68 6F 64 3D 22 6E 6F 6E 65 22 20 66 6F 63 75 73 3D 22 31 30 30 25 22 27 2C 27 20 63 6F 6C 6F 72 3D 22 27 2C 70 2C 27 22 27 2C 27 20 63 6F 6C 6F 72 32 3D 22 27 2C 63 2C 27 22 27 2C 27 20 63 6F 6C 6F 72 73 3D 22 27 2C 6E 2E 6A 6F 69 6E 28 22 2C 22 29 2C 27 22 27 2C 27 20 6F 70 61 63 69 74 79 3D 22 27 2C 61 2C 27 22 27 2C 27 20 67 5F 6F 5F 3A 6F 70 61 63 69 74 79 32 3D 22 27 2C 6B 2C 27 22 27 2C 27 20 61 6E 67 6C 65 3D 22 27 2C 68 2C 27 22 27 2C 27 20 66 6F 63 75 73 70 6F 73 69 74 69 6F 6E 3D 22 27 2C 67 2C 22 2C 22 2C 6C 2C 27 22 20 2F 3E 27 29 7D 65 6C 73 65 20 65 20 69 6E 73 74 61 6E 63 65 6F 66 0A 49 3F 6B 26 26 6E 26 26 62 2E 70 75 73 68 28 22 3C 67 5F 76 6D 6C 5F 3A 66 69 6C 6C 22 2C 27 20 70 6F 73 69 74 69 6F 6E 3D 22 27 2C 2D 63 2E 78 2F 6B 2A 66 2A 66 2C 22 2C 22 2C 2D 63 2E 79 2F 6E 2A 64 2A 64 2C 27 22 27 2C 27 20 74 79 70 65 3D 22 74 69 6C 65 22 27 2C 27 20 73 72 63 3D 22 27 2C 65 2E 73 72 63 5F 2C 27 22 20 2F 3E 27 29 3A 28 65 3D 47 28 61 2E 66 69 6C 6C 53 74 79 6C 65 29 2C 62 2E 70 75 73 68 28 27 3C 67 5F 76 6D 6C 5F 3A 66 69 6C 6C 20 63 6F 6C 6F 72 3D 22 27 2C 65 2E 63 6F 6C 6F 72 2C 27 22 20 6F 70 61 63 69 74 79 3D 22 27 2C 65 2E 61 6C 70 68 61 2A 61 2E 67 6C 6F 62 61 6C 41 6C 70 68 61 2C 27 22 20 2F 3E 27 29 29 7D 66 75 6E 63 74 69 6F 6E 20 73 28 61 2C 62 2C 63 29 7B 61 3D 61 2E 6D 5F 3B 72 65 74 75 72 6E 7B 78 3A 71 2A 28 62 2A 61 5B 30 5D 5B 30 5D 2B 63 2A 61 5B 31 5D 5B 30 5D 2B 61 5B 32 5D 5B 30 5D 29 2D 72 2C 79 3A 71 2A 28 62 2A 61 5B 30 5D 5B 31 5D 2B 63 2A 61 5B 31 5D 5B 31 5D 2B 61 5B 32 5D 5B 31 5D 29 2D 72 7D 7D 66 75 6E 63 74 69 6F 6E 20 7A 28 61 2C 62 2C 63 29 7B 69 73 46 69 6E 69 74 65 28 62 5B 30 5D 5B 30 5D 29 26 26 28 69 73 46 69 6E 69 74 65 28 62 5B 30 5D 5B 31 5D 29 26 26 69 73 46 69 6E 69 74 65 28 62 5B 31 5D 5B 30 5D 29 26 26 69 73 46 69 6E 69 74 65 28 62 5B 31 5D 5B 31 5D 29 26 26 69 73 46 69 6E 69 74 65 28 62 5B 32 5D 5B 30 5D 29 26 26 69 73 46 69 6E 69 74 65 28 62 5B 32 5D 5B 31 5D 29 29 26 26 28 61 2E 6D 5F 3D 62 2C 63 26 26 28 61 2E 6C 69 6E 65 53 63 61 6C 65 5F 3D 61 61 28 62 61 28 62 5B 30 5D 5B 30 5D 2A 62 5B 31 5D 5B 31 5D 2D 62 5B 30 5D 5B 31 5D 2A 0A 62 5B 31 5D 5B 30 5D 29 29 29 29 7D 66 75 6E 63 74 69 6F 6E 20 77 28 61 29 7B 74 68 69 73 2E 74 79 70 65 5F 3D 61 3B 74 68 69 73 2E 72 31 5F 3D 74 68 69 73 2E 79 31 5F 3D 74 68 69 73 2E 78 31 5F 3D 74 68 69 73 2E 72 30 5F 3D 74 68 69 73 2E 79 30 5F 3D 74 68 69 73 2E 78 30 5F 3D 30 3B 74 68 69 73 2E 63 6F 6C 6F 72 73 5F 3D 5B 5D 7D 66 75 6E 63 74 69 6F 6E 20 49 28 61 2C 62 29 7B 69 66 28 21 61 7C 7C 31 21 3D 61 2E 6E 6F 64 65 54 79 70 65 7C 7C 22 49 4D 47 22 21 3D 61 2E 74 61 67 4E 61 6D 65 29 74 68 72 6F 77 20 6E 65 77 20 41 28 22 54 59 50 45 5F 4D 49 53 4D 41 54 43 48 5F 45 52 52 22 29 3B 69 66 28 22 63 6F 6D 70 6C 65 74 65 22 21 3D 61 2E 72 65 61 64 79 53 74 61 74 65 29 74 68 72 6F 77 20 6E 65 77 20 41 28 22 49 4E 56 41 4C 49 44 5F 53 54 41 54 45 5F 45 52 52 22 29 3B 73 77 69 74 63 68 28 62 29 7B 63 61 73 65 20 22 72 65 70 65 61 74 22 3A 63 61 73 65 20 6E 75 6C 6C 3A 63 61 73 65 20 22 22 3A 74 68 69 73 2E 72 65 70 65 74 69 74 69 6F 6E 5F 3D 22 72 65 70 65 61 74 22 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 72 65 70 65 61 74 2D 78 22 3A 63 61 73 65 20 22 72 65 70 65 61 74 2D 79 22 3A 63 61 73 65 20 22 6E 6F 2D 72 65 70 65 61 74 22 3A 74 68 69 73 2E 72 65 70 65 74 69 74 69 6F 6E 5F 3D 62 3B 62 72 65 61 6B 3B 64 65 66 61 75 6C 74 3A 74 68 72 6F 77 20 6E 65 77 20 41 28 22 53 59 4E 54 41 58 5F 45 52 52 22 29 3B 7D 74 68 69 73 2E 73 72 63 5F 3D 61 2E 73 72 63 3B 74 68 69 73 2E 77 69 64 74 68 5F 3D 61 2E 77 69 64 74 68 3B 74 68 69 73 2E 68 65 69 67 68 74 5F 3D 61 2E 68 65 69 67 68 74 7D 0A 66 75 6E 63 74 69 6F 6E 20 41 28 61 29 7B 74 68 69 73 2E 63 6F 64 65 3D 74 68 69 73 5B 61 5D 3B 74 68 69 73 2E 6D 65 73 73 61 67 65 3D 61 2B 22 3A 20 44 4F 4D 20 45 78 63 65 70 74 69 6F 6E 20 22 2B 74 68 69 73 2E 63 6F 64 65 7D 76 61 72 20 78 3D 4D 61 74 68 2C 6B 3D 78 2E 72 6F 75 6E 64 2C 4A 3D 78 2E 73 69 6E 2C 4B 3D 78 2E 63 6F 73 2C 62 61 3D 78 2E 61 62 73 2C 61 61 3D 78 2E 73 71 72 74 2C 71 3D 31 30 2C 72 3D 71 2F 32 3B 6E 61 76 69 67 61 74 6F 72 2E 75 73 65 72 41 67 65 6E 74 2E 6D 61 74 63 68 28 2F 4D 53 49 45 20 28 5B 5C 64 2E 5D 2B 29 3F 2F 29 3B 76 61 72 20 4D 3D 41 72 72 61 79 2E 70 72 6F 74 6F 74 79 70 65 2E 73 6C 69 63 65 3B 4F 28 64 6F 63 75 6D 65 6E 74 29 3B 76 61 72 20 55 3D 7B 69 6E 69 74 3A 66 75 6E 63 74 69 6F 6E 28 61 29 7B 61 3D 61 7C 7C 64 6F 63 75 6D 65 6E 74 3B 61 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 63 61 6E 76 61 73 22 29 3B 61 2E 61 74 74 61 63 68 45 76 65 6E 74 28 22 6F 6E 72 65 61 64 79 73 74 61 74 65 63 68 61 6E 67 65 22 2C 57 28 74 68 69 73 2E 69 6E 69 74 5F 2C 74 68 69 73 2C 61 29 29 7D 2C 69 6E 69 74 5F 3A 66 75 6E 63 74 69 6F 6E 28 61 29 7B 61 3D 61 2E 67 65 74 45 6C 65 6D 65 6E 74 73 42 79 54 61 67 4E 61 6D 65 28 22 63 61 6E 76 61 73 22 29 3B 66 6F 72 28 76 61 72 20 62 3D 30 3B 62 3C 61 2E 6C 65 6E 67 74 68 3B 62 2B 2B 29 74 68 69 73 2E 69 6E 69 74 45 6C 65 6D 65 6E 74 28 61 5B 62 5D 29 7D 2C 69 6E 69 74 45 6C 65 6D 65 6E 74 3A 66 75 6E 63 74 69 6F 6E 28 61 29 7B 69 66 28 21 61 2E 67 65 74 43 6F 6E 74 65 78 74 29 7B 61 2E 67 65 74 43 6F 6E 74 65 78 74 3D 0A 56 3B 4F 28 61 2E 6F 77 6E 65 72 44 6F 63 75 6D 65 6E 74 29 3B 61 2E 69 6E 6E 65 72 48 54 4D 4C 3D 22 22 3B 61 2E 61 74 74 61 63 68 45 76 65 6E 74 28 22 6F 6E 70 72 6F 70 65 72 74 79 63 68 61 6E 67 65 22 2C 58 29 3B 61 2E 61 74 74 61 63 68 45 76 65 6E 74 28 22 6F 6E 72 65 73 69 7A 65 22 2C 59 29 3B 76 61 72 20 62 3D 61 2E 61 74 74 72 69 62 75 74 65 73 3B 62 2E 77 69 64 74 68 26 26 62 2E 77 69 64 74 68 2E 73 70 65 63 69 66 69 65 64 3F 61 2E 73 74 79 6C 65 2E 77 69 64 74 68 3D 62 2E 77 69 64 74 68 2E 6E 6F 64 65 56 61 6C 75 65 2B 22 70 78 22 3A 61 2E 77 69 64 74 68 3D 61 2E 63 6C 69 65 6E 74 57 69 64 74 68 3B 62 2E 68 65 69 67 68 74 26 26 62 2E 68 65 69 67 68 74 2E 73 70 65 63 69 66 69 65 64 3F 61 2E 73 74 79 6C 65 2E 68 65 69 67 68 74 3D 62 2E 68 65 69 67 68 74 2E 6E 6F 64 65 56 61 6C 75 65 2B 22 70 78 22 3A 61 2E 68 65 69 67 68 74 3D 61 2E 63 6C 69 65 6E 74 48 65 69 67 68 74 7D 72 65 74 75 72 6E 20 61 7D 7D 3B 55 2E 69 6E 69 74 28 29 3B 66 6F 72 28 76 61 72 20 76 3D 5B 5D 2C 64 3D 30 3B 31 36 3E 64 3B 64 2B 2B 29 66 6F 72 28 76 61 72 20 42 3D 30 3B 31 36 3E 42 3B 42 2B 2B 29 76 5B 31 36 2A 64 2B 42 5D 3D 64 2E 74 6F 53 74 72 69 6E 67 28 31 36 29 2B 42 2E 74 6F 53 74 72 69 6E 67 28 31 36 29 3B 76 61 72 20 5A 3D 7B 61 6C 69 63 65 62 6C 75 65 3A 22 23 46 30 46 38 46 46 22 2C 61 6E 74 69 71 75 65 77 68 69 74 65 3A 22 23 46 41 45 42 44 37 22 2C 61 71 75 61 6D 61 72 69 6E 65 3A 22 23 37 46 46 46 44 34 22 2C 61 7A 75 72 65 3A 22 23 46 30 46 46 46 46 22 2C 62 65 69 67 65 3A 22 23 46 35 46 35 44 43 22 2C 0A 62 69 73 71 75 65 3A 22 23 46 46 45 34 43 34 22 2C 62 6C 61 63 6B 3A 22 23 30 30 30 30 30 30 22 2C 62 6C 61 6E 63 68 65 64 61 6C 6D 6F 6E 64 3A 22 23 46 46 45 42 43 44 22 2C 62 6C 75 65 76 69 6F 6C 65 74 3A 22 23 38 41 32 42 45 32 22 2C 62 72 6F 77 6E 3A 22 23 41 35 32 41 32 41 22 2C 62 75 72 6C 79 77 6F 6F 64 3A 22 23 44 45 42 38 38 37 22 2C 63 61 64 65 74 62 6C 75 65 3A 22 23 35 46 39 45 41 30 22 2C 63 68 61 72 74 72 65 75 73 65 3A 22 23 37 46 46 46 30 30 22 2C 63 68 6F 63 6F 6C 61 74 65 3A 22 23 44 32 36 39 31 45 22 2C 63 6F 72 61 6C 3A 22 23 46 46 37 46 35 30 22 2C 63 6F 72 6E 66 6C 6F 77 65 72 62 6C 75 65 3A 22 23 36 34 39 35 45 44 22 2C 63 6F 72 6E 73 69 6C 6B 3A 22 23 46 46 46 38 44 43 22 2C 63 72 69 6D 73 6F 6E 3A 22 23 44 43 31 34 33 43 22 2C 63 79 61 6E 3A 22 23 30 30 46 46 46 46 22 2C 64 61 72 6B 62 6C 75 65 3A 22 23 30 30 30 30 38 42 22 2C 64 61 72 6B 63 79 61 6E 3A 22 23 30 30 38 42 38 42 22 2C 64 61 72 6B 67 6F 6C 64 65 6E 72 6F 64 3A 22 23 42 38 38 36 30 42 22 2C 64 61 72 6B 67 72 61 79 3A 22 23 41 39 41 39 41 39 22 2C 64 61 72 6B 67 72 65 65 6E 3A 22 23 30 30 36 34 30 30 22 2C 64 61 72 6B 67 72 65 79 3A 22 23 41 39 41 39 41 39 22 2C 64 61 72 6B 6B 68 61 6B 69 3A 22 23 42 44 42 37 36 42 22 2C 64 61 72 6B 6D 61 67 65 6E 74 61 3A 22 23 38 42 30 30 38 42 22 2C 64 61 72 6B 6F 6C 69 76 65 67 72 65 65 6E 3A 22 23 35 35 36 42 32 46 22 2C 64 61 72 6B 6F 72 61 6E 67 65 3A 22 23 46 46 38 43 30 30 22 2C 64 61 72 6B 6F 72 63 68 69 64 3A 22 23 39 39 33 32 43 43 22 2C 64 61 72 6B 72 65 64 3A 22 23 38 42 30 30 30 30 22 2C 0A 64 61 72 6B 73 61 6C 6D 6F 6E 3A 22 23 45 39 39 36 37 41 22 2C 64 61 72 6B 73 65 61 67 72 65 65 6E 3A 22 23 38 46 42 43 38 46 22 2C 64 61 72 6B 73 6C 61 74 65 62 6C 75 65 3A 22 23 34 38 33 44 38 42 22 2C 64 61 72 6B 73 6C 61 74 65 67 72 61 79 3A 22 23 32 46 34 46 34 46 22 2C 64 61 72 6B 73 6C 61 74 65 67 72 65 79 3A 22 23 32 46 34 46 34 46 22 2C 64 61 72 6B 74 75 72 71 75 6F 69 73 65 3A 22 23 30 30 43 45 44 31 22 2C 64 61 72 6B 76 69 6F 6C 65 74 3A 22 23 39 34 30 30 44 33 22 2C 64 65 65 70 70 69 6E 6B 3A 22 23 46 46 31 34 39 33 22 2C 64 65 65 70 73 6B 79 62 6C 75 65 3A 22 23 30 30 42 46 46 46 22 2C 64 69 6D 67 72 61 79 3A 22 23 36 39 36 39 36 39 22 2C 64 69 6D 67 72 65 79 3A 22 23 36 39 36 39 36 39 22 2C 64 6F 64 67 65 72 62 6C 75 65 3A 22 23 31 45 39 30 46 46 22 2C 66 69 72 65 62 72 69 63 6B 3A 22 23 42 32 32 32 32 32 22 2C 66 6C 6F 72 61 6C 77 68 69 74 65 3A 22 23 46 46 46 41 46 30 22 2C 66 6F 72 65 73 74 67 72 65 65 6E 3A 22 23 32 32 38 42 32 32 22 2C 67 61 69 6E 73 62 6F 72 6F 3A 22 23 44 43 44 43 44 43 22 2C 67 68 6F 73 74 77 68 69 74 65 3A 22 23 46 38 46 38 46 46 22 2C 67 6F 6C 64 3A 22 23 46 46 44 37 30 30 22 2C 67 6F 6C 64 65 6E 72 6F 64 3A 22 23 44 41 41 35 32 30 22 2C 67 72 65 79 3A 22 23 38 30 38 30 38 30 22 2C 67 72 65 65 6E 79 65 6C 6C 6F 77 3A 22 23 41 44 46 46 32 46 22 2C 68 6F 6E 65 79 64 65 77 3A 22 23 46 30 46 46 46 30 22 2C 68 6F 74 70 69 6E 6B 3A 22 23 46 46 36 39 42 34 22 2C 69 6E 64 69 61 6E 72 65 64 3A 22 23 43 44 35 43 35 43 22 2C 69 6E 64 69 67 6F 3A 22 23 34 42 30 30 38 32 22 2C 0A 69 76 6F 72 79 3A 22 23 46 46 46 46 46 30 22 2C 6B 68 61 6B 69 3A 22 23 46 30 45 36 38 43 22 2C 6C 61 76 65 6E 64 65 72 3A 22 23 45 36 45 36 46 41 22 2C 6C 61 76 65 6E 64 65 72 62 6C 75 73 68 3A 22 23 46 46 46 30 46 35 22 2C 6C 61 77 6E 67 72 65 65 6E 3A 22 23 37 43 46 43 30 30 22 2C 6C 65 6D 6F 6E 63 68 69 66 66 6F 6E 3A 22 23 46 46 46 41 43 44 22 2C 6C 69 67 68 74 62 6C 75 65 3A 22 23 41 44 44 38 45 36 22 2C 6C 69 67 68 74 63 6F 72 61 6C 3A 22 23 46 30 38 30 38 30 22 2C 6C 69 67 68 74 63 79 61 6E 3A 22 23 45 30 46 46 46 46 22 2C 6C 69 67 68 74 67 6F 6C 64 65 6E 72 6F 64 79 65 6C 6C 6F 77 3A 22 23 46 41 46 41 44 32 22 2C 6C 69 67 68 74 67 72 65 65 6E 3A 22 23 39 30 45 45 39 30 22 2C 6C 69 67 68 74 67 72 65 79 3A 22 23 44 33 44 33 44 33 22 2C 6C 69 67 68 74 70 69 6E 6B 3A 22 23 46 46 42 36 43 31 22 2C 6C 69 67 68 74 73 61 6C 6D 6F 6E 3A 22 23 46 46 41 30 37 41 22 2C 6C 69 67 68 74 73 65 61 67 72 65 65 6E 3A 22 23 32 30 42 32 41 41 22 2C 6C 69 67 68 74 73 6B 79 62 6C 75 65 3A 22 23 38 37 43 45 46 41 22 2C 6C 69 67 68 74 73 6C 61 74 65 67 72 61 79 3A 22 23 37 37 38 38 39 39 22 2C 6C 69 67 68 74 73 6C 61 74 65 67 72 65 79 3A 22 23 37 37 38 38 39 39 22 2C 6C 69 67 68 74 73 74 65 65 6C 62 6C 75 65 3A 22 23 42 30 43 34 44 45 22 2C 6C 69 67 68 74 79 65 6C 6C 6F 77 3A 22 23 46 46 46 46 45 30 22 2C 6C 69 6D 65 67 72 65 65 6E 3A 22 23 33 32 43 44 33 32 22 2C 6C 69 6E 65 6E 3A 22 23 46 41 46 30 45 36 22 2C 6D 61 67 65 6E 74 61 3A 22 23 46 46 30 30 46 46 22 2C 6D 65 64 69 75 6D 61 71 75 61 6D 61 72 69 6E 65 3A 22 23 36 36 43 44 41 41 22 2C 0A 6D 65 64 69 75 6D 62 6C 75 65 3A 22 23 30 30 30 30 43 44 22 2C 6D 65 64 69 75 6D 6F 72 63 68 69 64 3A 22 23 42 41 35 35 44 33 22 2C 6D 65 64 69 75 6D 70 75 72 70 6C 65 3A 22 23 39 33 37 30 44 42 22 2C 6D 65 64 69 75 6D 73 65 61 67 72 65 65 6E 3A 22 23 33 43 42 33 37 31 22 2C 6D 65 64 69 75 6D 73 6C 61 74 65 62 6C 75 65 3A 22 23 37 42 36 38 45 45 22 2C 6D 65 64 69 75 6D 73 70 72 69 6E 67 67 72 65 65 6E 3A 22 23 30 30 46 41 39 41 22 2C 6D 65 64 69 75 6D 74 75 72 71 75 6F 69 73 65 3A 22 23 34 38 44 31 43 43 22 2C 6D 65 64 69 75 6D 76 69 6F 6C 65 74 72 65 64 3A 22 23 43 37 31 35 38 35 22 2C 6D 69 64 6E 69 67 68 74 62 6C 75 65 3A 22 23 31 39 31 39 37 30 22 2C 6D 69 6E 74 63 72 65 61 6D 3A 22 23 46 35 46 46 46 41 22 2C 6D 69 73 74 79 72 6F 73 65 3A 22 23 46 46 45 34 45 31 22 2C 6D 6F 63 63 61 73 69 6E 3A 22 23 46 46 45 34 42 35 22 2C 6E 61 76 61 6A 6F 77 68 69 74 65 3A 22 23 46 46 44 45 41 44 22 2C 6F 6C 64 6C 61 63 65 3A 22 23 46 44 46 35 45 36 22 2C 6F 6C 69 76 65 64 72 61 62 3A 22 23 36 42 38 45 32 33 22 2C 6F 72 61 6E 67 65 3A 22 23 46 46 41 35 30 30 22 2C 6F 72 61 6E 67 65 72 65 64 3A 22 23 46 46 34 35 30 30 22 2C 6F 72 63 68 69 64 3A 22 23 44 41 37 30 44 36 22 2C 70 61 6C 65 67 6F 6C 64 65 6E 72 6F 64 3A 22 23 45 45 45 38 41 41 22 2C 70 61 6C 65 67 72 65 65 6E 3A 22 23 39 38 46 42 39 38 22 2C 70 61 6C 65 74 75 72 71 75 6F 69 73 65 3A 22 23 41 46 45 45 45 45 22 2C 70 61 6C 65 76 69 6F 6C 65 74 72 65 64 3A 22 23 44 42 37 30 39 33 22 2C 70 61 70 61 79 61 77 68 69 70 3A 22 23 46 46 45 46 44 35 22 2C 0A 70 65 61 63 68 70 75 66 66 3A 22 23 46 46 44 41 42 39 22 2C 70 65 72 75 3A 22 23 43 44 38 35 33 46 22 2C 70 69 6E 6B 3A 22 23 46 46 43 30 43 42 22 2C 70 6C 75 6D 3A 22 23 44 44 41 30 44 44 22 2C 70 6F 77 64 65 72 62 6C 75 65 3A 22 23 42 30 45 30 45 36 22 2C 72 6F 73 79 62 72 6F 77 6E 3A 22 23 42 43 38 46 38 46 22 2C 72 6F 79 61 6C 62 6C 75 65 3A 22 23 34 31 36 39 45 31 22 2C 73 61 64 64 6C 65 62 72 6F 77 6E 3A 22 23 38 42 34 35 31 33 22 2C 73 61 6C 6D 6F 6E 3A 22 23 46 41 38 30 37 32 22 2C 73 61 6E 64 79 62 72 6F 77 6E 3A 22 23 46 34 41 34 36 30 22 2C 73 65 61 67 72 65 65 6E 3A 22 23 32 45 38 42 35 37 22 2C 73 65 61 73 68 65 6C 6C 3A 22 23 46 46 46 35 45 45 22 2C 73 69 65 6E 6E 61 3A 22 23 41 30 35 32 32 44 22 2C 73 6B 79 62 6C 75 65 3A 22 23 38 37 43 45 45 42 22 2C 73 6C 61 74 65 62 6C 75 65 3A 22 23 36 41 35 41 43 44 22 2C 73 6C 61 74 65 67 72 61 79 3A 22 23 37 30 38 30 39 30 22 2C 73 6C 61 74 65 67 72 65 79 3A 22 23 37 30 38 30 39 30 22 2C 73 6E 6F 77 3A 22 23 46 46 46 41 46 41 22 2C 73 70 72 69 6E 67 67 72 65 65 6E 3A 22 23 30 30 46 46 37 46 22 2C 73 74 65 65 6C 62 6C 75 65 3A 22 23 34 36 38 32 42 34 22 2C 74 61 6E 3A 22 23 44 32 42 34 38 43 22 2C 74 68 69 73 74 6C 65 3A 22 23 44 38 42 46 44 38 22 2C 74 6F 6D 61 74 6F 3A 22 23 46 46 36 33 34 37 22 2C 74 75 72 71 75 6F 69 73 65 3A 22 23 34 30 45 30 44 30 22 2C 76 69 6F 6C 65 74 3A 22 23 45 45 38 32 45 45 22 2C 77 68 65 61 74 3A 22 23 46 35 44 45 42 33 22 2C 77 68 69 74 65 73 6D 6F 6B 65 3A 22 23 46 35 46 35 46 35 22 2C 79 65 6C 6C 6F 77 67 72 65 65 6E 3A 22 23 39 41 43 44 33 32 22 7D 2C 0A 48 3D 7B 7D 2C 4C 3D 7B 7D 2C 24 3D 7B 62 75 74 74 3A 22 66 6C 61 74 22 2C 72 6F 75 6E 64 3A 22 72 6F 75 6E 64 22 7D 2C 64 3D 43 2E 70 72 6F 74 6F 74 79 70 65 3B 64 2E 63 6C 65 61 72 52 65 63 74 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 26 26 28 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 2E 72 65 6D 6F 76 65 4E 6F 64 65 28 21 30 29 2C 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 3D 6E 75 6C 6C 29 3B 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 69 6E 6E 65 72 48 54 4D 4C 3D 22 22 7D 3B 64 2E 62 65 67 69 6E 50 61 74 68 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 3D 5B 5D 7D 3B 64 2E 6D 6F 76 65 54 6F 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 76 61 72 20 63 3D 73 28 74 68 69 73 2C 61 2C 62 29 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 2E 70 75 73 68 28 7B 74 79 70 65 3A 22 6D 6F 76 65 54 6F 22 2C 78 3A 63 2E 78 2C 79 3A 63 2E 79 7D 29 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 58 5F 3D 63 2E 78 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 59 5F 3D 63 2E 79 7D 3B 64 2E 6C 69 6E 65 54 6F 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 76 61 72 20 63 3D 73 28 74 68 69 73 2C 61 2C 62 29 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 2E 70 75 73 68 28 7B 74 79 70 65 3A 22 6C 69 6E 65 54 6F 22 2C 78 3A 63 2E 78 2C 79 3A 63 2E 79 7D 29 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 58 5F 3D 63 2E 78 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 59 5F 3D 63 2E 79 7D 3B 64 2E 62 65 7A 69 65 72 43 75 72 76 65 54 6F 3D 0A 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 2C 65 2C 66 29 7B 65 3D 73 28 74 68 69 73 2C 65 2C 66 29 3B 61 3D 73 28 74 68 69 73 2C 61 2C 62 29 3B 63 3D 73 28 74 68 69 73 2C 63 2C 67 29 3B 52 28 74 68 69 73 2C 61 2C 63 2C 65 29 7D 3B 64 2E 71 75 61 64 72 61 74 69 63 43 75 72 76 65 54 6F 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 29 7B 61 3D 73 28 74 68 69 73 2C 61 2C 62 29 3B 63 3D 73 28 74 68 69 73 2C 63 2C 67 29 3B 67 3D 7B 78 3A 74 68 69 73 2E 63 75 72 72 65 6E 74 58 5F 2B 32 2F 33 2A 28 61 2E 78 2D 74 68 69 73 2E 63 75 72 72 65 6E 74 58 5F 29 2C 79 3A 74 68 69 73 2E 63 75 72 72 65 6E 74 59 5F 2B 32 2F 33 2A 28 61 2E 79 2D 74 68 69 73 2E 63 75 72 72 65 6E 74 59 5F 29 7D 3B 52 28 74 68 69 73 2C 67 2C 7B 78 3A 67 2E 78 2B 28 63 2E 78 2D 74 68 69 73 2E 63 75 72 72 65 6E 74 58 5F 29 2F 33 2C 79 3A 67 2E 79 2B 28 63 2E 79 2D 74 68 69 73 2E 63 75 72 72 65 6E 74 59 5F 29 2F 33 7D 2C 63 29 7D 3B 64 2E 61 72 63 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 2C 65 2C 66 29 7B 63 2A 3D 71 3B 76 61 72 20 64 3D 66 3F 22 61 74 22 3A 22 77 61 22 2C 6B 3D 61 2B 4B 28 67 29 2A 63 2D 72 2C 6E 3D 62 2B 4A 28 67 29 2A 63 2D 72 3B 67 3D 61 2B 4B 28 65 29 2A 63 2D 72 3B 65 3D 62 2B 4A 28 65 29 2A 63 2D 72 3B 6B 21 3D 67 7C 7C 66 7C 7C 28 6B 2B 3D 30 2E 31 32 35 29 3B 61 3D 73 28 74 68 69 73 2C 61 2C 62 29 3B 6B 3D 73 28 74 68 69 73 2C 6B 2C 6E 29 3B 67 3D 73 28 74 68 69 73 2C 67 2C 65 29 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 2E 70 75 73 68 28 7B 74 79 70 65 3A 64 2C 0A 78 3A 61 2E 78 2C 79 3A 61 2E 79 2C 72 61 64 69 75 73 3A 63 2C 78 53 74 61 72 74 3A 6B 2E 78 2C 79 53 74 61 72 74 3A 6B 2E 79 2C 78 45 6E 64 3A 67 2E 78 2C 79 45 6E 64 3A 67 2E 79 7D 29 7D 3B 64 2E 72 65 63 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 29 7B 74 68 69 73 2E 6D 6F 76 65 54 6F 28 61 2C 62 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 63 2C 62 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 63 2C 62 2B 67 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2C 62 2B 67 29 3B 74 68 69 73 2E 63 6C 6F 73 65 50 61 74 68 28 29 7D 3B 64 2E 73 74 72 6F 6B 65 52 65 63 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 29 7B 76 61 72 20 65 3D 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 3B 74 68 69 73 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 68 69 73 2E 6D 6F 76 65 54 6F 28 61 2C 62 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 63 2C 62 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 63 2C 62 2B 67 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2C 62 2B 67 29 3B 74 68 69 73 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 74 68 69 73 2E 73 74 72 6F 6B 65 28 29 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 3D 65 7D 3B 64 2E 66 69 6C 6C 52 65 63 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 29 7B 76 61 72 20 65 3D 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 3B 74 68 69 73 2E 62 65 67 69 6E 50 61 74 68 28 29 3B 74 68 69 73 2E 6D 6F 76 65 54 6F 28 61 2C 62 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 63 2C 62 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2B 0A 63 2C 62 2B 67 29 3B 74 68 69 73 2E 6C 69 6E 65 54 6F 28 61 2C 62 2B 67 29 3B 74 68 69 73 2E 63 6C 6F 73 65 50 61 74 68 28 29 3B 74 68 69 73 2E 66 69 6C 6C 28 29 3B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 3D 65 7D 3B 64 2E 63 72 65 61 74 65 4C 69 6E 65 61 72 47 72 61 64 69 65 6E 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 29 7B 76 61 72 20 65 3D 6E 65 77 20 77 28 22 67 72 61 64 69 65 6E 74 22 29 3B 65 2E 78 30 5F 3D 61 3B 65 2E 79 30 5F 3D 62 3B 65 2E 78 31 5F 3D 63 3B 65 2E 79 31 5F 3D 67 3B 72 65 74 75 72 6E 20 65 7D 3B 64 2E 63 72 65 61 74 65 52 61 64 69 61 6C 47 72 61 64 69 65 6E 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 67 2C 65 2C 66 29 7B 76 61 72 20 64 3D 6E 65 77 20 77 28 22 67 72 61 64 69 65 6E 74 72 61 64 69 61 6C 22 29 3B 64 2E 78 30 5F 3D 61 3B 64 2E 79 30 5F 3D 62 3B 64 2E 72 30 5F 3D 63 3B 64 2E 78 31 5F 3D 67 3B 64 2E 79 31 5F 3D 65 3B 64 2E 72 31 5F 3D 66 3B 72 65 74 75 72 6E 20 64 7D 3B 64 2E 64 72 61 77 49 6D 61 67 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 76 61 72 20 63 2C 67 2C 65 2C 64 2C 72 2C 79 2C 6E 2C 68 3B 65 3D 61 2E 72 75 6E 74 69 6D 65 53 74 79 6C 65 2E 77 69 64 74 68 3B 64 3D 61 2E 72 75 6E 74 69 6D 65 53 74 79 6C 65 2E 68 65 69 67 68 74 3B 61 2E 72 75 6E 74 69 6D 65 53 74 79 6C 65 2E 77 69 64 74 68 3D 22 61 75 74 6F 22 3B 61 2E 72 75 6E 74 69 6D 65 53 74 79 6C 65 2E 68 65 69 67 68 74 3D 22 61 75 74 6F 22 3B 76 61 72 20 6C 3D 61 2E 77 69 64 74 68 2C 75 3D 61 2E 68 65 69 67 68 74 3B 61 2E 72 75 6E 74 69 6D 65 53 74 79 6C 65 2E 77 69 64 74 68 3D 0A 65 3B 61 2E 72 75 6E 74 69 6D 65 53 74 79 6C 65 2E 68 65 69 67 68 74 3D 64 3B 69 66 28 33 3D 3D 61 72 67 75 6D 65 6E 74 73 2E 6C 65 6E 67 74 68 29 63 3D 61 72 67 75 6D 65 6E 74 73 5B 31 5D 2C 67 3D 61 72 67 75 6D 65 6E 74 73 5B 32 5D 2C 72 3D 79 3D 30 2C 6E 3D 65 3D 6C 2C 68 3D 64 3D 75 3B 65 6C 73 65 20 69 66 28 35 3D 3D 61 72 67 75 6D 65 6E 74 73 2E 6C 65 6E 67 74 68 29 63 3D 61 72 67 75 6D 65 6E 74 73 5B 31 5D 2C 67 3D 61 72 67 75 6D 65 6E 74 73 5B 32 5D 2C 65 3D 61 72 67 75 6D 65 6E 74 73 5B 33 5D 2C 64 3D 61 72 67 75 6D 65 6E 74 73 5B 34 5D 2C 72 3D 79 3D 30 2C 6E 3D 6C 2C 68 3D 75 3B 65 6C 73 65 20 69 66 28 39 3D 3D 61 72 67 75 6D 65 6E 74 73 2E 6C 65 6E 67 74 68 29 72 3D 61 72 67 75 6D 65 6E 74 73 5B 31 5D 2C 79 3D 61 72 67 75 6D 65 6E 74 73 5B 32 5D 2C 6E 3D 61 72 67 75 6D 65 6E 74 73 5B 33 5D 2C 68 3D 61 72 67 75 6D 65 6E 74 73 5B 34 5D 2C 63 3D 61 72 67 75 6D 65 6E 74 73 5B 35 5D 2C 67 3D 61 72 67 75 6D 65 6E 74 73 5B 36 5D 2C 65 3D 61 72 67 75 6D 65 6E 74 73 5B 37 5D 2C 64 3D 61 72 67 75 6D 65 6E 74 73 5B 38 5D 3B 65 6C 73 65 20 74 68 72 6F 77 20 45 72 72 6F 72 28 22 49 6E 76 61 6C 69 64 20 6E 75 6D 62 65 72 20 6F 66 20 61 72 67 75 6D 65 6E 74 73 22 29 3B 76 61 72 20 6D 3D 73 28 74 68 69 73 2C 63 2C 67 29 2C 70 3D 5B 5D 3B 70 2E 70 75 73 68 28 22 20 3C 67 5F 76 6D 6C 5F 3A 67 72 6F 75 70 22 2C 27 20 63 6F 6F 72 64 73 69 7A 65 3D 22 27 2C 31 30 2A 71 2C 22 2C 22 2C 31 30 2A 71 2C 27 22 27 2C 27 20 63 6F 6F 72 64 6F 72 69 67 69 6E 3D 22 30 2C 30 22 27 2C 27 20 73 74 79 6C 65 3D 22 77 69 64 74 68 3A 27 2C 0A 31 30 2C 22 70 78 3B 68 65 69 67 68 74 3A 22 2C 31 30 2C 22 70 78 3B 70 6F 73 69 74 69 6F 6E 3A 61 62 73 6F 6C 75 74 65 3B 22 29 3B 69 66 28 31 21 3D 74 68 69 73 2E 6D 5F 5B 30 5D 5B 30 5D 7C 7C 74 68 69 73 2E 6D 5F 5B 30 5D 5B 31 5D 7C 7C 31 21 3D 74 68 69 73 2E 6D 5F 5B 31 5D 5B 31 5D 7C 7C 74 68 69 73 2E 6D 5F 5B 31 5D 5B 30 5D 29 7B 76 61 72 20 74 3D 5B 5D 3B 74 2E 70 75 73 68 28 22 4D 31 31 3D 22 2C 74 68 69 73 2E 6D 5F 5B 30 5D 5B 30 5D 2C 22 2C 22 2C 22 4D 31 32 3D 22 2C 74 68 69 73 2E 6D 5F 5B 31 5D 5B 30 5D 2C 22 2C 22 2C 22 4D 32 31 3D 22 2C 74 68 69 73 2E 6D 5F 5B 30 5D 5B 31 5D 2C 22 2C 22 2C 22 4D 32 32 3D 22 2C 74 68 69 73 2E 6D 5F 5B 31 5D 5B 31 5D 2C 22 2C 22 2C 22 44 78 3D 22 2C 6B 28 6D 2E 78 2F 71 29 2C 22 2C 22 2C 22 44 79 3D 22 2C 6B 28 6D 2E 79 2F 71 29 2C 22 22 29 3B 76 61 72 20 76 3D 73 28 74 68 69 73 2C 63 2B 65 2C 67 29 2C 77 3D 73 28 74 68 69 73 2C 63 2C 67 2B 64 29 3B 63 3D 73 28 74 68 69 73 2C 63 2B 65 2C 67 2B 64 29 3B 6D 2E 78 3D 78 2E 6D 61 78 28 6D 2E 78 2C 76 2E 78 2C 77 2E 78 2C 63 2E 78 29 3B 6D 2E 79 3D 78 2E 6D 61 78 28 6D 2E 79 2C 76 2E 79 2C 77 2E 79 2C 63 2E 79 29 3B 70 2E 70 75 73 68 28 22 70 61 64 64 69 6E 67 3A 30 20 22 2C 6B 28 6D 2E 78 2F 71 29 2C 22 70 78 20 22 2C 6B 28 6D 2E 79 2F 71 29 2C 22 70 78 20 30 3B 66 69 6C 74 65 72 3A 70 72 6F 67 69 64 3A 44 58 49 6D 61 67 65 54 72 61 6E 73 66 6F 72 6D 2E 4D 69 63 72 6F 73 6F 66 74 2E 4D 61 74 72 69 78 28 22 2C 74 2E 6A 6F 69 6E 28 22 22 29 2C 22 2C 20 73 69 7A 69 6E 67 6D 65 74 68 6F 64 3D 27 63 6C 69 70 27 29 3B 22 29 7D 65 6C 73 65 20 70 2E 70 75 73 68 28 22 74 6F 70 3A 22 2C 0A 6B 28 6D 2E 79 2F 71 29 2C 22 70 78 3B 6C 65 66 74 3A 22 2C 6B 28 6D 2E 78 2F 71 29 2C 22 70 78 3B 22 29 3B 70 2E 70 75 73 68 28 27 20 22 3E 27 2C 27 3C 67 5F 76 6D 6C 5F 3A 69 6D 61 67 65 20 73 72 63 3D 22 27 2C 61 2E 73 72 63 2C 27 22 27 2C 27 20 73 74 79 6C 65 3D 22 77 69 64 74 68 3A 27 2C 71 2A 65 2C 22 70 78 3B 22 2C 22 20 68 65 69 67 68 74 3A 22 2C 71 2A 64 2C 27 70 78 22 27 2C 27 20 63 72 6F 70 6C 65 66 74 3D 22 27 2C 72 2F 6C 2C 27 22 27 2C 27 20 63 72 6F 70 74 6F 70 3D 22 27 2C 79 2F 75 2C 27 22 27 2C 27 20 63 72 6F 70 72 69 67 68 74 3D 22 27 2C 28 6C 2D 72 2D 6E 29 2F 6C 2C 27 22 27 2C 27 20 63 72 6F 70 62 6F 74 74 6F 6D 3D 22 27 2C 28 75 2D 79 2D 68 29 2F 75 2C 27 22 27 2C 22 20 2F 3E 22 2C 22 3C 2F 67 5F 76 6D 6C 5F 3A 67 72 6F 75 70 3E 22 29 3B 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 69 6E 73 65 72 74 41 64 6A 61 63 65 6E 74 48 54 4D 4C 28 22 42 65 66 6F 72 65 45 6E 64 22 2C 70 2E 6A 6F 69 6E 28 22 22 29 29 7D 3B 64 2E 73 74 72 6F 6B 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 5B 5D 3B 62 2E 70 75 73 68 28 22 3C 67 5F 76 6D 6C 5F 3A 73 68 61 70 65 22 2C 27 20 66 69 6C 6C 65 64 3D 22 27 2C 21 21 61 2C 27 22 27 2C 27 20 73 74 79 6C 65 3D 22 70 6F 73 69 74 69 6F 6E 3A 61 62 73 6F 6C 75 74 65 3B 77 69 64 74 68 3A 27 2C 31 30 2C 22 70 78 3B 68 65 69 67 68 74 3A 22 2C 31 30 2C 27 70 78 3B 22 27 2C 27 20 63 6F 6F 72 64 6F 72 69 67 69 6E 3D 22 30 2C 30 22 27 2C 27 20 63 6F 6F 72 64 73 69 7A 65 3D 22 27 2C 31 30 2A 71 2C 22 2C 22 2C 31 30 2A 71 2C 27 22 27 2C 0A 27 20 73 74 72 6F 6B 65 64 3D 22 27 2C 21 61 2C 27 22 27 2C 27 20 70 61 74 68 3D 22 27 29 3B 66 6F 72 28 76 61 72 20 63 3D 7B 78 3A 6E 75 6C 6C 2C 79 3A 6E 75 6C 6C 7D 2C 64 3D 7B 78 3A 6E 75 6C 6C 2C 79 3A 6E 75 6C 6C 7D 2C 65 3D 30 3B 65 3C 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 2E 6C 65 6E 67 74 68 3B 65 2B 2B 29 7B 76 61 72 20 66 3D 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 5B 65 5D 3B 73 77 69 74 63 68 28 66 2E 74 79 70 65 29 7B 63 61 73 65 20 22 6D 6F 76 65 54 6F 22 3A 62 2E 70 75 73 68 28 22 20 6D 20 22 2C 6B 28 66 2E 78 29 2C 22 2C 22 2C 6B 28 66 2E 79 29 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 6C 69 6E 65 54 6F 22 3A 62 2E 70 75 73 68 28 22 20 6C 20 22 2C 6B 28 66 2E 78 29 2C 22 2C 22 2C 6B 28 66 2E 79 29 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 63 6C 6F 73 65 22 3A 62 2E 70 75 73 68 28 22 20 78 20 22 29 3B 66 3D 6E 75 6C 6C 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 62 65 7A 69 65 72 43 75 72 76 65 54 6F 22 3A 62 2E 70 75 73 68 28 22 20 63 20 22 2C 6B 28 66 2E 63 70 31 78 29 2C 22 2C 22 2C 6B 28 66 2E 63 70 31 79 29 2C 22 2C 22 2C 6B 28 66 2E 63 70 32 78 29 2C 22 2C 22 2C 6B 28 66 2E 63 70 32 79 29 2C 22 2C 22 2C 6B 28 66 2E 78 29 2C 22 2C 22 2C 6B 28 66 2E 79 29 29 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 61 74 22 3A 63 61 73 65 20 22 77 61 22 3A 62 2E 70 75 73 68 28 22 20 22 2C 66 2E 74 79 70 65 2C 22 20 22 2C 6B 28 66 2E 78 2D 74 68 69 73 2E 61 72 63 53 63 61 6C 65 58 5F 2A 66 2E 72 61 64 69 75 73 29 2C 22 2C 22 2C 6B 28 66 2E 79 2D 74 68 69 73 2E 61 72 63 53 63 61 6C 65 59 5F 2A 0A 66 2E 72 61 64 69 75 73 29 2C 22 20 22 2C 6B 28 66 2E 78 2B 74 68 69 73 2E 61 72 63 53 63 61 6C 65 58 5F 2A 66 2E 72 61 64 69 75 73 29 2C 22 2C 22 2C 6B 28 66 2E 79 2B 74 68 69 73 2E 61 72 63 53 63 61 6C 65 59 5F 2A 66 2E 72 61 64 69 75 73 29 2C 22 20 22 2C 6B 28 66 2E 78 53 74 61 72 74 29 2C 22 2C 22 2C 6B 28 66 2E 79 53 74 61 72 74 29 2C 22 20 22 2C 6B 28 66 2E 78 45 6E 64 29 2C 22 2C 22 2C 6B 28 66 2E 79 45 6E 64 29 29 7D 69 66 28 66 29 7B 69 66 28 6E 75 6C 6C 3D 3D 63 2E 78 7C 7C 66 2E 78 3C 63 2E 78 29 63 2E 78 3D 66 2E 78 3B 69 66 28 6E 75 6C 6C 3D 3D 64 2E 78 7C 7C 66 2E 78 3E 64 2E 78 29 64 2E 78 3D 66 2E 78 3B 69 66 28 6E 75 6C 6C 3D 3D 63 2E 79 7C 7C 66 2E 79 3C 63 2E 79 29 63 2E 79 3D 66 2E 79 3B 69 66 28 6E 75 6C 6C 3D 3D 64 2E 79 7C 7C 66 2E 79 3E 64 2E 79 29 64 2E 79 3D 66 2E 79 7D 7D 62 2E 70 75 73 68 28 27 20 22 3E 27 29 3B 61 3F 54 28 74 68 69 73 2C 62 2C 63 2C 64 29 3A 53 28 74 68 69 73 2C 62 29 3B 62 2E 70 75 73 68 28 22 3C 2F 67 5F 76 6D 6C 5F 3A 73 68 61 70 65 3E 22 29 3B 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 69 6E 73 65 72 74 41 64 6A 61 63 65 6E 74 48 54 4D 4C 28 22 62 65 66 6F 72 65 45 6E 64 22 2C 62 2E 6A 6F 69 6E 28 22 22 29 29 7D 3B 64 2E 66 69 6C 6C 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 73 74 72 6F 6B 65 28 21 30 29 7D 3B 64 2E 63 6C 6F 73 65 50 61 74 68 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 63 75 72 72 65 6E 74 50 61 74 68 5F 2E 70 75 73 68 28 7B 74 79 70 65 3A 22 63 6C 6F 73 65 22 7D 29 7D 3B 64 2E 73 61 76 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 76 61 72 20 61 3D 0A 7B 7D 3B 50 28 74 68 69 73 2C 61 29 3B 74 68 69 73 2E 61 53 74 61 63 6B 5F 2E 70 75 73 68 28 61 29 3B 74 68 69 73 2E 6D 53 74 61 63 6B 5F 2E 70 75 73 68 28 74 68 69 73 2E 6D 5F 29 3B 74 68 69 73 2E 6D 5F 3D 74 28 44 28 29 2C 74 68 69 73 2E 6D 5F 29 7D 3B 64 2E 72 65 73 74 6F 72 65 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 74 68 69 73 2E 61 53 74 61 63 6B 5F 2E 6C 65 6E 67 74 68 26 26 28 50 28 74 68 69 73 2E 61 53 74 61 63 6B 5F 2E 70 6F 70 28 29 2C 74 68 69 73 29 2C 74 68 69 73 2E 6D 5F 3D 74 68 69 73 2E 6D 53 74 61 63 6B 5F 2E 70 6F 70 28 29 29 7D 3B 64 2E 74 72 61 6E 73 6C 61 74 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 7A 28 74 68 69 73 2C 74 28 5B 5B 31 2C 30 2C 30 5D 2C 5B 30 2C 31 2C 30 5D 2C 5B 61 2C 62 2C 31 5D 5D 2C 74 68 69 73 2E 6D 5F 29 2C 21 31 29 7D 3B 64 2E 72 6F 74 61 74 65 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 76 61 72 20 62 3D 4B 28 61 29 3B 61 3D 4A 28 61 29 3B 7A 28 74 68 69 73 2C 74 28 5B 5B 62 2C 61 2C 30 5D 2C 5B 2D 61 2C 62 2C 30 5D 2C 5B 30 2C 30 2C 31 5D 5D 2C 74 68 69 73 2E 6D 5F 29 2C 21 31 29 7D 3B 64 2E 73 63 61 6C 65 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 74 68 69 73 2E 61 72 63 53 63 61 6C 65 58 5F 2A 3D 61 3B 74 68 69 73 2E 61 72 63 53 63 61 6C 65 59 5F 2A 3D 62 3B 7A 28 74 68 69 73 2C 74 28 5B 5B 61 2C 30 2C 30 5D 2C 5B 30 2C 62 2C 30 5D 2C 5B 30 2C 30 2C 31 5D 5D 2C 74 68 69 73 2E 6D 5F 29 2C 21 30 29 7D 3B 64 2E 74 72 61 6E 73 66 6F 72 6D 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 2C 66 29 7B 7A 28 74 68 69 73 2C 74 28 5B 5B 61 2C 0A 62 2C 30 5D 2C 5B 63 2C 64 2C 30 5D 2C 5B 65 2C 66 2C 31 5D 5D 2C 74 68 69 73 2E 6D 5F 29 2C 21 30 29 7D 3B 64 2E 73 65 74 54 72 61 6E 73 66 6F 72 6D 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 2C 66 29 7B 7A 28 74 68 69 73 2C 5B 5B 61 2C 62 2C 30 5D 2C 5B 63 2C 64 2C 30 5D 2C 5B 65 2C 66 2C 31 5D 5D 2C 21 30 29 7D 3B 64 2E 64 72 61 77 54 65 78 74 5F 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 2C 65 29 7B 76 61 72 20 66 3D 74 68 69 73 2E 6D 5F 3B 64 3D 30 3B 76 61 72 20 72 3D 31 45 33 2C 74 3D 30 2C 6E 3D 5B 5D 2C 68 3B 68 3D 74 68 69 73 2E 66 6F 6E 74 3B 69 66 28 4C 5B 68 5D 29 68 3D 4C 5B 68 5D 3B 65 6C 73 65 7B 76 61 72 20 6C 3D 64 6F 63 75 6D 65 6E 74 2E 63 72 65 61 74 65 45 6C 65 6D 65 6E 74 28 22 64 69 76 22 29 2E 73 74 79 6C 65 3B 74 72 79 7B 6C 2E 66 6F 6E 74 3D 68 7D 63 61 74 63 68 28 75 29 7B 7D 68 3D 4C 5B 68 5D 3D 7B 73 74 79 6C 65 3A 6C 2E 66 6F 6E 74 53 74 79 6C 65 7C 7C 22 6E 6F 72 6D 61 6C 22 2C 76 61 72 69 61 6E 74 3A 6C 2E 66 6F 6E 74 56 61 72 69 61 6E 74 7C 7C 22 6E 6F 72 6D 61 6C 22 2C 77 65 69 67 68 74 3A 6C 2E 66 6F 6E 74 57 65 69 67 68 74 7C 7C 22 6E 6F 72 6D 61 6C 22 2C 73 69 7A 65 3A 6C 2E 66 6F 6E 74 53 69 7A 65 7C 7C 31 30 2C 66 61 6D 69 6C 79 3A 6C 2E 66 6F 6E 74 46 61 6D 69 6C 79 7C 7C 22 73 61 6E 73 2D 73 65 72 69 66 22 7D 7D 76 61 72 20 6C 3D 68 2C 6D 3D 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 3B 68 3D 7B 7D 3B 66 6F 72 28 76 61 72 20 70 20 69 6E 20 6C 29 68 5B 70 5D 3D 6C 5B 70 5D 3B 70 3D 70 61 72 73 65 46 6C 6F 61 74 28 6D 2E 63 75 72 72 65 6E 74 53 74 79 6C 65 2E 66 6F 6E 74 53 69 7A 65 29 3B 0A 6D 3D 70 61 72 73 65 46 6C 6F 61 74 28 6C 2E 73 69 7A 65 29 3B 22 6E 75 6D 62 65 72 22 3D 3D 74 79 70 65 6F 66 20 6C 2E 73 69 7A 65 3F 68 2E 73 69 7A 65 3D 6C 2E 73 69 7A 65 3A 2D 31 21 3D 6C 2E 73 69 7A 65 2E 69 6E 64 65 78 4F 66 28 22 70 78 22 29 3F 68 2E 73 69 7A 65 3D 6D 3A 2D 31 21 3D 6C 2E 73 69 7A 65 2E 69 6E 64 65 78 4F 66 28 22 65 6D 22 29 3F 68 2E 73 69 7A 65 3D 70 2A 6D 3A 2D 31 21 3D 6C 2E 73 69 7A 65 2E 69 6E 64 65 78 4F 66 28 22 25 22 29 3F 68 2E 73 69 7A 65 3D 70 2F 31 30 30 2A 6D 3A 2D 31 21 3D 6C 2E 73 69 7A 65 2E 69 6E 64 65 78 4F 66 28 22 70 74 22 29 3F 68 2E 73 69 7A 65 3D 6D 2F 30 2E 37 35 3A 68 2E 73 69 7A 65 3D 70 3B 68 2E 73 69 7A 65 2A 3D 30 2E 39 38 31 3B 70 3D 68 2E 73 74 79 6C 65 2B 22 20 22 2B 68 2E 76 61 72 69 61 6E 74 2B 22 20 22 2B 68 2E 77 65 69 67 68 74 2B 22 20 22 2B 68 2E 73 69 7A 65 2B 22 70 78 20 22 2B 68 2E 66 61 6D 69 6C 79 3B 6D 3D 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 63 75 72 72 65 6E 74 53 74 79 6C 65 3B 6C 3D 74 68 69 73 2E 74 65 78 74 41 6C 69 67 6E 2E 74 6F 4C 6F 77 65 72 43 61 73 65 28 29 3B 73 77 69 74 63 68 28 6C 29 7B 63 61 73 65 20 22 6C 65 66 74 22 3A 63 61 73 65 20 22 63 65 6E 74 65 72 22 3A 63 61 73 65 20 22 72 69 67 68 74 22 3A 62 72 65 61 6B 3B 63 61 73 65 20 22 65 6E 64 22 3A 6C 3D 22 6C 74 72 22 3D 3D 6D 2E 64 69 72 65 63 74 69 6F 6E 3F 22 72 69 67 68 74 22 3A 22 6C 65 66 74 22 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 73 74 61 72 74 22 3A 6C 3D 22 72 74 6C 22 3D 3D 6D 2E 64 69 72 65 63 74 69 6F 6E 3F 22 72 69 67 68 74 22 3A 0A 22 6C 65 66 74 22 3B 62 72 65 61 6B 3B 64 65 66 61 75 6C 74 3A 6C 3D 22 6C 65 66 74 22 7D 73 77 69 74 63 68 28 74 68 69 73 2E 74 65 78 74 42 61 73 65 6C 69 6E 65 29 7B 63 61 73 65 20 22 68 61 6E 67 69 6E 67 22 3A 63 61 73 65 20 22 74 6F 70 22 3A 74 3D 68 2E 73 69 7A 65 2F 31 2E 37 35 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 6D 69 64 64 6C 65 22 3A 62 72 65 61 6B 3B 64 65 66 61 75 6C 74 3A 63 61 73 65 20 6E 75 6C 6C 3A 63 61 73 65 20 22 61 6C 70 68 61 62 65 74 69 63 22 3A 63 61 73 65 20 22 69 64 65 6F 67 72 61 70 68 69 63 22 3A 63 61 73 65 20 22 62 6F 74 74 6F 6D 22 3A 74 3D 2D 68 2E 73 69 7A 65 2F 32 2E 32 35 7D 73 77 69 74 63 68 28 6C 29 7B 63 61 73 65 20 22 72 69 67 68 74 22 3A 64 3D 31 45 33 3B 72 3D 30 2E 30 35 3B 62 72 65 61 6B 3B 63 61 73 65 20 22 63 65 6E 74 65 72 22 3A 64 3D 72 3D 35 30 30 7D 62 3D 73 28 74 68 69 73 2C 62 2B 30 2C 63 2B 74 29 3B 6E 2E 70 75 73 68 28 27 3C 67 5F 76 6D 6C 5F 3A 6C 69 6E 65 20 66 72 6F 6D 3D 22 27 2C 2D 64 2C 27 20 30 22 20 74 6F 3D 22 27 2C 72 2C 27 20 30 2E 30 35 22 20 27 2C 27 20 63 6F 6F 72 64 73 69 7A 65 3D 22 31 30 30 20 31 30 30 22 20 63 6F 6F 72 64 6F 72 69 67 69 6E 3D 22 30 20 30 22 27 2C 27 20 66 69 6C 6C 65 64 3D 22 27 2C 21 65 2C 27 22 20 73 74 72 6F 6B 65 64 3D 22 27 2C 21 21 65 2C 27 22 20 73 74 79 6C 65 3D 22 70 6F 73 69 74 69 6F 6E 3A 61 62 73 6F 6C 75 74 65 3B 77 69 64 74 68 3A 31 70 78 3B 68 65 69 67 68 74 3A 31 70 78 3B 22 3E 27 29 3B 65 3F 53 28 74 68 69 73 2C 6E 29 3A 54 28 74 68 69 73 2C 6E 2C 7B 78 3A 2D 64 2C 79 3A 30 7D 2C 0A 7B 78 3A 72 2C 79 3A 68 2E 73 69 7A 65 7D 29 3B 65 3D 66 5B 30 5D 5B 30 5D 2E 74 6F 46 69 78 65 64 28 33 29 2B 22 2C 22 2B 66 5B 31 5D 5B 30 5D 2E 74 6F 46 69 78 65 64 28 33 29 2B 22 2C 22 2B 66 5B 30 5D 5B 31 5D 2E 74 6F 46 69 78 65 64 28 33 29 2B 22 2C 22 2B 66 5B 31 5D 5B 31 5D 2E 74 6F 46 69 78 65 64 28 33 29 2B 22 2C 30 2C 30 22 3B 62 3D 6B 28 62 2E 78 2F 71 29 2B 22 2C 22 2B 6B 28 62 2E 79 2F 71 29 3B 6E 2E 70 75 73 68 28 27 3C 67 5F 76 6D 6C 5F 3A 73 6B 65 77 20 6F 6E 3D 22 74 22 20 6D 61 74 72 69 78 3D 22 27 2C 65 2C 27 22 20 27 2C 27 20 6F 66 66 73 65 74 3D 22 27 2C 62 2C 27 22 20 6F 72 69 67 69 6E 3D 22 27 2C 64 2C 27 20 30 22 20 2F 3E 27 2C 27 3C 67 5F 76 6D 6C 5F 3A 70 61 74 68 20 74 65 78 74 70 61 74 68 6F 6B 3D 22 74 72 75 65 22 20 2F 3E 27 2C 27 3C 67 5F 76 6D 6C 5F 3A 74 65 78 74 70 61 74 68 20 6F 6E 3D 22 74 72 75 65 22 20 73 74 72 69 6E 67 3D 22 27 2C 4E 28 61 29 2C 27 22 20 73 74 79 6C 65 3D 22 76 2D 74 65 78 74 2D 61 6C 69 67 6E 3A 27 2C 6C 2C 22 3B 66 6F 6E 74 3A 22 2C 4E 28 70 29 2C 27 22 20 2F 3E 3C 2F 67 5F 76 6D 6C 5F 3A 6C 69 6E 65 3E 27 29 3B 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 69 6E 73 65 72 74 41 64 6A 61 63 65 6E 74 48 54 4D 4C 28 22 62 65 66 6F 72 65 45 6E 64 22 2C 6E 2E 6A 6F 69 6E 28 22 22 29 29 7D 3B 64 2E 66 69 6C 6C 54 65 78 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 2C 63 2C 64 29 7B 74 68 69 73 2E 64 72 61 77 54 65 78 74 5F 28 61 2C 62 2C 63 2C 64 2C 21 31 29 7D 3B 64 2E 73 74 72 6F 6B 65 54 65 78 74 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 0A 62 2C 63 2C 64 29 7B 74 68 69 73 2E 64 72 61 77 54 65 78 74 5F 28 61 2C 62 2C 63 2C 64 2C 21 30 29 7D 3B 64 2E 6D 65 61 73 75 72 65 54 65 78 74 3D 66 75 6E 63 74 69 6F 6E 28 61 29 7B 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 7C 7C 28 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 69 6E 73 65 72 74 41 64 6A 61 63 65 6E 74 48 54 4D 4C 28 22 62 65 66 6F 72 65 45 6E 64 22 2C 27 3C 73 70 61 6E 20 73 74 79 6C 65 3D 22 70 6F 73 69 74 69 6F 6E 3A 61 62 73 6F 6C 75 74 65 3B 74 6F 70 3A 2D 32 30 30 30 30 70 78 3B 6C 65 66 74 3A 30 3B 70 61 64 64 69 6E 67 3A 30 3B 6D 61 72 67 69 6E 3A 30 3B 62 6F 72 64 65 72 3A 6E 6F 6E 65 3B 77 68 69 74 65 2D 73 70 61 63 65 3A 70 72 65 3B 22 3E 3C 2F 73 70 61 6E 3E 27 29 2C 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 3D 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 6C 61 73 74 43 68 69 6C 64 29 3B 76 61 72 20 62 3D 74 68 69 73 2E 65 6C 65 6D 65 6E 74 5F 2E 6F 77 6E 65 72 44 6F 63 75 6D 65 6E 74 3B 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 2E 69 6E 6E 65 72 48 54 4D 4C 3D 22 22 3B 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 2E 73 74 79 6C 65 2E 66 6F 6E 74 3D 74 68 69 73 2E 66 6F 6E 74 3B 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 2E 61 70 70 65 6E 64 43 68 69 6C 64 28 62 2E 63 72 65 61 74 65 54 65 78 74 4E 6F 64 65 28 61 29 29 3B 72 65 74 75 72 6E 7B 77 69 64 74 68 3A 74 68 69 73 2E 74 65 78 74 4D 65 61 73 75 72 65 45 6C 5F 2E 6F 66 66 73 65 74 57 69 64 74 68 7D 7D 3B 64 2E 63 6C 69 70 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 7D 3B 0A 64 2E 61 72 63 54 6F 3D 66 75 6E 63 74 69 6F 6E 28 29 7B 7D 3B 64 2E 63 72 65 61 74 65 50 61 74 74 65 72 6E 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 72 65 74 75 72 6E 20 6E 65 77 20 49 28 61 2C 62 29 7D 3B 77 2E 70 72 6F 74 6F 74 79 70 65 2E 61 64 64 43 6F 6C 6F 72 53 74 6F 70 3D 66 75 6E 63 74 69 6F 6E 28 61 2C 62 29 7B 62 3D 47 28 62 29 3B 74 68 69 73 2E 63 6F 6C 6F 72 73 5F 2E 70 75 73 68 28 7B 6F 66 66 73 65 74 3A 61 2C 63 6F 6C 6F 72 3A 62 2E 63 6F 6C 6F 72 2C 61 6C 70 68 61 3A 62 2E 61 6C 70 68 61 7D 29 7D 3B 64 3D 41 2E 70 72 6F 74 6F 74 79 70 65 3D 45 72 72 6F 72 28 29 3B 64 2E 49 4E 44 45 58 5F 53 49 5A 45 5F 45 52 52 3D 31 3B 64 2E 44 4F 4D 53 54 52 49 4E 47 5F 53 49 5A 45 5F 45 52 52 3D 32 3B 64 2E 48 49 45 52 41 52 43 48 59 5F 52 45 51 55 45 53 54 5F 45 52 52 3D 33 3B 64 2E 57 52 4F 4E 47 5F 44 4F 43 55 4D 45 4E 54 5F 45 52 52 3D 34 3B 64 2E 49 4E 56 41 4C 49 44 5F 43 48 41 52 41 43 54 45 52 5F 45 52 52 3D 35 3B 64 2E 4E 4F 5F 44 41 54 41 5F 41 4C 4C 4F 57 45 44 5F 45 52 52 3D 36 3B 64 2E 4E 4F 5F 4D 4F 44 49 46 49 43 41 54 49 4F 4E 5F 41 4C 4C 4F 57 45 44 5F 45 52 52 3D 37 3B 64 2E 4E 4F 54 5F 46 4F 55 4E 44 5F 45 52 52 3D 38 3B 64 2E 4E 4F 54 5F 53 55 50 50 4F 52 54 45 44 5F 45 52 52 3D 39 3B 64 2E 49 4E 55 53 45 5F 41 54 54 52 49 42 55 54 45 5F 45 52 52 3D 31 30 3B 64 2E 49 4E 56 41 4C 49 44 5F 53 54 41 54 45 5F 45 52 52 3D 31 31 3B 64 2E 53 59 4E 54 41 58 5F 45 52 52 3D 31 32 3B 64 2E 49 4E 56 41 4C 49 44 5F 4D 4F 44 49 46 49 43 41 54 49 4F 4E 5F 45 52 52 3D 0A 31 33 3B 64 2E 4E 41 4D 45 53 50 41 43 45 5F 45 52 52 3D 31 34 3B 64 2E 49 4E 56 41 4C 49 44 5F 41 43 43 45 53 53 5F 45 52 52 3D 31 35 3B 64 2E 56 41 4C 49 44 41 54 49 4F 4E 5F 45 52 52 3D 31 36 3B 64 2E 54 59 50 45 5F 4D 49 53 4D 41 54 43 48 5F 45 52 52 3D 31 37 3B 47 5F 76 6D 6C 43 61 6E 76 61 73 4D 61 6E 61 67 65 72 3D 55 3B 43 61 6E 76 61 73 52 65 6E 64 65 72 69 6E 67 43 6F 6E 74 65 78 74 32 44 3D 43 3B 43 61 6E 76 61 73 47 72 61 64 69 65 6E 74 3D 77 3B 43 61 6E 76 61 73 50 61 74 74 65 72 6E 3D 49 3B 44 4F 4D 45 78 63 65 70 74 69 6F 6E 3D 41 7D 28 29 3B | /* CanvasJS HTML5 & Jav aScript Charts - v1.8.0 GA - http://canvasjs.com / Copyright 2013 fenop ix */ (function(){functi on O(a,b){a.prototype=Ca (b.prototype);a.prototyp e.constructor=a;a.base=b .prototype}function Ca(a ){function b(){}b.protot ype=a;return new b}funct ion ta(a,b,c){"milliseco nd"===c?a.setMillisecond s(a.getMilliseconds()+1* b):"second"===c?a.setSec onds(a.getSeconds()+1*b) :"minute"===c?a.setMinut es(a.getMinutes()+1*b):" hour"===c?a.setHours(a.g etHours()+1*b):"day"===c ?a.setDate(a.getDate()+1 *b):"week"===c?a.setDate (a.getDate()+7*b):"month "===c?a.setMonth(a.getMo nth()+1*b):"year"===c&&a .setFullYear(a.getFullYe ar()+ 1*b);return a}func tion L(a,b){var c=!1;0>a &&(c=!0,a*=-1);a=""+a;fo r(b=b?b:1;a.length<b;)a= "0"+a;return c?"-"+a:a}f unction $(a){if(!a)retur n a;a=a.replace(/^\s\s*/ ,"");for(var b=/\s/,c=a. length;b.test(a.charAt(- -c)););return a.slice(0, c+1)}function Da(a){a.ro undRect=function(a,c,d,e ,f,g,k,p){k&&(this.fillS tyle=k);p&&(this.strokeS tyle=p);"undefined"===ty peof f&&(f=5);this.lineW idth=g;this.beginPath(); this.moveTo(a+f,c);this. lineTo(a+d-f,c);this.qua draticCurveTo(a+d,c,a+d, c+f);this.lineTo(a+d,c+e -f); this.quadraticCurve To(a+d,c+e,a+d-f,c+e);th is.lineTo(a+f,c+e);this. quadraticCurveTo(a,c+e,a ,c+e-f);this.lineTo(a,c+ f);this.quadraticCurveTo (a,c,a+f,c);this.closePa th();k&&this.fill();p&&0 <g&&this.stroke()}}funct ion ua(a,b){return a-b}f unction va(a,b){return a .x-b.x}function B(a){var b=((a&16711680)>>16).to String(16),c=((a&65280)> >8).toString(16);a=((a&2 55)>>0).toString(16);b=2 >b.length?"0"+b:b;c=2>c. length?"0"+c:c;a=2>a.len gth?"0"+a:a;return"#"+b+ c+a}function Ea(a,b){var c=this.length>>>0,d=Num ber(b)|| 0,d=0>d?Math.ce il(d):Math.floor(d);for( 0>d&&(d+=c);d<c;d++)if(d in this&&this[d]===a)re turn d;return-1}function P(a){return null===a||" undefined"===typeof a}fu nction ea(a,b,c){c=c||"n ormal";var d=a+"_"+b+"_" +c,e=wa[d];if(isNaN(e)){ try{a="position:absolute ; left:0px; top:-20000px ; padding:0px;margin:0px ;border:none;white-space :pre;line-height:normal; font-family:"+a+"; font- size:"+b+"px; font-weigh t:"+c+";";if(!U){var f=d ocument.body;U=document. createElement("span");U. innerHTML="";var g=docum ent.createTextNode("Mpgy i"); U.appendChild(g);f. appendChild(U)}U.style.d isplay="";U.setAttribute ("style",a);e=Math.round (U.offsetHeight);U.style .display="none"}catch(k) {e=Math.ceil(1.1*b)}e=Ma th.max(e,b);wa[d]=e}retu rn e}function M(a,b){var c=[];lineDashTypeMap={s olid:[],shortDash:[3,1], shortDot:[1,1],shortDash Dot:[3,1,1,1],shortDashD otDot:[3,1,1,1,1,1],dot: [1,2],dash:[4,2],dashDot :[4,2,1,2],longDash:[8,2 ],longDashDot:[8,2,1,2], longDashDotDot:[8,2,1,2, 1,2]};if(c=lineDashTypeM ap[a||"solid"])for(var d =0;d<c.length;d++)c[d]*= b; else c=[];return c}fu nction F(a,b,c,d){if(a.a ddEventListener)a.addEve ntListener(b,c,d||!1);el se if(a.attachEvent)a.at tachEvent("on"+b,functio n(b){b=b||window.event;b .preventDefault=b.preven tDefault||function(){b.r eturnValue=!1};b.stopPro pagation=b.stopPropagati on||function(){b.cancelB ubble=!0};c.call(a,b)}); else return!1}function x a(a,b,c){a*=J;b*=J;a=c.g etImageData(a,b,2,2).dat a;b=!0;for(c=0;4>c;c++)i f(a[c]!==a[c+4]|a[c]!==a [c+8]|a[c]!==a[c+12]){b= !1;break}return b?a[0]<< 16|a[1]<<8|a[2]:0}functi on N(a, b,c){return a in b?b[a]:c[a]}function fa (a,b,c){if(t&&ya){var d= a.getContext("2d");ga=d. webkitBackingStorePixelR atio||d.mozBackingStoreP ixelRatio||d.msBackingSt orePixelRatio||d.oBackin gStorePixelRatio||d.back ingStorePixelRatio||1;J= oa/ga;a.width=b*J;a.heig ht=c*J;oa!==ga&&(a.style .width=b+"px",a.style.he ight=c+"px",d.scale(J,J) )}else a.width=b,a.heigh t=c}function V(a,b){var c=document.createElement ("canvas");c.setAttribut e("class","canvasjs-char t-canvas");fa(c,a,b);t|| "undefined"===typeof G_v mlCanvasManager|| G_vmlC anvasManager.initElement (c);return c}function za (a,b,c){if(a&&b&&c){c=c+ "."+b;var d="image/"+b;a =a.toDataURL(d);var e=!1 ,f=document.createElemen t("a");f.download=c;f.hr ef=a;f.target="_blank";i f("undefined"!==typeof B lob&&new Blob){for(var g =a.replace(/^data:[a-z/] *;base64,/,""),g=atob(g) ,k=new ArrayBuffer(g.len gth),k=new Uint8Array(k) ,p=0;p<g.length;p++)k[p] =g.charCodeAt(p);b=new B lob([k.buffer],{type:"im age/"+b});try{window.nav igator.msSaveBlob(b,c),e =!0}catch(h){f.dataset.d ownloadurl=[d,f.download , f.href].join(":"),f.hr ef=window.URL.createObje ctURL(b)}}if(!e)try{even t=document.createEvent(" MouseEvents"),event.init MouseEvent("click",!0,!1 ,window,0,0,0,0,0,!1,!1, !1,!1,0,null),f.dispatch Event?f.dispatchEvent(ev ent):f.fireEvent&&f.fire Event("onclick")}catch(l ){b=window.open(),b.docu ment.write("<img src='"+ a+"'></img><div>Please r ight click on the image and save it to your devi ce</div>"),b.document.cl ose()}}}function Q(a,b,c ){b.getAttribute("state" )!==c&&(b.setAttribute(" state",c),b.setAttribute ("type", "button"),b.sty le.position="relative",b .style.margin="0px 0px 0 px 0px",b.style.padding= "3px 4px 0px 4px",b.styl e.cssFloat="left",b.setA ttribute("title",a._cult ureInfo[c+"Text"]),b.inn erHTML="<img style='heig ht:16px;' src='"+Fa[c].i mage+"' alt='"+a._cultur eInfo[c+"Text"]+"' />")} function ha(){for(var a= null,b=0;b<arguments.len gth;b++)a=arguments[b],a .style&&(a.style.display ="inline")}function S(){ for(var a=null,b=0;b<arg uments.length;b++)(a=arg uments[b])&&a.style&&(a. style.display="none")}fu nction G(a, b,c,d){this. _defaultsKey=a;this.pare nt=d;this._eventListener s=[];d={};c&&(Y[c]&&Y[c] [a])&&(d=Y[c][a]);this._ options=b?b:{};this.setO ptions(this._options,d)} function u(a,b,c){this._ publicChartReference=c;b =b||{};u.base.constructo r.call(this,"Chart",b,b. theme?b.theme:"theme1"); var d=this;this._contain erId=a;this._objectsInit ialized=!1;this.overlaid CanvasCtx=this.ctx=null; this._indexLabels=[];thi s._panTimerId=0;this._la stTouchEventType="";this ._lastTouchData=null;thi s.isAnimating=!1;this.re nderCount= 0;this.panEna bled=this.disableToolTip =this.animatedRender=!1; this._defaultCursor="def ault";this.plotArea={can vas:null,ctx:null,x1:0,y 1:0,x2:0,y2:0,width:0,he ight:0};this._dataInRend eredOrder=[];(this._cont ainer="string"===typeof this._containerId?docume nt.getElementById(this._ containerId):this._conta inerId)?(this._container .innerHTML="",b=a=0,a=th is._options.width?this.w idth:0<this._container.c lientWidth?this._contain er.clientWidth:this.widt h,b=this._options.height ?this.height:0<this._con tainer.clientHeight? thi s._container.clientHeigh t:this.height,this.width =a,this.height=b,this.x1 =this.y1=0,this.x2=this. width,this.y2=this.heigh t,this._selectedColorSet ="undefined"!==typeof W[ this.colorSet]?W[this.co lorSet]:W.colorSet1,this ._canvasJSContainer=docu ment.createElement("div" ),this._canvasJSContaine r.setAttribute("class"," canvasjs-chart-container "),this._canvasJSContain er.style.position="relat ive",this._canvasJSConta iner.style.textAlign="le ft",this._canvasJSContai ner.style.cursor="auto", t||(this._canvasJSContai ner.style.height= "0px") ,this._container.appendC hild(this._canvasJSConta iner),this.canvas=V(a,b) ,this.canvas.style.posit ion="absolute",this.canv as.getContext&&(this._ca nvasJSContainer.appendCh ild(this.canvas),this.ct x=this.canvas.getContext ("2d"),this.ctx.textBase line="top",Da(this.ctx), t?this.plotArea.ctx=this .ctx:(this.plotArea.canv as=V(a,b),this.plotArea. canvas.style.position="a bsolute",this.plotArea.c anvas.setAttribute("clas s","plotAreaCanvas"),thi s._canvasJSContainer.app endChild(this.plotArea.c anvas),this.plotArea.ctx = this.plotArea.canvas.g etContext("2d")),this.ov erlaidCanvas=V(a,b),this .overlaidCanvas.style.po sition="absolute",this._ canvasJSContainer.append Child(this.overlaidCanva s),this.overlaidCanvasCt x=this.overlaidCanvas.ge tContext("2d"),this.over laidCanvasCtx.textBaseli ne="top",this._eventMana ger=new aa(this),F(windo w,"resize",function(){d. _updateSize()&&d.render( )}),this._toolBar=docume nt.createElement("div"), this._toolBar.setAttribu te("class","canvasjs-cha rt-toolbar"),this._toolB ar.style.cssText="positi on: absolute; right: 1px ; top: 1px;", this._canv asJSContainer.appendChil d(this._toolBar),this.bo unds={x1:0,y1:0,x2:this. width,y2:this.height},F( this.overlaidCanvas,"cli ck",function(a){d._mouse EventHandler(a)}),F(this .overlaidCanvas,"mousemo ve",function(a){d._mouse EventHandler(a)}),F(this .overlaidCanvas,"mouseup ",function(a){d._mouseEv entHandler(a)}),F(this.o verlaidCanvas,"mousedown ",function(a){d._mouseEv entHandler(a);S(d._dropd ownMenu)}),F(this.overla idCanvas,"mouseout",func tion(a){d._mouseEventHan dler(a)}),F(this.overlai dCanvas,window.navigator .msPointerEnabled? "MSPo interDown":"touchstart", function(a){d._touchEven tHandler(a)}),F(this.ove rlaidCanvas,window.navig ator.msPointerEnabled?"M SPointerMove":"touchmove ",function(a){d._touchEv entHandler(a)}),F(this.o verlaidCanvas,window.nav igator.msPointerEnabled? "MSPointerUp":"touchend" ,function(a){d._touchEve ntHandler(a)}),F(this.ov erlaidCanvas,window.navi gator.msPointerEnabled?" MSPointerCancel":"touchc ancel",function(a){d._to uchEventHandler(a)}),thi s._creditLink||(this._cr editLink=document.create Element("a"),this._credi tLink.setAttribute("clas s", "canvasjs-chart-cred it"),this._creditLink.se tAttribute("style","outl ine:none;margin:0px;posi tion:absolute;right:3px; top:"+(this.height-14)+" px;color:dimgrey;text-de coration:none;font-size: 10px;font-family:Lucida Grande, Lucida Sans Unic ode, Arial, sans-serif") ,this._creditLink.setAtt ribute("tabIndex",-1),th is._creditLink.setAttrib ute("target","_blank")), this._toolTip=new R(this ,this._options.toolTip,t his.theme),this.axisY2=t his.axisY=this.axisX=thi s.data=null,this.session Variables={axisX:{},axis Y:{}, axisY2:{}})):windo w.console&&window.consol e.log('CanvasJS Error: C hart Container with id " '+this._containerId+'" w as not found')}function ia(a,b){for(var c=[],d=0 ;d<a.length;d++)if(0==d) c.push(a[0]);else{var e, f,g;g=d-1;e=0===g?0:g-1; f=g===a.length-1?g:g+1;c [c.length]={x:a[g].x+(a[ f].x-a[e].x)/b/3,y:a[g]. y+(a[f].y-a[e].y)/b/3};g =d;e=0===g?0:g-1;f=g===a .length-1?g:g+1;c[c.leng th]={x:a[g].x-(a[f].x-a[ e].x)/b/3,y:a[g].y-(a[f] .y-a[e].y)/b/3};c[c.leng th]=a[d]}return c}functi on Aa(a,b){if(null===a|| "undefined"=== typeof a) return b;var c=parseFloa t(a.toString())*(0<=a.to String().indexOf("%")?b/ 100:1);return!isNaN(c)&& c<=b&&0<=c?c:b}function Z(a,b,c,d,e){"undefined" ===typeof e&&(e=0);this. _padding=e;this._x1=a;th is._y1=b;this._x2=c;this ._y2=d;this._rightOccupi ed=this._leftOccupied=th is._bottomOccupied=this. _topOccupied=this._paddi ng}function H(a,b){H.bas e.constructor.call(this, "TextBlock",b);this.ctx= a;this._isDirty=!0;this. _wrappedText=null;this._ lineHeight=ea(this.fontF amily,this.fontSize,this .fontWeight)} function b a(a,b){ba.base.construct or.call(this,"Title",b,a .theme);this.chart=a;thi s.canvas=a.canvas;this.c tx=this.chart.ctx;"undef ined"===typeof this._opt ions.fontSize&&(this.fon tSize=this.chart.getAuto FontSize(this.fontSize)) ;this.height=this.width= null;this.bounds={x1:nul l,y1:null,x2:null,y2:nul l}}function ja(a,b){ja.b ase.constructor.call(thi s,"Subtitle",b,a.theme); this.chart=a;this.canvas =a.canvas;this.ctx=this. chart.ctx;"undefined"=== typeof this._options.fon tSize&&(this.fontSize=th is.chart.getAutoFontSize (this.fontSize)); this.h eight=this.width=null;th is.bounds={x1:null,y1:nu ll,x2:null,y2:null}}func tion ka(a,b,c){ka.base.c onstructor.call(this,"Le gend",b,c);this.chart=a; this.canvas=a.canvas;thi s.ctx=this.chart.ctx;thi s.ghostCtx=this.chart._e ventManager.ghostCtx;thi s.items=[];this.height=t his.width=0;this.orienta tion=null;this.dataSerie s=[];this.bounds={x1:nul l,y1:null,x2:null,y2:nul l};"undefined"===typeof this._options.fontSize&& (this.fontSize=this.char t.getAutoFontSize(this.f ontSize));this.lineHeigh t=ea(this.fontFamily, th is.fontSize,this.fontWei ght);this.horizontalSpac ing=this.fontSize}functi on pa(a,b){pa.base.const ructor.call(this,b);this .chart=a;this.canvas=a.c anvas;this.ctx=this.char t.ctx}function T(a,b,c,d ,e){T.base.constructor.c all(this,"DataSeries",b, c);this.chart=a;this.can vas=a.canvas;this._ctx=a .canvas.ctx;this.index=d ;this.noDataPointsInPlot Area=0;this.id=e;this.ch art._eventManager.object Map[e]={id:e,objectType: "dataSeries",dataSeriesI ndex:d};this.dataPointId s=[];this.plotUnit=[];th is.axisY=this.axisX= nul l;null===this.fillOpacit y&&(this.type.match(/are a/i)?this.fillOpacity=0. 7:this.fillOpacity=1);th is.axisPlacement=this.ge tDefaultAxisPlacement(); "undefined"===typeof thi s._options.indexLabelFon tSize&&(this.indexLabelF ontSize=this.chart.getAu toFontSize(this.indexLab elFontSize))}function C( a,b,c,d){C.base.construc tor.call(this,"Axis",b,a .theme);this.chart=a;thi s.canvas=a.canvas;this.c tx=a.ctx;this.intervalSt artPosition=this.maxHeig ht=this.maxWidth=0;this. labels=[];this._labels=n ull;this.dataInfo= {min: Infinity,max:-Infinity,v iewPortMin:Infinity,view PortMax:-Infinity,minDif f:Infinity};"axisX"===c? (this.sessionVariables=t his.chart.sessionVariabl es[c],this._options.inte rval||(this.intervalType =null)):this.sessionVari ables="left"===d||"top"= ==d?this.chart.sessionVa riables.axisY:this.chart .sessionVariables.axisY2 ;"undefined"===typeof th is._options.titleFontSiz e&&(this.titleFontSize=t his.chart.getAutoFontSiz e(this.titleFontSize));" undefined"===typeof this ._options.labelFontSize& &(this.labelFontSize= th is.chart.getAutoFontSize (this.labelFontSize));th is.type=c;"axisX"!==c||b &&"undefined"!==typeof b .gridThickness||(this.gr idThickness=0);this._pos ition=d;this.lineCoordin ates={x1:null,y1:null,x2 :null,y2:null,width:null };this.labelAngle=(this. labelAngle%360+360)%360; 90<this.labelAngle&&270> =this.labelAngle?this.la belAngle-=180:180<this.l abelAngle&&270>=this.lab elAngle?this.labelAngle- =180:270<this.labelAngle &&360>=this.labelAngle&& (this.labelAngle-=360);i f(this._options.stripLin es&&0<this._options.stri pLines.length)for(this.s tripLines= [],b=0;b<this ._options.stripLines.len gth;b++)this.stripLines. push(new la(this.chart,t his._options.stripLines[ b],a.theme,++this.chart. _eventManager.lastObject Id,this));this._titleTex tBlock=null;this.hasOpti onChanged("viewportMinim um")&&null===this.viewpo rtMinimum&&(this._option s.viewportMinimum=void 0 ,this.sessionVariables.v iewportMinimum=null);thi s.hasOptionChanged("view portMinimum")||isNaN(thi s.sessionVariables.newVi ewportMinimum)||null===t his.sessionVariables.new ViewportMinimum?this.ses sionVariables.newViewpor tMinimum= null:this.view portMinimum=this.session Variables.newViewportMin imum;this.hasOptionChang ed("viewportMaximum")&&n ull===this.viewportMaxim um&&(this._options.viewp ortMaximum=void 0,this.s essionVariables.viewport Maximum=null);this.hasOp tionChanged("viewportMax imum")||isNaN(this.sessi onVariables.newViewportM aximum)||null===this.ses sionVariables.newViewpor tMaximum?this.sessionVar iables.newViewportMaximu m=null:this.viewportMaxi mum=this.sessionVariable s.newViewportMaximum;nul l!==this.minimum&&null!= =this.viewportMinimum&& (this.viewportMinimum=Ma th.max(this.viewportMini mum,this.minimum));null! ==this.maximum&&null!==t his.viewportMaximum&&(th is.viewportMaximum=Math. min(this.viewportMaximum ,this.maximum));this.tra ckChanges("viewportMinim um");this.trackChanges(" viewportMaximum")}functi on la(a,b,c,d,e){la.base .constructor.call(this," StripLine",b,c,e);this.i d=d;this.chart=a;this.ct x=this.chart.ctx;this.la bel=this.label;this._thi cknessType="pixel";null! ==this.startValue&&null! ==this.endValue&&(this.v alue=((this.startValue.g etTime? this.startValue. getTime():this.startValu e)+(this.endValue.getTim e?this.endValue.getTime( ):this.endValue))/2,this .thickness=Math.max(this .endValue-this.startValu e),this._thicknessType=" value")}function R(a,b,c ){R.base.constructor.cal l(this,"ToolTip",b,c);th is.chart=a;this.canvas=a .canvas;this.ctx=this.ch art.ctx;this.currentData PointIndex=this.currentS eriesIndex=-1;this._time rId=0;this._prevY=this._ prevX=NaN;this._initiali ze()}function aa(a){this .chart=a;this.lastObject Id=0;this.objectMap=[];t his.rectangularRegionEve ntSubscriptions= [];this .previousDataPointEventO bject=null;this.ghostCan vas=V(this.chart.width,t his.chart.height);this.g hostCtx=this.ghostCanvas .getContext("2d");this.m ouseoveredObjectMaps=[]} function ca(a){var b;a&& da[a]&&(b=da[a]);ca.base .constructor.call(this," CultureInfo",b)}function qa(a){this.chart=a;this .ctx=this.chart.plotArea .ctx;this.animations=[]; this.animationRequestId= null}var t=!!document.cr eateElement("canvas").ge tContext,ma={Chart:{widt h:500,height:400,zoomEna bled:!1,zoomType:"x",bac kgroundColor:"white", th eme:"theme1",animationEn abled:!1,animationDurati on:1200,dataPointWidth:n ull,dataPointMinWidth:nu ll,dataPointMaxWidth:nul l,colorSet:"colorSet1",c ulture:"en",creditText:" ",interactivityEnabled:! 0,exportEnabled:!1,expor tFileName:"Chart",rangeC hanging:null,rangeChange d:null},Title:{padding:0 ,text:null,verticalAlign :"top",horizontalAlign:" center",fontSize:20,font Family:"Calibri",fontWei ght:"normal",fontColor:" black",fontStyle:"normal ",borderThickness:0,bord erColor:"black",cornerRa dius:0, backgroundColor: null,margin:5,wrap:!0,ma xWidth:null,dockInsidePl otArea:!1},Subtitle:{pad ding:0,text:null,vertica lAlign:"top",horizontalA lign:"center",fontSize:1 4,fontFamily:"Calibri",f ontWeight:"normal",fontC olor:"black",fontStyle:" normal",borderThickness: 0,borderColor:"black",co rnerRadius:0,backgroundC olor:null,margin:2,wrap: !0,maxWidth:null,dockIns idePlotArea:!1},Legend:{ name:null,verticalAlign: "center",horizontalAlign :"right",fontSize:14,fon tFamily:"calibri",fontWe ight:"normal",fontColor: "black", fontStyle:"norm al",cursor:null,itemmous eover:null,itemmouseout: null,itemmousemove:null, itemclick:null,dockInsid ePlotArea:!1,reversed:!1 ,maxWidth:null,maxHeight :null,itemMaxWidth:null, itemWidth:null,itemWrap: !0,itemTextFormatter:nul l},ToolTip:{enabled:!0,s hared:!1,animationEnable d:!0,content:null,conten tFormatter:null,reversed :!1,backgroundColor:null ,borderColor:null,border Thickness:2,cornerRadius :5,fontSize:14,fontColor :null,fontFamily:"Calibr i, Arial, Georgia, serif ;",fontWeight:"normal",f ontStyle:"italic"}, Axis :{minimum:null,maximum:n ull,viewportMinimum:null ,viewportMaximum:null,in terval:null,intervalType :null,title:null,titleFo ntColor:"black",titleFon tSize:20,titleFontFamily :"arial",titleFontWeight :"normal",titleFontStyle :"normal",labelAngle:0,l abelFontFamily:"arial",l abelFontColor:"black",la belFontSize:12,labelFont Weight:"normal",labelFon tStyle:"normal",labelAut oFit:!1,labelWrap:!0,lab elMaxWidth:null,labelFor matter:null,prefix:"",su ffix:"",includeZero:!0,t ickLength:5,tickColor:"b lack",tickThickness:1, l ineColor:"black",lineThi ckness:1,lineDashType:"s olid",gridColor:"A0A0A0" ,gridThickness:0,gridDas hType:"solid",interlaced Color:null,valueFormatSt ring:null,margin:2,strip Lines:[]},StripLine:{val ue:null,startValue:null, endValue:null,color:"ora nge",opacity:null,thickn ess:2,lineDashType:"soli d",label:"",labelBackgro undColor:"#EEEEEE",label FontFamily:"arial",label FontColor:"orange",label FontSize:12,labelFontWei ght:"normal",labelFontSt yle:"normal",labelFormat ter:null,showOnTop:!1},D ataSeries:{name:null, da taPoints:null,label:"",b evelEnabled:!1,highlight Enabled:!0,cursor:null,i ndexLabel:"",indexLabelP lacement:"auto",indexLab elOrientation:"horizonta l",indexLabelFontColor:" black",indexLabelFontSiz e:12,indexLabelFontStyle :"normal",indexLabelFont Family:"Arial",indexLabe lFontWeight:"normal",ind exLabelBackgroundColor:n ull,indexLabelLineColor: null,indexLabelLineThick ness:1,indexLabelLineDas hType:"solid",indexLabel MaxWidth:null,indexLabel Wrap:!0,indexLabelFormat ter:null,lineThickness:2 ,lineDashType:"solid", c olor:null,risingColor:"w hite",fillOpacity:null,s tartAngle:0,radius:null, innerRadius:null,type:"c olumn",xValueType:"numbe r",axisYType:"primary",x ValueFormatString:null,y ValueFormatString:null,z ValueFormatString:null,p ercentFormatString:null, showInLegend:null,legend MarkerType:null,legendMa rkerColor:null,legendTex t:null,legendMarkerBorde rColor:null,legendMarker BorderThickness:null,mar kerType:"circle",markerC olor:null,markerSize:nul l,markerBorderColor:null ,markerBorderThickness:n ull,mouseover:null,mouse out:null, mousemove:null ,click:null,toolTipConte nt:null,visible:!0},Text Block:{x:0,y:0,width:nul l,height:null,maxWidth:n ull,maxHeight:null,paddi ng:0,angle:0,text:"",hor izontalAlign:"center",fo ntSize:12,fontFamily:"ca libri",fontWeight:"norma l",fontColor:"black",fon tStyle:"normal",borderTh ickness:0,borderColor:"b lack",cornerRadius:0,bac kgroundColor:null,textBa seline:"top"},CultureInf o:{decimalSeparator:".", digitGroupSeparator:",", zoomText:"Zoom",panText: "Pan",resetText:"Reset", menuText:"More Options", saveJPGText:"Save as JPE G", savePNGText:"Save as PNG",days:"Sunday Monda y Tuesday Wednesday Thur sday Friday Saturday".sp lit(" "),shortDays:"Sun Mon Tue Wed Thu Fri Sat" .split(" "),months:"Janu ary February March April May June July August Se ptember October November December".split(" "),sh ortMonths:"Jan Feb Mar A pr May Jun Jul Aug Sep O ct Nov Dec".split(" ")}} ,da={en:{}},W={colorSet1 :"#369EAD #C24642 #7F608 4 #86B402 #A2D1CF #C8B63 1 #6DBCEB #52514E #4F81B C #A064A1 #F79647".split (" "),colorSet2:"#4F81BC #C0504E #9BBB58 #23BFAA #8064A1 #4AACC5 #F79647 #33558B".split(" "), co lorSet3:"#8CA1BC #36845C #017E82 #8CB9D0 #708C98 #94838D #F08891 #0366A7 #008276 #EE7757 #E5BA3A #F2990B #03557B #782970 ".split(" ")},Y={theme1: {Chart:{colorSet:"colorS et1"},Title:{fontFamily: t?"Calibri, Optima, Cand ara, Verdana, Geneva, sa ns-serif":"calibri",font Size:33,fontColor:"#3A3A 3A",fontWeight:"bold",ve rticalAlign:"top",margin :5},Subtitle:{fontFamily :t?"Calibri, Optima, Can dara, Verdana, Geneva, s ans-serif":"calibri",fon tSize:16,fontColor:"#3A3 A3A",fontWeight:"bold",v erticalAlign:"top", marg in:5},Axis:{titleFontSiz e:26,titleFontColor:"#66 6666",titleFontFamily:t? "Calibri, Optima, Candar a, Verdana, Geneva, sans -serif":"calibri",labelF ontFamily:t?"Calibri, Op tima, Candara, Verdana, Geneva, sans-serif":"cal ibri",labelFontSize:18,l abelFontColor:"grey",tic kColor:"#BBBBBB",tickThi ckness:2,gridThickness:2 ,gridColor:"#BBBBBB",lin eThickness:2,lineColor:" #BBBBBB"},Legend:{vertic alAlign:"bottom",horizon talAlign:"center",fontFa mily:t?"monospace, sans- serif,arial black":"cali bri"},DataSeries:{indexL abelFontColor:"grey", in dexLabelFontFamily:t?"Ca libri, Optima, Candara, Verdana, Geneva, sans-se rif":"calibri",indexLabe lFontSize:18,indexLabelL ineThickness:1}},theme2: {Chart:{colorSet:"colorS et2"},Title:{fontFamily: "impact, charcoal, arial black, sans-serif",font Size:32,fontColor:"#3333 33",verticalAlign:"top", margin:5},Subtitle:{font Family:"impact, charcoal , arial black, sans-seri f",fontSize:14,fontColor :"#333333",verticalAlign :"top",margin:5},Axis:{t itleFontSize:22,titleFon tColor:"rgb(98,98,98)",t itleFontFamily:t?"monosp ace, sans-serif,arial bl ack": "arial",titleFontW eight:"bold",labelFontFa mily:t?"monospace, Couri er New, Courier":"arial" ,labelFontSize:16,labelF ontColor:"grey",labelFon tWeight:"bold",tickColor :"grey",tickThickness:2, gridThickness:2,gridColo r:"grey",lineColor:"grey ",lineThickness:0},Legen d:{verticalAlign:"bottom ",horizontalAlign:"cente r",fontFamily:t?"monospa ce, sans-serif,arial bla ck":"arial"},DataSeries: {indexLabelFontColor:"gr ey",indexLabelFontFamily :t?"Courier New, Courier , monospace":"arial",ind exLabelFontWeight:"bold" ,indexLabelFontSize:18, indexLabelLineThickness: 1}},theme3:{Chart:{color Set:"colorSet1"},Title:{ fontFamily:t?"Candara, O ptima, Trebuchet MS, Hel vetica Neue, Helvetica, Trebuchet MS, serif":"ca libri",fontSize:32,fontC olor:"#3A3A3A",fontWeigh t:"bold",verticalAlign:" top",margin:5},Subtitle: {fontFamily:t?"Candara, Optima, Trebuchet MS, He lvetica Neue, Helvetica, Trebuchet MS, serif":"c alibri",fontSize:16,font Color:"#3A3A3A",fontWeig ht:"bold",verticalAlign: "top",margin:5},Axis:{ti tleFontSize:22,titleFont Color:"rgb(98,98,98)", t itleFontFamily:t?"Verdan a, Geneva, Calibri, sans -serif":"calibri",labelF ontFamily:t?"Calibri, Op tima, Candara, Verdana, Geneva, sans-serif":"cal ibri",labelFontSize:18,l abelFontColor:"grey",tic kColor:"grey",tickThickn ess:2,gridThickness:2,gr idColor:"grey",lineThick ness:2,lineColor:"grey"} ,Legend:{verticalAlign:" bottom",horizontalAlign: "center",fontFamily:t?"m onospace, sans-serif,ari al black":"calibri"},Dat aSeries:{bevelEnabled:!0 ,indexLabelFontColor:"gr ey",indexLabelFontFamily :t?"Candara, Optima, Cal ibri, Verdana, Geneva, s ans-serif": "calibri",in dexLabelFontSize:18,inde xLabelLineColor:"lightgr ey",indexLabelLineThickn ess:2}}},D={numberDurati on:1,yearDuration:314496 E5,monthDuration:2592E6, weekDuration:6048E5,dayD uration:864E5,hourDurati on:36E5,minuteDuration:6 E4,secondDuration:1E3,mi llisecondDuration:1,dayO fWeekFromInt:"Sunday Mon day Tuesday Wednesday Th ursday Friday Saturday". split(" ")},wa={},U=null ,ra=function(){var a=/D{ 1,4}|M{1,4}|Y{1,4}|h{1,2 }|H{1,2}|m{1,2}|s{1,2}|f {1,3}|t{1,2}|T{1,2}|K|z{ 1,3}|"[^"]*"|'[^']*'/g,b ="Sunday Monday Tuesday Wednesday Thursday Frida y Saturday".split(" "), c="Sun Mon Tue Wed Thu F ri Sat".split(" "),d="Ja nuary February March Apr il May June July August September October Novemb er December".split(" "), e="Jan Feb Mar Apr May J un Jul Aug Sep Oct Nov D ec".split(" "),f=/\b(?:[ PMCEA][SDP]T|(?:Pacific| Mountain|Central|Eastern |Atlantic) (?:Standard|D aylight|Prevailing) Time |(?:GMT|UTC)(?:[-+]\d{4} )?)\b/g,g=/[^-+\dA-Z]/g; return function(k,p,h){v ar l=h?h.days:b,m=h?h.mo nths:d,n=h?h.shortDays:c ,q=h?h.shortMonths:e;h=" ";var r=!1;k=k&&k.getTim e?k:k?new Date(k):new Da te; if(isNaN(k))throw Sy ntaxError("invalid date" );"UTC:"===p.slice(0,4)& &(p=p.slice(4),r=!0);h=r ?"getUTC":"get";var s=k[ h+"Date"](),w=k[h+"Day"] (),v=k[h+"Month"](),x=k[ h+"FullYear"](),t=k[h+"H ours"](),y=k[h+"Minutes" ](),z=k[h+"Seconds"](),u =k[h+"Milliseconds"](),A =r?0:k.getTimezoneOffset ();return h=p.replace(a, function(a){switch(a){ca se "D":return s;case "DD ":return L(s,2);case "DD D":return n[w];case "DDD D":return l[w];case "M": return v+1;case "MM":ret urn L(v+1,2);case "MMM": return q[v];case "MMMM": return m[v]; case "Y":re turn parseInt(String(x). slice(-2));case "YY":ret urn L(String(x).slice(-2 ),2);case "YYY":return L (String(x).slice(-3),3); case "YYYY":return L(x,4 );case "h":return t%12|| 12;case "hh":return L(t% 12||12,2);case "H":retur n t;case "HH":return L(t ,2);case "m":return y;ca se "mm":return L(y,2);ca se "s":return z;case "ss ":return L(z,2);case "f" :return String(u).slice( 0,1);case "ff":return L( String(u).slice(0,2),2); case "fff":return L(Stri ng(u).slice(0,3),3);case "t":return 12>t?"a":"p" ;case "tt":return 12> t? "am":"pm";case "T":retur n 12>t?"A":"P";case "TT" :return 12>t?"AM":"PM";c ase "K":return r?"UTC":( String(k).match(f)||[""] ).pop().replace(g,"");ca se "z":return(0<A?"-":"+ ")+Math.floor(Math.abs(A )/60);case "zz":return(0 <A?"-":"+")+L(Math.floor (Math.abs(A)/60),2);case "zzz":return(0<A?"-":"+ ")+L(Math.floor(Math.abs (A)/60),2)+L(Math.abs(A) %60,2);default:return a. slice(1,a.length-1)}})}} (),X=function(a,b,c){if( null===a)return"";a=Numb er(a);var d=0>a?!0:!1;d& &(a*=-1);var e=c?c.decim alSeparator:".",f=c? c.d igitGroupSeparator:",",g ="";b=String(b);var g=1, k=c="",p=-1,h=[],l=[],m= 0,n=0,q=0,r=!1,s=0,k=b.m atch(/"[^"]*"|'[^']*'|[e E][+-]*[0]+|[,]+[.]|\u20 30|./g);b=null;for(var w =0;k&&w<k.length;w++)if( b=k[w],"."===b&&0>p)p=w; else{if("%"===b)g*=100;e lse if("\u2030"===b){g*= 1E3;continue}else if("," ===b[0]&&"."===b[b.lengt h-1]){g/=Math.pow(1E3,b. length-1);p=w+b.length-1 ;continue}else"E"!==b[0] &&"e"!==b[0]||"0"!==b[b. length-1]||(r=!0);0>p?(h .push(b),"#"===b||"0"=== b?m++:","===b&&q++):(l.p ush(b),"#"!==b&&"0"!== b ||n++)}r&&(b=Math.floor( a),s=(0===b?"":String(b) ).length-m,g/=Math.pow(1 0,s));0>p&&(p=w);g=(a*g) .toFixed(n);b=g.split(". ");g=(b[0]+"").split("") ;a=(b[1]+"").split("");g &&"0"===g[0]&&g.shift(); for(w=r=k=n=p=0;0<h.leng th;)if(b=h.pop(),"#"===b ||"0"===b)if(p++,p===m){ var v=g,g=[];if("0"===b) for(b=m-n-(v?v.length:0) ;0<b;)v.unshift("0"),b-- ;for(;0<v.length;)c=v.po p()+c,w++,0===w%r&&(k=== q&&0<v.length)&&(c=f+c); d&&(c="-"+c)}else 0<g.le ngth?(c=g.pop()+c,n++,w+ +):"0"===b&&(c="0"+c,n++ ,w++),0===w%r&&(k=== q&& 0<g.length)&&(c=f+c);els e"E"!==b[0]&&"e"!==b[0]| |"0"!==b[b.length-1]||!/ [eE][+-]*[0]+/.test(b)?" ,"===b?(k++,r=w,w=0,0<g. length&&(c=f+c)):c=1<b.l ength&&('"'===b[0]&&'"'= ==b[b.length-1]||"'"===b [0]&&"'"===b[b.length-1] )?b.slice(1,b.length-1)+ c:b+c:(b=0>s?b.replace(" +","").replace("-",""):b .replace("-",""),c+=b.re place(/[0]+/,function(a) {return L(s,a.length)})) ;d="";for(f=!1;0<l.lengt h;)b=l.shift(),"#"===b|| "0"===b?0<a.length&&0!== Number(a.join(""))?(d+=a .shift(),f=!0):"0"===b&& (d+="0",f=!0):1<b.length && ('"'===b[0]&&'"'===b[ b.length-1]||"'"===b[0]& &"'"===b[b.length-1])?d+ =b.slice(1,b.length-1):" E"!==b[0]&&"e"!==b[0]||" 0"!==b[b.length-1]||!/[e E][+-]*[0]+/.test(b)?d+= b:(b=0>s?b.replace("+"," ").replace("-",""):b.rep lace("-",""),d+=b.replac e(/[0]+/,function(a){ret urn L(s,a.length)}));ret urn c+((f?e:"")+d)},na=f unction(a){var b=0,c=0;a =a||window.event;a.offse tX||0===a.offsetX?(b=a.o ffsetX,c=a.offsetY):a.la yerX||0==a.layerX?(b=a.l ayerX,c=a.layerY):(b=a.p ageX-a.target.offsetLeft ,c=a.pageY-a.target.offs etTop); return{x:b,y:c}} ,ya=!0,oa=window.deviceP ixelRatio||1,ga=1,J=ya?o a/ga:1,Fa={reset:{image: "data:image/png;base64,i VBORw0KGgoAAAANSUhEUgAAA CAAAAAcCAYAAAAAwr0iAAAAB HNCSVQICAgIfAhkiAAAAAlwS FlzAAALEgAACxIB0t1+/AAAA Bx0RVh0U29mdHdhcmUAQWRvY mUgRmlyZXdvcmtzIENTNui8s owAAAKRSURBVEiJrdY/iF1FF MfxzwnZrGISUSR/JLGIhoh/Q iRNBLWxMLIWEkwbgiAoFgoW2 mhlY6dgpY2IlRBRxBSKhSAKI klWJRYuMZKAhiyopAiaTY7Fv RtmZ+/ed9/zHRjezLw5v/O9d 86cuZGZpmURAfdn5o9DfdZNL Xpjz+LziPgyIl6MiG0jPTJzZ BuyDrP4BVm0P/AKbljTb4ToY /gGewYA7KyCl+1b3DUYANvwb iHw0gCAGRzBOzjTAXEOu0cC4 Ch+r5x/HrpdrcZmvIDFSucMt nYCYC++6HmNDw8FKDT34ETrf 639/azOr5vwRk/g5fbeuABtg C04XWk9VQLciMP4EH/3AFzEr RNC7MXlQmsesSoHsGPE23hmE oBW+61K66HMXFmIMvN8myilX S36R01ub+KfYvw43ZXwYDX+A HP4BAci4pFJomfmr/ihmNofE SsBImJGk7mlncrM45n5JPbhz 0kAWpsv+juxaX21YIPmVJS2u NzJMS6ZNexC0d+I7fUWXLFyz 2kSZlpWPvASlmqAf/FXNXf3F AF2F/1LuFifAlionB6dRuSI2 IwHi6lzmXmp6xR8XY0fiIh7p sAwh+3FuDkRHQVjl+a8lkXjo 0kLUKH7XaV5oO86PmZ1FTzyP 4K/XGl9v/zwfbW7BriiuETGC P5ch9bc9f97HF/vcFzCa5gdE PgWq+t/4v0V63oE1uF4h0DiF J7HnSWMppDdh1dxtsPvJ2wcB NAKbsJXa0Ck5opdaBPsRNu/u sba09i1KsaAVzmLt3sghrRju K1Tf4xkegInxwy8gKf7dKMVH 2QRsV5zXR/Cftyu+aKaKbbkQ rsdH+PTzLzcqzkOQAVzM+7FH diqqe2/YT4zF/t8S/sPmawyv C974vcAAAAASUVORK5CYII=" }, pan:{image:"data:imag e/png;base64,iVBORw0KGgo AAAANSUhEUgAAACAAAAAgCAY AAABzenr0AAAABHNCSVQICAg IfAhkiAAAAAlwSFlzAAALEgA ACxIB0t1+/AAAABx0RVh0U29 mdHdhcmUAQWRvYmUgRmlyZXd vcmtzIENTNui8sowAAAJVSUR BVFiFvZe7a1RBGMV/x2hWI4J pfKCIiSBKOoOCkID/wP4BFqI IFkE02ChIiC8QDKlSiI3YqRB sBVGwUNAUdiIEUgjiAzQIIsu KJsfizsXr5t7d+8jmwLDfzHz 3nLOzc7+ZxTZlGyDgZiWOCuJ 9wH2gCUyuqQFgF/AGcKJNrYk BYBj40CIet+muGQi/96kM4WS 7C/Tm5VUg7whJg8BkEGkCR4B DYfodsADUgP6wErO5iCtswsu Jb32hdbXy8qzL5TIdmzJinHd ZoZIBZcSFkGlAKs1Z3YCketZ cBtouuaQNkrblMiBpBrhme7m AgU4wMCvpcFsDkq4C54DFVRT H9h+i6vlE0r5UA5ImgCuh28j B28iIs7BIVCOeStoZD64P4uP AjUTygKSx2FsK2TIwkugfk9Q kfd/E+yMWHQCeSRqx/R3gOp3 LazfaS2C4B5gHDgD7U9x3E3u AH7KNpC3AHHAwTL4FHgM9GQ8 vAaPA0dB/Abxqk2/gBLA9MXb a9r1k/d4LfA3JtwueBeM58uc S+edXnAW23wP10N3advEi9CX izTnyN4bPS7Zn4sH/dq3t18A Y4e1YLYSy3g/csj2VnFshZPu OpOeSKHCodUINuGj7YetE6je 1PV9QoNPJ9StNHKodx7nRbiW rGHBGXAi5DUiqtQwtpcWK0Ju bt8CltA5MEV1IfwO7+VffPwG fia5m34CT4bXujIIX0Qna1/c GMNqV/wUJE2czxD8CQ4X5Sl7 Jz7SILwCDpbjKPBRMHAd+EtX 4HWV5Spdc2w8kDQGPbH8py/M XMygM69/FKz4AAAAASUVORK5 CYII="}, zoom:{image:"da ta:image/png;base64,iVBO Rw0KGgoAAAANSUhEUgAAACAA AAAgCAYAAABzenr0AAAABHNC SVQICAgIfAhkiAAAAAlwSFlz AAAK6wAACusBgosNWgAAABx0 RVh0U29mdHdhcmUAQWRvYmUg RmlyZXdvcmtzIENTNui8sowA AAMqSURBVFiFvdfbj91TFMDx z57U6GUEMS1aYzyMtCSSDhWj CZMInpAI3khE/QHtgzdRkXgS CS8SES9epKLi0oRKNETjRahR Eq2KS1stdRujtDPtbA97n5zd n9+5zJxTK9k5v3POXmt991p7 r71+IcaoGwkhTOIebMRqzOBT vIG3Y4zTXRmqSoyx5cAKbMJO HMFJnMZ8/jyFaXyMR7G6nb1a H22cP4BvcBxziG3GKfyTIR9D 6BYg1KUghPBCDveFlb/24Av8 iuUYw41YVsz5G7uxKcZ4aMEp wGt5NY3V/YbHsQ6rcAHOw/kY xigewr5CZw4fYGxBKcCLOFEY ehXrMdRhr5yLETxVScsOLOkK APfn1TYMPIvLFrShUlS2FDZm 8XRHACzFAWl3R2xbqPMCYhme LCAOYEMngAczbcTvuHYxzguI y/FesR9e6gSwU/OoPYHBHgHg viIKX2Flq7k34KhmcVnbi/PC 8JX4MgMcxb118wZwdz5aISsc qx7VRcox7MrPQ7i+btIAJrAk f9+bI9EPmZY2IAxiTSuAldLq 4Y9+AcSUh78KP0tbAcwU35cX MD1JCIFUoGiehlqAz6TNB1f1 C0DK+0h+nsNPrQC2a4bqGmlD 9kOGcWt+Po6pVgDvSxfJaSkF d4UQBvoAsBYbCoB3a2flM7sl A0R8iyt6rAFDeDPbm8eOTpVw GD9qVq7nLbIaZnmksPU1JtsC ZMXNmpdRxFasWITzh6Xj3LCz ra1OxcD2QjHiGVzdpfORnMqZ io2PcF23ABdJF1Np4BPptlyP i6WzPYBzpJZtHe7A6xW9cnyP 8TqA//SEIYRL8Bxul7rihvwg tVn78WcGGZXa9HGd5TDujDHu OePXNiHdKjWgZX/YbsxLx/kt qbjVzTlcjUSnvI5JrdlUVp6W esZZ6R1hRrpq9+EVTGS9jTjY AuKIouGpbcurEkIYxC051KNS amazsc+xK8b4S0VnEi/j0hqT P+M27O258egQwZuzs7pI7Mf4 WQXIEDc5s9sux+5+1Py2EmP8 UOq6GvWhIScxfdYjUERiAt9J d84J6a16zf8JEKT3yCm8g1Ux Rv8CC4pyRhzR1uUAAAAASUVO RK5CYII="}, menu:{image: "data:image/png;base64,i VBORw0KGgoAAAANSUhEUgAAA BAAAAAgCAYAAAAbifjMAAAAB HNCSVQICAgIfAhkiAAAAAlwS FlzAAAK6wAACusBgosNWgAAA Bx0RVh0U29mdHdhcmUAQWRvY mUgRmlyZXdvcmtzIENTNui8s owAAAAWdEVYdENyZWF0aW9uI FRpbWUAMDcvMTUvMTTPsvU0A AAAP0lEQVRIie2SMQoAIBDDU vH/X667g8sJJ9KOhYYOkW0qG aU1MPdC0vGSbV19EACo3YMPA FH5BUBUjsqfAPpVXtNgGDfxE DCtAAAAAElFTkSuQmCC"}};G .prototype.setOptions=fu nction(a,b){if(ma[this._ defaultsKey]){var c=ma[t his._defaultsKey],d;for( d in c)c.hasOwnProperty( d)&&(this[d]=a&&d in a?a [d]:b&&d in b?b[d]:c[d]) }};G.prototype.updateOpt ion=function(a){var b=ma [this._defaultsKey],c=th is._options.theme?this._ options.theme:this.chart &&this.chart._options.th eme?this.chart._options. theme:"theme1",d={},e=th is[a];c&&(Y[c]&&Y[c][thi s._defaultsKey])&&(d=Y[c ][this._defaultsKey]);a in b&&(e=a in this._opti ons?this._options[a]:d&& a in d?d[a]:b[a]);if(e== =this[a])return!1;this[a ]=e;return!0};G.prototyp e.trackChanges=function( a){if(!this.sessionVaria bles)throw"Session Varia ble Store not set";this. sessionVariables[a]= thi s._options[a]};G.prototy pe.isBeingTracked=functi on(a){this._options._old Options||(this._options. _oldOptions={});return t his._options._oldOptions [a]?!0:!1};G.prototype.h asOptionChanged=function (a){if(!this.sessionVari ables)throw"Session Vari able Store not set";retu rn this.sessionVariables [a]!==this._options[a]}; G.prototype.addEventList ener=function(a,b,c){a&& b&&(this._eventListeners [a]=this._eventListeners [a]||[],this._eventListe ners[a].push({context:c| |this,eventHandler:b}))} ;G.prototype.removeEvent Listener= function(a,b){ if(a&&b&&this._eventList eners[a])for(var c=this. _eventListeners[a],d=0;d <c.length;d++)if(c[d].ev entHandler===b){c[d].spl ice(d,1);break}};G.proto type.removeAllEventListe ners=function(){this._ev entListeners=[]};G.proto type.dispatchEvent=funct ion(a,b,c){if(a&&this._e ventListeners[a]){b=b||{ };for(var d=this._eventL isteners[a],e=0;e<d.leng th;e++)d[e].eventHandler .call(d[e].context,b)}"f unction"===typeof this[a ]&&this[a].call(c||this. chart._publicChartRefere nce,b)};O(u,G);u.prototy pe._updateOptions= funct ion(){var a=this;this.up dateOption("width");this .updateOption("height"); this.updateOption("dataP ointWidth");this.updateO ption("dataPointMinWidth ");this.updateOption("da taPointMaxWidth");this.u pdateOption("interactivi tyEnabled");this.updateO ption("theme");this.upda teOption("colorSet")&&(t his._selectedColorSet="u ndefined"!==typeof W[thi s.colorSet]?W[this.color Set]:W.colorSet1);this.u pdateOption("backgroundC olor");this.backgroundCo lor||(this.backgroundCol or="rgba(0,0,0,0)");this .updateOption("culture") ; this._cultureInfo=new ca(this._options.culture );this.updateOption("ani mationEnabled");this.ani mationEnabled=this.anima tionEnabled&&t;this.upda teOption("animationDurat ion");this.updateOption( "rangeChanging");this.up dateOption("rangeChanged ");this.updateOption("ex portEnabled");this.updat eOption("exportFileName" );this.updateOption("zoo mType");this._options.zo omEnabled?(this._zoomBut ton||(S(this._zoomButton =document.createElement( "button")),Q(this,this._ zoomButton,"pan"),this._ toolBar.appendChild(this ._zoomButton), F(this._z oomButton,"click",functi on(){a.zoomEnabled?(a.zo omEnabled=!1,a.panEnable d=!0,Q(a,a._zoomButton," zoom")):(a.zoomEnabled=! 0,a.panEnabled=!1,Q(a,a. _zoomButton,"pan"));a.re nder()})),this._resetBut ton||(S(this._resetButto n=document.createElement ("button")),Q(this,this. _resetButton,"reset"),th is._toolBar.appendChild( this._resetButton),F(thi s._resetButton,"click",f unction(){a._toolTip.hid e();a.zoomEnabled||a.pan Enabled?(a.zoomEnabled=! 0,a.panEnabled=!1,Q(a,a. _zoomButton,"pan"),a._de faultCursor= "default",a .overlaidCanvas.style.cu rsor=a._defaultCursor):( a.zoomEnabled=!1,a.panEn abled=!1);a.sessionVaria bles.axisX&&(a.sessionVa riables.axisX.newViewpor tMinimum=null,a.sessionV ariables.axisX.newViewpo rtMaximum=null);a.sessio nVariables.axisY&&(a.ses sionVariables.axisY.newV iewportMinimum=null,a.se ssionVariables.axisY.new ViewportMaximum=null);a. sessionVariables.axisY2& &(a.sessionVariables.axi sY2.newViewportMinimum=n ull,a.sessionVariables.a xisY2.newViewportMaximum =null);a.resetOverlayedC anvas();S(a._zoomButton, a._resetButton);a._disp atchRangeEvent("rangeCha nging","reset");a.render ();a._dispatchRangeEvent ("rangeChanged","reset") }),this.overlaidCanvas.s tyle.cursor=a._defaultCu rsor),this.zoomEnabled|| this.panEnabled||(this._ zoomButton?(a._zoomButto n.getAttribute("state")= ==a._cultureInfo.zoomTex t?(this.panEnabled=!0,th is.zoomEnabled=!1):(this .zoomEnabled=!0,this.pan Enabled=!1),ha(a._zoomBu tton,a._resetButton)):(t his.zoomEnabled=!0,this. panEnabled=!1))):this.pa nEnabled=this.zoomEnable d=!1;this._menuButton? t his.exportEnabled?ha(thi s._menuButton):S(this._m enuButton):this.exportEn abled&&t&&(this._menuBut ton=document.createEleme nt("button"),Q(this,this ._menuButton,"menu"),thi s._toolBar.appendChild(t his._menuButton),F(this. _menuButton,"click",func tion(){"none"!==a._dropd ownMenu.style.display||a ._dropDownCloseTime&&500 >=(new Date).getTime()-a ._dropDownCloseTime.getT ime()||(a._dropdownMenu. style.display="block",a. _menuButton.blur(),a._dr opdownMenu.focus())},!0) );if(!this._dropdownMenu &&this.exportEnabled&& t ){this._dropdownMenu=doc ument.createElement("div ");this._dropdownMenu.se tAttribute("tabindex",-1 );this._dropdownMenu.sty le.cssText="position: ab solute; -webkit-user-sel ect: none; -moz-user-sel ect: none; -ms-user-sele ct: none; user-select: n one; cursor: pointer;rig ht: 1px;top: 25px;min-wi dth: 120px;outline: 0;bo rder: 1px solid silver;f ont-size: 14px;font-fami ly: Calibri, Verdana, sa ns-serif;padding: 5px 0p x 5px 0px;text-align: le ft;background-color: #ff f;line-height: 20px;box- shadow: 2px 2px 10px #88 8888;"; a._dropdownMenu. style.display="none";thi s._toolBar.appendChild(t his._dropdownMenu);F(thi s._dropdownMenu,"blur",f unction(){S(a._dropdownM enu);a._dropDownCloseTim e=new Date},!0);var b=do cument.createElement("di v");b.style.cssText="pad ding: 2px 15px 2px 10px" ;b.innerHTML=this._cultu reInfo.saveJPGText;this. _dropdownMenu.appendChil d(b);F(b,"mouseover",fun ction(){this.style.backg roundColor="#EEEEEE"},!0 );F(b,"mouseout",functio n(){this.style.backgroun dColor="transparent"},!0 );F(b,"click",function() {za(a.canvas, "jpeg",a.e xportFileName);S(a._drop downMenu)},!0);b=documen t.createElement("div");b .style.cssText="padding: 2px 15px 2px 10px";b.in nerHTML=this._cultureInf o.savePNGText;this._drop downMenu.appendChild(b); F(b,"mouseover",function (){this.style.background Color="#EEEEEE"},!0);F(b ,"mouseout",function(){t his.style.backgroundColo r="transparent"},!0);F(b ,"click",function(){za(a .canvas,"png",a.exportFi leName);S(a._dropdownMen u)},!0)}"none"!==this._t oolBar.style.display&&th is._zoomButton&&(this.pa nEnabled?Q(a, a._zoomBut ton,"zoom"):Q(a,a._zoomB utton,"pan"),a._resetBut ton.getAttribute("state" )!==a._cultureInfo.reset Text&&Q(a,a._resetButton ,"reset"));if("undefined "===typeof ma.Chart.cred itHref)this.creditHref=" ",this.creditText="";els e var c=this.updateOptio n("creditText"),d=this.u pdateOption("creditHref" );if(0===this.renderCoun t||c||d)this._creditLink .setAttribute("href",thi s.creditHref),this._cred itLink.innerHTML=this.cr editText;this.creditHref &&this.creditText?this._ creditLink.parentElement || this._canvasJSContain er.appendChild(this._cre ditLink):this._creditLin k.parentElement&&this._c anvasJSContainer.removeC hild(this._creditLink);t his._options.toolTip&&th is._toolTip._options!==t his._options.toolTip&&(t his._toolTip._options=th is._options.toolTip);for (var e in this._toolTip. _options)this._toolTip._ options.hasOwnProperty(e )&&this._toolTip.updateO ption(e)};u.prototype._u pdateSize=function(){var a=0,b=0;this._options.w idth?a=this.width:this.w idth=a=0<this._container .clientWidth?this._conta iner.clientWidth: this.w idth;this._options.heigh t?b=this.height:this.hei ght=b=0<this._container. clientHeight?this._conta iner.clientHeight:this.h eight;return this.canvas .width!==a*J||this.canva s.height!==b*J?(fa(this. canvas,a,b),fa(this.over laidCanvas,a,b),fa(this. _eventManager.ghostCanva s,a,b),!0):!1};u.prototy pe._initialize=function( ){this._animator?this._a nimator.cancelAllAnimati ons():this._animator=new qa(this);this.removeAll EventListeners();this.di sableToolTip=!1;this._ax es=[];this.pieDoughnutCl ickHandler=null; this.an imationRequestId&&this.c ancelRequestAnimFrame.ca ll(window,this.animation RequestId);this._updateO ptions();this.animatedRe nder=t&&this.animationEn abled&&0===this.renderCo unt;this._updateSize();t his.clearCanvas();this.c tx.beginPath();this.axis Y2=this.axisY=this.axisX =null;this._indexLabels= [];this._dataInRenderedO rder=[];this._events=[]; this._eventManager&&this ._eventManager.reset();t his.plotInfo={axisPlacem ent:null,axisXValueType: null,plotTypes:[]};this. layoutManager=new Z(0,0, this.width,this.height, 2);this.plotArea.layoutM anager&&this.plotArea.la youtManager.reset();this .data=[];for(var a=0,b=0 ;b<this._options.data.le ngth;b++)if(a++,!this._o ptions.data[b].type||0<= u._supportedChartTypes.i ndexOf(this._options.dat a[b].type)){var c=new T( this,this._options.data[ b],this.theme,a-1,++this ._eventManager.lastObjec tId);null===c.name&&(c.n ame="DataSeries "+a);nul l===c.color?1<this._opti ons.data.length?(c._colo rSet=[this._selectedColo rSet[c.index%this._selec tedColorSet.length]],c.c olor=this._selectedColor Set[c.index% this._selec tedColorSet.length]):c._ colorSet="line"===c.type ||"stepLine"===c.type||" spline"===c.type||"area" ===c.type||"stepArea"=== c.type||"splineArea"===c .type||"stackedArea"===c .type||"stackedArea100"= ==c.type||"rangeArea"=== c.type||"rangeSplineArea "===c.type||"candlestick "===c.type||"ohlc"===c.t ype?[this._selectedColor Set[0]]:this._selectedCo lorSet:c._colorSet=[c.co lor];null===c.markerSize &&(("line"===c.type||"st epLine"===c.type||"splin e"===c.type)&&c.dataPoin ts&&c.dataPoints.length< this.width/ 16||"scatter "===c.type)&&(c.markerSi ze=8);"bubble"!==c.type& &"scatter"!==c.type||!c. dataPoints||(c.dataPoint s.some?c.dataPoints.some (function(a){return a.x} )&&c.dataPoints.sort(va) :c.dataPoints.sort(va)); this.data.push(c);var d= c.axisPlacement,e;"norma l"===d?"xySwapped"===thi s.plotInfo.axisPlacement ?e='You cannot combine " '+c.type+'" with bar cha rt':"none"===this.plotIn fo.axisPlacement?e='You cannot combine "'+c.type +'" with pie chart':null ===this.plotInfo.axisPla cement&&(this.plotInfo.a xisPlacement= "normal"): "xySwapped"===d?"normal" ===this.plotInfo.axisPla cement?e='You cannot com bine "'+c.type+'" with l ine, area, column or pie chart':"none"===this.pl otInfo.axisPlacement?e=' You cannot combine "'+c. type+'" with pie chart': null===this.plotInfo.axi sPlacement&&(this.plotIn fo.axisPlacement="xySwap ped"):"none"==d&&("norma l"===this.plotInfo.axisP lacement?e='You cannot c ombine "'+c.type+'" with line, area, column or b ar chart':"xySwapped"=== this.plotInfo.axisPlacem ent?e='You cannot combin e "'+c.type+ '" with bar chart':null===this.plot Info.axisPlacement&&(thi s.plotInfo.axisPlacement ="none"));if(e&&window.c onsole){window.console.l og(e);return}}this._obje ctsInitialized=!0};u._su pportedChartTypes=functi on(a){a.indexOf||(a.inde xOf=Ea);return a}("line stepLine spline column a rea stepArea splineArea bar bubble scatter stack edColumn stackedColumn10 0 stackedBar stackedBar1 00 stackedArea stackedAr ea100 candlestick ohlc r angeColumn rangeBar rang eArea rangeSplineArea pi e doughnut funnel".split (" "));u.prototype.rende r= function(a){a&&(this. _options=a);this._initia lize();var b=[];for(a=0; a<this.data.length;a++)i f("normal"===this.plotIn fo.axisPlacement||"xySwa pped"===this.plotInfo.ax isPlacement)this.data[a] .axisYType&&"primary"!== this.data[a].axisYType?" secondary"===this.data[a ].axisYType&&(this.axisY 2||("normal"===this.plot Info.axisPlacement?this. _axes.push(this.axisY2=n ew C(this,this._options. axisY2,"axisY","right")) :"xySwapped"===this.plot Info.axisPlacement&&this ._axes.push(this.axisY2= new C(this,this._options .axisY2, "axisY","top")) ),this.data[a].axisY=thi s.axisY2):(this.axisY||( "normal"===this.plotInfo .axisPlacement?this._axe s.push(this.axisY=new C( this,this._options.axisY ,"axisY","left")):"xySwa pped"===this.plotInfo.ax isPlacement&&this._axes. push(this.axisY=new C(th is,this._options.axisY," axisY","bottom"))),this. data[a].axisY=this.axisY ),this.axisX||("normal"= ==this.plotInfo.axisPlac ement?this._axes.push(th is.axisX=new C(this,this ._options.axisX,"axisX", "bottom")):"xySwapped"== =this.plotInfo.axisPlace ment&& this._axes.push(t his.axisX=new C(this,thi s._options.axisX,"axisX" ,"left"))),this.data[a]. axisX=this.axisX;this.ax isY&&this.axisY2&&(0<thi s.axisY.gridThickness&&" undefined"===typeof this .axisY2._options.gridThi ckness?this.axisY2.gridT hickness=0:0<this.axisY2 .gridThickness&&"undefin ed"===typeof this.axisY. _options.gridThickness&& (this.axisY.gridThicknes s=0));var c=!1;if(0<this ._axes.length&&(this.zoo mEnabled||this.panEnable d))for(a=0;a<this._axes. length;a++)if(null!==thi s._axes[a].viewportMinim um|| null!==this._axes[a ].viewportMaximum){c=!0; break}c?ha(this._zoomBut ton,this._resetButton):( S(this._zoomButton,this. _resetButton),this._opti ons.zoomEnabled&&(this.z oomEnabled=!0,this.panEn abled=!1));this._process Data();this._options.tit le&&(this._title=new ba( this,this._options.title ),this._title.dockInside PlotArea?b.push(this._ti tle):this._title.render( ));if(this._options.subt itles)for(a=0;a<this._op tions.subtitles.length;a ++)this.subtitles=[],c=n ew ja(this,this._options .subtitles[a]),this.subt itles.push(c), c.dockIns idePlotArea?b.push(c):c. render();this.legend=new ka(this,this._options.l egend,this.theme);for(a= 0;a<this.data.length;a++ )(this.data[a].showInLeg end||"pie"===this.data[a ].type||"doughnut"===thi s.data[a].type)&&this.le gend.dataSeries.push(thi s.data[a]);this.legend.d ockInsidePlotArea?b.push (this.legend):this.legen d.render();if("normal"== =this.plotInfo.axisPlace ment||"xySwapped"===this .plotInfo.axisPlacement) C.setLayoutAndRender(thi s.axisX,this.axisY,this. axisY2,this.plotInfo.axi sPlacement,this.layoutMa nager.getFreeSpace()); e lse if("none"===this.plo tInfo.axisPlacement)this .preparePlotArea();else return;for(a=0;a<b.lengt h;a++)b[a].render();var d=[];if(this.animatedRen der){var e=V(this.width, this.height);e.getContex t("2d").drawImage(this.c anvas,0,0,this.width,thi s.height)}for(a=0;a<this .plotInfo.plotTypes.leng th;a++)for(b=this.plotIn fo.plotTypes[a],c=0;c<b. plotUnits.length;c++){va r f=b.plotUnits[c],g=nul l;f.targetCanvas=null;th is.animatedRender&&(f.ta rgetCanvas=V(this.width, this.height),f.targetCan vasCtx=f.targetCanvas.ge tContext("2d")); "line"= ==f.type?g=this.renderLi ne(f):"stepLine"===f.typ e?g=this.renderStepLine( f):"spline"===f.type?g=t his.renderSpline(f):"col umn"===f.type?g=this.ren derColumn(f):"bar"===f.t ype?g=this.renderBar(f): "area"===f.type?g=this.r enderArea(f):"stepArea"= ==f.type?g=this.renderSt epArea(f):"splineArea"== =f.type?g=this.renderSpl ineArea(f):"stackedColum n"===f.type?g=this.rende rStackedColumn(f):"stack edColumn100"===f.type?g= this.renderStackedColumn 100(f):"stackedBar"===f. type?g=this.renderStacke dBar(f):"stackedBar100"= == f.type?g=this.renderS tackedBar100(f):"stacked Area"===f.type?g=this.re nderStackedArea(f):"stac kedArea100"===f.type?g=t his.renderStackedArea100 (f):"bubble"===f.type?g= g=this.renderBubble(f):" scatter"===f.type?g=this .renderScatter(f):"pie"= ==f.type?this.renderPie( f):"doughnut"===f.type?t his.renderPie(f):"candle stick"===f.type?g=this.r enderCandlestick(f):"ohl c"===f.type?g=this.rende rCandlestick(f):"rangeCo lumn"===f.type?g=this.re nderRangeColumn(f):"rang eBar"===f.type?g=this.re nderRangeBar(f):"rangeAr ea"=== f.type?g=this.ren derRangeArea(f):"rangeSp lineArea"===f.type&&(g=t his.renderRangeSplineAre a(f));for(var k=0;k<f.da taSeriesIndexes.length;k ++)this._dataInRenderedO rder.push(this.data[f.da taSeriesIndexes[k]]);thi s.animatedRender&&g&&d.p ush(g)}this.animatedRend er&&0<this._indexLabels. length&&(a=V(this.width, this.height).getContext( "2d"),d.push(this.render IndexLabels(a)));var p=t his;0<d.length?(p.disabl eToolTip=!0,p._animator. animate(200,p.animationD uration,function(a){p.ct x.clearRect(0,0,p.width, p.height); p.ctx.drawIma ge(e,0,0,Math.floor(p.wi dth*J),Math.floor(p.heig ht*J),0,0,p.width,p.heig ht);for(var c=0;c<d.leng th;c++)g=d[c],1>a&&"unde fined"!==typeof g.startT imePercent?a>=g.startTim ePercent&&g.animationCal lback(g.easingFunction(a -g.startTimePercent,0,1, 1-g.startTimePercent),g) :g.animationCallback(g.e asingFunction(a,0,1,1),g );p.dispatchEvent("dataA nimationIterationEnd",{c hart:p})},function(){d=[ ];for(var a=0;a<p.plotIn fo.plotTypes.length;a++) for(var c=p.plotInfo.plo tTypes[a],b=0;b<c.plotUn its.length;b++)c.plotUni ts[b].targetCanvas= null ;e=null;p.disableToolTip =!1})):(0<p._indexLabels .length&&p.renderIndexLa bels(),p.dispatchEvent(" dataAnimationIterationEn d",{chart:p}));this.atta chPlotAreaEventHandlers( );this.zoomEnabled||(thi s.panEnabled||!this._zoo mButton||"none"===this._ zoomButton.style.display )||S(this._zoomButton,th is._resetButton);this._t oolTip._updateToolTip(); this.renderCount++};u.pr ototype.attachPlotAreaEv entHandlers=function(){t his.attachEvent({context :this,chart:this,mousedo wn:this._plotAreaMouseDo wn,mouseup:this._plotAre aMouseUp, mousemove:this ._plotAreaMouseMove,curs or:this.zoomEnabled?"col -resize":"move",cursor:t his.panEnabled?"move":"d efault",capture:!0,bound s:this.plotArea})};u.pro totype.categoriseDataSer ies=function(){for(var a ="",b=0;b<this.data.leng th;b++)if(a=this.data[b] ,a.dataPoints&&(0!==a.da taPoints.length&&a.visib le)&&0<=u._supportedChar tTypes.indexOf(a.type)){ for(var c=null,d=!1,e=nu ll,f=!1,g=0;g<this.plotI nfo.plotTypes.length;g++ )if(this.plotInfo.plotTy pes[g].type===a.type){d= !0;c=this.plotInfo.plotT ypes[g]; break}d||(c={ty pe:a.type,totalDataSerie s:0,plotUnits:[]},this.p lotInfo.plotTypes.push(c ));for(g=0;g<c.plotUnits .length;g++)if(c.plotUni ts[g].axisYType===a.axis YType){f=!0;e=c.plotUnit s[g];break}f||(e={type:a .type,previousDataSeries Count:0,index:c.plotUnit s.length,plotType:c,axis YType:a.axisYType,axisY: "primary"===a.axisYType? this.axisY:this.axisY2,a xisX:this.axisX,dataSeri esIndexes:[],yTotals:[]} ,c.plotUnits.push(e));c. totalDataSeries++;e.data SeriesIndexes.push(b);a. plotUnit=e}for(b=0;b<thi s.plotInfo.plotTypes.len gth;b++)for(c= this.plot Info.plotTypes[b],g=a=0; g<c.plotUnits.length;g++ )c.plotUnits[g].previous DataSeriesCount=a,a+=c.p lotUnits[g].dataSeriesIn dexes.length};u.prototyp e.assignIdToDataPoints=f unction(){for(var a=0;a< this.data.length;a++){va r b=this.data[a];if(b.da taPoints)for(var c=b.dat aPoints.length,d=0;d<c;d ++)b.dataPointIds[d]=++t his._eventManager.lastOb jectId}};u.prototype._pr ocessData=function(){thi s.assignIdToDataPoints() ;this.categoriseDataSeri es();for(var a=0;a<this. plotInfo.plotTypes.lengt h;a++)for(var b= this.pl otInfo.plotTypes[a],c=0; c<b.plotUnits.length;c++ ){var d=b.plotUnits[c];" line"===d.type||"stepLin e"===d.type||"spline"=== d.type||"column"===d.typ e||"area"===d.type||"ste pArea"===d.type||"spline Area"===d.type||"bar"=== d.type||"bubble"===d.typ e||"scatter"===d.type?th is._processMultiseriesPl otUnit(d):"stackedColumn "===d.type||"stackedBar" ===d.type||"stackedArea" ===d.type?this._processS tackedPlotUnit(d):"stack edColumn100"===d.type||" stackedBar100"===d.type| |"stackedArea100"===d.ty pe?this._processStacked1 00PlotUnit(d): "candlest ick"!==d.type&&"ohlc"!== d.type&&"rangeColumn"!== d.type&&"rangeBar"!==d.t ype&&"rangeArea"!==d.typ e&&"rangeSplineArea"!==d .type||this._processMult iYPlotUnit(d)}};u.protot ype._processMultiseriesP lotUnit=function(a){if(a .dataSeriesIndexes&&!(1> a.dataSeriesIndexes.leng th))for(var b=a.axisY.da taInfo,c=a.axisX.dataInf o,d,e,f=!1,g=0;g<a.dataS eriesIndexes.length;g++) {var k=this.data[a.dataS eriesIndexes[g]],p=0,h=! 1,l=!1;if("normal"===k.a xisPlacement||"xySwapped "===k.axisPlacement)var m=this.sessionVariables. axisX.newViewportMinimum ? this.sessionVariables. axisX.newViewportMinimum :this._options.axisX&&th is._options.axisX.viewpo rtMinimum?this._options. axisX.viewportMinimum:th is._options.axisX&&this. _options.axisX.minimum?t his._options.axisX.minim um:-Infinity,n=this.sess ionVariables.axisX.newVi ewportMaximum?this.sessi onVariables.axisX.newVie wportMaximum:this._optio ns.axisX&&this._options. axisX.viewportMaximum?th is._options.axisX.viewpo rtMaximum:this._options. axisX&&this._options.axi sX.maximum?this._options .axisX.maximum:Infinity; if(k.dataPoints[p].x&&k .dataPoints[p].x.getTime ||"dateTime"===k.xValueT ype)f=!0;for(p=0;p<k.dat aPoints.length;p++){"und efined"===typeof k.dataP oints[p].x&&(k.dataPoint s[p].x=p);k.dataPoints[p ].x.getTime?(f=!0,d=k.da taPoints[p].x.getTime()) :d=k.dataPoints[p].x;e=k .dataPoints[p].y;d<c.min &&(c.min=d);d>c.max&&(c. max=d);e<b.min&&(b.min=e );e>b.max&&(b.max=e);if( 0<p){var q=d-k.dataPoint s[p-1].x;0>q&&(q*=-1);c. minDiff>q&&0!==q&&(c.min Diff=q);null!==e&&null!= =k.dataPoints[p-1].y&&(q =e-k.dataPoints[p-1].y, 0>q&&(q*=-1),b.minDiff>q &&0!==q&&(b.minDiff=q))} if(!(d<m)||h){if(!h&&(h= !0,0<p)){p-=2;continue}i f(d>n&&!l)l=!0;else if(d >n&&l)continue;k.dataPoi nts[p].label&&(a.axisX.l abels[d]=k.dataPoints[p] .label);d<c.viewPortMin& &(c.viewPortMin=d);d>c.v iewPortMax&&(c.viewPortM ax=d);null!==e&&(e<b.vie wPortMin&&(b.viewPortMin =e),e>b.viewPortMax&&(b. viewPortMax=e))}}this.pl otInfo.axisXValueType=k. xValueType=f?"dateTime": "number"}};u.prototype._ processStackedPlotUnit=f unction(a){if(a.dataSeri esIndexes&&!(1>a.dataSer iesIndexes.length)){for( var b= a.axisY.dataInfo, c=a.axisX.dataInfo,d,e,f =!1,g=[],k=[],p=Infinity ,h=0;h<a.dataSeriesIndex es.length;h++){var l=thi s.data[a.dataSeriesIndex es[h]],m=0,n=!1,q=!1;if( "normal"===l.axisPlaceme nt||"xySwapped"===l.axis Placement)var r=this.ses sionVariables.axisX.newV iewportMinimum?this.sess ionVariables.axisX.newVi ewportMinimum:this._opti ons.axisX&&this._options .axisX.viewportMinimum?t his._options.axisX.viewp ortMinimum:this._options .axisX&&this._options.ax isX.minimum?this._option s.axisX.minimum:-Infinit y,s= this.sessionVariabl es.axisX.newViewportMaxi mum?this.sessionVariable s.axisX.newViewportMaxim um:this._options.axisX&& this._options.axisX.view portMaximum?this._option s.axisX.viewportMaximum: this._options.axisX&&thi s._options.axisX.maximum ?this._options.axisX.max imum:Infinity;if(l.dataP oints[m].x&&l.dataPoints [m].x.getTime||"dateTime "===l.xValueType)f=!0;fo r(m=0;m<l.dataPoints.len gth;m++){"undefined"===t ypeof l.dataPoints[m].x& &(l.dataPoints[m].x=m);l .dataPoints[m].x.getTime ?(f=!0,d=l.dataPoints[m] .x.getTime()): d=l.dataP oints[m].x;P(l.dataPoint s[m].y)?e=0:(e=l.dataPoi nts[m].y,0===h&&(p=Math. min(e,p)));d<c.min&&(c.m in=d);d>c.max&&(c.max=d) ;if(0<m){var w=d-l.dataP oints[m-1].x;0>w&&(w*=-1 );c.minDiff>w&&0!==w&&(c .minDiff=w);null!==e&&nu ll!==l.dataPoints[m-1].y &&(w=e-l.dataPoints[m-1] .y,0>w&&(w*=-1),b.minDif f>w&&0!==w&&(b.minDiff=w ))}if(!(d<r)||n){if(!n&& (n=!0,0<m)){m-=2;continu e}if(d>s&&!q)q=!0;else i f(d>s&&q)continue;l.data Points[m].label&&(a.axis X.labels[d]=l.dataPoints [m].label);d<c.viewPortM in&&(c.viewPortMin= d);d >c.viewPortMax&&(c.viewP ortMax=d);null!==e&&(a.y Totals[d]=(a.yTotals[d]? a.yTotals[d]:0)+Math.abs (e),0<=e?g[d]=g[d]?g[d]+ e:e:k[d]=k[d]?k[d]+e:e)} }this.plotInfo.axisXValu eType=l.xValueType=f?"da teTime":"number"}for(m i n g)g.hasOwnProperty(m)& &!isNaN(m)&&(a=g[m],a<b. min&&(b.min=Math.min(a,p )),a>b.max&&(b.max=a),m< c.viewPortMin||m>c.viewP ortMax||(a<b.viewPortMin &&(b.viewPortMin=Math.mi n(a,p)),a>b.viewPortMax& &(b.viewPortMax=a)));for (m in k)k.hasOwnProperty (m)&&!isNaN(m)&&(a=k[m], a<b.min&&(b.min=Math.min (a, p)),a>b.max&&(b.max= a),m<c.viewPortMin||m>c. viewPortMax||(a<b.viewPo rtMin&&(b.viewPortMin=Ma th.min(a,p)),a>b.viewPor tMax&&(b.viewPortMax=a)) )}};u.prototype._process Stacked100PlotUnit=funct ion(a){if(a.dataSeriesIn dexes&&!(1>a.dataSeriesI ndexes.length)){for(var b=a.axisY.dataInfo,c=a.a xisX.dataInfo,d,e,f=!1,g =!1,k=!1,p=[],h=0;h<a.da taSeriesIndexes.length;h ++){var l=this.data[a.da taSeriesIndexes[h]],m=0, n=!1,q=!1;if("normal"=== l.axisPlacement||"xySwap ped"===l.axisPlacement)v ar r=this.sessionVariabl es.axisX.newViewportMini mum? this.sessionVariabl es.axisX.newViewportMini mum:this._options.axisX& &this._options.axisX.vie wportMinimum?this._optio ns.axisX.viewportMinimum :this._options.axisX&&th is._options.axisX.minimu m?this._options.axisX.mi nimum:-Infinity,s=this.s essionVariables.axisX.ne wViewportMaximum?this.se ssionVariables.axisX.new ViewportMaximum:this._op tions.axisX&&this._optio ns.axisX.viewportMaximum ?this._options.axisX.vie wportMaximum:this._optio ns.axisX&&this._options. axisX.maximum?this._opti ons.axisX.maximum:Infini ty; if(l.dataPoints[m].x &&l.dataPoints[m].x.getT ime||"dateTime"===l.xVal ueType)f=!0;for(m=0;m<l. dataPoints.length;m++){" undefined"===typeof l.da taPoints[m].x&&(l.dataPo ints[m].x=m);l.dataPoint s[m].x.getTime?(f=!0,d=l .dataPoints[m].x.getTime ()):d=l.dataPoints[m].x; e=P(l.dataPoints[m].y)?n ull:l.dataPoints[m].y;d< c.min&&(c.min=d);d>c.max &&(c.max=d);if(0<m){var w=d-l.dataPoints[m-1].x; 0>w&&(w*=-1);c.minDiff>w &&0!==w&&(c.minDiff=w);P (e)||null===l.dataPoints [m-1].y||(w=e-l.dataPoin ts[m-1].y,0>w&&(w*=-1),b .minDiff> w&&0!==w&&(b.m inDiff=w))}if(!(d<r)||n) {if(!n&&(n=!0,0<m)){m-=2 ;continue}if(d>s&&!q)q=! 0;else if(d>s&&q)continu e;l.dataPoints[m].label& &(a.axisX.labels[d]=l.da taPoints[m].label);d<c.v iewPortMin&&(c.viewPortM in=d);d>c.viewPortMax&&( c.viewPortMax=d);null!== e&&(a.yTotals[d]=(a.yTot als[d]?a.yTotals[d]:0)+M ath.abs(e),0<=e?g=!0:0>e &&(k=!0),p[d]=p[d]?p[d]+ Math.abs(e):Math.abs(e)) }}this.plotInfo.axisXVal ueType=l.xValueType=f?"d ateTime":"number"}g&&!k? (b.max=P(b.viewPortMax)? 99:Math.max(b.viewPortMa x,99),b.min= P(b.viewPor tMin)?1:Math.min(b.viewP ortMin,1)):g&&k?(b.max=P (b.viewPortMax)?99:Math. max(b.viewPortMax,99),b. min=P(b.viewPortMin)?-99 :Math.min(b.viewPortMin, -99)):!g&&k&&(b.max=P(b. viewPortMax)?-1:Math.max (b.viewPortMax,-1),b.min =P(b.viewPortMin)?-99:Ma th.min(b.viewPortMin,-99 ));b.viewPortMin=b.min;b .viewPortMax=b.max;a.dat aPointYSums=p}};u.protot ype._processMultiYPlotUn it=function(a){if(a.data SeriesIndexes&&!(1>a.dat aSeriesIndexes.length))f or(var b=a.axisY.dataInf o,c=a.axisX.dataInfo,d,e ,f,g,k=!1, p=0;p<a.dataS eriesIndexes.length;p++) {var h=this.data[a.dataS eriesIndexes[p]],l=0,m=! 1,n=!1;if("normal"===h.a xisPlacement||"xySwapped "===h.axisPlacement)var q=this.sessionVariables. axisX.newViewportMinimum ?this.sessionVariables.a xisX.newViewportMinimum: this._options.axisX&&thi s._options.axisX.viewpor tMinimum?this._options.a xisX.viewportMinimum:thi s._options.axisX&&this._ options.axisX.minimum?th is._options.axisX.minimu m:-Infinity,r=this.sessi onVariables.axisX.newVie wportMaximum?this.sessio nVariables.axisX.newView portMaximum: this._optio ns.axisX&&this._options. axisX.viewportMaximum?th is._options.axisX.viewpo rtMaximum:this._options. axisX&&this._options.axi sX.maximum?this._options .axisX.maximum:Infinity; if(h.dataPoints[l].x&&h. dataPoints[l].x.getTime| |"dateTime"===h.xValueTy pe)k=!0;for(l=0;l<h.data Points.length;l++){"unde fined"===typeof h.dataPo ints[l].x&&(h.dataPoints [l].x=l);h.dataPoints[l] .x.getTime?(k=!0,d=h.dat aPoints[l].x.getTime()): d=h.dataPoints[l].x;(e=h .dataPoints[l].y)&&e.len gth&&(f=Math.min.apply(n ull,e),g=Math.max.apply( null, e));d<c.min&&(c.mi n=d);d>c.max&&(c.max=d); f<b.min&&(b.min=f);g>b.m ax&&(b.max=g);if(0<l){va r s=d-h.dataPoints[l-1]. x;0>s&&(s*=-1);c.minDiff >s&&0!==s&&(c.minDiff=s) ;null!==e[0]&&null!==h.d ataPoints[l-1].y[0]&&(s= e[0]-h.dataPoints[l-1].y [0],0>s&&(s*=-1),b.minDi ff>s&&0!==s&&(b.minDiff= s))}if(!(d<q)||m){if(!m& &(m=!0,0<l)){l-=2;contin ue}if(d>r&&!n)n=!0;else if(d>r&&n)continue;h.dat aPoints[l].label&&(a.axi sX.labels[d]=h.dataPoint s[l].label);d<c.viewPort Min&&(c.viewPortMin=d);d >c.viewPortMax&&(c.viewP ortMax= d);null!==e&&(f< b.viewPortMin&&(b.viewPo rtMin=f),g>b.viewPortMax &&(b.viewPortMax=g))}}th is.plotInfo.axisXValueTy pe=h.xValueType=k?"dateT ime":"number"}};u.protot ype.getDataPointAtXY=fun ction(a,b,c){c=c||!1;for (var d=[],e=this._dataIn RenderedOrder.length-1;0 <=e;e--){var f=null;(f=t his._dataInRenderedOrder [e].getDataPointAtXY(a,b ,c))&&d.push(f)}a=null;b =!1;for(c=0;c<d.length;c ++)if("line"===d[c].data Series.type||"stepLine"= ==d[c].dataSeries.type|| "area"===d[c].dataSeries .type||"stepArea"===d[c] .dataSeries.type)if(e= N ("markerSize",d[c].dataP oint,d[c].dataSeries)||8 ,d[c].distance<=e/2){b=! 0;break}for(c=0;c<d.leng th;c++)b&&"line"!==d[c]. dataSeries.type&&"stepLi ne"!==d[c].dataSeries.ty pe&&"area"!==d[c].dataSe ries.type&&"stepArea"!== d[c].dataSeries.type||(a ?d[c].distance<=a.distan ce&&(a=d[c]):a=d[c]);ret urn a};u.prototype.getOb jectAtXY=function(a,b,c) {var d=null;if(c=this.ge tDataPointAtXY(a,b,c||!1 ))d=c.dataSeries.dataPoi ntIds[c.dataPointIndex]; else if(t)d=xa(a,b,this. _eventManager.ghostCtx); else for(c=0;c<this.lege nd.items.length;c++){var e= this.legend.items[c] ;a>=e.x1&&(a<=e.x2&&b>=e .y1&&b<=e.y2)&&(d=e.id)} return d};u.prototype.ge tAutoFontSize=function(a ,b,c){a/=400;return Math .round(Math.min(this.wid th,this.height)*a)};u.pr ototype.resetOverlayedCa nvas=function(){this.ove rlaidCanvasCtx.clearRect (0,0,this.width,this.hei ght)};u.prototype.clearC anvas=function(){this.ct x.clearRect(0,0,this.wid th,this.height);this.bac kgroundColor&&(this.ctx. fillStyle=this.backgroun dColor,this.ctx.fillRect (0,0,this.width,this.hei ght))};u.prototype.attac hEvent= function(a){this ._events.push(a)};u.prot otype._touchEventHandler =function(a){if(a.change dTouches&&this.interacti vityEnabled){var b=[],c= a.changedTouches,d=c?c[0 ]:a,e=null;switch(a.type ){case "touchstart":case "MSPointerDown":b=["mou semove","mousedown"];thi s._lastTouchData=na(d);t his._lastTouchData.time= new Date;break;case "tou chmove":case "MSPointerM ove":b=["mousemove"];bre ak;case "touchend":case "MSPointerUp":b="touchst art"===this._lastTouchEv entType||"MSPointerDown" ===this._lastTouchEventT ype?["mouseup", "click"] :["mouseup"];break;defau lt:return}if(!(c&&1<c.le ngth)){e=na(d);e.time=ne w Date;try{var f=e.y-thi s._lastTouchData.y,g=e.t ime-this._lastTouchData. time;if(15<Math.abs(f)&& (this._lastTouchData.scr oll||200>g)){this._lastT ouchData.scroll=!0;var k =window.parent||window;k &&k.scrollBy&&k.scrollBy (0,-f)}}catch(p){}this._ lastTouchEventType=a.typ e;if(this._lastTouchData .scroll&&this.zoomEnable d)this.isDrag&&this.rese tOverlayedCanvas(),this. isDrag=!1;else for(c=0;c <b.length;c++)e=b[c],f=d ocument.createEvent("Mou seEvent"), f.initMouseEv ent(e,!0,!0,window,1,d.s creenX,d.screenY,d.clien tX,d.clientY,!1,!1,!1,!1 ,0,null),d.target.dispat chEvent(f),a.preventMani pulation&&a.preventManip ulation(),a.preventDefau lt&&a.preventDefault()}} };u.prototype._dispatchR angeEvent=function(a,b){ var c={};c.chart=this._p ublicChartReference;c.ty pe=a;c.trigger=b;var d=[ ];this.axisX&&d.push("ax isX");this.axisY&&d.push ("axisY");this.axisY2&&d .push("axisY2");for(var e=0;e<d.length;e++)c[d[e ]]={viewportMinimum:this [d[e]].sessionVariables. newViewportMinimum, view portMaximum:this[d[e]].s essionVariables.newViewp ortMaximum};this.dispatc hEvent(a,c,this._publicC hartReference)};u.protot ype._mouseEventHandler=f unction(a){if(this.inter activityEnabled)if(this. _ignoreNextEvent)this._i gnoreNextEvent=!1;else{a .preventManipulation&&a. preventManipulation();a. preventDefault&&a.preven tDefault();"undefined"== =typeof a.target&&a.srcE lement&&(a.target=a.srcE lement);var b=na(a),c=a. type,d,e;a.which?e=3==a. which:a.button&&(e=2==a. button);if(!e){if(u.capt uredEventParam)d= u.capt uredEventParam,"mouseup" ===c&&(u.capturedEventPa ram=null,d.chart.overlai dCanvas.releaseCapture?d .chart.overlaidCanvas.re leaseCapture():document. body.removeEventListener ("mouseup",d.chart._mous eEventHandler,!1)),d.has OwnProperty(c)&&d[c].cal l(d.context,b.x,b.y);els e if(this._events){for(e =0;e<this._events.length ;e++)if(this._events[e]. hasOwnProperty(c)){d=thi s._events[e];var f=d.bou nds;if(b.x>=f.x1&&b.x<=f .x2&&b.y>=f.y1&&b.y<=f.y 2){d[c].call(d.context,b .x,b.y);"mousedown"===c& &!0===d.capture? (u.capt uredEventParam=d,this.ov erlaidCanvas.setCapture? this.overlaidCanvas.setC apture():document.body.a ddEventListener("mouseup ",this._mouseEventHandle r,!1)):"mouseup"===c&&(d .chart.overlaidCanvas.re leaseCapture?d.chart.ove rlaidCanvas.releaseCaptu re():document.body.remov eEventListener("mouseup" ,this._mouseEventHandler ,!1));break}else d=null} a.target.style.cursor=d& &d.cursor?d.cursor:this. _defaultCursor}this._too lTip&&this._toolTip.enab led&&(c=this.plotArea,(b .x<c.x1||b.x>c.x2||b.y<c .y1||b.y>c.y2)&& this._t oolTip.hide());this.isDr ag&&this.zoomEnabled||!t his._eventManager||this. _eventManager.mouseEvent Handler(a)}}};u.prototyp e._plotAreaMouseDown=fun ction(a,b){this.isDrag=! 0;this.dragStartPoint={x :a,y:b}};u.prototype._pl otAreaMouseUp=function(a ,b){if(("normal"===this. plotInfo.axisPlacement|| "xySwapped"===this.plotI nfo.axisPlacement)&&this .isDrag){var c=b-this.dr agStartPoint.y,d=a-this. dragStartPoint.x,e=0<=th is.zoomType.indexOf("x") ,f=0<=this.zoomType.inde xOf("y"),g=!1;this.reset OverlayedCanvas(); if("x ySwapped"===this.plotInf o.axisPlacement)var k=f, f=e,e=k;if(this.panEnabl ed||this.zoomEnabled){if (this.panEnabled)for(e=f =0;e<this._axes.length;e ++)c=this._axes[e],c.vie wportMinimum<c.minimum?( f=c.minimum-c.viewportMi nimum,c.sessionVariables .newViewportMinimum=c.vi ewportMinimum+f,c.sessio nVariables.newViewportMa ximum=c.viewportMaximum+ f,g=!0):c.viewportMaximu m>c.maximum&&(f=c.viewpo rtMaximum-c.maximum,c.se ssionVariables.newViewpo rtMinimum=c.viewportMini mum-f,c.sessionVariables .newViewportMaximum= c.v iewportMaximum-f,g=!0);e lse if((!e||2<Math.abs(d ))&&(!f||2<Math.abs(c))& &this.zoomEnabled){if(!t his.dragStartPoint)retur n;c=e?this.dragStartPoin t.x:this.plotArea.x1;d=f ?this.dragStartPoint.y:t his.plotArea.y1;e=e?a:th is.plotArea.x2;f=f?b:thi s.plotArea.y2;2<Math.abs (c-e)&&2<Math.abs(d-f)&& this._zoomPanToSelectedR egion(c,d,e,f)&&(g=!0)}g &&(this._ignoreNextEvent =!0,this._dispatchRangeE vent("rangeChanging","zo om"),this.render(),this. _dispatchRangeEvent("ran geChanged","zoom"),g&&(t his.zoomEnabled&&"none"= == this._zoomButton.styl e.display)&&(ha(this._zo omButton,this._resetButt on),Q(this,this._zoomBut ton,"pan"),Q(this,this._ resetButton,"reset")))}} this.isDrag=!1};u.protot ype._plotAreaMouseMove=f unction(a,b){if(this.isD rag&&"none"!==this.plotI nfo.axisPlacement){var c =0,d=0,e=c=null,e=0<=thi s.zoomType.indexOf("x"), f=0<=this.zoomType.index Of("y");"xySwapped"===th is.plotInfo.axisPlacemen t&&(c=f,f=e,e=c);c=this. dragStartPoint.x-a;d=thi s.dragStartPoint.y-b;2<M ath.abs(c)&&8>Math.abs(c )&&(this.panEnabled||thi s.zoomEnabled)? this._to olTip.hide():this.panEna bled||this.zoomEnabled|| this._toolTip.mouseMoveH andler(a,b);(!e||2<Math. abs(c)||!f||2<Math.abs(d ))&&(this.panEnabled||th is.zoomEnabled)&&(this.p anEnabled?(e={x1:e?this. plotArea.x1+c:this.plotA rea.x1,y1:f?this.plotAre a.y1+d:this.plotArea.y1, x2:e?this.plotArea.x2+c: this.plotArea.x2,y2:f?th is.plotArea.y2+d:this.pl otArea.y2},this._zoomPan ToSelectedRegion(e.x1,e. y1,e.x2,e.y2,!0)&&(this. _dispatchRangeEvent("ran geChanging","pan"),this. render(),this._dispatchR angeEvent("rangeChanged" , "pan"),this.dragStartP oint.x=a,this.dragStartP oint.y=b)):this.zoomEnab led&&(this.resetOverlaye dCanvas(),c=this.overlai dCanvasCtx.globalAlpha,t his.overlaidCanvasCtx.gl obalAlpha=0.7,this.overl aidCanvasCtx.fillStyle=" #A0ABB8",this.overlaidCa nvasCtx.fillRect(e?this. dragStartPoint.x:this.pl otArea.x1,f?this.dragSta rtPoint.y:this.plotArea. y1,e?a-this.dragStartPoi nt.x:this.plotArea.x2-th is.plotArea.x1,f?b-this. dragStartPoint.y:this.pl otArea.y2-this.plotArea. y1),this.overlaidCanvasC tx.globalAlpha=c))}else this._toolTip.mouseMoveH andler(a, b)};u.prototyp e._zoomPanToSelectedRegi on=function(a,b,c,d,e){e =e||!1;var f=0<=this.zoo mType.indexOf("x"),g=0<= this.zoomType.indexOf("y "),k=!1,p=[],h=[];this.a xisX&&f&&p.push(this.axi sX);this.axisY&&g&&p.pus h(this.axisY);this.axisY 2&&g&&p.push(this.axisY2 );f=[];for(g=0;g<p.lengt h;g++){var l=p[g],m=l.co nvertPixelToValue({x:a,y :b}),n=l.convertPixelToV alue({x:c,y:d});if(m>n)v ar q=n,n=m,m=q;if(isFini te(l.dataInfo.minDiff))i f(!(Math.abs(n-m)<3*Math .abs(l.dataInfo.minDiff) ||m<l.minimum||n>l.maxim um))h.push(l), f.push({v al1:m,val2:n}),k=!0;else if(!e){k=!1;break}}if(k )for(g=0;g<h.length;g++) l=h[g],a=f[g],l.setViewP ortRange(a.val1,a.val2); return k};u.prototype.pr eparePlotArea=function() {var a=this.plotArea,b=t his.axisY?this.axisY:thi s.axisY2;!t&&(0<a.x1||0< a.y1)&&a.ctx.translate(a .x1,a.y1);this.axisX&&b? (a.x1=this.axisX.lineCoo rdinates.x1<this.axisX.l ineCoordinates.x2?this.a xisX.lineCoordinates.x1: b.lineCoordinates.x1,a.y 1=this.axisX.lineCoordin ates.y1<b.lineCoordinate s.y1?this.axisX.lineCoor dinates.y1:b.lineCoordin ates.y1, a.x2=this.axisX .lineCoordinates.x2>b.li neCoordinates.x2?this.ax isX.lineCoordinates.x2:b .lineCoordinates.x2,a.y2 =this.axisX.lineCoordina tes.y2>this.axisX.lineCo ordinates.y1?this.axisX. lineCoordinates.y2:b.lin eCoordinates.y2,a.width= a.x2-a.x1,a.height=a.y2- a.y1):(b=this.layoutMana ger.getFreeSpace(),a.x1= b.x1,a.x2=b.x2,a.y1=b.y1 ,a.y2=b.y2,a.width=b.wid th,a.height=b.height);t| |(a.canvas.width=a.width ,a.canvas.height=a.heigh t,a.canvas.style.left=a. x1+"px",a.canvas.style.t op=a.y1+"px",(0<a.x1||0< a.y1)&& a.ctx.translate( -a.x1,-a.y1));a.layoutMa nager=new Z(a.x1,a.y1,a. x2,a.y2,2)};u.prototype. getPixelCoordinatesOnPlo tArea=function(a,b){retu rn{x:this.axisX.getPixel CoordinatesOnAxis(a).x,y :this.axisY.getPixelCoor dinatesOnAxis(b).y}};u.p rototype.renderIndexLabe ls=function(a){a=a||this .plotArea.ctx;for(var b= this.plotArea,c=0,d=0,e= 0,f=0,g=0,k=d=f=e=0,p=0; p<this._indexLabels.leng th;p++){var h=this._inde xLabels[p],g=h.chartType .toLowerCase(),l,m,n=N(" indexLabelFontColor",h.d ataPoint,h.dataSeries),k =N("indexLabelFontSize", h.dataPoint,h.dataSerie s);l=N("indexLabelFontFa mily",h.dataPoint,h.data Series);m=N("indexLabelF ontStyle",h.dataPoint,h. dataSeries);var f=N("ind exLabelFontWeight",h.dat aPoint,h.dataSeries),d=N ("indexLabelBackgroundCo lor",h.dataPoint,h.dataS eries),e=N("indexLabelMa xWidth",h.dataPoint,h.da taSeries),q=N("indexLabe lWrap",h.dataPoint,h.dat aSeries),r={percent:null ,total:null},s=null;if(0 <=h.dataSeries.type.inde xOf("stacked")||"pie"=== h.dataSeries.type||"doug hnut"===h.dataSeries.typ e)r=this.getPercentAndTo tal(h.dataSeries, h.data Point);if(h.dataSeries.i ndexLabelFormatter||h.da taPoint.indexLabelFormat ter)s={chart:this._publi cChartReference,dataSeri es:h.dataSeries,dataPoin t:h.dataPoint,index:h.in dexKeyword,total:r.total ,percent:r.percent};var w=h.dataPoint.indexLabel Formatter?h.dataPoint.in dexLabelFormatter(s):h.d ataPoint.indexLabel?this .replaceKeywordsWithValu e(h.dataPoint.indexLabel ,h.dataPoint,h.dataSerie s,null,h.indexKeyword):h .dataSeries.indexLabelFo rmatter?h.dataSeries.ind exLabelFormatter(s):h.da taSeries.indexLabel? thi s.replaceKeywordsWithVal ue(h.dataSeries.indexLab el,h.dataPoint,h.dataSer ies,null,h.indexKeyword) :null;if(null!==w&&""!== w){var c=N("indexLabelPl acement",h.dataPoint,h.d ataSeries),r=N("indexLab elOrientation",h.dataPoi nt,h.dataSeries),s=h.dir ection,v=h.dataSeries.ax isX,x=h.dataSeries.axisY ,n=new H(a,{x:0,y:0,maxW idth:e?e:0.5*this.width, maxHeight:q?5*k:1.5*k,an gle:"horizontal"===r?0:- 90,text:w,padding:0,back groundColor:d,horizontal Align:"left",fontSize:k, fontFamily:l,fontWeight: f,fontColor:n,fontStyle: m, textBaseline:"top"}); n.measureText();if(0<=g. indexOf("line")||0<=g.in dexOf("area")||0<=g.inde xOf("bubble")||0<=g.inde xOf("scatter")){if(h.dat aPoint.x<v.viewportMinim um||h.dataPoint.x>v.view portMaximum||h.dataPoint .y<x.viewportMinimum||h. dataPoint.y>x.viewportMa ximum)continue}else if(0 <=g.indexOf("column")){i f(h.dataPoint.x<v.viewpo rtMinimum||h.dataPoint.x >v.viewportMaximum||h.bo unds.y1>b.y2||h.bounds.y 2<b.y1)continue}else if( 0<=g.indexOf("bar")){if( h.dataPoint.x<v.viewport Minimum||h.dataPoint.x>v .viewportMaximum|| h.bou nds.x1>b.x2||h.bounds.x2 <b.x1)continue}else if(h .dataPoint.x<v.viewportM inimum||h.dataPoint.x>v. viewportMaximum)continue ;e=f=2;"horizontal"===r? (d=n.width,k=n.height):( k=n.width,d=n.height);if ("normal"===this.plotInf o.axisPlacement){if(0<=g .indexOf("line")||0<=g.i ndexOf("area"))c="auto", f=4;else if(0<=g.indexOf ("stacked"))"auto"===c&& (c="inside");else if("bu bble"===g||"scatter"===g )c="inside";l=h.point.x- d/2;"inside"!==c?(d=b.y1 ,e=b.y2,0<s?(m=h.point.y -k-f,m<d&&(m="auto"===c? Math.max(h.point.y, d)+f :d+f)):(m=h.point.y+f,m> e-k-f&&(m="auto"===c?Mat h.min(h.point.y,e)-k-f:e -k-f))):(d=Math.max(h.bo unds.y1,b.y1),e=Math.min (h.bounds.y2,b.y2),c=0<= g.indexOf("range")?0<s?M ath.max(h.bounds.y1,b.y1 )+k/2+f:Math.min(h.bound s.y2,b.y2)-k/2-f:(Math.m ax(h.bounds.y1,b.y1)+Mat h.min(h.bounds.y2,b.y2)) /2,0<s?(m=Math.max(h.poi nt.y,c)-k/2,m<d&&("bubbl e"===g||"scatter"===g)&& (m=Math.max(h.point.y-k- f,b.y1+f))):(m=Math.min( h.point.y,c)-k/2,m>e-k-f &&("bubble"===g||"scatte r"===g)&&(m=Math.min(h.p oint.y+f,b.y2-k-f))), m= Math.min(m,e-k))}else 0< =g.indexOf("line")||0<=g .indexOf("area")||0<=g.i ndexOf("scatter")?(c="au to",e=4):0<=g.indexOf("s tacked")?"auto"===c&&(c= "inside"):"bubble"===g&& (c="inside"),m=h.point.y -k/2,"inside"!==c?(f=b.x 1,g=b.x2,0>s?(l=h.point. x-d-e,l<f&&(l="auto"===c ?Math.max(h.point.x,f)+e :f+e)):(l=h.point.x+e,l> g-d-e&&(l="auto"===c?Mat h.min(h.point.x,g)-d-e:g -d-e))):(f=Math.max(h.bo unds.x1,b.x1),Math.min(h .bounds.x2,b.x2),c=0<=g. indexOf("range")?0>s?Mat h.max(h.bounds.x1,b.x1)+ d/2+e:Math.min(h.bounds. x2, b.x2)-d/2-e:(Math.ma x(h.bounds.x1,b.x1)+Math .min(h.bounds.x2,b.x2))/ 2,l=0>s?Math.max(h.point .x,c)-d/2:Math.min(h.poi nt.x,c)-d/2,l=Math.max(l ,f));"vertical"===r&&(m+ =k);n.x=l;n.y=m;n.render (!0)}}return{source:a,de st:this.plotArea.ctx,ani mationCallback:A.fadeInA nimation,easingFunction: A.easing.easeInQuad,anim ationBase:0,startTimePer cent:0.7}};u.prototype.r enderLine=function(a){va r b=a.targetCanvasCtx||t his.plotArea.ctx;if(!(0> =a.dataSeriesIndexes.len gth)){var c=this._eventM anager.ghostCtx;b.save() ; var d=this.plotArea;b. beginPath();b.rect(d.x1, d.y1,d.width,d.height);b .clip();for(var d=[],e=0 ;e<a.dataSeriesIndexes.l ength;e++){var f=a.dataS eriesIndexes[e],g=this.d ata[f];b.lineWidth=g.lin eThickness;var k=g.dataP oints;b.setLineDash&&b.s etLineDash(M(g.lineDashT ype,g.lineThickness));va r p=g.id;this._eventMana ger.objectMap[p]={object Type:"dataSeries",dataSe riesIndex:f};p=B(p);c.st rokeStyle=p;c.lineWidth= 0<g.lineThickness?Math.m ax(g.lineThickness,4):0; p=g._colorSet[0];b.strok eStyle=p;var h=!0,l=0,m, n;b.beginPath();if(0<k. length){for(var q=!1,l=0 ;l<k.length;l++)if(m=k[l ].x.getTime?k[l].x.getTi me():k[l].x,!(m<a.axisX. dataInfo.viewPortMin||m> a.axisX.dataInfo.viewPor tMax))if("number"!==type of k[l].y)0<l&&(b.stroke (),t&&c.stroke()),q=!0;e lse{m=a.axisX.conversion Parameters.reference+a.a xisX.conversionParameter s.pixelPerUnit*(m-a.axis X.conversionParameters.m inimum)+0.5<<0;n=a.axisY .conversionParameters.re ference+a.axisY.conversi onParameters.pixelPerUni t*(k[l].y-a.axisY.conver sionParameters.minimum)+ 0.5<<0;var r=g.dataPoin tIds[l];this._eventManag er.objectMap[r]={id:r,ob jectType:"dataPoint",dat aSeriesIndex:f,dataPoint Index:l,x1:m,y1:n};h||q? (b.beginPath(),b.moveTo( m,n),t&&(c.beginPath(),c .moveTo(m,n)),q=h=!1):(b .lineTo(m,n),t&&c.lineTo (m,n),0==l%500&&(b.strok e(),b.beginPath(),b.move To(m,n),t&&(c.stroke(),c .beginPath(),c.moveTo(m, n))));if(0<k[l].markerSi ze||0<g.markerSize){var s=g.getMarkerProperties( l,m,n,b);d.push(s);r=B(r );t&&d.push({x:m,y:n,ctx :c,type:s.type,size:s.si ze,color:r,borderColor:r , borderThickness:s.bord erThickness})}(k[l].inde xLabel||g.indexLabel||k[ l].indexLabelFormatter|| g.indexLabelFormatter)&& this._indexLabels.push({ chartType:"line",dataPoi nt:k[l],dataSeries:g,poi nt:{x:m,y:n},direction:0 <=k[l].y?1:-1,color:p})} b.stroke();t&&c.stroke() }}K.drawMarkers(d);b.res tore();b.beginPath();t&& c.beginPath();return{sou rce:b,dest:this.plotArea .ctx,animationCallback:A .xClipAnimation,easingFu nction:A.easing.linear,a nimationBase:0}}};u.prot otype.renderStepLine=fun ction(a){var b=a.targetC anvasCtx|| this.plotArea .ctx;if(!(0>=a.dataSerie sIndexes.length)){var c= this._eventManager.ghost Ctx;b.save();var d=this. plotArea;b.beginPath();b .rect(d.x1,d.y1,d.width, d.height);b.clip();for(v ar d=[],e=0;e<a.dataSeri esIndexes.length;e++){va r f=a.dataSeriesIndexes[ e],g=this.data[f];b.line Width=g.lineThickness;va r k=g.dataPoints;b.setLi neDash&&b.setLineDash(M( g.lineDashType,g.lineThi ckness));var p=g.id;this ._eventManager.objectMap [p]={objectType:"dataSer ies",dataSeriesIndex:f}; p=B(p);c.strokeStyle=p;c .lineWidth= 0<g.lineThic kness?Math.max(g.lineThi ckness,4):0;p=g._colorSe t[0];b.strokeStyle=p;var h=!0,l=0,m,n;b.beginPat h();if(0<k.length){for(v ar q=!1,l=0;l<k.length;l ++)if(m=k[l].getTime?k[l ].x.getTime():k[l].x,!(m <a.axisX.dataInfo.viewPo rtMin||m>a.axisX.dataInf o.viewPortMax))if("numbe r"!==typeof k[l].y)0<l&& (b.stroke(),t&&c.stroke( )),q=!0;else{var r=n;m=a .axisX.conversionParamet ers.reference+a.axisX.co nversionParameters.pixel PerUnit*(m-a.axisX.conve rsionParameters.minimum) +0.5<<0;n=a.axisY.conver sionParameters.reference + a.axisY.conversionPara meters.pixelPerUnit*(k[l ].y-a.axisY.conversionPa rameters.minimum)+0.5<<0 ;var s=g.dataPointIds[l] ;this._eventManager.obje ctMap[s]={id:s,objectTyp e:"dataPoint",dataSeries Index:f,dataPointIndex:l ,x1:m,y1:n};h||q?(b.begi nPath(),b.moveTo(m,n),t& &(c.beginPath(),c.moveTo (m,n)),q=h=!1):(b.lineTo (m,r),t&&c.lineTo(m,r),b .lineTo(m,n),t&&c.lineTo (m,n),0==l%500&&(b.strok e(),b.beginPath(),b.move To(m,n),t&&(c.stroke(),c .beginPath(),c.moveTo(m, n))));if(0<k[l].markerSi ze||0<g.markerSize)r=g.g etMarkerProperties(l, m, n,b),d.push(r),s=B(s),t& &d.push({x:m,y:n,ctx:c,t ype:r.type,size:r.size,c olor:s,borderColor:s,bor derThickness:r.borderThi ckness});(k[l].indexLabe l||g.indexLabel||k[l].in dexLabelFormatter||g.ind exLabelFormatter)&&this. _indexLabels.push({chart Type:"stepLine",dataPoin t:k[l],dataSeries:g,poin t:{x:m,y:n},direction:0< =k[l].y?1:-1,color:p})}b .stroke();t&&c.stroke()} }K.drawMarkers(d);b.rest ore();b.beginPath();t&&c .beginPath();return{sour ce:b,dest:this.plotArea. ctx,animationCallback:A. xClipAnimation,easingFun ction:A.easing.linear, a nimationBase:0}}};u.prot otype.renderSpline=funct ion(a){function b(a){a=i a(a,2);if(0<a.length){c. beginPath();t&&d.beginPa th();c.moveTo(a[0].x,a[0 ].y);t&&d.moveTo(a[0].x, a[0].y);for(var b=0;b<a. length-3;b+=3)c.bezierCu rveTo(a[b+1].x,a[b+1].y, a[b+2].x,a[b+2].y,a[b+3] .x,a[b+3].y),t&&d.bezier CurveTo(a[b+1].x,a[b+1]. y,a[b+2].x,a[b+2].y,a[b+ 3].x,a[b+3].y),0<b&&0=== b%3E3&&(c.stroke(),c.beg inPath(),c.moveTo(a[b+3] .x,a[b+3].y),t&&(d.strok e(),d.beginPath(),d.move To(a[b+3].x,a[b+3].y))); c.stroke();t&&d.stroke() }} var c=a.targetCanvasC tx||this.plotArea.ctx;if (!(0>=a.dataSeriesIndexe s.length)){var d=this._e ventManager.ghostCtx;c.s ave();var e=this.plotAre a;c.beginPath();c.rect(e .x1,e.y1,e.width,e.heigh t);c.clip();for(var e=[] ,f=0;f<a.dataSeriesIndex es.length;f++){var g=a.d ataSeriesIndexes[f],k=th is.data[g];c.lineWidth=k .lineThickness;var p=k.d ataPoints;c.setLineDash& &c.setLineDash(M(k.lineD ashType,k.lineThickness) );var h=k.id;this._event Manager.objectMap[h]={ob jectType:"dataSeries",da taSeriesIndex:g};h=B(h); d.strokeStyle=h;d.lineW idth=0<k.lineThickness?M ath.max(k.lineThickness, 4):0;h=k._colorSet[0];c. strokeStyle=h;var l=0,m, n,q=[];c.beginPath();if( 0<p.length)for(l=0;l<p.l ength;l++)if(m=p[l].getT ime?p[l].x.getTime():p[l ].x,!(m<a.axisX.dataInfo .viewPortMin||m>a.axisX. dataInfo.viewPortMax))if ("number"!==typeof p[l]. y)0<l&&(b(q),q=[]);else{ m=a.axisX.conversionPara meters.reference+a.axisX .conversionParameters.pi xelPerUnit*(m-a.axisX.co nversionParameters.minim um)+0.5<<0;n=a.axisY.con versionParameters.refere nce+ a.axisY.conversionP arameters.pixelPerUnit*( p[l].y-a.axisY.conversio nParameters.minimum)+0.5 <<0;var r=k.dataPointIds [l];this._eventManager.o bjectMap[r]={id:r,object Type:"dataPoint",dataSer iesIndex:g,dataPointInde x:l,x1:m,y1:n};q[q.lengt h]={x:m,y:n};if(0<p[l].m arkerSize||0<k.markerSiz e){var s=k.getMarkerProp erties(l,m,n,c);e.push(s );r=B(r);t&&e.push({x:m, y:n,ctx:d,type:s.type,si ze:s.size,color:r,border Color:r,borderThickness: s.borderThickness})}(p[l ].indexLabel||k.indexLab el||p[l].indexLabelForma tter|| k.indexLabelForma tter)&&this._indexLabels .push({chartType:"spline ",dataPoint:p[l],dataSer ies:k,point:{x:m,y:n},di rection:0<=p[l].y?1:-1,c olor:h})}b(q)}K.drawMark ers(e);c.restore();c.beg inPath();t&&d.beginPath( );return{source:c,dest:t his.plotArea.ctx,animati onCallback:A.xClipAnimat ion,easingFunction:A.eas ing.linear,animationBase :0}}};var I=function(a,b ,c,d,e,f,g,k,p,h,l,m,n){ "undefined"===typeof n&& (n=1);g=g||0;k=k||"black ";var q=15<d-b&&15<e-c?8 :0.35*Math.min(d-b,e-c); a.beginPath();a.moveTo(b ,c); a.save();a.fillStyl e=f;a.globalAlpha=n;a.fi llRect(b,c,d-b,e-c);a.gl obalAlpha=1;0<g&&(n=0=== g%2?0:0.5,a.beginPath(), a.lineWidth=g,a.strokeSt yle=k,a.moveTo(b,c),a.re ct(b-n,c-n,d-b+2*n,e-c+2 *n),a.stroke());a.restor e();!0===p&&(a.save(),a. beginPath(),a.moveTo(b,c ),a.lineTo(b+q,c+q),a.li neTo(d-q,c+q),a.lineTo(d ,c),a.closePath(),g=a.cr eateLinearGradient((d+b) /2,c+q,(d+b)/2,c),g.addC olorStop(0,f),g.addColor Stop(1,"rgba(255, 255, 2 55, .4)"),a.fillStyle=g, a.fill(),a.restore());!0 ===h&&(a.save(),a.beginP ath(), a.moveTo(b,e),a.l ineTo(b+q,e-q),a.lineTo( d-q,e-q),a.lineTo(d,e),a .closePath(),g=a.createL inearGradient((d+b)/2,e- q,(d+b)/2,e),g.addColorS top(0,f),g.addColorStop( 1,"rgba(255, 255, 255, . 4)"),a.fillStyle=g,a.fil l(),a.restore());!0===l& &(a.save(),a.beginPath() ,a.moveTo(b,c),a.lineTo( b+q,c+q),a.lineTo(b+q,e- q),a.lineTo(b,e),a.close Path(),g=a.createLinearG radient(b+q,(e+c)/2,b,(e +c)/2),g.addColorStop(0, f),g.addColorStop(1,"rgb a(255, 255, 255, 0.1)"), a.fillStyle=g,a.fill(),a .restore());!0===m&&(a.s ave(), a.beginPath(),a.m oveTo(d,c),a.lineTo(d-q, c+q),a.lineTo(d-q,e-q),a .lineTo(d,e),g=a.createL inearGradient(d-q,(e+c)/ 2,d,(e+c)/2),g.addColorS top(0,f),g.addColorStop( 1,"rgba(255, 255, 255, 0 .1)"),a.fillStyle=g,g.ad dColorStop(0,f),g.addCol orStop(1,"rgba(255, 255, 255, 0.1)"),a.fillStyle =g,a.fill(),a.closePath( ),a.restore())};u.protot ype.renderColumn=functio n(a){var b=a.targetCanva sCtx||this.plotArea.ctx; if(!(0>=a.dataSeriesInde xes.length)){var c=null, d=this.plotArea,e=0,f,g, k,p=a.axisY.conversionPa rameters.reference+ a.ax isY.conversionParameters .pixelPerUnit*(0-a.axisY .conversionParameters.mi nimum)<<0,e=this.dataPoi ntMinWidth?this.dataPoin tMinWidth:this.dataPoint Width?this.dataPointWidt h:1,h=this.dataPointMaxW idth?this.dataPointMaxWi dth:this.dataPointWidth? this.dataPointWidth:Math .min(0.15*this.width,0.9 *(this.plotArea.width/a. plotType.totalDataSeries ))<<0,l=a.axisX.dataInfo .minDiff;isFinite(l)||(l =0.3*Math.abs(a.axisX.vi ewportMaximum-a.axisX.vi ewportMinimum));l=this.d ataPointWidth?this.dataP ointWidth:0.9*(d.width/ Math.abs(a.axisX.viewpor tMaximum-a.axisX.viewpor tMinimum)*Math.abs(l)/a. plotType.totalDataSeries )<<0;this.dataPointMaxWi dth&&e>h&&(e=Math.min(th is.dataPointWidth?this.d ataPointWidth:Infinity,h ));!this.dataPointMaxWid th&&(this.dataPointMinWi dth&&h<e)&&(h=Math.max(t his.dataPointWidth?this. dataPointWidth:-Infinity ,e));l<e&&(l=e);l>h&&(l= h);b.save();t&&this._eve ntManager.ghostCtx.save( );b.beginPath();b.rect(d .x1,d.y1,d.width,d.heigh t);b.clip();t&&(this._ev entManager.ghostCtx.rect (d.x1,d.y1,d.width,d.hei ght), this._eventManager .ghostCtx.clip());for(d= 0;d<a.dataSeriesIndexes. length;d++){var h=a.data SeriesIndexes[d],m=this. data[h],n=m.dataPoints;i f(0<n.length)for(var q=5 <l&&m.bevelEnabled?!0:!1 ,e=0;e<n.length;e++)if(n [e].getTime?k=n[e].x.get Time():k=n[e].x,!(k<a.ax isX.dataInfo.viewPortMin ||k>a.axisX.dataInfo.vie wPortMax)&&"number"===ty peof n[e].y){f=a.axisX.c onversionParameters.refe rence+a.axisX.conversion Parameters.pixelPerUnit* (k-a.axisX.conversionPar ameters.minimum)+0.5<<0; g=a.axisY.conversionPara meters.reference+ a.axis Y.conversionParameters.p ixelPerUnit*(n[e].y-a.ax isY.conversionParameters .minimum)+0.5<<0;f=f-a.p lotType.totalDataSeries* l/2+(a.previousDataSerie sCount+d)*l<<0;var r=f+l <<0,s;0<=n[e].y?s=p:(s=g ,g=p);g>s&&(s=g=s);c=n[e ].color?n[e].color:m._co lorSet[e%m._colorSet.len gth];I(b,f,g,r,s,c,0,nul l,q&&0<=n[e].y,0>n[e].y& &q,!1,!1,m.fillOpacity); c=m.dataPointIds[e];this ._eventManager.objectMap [c]={id:c,objectType:"da taPoint",dataSeriesIndex :h,dataPointIndex:e,x1:f ,y1:g,x2:r,y2:s};c=B(c); t&&I(this._eventManager. ghostCtx, f,g,r,s,c,0,nu ll,!1,!1,!1,!1);(n[e].in dexLabel||m.indexLabel|| n[e].indexLabelFormatter ||m.indexLabelFormatter) &&this._indexLabels.push ({chartType:"column",dat aPoint:n[e],dataSeries:m ,point:{x:f+(r-f)/2,y:0< =n[e].y?g:s},direction:0 <=n[e].y?1:-1,bounds:{x1 :f,y1:Math.min(g,s),x2:r ,y2:Math.max(g,s)},color :c})}}b.restore();t&&thi s._eventManager.ghostCtx .restore();a=Math.min(p, a.axisY.boundingRect.y2) ;return{source:b,dest:th is.plotArea.ctx,animatio nCallback:A.yScaleAnimat ion,easingFunction:A.eas ing.easeOutQuart, animat ionBase:a}}};u.prototype .renderStackedColumn=fun ction(a){var b=a.targetC anvasCtx||this.plotArea. ctx;if(!(0>=a.dataSeries Indexes.length)){var c=n ull,d=this.plotArea,e=[] ,f=[],g=0,k,p=a.axisY.co nversionParameters.refer ence+a.axisY.conversionP arameters.pixelPerUnit*( 0-a.axisY.conversionPara meters.minimum)<<0,g=thi s.dataPointMinWidth?this .dataPointMinWidth:this. dataPointWidth?this.data PointWidth:1,h=this.data PointMaxWidth?this.dataP ointMaxWidth:this.dataPo intWidth?this.dataPointW idth:0.15*this.width<< 0 ,l=a.axisX.dataInfo.minD iff;isFinite(l)||(l=0.3* Math.abs(a.axisX.viewpor tMaximum-a.axisX.viewpor tMinimum));l=this.dataPo intWidth?this.dataPointW idth:0.9*(d.width/Math.a bs(a.axisX.viewportMaxim um-a.axisX.viewportMinim um)*Math.abs(l)/a.plotTy pe.plotUnits.length)<<0; this.dataPointMaxWidth&& g>h&&(g=Math.min(this.da taPointWidth?this.dataPo intWidth:Infinity,h));!t his.dataPointMaxWidth&&( this.dataPointMinWidth&& h<g)&&(h=Math.max(this.d ataPointWidth?this.dataP ointWidth:-Infinity,g)); l<g&&(l=g);l>h&&(l=h); b .save();t&&this._eventMa nager.ghostCtx.save();b. beginPath();b.rect(d.x1, d.y1,d.width,d.height);b .clip();t&&(this._eventM anager.ghostCtx.rect(d.x 1,d.y1,d.width,d.height) ,this._eventManager.ghos tCtx.clip());for(h=0;h<a .dataSeriesIndexes.lengt h;h++){var m=a.dataSerie sIndexes[h],n=this.data[ m],q=n.dataPoints;if(0<q .length){var r=5<l&&n.be velEnabled?!0:!1;b.strok eStyle="#4572A7 ";for(g= 0;g<q.length;g++)if(c=q[ g].x.getTime?q[g].x.getT ime():q[g].x,!(c<a.axisX .dataInfo.viewPortMin||c >a.axisX.dataInfo.viewPo rtMax)&& "number"===type of q[g].y){d=a.axisX.con versionParameters.refere nce+a.axisX.conversionPa rameters.pixelPerUnit*(c -a.axisX.conversionParam eters.minimum)+0.5<<0;k= a.axisY.conversionParame ters.reference+a.axisY.c onversionParameters.pixe lPerUnit*(q[g].y-a.axisY .conversionParameters.mi nimum);var s=d-a.plotTyp e.plotUnits.length*l/2+a .index*l<<0,w=s+l<<0,v;i f(0<=q[g].y){var x=e[c]? e[c]:0;k-=x;v=p-x;e[c]=x +(v-k)}else x=f[c]?f[c]: 0,v=k+x,k=p+x,f[c]=x+(v- k);c=q[g].color?q[g].col or:n._colorSet[g%n._colo rSet.length]; I(b,s,k,w, v,c,0,null,r&&0<=q[g].y, 0>q[g].y&&r,!1,!1,n.fill Opacity);c=n.dataPointId s[g];this._eventManager. objectMap[c]={id:c,objec tType:"dataPoint",dataSe riesIndex:m,dataPointInd ex:g,x1:s,y1:k,x2:w,y2:v };c=B(c);t&&I(this._even tManager.ghostCtx,s,k,w, v,c,0,null,!1,!1,!1,!1); (q[g].indexLabel||n.inde xLabel||q[g].indexLabelF ormatter||n.indexLabelFo rmatter)&&this._indexLab els.push({chartType:"sta ckedColumn",dataPoint:q[ g],dataSeries:n,point:{x :d,y:0<=q[g].y?k:v},dire ction:0<=q[g].y?1:-1,bou nds:{x1:s,y1:Math.min(k, v),x2:w,y2:Math.max(k,v )},color:c})}}}b.restore ();t&&this._eventManager .ghostCtx.restore();a=Ma th.min(p,a.axisY.boundin gRect.y2);return{source: b,dest:this.plotArea.ctx ,animationCallback:A.ySc aleAnimation,easingFunct ion:A.easing.easeOutQuar t,animationBase:a}}};u.p rototype.renderStackedCo lumn100=function(a){var b=a.targetCanvasCtx||thi s.plotArea.ctx;if(!(0>=a .dataSeriesIndexes.lengt h)){var c=null,d=this.pl otArea,e=[],f=[],g=0,k,p =a.axisY.conversionParam eters.reference+a.axisY. conversionParameters.pix elPerUnit* (0-a.axisY.co nversionParameters.minim um)<<0,g=this.dataPointM inWidth?this.dataPointMi nWidth:this.dataPointWid th?this.dataPointWidth:1 ,h=this.dataPointMaxWidt h?this.dataPointMaxWidth :this.dataPointWidth?thi s.dataPointWidth:0.15*th is.width<<0,l=a.axisX.da taInfo.minDiff;isFinite( l)||(l=0.3*Math.abs(a.ax isX.viewportMaximum-a.ax isX.viewportMinimum));l= this.dataPointWidth?this .dataPointWidth:0.9*(d.w idth/Math.abs(a.axisX.vi ewportMaximum-a.axisX.vi ewportMinimum)*Math.abs( l)/a.plotType.plotUnits. length)<< 0;this.dataPoi ntMaxWidth&&g>h&&(g=Math .min(this.dataPointWidth ?this.dataPointWidth:Inf inity,h));!this.dataPoin tMaxWidth&&(this.dataPoi ntMinWidth&&h<g)&&(h=Mat h.max(this.dataPointWidt h?this.dataPointWidth:-I nfinity,g));l<g&&(l=g);l >h&&(l=h);b.save();t&&th is._eventManager.ghostCt x.save();b.beginPath();b .rect(d.x1,d.y1,d.width, d.height);b.clip();t&&(t his._eventManager.ghostC tx.rect(d.x1,d.y1,d.widt h,d.height),this._eventM anager.ghostCtx.clip()); for(h=0;h<a.dataSeriesIn dexes.length;h++){var m= a.dataSeriesIndexes[h], n=this.data[m],q=n.dataP oints;if(0<q.length)for( var r=5<l&&n.bevelEnable d?!0:!1,g=0;g<q.length;g ++)if(c=q[g].x.getTime?q [g].x.getTime():q[g].x,! (c<a.axisX.dataInfo.view PortMin||c>a.axisX.dataI nfo.viewPortMax)&&"numbe r"===typeof q[g].y){d=a. axisX.conversionParamete rs.reference+a.axisX.con versionParameters.pixelP erUnit*(c-a.axisX.conver sionParameters.minimum)+ 0.5<<0;k=a.axisY.convers ionParameters.reference+ a.axisY.conversionParame ters.pixelPerUnit*((0!== a.dataPointYSums[c]?100* (q[g].y/a.dataPointYSums [c]): 0)-a.axisY.convers ionParameters.minimum);v ar s=d-a.plotType.plotUn its.length*l/2+a.index*l <<0,w=s+l<<0,v;if(0<=q[g ].y){var x=e[c]?e[c]:0;k -=x;v=p-x;e[c]=x+(v-k)}e lse x=f[c]?f[c]:0,v=k+x, k=p+x,f[c]=x+(v-k);c=q[g ].color?q[g].color:n._co lorSet[g%n._colorSet.len gth];I(b,s,k,w,v,c,0,nul l,r&&0<=q[g].y,0>q[g].y& &r,!1,!1,n.fillOpacity); c=n.dataPointIds[g];this ._eventManager.objectMap [c]={id:c,objectType:"da taPoint",dataSeriesIndex :m,dataPointIndex:g,x1:s ,y1:k,x2:w,y2:v};c=B(c); t&&I(this._eventManager. ghostCtx, s,k,w,v,c,0,nu ll,!1,!1,!1,!1);(q[g].in dexLabel||n.indexLabel|| q[g].indexLabelFormatter ||n.indexLabelFormatter) &&this._indexLabels.push ({chartType:"stackedColu mn100",dataPoint:q[g],da taSeries:n,point:{x:d,y: 0<=q[g].y?k:v},direction :0<=q[g].y?1:-1,bounds:{ x1:s,y1:Math.min(k,v),x2 :w,y2:Math.max(k,v)},col or:c})}}b.restore();t&&t his._eventManager.ghostC tx.restore();a=Math.min( p,a.axisY.boundingRect.y 2);return{source:b,dest: this.plotArea.ctx,animat ionCallback:A.yScaleAnim ation,easingFunction:A.e asing.easeOutQuart, anim ationBase:a}}};u.prototy pe.renderBar=function(a) {var b=a.targetCanvasCtx ||this.plotArea.ctx;if(! (0>=a.dataSeriesIndexes. length)){var c=null,d=th is.plotArea,e=0,f,g,k,p= a.axisY.conversionParame ters.reference+a.axisY.c onversionParameters.pixe lPerUnit*(0-a.axisY.conv ersionParameters.minimum )<<0,e=this.dataPointMin Width?this.dataPointMinW idth:this.dataPointWidth ?this.dataPointWidth:1,h =this.dataPointMaxWidth? this.dataPointMaxWidth:t his.dataPointWidth?this. dataPointWidth:Math.min( 0.15*this.height, 0.9*(t his.plotArea.height/a.pl otType.totalDataSeries)) <<0,l=a.axisX.dataInfo.m inDiff;isFinite(l)||(l=0 .3*Math.abs(a.axisX.view portMaximum-a.axisX.view portMinimum));l=this.dat aPointWidth?this.dataPoi ntWidth:0.9*(d.height/Ma th.abs(a.axisX.viewportM aximum-a.axisX.viewportM inimum)*Math.abs(l)/a.pl otType.totalDataSeries)< <0;this.dataPointMaxWidt h&&e>h&&(e=Math.min(this .dataPointWidth?this.dat aPointWidth:Infinity,h)) ;!this.dataPointMaxWidth &&(this.dataPointMinWidt h&&h<e)&&(h=Math.max(thi s.dataPointWidth? this.d ataPointWidth:-Infinity, e));l<e&&(l=e);l>h&&(l=h );b.save();t&&this._even tManager.ghostCtx.save() ;b.beginPath();b.rect(d. x1,d.y1,d.width,d.height );b.clip();t&&(this._eve ntManager.ghostCtx.rect( d.x1,d.y1,d.width,d.heig ht),this._eventManager.g hostCtx.clip());for(d=0; d<a.dataSeriesIndexes.le ngth;d++){var h=a.dataSe riesIndexes[d],m=this.da ta[h],n=m.dataPoints;if( 0<n.length){var q=5<l&&m .bevelEnabled?!0:!1;b.st rokeStyle="#4572A7 ";for (e=0;e<n.length;e++)if(n [e].getTime?k=n[e].x.get Time():k=n[e].x, !(k<a.a xisX.dataInfo.viewPortMi n||k>a.axisX.dataInfo.vi ewPortMax)&&"number"===t ypeof n[e].y){g=a.axisX. conversionParameters.ref erence+a.axisX.conversio nParameters.pixelPerUnit *(k-a.axisX.conversionPa rameters.minimum)+0.5<<0 ;f=a.axisY.conversionPar ameters.reference+a.axis Y.conversionParameters.p ixelPerUnit*(n[e].y-a.ax isY.conversionParameters .minimum)+0.5<<0;g=g-a.p lotType.totalDataSeries* l/2+(a.previousDataSerie sCount+d)*l<<0;var r=g+l <<0,s;0<=n[e].y?s=p:(s=f ,f=p);c=n[e].color?n[e]. color:m._colorSet[e% m._ colorSet.length];I(b,s,g ,f,r,c,0,null,q,!1,!1,!1 ,m.fillOpacity);c=m.data PointIds[e];this._eventM anager.objectMap[c]={id: c,objectType:"dataPoint" ,dataSeriesIndex:h,dataP ointIndex:e,x1:s,y1:g,x2 :f,y2:r};c=B(c);t&&I(thi s._eventManager.ghostCtx ,s,g,f,r,c,0,null,!1,!1, !1,!1);(n[e].indexLabel| |m.indexLabel||n[e].inde xLabelFormatter||m.index LabelFormatter)&&this._i ndexLabels.push({chartTy pe:"bar",dataPoint:n[e], dataSeries:m,point:{x:0< =n[e].y?f:s,y:g+(r-g)/2} ,direction:0<=n[e].y?1:- 1,bounds:{x1:Math.min(s, f),y1:g,x2:Math.max(s,f ),y2:r},color:c})}}}b.re store();t&&this._eventMa nager.ghostCtx.restore() ;a=Math.max(p,a.axisX.bo undingRect.x2);return{so urce:b,dest:this.plotAre a.ctx,animationCallback: A.xScaleAnimation,easing Function:A.easing.easeOu tQuart,animationBase:a}} };u.prototype.renderStac kedBar=function(a){var b =a.targetCanvasCtx||this .plotArea.ctx;if(!(0>=a. dataSeriesIndexes.length )){var c=null,d=this.plo tArea,e=[],f=[],g=0,k,p= a.axisY.conversionParame ters.reference+a.axisY.c onversionParameters.pixe lPerUnit* (0-a.axisY.con versionParameters.minimu m)<<0,g=this.dataPointMi nWidth?this.dataPointMin Width:this.dataPointWidt h?this.dataPointWidth:1, h=this.dataPointMaxWidth ?this.dataPointMaxWidth: this.dataPointWidth?this .dataPointWidth:0.15*thi s.height<<0,l=a.axisX.da taInfo.minDiff;isFinite( l)||(l=0.3*Math.abs(a.ax isX.viewportMaximum-a.ax isX.viewportMinimum));l= this.dataPointWidth?this .dataPointWidth:0.9*(d.h eight/Math.abs(a.axisX.v iewportMaximum-a.axisX.v iewportMinimum)*Math.abs (l)/a.plotType.plotUnits .length)<< 0;this.dataPo intMaxWidth&&g>h&&(g=Mat h.min(this.dataPointWidt h?this.dataPointWidth:In finity,h));!this.dataPoi ntMaxWidth&&(this.dataPo intMinWidth&&h<g)&&(h=Ma th.max(this.dataPointWid th?this.dataPointWidth:- Infinity,g));l<g&&(l=g); l>h&&(l=h);b.save();t&&t his._eventManager.ghostC tx.save();b.beginPath(); b.rect(d.x1,d.y1,d.width ,d.height);b.clip();t&&( this._eventManager.ghost Ctx.rect(d.x1,d.y1,d.wid th,d.height),this._event Manager.ghostCtx.clip()) ;for(h=0;h<a.dataSeriesI ndexes.length;h++){var m =a.dataSeriesIndexes[h], n=this.data[m],q=n.data Points;if(0<q.length){va r r=5<l&&n.bevelEnabled? !0:!1;b.strokeStyle="#45 72A7 ";for(g=0;g<q.lengt h;g++)if(c=q[g].x.getTim e?q[g].x.getTime():q[g]. x,!(c<a.axisX.dataInfo.v iewPortMin||c>a.axisX.da taInfo.viewPortMax)&&"nu mber"===typeof q[g].y){d =a.axisX.conversionParam eters.reference+a.axisX. conversionParameters.pix elPerUnit*(c-a.axisX.con versionParameters.minimu m)+0.5<<0;k=a.axisY.conv ersionParameters.referen ce+a.axisY.conversionPar ameters.pixelPerUnit*(q[ g].y-a.axisY.conversionP arameters.minimum); var s=d-a.plotType.plotUnits .length*l/2+a.index*l<<0 ,w=s+l<<0,v;if(0<=q[g].y ){var x=e[c]?e[c]:0;v=p+ x;k+=x;e[c]=x+(k-v)}else x=f[c]?f[c]:0,v=k-x,k=p -x,f[c]=x+(k-v);c=q[g].c olor?q[g].color:n._color Set[g%n._colorSet.length ];I(b,v,s,k,w,c,0,null,r ,!1,!1,!1,n.fillOpacity) ;c=n.dataPointIds[g];thi s._eventManager.objectMa p[c]={id:c,objectType:"d ataPoint",dataSeriesInde x:m,dataPointIndex:g,x1: v,y1:s,x2:k,y2:w};c=B(c) ;t&&I(this._eventManager .ghostCtx,v,s,k,w,c,0,nu ll,!1,!1,!1,!1);(q[g].in dexLabel||n.indexLabel|| q[g].indexLabelFormatte r||n.indexLabelFormatter )&&this._indexLabels.pus h({chartType:"stackedBar ",dataPoint:q[g],dataSer ies:n,point:{x:0<=q[g].y ?k:v,y:d},direction:0<=q [g].y?1:-1,bounds:{x1:Ma th.min(v,k),y1:s,x2:Math .max(v,k),y2:w},color:c} )}}}b.restore();t&&this. _eventManager.ghostCtx.r estore();a=Math.max(p,a. axisX.boundingRect.x2);r eturn{source:b,dest:this .plotArea.ctx,animationC allback:A.xScaleAnimatio n,easingFunction:A.easin g.easeOutQuart,animation Base:a}}};u.prototype.re nderStackedBar100=functi on(a){var b= a.targetCan vasCtx||this.plotArea.ct x;if(!(0>=a.dataSeriesIn dexes.length)){var c=nul l,d=this.plotArea,e=[],f =[],g=0,k,p=a.axisY.conv ersionParameters.referen ce+a.axisY.conversionPar ameters.pixelPerUnit*(0- a.axisY.conversionParame ters.minimum)<<0,g=this. dataPointMinWidth?this.d ataPointMinWidth:this.da taPointWidth?this.dataPo intWidth:1,h=this.dataPo intMaxWidth?this.dataPoi ntMaxWidth:this.dataPoin tWidth?this.dataPointWid th:0.15*this.height<<0,l =a.axisX.dataInfo.minDif f;isFinite(l)||(l=0.3*Ma th.abs(a.axisX.viewportM aximum- a.axisX.viewport Minimum));l=this.dataPoi ntWidth?this.dataPointWi dth:0.9*(d.height/Math.a bs(a.axisX.viewportMaxim um-a.axisX.viewportMinim um)*Math.abs(l)/a.plotTy pe.plotUnits.length)<<0; this.dataPointMaxWidth&& g>h&&(g=Math.min(this.da taPointWidth?this.dataPo intWidth:Infinity,h));!t his.dataPointMaxWidth&&( this.dataPointMinWidth&& h<g)&&(h=Math.max(this.d ataPointWidth?this.dataP ointWidth:-Infinity,g)); l<g&&(l=g);l>h&&(l=h);b. save();t&&this._eventMan ager.ghostCtx.save();b.b eginPath();b.rect(d.x1,d .y1,d.width, d.height);b .clip();t&&(this._eventM anager.ghostCtx.rect(d.x 1,d.y1,d.width,d.height) ,this._eventManager.ghos tCtx.clip());for(h=0;h<a .dataSeriesIndexes.lengt h;h++){var m=a.dataSerie sIndexes[h],n=this.data[ m],q=n.dataPoints;if(0<q .length){var r=5<l&&n.be velEnabled?!0:!1;b.strok eStyle="#4572A7 ";for(g= 0;g<q.length;g++)if(c=q[ g].x.getTime?q[g].x.getT ime():q[g].x,!(c<a.axisX .dataInfo.viewPortMin||c >a.axisX.dataInfo.viewPo rtMax)&&"number"===typeo f q[g].y){d=a.axisX.conv ersionParameters.referen ce+a.axisX.conversionPar ameters.pixelPerUnit* (c -a.axisX.conversionParam eters.minimum)+0.5<<0;k= a.axisY.conversionParame ters.reference+a.axisY.c onversionParameters.pixe lPerUnit*((0!==a.dataPoi ntYSums[c]?100*(q[g].y/a .dataPointYSums[c]):0)-a .axisY.conversionParamet ers.minimum);var s=d-a.p lotType.plotUnits.length *l/2+a.index*l<<0,w=s+l< <0,v;if(0<=q[g].y){var x =e[c]?e[c]:0;v=p+x;k+=x; e[c]=x+(k-v)}else x=f[c] ?f[c]:0,v=k-x,k=p-x,f[c] =x+(k-v);c=q[g].color?q[ g].color:n._colorSet[g%n ._colorSet.length];I(b,v ,s,k,w,c,0,null,r,!1,!1, !1,n.fillOpacity);c= n.d ataPointIds[g];this._eve ntManager.objectMap[c]={ id:c,objectType:"dataPoi nt",dataSeriesIndex:m,da taPointIndex:g,x1:v,y1:s ,x2:k,y2:w};c=B(c);t&&I( this._eventManager.ghost Ctx,v,s,k,w,c,0,null,!1, !1,!1,!1);(q[g].indexLab el||n.indexLabel||q[g].i ndexLabelFormatter||n.in dexLabelFormatter)&&this ._indexLabels.push({char tType:"stackedBar100",da taPoint:q[g],dataSeries: n,point:{x:0<=q[g].y?k:v ,y:d},direction:0<=q[g]. y?1:-1,bounds:{x1:Math.m in(v,k),y1:s,x2:Math.max (v,k),y2:w},color:c})}}} b.restore();t&&this._eve ntManager.ghostCtx.resto re(); a=Math.max(p,a.axi sX.boundingRect.x2);retu rn{source:b,dest:this.pl otArea.ctx,animationCall back:A.xScaleAnimation,e asingFunction:A.easing.e aseOutQuart,animationBas e:a}}};u.prototype.rende rArea=function(a){functi on b(){x&&(0<h.lineThick ness&&c.stroke(),0>=a.ax isY.viewportMinimum&&0<= a.axisY.viewportMaximum? v=w:0>a.axisY.viewportMa ximum?v=f.y1:0<a.axisY.v iewportMinimum&&(v=e.y2) ,c.lineTo(q,v),c.lineTo( x.x,v),c.closePath(),c.g lobalAlpha=h.fillOpacity ,c.fill(),c.globalAlpha= 1,t&&(d.lineTo(q,v),d.li neTo(x.x, v),d.closePath (),d.fill()),c.beginPath (),c.moveTo(q,r),d.begin Path(),d.moveTo(q,r),x={ x:q,y:r})}var c=a.target CanvasCtx||this.plotArea .ctx;if(!(0>=a.dataSerie sIndexes.length)){var d= this._eventManager.ghost Ctx,e=a.axisX.lineCoordi nates,f=a.axisY.lineCoor dinates,g=[],k=this.plot Area;c.save();t&&d.save( );c.beginPath();c.rect(k .x1,k.y1,k.width,k.heigh t);c.clip();t&&(d.beginP ath(),d.rect(k.x1,k.y1,k .width,k.height),d.clip( ));for(k=0;k<a.dataSerie sIndexes.length;k++){var p=a.dataSeriesIndexes[k ],h=this.data[p], l=h.da taPoints,g=h.id;this._ev entManager.objectMap[g]= {objectType:"dataSeries" ,dataSeriesIndex:p};g=B( g);d.fillStyle=g;var g=[ ],m=!0,n=0,q,r,s,w=a.axi sY.conversionParameters. reference+a.axisY.conver sionParameters.pixelPerU nit*(0-a.axisY.conversio nParameters.minimum)+0.5 <<0,v,x=null;if(0<l.leng th){var E=h._colorSet[n% h._colorSet.length];c.fi llStyle=E;c.strokeStyle= E;c.lineWidth=h.lineThic kness;c.setLineDash&&c.s etLineDash(M(h.lineDashT ype,h.lineThickness));fo r(var y=!0;n<l.length;n+ +)if(s=l[n].x.getTime? l [n].x.getTime():l[n].x,! (s<a.axisX.dataInfo.view PortMin||s>a.axisX.dataI nfo.viewPortMax))if("num ber"!==typeof l[n].y)b() ,y=!0;else{q=a.axisX.con versionParameters.refere nce+a.axisX.conversionPa rameters.pixelPerUnit*(s -a.axisX.conversionParam eters.minimum)+0.5<<0;r= a.axisY.conversionParame ters.reference+a.axisY.c onversionParameters.pixe lPerUnit*(l[n].y-a.axisY .conversionParameters.mi nimum)+0.5<<0;m||y?(c.be ginPath(),c.moveTo(q,r), x={x:q,y:r},t&&(d.beginP ath(),d.moveTo(q,r)),y=m =!1):(c.lineTo(q,r), t&& d.lineTo(q,r),0==n%250&& b());var z=h.dataPointId s[n];this._eventManager. objectMap[z]={id:z,objec tType:"dataPoint",dataSe riesIndex:p,dataPointInd ex:n,x1:q,y1:r};0!==l[n] .markerSize&&(0<l[n].mar kerSize||0<h.markerSize) &&(s=h.getMarkerProperti es(n,q,r,c),g.push(s),z= B(z),t&&g.push({x:q,y:r, ctx:d,type:s.type,size:s .size,color:z,borderColo r:z,borderThickness:s.bo rderThickness}));(l[n].i ndexLabel||h.indexLabel| |l[n].indexLabelFormatte r||h.indexLabelFormatter )&&this._indexLabels.pus h({chartType:"area", dat aPoint:l[n],dataSeries:h ,point:{x:q,y:r},directi on:0<=l[n].y?1:-1,color: E})}b();K.drawMarkers(g) }}c.restore();t&&this._e ventManager.ghostCtx.res tore();return{source:c,d est:this.plotArea.ctx,an imationCallback:A.xClipA nimation,easingFunction: A.easing.linear,animatio nBase:0}}};u.prototype.r enderSplineArea=function (a){function b(){var b=i a(v,2);if(0<b.length){c. beginPath();c.moveTo(b[0 ].x,b[0].y);t&&(d.beginP ath(),d.moveTo(b[0].x,b[ 0].y));for(var g=0;g<b.l ength-3;g+=3)c.bezierCur veTo(b[g+1].x,b[g+ 1].y, b[g+2].x,b[g+2].y,b[g+3] .x,b[g+3].y),t&&d.bezier CurveTo(b[g+1].x,b[g+1]. y,b[g+2].x,b[g+2].y,b[g+ 3].x,b[g+3].y);0<h.lineT hickness&&c.stroke();0>= a.axisY.viewportMinimum& &0<=a.axisY.viewportMaxi mum?s=r:0>a.axisY.viewpo rtMaximum?s=f.y1:0<a.axi sY.viewportMinimum&&(s=e .y2);w={x:b[0].x,y:b[0]. y};c.lineTo(b[b.length-1 ].x,s);c.lineTo(w.x,s);c .closePath();c.globalAlp ha=h.fillOpacity;c.fill( );c.globalAlpha=1;t&&(d. lineTo(b[b.length-1].x,s ),d.lineTo(w.x,s),d.clos ePath(),d.fill())}}var c =a.targetCanvasCtx|| thi s.plotArea.ctx;if(!(0>=a .dataSeriesIndexes.lengt h)){var d=this._eventMan ager.ghostCtx,e=a.axisX. lineCoordinates,f=a.axis Y.lineCoordinates,g=[],k =this.plotArea;c.save(); t&&d.save();c.beginPath( );c.rect(k.x1,k.y1,k.wid th,k.height);c.clip();t& &(d.beginPath(),d.rect(k .x1,k.y1,k.width,k.heigh t),d.clip());for(k=0;k<a .dataSeriesIndexes.lengt h;k++){var p=a.dataSerie sIndexes[k],h=this.data[ p],l=h.dataPoints,g=h.id ;this._eventManager.obje ctMap[g]={objectType:"da taSeries",dataSeriesInde x:p};g=B(g);d.fillStyle= g;var g=[],m=0,n,q,r=a. axisY.conversionParamete rs.reference+a.axisY.con versionParameters.pixelP erUnit*(0-a.axisY.conver sionParameters.minimum)+ 0.5<<0,s,w=null,v=[];if( 0<l.length){color=h._col orSet[m%h._colorSet.leng th];c.fillStyle=color;c. strokeStyle=color;c.line Width=h.lineThickness;fo r(c.setLineDash&&c.setLi neDash(M(h.lineDashType, h.lineThickness));m<l.le ngth;m++)if(n=l[m].x.get Time?l[m].x.getTime():l[ m].x,!(n<a.axisX.dataInf o.viewPortMin||n>a.axisX .dataInfo.viewPortMax))i f("number"!==typeof l[m] .y)0< m&&(b(),v=[]);else {n=a.axisX.conversionPar ameters.reference+a.axis X.conversionParameters.p ixelPerUnit*(n-a.axisX.c onversionParameters.mini mum)+0.5<<0;q=a.axisY.co nversionParameters.refer ence+a.axisY.conversionP arameters.pixelPerUnit*( l[m].y-a.axisY.conversio nParameters.minimum)+0.5 <<0;var x=h.dataPointIds [m];this._eventManager.o bjectMap[x]={id:x,object Type:"dataPoint",dataSer iesIndex:p,dataPointInde x:m,x1:n,y1:q};v[v.lengt h]={x:n,y:q};if(0!==l[m] .markerSize&&(0<l[m].mar kerSize||0<h.markerSize) ){var E= h.getMarkerProp erties(m,n,q,c);g.push(E );x=B(x);t&&g.push({x:n, y:q,ctx:d,type:E.type,si ze:E.size,color:x,border Color:x,borderThickness: E.borderThickness})}(l[m ].indexLabel||h.indexLab el||l[m].indexLabelForma tter||h.indexLabelFormat ter)&&this._indexLabels. push({chartType:"splineA rea",dataPoint:l[m],data Series:h,point:{x:n,y:q} ,direction:0<=l[m].y?1:- 1,color:color})}b();K.dr awMarkers(g)}}c.restore( );t&&this._eventManager. ghostCtx.restore();retur n{source:c,dest:this.plo tArea.ctx,animationCallb ack:A.xClipAnimation, ea singFunction:A.easing.li near,animationBase:0}}}; u.prototype.renderStepAr ea=function(a){function b(){x&&(0<h.lineThicknes s&&c.stroke(),0>=a.axisY .viewportMinimum&&0<=a.a xisY.viewportMaximum?v=w :0>a.axisY.viewportMaxim um?v=f.y1:0<a.axisY.view portMinimum&&(v=e.y2),c. lineTo(q,v),c.lineTo(x.x ,v),c.closePath(),c.glob alAlpha=h.fillOpacity,c. fill(),c.globalAlpha=1,t &&(d.lineTo(q,v),d.lineT o(x.x,v),d.closePath(),d .fill()),c.beginPath(),c .moveTo(q,r),d.beginPath (),d.moveTo(q,r),x={x:q, y:r})}var c=a.targetCanv asCtx|| this.plotArea.ct x;if(!(0>=a.dataSeriesIn dexes.length)){var d=thi s._eventManager.ghostCtx ,e=a.axisX.lineCoordinat es,f=a.axisY.lineCoordin ates,g=[],k=this.plotAre a;c.save();t&&d.save();c .beginPath();c.rect(k.x1 ,k.y1,k.width,k.height); c.clip();t&&(d.beginPath (),d.rect(k.x1,k.y1,k.wi dth,k.height),d.clip()); for(k=0;k<a.dataSeriesIn dexes.length;k++){var p= a.dataSeriesIndexes[k],h =this.data[p],l=h.dataPo ints,g=h.id;this._eventM anager.objectMap[g]={obj ectType:"dataSeries",dat aSeriesIndex:p};g=B(g);d .fillStyle= g;var g=[],m =!0,n=0,q,r,s,w=a.axisY. conversionParameters.ref erence+a.axisY.conversio nParameters.pixelPerUnit *(0-a.axisY.conversionPa rameters.minimum)+0.5<<0 ,v,x=null,E=!1;if(0<l.le ngth){var y=h._colorSet[ n%h._colorSet.length];c. fillStyle=y;c.strokeStyl e=y;c.lineWidth=h.lineTh ickness;for(c.setLineDas h&&c.setLineDash(M(h.lin eDashType,h.lineThicknes s));n<l.length;n++)if(s= l[n].x.getTime?l[n].x.ge tTime():l[n].x,!(s<a.axi sX.dataInfo.viewPortMin| |s>a.axisX.dataInfo.view PortMax)){var z=r;"numbe r"!==typeof l[n].y? (b() ,E=!0):(q=a.axisX.conver sionParameters.reference +a.axisX.conversionParam eters.pixelPerUnit*(s-a. axisX.conversionParamete rs.minimum)+0.5<<0,r=a.a xisY.conversionParameter s.reference+a.axisY.conv ersionParameters.pixelPe rUnit*(l[n].y-a.axisY.co nversionParameters.minim um)+0.5<<0,m||E?(c.begin Path(),c.moveTo(q,r),x={ x:q,y:r},t&&(d.beginPath (),d.moveTo(q,r)),E=m=!1 ):(c.lineTo(q,z),t&&d.li neTo(q,z),c.lineTo(q,r), t&&d.lineTo(q,r),0==n%25 0&&b()),z=h.dataPointIds [n],this._eventManager.o bjectMap[z]={id:z, objec tType:"dataPoint",dataSe riesIndex:p,dataPointInd ex:n,x1:q,y1:r},0!==l[n] .markerSize&&(0<l[n].mar kerSize||0<h.markerSize) &&(s=h.getMarkerProperti es(n,q,r,c),g.push(s),z= B(z),t&&g.push({x:q,y:r, ctx:d,type:s.type,size:s .size,color:z,borderColo r:z,borderThickness:s.bo rderThickness})),(l[n].i ndexLabel||h.indexLabel| |l[n].indexLabelFormatte r||h.indexLabelFormatter )&&this._indexLabels.pus h({chartType:"stepArea", dataPoint:l[n],dataSerie s:h,point:{x:q,y:r},dire ction:0<=l[n].y?1:-1,col or:y}))}b();K.drawMarker s(g)}}c.restore(); t&&th is._eventManager.ghostCt x.restore();return{sourc e:c,dest:this.plotArea.c tx,animationCallback:A.x ClipAnimation,easingFunc tion:A.easing.linear,ani mationBase:0}}};u.protot ype.renderStackedArea=fu nction(a){var b=a.target CanvasCtx||this.plotArea .ctx;if(!(0>=a.dataSerie sIndexes.length)){var c= null,d=[],e=this.plotAre a,f=[],g=[],k=0,p,h,l,m= a.axisY.conversionParame ters.reference+a.axisY.c onversionParameters.pixe lPerUnit*(0-a.axisY.conv ersionParameters.minimum )<<0,n=this._eventManage r.ghostCtx;t&&n.beginPat h(); b.save();t&&n.save( );b.beginPath();b.rect(e .x1,e.y1,e.width,e.heigh t);b.clip();t&&(n.beginP ath(),n.rect(e.x1,e.y1,e .width,e.height),n.clip( ));xValuePresent=[];for( e=0;e<a.dataSeriesIndexe s.length;e++){var q=a.da taSeriesIndexes[e],r=thi s.data[q],s=r.dataPoints ;r.dataPointIndexes=[];f or(k=0;k<s.length;k++)q= s[k].x.getTime?s[k].x.ge tTime():s[k].x,r.dataPoi ntIndexes[q]=k,xValuePre sent[q]||(g.push(q),xVal uePresent[q]=!0);g.sort( ua)}for(e=0;e<a.dataSeri esIndexes.length;e++){va r q=a.dataSeriesIndexes[ e], r=this.data[q],s=r.d ataPoints,w=!0,v=[],k=r. id;this._eventManager.ob jectMap[k]={objectType:" dataSeries",dataSeriesIn dex:q};k=B(k);n.fillStyl e=k;if(0<g.length){c=r._ colorSet[0];b.fillStyle= c;b.strokeStyle=c;b.line Width=r.lineThickness;b. setLineDash&&b.setLineDa sh(M(r.lineDashType,r.li neThickness));for(k=0;k< g.length;k++){l=g[k];var x=null,x=0<=r.dataPoint Indexes[l]?s[r.dataPoint Indexes[l]]:{x:l,y:0};if (!(l<a.axisX.dataInfo.vi ewPortMin||l>a.axisX.dat aInfo.viewPortMax)&&"num ber"===typeof x.y){p=a.a xisX.conversionParameter s.reference+ a.axisX.con versionParameters.pixelP erUnit*(l-a.axisX.conver sionParameters.minimum)+ 0.5<<0;h=a.axisY.convers ionParameters.reference+ a.axisY.conversionParame ters.pixelPerUnit*(x.y-a .axisY.conversionParamet ers.minimum);var E=f[l]? f[l]:0;h-=E;v.push({x:p, y:m-E});f[l]=m-h;if(w)b. beginPath(),b.moveTo(p,h ),t&&(n.beginPath(),n.mo veTo(p,h)),w=!1;else if( b.lineTo(p,h),t&&n.lineT o(p,h),0==k%250){for(0<r .lineThickness&&b.stroke ();0<v.length;){var y=v. pop();b.lineTo(y.x,y.y); t&&n.lineTo(y.x,y.y)}b.c losePath(); b.globalAlph a=r.fillOpacity;b.fill() ;b.globalAlpha=1;b.begin Path();b.moveTo(p,h);t&& (n.closePath(),n.fill(), n.beginPath(),n.moveTo(p ,h));v.push({x:p,y:m-E}) }if(0<=r.dataPointIndexe s[l]){var z=r.dataPointI ds[r.dataPointIndexes[l] ];this._eventManager.obj ectMap[z]={id:z,objectTy pe:"dataPoint",dataSerie sIndex:q,dataPointIndex: r.dataPointIndexes[l],x1 :p,y1:h}}0<=r.dataPointI ndexes[l]&&0!==x.markerS ize&&(0<x.markerSize||0< r.markerSize)&&(l=r.getM arkerProperties(k,p,h,b) ,d.push(l),markerColor=B (z),t&&d.push({x:p, y:h, ctx:n,type:l.type,size:l .size,color:markerColor, borderColor:markerColor, borderThickness:l.border Thickness}));(x.indexLab el||r.indexLabel||x.inde xLabelFormatter||r.index LabelFormatter)&&this._i ndexLabels.push({chartTy pe:"stackedArea",dataPoi nt:x,dataSeries:r,point: {x:p,y:h},direction:0<=s [k].y?1:-1,color:c})}}fo r(0<r.lineThickness&&b.s troke();0<v.length;)y=v. pop(),b.lineTo(y.x,y.y), t&&n.lineTo(y.x,y.y);b.c losePath();b.globalAlpha =r.fillOpacity;b.fill(); b.globalAlpha=1;b.beginP ath();b.moveTo(p, h);t&& (n.closePath(),n.fill(), n.beginPath(),n.moveTo(p ,h))}delete r.dataPointI ndexes}K.drawMarkers(d); b.restore();t&&n.restore ();return{source:b,dest: this.plotArea.ctx,animat ionCallback:A.xClipAnima tion,easingFunction:A.ea sing.linear,animationBas e:0}}};u.prototype.rende rStackedArea100=function (a){var b=a.targetCanvas Ctx||this.plotArea.ctx;i f(!(0>=a.dataSeriesIndex es.length)){var c=null,d =this.plotArea,e=[],f=[] ,g=[],k=0,p,h,l,m=a.axis Y.conversionParameters.r eference+a.axisY.convers ionParameters.pixelPerUn it* (0-a.axisY.conversio nParameters.minimum)<<0, n=this.dataPointMaxWidth ?this.dataPointMaxWidth: 0.15*this.width<<0,q=a.a xisX.dataInfo.minDiff,q= 0.9*d.width/Math.abs(a.a xisX.viewportMaximum-a.a xisX.viewportMinimum)*Ma th.abs(q)<<0,r=this._eve ntManager.ghostCtx;b.sav e();t&&r.save();b.beginP ath();b.rect(d.x1,d.y1,d .width,d.height);b.clip( );t&&(r.beginPath(),r.re ct(d.x1,d.y1,d.width,d.h eight),r.clip());xValueP resent=[];for(d=0;d<a.da taSeriesIndexes.length;d ++){var s=a.dataSeriesIn dexes[d],w=this.data[s], v= w.dataPoints;w.dataPo intIndexes=[];for(k=0;k< v.length;k++)s=v[k].x.ge tTime?v[k].x.getTime():v [k].x,w.dataPointIndexes [s]=k,xValuePresent[s]|| (g.push(s),xValuePresent [s]=!0);g.sort(ua)}for(d =0;d<a.dataSeriesIndexes .length;d++){var s=a.dat aSeriesIndexes[d],w=this .data[s],v=w.dataPoints, x=!0,c=w.id;this._eventM anager.objectMap[c]={obj ectType:"dataSeries",dat aSeriesIndex:s};c=B(c);r .fillStyle=c;1==v.length &&(q=n);1>q?q=1:q>n&&(q= n);var E=[];if(0<g.lengt h){c=w._colorSet[k%w._co lorSet.length];b.fillSty le= c;b.strokeStyle=c;b. lineWidth=w.lineThicknes s;b.setLineDash&&b.setLi neDash(M(w.lineDashType, w.lineThickness));for(k= 0;k<g.length;k++){l=g[k] ;var y=null,y=0<=w.dataP ointIndexes[l]?v[w.dataP ointIndexes[l]]:{x:l,y:0 };if(!(l<a.axisX.dataInf o.viewPortMin||l>a.axisX .dataInfo.viewPortMax)&& "number"===typeof y.y){h =0!==a.dataPointYSums[l] ?100*(y.y/a.dataPointYSu ms[l]):0;p=a.axisX.conve rsionParameters.referenc e+a.axisX.conversionPara meters.pixelPerUnit*(l-a .axisX.conversionParamet ers.minimum)+0.5<<0;h=a. axisY.conversionParamete rs.reference+ a.axisY.co nversionParameters.pixel PerUnit*(h-a.axisY.conve rsionParameters.minimum) ;var z=f[l]?f[l]:0;h-=z; E.push({x:p,y:m-z});f[l] =m-h;if(x)b.beginPath(), b.moveTo(p,h),t&&(r.begi nPath(),r.moveTo(p,h)),x =!1;else if(b.lineTo(p,h ),t&&r.lineTo(p,h),0==k% 250){for(0<w.lineThickne ss&&b.stroke();0<E.lengt h;){var u=E.pop();b.line To(u.x,u.y);t&&r.lineTo( u.x,u.y)}b.closePath();b .globalAlpha=w.fillOpaci ty;b.fill();b.globalAlph a=1;b.beginPath();b.move To(p,h);t&&(r.closePath( ),r.fill(),r.beginPath() ,r.moveTo(p, h));E.push( {x:p,y:m-z})}if(0<=w.dat aPointIndexes[l]){var D= w.dataPointIds[w.dataPoi ntIndexes[l]];this._even tManager.objectMap[D]={i d:D,objectType:"dataPoin t",dataSeriesIndex:s,dat aPointIndex:w.dataPointI ndexes[l],x1:p,y1:h}}0<= w.dataPointIndexes[l]&&0 !==y.markerSize&&(0<y.ma rkerSize||0<w.markerSize )&&(l=w.getMarkerPropert ies(k,p,h,b),e.push(l),m arkerColor=B(D),t&&e.pus h({x:p,y:h,ctx:r,type:l. type,size:l.size,color:m arkerColor,borderColor:m arkerColor,borderThickne ss:l.borderThickness})); (y.indexLabel|| w.indexL abel||y.indexLabelFormat ter||w.indexLabelFormatt er)&&this._indexLabels.p ush({chartType:"stackedA rea100",dataPoint:y,data Series:w,point:{x:p,y:h} ,direction:0<=v[k].y?1:- 1,color:c})}}for(0<w.lin eThickness&&b.stroke();0 <E.length;)u=E.pop(),b.l ineTo(u.x,u.y),t&&r.line To(u.x,u.y);b.closePath( );b.globalAlpha=w.fillOp acity;b.fill();b.globalA lpha=1;b.beginPath();b.m oveTo(p,h);t&&(r.closePa th(),r.fill(),r.beginPat h(),r.moveTo(p,h))}delet e w.dataPointIndexes}K.d rawMarkers(e);b.restore( );t&&r.restore(); return {source:b,dest:this.plot Area.ctx,animationCallba ck:A.xClipAnimation,easi ngFunction:A.easing.line ar,animationBase:0}}};u. prototype.renderBubble=f unction(a){var b=a.targe tCanvasCtx||this.plotAre a.ctx,c=a.dataSeriesInde xes.length;if(!(0>=c)){v ar d=this.plotArea,e=0,f ,g,k=this.dataPointMaxWi dth?this.dataPointMaxWid th:0.15*this.width<<0,e= a.axisX.dataInfo.minDiff ,c=0.9*(d.width/Math.abs (a.axisX.viewportMaximum -a.axisX.viewportMinimum )*Math.abs(e)/c)<<0;b.sa ve();t&&this._eventManag er.ghostCtx.save(); b.be ginPath();b.rect(d.x1,d. y1,d.width,d.height);b.c lip();t&&(this._eventMan ager.ghostCtx.rect(d.x1, d.y1,d.width,d.height),t his._eventManager.ghostC tx.clip());for(var p=-In finity,h=Infinity,l=0;l< a.dataSeriesIndexes.leng th;l++)for(var m=a.dataS eriesIndexes[l],n=this.d ata[m],q=n.dataPoints,r= 0,e=0;e<q.length;e++)f=q [e].getTime?f=q[e].x.get Time():f=q[e].x,f<a.axis X.dataInfo.viewPortMin|| f>a.axisX.dataInfo.viewP ortMax||"undefined"===ty peof q[e].z||(r=q[e].z,r >p&&(p=r),r<h&&(h=r));fo r(var s=25*Math.PI, d=Ma th.max(Math.pow(0.25*Mat h.min(d.height,d.width)/ 2,2)*Math.PI,s),l=0;l<a. dataSeriesIndexes.length ;l++)if(m=a.dataSeriesIn dexes[l],n=this.data[m], q=n.dataPoints,1==q.leng th&&(c=k),1>c?c=1:c>k&&( c=k),0<q.length)for(b.st rokeStyle="#4572A7 ",e=0 ;e<q.length;e++)if(f=q[e ].getTime?f=q[e].x.getTi me():f=q[e].x,!(f<a.axis X.dataInfo.viewPortMin|| f>a.axisX.dataInfo.viewP ortMax)&&"number"===type of q[e].y){f=a.axisX.con versionParameters.refere nce+a.axisX.conversionPa rameters.pixelPerUnit*(f -a.axisX.conversionParam eters.minimum)+ 0.5<<0;g =a.axisY.conversionParam eters.reference+a.axisY. conversionParameters.pix elPerUnit*(q[e].y-a.axis Y.conversionParameters.m inimum)+0.5<<0;var r=q[e ].z,w=2*Math.max(Math.sq rt((p===h?d/2:s+(d-s)/(p -h)*(r-h))/Math.PI)<<0,1 ),r=n.getMarkerPropertie s(e,b);r.size=w;b.global Alpha=n.fillOpacity;K.dr awMarker(f,g,b,r.type,r. size,r.color,r.borderCol or,r.borderThickness);b. globalAlpha=1;var v=n.da taPointIds[e];this._even tManager.objectMap[v]={i d:v,objectType:"dataPoin t",dataSeriesIndex:m,dat aPointIndex:e, x1:f,y1:g ,size:w};w=B(v);t&&K.dra wMarker(f,g,this._eventM anager.ghostCtx,r.type,r .size,w,w,r.borderThickn ess);(q[e].indexLabel||n .indexLabel||q[e].indexL abelFormatter||n.indexLa belFormatter)&&this._ind exLabels.push({chartType :"bubble",dataPoint:q[e] ,dataSeries:n,point:{x:f ,y:g},direction:1,bounds :{x1:f-r.size/2,y1:g-r.s ize/2,x2:f+r.size/2,y2:g +r.size/2},color:null})} b.restore();t&&this._eve ntManager.ghostCtx.resto re();return{source:b,des t:this.plotArea.ctx,anim ationCallback:A.fadeInAn imation,easingFunction:A .easing.easeInQuad, anim ationBase:0}}};u.prototy pe.renderScatter=functio n(a){var b=a.targetCanva sCtx||this.plotArea.ctx, c=a.dataSeriesIndexes.le ngth;if(!(0>=c)){var d=t his.plotArea,e=0,f,g,k=t his.dataPointMaxWidth?th is.dataPointMaxWidth:0.1 5*this.width<<0,e=a.axis X.dataInfo.minDiff,c=0.9 *(d.width/Math.abs(a.axi sX.viewportMaximum-a.axi sX.viewportMinimum)*Math .abs(e)/c)<<0;b.save();t &&this._eventManager.gho stCtx.save();b.beginPath ();b.rect(d.x1,d.y1,d.wi dth,d.height);b.clip();t &&(this._eventManager.gh ostCtx.rect(d.x1, d.y1,d .width,d.height),this._e ventManager.ghostCtx.cli p());for(var p=0;p<a.dat aSeriesIndexes.length;p+ +){var h=a.dataSeriesInd exes[p],l=this.data[h],m =l.dataPoints;1==m.lengt h&&(c=k);1>c?c=1:c>k&&(c =k);if(0<m.length){b.str okeStyle="#4572A7 ";Math .pow(0.3*Math.min(d.heig ht,d.width)/2,2);for(var n=0,q=0,e=0;e<m.length; e++)if(f=m[e].getTime?f= m[e].x.getTime():f=m[e]. x,!(f<a.axisX.dataInfo.v iewPortMin||f>a.axisX.da taInfo.viewPortMax)&&"nu mber"===typeof m[e].y){f =a.axisX.conversionParam eters.reference+ a.axisX .conversionParameters.pi xelPerUnit*(f-a.axisX.co nversionParameters.minim um)+0.5<<0;g=a.axisY.con versionParameters.refere nce+a.axisY.conversionPa rameters.pixelPerUnit*(m [e].y-a.axisY.conversion Parameters.minimum)+0.5< <0;var r=l.getMarkerProp erties(e,f,g,b);b.global Alpha=l.fillOpacity;K.dr awMarker(r.x,r.y,r.ctx,r .type,r.size,r.color,r.b orderColor,r.borderThick ness);b.globalAlpha=1;Ma th.sqrt((n-f)*(n-f)+(q-g )*(q-g))<Math.min(r.size ,5)&&m.length>Math.min(t his.plotArea.width,this. plotArea.height)|| (n=l. dataPointIds[e],this._ev entManager.objectMap[n]= {id:n,objectType:"dataPo int",dataSeriesIndex:h,d ataPointIndex:e,x1:f,y1: g},n=B(n),t&&K.drawMarke r(r.x,r.y,this._eventMan ager.ghostCtx,r.type,r.s ize,n,n,r.borderThicknes s),(m[e].indexLabel||l.i ndexLabel||m[e].indexLab elFormatter||l.indexLabe lFormatter)&&this._index Labels.push({chartType:" scatter",dataPoint:m[e], dataSeries:l,point:{x:f, y:g},direction:1,bounds: {x1:f-r.size/2,y1:g-r.si ze/2,x2:f+r.size/2,y2:g+ r.size/2},color:null}),n =f,q=g)}}}b.restore(); t &&this._eventManager.gho stCtx.restore();return{s ource:b,dest:this.plotAr ea.ctx,animationCallback :A.fadeInAnimation,easin gFunction:A.easing.easeI nQuad,animationBase:0}}} ;u.prototype.renderCandl estick=function(a){var b =a.targetCanvasCtx||this .plotArea.ctx,c=this._ev entManager.ghostCtx;if(! (0>=a.dataSeriesIndexes. length)){var d=null,d=th is.plotArea,e=0,f,g,k,p, h,l,e=this.dataPointMinW idth?this.dataPointMinWi dth:this.dataPointWidth? this.dataPointWidth:1;f= this.dataPointMaxWidth?t his.dataPointMaxWidth: t his.dataPointWidth?this. dataPointWidth:0.015*thi s.width;var m=a.axisX.da taInfo.minDiff;isFinite( m)||(m=0.3*Math.abs(a.ax isX.viewportMaximum-a.ax isX.viewportMinimum));m= this.dataPointWidth?this .dataPointWidth:0.7*d.wi dth/Math.abs(a.axisX.vie wportMaximum-a.axisX.vie wportMinimum)*Math.abs(m )<<0;this.dataPointMaxWi dth&&e>f&&(e=Math.min(th is.dataPointWidth?this.d ataPointWidth:Infinity,f ));!this.dataPointMaxWid th&&(this.dataPointMinWi dth&&f<e)&&(f=Math.max(t his.dataPointWidth?this. dataPointWidth:-Infinity , e));m<e&&(m=e);m>f&&(m =f);b.save();t&&c.save() ;b.beginPath();b.rect(d. x1,d.y1,d.width,d.height );b.clip();t&&(c.rect(d. x1,d.y1,d.width,d.height ),c.clip());for(var n=0; n<a.dataSeriesIndexes.le ngth;n++){var q=a.dataSe riesIndexes[n],r=this.da ta[q],s=r.dataPoints;if( 0<s.length)for(var w=5<m &&r.bevelEnabled?!0:!1,e =0;e<s.length;e++)if(s[e ].getTime?l=s[e].x.getTi me():l=s[e].x,!(l<a.axis X.dataInfo.viewPortMin|| l>a.axisX.dataInfo.viewP ortMax)&&null!==s[e].y&& s[e].y.length&&"number"= ==typeof s[e].y[0]&&"num ber"=== typeof s[e].y[1] &&"number"===typeof s[e] .y[2]&&"number"===typeof s[e].y[3]){f=a.axisX.co nversionParameters.refer ence+a.axisX.conversionP arameters.pixelPerUnit*( l-a.axisX.conversionPara meters.minimum)+0.5<<0;g =a.axisY.conversionParam eters.reference+a.axisY. conversionParameters.pix elPerUnit*(s[e].y[0]-a.a xisY.conversionParameter s.minimum)+0.5<<0;k=a.ax isY.conversionParameters .reference+a.axisY.conve rsionParameters.pixelPer Unit*(s[e].y[1]-a.axisY. conversionParameters.min imum)+0.5<<0;p=a.axisY.c onversionParameters.refe rence+ a.axisY.conversio nParameters.pixelPerUnit *(s[e].y[2]-a.axisY.conv ersionParameters.minimum )+0.5<<0;h=a.axisY.conve rsionParameters.referenc e+a.axisY.conversionPara meters.pixelPerUnit*(s[e ].y[3]-a.axisY.conversio nParameters.minimum)+0.5 <<0;var v=f-m/2<<0,x=v+m <<0,d=s[e].color?s[e].co lor:r._colorSet[0],E=Mat h.round(Math.max(1,0.15* m)),u=0===E%2?0:0.5,z=r. dataPointIds[e];this._ev entManager.objectMap[z]= {id:z,objectType:"dataPo int",dataSeriesIndex:q,d ataPointIndex:e,x1:v,y1: g,x2:x,y2:k,x3:f,y3:p,x4 :f,y4:h, borderThickness :E,color:d};b.strokeStyl e=d;b.beginPath();b.line Width=E;c.lineWidth=Math .max(E,4);"candlestick"= ==r.type?(b.moveTo(f-u,k ),b.lineTo(f-u,Math.min( g,h)),b.stroke(),b.moveT o(f-u,Math.max(g,h)),b.l ineTo(f-u,p),b.stroke(), I(b,v,Math.min(g,h),x,Ma th.max(g,h),s[e].y[0]<=s [e].y[3]?r.risingColor:d ,E,d,w,w,!1,!1,r.fillOpa city),t&&(d=B(z),c.strok eStyle=d,c.moveTo(f-u,k) ,c.lineTo(f-u,Math.min(g ,h)),c.stroke(),c.moveTo (f-u,Math.max(g,h)),c.li neTo(f-u,p),c.stroke(),I (c,v,Math.min(g,h),x,Mat h.max(g, h),d,0,null,!1, !1,!1,!1))):"ohlc"===r.t ype&&(b.moveTo(f-u,k),b. lineTo(f-u,p),b.stroke() ,b.beginPath(),b.moveTo( f,g),b.lineTo(v,g),b.str oke(),b.beginPath(),b.mo veTo(f,h),b.lineTo(x,h), b.stroke(),t&&(d=B(z),c. strokeStyle=d,c.moveTo(f -u,k),c.lineTo(f-u,p),c. stroke(),c.beginPath(),c .moveTo(f,g),c.lineTo(v, g),c.stroke(),c.beginPat h(),c.moveTo(f,h),c.line To(x,h),c.stroke()));(s[ e].indexLabel||r.indexLa bel||s[e].indexLabelForm atter||r.indexLabelForma tter)&&this._indexLabels .push({chartType:r.type, dataPoint:s[e], dataSeri es:r,point:{x:v+(x-v)/2, y:k},direction:1,bounds: {x1:v,y1:Math.min(k,p),x 2:x,y2:Math.max(k,p)},co lor:d})}}b.restore();t&& c.restore();return{sourc e:b,dest:this.plotArea.c tx,animationCallback:A.f adeInAnimation,easingFun ction:A.easing.easeInQua d,animationBase:0}}};u.p rototype.renderRangeColu mn=function(a){var b=a.t argetCanvasCtx||this.plo tArea.ctx;if(!(0>=a.data SeriesIndexes.length)){v ar c=null,d=this.plotAre a,e=0,f,g,e=this.dataPoi ntMinWidth?this.dataPoin tMinWidth:this.dataPoint Width?this.dataPointWidt h: 1;f=this.dataPointMax Width?this.dataPointMaxW idth:this.dataPointWidth ?this.dataPointWidth:0.0 3*this.width;var k=a.axi sX.dataInfo.minDiff;isFi nite(k)||(k=0.3*Math.abs (a.axisX.viewportMaximum -a.axisX.viewportMinimum ));k=this.dataPointWidth ?this.dataPointWidth:0.9 *(d.width/Math.abs(a.axi sX.viewportMaximum-a.axi sX.viewportMinimum)*Math .abs(k)/a.plotType.total DataSeries)<<0;this.data PointMaxWidth&&e>f&&(e=M ath.min(this.dataPointWi dth?this.dataPointWidth: Infinity,f));!this.dataP ointMaxWidth&&(this.data PointMinWidth&& f<e)&&(f =Math.max(this.dataPoint Width?this.dataPointWidt h:-Infinity,e));k<e&&(k= e);k>f&&(k=f);b.save();t &&this._eventManager.gho stCtx.save();b.beginPath ();b.rect(d.x1,d.y1,d.wi dth,d.height);b.clip();t &&(this._eventManager.gh ostCtx.rect(d.x1,d.y1,d. width,d.height),this._ev entManager.ghostCtx.clip ());for(var p=0;p<a.data SeriesIndexes.length;p++ ){var h=a.dataSeriesInde xes[p],l=this.data[h],m= l.dataPoints;if(0<m.leng th)for(var n=5<k&&l.beve lEnabled?!0:!1,e=0;e<m.l ength;e++)if(m[e].getTim e?g=m[e].x.getTime(): g= m[e].x,!(g<a.axisX.dataI nfo.viewPortMin||g>a.axi sX.dataInfo.viewPortMax) &&null!==m[e].y&&m[e].y. length&&"number"===typeo f m[e].y[0]&&"number"=== typeof m[e].y[1]){c=a.ax isX.conversionParameters .reference+a.axisX.conve rsionParameters.pixelPer Unit*(g-a.axisX.conversi onParameters.minimum)+0. 5<<0;d=a.axisY.conversio nParameters.reference+a. axisY.conversionParamete rs.pixelPerUnit*(m[e].y[ 0]-a.axisY.conversionPar ameters.minimum)+0.5<<0; f=a.axisY.conversionPara meters.reference+a.axisY .conversionParameters.pi xelPerUnit* (m[e].y[1]-a .axisY.conversionParamet ers.minimum)+0.5<<0;var q=c-a.plotType.totalData Series*k/2+(a.previousDa taSeriesCount+p)*k<<0,r= q+k<<0,c=m[e].color?m[e] .color:l._colorSet[e%l._ colorSet.length];if(d>f) {var s=d,d=f;f=s}s=l.dat aPointIds[e];this._event Manager.objectMap[s]={id :s,objectType:"dataPoint ",dataSeriesIndex:h,data PointIndex:e,x1:q,y1:d,x 2:r,y2:f};I(b,q,d,r,f,c, 0,c,n,n,!1,!1,l.fillOpac ity);c=B(s);t&&I(this._e ventManager.ghostCtx,q,d ,r,f,c,0,null,!1,!1,!1,! 1);if(m[e].indexLabel||l .indexLabel|| m[e].index LabelFormatter||l.indexL abelFormatter)this._inde xLabels.push({chartType: "rangeColumn",dataPoint: m[e],dataSeries:l,indexK eyword:0,point:{x:q+(r-q )/2,y:m[e].y[1]>=m[e].y[ 0]?f:d},direction:m[e].y [1]>=m[e].y[0]?-1:1,boun ds:{x1:q,y1:Math.min(d,f ),x2:r,y2:Math.max(d,f)} ,color:c}),this._indexLa bels.push({chartType:"ra ngeColumn",dataPoint:m[e ],dataSeries:l,indexKeyw ord:1,point:{x:q+(r-q)/2 ,y:m[e].y[1]>=m[e].y[0]? d:f},direction:m[e].y[1] >=m[e].y[0]?1:-1,bounds: {x1:q,y1:Math.min(d,f),x 2:r,y2:Math.max(d, f)},c olor:c})}}b.restore();t& &this._eventManager.ghos tCtx.restore();return{so urce:b,dest:this.plotAre a.ctx,animationCallback: A.fadeInAnimation,easing Function:A.easing.easeIn Quad,animationBase:0}}}; u.prototype.renderRangeB ar=function(a){var b=a.t argetCanvasCtx||this.plo tArea.ctx;if(!(0>=a.data SeriesIndexes.length)){v ar c=null,d=this.plotAre a,e=0,f,g,k,e=this.dataP ointMinWidth?this.dataPo intMinWidth:this.dataPoi ntWidth?this.dataPointWi dth:1;f=this.dataPointMa xWidth?this.dataPointMax Width:this.dataPointWidt h? this.dataPointWidth:M ath.min(0.15*this.height ,0.9*(this.plotArea.heig ht/a.plotType.totalDataS eries))<<0;var p=a.axisX .dataInfo.minDiff;isFini te(p)||(p=0.3*Math.abs(a .axisX.viewportMaximum-a .axisX.viewportMinimum)) ;p=this.dataPointWidth?t his.dataPointWidth:0.9*( d.height/Math.abs(a.axis X.viewportMaximum-a.axis X.viewportMinimum)*Math. abs(p)/a.plotType.totalD ataSeries)<<0;this.dataP ointMaxWidth&&e>f&&(e=Ma th.min(this.dataPointWid th?this.dataPointWidth:I nfinity,f));!this.dataPo intMaxWidth&&(this.dataP ointMinWidth&& f<e)&&(f= Math.max(this.dataPointW idth?this.dataPointWidth :-Infinity,e));p<e&&(p=e );p>f&&(p=f);b.save();t& &this._eventManager.ghos tCtx.save();b.beginPath( );b.rect(d.x1,d.y1,d.wid th,d.height);b.clip();t& &(this._eventManager.gho stCtx.rect(d.x1,d.y1,d.w idth,d.height),this._eve ntManager.ghostCtx.clip( ));for(var h=0;h<a.dataS eriesIndexes.length;h++) {var l=a.dataSeriesIndex es[h],m=this.data[l],n=m .dataPoints;if(0<n.lengt h){var q=5<p&&m.bevelEna bled?!0:!1;b.strokeStyle ="#4572A7 ";for(e=0;e<n. length;e++)if(n[e].getTi me? k=n[e].x.getTime():k =n[e].x,!(k<a.axisX.data Info.viewPortMin||k>a.ax isX.dataInfo.viewPortMax )&&null!==n[e].y&&n[e].y .length&&"number"===type of n[e].y[0]&&"number"== =typeof n[e].y[1]){d=a.a xisY.conversionParameter s.reference+a.axisY.conv ersionParameters.pixelPe rUnit*(n[e].y[0]-a.axisY .conversionParameters.mi nimum)+0.5<<0;f=a.axisY. conversionParameters.ref erence+a.axisY.conversio nParameters.pixelPerUnit *(n[e].y[1]-a.axisY.conv ersionParameters.minimum )+0.5<<0;g=a.axisX.conve rsionParameters.referenc e+ a.axisX.conversionPar ameters.pixelPerUnit*(k- a.axisX.conversionParame ters.minimum)+0.5<<0;g=g -a.plotType.totalDataSer ies*p/2+(a.previousDataS eriesCount+h)*p<<0;var r =g+p<<0;d>f&&(c=d,d=f,f= c);c=n[e].color?n[e].col or:m._colorSet[e%m._colo rSet.length];I(b,d,g,f,r ,c,0,null,q,!1,!1,!1,m.f illOpacity);c=m.dataPoin tIds[e];this._eventManag er.objectMap[c]={id:c,ob jectType:"dataPoint",dat aSeriesIndex:l,dataPoint Index:e,x1:d,y1:g,x2:f,y 2:r};c=B(c);t&&I(this._e ventManager.ghostCtx,d,g ,f,r,c,0,null,!1,!1,!1,! 1); if(n[e].indexLabel|| m.indexLabel||n[e].index LabelFormatter||m.indexL abelFormatter)this._inde xLabels.push({chartType: "rangeBar",dataPoint:n[e ],dataSeries:m,indexKeyw ord:0,point:{x:n[e].y[1] >=n[e].y[0]?d:f,y:g+(r-g )/2},direction:n[e].y[1] >=n[e].y[0]?-1:1,bounds: {x1:Math.min(d,f),y1:g,x 2:Math.max(d,f),y2:r},co lor:c}),this._indexLabel s.push({chartType:"range Bar",dataPoint:n[e],data Series:m,indexKeyword:1, point:{x:n[e].y[1]>=n[e] .y[0]?f:d,y:g+(r-g)/2},d irection:n[e].y[1]>=n[e] .y[0]?1:-1,bounds:{x1:Ma th.min(d, f),y1:g,x2:Mat h.max(d,f),y2:r},color:c })}}}b.restore();t&&this ._eventManager.ghostCtx. restore();return{source: b,dest:this.plotArea.ctx ,animationCallback:A.fad eInAnimation,easingFunct ion:A.easing.easeInQuad, animationBase:0}}};u.pro totype.renderRangeArea=f unction(a){function b(){ if(w){var a=null;0<p.lin eThickness&&c.stroke();f or(var b=g.length-1;0<=b ;b--)a=g[b],c.lineTo(a.x ,a.y),d.lineTo(a.x,a.y); c.closePath();c.globalAl pha=p.fillOpacity;c.fill ();c.globalAlpha=1;d.fil l();if(0<p.lineThickness ){c.beginPath(); c.moveT o(a.x,a.y);for(b=0;b<g.l ength;b++)a=g[b],c.lineT o(a.x,a.y);c.stroke()}c. beginPath();c.moveTo(n,q );d.beginPath();d.moveTo (n,q);w={x:n,y:q};g=[];g .push({x:n,y:r})}}var c= a.targetCanvasCtx||this. plotArea.ctx;if(!(0>=a.d ataSeriesIndexes.length) ){var d=this._eventManag er.ghostCtx,e=[],f=this. plotArea;c.save();t&&d.s ave();c.beginPath();c.re ct(f.x1,f.y1,f.width,f.h eight);c.clip();t&&(d.be ginPath(),d.rect(f.x1,f. y1,f.width,f.height),d.c lip());for(f=0;f<a.dataS eriesIndexes.length;f++) {var g=[],k=a.dataSeries Indexes[f], p=this.data[ k],h=p.dataPoints,e=p.id ;this._eventManager.obje ctMap[e]={objectType:"da taSeries",dataSeriesInde x:k};e=B(e);d.fillStyle= e;var e=[],l=!0,m=0,n,q, r,s,w=null;if(0<h.length ){var v=p._colorSet[m%p. _colorSet.length];c.fill Style=v;c.strokeStyle=v; c.lineWidth=p.lineThickn ess;c.setLineDash&&c.set LineDash(M(p.lineDashTyp e,p.lineThickness));for( var x=!0;m<h.length;m++) if(s=h[m].x.getTime?h[m] .x.getTime():h[m].x,!(s< a.axisX.dataInfo.viewPor tMin||s>a.axisX.dataInfo .viewPortMax))if(null!== h[m].y&&h[m].y.length&& "number"===typeof h[m].y [0]&&"number"===typeof h [m].y[1]){n=a.axisX.conv ersionParameters.referen ce+a.axisX.conversionPar ameters.pixelPerUnit*(s- a.axisX.conversionParame ters.minimum)+0.5<<0;q=a .axisY.conversionParamet ers.reference+a.axisY.co nversionParameters.pixel PerUnit*(h[m].y[0]-a.axi sY.conversionParameters. minimum)+0.5<<0;r=a.axis Y.conversionParameters.r eference+a.axisY.convers ionParameters.pixelPerUn it*(h[m].y[1]-a.axisY.co nversionParameters.minim um)+0.5<<0;l||x?(c.begin Path(),c.moveTo(n,q), w= {x:n,y:q},g=[],g.push({x :n,y:r}),t&&(d.beginPath (),d.moveTo(n,q)),x=l=!1 ):(c.lineTo(n,q),g.push( {x:n,y:r}),t&&d.lineTo(n ,q),0==m%250&&b());s=p.d ataPointIds[m];this._eve ntManager.objectMap[s]={ id:s,objectType:"dataPoi nt",dataSeriesIndex:k,da taPointIndex:m,x1:n,y1:q ,y2:r};if(0!==h[m].marke rSize&&(0<h[m].markerSiz e||0<p.markerSize)){var u=p.getMarkerProperties( m,n,r,c);e.push(u);var y =B(s);t&&e.push({x:n,y:r ,ctx:d,type:u.type,size: u.size,color:y,borderCol or:y,borderThickness:u.b orderThickness});u= p.ge tMarkerProperties(m,n,q, c);e.push(u);y=B(s);t&&e .push({x:n,y:q,ctx:d,typ e:u.type,size:u.size,col or:y,borderColor:y,borde rThickness:u.borderThick ness})}if(h[m].indexLabe l||p.indexLabel||h[m].in dexLabelFormatter||p.ind exLabelFormatter)this._i ndexLabels.push({chartTy pe:"rangeArea",dataPoint :h[m],dataSeries:p,index Keyword:0,point:{x:n,y:q },direction:h[m].y[0]<=h [m].y[1]?-1:1,color:v}), this._indexLabels.push({ chartType:"rangeArea",da taPoint:h[m],dataSeries: p,indexKeyword:1,point:{ x:n,y:r},direction:h[m]. y[0]<= h[m].y[1]?1:-1,co lor:v})}else b(),x=!0;b( );K.drawMarkers(e)}}c.re store();t&&this._eventMa nager.ghostCtx.restore() ;return{source:c,dest:th is.plotArea.ctx,animatio nCallback:A.xClipAnimati on,easingFunction:A.easi ng.linear,animationBase: 0}}};u.prototype.renderR angeSplineArea=function( a){function b(){var a=ia (q,2);if(0<a.length){c.b eginPath();c.moveTo(a[0] .x,a[0].y);t&&(d.beginPa th(),d.moveTo(a[0].x,a[0 ].y));for(var b=0;b<a.le ngth-3;b+=3)c.bezierCurv eTo(a[b+1].x,a[b+1].y,a[ b+2].x,a[b+2].y,a[b+3].x ,a[b+ 3].y),t&&d.bezierC urveTo(a[b+1].x,a[b+1].y ,a[b+2].x,a[b+2].y,a[b+3 ].x,a[b+3].y);0<k.lineTh ickness&&c.stroke();a=ia (r,2);c.lineTo(r[r.lengt h-1].x,r[r.length-1].y); for(b=a.length-1;2<b;b-= 3)c.bezierCurveTo(a[b-1] .x,a[b-1].y,a[b-2].x,a[b -2].y,a[b-3].x,a[b-3].y) ,t&&d.bezierCurveTo(a[b- 1].x,a[b-1].y,a[b-2].x,a [b-2].y,a[b-3].x,a[b-3]. y);c.closePath();c.globa lAlpha=k.fillOpacity;c.f ill();c.globalAlpha=1;if (0<k.lineThickness){c.be ginPath();c.moveTo(r[r.l ength-1].x,r[r.length-1] .y);for(b=a.length-1;2<b ;b-= 3)c.bezierCurveTo(a [b-1].x,a[b-1].y,a[b-2]. x,a[b-2].y,a[b-3].x,a[b- 3].y),t&&d.bezierCurveTo (a[b-1].x,a[b-1].y,a[b-2 ].x,a[b-2].y,a[b-3].x,a[ b-3].y);c.stroke()}c.beg inPath();t&&(d.closePath (),d.fill())}}var c=a.ta rgetCanvasCtx||this.plot Area.ctx;if(!(0>=a.dataS eriesIndexes.length)){va r d=this._eventManager.g hostCtx,e=[],f=this.plot Area;c.save();t&&d.save( );c.beginPath();c.rect(f .x1,f.y1,f.width,f.heigh t);c.clip();t&&(d.beginP ath(),d.rect(f.x1,f.y1,f .width,f.height),d.clip( ));for(f=0;f<a.dataSerie sIndexes.length;f++){var g= a.dataSeriesIndexes[ f],k=this.data[g],p=k.da taPoints,e=k.id;this._ev entManager.objectMap[e]= {objectType:"dataSeries" ,dataSeriesIndex:g};e=B( e);d.fillStyle=e;var e=[ ],h=0,l,m,n,q=[],r=[];if (0<p.length){color=k._co lorSet[h%k._colorSet.len gth];c.fillStyle=color;c .strokeStyle=color;c.lin eWidth=k.lineThickness;f or(c.setLineDash&&c.setL ineDash(M(k.lineDashType ,k.lineThickness));h<p.l ength;h++)if(l=p[h].x.ge tTime?p[h].x.getTime():p [h].x,!(l<a.axisX.dataIn fo.viewPortMin||l>a.axis X.dataInfo.viewPortMax)) if(null!== p[h].y&&p[h]. y.length&&"number"===typ eof p[h].y[0]&&"number"= ==typeof p[h].y[1]){l=a. axisX.conversionParamete rs.reference+a.axisX.con versionParameters.pixelP erUnit*(l-a.axisX.conver sionParameters.minimum)+ 0.5<<0;m=a.axisY.convers ionParameters.reference+ a.axisY.conversionParame ters.pixelPerUnit*(p[h]. y[0]-a.axisY.conversionP arameters.minimum)+0.5<< 0;n=a.axisY.conversionPa rameters.reference+a.axi sY.conversionParameters. pixelPerUnit*(p[h].y[1]- a.axisY.conversionParame ters.minimum)+0.5<<0;var s=k.dataPointIds[h]; th is._eventManager.objectM ap[s]={id:s,objectType:" dataPoint",dataSeriesInd ex:g,dataPointIndex:h,x1 :l,y1:m,y2:n};q[q.length ]={x:l,y:m};r[r.length]= {x:l,y:n};if(0!==p[h].ma rkerSize&&(0<p[h].marker Size||0<k.markerSize)){v ar w=k.getMarkerProperti es(h,l,m,c);e.push(w);va r v=B(s);t&&e.push({x:l, y:m,ctx:d,type:w.type,si ze:w.size,color:v,border Color:v,borderThickness: w.borderThickness});w=k. getMarkerProperties(h,l, n,c);e.push(w);v=B(s);t& &e.push({x:l,y:n,ctx:d,t ype:w.type,size:w.size,c olor:v,borderColor:v, bo rderThickness:w.borderTh ickness})}if(p[h].indexL abel||k.indexLabel||p[h] .indexLabelFormatter||k. indexLabelFormatter)this ._indexLabels.push({char tType:"splineArea",dataP oint:p[h],dataSeries:k,i ndexKeyword:0,point:{x:l ,y:m},direction:p[h].y[0 ]<=p[h].y[1]?-1:1,color: color}),this._indexLabel s.push({chartType:"splin eArea",dataPoint:p[h],da taSeries:k,indexKeyword: 1,point:{x:l,y:n},direct ion:p[h].y[0]<=p[h].y[1] ?1:-1,color:color})}else 0<h&&(b(),q=[],r=[]);b( );K.drawMarkers(e)}}c.re store();t&&this._eventMa nager.ghostCtx.restore() ; return{source:c,dest:t his.plotArea.ctx,animati onCallback:A.xClipAnimat ion,easingFunction:A.eas ing.linear,animationBase :0}}};var sa=function(a, b,c,d,e,f,g,k,p){"undefi ned"===typeof k&&(k=1);i f(!t){var h=Number((g%(2 *Math.PI)).toFixed(8));N umber((f%(2*Math.PI)).to Fixed(8))===h&&(g-=1E-4) }a.save();a.globalAlpha= k;"pie"===e?(a.beginPath (),a.moveTo(b.x,b.y),a.a rc(b.x,b.y,c,f,g,!1),a.f illStyle=d,a.strokeStyle ="white",a.lineWidth=2,a .closePath(),a.fill()):" doughnut"===e&&(a.beginP ath(),a.arc(b.x,b.y,c,f, g,!1),a.arc(b.x,b.y,p*c ,g,f,!0),a.closePath(),a .fillStyle=d,a.strokeSty le="white",a.lineWidth=2 ,a.fill());a.globalAlpha =1;a.restore()};u.protot ype.renderPie=function(a ){function b(){if(h&&l){ var a=0,b=0,c=0,d=0;for( y=0;y<l.length;y++){var e=l[y],f=h.dataPointIds[ y],g={id:f,objectType:"d ataPoint",dataPointIndex :y,dataSeriesIndex:0};q. push(g);var k={percent:n ull,total:null},m=null,k =p.getPercentAndTotal(h, e);if(h.indexLabelFormat ter||e.indexLabelFormatt er)m={chart:p._options,d ataSeries:h,dataPoint:e, total:k.total,percent:k .percent};k=e.indexLabel Formatter?e.indexLabelFo rmatter(m):e.indexLabel? p.replaceKeywordsWithVal ue(e.indexLabel,e,h,y):h .indexLabelFormatter?h.i ndexLabelFormatter(m):h. indexLabel?p.replaceKeyw ordsWithValue(h.indexLab el,e,h,y):e.label?e.labe l:"";p._eventManager.obj ectMap[f]=g;g.center={x: x.x,y:x.y};g.y=e.y;g.rad ius=z;g.percentInnerRadi us=D;g.indexLabelText=k; g.indexLabelPlacement=h. indexLabelPlacement;g.in dexLabelLineColor=e.inde xLabelLineColor?e.indexL abelLineColor:h.indexLab elLineColor? h.indexLabe lLineColor:e.color?e.col or:h._colorSet[y%h._colo rSet.length];g.indexLabe lLineThickness=P(e.index LabelLineThickness)?h.in dexLabelLineThickness:e. indexLabelLineThickness; g.indexLabelLineDashType =e.indexLabelLineDashTyp e?e.indexLabelLineDashTy pe:h.indexLabelLineDashT ype;g.indexLabelFontColo r=e.indexLabelFontColor? e.indexLabelFontColor:h. indexLabelFontColor;g.in dexLabelFontStyle=e.inde xLabelFontStyle?e.indexL abelFontStyle:h.indexLab elFontStyle;g.indexLabel FontWeight=e.indexLabelF ontWeight? e.indexLabelF ontWeight:h.indexLabelFo ntWeight;g.indexLabelFon tSize=e.indexLabelFontSi ze?e.indexLabelFontSize: h.indexLabelFontSize;g.i ndexLabelFontFamily=e.in dexLabelFontFamily?e.ind exLabelFontFamily:h.inde xLabelFontFamily;g.index LabelBackgroundColor=e.i ndexLabelBackgroundColor ?e.indexLabelBackgroundC olor:h.indexLabelBackgro undColor?h.indexLabelBac kgroundColor:null;g.inde xLabelMaxWidth=e.indexLa belMaxWidth?e.indexLabel MaxWidth:h.indexLabelMax Width?h.indexLabelMaxWid th:0.33*n.width;g.indexL abelWrap= "undefined"!== typeof e.indexLabelWrap? e.indexLabelWrap:h.index LabelWrap;g.startAngle=0 ===y?h.startAngle?h.star tAngle/180*Math.PI:0:q[y -1].endAngle;g.startAngl e=(g.startAngle+2*Math.P I)%(2*Math.PI);g.endAngl e=g.startAngle+2*Math.PI /u*Math.abs(e.y);e=(g.en dAngle+g.startAngle)/2;e =(e+2*Math.PI)%(2*Math.P I);g.midAngle=e;if(g.mid Angle>Math.PI/2-t&&g.mid Angle<Math.PI/2+t){if(0= ==a||q[c].midAngle>g.mid Angle)c=y;a++}else if(g. midAngle>3*Math.PI/2-t&& g.midAngle<3*Math.PI/2+t ){if(0===b||q[d].midAngl e>g.midAngle)d= y;b++}g. hemisphere=e>Math.PI/2&& e<=3*Math.PI/2?"left":"r ight";g.indexLabelTextBl ock=new H(p.plotArea.ctx ,{fontSize:g.indexLabelF ontSize,fontFamily:g.ind exLabelFontFamily,fontCo lor:g.indexLabelFontColo r,fontStyle:g.indexLabel FontStyle,fontWeight:g.i ndexLabelFontWeight,hori zontalAlign:"left",backg roundColor:g.indexLabelB ackgroundColor,maxWidth: g.indexLabelMaxWidth,max Height:g.indexLabelWrap? 5*g.indexLabelFontSize:1 .5*g.indexLabelFontSize, text:g.indexLabelText,pa dding:0,textBaseline:"to p"});g.indexLabelTextBlo ck.measureText()}f= e=0; k=!1;for(y=0;y<l.length; y++)g=q[(c+y)%l.length], 1<a&&(g.midAngle>Math.PI /2-t&&g.midAngle<Math.PI /2+t)&&(e<=a/2&&!k?(g.he misphere="right",e++):(g .hemisphere="left",k=!0) );k=!1;for(y=0;y<l.lengt h;y++)g=q[(d+y)%l.length ],1<b&&(g.midAngle>3*Mat h.PI/2-t&&g.midAngle<3*M ath.PI/2+t)&&(f<=b/2&&!k ?(g.hemisphere="left",f+ +):(g.hemisphere="right" ,k=!0))}}function c(a){v ar b=p.plotArea.ctx;b.cl earRect(n.x1,n.y1,n.widt h,n.height);b.fillStyle= p.backgroundColor;b.fill Rect(n.x1,n.y1,n.width,n .height);for(b=0;b< l.le ngth;b++){var c=q[b].sta rtAngle,d=q[b].endAngle; if(d>c){var e=0.07*z*Mat h.cos(q[b].midAngle),f=0 .07*z*Math.sin(q[b].midA ngle),g=!1;if(l[b].explo ded){if(1E-9<Math.abs(q[ b].center.x-(x.x+e))||1E -9<Math.abs(q[b].center. y-(x.y+f)))q[b].center.x =x.x+e*a,q[b].center.y=x .y+f*a,g=!0}else if(0<Ma th.abs(q[b].center.x-x.x )||0<Math.abs(q[b].cente r.y-x.y))q[b].center.x=x .x+e*(1-a),q[b].center.y =x.y+f*(1-a),g=!0;g&&(e= {},e.dataSeries=h,e.data Point=h.dataPoints[b],e. index=b,p._toolTip.highl ightObjects([e])); sa(p. plotArea.ctx,q[b].center ,q[b].radius,l[b].color? l[b].color:h._colorSet[b %h._colorSet.length],h.t ype,c,d,h.fillOpacity,q[ b].percentInnerRadius)}} a=p.plotArea.ctx;a.save( );a.fillStyle="black";a. strokeStyle="grey";a.tex tBaseline="middle";a.lin eJoin="round";for(b=b=0; b<l.length;b++)c=q[b],c. indexLabelText&&(c.index LabelTextBlock.y-=c.inde xLabelTextBlock.height/2 ,d=0,d="left"===c.hemisp here?"inside"!==h.indexL abelPlacement?-(c.indexL abelTextBlock.width+m):- c.indexLabelTextBlock.wi dth/2:"inside"!== h.inde xLabelPlacement?m:-c.ind exLabelTextBlock.width/2 ,c.indexLabelTextBlock.x +=d,c.indexLabelTextBloc k.render(!0),c.indexLabe lTextBlock.x-=d,c.indexL abelTextBlock.y+=c.index LabelTextBlock.height/2, "inside"!==c.indexLabelP lacement&&0<c.indexLabel LineThickness&&(d=c.cent er.x+z*Math.cos(c.midAng le),e=c.center.y+z*Math. sin(c.midAngle),a.stroke Style=c.indexLabelLineCo lor,a.lineWidth=c.indexL abelLineThickness,a.setL ineDash&&a.setLineDash(M (c.indexLabelLineDashTyp e,c.indexLabelLineThickn ess)),a.beginPath(), a.m oveTo(d,e),a.lineTo(c.in dexLabelTextBlock.x,c.in dexLabelTextBlock.y),a.l ineTo(c.indexLabelTextBl ock.x+("left"===c.hemisp here?-m:m),c.indexLabelT extBlock.y),a.stroke()), a.lineJoin="miter");a.sa ve()}function d(a,b){var c=0,c=a.indexLabelTextB lock.y-a.indexLabelTextB lock.height/2,d=a.indexL abelTextBlock.y+a.indexL abelTextBlock.height/2,e =b.indexLabelTextBlock.y -b.indexLabelTextBlock.h eight/2,f=b.indexLabelTe xtBlock.y+b.indexLabelTe xtBlock.height/2;return c=b.indexLabelTextBlock. y>a.indexLabelTextBlock. y? e-d:c-f}function e(a) {for(var b=null,c=1;c<l. length;c++)if(b=(a+c+q.l ength)%q.length,q[b].hem isphere!==q[a].hemispher e){b=null;break}else if( q[b].indexLabelText&&b!= =a&&(0>d(q[b],q[a])||("r ight"===q[a].hemisphere? q[b].indexLabelTextBlock .y>=q[a].indexLabelTextB lock.y:q[b].indexLabelTe xtBlock.y<=q[a].indexLab elTextBlock.y)))break;el se b=null;return b}funct ion f(a,b,c){c=(c||0)+1; if(1E3<c)return 0;b=b||0 ;var g=0,h=x.y-1*indexLa belRadius,k=x.y+1*indexL abelRadius;if(0<=a&&a<l. length){var m=q[a];if(0> b&&m.indexLabelTextBloc k.y<h||0<b&&m.indexLabel TextBlock.y>k)return 0;v ar n=0,p=0,p=n=n=0;0>b?m .indexLabelTextBlock.y-m .indexLabelTextBlock.hei ght/2>h&&m.indexLabelTex tBlock.y-m.indexLabelTex tBlock.height/2+b<h&&(b= -(h-(m.indexLabelTextBlo ck.y-m.indexLabelTextBlo ck.height/2+b))):m.index LabelTextBlock.y+m.index LabelTextBlock.height/2< h&&m.indexLabelTextBlock .y+m.indexLabelTextBlock .height/2+b>k&&(b=m.inde xLabelTextBlock.y+m.inde xLabelTextBlock.height/2 +b-k);b=m.indexLabelText Block.y+b;h=0;h="right"= == m.hemisphere?x.x+Math .sqrt(Math.pow(indexLabe lRadius,2)-Math.pow(b-x. y,2)):x.x-Math.sqrt(Math .pow(indexLabelRadius,2) -Math.pow(b-x.y,2));p=x. x+z*Math.cos(m.midAngle) ;n=x.y+z*Math.sin(m.midA ngle);n=Math.sqrt(Math.p ow(h-p,2)+Math.pow(b-n,2 ));p=Math.acos(z/indexLa belRadius);n=Math.acos(( indexLabelRadius*indexLa belRadius+z*z-n*n)/(2*z* indexLabelRadius));b=n<p ?b-m.indexLabelTextBlock .y:0;h=null;for(k=1;k<l. length;k++)if(h=(a-k+q.l ength)%q.length,q[h].hem isphere!==q[a].hemispher e){h=null;break}else if( q[h].indexLabelText&& q[ h].hemisphere===q[a].hem isphere&&h!==a&&(0>d(q[h ],q[a])||("right"===q[a] .hemisphere?q[h].indexLa belTextBlock.y<=q[a].ind exLabelTextBlock.y:q[h]. indexLabelTextBlock.y>=q [a].indexLabelTextBlock. y)))break;else h=null;p= h;n=e(a);k=h=0;0>b?(k="r ight"===m.hemisphere?p:n ,g=b,null!==k&&(p=-b,b=m .indexLabelTextBlock.y-m .indexLabelTextBlock.hei ght/2-(q[k].indexLabelTe xtBlock.y+q[k].indexLabe lTextBlock.height/2),b-p <r&&(h=-p,k=f(k,h,c+1),+ k.toFixed(v)>+h.toFixed( v)&&(g=b>r?-(b-r):-(p-(k -h)))))):0<b&&(k="right" === m.hemisphere?n:p,g=b ,null!==k&&(p=b,b=q[k].i ndexLabelTextBlock.y-q[k ].indexLabelTextBlock.he ight/2-(m.indexLabelText Block.y+m.indexLabelText Block.height/2),b-p<r&&( h=p,k=f(k,h,c+1),+k.toFi xed(v)<+h.toFixed(v)&&(g =b>r?b-r:p-(h-k)))));g&& (c=m.indexLabelTextBlock .y+g,b=0,b="right"===m.h emisphere?x.x+Math.sqrt( Math.pow(indexLabelRadiu s,2)-Math.pow(c-x.y,2)): x.x-Math.sqrt(Math.pow(i ndexLabelRadius,2)-Math. pow(c-x.y,2)),m.midAngle >Math.PI/2-t&&m.midAngle <Math.PI/2+t?(h=(a-1+q.l ength)%q.length,h=q[h],a = q[(a+1+q.length)%q.len gth],"left"===m.hemisphe re&&"right"===h.hemisphe re&&b>h.indexLabelTextBl ock.x?b=h.indexLabelText Block.x-15:"right"===m.h emisphere&&("left"===a.h emisphere&&b<a.indexLabe lTextBlock.x)&&(b=a.inde xLabelTextBlock.x+15)):m .midAngle>3*Math.PI/2-t& &m.midAngle<3*Math.PI/2+ t&&(h=(a-1+q.length)%q.l ength,h=q[h],a=q[(a+1+q. length)%q.length],"right "===m.hemisphere&&"left" ===h.hemisphere&&b<h.ind exLabelTextBlock.x?b=h.i ndexLabelTextBlock.x+15: "left"===m.hemisphere&&( "right"===a.hemisphere&& b>a.indexLabelTextBlock .x)&&(b=a.indexLabelText Block.x-15)),m.indexLabe lTextBlock.y=c,m.indexLa belTextBlock.x=b,m.index LabelAngle=Math.atan2(m. indexLabelTextBlock.y-x. y,m.indexLabelTextBlock. x-x.x))}return g}functio n g(){var a=p.plotArea.c tx;a.fillStyle="grey";a. strokeStyle="grey";a.fon t="16px Arial";a.textBas eline="middle";for(var b =a=0,c=0,g=!0,b=0;10>b&& (1>b||0<c);b++){if(h.rad ius||!h.radius&&"undefin ed"!==typeof h.innerRadi us&&null!==h.innerRadius &&z-c<=A)g=!1;g&&(z-=c); c=0;if("inside"!==h.inde xLabelPlacement){indexLa belRadius= z*s;for(a=0;a <l.length;a++){var k=q[a ];k.indexLabelTextBlock. x=x.x+indexLabelRadius*M ath.cos(k.midAngle);k.in dexLabelTextBlock.y=x.y+ indexLabelRadius*Math.si n(k.midAngle);k.indexLab elAngle=k.midAngle;k.rad ius=z;k.percentInnerRadi us=D}for(var t,w,a=0;a<l .length;a++){var k=q[a], u=e(a);if(null!==u){t=q[ a];w=q[u];var y=0,y=d(t, w)-r;if(0>y){for(var B=w =0,C=0;C<l.length;C++)C! ==a&&q[C].hemisphere===k .hemisphere&&(q[C].index LabelTextBlock.y<k.index LabelTextBlock.y?w++:B++ );w=y/(w+B||1)*B;var B=- 1*(y-w), E=C=0;"right"== =k.hemisphere?(C=f(a,w), B=-1*(y-C),E=f(u,B),+E.t oFixed(v)<+B.toFixed(v)& &+C.toFixed(v)<=+w.toFix ed(v)&&f(a,-(B-E))):(C=f (u,w),B=-1*(y-C),E=f(a,B ),+E.toFixed(v)<+B.toFix ed(v)&&+C.toFixed(v)<=+w .toFixed(v)&&f(u,-(B-E)) )}}}}else for(a=0;a<l.le ngth;a++)k=q[a],indexLab elRadius="pie"===h.type? 0.7*z:0.8*z,u=x.x+indexL abelRadius*Math.cos(k.mi dAngle),w=x.y+indexLabel Radius*Math.sin(k.midAng le),k.indexLabelTextBloc k.x=u,k.indexLabelTextBl ock.y=w;for(a=0;a<l.leng th;a++)if(k=q[a],u=k.ind exLabelTextBlock.measure Text(), 0!==u.height&&0! ==u.width)u=u=0,"right"= ==k.hemisphere?(u=n.x2-( k.indexLabelTextBlock.x+ k.indexLabelTextBlock.wi dth+m),u*=-1):u=n.x1-(k. indexLabelTextBlock.x-k. indexLabelTextBlock.widt h-m),0<u&&(!g&&k.indexLa belText&&(w="right"===k. hemisphere?n.x2-k.indexL abelTextBlock.x:k.indexL abelTextBlock.x-n.x1,0.3 *k.indexLabelTextBlock.m axWidth>w?k.indexLabelTe xt="":k.indexLabelTextBl ock.maxWidth=0.85*w,0.3* k.indexLabelTextBlock.ma xWidth<w&&(k.indexLabelT extBlock.x-="right"===k. hemisphere?2:-2)),Math.a bs(k.indexLabelTextBlock .y- k.indexLabelTextBloc k.height/2-x.y)<z||Math. abs(k.indexLabelTextBloc k.y+k.indexLabelTextBloc k.height/2-x.y)<z)&&(u/= Math.abs(Math.cos(k.inde xLabelAngle)),9<u&&(u*=0 .3),u>c&&(c=u)),u=u=0,0< k.indexLabelAngle&&k.ind exLabelAngle<Math.PI?(u= n.y2-(k.indexLabelTextBl ock.y+k.indexLabelTextBl ock.height/2+5),u*=-1):u =n.y1-(k.indexLabelTextB lock.y-k.indexLabelTextB lock.height/2-5),0<u&&(! g&&k.indexLabelText&&(w= 0<k.indexLabelAngle&&k.i ndexLabelAngle<Math.PI?- 1:1,0===f(a,u*w)&&f(a,2* w)),Math.abs(k.indexLabe lTextBlock.x- x.x)<z&&(u /=Math.abs(Math.sin(k.in dexLabelAngle)),9<u&&(u* =0.3),u>c&&(c=u)));var F =function(a,b,c){for(var d=[],e=0;d.push(q[b]),b !==c;b=(b+1+l.length)%l. length);d.sort(function( a,b){return a.y-b.y});fo r(b=0;b<d.length;b++)if( c=d[b],e<0.7*a)e+=c.inde xLabelTextBlock.height,c .indexLabelTextBlock.tex t="",c.indexLabelText="" ,c.indexLabelTextBlock.m easureText();else break} ;(function(){for(var a=- 1,b=-1,c=0,f=!1,g=0;g<l. length;g++)if(f=!1,t=q[g ],t.indexLabelText){var h=e(g);if(null!==h){var k=q[h];y=0; y=d(t,k);var n;if(n=0>y){n=t.indexLa belTextBlock.x;var p=t.i ndexLabelTextBlock.y-t.i ndexLabelTextBlock.heigh t/2,r=t.indexLabelTextBl ock.y+t.indexLabelTextBl ock.height/2,s=k.indexLa belTextBlock.y-k.indexLa belTextBlock.height/2,w= k.indexLabelTextBlock.x+ k.indexLabelTextBlock.wi dth,v=k.indexLabelTextBl ock.y+k.indexLabelTextBl ock.height/2;n=t.indexLa belTextBlock.x+t.indexLa belTextBlock.width<k.ind exLabelTextBlock.x-m||n> w+m||p>v+m||r<s-m?!1:!0} n?(0>a&&(a=g),h!==a&&(b= h,c+=-y),0===g%Math.max( l.length/ 10,3)&&(f=!0)) :f=!0;f&&(0<c&&0<=a&&0<= b)&&(F(c,a,b),b=a=-1,c=0 )}}0<c&&F(c,a,b)})()}}fu nction k(){p.plotArea.la youtManager.reset();p._t itle&&(p._title.dockInsi dePlotArea||"center"===p ._title.horizontalAlign& &"center"===p._title.ver ticalAlign)&&p._title.re nder();if(p.subtitles)fo r(var a=0;a<p.subtitles. length;a++){var b=p.subt itles[a];(b.dockInsidePl otArea||"center"===b.hor izontalAlign&&"center"== =b.verticalAlign)&&b.ren der()}p.legend&&(p.legen d.dockInsidePlotArea||"c enter"===p.legend.horizo ntalAlign&& "center"===p .legend.verticalAlign)&& p.legend.render()}var p= this;if(!(0>=a.dataSerie sIndexes.length)){var h= this.data[a.dataSeriesIn dexes[0]],l=h.dataPoints ,m=10,n=this.plotArea,q= [],r=2,s=1.3,t=20/180*Ma th.PI,v=6,x={x:(n.x2+n.x 1)/2,y:(n.y2+n.y1)/2},u= 0;a=!1;for(var y=0;y<l.l ength;y++)u+=Math.abs(l[ y].y),!a&&("undefined"!= =typeof l[y].indexLabel& &null!==l[y].indexLabel& &0<l[y].indexLabel.toStr ing().length)&&(a=!0),!a &&("undefined"!==typeof l[y].label&&null!==l[y]. label&&0<l[y].label.toSt ring().length)&& (a=!0); if(0!==u){a=a||"undefine d"!==typeof h.indexLabel &&null!==h.indexLabel&&0 <h.indexLabel.toString() .length;var z="inside"!= =h.indexLabelPlacement&& a?0.75*Math.min(n.width, n.height)/2:0.92*Math.mi n(n.width,n.height)/2;h. radius&&(z=Aa(h.radius,z ));var A="undefined"!==t ypeof h.innerRadius&&nul l!==h.innerRadius?Aa(h.i nnerRadius,z):0.7*z,D=Ma th.min(A/z,(z-1)/z);this .pieDoughnutClickHandler =function(a){p.isAnimati ng||(a=a.dataPoint,a.exp loded=a.exploded?!1:!0,1 <this.dataPoints.length& &p._animator.animate(0, 500,function(a){c(a);k() }))};b();g();g();g();g() ;this.disableToolTip=!0; this._animator.animate(0 ,this.animatedRender?thi s.animationDuration:0,fu nction(a){var b=p.plotAr ea.ctx;b.clearRect(n.x1, n.y1,n.width,n.height);b .fillStyle=p.backgroundC olor;b.fillRect(n.x1,n.y 1,n.width,n.height);a=q[ 0].startAngle+2*Math.PI* a;for(b=0;b<l.length;b++ ){var c=0===b?q[b].start Angle:d,d=c+(q[b].endAng le-q[b].startAngle),e=!1 ;d>a&&(d=a,e=!0);var f=l [b].color?l[b].color:h._ colorSet[b%h._colorSet.l ength];d>c&&sa(p.plotAre a.ctx, q[b].center,q[b]. radius,f,h.type,c,d,h.fi llOpacity,q[b].percentIn nerRadius);if(e)break}k( )},function(){p.disableT oolTip=!1;p._animator.an imate(0,p.animatedRender ?500:0,function(a){c(a); k()})})}}};u.prototype.a nimationRequestId=null;u .prototype.requestAnimFr ame=function(){return wi ndow.requestAnimationFra me||window.webkitRequest AnimationFrame||window.m ozRequestAnimationFrame| |window.oRequestAnimatio nFrame||window.msRequest AnimationFrame||function (a){window.setTimeout(a, 1E3/60)}}();u.prototype. cancelRequestAnimFrame= window.cancelAnimationFr ame||window.webkitCancel RequestAnimationFrame||w indow.mozCancelRequestAn imationFrame||window.oCa ncelRequestAnimationFram e||window.msCancelReques tAnimationFrame||clearTi meout;Z.prototype.regist erSpace=function(a,b){"t op"===a?this._topOccupie d+=b.height:"bottom"===a ?this._bottomOccupied+=b .height:"left"===a?this. _leftOccupied+=b.width:" right"===a&&(this._right Occupied+=b.width)};Z.pr ototype.unRegisterSpace= function(a,b){"top"===a? this._topOccupied-=b.hei ght:"bottom"===a?this._b ottomOccupied-= b.height :"left"===a?this._leftOc cupied-=b.width:"right"= ==a&&(this._rightOccupie d-=b.width)};Z.prototype .getFreeSpace=function() {return{x1:this._x1+this ._leftOccupied,y1:this._ y1+this._topOccupied,x2: this._x2-this._rightOccu pied,y2:this._y2-this._b ottomOccupied,width:this ._x2-this._x1-this._righ tOccupied-this._leftOccu pied,height:this._y2-thi s._y1-this._bottomOccupi ed-this._topOccupied}};Z .prototype.reset=functio n(){this._rightOccupied= this._leftOccupied=this. _bottomOccupied=this._to pOccupied=this._padding} ; O(H,G);H.prototype.ren der=function(a){a&&this. ctx.save();var b=this.ct x.font;this.ctx.textBase line=this.textBaseline;v ar c=0;this._isDirty&&th is.measureText(this.ctx) ;this.ctx.translate(this .x,this.y+c);"middle"=== this.textBaseline&&(c=-t his._lineHeight/2);this. ctx.font=this._getFontSt ring();this.ctx.rotate(M ath.PI/180*this.angle);v ar d=0,e=this.padding,f= null;(0<this.borderThick ness&&this.borderColor|| this.backgroundColor)&&t his.ctx.roundRect(0,c,th is.width,this.height,thi s.cornerRadius,this.bord erThickness, this.backgr oundColor,this.borderCol or);this.ctx.fillStyle=t his.fontColor;for(c=0;c< this._wrappedText.lines. length;c++)f=this._wrapp edText.lines[c],"right"= ==this.horizontalAlign?d =this.width-f.width-this .padding:"left"===this.h orizontalAlign?d=this.pa dding:"center"===this.ho rizontalAlign&&(d=(this. width-2*this.padding)/2- f.width/2+this.padding), this.ctx.fillText(f.text ,d,e),e+=f.height;this.c tx.font=b;a&&this.ctx.re store()};H.prototype.set Text=function(a){this.te xt=a;this._isDirty=!0;th is._wrappedText= null};H .prototype.measureText=f unction(){if(null===this .maxWidth)throw"Please s et maxWidth and height f or TextBlock";this._wrap Text(this.ctx);this._isD irty=!1;return{width:thi s.width,height:this.heig ht}};H.prototype._getLin eWithWidth=function(a,b, c){a=String(a);if(!a)ret urn{text:"",width:0};var d=c=0,e=a.length-1,f=In finity;for(this.ctx.font =this._getFontString();d <=e;){var f=Math.floor(( d+e)/2),g=a.substr(0,f+1 );c=this.ctx.measureText (g).width;if(c<b)d=f+1;e lse if(c>b)e=f-1;else br eak}c>b&&1<g.length&& (g =g.substr(0,g.length-1), c=this.ctx.measureText(g ).width);b=!0;if(g.lengt h===a.length||" "===a[g. length])b=!1;b&&(a=g.spl it(" "),1<a.length&&a.po p(),g=a.join(" "),c=this .ctx.measureText(g).widt h);return{text:g,width:c }};H.prototype._wrapText =function(){var a=new St ring($(String(this.text) )),b=[],c=this.ctx.font, d=0,e=0;for(this.ctx.fon t=this._getFontString(); 0<a.length;){var f=this. maxHeight-2*this.padding ,g=this._getLineWithWidt h(a,this.maxWidth-2*this .padding,!1);g.height=th is._lineHeight;b.push(g) ; e=Math.max(e,g.width); d+=g.height;a=$(a.slice( g.text.length,a.length)) ;f&&d>f&&(g=b.pop(),d-=g .height)}this._wrappedTe xt={lines:b,width:e,heig ht:d};this.width=e+2*thi s.padding;this.height=d+ 2*this.padding;this.ctx. font=c};H.prototype._get FontString=function(){va r a;a=""+(this.fontStyle ?this.fontStyle+" ":""); a+=this.fontWeight?this. fontWeight+" ":"";a+=thi s.fontSize?this.fontSize +"px ":"";var b=this.fon tFamily?this.fontFamily+ "":"";!t&&b&&(b=b.split( ",")[0],"'"!==b[0]&&'"'! ==b[0]&&(b="'"+b+"'")); return a+=b};O(ba,G);ba. prototype.render=functio n(){if(this.text){var a= this.dockInsidePlotArea? this.chart.plotArea:this .chart,b=a.layoutManager .getFreeSpace(),c=b.x1,d =b.y1,e=0,f=0,g=this.cha rt._menuButton&&this.cha rt.exportEnabled&&"top"= ==this.verticalAlign?22: 0,k,p;"top"===this.verti calAlign||"bottom"===thi s.verticalAlign?(null=== this.maxWidth&&(this.max Width=b.width-4-g*("cent er"===this.horizontalAli gn?2:1)),f=0.5*b.height- this.margin-2,e=0):"cent er"===this.verticalAlign &&("left"===this.horizon talAlign|| "right"===thi s.horizontalAlign?(null= ==this.maxWidth&&(this.m axWidth=b.height-4),f=0. 5*b.width-this.margin-2) :"center"===this.horizon talAlign&&(null===this.m axWidth&&(this.maxWidth= b.width-4),f=0.5*b.heigh t-4));this.wrap||(f=Math .min(f,Math.max(1.5*this .fontSize,this.fontSize+ 2.5*this.padding)));var f=new H(this.ctx,{fontSi ze:this.fontSize,fontFam ily:this.fontFamily,font Color:this.fontColor,fon tStyle:this.fontStyle,fo ntWeight:this.fontWeight ,horizontalAlign:this.ho rizontalAlign,verticalAl ign:this.verticalAlign, borderColor:this.borderC olor,borderThickness:thi s.borderThickness,backgr oundColor:this.backgroun dColor,maxWidth:this.max Width,maxHeight:f,corner Radius:this.cornerRadius ,text:this.text,padding: this.padding,textBaselin e:"top"}),h=f.measureTex t();"top"===this.vertica lAlign||"bottom"===this. verticalAlign?("top"===t his.verticalAlign?(d=b.y 1+2,p="top"):"bottom"=== this.verticalAlign&&(d=b .y2-2-h.height,p="bottom "),"left"===this.horizon talAlign?c=b.x1+2:"cente r"===this.horizontalAlig n?c=b.x1+b.width/2-h.wid th/ 2:"right"===this.hor izontalAlign&&(c=b.x2-2- h.width-g),k=this.horizo ntalAlign,this.width=h.w idth,this.height=h.heigh t):"center"===this.verti calAlign&&("left"===this .horizontalAlign?(c=b.x1 +2,d=b.y2-2-(this.maxWid th/2-h.width/2),e=-90,p= "left",this.width=h.heig ht,this.height=h.width): "right"===this.horizonta lAlign?(c=b.x2-2,d=b.y1+ 2+(this.maxWidth/2-h.wid th/2),e=90,p="right",thi s.width=h.height,this.he ight=h.width):"center"== =this.horizontalAlign&&( d=a.y1+(a.height/2-h.hei ght/2),c=a.x1+(a.width/2 - h.width/2),p="center", this.width=h.width,this. height=h.height),k="cent er");f.x=c;f.y=d;f.angle =e;f.horizontalAlign=k;f .render(!0);a.layoutMana ger.registerSpace(p,{wid th:this.width+("left"=== p||"right"===p?this.marg in+2:0),height:this.heig ht+("top"===p||"bottom"= ==p?this.margin+2:0)});t his.bounds={x1:c,y1:d,x2 :c+this.width,y2:d+this. height};this.ctx.textBas eline="top"}};O(ja,G);ja .prototype.render=ba.pro totype.render;O(ka,G);ka .prototype.render=functi on(){var a=this.dockInsi dePlotArea?this.chart.pl otArea: this.chart,b=a.l ayoutManager.getFreeSpac e(),c=null,d=0,e=0,f=0,g =0,k=[],p=[];"top"===thi s.verticalAlign||"bottom "===this.verticalAlign?( this.orientation="horizo ntal",c=this.verticalAli gn,f=null!==this.maxWidt h?this.maxWidth:0.7*b.wi dth,g=null!==this.maxHei ght?this.maxHeight:0.5*b .height):"center"===this .verticalAlign&&(this.or ientation="vertical",c=t his.horizontalAlign,f=nu ll!==this.maxWidth?this. maxWidth:0.5*b.width,g=n ull!==this.maxHeight?thi s.maxHeight:0.7*b.height );for(var h=0;h<this.dat aSeries.length;h++){var l= this.dataSeries[h];if ("pie"!==l.type&&"doughn ut"!==l.type&&"funnel"!= =l.type){var m=l.legendM arkerType?l.legendMarker Type:"line"!==l.type&&"s tepLine"!==l.type&&"spli ne"!==l.type&&"scatter"! ==l.type&&"bubble"!==l.t ype||!l.markerType?T.get DefaultLegendMarker(l.ty pe):l.markerType,n=l.leg endText?l.legendText:thi s.itemTextFormatter?this .itemTextFormatter({char t:this.chart._publicChar tReference,legend:this._ options,dataSeries:l,dat aPoint:null}):l.name,q=l .legendMarkerColor?l.leg endMarkerColor:l.markerC olor? l.markerColor:l._c olorSet[0],r=l.markerSiz e||"line"!==l.type&&"ste pLine"!==l.type&&"spline "!==l.type?0.6*this.line Height:0,s=l.legendMarke rBorderColor?l.legendMar kerBorderColor:l.markerB orderColor,t=l.legendMar kerBorderThickness?l.leg endMarkerBorderThickness :l.markerBorderThickness ?Math.max(1,Math.round(0 .2*r)):0,n=this.chart.re placeKeywordsWithValue(n ,l.dataPoints[0],l,h),m= {markerType:m,markerColo r:q,text:n,textBlock:nul l,chartType:l.type,marke rSize:r,lineColor:l._col orSet[0],dataSeriesIndex :l.index, dataPointIndex :null,markerBorderColor: s,markerBorderThickness: t};k.push(m)}else for(va r v=0;v<l.dataPoints.len gth;v++){var u=l.dataPoi nts[v],m=u.legendMarkerT ype?u.legendMarkerType:l .legendMarkerType?l.lege ndMarkerType:T.getDefaul tLegendMarker(l.type),n= u.legendText?u.legendTex t:l.legendText?l.legendT ext:this.itemTextFormatt er?this.itemTextFormatte r({chart:this.chart._pub licChartReference,legend :this._options,dataSerie s:l,dataPoint:u}):u.name ?u.name:"DataPoint: "+(v +1),q=u.legendMarkerColo r?u.legendMarkerColor: l .legendMarkerColor?l.leg endMarkerColor:u.color?u .color:l.color?l.color:l ._colorSet[v%l._colorSet .length],r=0.6*this.line Height,s=u.legendMarkerB orderColor?u.legendMarke rBorderColor:l.legendMar kerBorderColor?l.legendM arkerBorderColor:u.marke rBorderColor?u.markerBor derColor:l.markerBorderC olor,t=u.legendMarkerBor derThickness?u.legendMar kerBorderThickness:l.leg endMarkerBorderThickness ?l.legendMarkerBorderThi ckness:u.markerBorderThi ckness||l.markerBorderTh ickness?Math.max(1,Math. round(0.2*r)):0,n=this.c hart.replaceKeywordsWith Value(n, u,l,v),m={marke rType:m,markerColor:q,te xt:n,textBlock:null,char tType:l.type,markerSize: r,dataSeriesIndex:h,data PointIndex:v,markerBorde rColor:s,markerBorderThi ckness:t};(u.showInLegen d||l.showInLegend&&!1!== u.showInLegend)&&k.push( m)}}!0===this.reversed&& k.reverse();if(0<k.lengt h){l=null;v=n=u=0;n=null !==this.itemWidth?null!= =this.itemMaxWidth?Math. min(this.itemWidth,this. itemMaxWidth,f):Math.min (this.itemWidth,f):null! ==this.itemMaxWidth?Math .min(this.itemMaxWidth,f ):f;r=0===r?0.6*this.lin eHeight: r;n-=r+0.1*this .horizontalSpacing;for(h =0;h<k.length;h++){m=k[h ];if("line"===m.chartTyp e||"spline"===m.chartTyp e||"stepLine"===m.chartT ype)n-=2*0.1*this.lineHe ight;if(!(0>=g||"undefin ed"===typeof g||0>=n||"u ndefined"===typeof n)){i f("horizontal"===this.or ientation){m.textBlock=n ew H(this.ctx,{x:0,y:0,m axWidth:n,maxHeight:this .itemWrap?g:this.lineHei ght,angle:0,text:m.text, horizontalAlign:"left",f ontSize:this.fontSize,fo ntFamily:this.fontFamily ,fontWeight:this.fontWei ght,fontColor:this.fontC olor,fontStyle:this.font Style, textBaseline:"top "});m.textBlock.measureT ext();null!==this.itemWi dth&&(m.textBlock.width= this.itemWidth-(r+0.1*th is.horizontalSpacing+("l ine"===m.chartType||"spl ine"===m.chartType||"ste pLine"===m.chartType?2*0 .1*this.lineHeight:0))); if(!l||l.width+Math.roun d(m.textBlock.width+0.1* this.horizontalSpacing+r +(0===l.width?0:this.hor izontalSpacing)+("line"= ==m.chartType||"spline"= ==m.chartType||"stepLine "===m.chartType?2*0.1*th is.lineHeight:0))>f)l={i tems:[],width:0},p.push( l),this.height+=v,v=0;v= Math.max(v, m.textBlock. height)}else m.textBlock =new H(this.ctx,{x:0,y:0 ,maxWidth:n,maxHeight:!0 ===this.itemWrap?g:1.5*t his.fontSize,angle:0,tex t:m.text,horizontalAlign :"left",fontSize:this.fo ntSize,fontFamily:this.f ontFamily,fontWeight:thi s.fontWeight,fontColor:t his.fontColor,fontStyle: this.fontStyle,textBasel ine:"top"}),m.textBlock. measureText(),null!==thi s.itemWidth&&(m.textBloc k.width=this.itemWidth-( r+0.1*this.horizontalSpa cing+("line"===m.chartTy pe||"spline"===m.chartTy pe||"stepLine"===m.chart Type?2*0.1* this.lineHei ght:0))),this.height<=g? (l={items:[],width:0},p. push(l)):(l=p[u],u=(u+1) %p.length),this.height+= m.textBlock.height;m.tex tBlock.x=l.width;m.textB lock.y=0;l.width+=Math.r ound(m.textBlock.width+0 .1*this.horizontalSpacin g+r+(0===l.width?0:this. horizontalSpacing)+("lin e"===m.chartType||"splin e"===m.chartType||"stepL ine"===m.chartType?2*0.1 *this.lineHeight:0));l.i tems.push(m);this.width= Math.max(l.width,this.wi dth)}}this.height=!1===t his.itemWrap?p.length*th is.lineHeight:this.heigh t+v;this.height= Math.mi n(g,this.height);this.wi dth=Math.min(f,this.widt h)}"top"===this.vertical Align?(e="left"===this.h orizontalAlign?b.x1:"rig ht"===this.horizontalAli gn?b.x2-this.width:b.x1+ b.width/2-this.width/2,d =b.y1):"center"===this.v erticalAlign?(e="left"== =this.horizontalAlign?b. x1:"right"===this.horizo ntalAlign?b.x2-this.widt h:b.x1+b.width/2-this.wi dth/2,d=b.y1+b.height/2- this.height/2):"bottom"= ==this.verticalAlign&&(e ="left"===this.horizonta lAlign?b.x1:"right"===th is.horizontalAlign?b.x2- this.width:b.x1+ b.width /2-this.width/2,d=b.y2-t his.height);this.items=k ;for(h=0;h<this.items.le ngth;h++)m=k[h],m.id=++t his.chart._eventManager. lastObjectId,this.chart. _eventManager.objectMap[ m.id]={id:m.id,objectTyp e:"legendItem",legendIte mIndex:h,dataSeriesIndex :m.dataSeriesIndex,dataP ointIndex:m.dataPointInd ex};for(h=b=0;h<p.length ;h++){l=p[h];for(k=v=0;k <l.items.length;k++){m=l .items[k];n=m.textBlock. x+e+(0===k?0.2*r:this.ho rizontalSpacing);q=d+b;u =n;this.chart.data[m.dat aSeriesIndex].visible||( this.ctx.globalAlpha= 0. 5);this.ctx.save();this. ctx.rect(e,d,f,g);this.c tx.clip();if("line"===m. chartType||"stepLine"=== m.chartType||"spline"=== m.chartType)this.ctx.str okeStyle=m.lineColor,thi s.ctx.lineWidth=Math.cei l(this.lineHeight/8),thi s.ctx.beginPath(),this.c tx.moveTo(n-0.1*this.lin eHeight,q+this.lineHeigh t/2),this.ctx.lineTo(n+0 .7*this.lineHeight,q+thi s.lineHeight/2),this.ctx .stroke(),u-=0.1*this.li neHeight;K.drawMarker(n+ r/2,q+this.lineHeight/2, this.ctx,m.markerType,m. markerSize,m.markerColor ,m.markerBorderColor, m. markerBorderThickness);m .textBlock.x=n+0.1*this. horizontalSpacing+r;if(" line"===m.chartType||"st epLine"===m.chartType||" spline"===m.chartType)m. textBlock.x+=0.1*this.li neHeight;m.textBlock.y=q ;m.textBlock.render(!0); this.ctx.restore();v=0<k ?Math.max(v,m.textBlock. height):m.textBlock.heig ht;this.chart.data[m.dat aSeriesIndex].visible||( this.ctx.globalAlpha=1); n=B(m.id);this.ghostCtx. fillStyle=n;this.ghostCt x.beginPath();this.ghost Ctx.fillRect(u,m.textBlo ck.y,m.textBlock.x+m.tex tBlock.width-u,m.textBlo ck.height); m.x1=this.ch art._eventManager.object Map[m.id].x1=u;m.y1=this .chart._eventManager.obj ectMap[m.id].y1=m.textBl ock.y;m.x2=this.chart._e ventManager.objectMap[m. id].x2=m.textBlock.x+m.t extBlock.width;m.y2=this .chart._eventManager.obj ectMap[m.id].y2=m.textBl ock.y+m.textBlock.height }b+=v}a.layoutManager.re gisterSpace(c,{width:thi s.width+2+2,height:this. height+5+5});this.bounds ={x1:e,y1:d,x2:e+this.wi dth,y2:d+this.height}};O (pa,G);pa.prototype.rend er=function(){var a=this .chart.layoutManager.get FreeSpace(); this.ctx.fi llStyle="red";this.ctx.f illRect(a.x1,a.y1,a.x2,a .y2)};O(T,G);T.prototype .getDefaultAxisPlacement =function(){var a=this.t ype;if("column"===a||"li ne"===a||"stepLine"===a| |"spline"===a||"area"=== a||"stepArea"===a||"spli neArea"===a||"stackedCol umn"===a||"stackedLine"= ==a||"bubble"===a||"scat ter"===a||"stackedArea"= ==a||"stackedColumn100"= ==a||"stackedLine100"=== a||"stackedArea100"===a| |"candlestick"===a||"ohl c"===a||"rangeColumn"=== a||"rangeArea"===a||"ran geSplineArea"===a)return "normal";if("bar"=== a|| "stackedBar"===a||"stack edBar100"===a||"rangeBar "===a)return"xySwapped"; if("pie"===a||"doughnut" ===a||"funnel"===a)retur n"none";window.console.l og("Unknown Chart Type: "+a);return null};T.getD efaultLegendMarker=funct ion(a){if("column"===a|| "stackedColumn"===a||"st ackedLine"===a||"bar"=== a||"stackedBar"===a||"st ackedBar100"===a||"bubbl e"===a||"scatter"===a||" stackedColumn100"===a||" stackedLine100"===a||"st epArea"===a||"candlestic k"===a||"ohlc"===a||"ran geColumn"===a||"rangeBar "===a||"rangeArea"=== a| |"rangeSplineArea"===a)r eturn"square";if("line"= ==a||"stepLine"===a||"sp line"===a||"pie"===a||"d oughnut"===a||"funnel"== =a)return"circle";if("ar ea"===a||"splineArea"=== a||"stackedArea"===a||"s tackedArea100"===a)retur n"triangle";window.conso le.log("Unknown Chart Ty pe: "+a);return null};T. prototype.getDataPointAt X=function(a,b){if(!this .dataPoints||0===this.da taPoints.length)return n ull;var c={dataPoint:nul l,distance:Infinity,inde x:NaN},d=null,e=0,f=0,g= 1,k=Infinity,p=0,h=0,l=0 ;"none"!==this.chart.plo tInfo.axisPlacement&& (l =this.dataPoints[this.da taPoints.length-1].x-thi s.dataPoints[0].x,l=0<l? Math.min(Math.max((this. dataPoints.length-1)/l*( a-this.dataPoints[0].x)> >0,0),this.dataPoints.le ngth):0);for(;;){f=0<g?l +e:l-e;if(0<=f&&f<this.d ataPoints.length){var d= this.dataPoints[f],m=Mat h.abs(d.x-a);m<c.distanc e&&(c.dataPoint=d,c.dist ance=m,c.index=f);d=Math .abs(d.x-a);d<=k?k=d:0<g ?p++:h++;if(1E3<p&&1E3<h )break}else if(0>l-e&&l+ e>=this.dataPoints.lengt h)break;-1===g?(e++,g=1) :g=-1}return b||c.dataPo int.x!==a?b&&null!== c.d ataPoint?c:null:c};T.pro totype.getDataPointAtXY= function(a,b,c){if(!this .dataPoints||0===this.da taPoints.length||a<this. chart.plotArea.x1||a>thi s.chart.plotArea.x2||b<t his.chart.plotArea.y1||b >this.chart.plotArea.y2) return null;c=c||!1;var d=[],e=0,f=0,g=1,k=!1,p= Infinity,h=0,l=0,m=0;"no ne"!==this.chart.plotInf o.axisPlacement&&(m=this .chart.axisX.getXValueAt ({x:a,y:b}),f=this.dataP oints[this.dataPoints.le ngth-1].x-this.dataPoint s[0].x,m=0<f?Math.min(Ma th.max((this.dataPoints. length-1)/f*(m-this.data Points[0].x)>> 0,0),this .dataPoints.length):0);f or(;;){f=0<g?m+e:m-e;if( 0<=f&&f<this.dataPoints. length){var n=this.chart ._eventManager.objectMap [this.dataPointIds[f]],q =this.dataPoints[f],r=nu ll;if(n){switch(this.typ e){case "column":case "s tackedColumn":case "stac kedColumn100":case "bar" :case "stackedBar":case "stackedBar100":case "ra ngeColumn":case "rangeBa r":a>=n.x1&&(a<=n.x2&&b> =n.y1&&b<=n.y2)&&(d.push ({dataPoint:q,dataPointI ndex:f,dataSeries:this,d istance:Math.min(Math.ab s(n.x1-a),Math.abs(n.x2- a),Math.abs(n.y1- b),Mat h.abs(n.y2-b))}),k=!0);b reak;case "line":case "s tepLine":case "spline":c ase "area":case "stepAre a":case "stackedArea":ca se "stackedArea100":case "splineArea":case "scat ter":var s=N("markerSize ",q,this)||4,t=c?20:s,r= Math.sqrt(Math.pow(n.x1- a,2)+Math.pow(n.y1-b,2)) ;r<=t&&d.push({dataPoint :q,dataPointIndex:f,data Series:this,distance:r}) ;f=Math.abs(n.x1-a);f<=p ?p=f:0<g?h++:l++;r<=s/2& &(k=!0);break;case "rang eArea":case "rangeSpline Area":s=N("markerSize",q ,this)||4;t=c?20:s;r=Mat h.min(Math.sqrt(Math.pow (n.x1- a,2)+Math.pow(n.y 1-b,2)),Math.sqrt(Math.p ow(n.x1-a,2)+Math.pow(n. y2-b,2)));r<=t&&d.push({ dataPoint:q,dataPointInd ex:f,dataSeries:this,dis tance:r});f=Math.abs(n.x 1-a);f<=p?p=f:0<g?h++:l+ +;r<=s/2&&(k=!0);break;c ase "bubble":s=n.size;r= Math.sqrt(Math.pow(n.x1- a,2)+Math.pow(n.y1-b,2)) ;r<=s/2&&(d.push({dataPo int:q,dataPointIndex:f,d ataSeries:this,distance: r}),k=!0);break;case "pi e":case "doughnut":s=n.c enter;t="doughnut"===thi s.type?n.percentInnerRad ius*n.radius:0;r=Math.sq rt(Math.pow(s.x-a,2)+Mat h.pow(s.y- b,2));r<n.rad ius&&r>t&&(r=Math.atan2( b-s.y,a-s.x),0>r&&(r+=2* Math.PI),r=Number(((180* (r/Math.PI)%360+360)%360 ).toFixed(12)),s=Number( ((180*(n.startAngle/Math .PI)%360+360)%360).toFix ed(12)),t=Number(((180*( n.endAngle/Math.PI)%360+ 360)%360).toFixed(12)),0 ===t&&1<n.endAngle&&(t=3 60),s>=t&&0!==q.y&&(t+=3 60,r<s&&(r+=360)),r>s&&r <t&&(d.push({dataPoint:q ,dataPointIndex:f,dataSe ries:this,distance:0}),k =!0));break;case "candle stick":if(a>=n.x1-n.bord erThickness/2&&a<=n.x2+n .borderThickness/2&&b>=n .y2-n.borderThickness/ 2 &&b<=n.y3+n.borderThickn ess/2||Math.abs(n.x2-a+n .x1-a)<n.borderThickness &&b>=n.y1&&b<=n.y4)d.pus h({dataPoint:q,dataPoint Index:f,dataSeries:this, distance:Math.min(Math.a bs(n.x1-a),Math.abs(n.x2 -a),Math.abs(n.y2-b),Mat h.abs(n.y3-b))}),k=!0;br eak;case "ohlc":if(Math. abs(n.x2-a+n.x1-a)<n.bor derThickness&&b>=n.y2&&b <=n.y3||a>=n.x1&&a<=(n.x 2+n.x1)/2&&b>=n.y1-n.bor derThickness/2&&b<=n.y1+ n.borderThickness/2||a>= (n.x1+n.x2)/2&&a<=n.x2&& b>=n.y4-n.borderThicknes s/2&&b<=n.y4+n.borderThi ckness/2)d.push({dataPoi nt:q, dataPointIndex:f,d ataSeries:this,distance: Math.min(Math.abs(n.x1-a ),Math.abs(n.x2-a),Math. abs(n.y2-b),Math.abs(n.y 3-b))}),k=!0}if(k||1E3<h &&1E3<l)break}}else if(0 >m-e&&m+e>=this.dataPoin ts.length)break;-1===g?( e++,g=1):g=-1}a=null;for (b=0;b<d.length;b++)a?d[ b].distance<=a.distance& &(a=d[b]):a=d[b];return a};T.prototype.getMarker Properties=function(a,b, c,d){var e=this.dataPoin ts;return{x:b,y:c,ctx:d, type:e[a].markerType?e[a ].markerType:this.marker Type,size:e[a].markerSiz e?e[a].markerSize:this.m arkerSize, color:e[a].ma rkerColor?e[a].markerCol or:this.markerColor?this .markerColor:e[a].color? e[a].color:this.color?th is.color:this._colorSet[ a%this._colorSet.length] ,borderColor:e[a].marker BorderColor?e[a].markerB orderColor:this.markerBo rderColor?this.markerBor derColor:null,borderThic kness:e[a].markerBorderT hickness?e[a].markerBord erThickness:this.markerB orderThickness?this.mark erBorderThickness:null}} ;O(C,G);C.prototype.crea teLabels=function(){var a,b=0,c,d=0,e=0,b=0;if(" bottom"===this._position ||"top"=== this._positio n)b=this.lineCoordinates .width/Math.abs(this.vie wportMaximum-this.viewpo rtMinimum)*this.interval ,d=this.labelAutoFit?"un defined"===typeof this._ options.labelMaxWidth?0. 9*b>>0:this.labelMaxWidt h:"undefined"===typeof t his._options.labelMaxWid th?0.7*this.chart.width> >0:this.labelMaxWidth,e= "undefined"===typeof thi s._options.labelWrap||th is.labelWrap?0.5*this.ch art.height>>0:1.5*this.l abelFontSize;else if("le ft"===this._position||"r ight"===this._position)b =this.lineCoordinates.he ight/Math.abs(this.viewp ortMaximum- this.viewpor tMinimum)*this.interval, d=this.labelAutoFit?"und efined"===typeof this._o ptions.labelMaxWidth?0.3 *this.chart.width>>0:thi s.labelMaxWidth:"undefin ed"===typeof this._optio ns.labelMaxWidth?0.5*thi s.chart.width>>0:this.la belMaxWidth,e="undefined "===typeof this._options .labelWrap||this.labelWr ap?2*b>>0:1.5*this.label FontSize;if("axisX"===th is.type&&"dateTime"===th is.chart.plotInfo.axisXV alueType)for(c=ta(new Da te(this.viewportMaximum) ,this.interval,this.inte rvalType),b=this.interva lStartPosition;b< c;ta(b ,this.interval,this.inte rvalType))a=b.getTime(), a=this.labelFormatter?th is.labelFormatter({chart :this.chart._publicChart Reference,axis:this._opt ions,value:b,label:this. labels[b]?this.labels[b] :null}):"axisX"===this.t ype&&this.labels[a]?this .labels[a]:ra(b,this.val ueFormatString,this.char t._cultureInfo),a=new H( this.ctx,{x:0,y:0,maxWid th:d,maxHeight:e,angle:t his.labelAngle,text:this .prefix+a+this.suffix,ho rizontalAlign:"left",fon tSize:this.labelFontSize ,fontFamily:this.labelFo ntFamily,fontWeight:this .labelFontWeight, fontCo lor:this.labelFontColor, fontStyle:this.labelFont Style,textBaseline:"midd le"}),this._labels.push( {position:b.getTime(),te xtBlock:a,effectiveHeigh t:null});else{c=this.vie wportMaximum;if(this.lab els&&this.labels.length) {a=Math.ceil(this.interv al);for(var f=Math.ceil( this.intervalStartPositi on),g=!1,b=f;b<this.view portMaximum;b+=a)if(this .labels[b])g=!0;else{g=! 1;break}g&&(this.interva l=a,this.intervalStartPo sition=f)}for(b=this.int ervalStartPosition;b<=c; b=parseFloat((b+this.int erval).toFixed(14)))a= t his.labelFormatter?this. labelFormatter({chart:th is.chart._publicChartRef erence,axis:this._option s,value:b,label:this.lab els[b]?this.labels[b]:nu ll}):"axisX"===this.type &&this.labels[b]?this.la bels[b]:X(b,this.valueFo rmatString,this.chart._c ultureInfo),a=new H(this .ctx,{x:0,y:0,maxWidth:d ,maxHeight:e,angle:this. labelAngle,text:this.pre fix+a+this.suffix,horizo ntalAlign:"left",fontSiz e:this.labelFontSize,fon tFamily:this.labelFontFa mily,fontWeight:this.lab elFontWeight,fontColor:t his.labelFontColor,fontS tyle:this.labelFontStyle , textBaseline:"middle", borderThickness:0}),this ._labels.push({position: b,textBlock:a,effectiveH eight:null})}for(b=0;b<t his.stripLines.length;b+ +)c=this.stripLines[b],a =new H(this.ctx,{x:0,y:0 ,backgroundColor:c.label BackgroundColor,maxWidth :d,maxHeight:e,angle:thi s.labelAngle,text:c.labe lFormatter?c.labelFormat ter({chart:this.chart._p ublicChartReference,axis :this,stripLine:c}):c.la bel,horizontalAlign:"lef t",fontSize:c.labelFontS ize,fontFamily:c.labelFo ntFamily,fontWeight:c.la belFontWeight,fontColor: c._options.labelFontColo r|| c.color,fontStyle:c. labelFontStyle,textBasel ine:"middle",borderThick ness:0}),this._labels.pu sh({position:c.value,tex tBlock:a,effectiveHeight :null,stripLine:c})};C.p rototype.createLabelsAnd CalculateWidth=function( ){var a=0;this._labels=[ ];if("left"===this._posi tion||"right"===this._po sition)for(this.createLa bels(),i=0;i<this._label s.length;i++){var b=this ._labels[i].textBlock.me asureText(),c=0,c=0===th is.labelAngle?b.width:b. width*Math.cos(Math.PI/1 80*Math.abs(this.labelAn gle))+b.height/2*Math.si n(Math.PI/ 180*Math.abs( this.labelAngle));a<c&&( a=c);this._labels[i].eff ectiveWidth=c}return(thi s.title?ea(this.titleFon tFamily,this.titleFontSi ze,this.titleFontWeight) +2:0)+a+this.tickLength+ 5};C.prototype.createLab elsAndCalculateHeight=fu nction(){var a=0;this._l abels=[];var b,c=0;this. createLabels();if("botto m"===this._position||"to p"===this._position)for( c=0;c<this._labels.lengt h;c++){b=this._labels[c] .textBlock;b=b.measureTe xt();var d=0,d=0===this. labelAngle?b.height:b.wi dth*Math.sin(Math.PI/180 *Math.abs(this.labelAngl e))+ b.height/2*Math.cos (Math.PI/180*Math.abs(th is.labelAngle));a<d&&(a= d);this._labels[c].effec tiveHeight=d}return(this .title?ea(this.titleFont Family,this.titleFontSiz e,this.titleFontWeight)+ 2:0)+a+this.tickLength+5 };C.setLayoutAndRender=f unction(a,b,c,d,e){var f ,g,k,p=a.chart,h=p.ctx;a .calculateAxisParameters ();b&&b.calculateAxisPar ameters();c&&c.calculate AxisParameters();var l=b ?b.margin:0;g=c?c.margin :0;if("normal"===d){a.li neCoordinates={};var m=M ath.ceil(b?b.createLabel sAndCalculateWidth():0); f= Math.round(e.x1+m+l); a.lineCoordinates.x1=f;l =Math.ceil(c?c.createLab elsAndCalculateWidth():0 );k=Math.round(e.x2-l-g> a.chart.width-10?a.chart .width-10:e.x2-l-g);a.li neCoordinates.x2=k;a.lin eCoordinates.width=Math. abs(k-f);var n=Math.ceil (a.createLabelsAndCalcul ateHeight());g=Math.roun d(e.y2-n-a.margin);d=Mat h.round(e.y2-a.margin);a .lineCoordinates.y1=g;a. lineCoordinates.y2=g;a.b oundingRect={x1:f,y1:g,x 2:k,y2:d,width:k-f,heigh t:d-g};b&&(f=Math.round( e.x1+b.margin),g=Math.ro und(10>e.y1?10:e.y1),k=M ath.round(e.x1+ m+b.marg in),d=Math.round(e.y2-n- a.margin),b.lineCoordina tes={x1:k,y1:g,x2:k,y2:d ,height:Math.abs(d-g)},b .boundingRect={x1:f,y1:g ,x2:k,y2:d,width:k-f,hei ght:d-g});c&&(f=Math.rou nd(a.lineCoordinates.x2) ,g=Math.round(10>e.y1?10 :e.y1),k=Math.round(f+l) ,d=Math.round(e.y2-n-a.m argin),c.lineCoordinates ={x1:f,y1:g,x2:f,y2:d,he ight:Math.abs(d-g)},c.bo undingRect={x1:f,y1:g,x2 :k,y2:d,width:k-f,height :d-g});a.calculateValueT oPixelConversionParamete rs();b&&b.calculateValue ToPixelConversionParamet ers();c&&c.calculateValu eToPixelConversionParame ters(); h.save();h.rect( 5,a.boundingRect.y1,a.ch art.width-10,a.boundingR ect.height);h.clip();a.r enderLabelsTicksAndTitle ();h.restore();b&&b.rend erLabelsTicksAndTitle(); c&&c.renderLabelsTicksAn dTitle()}else{m=Math.cei l(a.createLabelsAndCalcu lateWidth());b&&(b.lineC oordinates={},f=Math.rou nd(e.x1+m+a.margin),k=Ma th.round(e.x2>b.chart.wi dth-10?b.chart.width-10: e.x2),b.lineCoordinates. x1=f,b.lineCoordinates.x 2=k,b.lineCoordinates.wi dth=Math.abs(k-f));c&&(c .lineCoordinates={},f=Ma th.round(e.x1+m+a.margin ),k=Math.round(e.x2> c.c hart.width-10?c.chart.wi dth-10:e.x2),c.lineCoord inates.x1=f,c.lineCoordi nates.x2=k,c.lineCoordin ates.width=Math.abs(k-f) );var n=Math.ceil(b?b.cr eateLabelsAndCalculateHe ight():0),q=Math.ceil(c? c.createLabelsAndCalcula teHeight():0);b&&(g=Math .round(e.y2-n-b.margin), d=Math.round(e.y2-l>b.ch art.height-10?b.chart.he ight-10:e.y2-l),b.lineCo ordinates.y1=g,b.lineCoo rdinates.y2=g,b.bounding Rect={x1:f,y1:g,x2:k,y2: d,width:k-f,height:n});c &&(g=Math.round(e.y1+c.m argin),d=e.y1+c.margin+q ,c.lineCoordinates.y1= d ,c.lineCoordinates.y2=d, c.boundingRect={x1:f,y1: g,x2:k,y2:d,width:k-f,he ight:q});f=Math.round(e. x1+a.margin);g=Math.roun d(c?c.lineCoordinates.y2 :10>e.y1?10:e.y1);k=Math .round(e.x1+m+a.margin); d=Math.round(b?b.lineCoo rdinates.y1:e.y2-l>a.cha rt.height-10?a.chart.hei ght-10:e.y2-l);a.lineCoo rdinates={x1:k,y1:g,x2:k ,y2:d,height:Math.abs(d- g)};a.boundingRect={x1:f ,y1:g,x2:k,y2:d,width:k- f,height:d-g};a.calculat eValueToPixelConversionP arameters();b&&b.calcula teValueToPixelConversion Parameters();c&&c.calcul ateValueToPixelConversio nParameters(); b&&b.rend erLabelsTicksAndTitle(); c&&c.renderLabelsTicksAn dTitle();a.renderLabelsT icksAndTitle()}p.prepare PlotArea();e=a.chart.plo tArea;h.save();h.rect(e. x1,e.y1,Math.abs(e.x2-e. x1),Math.abs(e.y2-e.y1)) ;h.clip();a.renderStripL inesOfThicknessType("val ue");b&&b.renderStripLin esOfThicknessType("value ");c&&c.renderStripLines OfThicknessType("value") ;a.renderInterlacedColor s();b&&b.renderInterlace dColors();c&&c.renderInt erlacedColors();h.restor e();a.renderGrid();b&&b. renderGrid();c&&c.render Grid();a.renderAxisLine( ); b&&b.renderAxisLine() ;c&&c.renderAxisLine();a .renderStripLinesOfThick nessType("pixel");b&&b.r enderStripLinesOfThickne ssType("pixel");c&&c.ren derStripLinesOfThickness Type("pixel")};C.prototy pe.renderLabelsTicksAndT itle=function(){var a=!1 ,b=0,c=1,d=0;0!==this.la belAngle&&360!==this.lab elAngle&&(c=1.2);if("und efined"===typeof this._o ptions.interval){if("bot tom"===this._position||" top"===this._position){f or(e=0;e<this._labels.le ngth;e++)f=this._labels[ e],f.position<this.viewp ortMinimum||f.stripLine| | (f=f.textBlock.width*M ath.cos(Math.PI/180*this .labelAngle)+f.textBlock .height*Math.sin(Math.PI /180*this.labelAngle),b+ =f);b>this.lineCoordinat es.width*c&&(a=!0)}if("l eft"===this._position||" right"===this._position) {for(e=0;e<this._labels. length;e++)f=this._label s[e],f.position<this.vie wportMinimum||f.stripLin e||(f=f.textBlock.height *Math.cos(Math.PI/180*th is.labelAngle)+f.textBlo ck.width*Math.sin(Math.P I/180*this.labelAngle),b +=f);b>this.lineCoordina tes.height*c&&(a=!0)}}if ("bottom"===this._positi on){for(var e= 0,f,e=0;e <this._labels.length;e++ )if(f=this._labels[e],!( f.position<this.viewport Minimum||f.position>this .viewportMaximum)){b=thi s.getPixelCoordinatesOnA xis(f.position);if(this. tickThickness&&!this._la bels[e].stripLine||this. _labels[e].stripLine&&"p ixel"===this._labels[e]. stripLine._thicknessType )this._labels[e].stripLi ne?(c=this._labels[e].st ripLine,this.ctx.lineWid th=c.thickness,this.ctx. strokeStyle=c.color):(th is.ctx.lineWidth=this.ti ckThickness,this.ctx.str okeStyle=this.tickColor) ,c=1===this.ctx.lineWidt h% 2?(b.x<<0)+0.5:b.x<<0 ,this.ctx.beginPath(),th is.ctx.moveTo(c,b.y<<0), this.ctx.lineTo(c,b.y+th is.tickLength<<0),this.c tx.stroke();if(!a||0===d ++%2||this._labels[e].st ripLine)0===f.textBlock. angle?(b.x-=f.textBlock. width/2,b.y+=this.tickLe ngth+f.textBlock.fontSiz e/2):(b.x-=0>this.labelA ngle?f.textBlock.width*M ath.cos(Math.PI/180*this .labelAngle):0,b.y+=this .tickLength+Math.abs(0>t his.labelAngle?f.textBlo ck.width*Math.sin(Math.P I/180*this.labelAngle)-5 :5)),f.textBlock.x=b.x,f .textBlock.y=b.y,f.textB lock.render(!0)}this.tit le&& (this._titleTextBlo ck=new H(this.ctx,{x:thi s.lineCoordinates.x1,y:t his.boundingRect.y2-this .titleFontSize-5,maxWidt h:this.lineCoordinates.w idth,maxHeight:1.5*this. titleFontSize,angle:0,te xt:this.title,horizontal Align:"center",fontSize: this.titleFontSize,fontF amily:this.titleFontFami ly,fontWeight:this.title FontWeight,fontColor:thi s.titleFontColor,fontSty le:this.titleFontStyle,t extBaseline:"top"}),this ._titleTextBlock.measure Text(),this._titleTextBl ock.x=this.lineCoordinat es.x1+this.lineCoordinat es.width/ 2-this._titleT extBlock.width/2,this._t itleTextBlock.y=this.bou ndingRect.y2-this._title TextBlock.height-3,this. _titleTextBlock.render(! 0))}else if("top"===this ._position){for(e=0;e<th is._labels.length;e++)if (f=this._labels[e],!(f.p osition<this.viewportMin imum||f.position>this.vi ewportMaximum)){b=this.g etPixelCoordinatesOnAxis (f.position);if(this.tic kThickness&&!this._label s[e].stripLine||this._la bels[e].stripLine&&"pixe l"===this._labels[e].str ipLine._thicknessType)th is._labels[e].stripLine? (c=this._labels[e].strip Line, this.ctx.lineWidth =c.thickness,this.ctx.st rokeStyle=c.color):(this .ctx.lineWidth=this.tick Thickness,this.ctx.strok eStyle=this.tickColor),c =1===this.ctx.lineWidth% 2?(b.x<<0)+0.5:b.x<<0,th is.ctx.beginPath(),this. ctx.moveTo(c,b.y<<0),thi s.ctx.lineTo(c,b.y-this. tickLength<<0),this.ctx. stroke();if(!a||0===d++% 2||this._labels[e].strip Line)0===f.textBlock.ang le?(b.x-=f.textBlock.wid th/2,b.y-=this.tickLengt h+f.textBlock.height/2): (b.x-=0<this.labelAngle? f.textBlock.width*Math.c os(Math.PI/180*this.labe lAngle): 0,b.y-=this.tic kLength+Math.abs(0<this. labelAngle?f.textBlock.w idth*Math.sin(Math.PI/18 0*this.labelAngle)+5:5)) ,f.textBlock.x=b.x,f.tex tBlock.y=b.y,f.textBlock .render(!0)}this.title&& (this._titleTextBlock=ne w H(this.ctx,{x:this.lin eCoordinates.x1,y:this.b oundingRect.y1+1,maxWidt h:this.lineCoordinates.w idth,maxHeight:1.5*this. titleFontSize,angle:0,te xt:this.title,horizontal Align:"center",fontSize: this.titleFontSize,fontF amily:this.titleFontFami ly,fontWeight:this.title FontWeight,fontColor:thi s.titleFontColor, fontSt yle:this.titleFontStyle, textBaseline:"top"}),thi s._titleTextBlock.measur eText(),this._titleTextB lock.x=this.lineCoordina tes.x1+this.lineCoordina tes.width/2-this._titleT extBlock.width/2,this._t itleTextBlock.render(!0) )}else if("left"===this. _position){for(e=0;e<thi s._labels.length;e++)if( f=this._labels[e],!(f.po sition<this.viewportMini mum||f.position>this.vie wportMaximum)){b=this.ge tPixelCoordinatesOnAxis( f.position);if(this.tick Thickness&&!this._labels [e].stripLine||this._lab els[e].stripLine&& "pixe l"===this._labels[e].str ipLine._thicknessType)th is._labels[e].stripLine? (c=this._labels[e].strip Line,this.ctx.lineWidth= c.thickness,this.ctx.str okeStyle=c.color):(this. ctx.lineWidth=this.tickT hickness,this.ctx.stroke Style=this.tickColor),c= 1===this.ctx.lineWidth%2 ?(b.y<<0)+0.5:b.y<<0,thi s.ctx.beginPath(),this.c tx.moveTo(b.x<<0,c),this .ctx.lineTo(b.x-this.tic kLength<<0,c),this.ctx.s troke();if(!a||0===d++%2 ||this._labels[e].stripL ine)f.textBlock.x=b.x-f. textBlock.width*Math.cos (Math.PI/180*this.labelA ngle)- this.tickLength-5 ,f.textBlock.y=0===this. labelAngle?b.y:b.y-f.tex tBlock.width*Math.sin(Ma th.PI/180*this.labelAngl e),f.textBlock.render(!0 )}this.title&&(this._tit leTextBlock=new H(this.c tx,{x:this.boundingRect. x1+1,y:this.lineCoordina tes.y2,maxWidth:this.lin eCoordinates.height,maxH eight:1.5*this.titleFont Size,angle:-90,text:this .title,horizontalAlign:" center",fontSize:this.ti tleFontSize,fontFamily:t his.titleFontFamily,font Weight:this.titleFontWei ght,fontColor:this.title FontColor,fontStyle:this .titleFontStyle, textBas eline:"top"}),this._titl eTextBlock.measureText() ,this._titleTextBlock.y= this.lineCoordinates.hei ght/2+this._titleTextBlo ck.width/2+this.lineCoor dinates.y1,this._titleTe xtBlock.render(!0))}else if("right"===this._posi tion){for(e=0;e<this._la bels.length;e++)if(f=thi s._labels[e],!(f.positio n<this.viewportMinimum|| f.position>this.viewport Maximum)){b=this.getPixe lCoordinatesOnAxis(f.pos ition);if(this.tickThick ness&&!this._labels[e].s tripLine||this._labels[e ].stripLine&&"pixel"===t his._labels[e].stripLine ._thicknessType)this._la bels[e].stripLine? (c=th is._labels[e].stripLine, this.ctx.lineWidth=c.thi ckness,this.ctx.strokeSt yle=c.color):(this.ctx.l ineWidth=this.tickThickn ess,this.ctx.strokeStyle =this.tickColor),c=1===t his.ctx.lineWidth%2?(b.y <<0)+0.5:b.y<<0,this.ctx .beginPath(),this.ctx.mo veTo(b.x<<0,c),this.ctx. lineTo(b.x+this.tickLeng th<<0,c),this.ctx.stroke ();if(!a||0===d++%2||thi s._labels[e].stripLine)f .textBlock.x=b.x+this.ti ckLength+5,f.textBlock.y =b.y,f.textBlock.render( !0)}this.title&&(this._t itleTextBlock=new H(this .ctx,{x:this.boundingRec t.x2- 1,y:this.lineCoord inates.y2,maxWidth:this. lineCoordinates.height,m axHeight:1.5*this.titleF ontSize,angle:90,text:th is.title,horizontalAlign :"center",fontSize:this. titleFontSize,fontFamily :this.titleFontFamily,fo ntWeight:this.titleFontW eight,fontColor:this.tit leFontColor,fontStyle:th is.titleFontStyle,textBa seline:"top"}),this._tit leTextBlock.measureText( ),this._titleTextBlock.y =this.lineCoordinates.he ight/2-this._titleTextBl ock.width/2+this.lineCoo rdinates.y1,this._titleT extBlock.render(!0))}};C .prototype.renderInterla cedColors= function(){va r a=this.chart.plotArea. ctx,b,c,d=this.chart.plo tArea,e=0;b=!0;if(("bott om"===this._position||"t op"===this._position)&&t his.interlacedColor)for( a.fillStyle=this.interla cedColor,e=0;e<this._lab els.length;e++)this._lab els[e].stripLine||(b?(b= this.getPixelCoordinates OnAxis(this._labels[e].p osition),c=e+1>=this._la bels.length-1?this.getPi xelCoordinatesOnAxis(thi s.viewportMaximum):this. getPixelCoordinatesOnAxi s(this._labels[e+1].posi tion),a.fillRect(b.x,d.y 1,Math.abs(c.x-b.x),Math .abs(d.y1- d.y2)),b=!1): b=!0);else if(("left"=== this._position||"right"= ==this._position)&&this. interlacedColor)for(a.fi llStyle=this.interlacedC olor,e=0;e<this._labels. length;e++)this._labels[ e].stripLine||(b?(c=this .getPixelCoordinatesOnAx is(this._labels[e].posit ion),b=e+1>=this._labels .length-1?this.getPixelC oordinatesOnAxis(this.vi ewportMaximum):this.getP ixelCoordinatesOnAxis(th is._labels[e+1].position ),a.fillRect(d.x1,b.y,Ma th.abs(d.x1-d.x2),Math.a bs(b.y-c.y)),b=!1):b=!0) ;a.beginPath()};C.protot ype.renderStripLinesOfTh icknessType= function(a) {if(this.stripLines&&0<t his.stripLines.length&&a )for(var b=0,b=0;b<this. stripLines.length;b++){v ar c=this.stripLines[b]; c._thicknessType===a&&(" pixel"===a&&(c.value<thi s.viewportMinimum||c.val ue>this.viewportMaximum) ||(c.showOnTop?this.char t.addEventListener("data AnimationIterationEnd",c .render,c):c.render()))} };C.prototype.renderGrid =function(){if(this.grid Thickness&&0<this.gridTh ickness){var a=this.char t.ctx;a.save();var b,c=t his.chart.plotArea;a.lin eWidth=this.gridThicknes s;a.strokeStyle= this.gr idColor;a.setLineDash&&a .setLineDash(M(this.grid DashType,this.gridThickn ess));if("bottom"===this ._position||"top"===this ._position)for(d=0;d<thi s._labels.length&&!this. _labels[d].stripLine;d++ )this._labels[d].positio n<this.viewportMinimum|| this._labels[d].position >this.viewportMaximum||( a.beginPath(),b=this.get PixelCoordinatesOnAxis(t his._labels[d].position) ,b=1===a.lineWidth%2?(b. x<<0)+0.5:b.x<<0,a.moveT o(b,c.y1<<0),a.lineTo(b, c.y2<<0),a.stroke());els e if("left"===this._posi tion||"right"=== this._p osition)for(var d=0;d<th is._labels.length&&!this ._labels[d].stripLine;d+ +)0===d&&"axisY"===this. type&&this.chart.axisX&& this.chart.axisX.lineThi ckness||(this._labels[d] .position<this.viewportM inimum||this._labels[d]. position>this.viewportMa ximum)||(a.beginPath(),b =this.getPixelCoordinate sOnAxis(this._labels[d]. position),b=1===a.lineWi dth%2?(b.y<<0)+0.5:b.y<< 0,a.moveTo(c.x1<<0,b),a. lineTo(c.x2<<0,b),a.stro ke());a.restore()}};C.pr ototype.renderAxisLine=f unction(){var a=this.cha rt.ctx;a.save(); if("bot tom"===this._position||" top"===this._position){i f(this.lineThickness){a. lineWidth=this.lineThick ness;a.strokeStyle=this. lineColor?this.lineColor :"black";a.setLineDash&& a.setLineDash(M(this.lin eDashType,this.lineThick ness));var b=1===this.li neThickness%2?(this.line Coordinates.y1<<0)+0.5:t his.lineCoordinates.y1<< 0;a.beginPath();a.moveTo (this.lineCoordinates.x1 ,b);a.lineTo(this.lineCo ordinates.x2,b);a.stroke ()}}else"left"!==this._p osition&&"right"!==this. _position||!this.lineThi ckness||(a.lineWidth= th is.lineThickness,a.strok eStyle=this.lineColor,a. setLineDash&&a.setLineDa sh(M(this.lineDashType,t his.lineThickness)),b=1= ==this.lineThickness%2?( this.lineCoordinates.x1< <0)+0.5:this.lineCoordin ates.x1<<0,a.beginPath() ,a.moveTo(b,this.lineCoo rdinates.y1),a.lineTo(b, this.lineCoordinates.y2) ,a.stroke());a.restore() };C.prototype.getPixelCo ordinatesOnAxis=function (a){var b={};if("bottom" ===this._position||"top" ===this._position){var c =this.conversionParamete rs.pixelPerUnit;b.x=this .conversionParameters.re ference+ c*(a-this.viewp ortMinimum);b.y=this.lin eCoordinates.y1}if("left "===this._position||"rig ht"===this._position)c=- this.conversionParameter s.pixelPerUnit,b.y=this. conversionParameters.ref erence-c*(a-this.viewpor tMinimum),b.x=this.lineC oordinates.x2;return b}; C.prototype.convertPixel ToValue=function(a){if(! a)return null;var b=0;re turn b=this.conversionPa rameters.minimum+(("left "===this._position||"rig ht"===this._position?a.y :a.x)-this.conversionPar ameters.reference)/this. conversionParameters.pix elPerUnit}; C.prototype. setViewPortRange=functio n(a,b){this.sessionVaria bles.newViewportMinimum= this.viewportMinimum=Mat h.min(a,b);this.sessionV ariables.newViewportMaxi mum=this.viewportMaximum =Math.max(a,b)};C.protot ype.getXValueAt=function (a){if(!a)return null;va r b=null;"left"===this._ position?b=(this.chart.a xisX.viewportMaximum-thi s.chart.axisX.viewportMi nimum)/this.chart.axisX. lineCoordinates.height*( this.chart.axisX.lineCoo rdinates.y2-a.y)+this.ch art.axisX.viewportMinimu m:"bottom"===this._posit ion&&(b=(this.chart.axis X.viewportMaximum- this. chart.axisX.viewportMini mum)/this.chart.axisX.li neCoordinates.width*(a.x -this.chart.axisX.lineCo ordinates.x1)+this.chart .axisX.viewportMinimum); return b};C.prototype.ca lculateValueToPixelConve rsionParameters=function (a){this.reversed=!1;a={ pixelPerUnit:null,minimu m:null,reference:null};v ar b=this.lineCoordinate s.width,c=this.lineCoord inates.height;a.minimum= this.viewportMinimum;if( "bottom"===this._positio n||"top"===this._positio n)a.pixelPerUnit=(this.r eversed?-1:1)*b/Math.abs (this.viewportMaximum- t his.viewportMinimum),a.r eference=this.reversed?t his.lineCoordinates.x2:t his.lineCoordinates.x1;i f("left"===this._positio n||"right"===this._posit ion)a.pixelPerUnit=(this .reversed?1:-1)*c/Math.a bs(this.viewportMaximum- this.viewportMinimum),a. reference=this.reversed? this.lineCoordinates.y1: this.lineCoordinates.y2; this.conversionParameter s=a};C.prototype.calcula teAxisParameters=functio n(){var a=this.chart.lay outManager.getFreeSpace( ),b=!1;"bottom"===this._ position||"top"===this._ position?(this.maxWidth= a.width,this.maxHeight= a.height):(this.maxWidth =a.height,this.maxHeight =a.width);var a="axisX"= ==this.type?500>this.max Width?8:Math.max(6,Math. floor(this.maxWidth/62)) :Math.max(Math.floor(thi s.maxWidth/40),2),c,d,e, f;f=0;if(null===this.vie wportMinimum||isNaN(this .viewportMinimum))this.v iewportMinimum=this.mini mum;if(null===this.viewp ortMaximum||isNaN(this.v iewportMaximum))this.vie wportMaximum=this.maximu m;"axisX"===this.type?(c =null!==this.viewportMin imum?this.viewportMinimu m:this.dataInfo.viewPort Min, d=null!==this.viewp ortMaximum?this.viewport Maximum:this.dataInfo.vi ewPortMax,0===d-c&&(f="u ndefined"===typeof this. _options.interval?0.4:th is._options.interval,d+= f,c-=f),Infinity!==this. dataInfo.minDiff?e=this. dataInfo.minDiff:1<d-c?e =0.5*Math.abs(d-c):(e=1, "dateTime"===this.chart. plotInfo.axisXValueType& &(b=!0))):"axisY"===this .type&&(c=null!==this.vi ewportMinimum?this.viewp ortMinimum:this.dataInfo .viewPortMin,d=null!==th is.viewportMaximum?this. viewportMaximum:this.dat aInfo.viewPortMax,isFini te(c)|| isFinite(d)?isFi nite(c)?isFinite(d)||(d= c):c=d:(d="undefined"=== typeof this._options.int erval?-Infinity:this._op tions.interval,c=0),0=== c&&0===d?(d+=9,c=0):0=== d-c?(f=Math.min(Math.abs (0.01*Math.abs(d)),5),d+ =f,c-=f):c>d?(f=Math.min (Math.abs(0.01*Math.abs( d-c)),5),0<=d?c=d-f:d=c+ f):(f=Math.min(Math.abs( 0.01*Math.abs(d-c)),0.05 ),0!==d&&(d+=f),0!==c&&( c-=f)),e=Infinity!==this .dataInfo.minDiff?this.d ataInfo.minDiff:1<d-c?0. 5*Math.abs(d-c):1,this.i ncludeZero&&(null===this .viewportMinimum||isNaN( this.viewportMinimum))&& 0<c&&(c=0),this.include Zero&&(null===this.viewp ortMaximum||isNaN(this.v iewportMaximum))&&0>d&&( d=0));f=(isNaN(this.view portMaximum)||null===thi s.viewportMaximum?d:this .viewportMaximum)-(isNaN (this.viewportMinimum)|| null===this.viewportMini mum?c:this.viewportMinim um);if("axisX"===this.ty pe&&"dateTime"===this.ch art.plotInfo.axisXValueT ype){this.intervalType|| (f/1<=a?(this.interval=1 ,this.intervalType="mill isecond"):f/2<=a?(this.i nterval=2,this.intervalT ype="millisecond"):f/5<= a?(this.interval=5,this. intervalType= "milliseco nd"):f/10<=a?(this.inter val=10,this.intervalType ="millisecond"):f/20<=a? (this.interval=20,this.i ntervalType="millisecond "):f/50<=a?(this.interva l=50,this.intervalType=" millisecond"):f/100<=a?( this.interval=100,this.i ntervalType="millisecond "):f/200<=a?(this.interv al=200,this.intervalType ="millisecond"):f/250<=a ?(this.interval=250,this .intervalType="milliseco nd"):f/300<=a?(this.inte rval=300,this.intervalTy pe="millisecond"):f/400< =a?(this.interval=400,th is.intervalType="millise cond"):f/500<= a?(this.i nterval=500,this.interva lType="millisecond"):f/( 1*D.secondDuration)<=a?( this.interval=1,this.int ervalType="second"):f/(2 *D.secondDuration)<=a?(t his.interval=2,this.inte rvalType="second"):f/(5* D.secondDuration)<=a?(th is.interval=5,this.inter valType="second"):f/(10* D.secondDuration)<=a?(th is.interval=10,this.inte rvalType="second"):f/(15 *D.secondDuration)<=a?(t his.interval=15,this.int ervalType="second"):f/(2 0*D.secondDuration)<=a?( this.interval=20,this.in tervalType="second"):f/( 30*D.secondDuration)<= a ?(this.interval=30,this. intervalType="second"):f /(1*D.minuteDuration)<=a ?(this.interval=1,this.i ntervalType="minute"):f/ (2*D.minuteDuration)<=a? (this.interval=2,this.in tervalType="minute"):f/( 5*D.minuteDuration)<=a?( this.interval=5,this.int ervalType="minute"):f/(1 0*D.minuteDuration)<=a?( this.interval=10,this.in tervalType="minute"):f/( 15*D.minuteDuration)<=a? (this.interval=15,this.i ntervalType="minute"):f/ (20*D.minuteDuration)<=a ?(this.interval=20,this. intervalType="minute"):f /(30*D.minuteDuration)<= a?(this.interval=30,thi s.intervalType="minute") :f/(1*D.hourDuration)<=a ?(this.interval=1,this.i ntervalType="hour"):f/(2 *D.hourDuration)<=a?(thi s.interval=2,this.interv alType="hour"):f/(3*D.ho urDuration)<=a?(this.int erval=3,this.intervalTyp e="hour"):f/(6*D.hourDur ation)<=a?(this.interval =6,this.intervalType="ho ur"):f/(1*D.dayDuration) <=a?(this.interval=1,thi s.intervalType="day"):f/ (2*D.dayDuration)<=a?(th is.interval=2,this.inter valType="day"):f/(4*D.da yDuration)<=a?(this.inte rval=4,this.intervalType = "day"):f/(1*D.weekDura tion)<=a?(this.interval= 1,this.intervalType="wee k"):f/(2*D.weekDuration) <=a?(this.interval=2,thi s.intervalType="week"):f /(3*D.weekDuration)<=a?( this.interval=3,this.int ervalType="week"):f/(1*D .monthDuration)<=a?(this .interval=1,this.interva lType="month"):f/(2*D.mo nthDuration)<=a?(this.in terval=2,this.intervalTy pe="month"):f/(3*D.month Duration)<=a?(this.inter val=3,this.intervalType= "month"):f/(6*D.monthDur ation)<=a?(this.interval =6,this.intervalType="mo nth"):(this.interval=f/ (1*D.yearDuration)<=a?1: f/(2*D.yearDuration)<=a? 2:f/(4*D.yearDuration)<= a?4:Math.floor(C.getNice Number(f/(a-1),!0)/D.yea rDuration),this.interval Type="year"));if(null=== this.viewportMinimum||is NaN(this.viewportMinimum ))this.viewportMinimum=c -e/2;if(null===this.view portMaximum||isNaN(this. viewportMaximum))this.vi ewportMaximum=d+e/2;b?th is.autoValueFormatString ="MMM DD YYYY HH:mm":"ye ar"===this.intervalType? this.autoValueFormatStri ng="YYYY":"month"===this .intervalType?this.autoV alueFormatString="MMM YY YY": "week"===this.inter valType?this.autoValueFo rmatString="MMM DD YYYY" :"day"===this.intervalTy pe?this.autoValueFormatS tring="MMM DD YYYY":"hou r"===this.intervalType?t his.autoValueFormatStrin g="hh:mm TT":"minute"=== this.intervalType?this.a utoValueFormatString="hh :mm TT":"second"===this. intervalType?this.autoVa lueFormatString="hh:mm:s s TT":"millisecond"===th is.intervalType&&(this.a utoValueFormatString="ff f'ms'");this.valueFormat String||(this.valueForma tString=this.autoValueFo rmatString)}else{this.in tervalType= "number";f=C .getNiceNumber(f,!1);thi s.interval=this._options &&0<this._options.interv al?this._options.interva l:C.getNiceNumber(f/(a-1 ),!0);if(null===this.vie wportMinimum||isNaN(this .viewportMinimum))this.v iewportMinimum="axisX"== =this.type?c-e/2:Math.fl oor(c/this.interval)*thi s.interval;if(null===thi s.viewportMaximum||isNaN (this.viewportMaximum))t his.viewportMaximum="axi sX"===this.type?d+e/2:Ma th.ceil(d/this.interval) *this.interval;0===this. viewportMaximum&&0===thi s.viewportMinimum&&(0=== this._options.viewportMi nimum? this.viewportMaxi mum+=10:0===this._option s.viewportMaximum&&(this .viewportMinimum-=10),th is._options&&"undefined" ===typeof this._options. interval&&(this.interval =C.getNiceNumber((this.v iewportMaximum-this.view portMinimum)/(a-1),!0))) }if(null===this.minimum| |null===this.maximum)if( "axisX"===this.type?(c=n ull!==this.minimum?this. minimum:this.dataInfo.mi n,d=null!==this.maximum? this.maximum:this.dataIn fo.max,0===d-c&&(f="unde fined"===typeof this._op tions.interval?0.4:this. _options.interval,d+=f,c -=f), e=Infinity!==this. dataInfo.minDiff?this.da taInfo.minDiff:1<d-c?0.5 *Math.abs(d-c):1):"axisY "===this.type&&(c=null!= =this.minimum?this.minim um:this.dataInfo.min,d=n ull!==this.maximum?this. maximum:this.dataInfo.ma x,isFinite(c)||isFinite( d)?0===c&&0===d?(d+=9,c= 0):0===d-c?(f=Math.min(M ath.abs(0.01*Math.abs(d) ),5),d+=f,c-=f):c>d?(f=M ath.min(Math.abs(0.01*Ma th.abs(d-c)),5),0<=d?c=d -f:d=c+f):(f=Math.min(Ma th.abs(0.01*Math.abs(d-c )),0.05),0!==d&&(d+=f),0 !==c&&(c-=f)):(d="undefi ned"===typeof this._opti ons.interval? -Infinity: this._options.interval,c =0),e=Infinity!==this.da taInfo.minDiff?this.data Info.minDiff:1<d-c?0.5*M ath.abs(d-c):1,this.incl udeZero&&(null===this.mi nimum||isNaN(this.minimu m))&&0<c&&(c=0),this.inc ludeZero&&(null===this.m aximum||isNaN(this.maxim um))&&0>d&&(d=0)),"axisX "===this.type&&"dateTime "===this.chart.plotInfo. axisXValueType){if(null= ==this.minimum||isNaN(th is.minimum))this.minimum =c-e/2;if(null===this.ma ximum||isNaN(this.maximu m))this.maximum=d+e/2}el se this.intervalType="nu mber",null=== this.minim um&&(this.minimum="axisX "===this.type?c-e/2:Math .floor(c/this.interval)* this.interval,this.minim um=Math.min(this.minimum ,null===this.sessionVari ables.viewportMinimum||i sNaN(this.sessionVariabl es.viewportMinimum)?Infi nity:this.sessionVariabl es.viewportMinimum)),nul l===this.maximum&&(this. maximum="axisX"===this.t ype?d+e/2:Math.ceil(d/th is.interval)*this.interv al,this.maximum=Math.max (this.maximum,null===thi s.sessionVariables.viewp ortMaximum||isNaN(this.s essionVariables.viewport Maximum)?-Infinity: this .sessionVariables.viewpo rtMaximum)),0===this.max imum&&0===this.minimum&& (0===this._options.minim um?this.maximum+=10:0=== this._options.maximum&&( this.minimum-=10));this. viewportMinimum=Math.max (this.viewportMinimum,th is.minimum);this.viewpor tMaximum=Math.min(this.v iewportMaximum,this.maxi mum);this.intervalStartP osition="axisX"===this.t ype&&"dateTime"===this.c hart.plotInfo.axisXValue Type?this.getLabelStartP oint(new Date(this.viewp ortMinimum),this.interva lType,this.interval):Mat h.floor((this.viewportMi nimum+ 0.2*this.interval )/this.interval)*this.in terval;if(!this.valueFor matString&&(this.valueFo rmatString="#,##0.##",f= Math.abs(this.viewportMa ximum-this.viewportMinim um),1>f)){b=Math.floor(M ath.abs(Math.log(f)/Math .LN10))+2;if(isNaN(b)||! isFinite(b))b=2;if(2<b)f or(c=0;c<b-2;c++)this.va lueFormatString+="#"}};C .getNiceNumber=function( a,b){var c=Math.floor(Ma th.log(a)/Math.LN10),d=a /Math.pow(10,c);return N umber(((b?1.5>d?1:3>d?2: 7>d?5:10:1>=d?1:2>=d?2:5 >=d?5:10)*Math.pow(10,c) ).toFixed(20))};C.protot ype.getLabelStartPoint= function(){var a=D[this. intervalType+"Duration"] *this.interval,a=new Dat e(Math.floor(this.viewpo rtMinimum/a)*a);if("mill isecond"!==this.interval Type)if("second"===this. intervalType)0<a.getMill iseconds()&&(a.setSecond s(a.getSeconds()+1),a.se tMilliseconds(0));else i f("minute"===this.interv alType){if(0<a.getSecond s()||0<a.getMilliseconds ())a.setMinutes(a.getMin utes()+1),a.setSeconds(0 ),a.setMilliseconds(0)}e lse if("hour"===this.int ervalType){if(0<a.getMin utes()||0<a.getSeconds() ||0<a.getMilliseconds()) a.setHours(a.getHours()+ 1),a.setMinutes(0),a.se tSeconds(0),a.setMillise conds(0)}else if("day"== =this.intervalType){if(0 <a.getHours()||0<a.getMi nutes()||0<a.getSeconds( )||0<a.getMilliseconds() )a.setDate(a.getDate()+1 ),a.setHours(0),a.setMin utes(0),a.setSeconds(0), a.setMilliseconds(0)}els e if("week"===this.inter valType){if(0<a.getDay() ||0<a.getHours()||0<a.ge tMinutes()||0<a.getSecon ds()||0<a.getMillisecond s())a.setDate(a.getDate( )+(7-a.getDay())),a.setH ours(0),a.setMinutes(0), a.setSeconds(0),a.setMil liseconds(0)}else if("mo nth"=== this.intervalTyp e){if(1<a.getDate()||0<a .getHours()||0<a.getMinu tes()||0<a.getSeconds()| |0<a.getMilliseconds())a .setMonth(a.getMonth()+1 ),a.setDate(1),a.setHour s(0),a.setMinutes(0),a.s etSeconds(0),a.setMillis econds(0)}else"year"===t his.intervalType&&(0<a.g etMonth()||1<a.getDate() ||0<a.getHours()||0<a.ge tMinutes()||0<a.getSecon ds()||0<a.getMillisecond s())&&(a.setFullYear(a.g etFullYear()+1),a.setMon th(0),a.setDate(1),a.set Hours(0),a.setMinutes(0) ,a.setSeconds(0),a.setMi lliseconds(0));return a} ;O(la, G);la.prototype.r ender=function(){this.ct x.save();var a=this.pare nt.getPixelCoordinatesOn Axis(this.value),b=Math. abs("pixel"===this._thic knessType?this.thickness :this.parent.conversionP arameters.pixelPerUnit*t his.thickness);if(0<b){v ar c=null===this.opacity ?1:this.opacity;this.ctx .strokeStyle=this.color; this.ctx.beginPath();var d=this.ctx.globalAlpha; this.ctx.globalAlpha=c;B (this.id);var e,f,g,k;th is.ctx.lineWidth=b;this. ctx.setLineDash&&this.ct x.setLineDash(M(this.lin eDashType,b));if("bottom "=== this.parent._positi on||"top"===this.parent. _position)e=f=1===this.c tx.lineWidth%2?(a.x<<0)+ 0.5:a.x<<0,g=this.chart. plotArea.y1,k=this.chart .plotArea.y2;else if("le ft"===this.parent._posit ion||"right"===this.pare nt._position)g=k=1===thi s.ctx.lineWidth%2?(a.y<< 0)+0.5:a.y<<0,e=this.cha rt.plotArea.x1,f=this.ch art.plotArea.x2;this.ctx .moveTo(e,g);this.ctx.li neTo(f,k);this.ctx.strok e();this.ctx.globalAlpha =d}this.ctx.restore()};O (R,G);R.prototype._initi alize=function(){if(this .enabled){this.container =document.createElement( "div"); this.container.s etAttribute("class","can vasjs-chart-tooltip");th is.container.style.posit ion="absolute";this.cont ainer.style.height="auto ";this.container.style.b oxShadow="1px 1px 2px 2p x rgba(0,0,0,0.1)";this. container.style.zIndex=" 1000";this.container.sty le.display="none";var a; a='<div style=" width: a uto;height: auto;min-wid th: 50px;';a+="line-heig ht: auto;";a+="margin: 0 px 0px 0px 0px;";a+="pad ding: 5px;";a+="font-fam ily: Calibri, Arial, Geo rgia, serif;";a+="font-w eight: normal;";a+="font -style: "+ (t?"italic;": "normal;");a+="font-size : 14px;";a+="color: #000 000;";a+="text-shadow: 1 px 1px 1px rgba(0, 0, 0, 0.1);";a+="text-align: left;";a+="border: 2px s olid gray;";a+=t?"backgr ound: rgba(255,255,255,. 9);":"background: rgb(25 5,255,255);";a+="text-in dent: 0px;";a+="white-sp ace: nowrap;";a+="border -radius: 5px;";a+="-moz- user-select:none;";a+="- khtml-user-select: none; ";a+="-webkit-user-selec t: none;";a+="-ms-user-s elect: none;";a+="user-s elect: none;";t||(a+="fi lter: alpha(opacity = 90 );",a+="filter: progid:D XImageTransform.Microsof t.Shadow(Strength=3, Dir ection=135, Color='#6666 66');"); a+='} "> Sample Tooltip</div>';this.con tainer.innerHTML=a;this. contentDiv=this.containe r.firstChild;this.contai ner.style.borderRadius=t his.contentDiv.style.bor derRadius;this.chart._ca nvasJSContainer.appendCh ild(this.container)}};R. prototype.mouseMoveHandl er=function(a,b){this._l astUpdated&&40>(new Date ).getTime()-this._lastUp dated||(this._lastUpdate d=(new Date).getTime(),t his._updateToolTip(a,b)) };R.prototype._updateToo lTip=function(a,b){if(!t his.chart.disableToolTip ){if("undefined"===typeo f a||"undefined"=== type of b){if(isNaN(this._pre vX)||isNaN(this._prevY)) return;a=this._prevX;b=t his._prevY}else this._pr evX=a,this._prevY=b;var c=null,d=null,e=[],f=0;i f(this.shared&&this.enab led&&"none"!==this.chart .plotInfo.axisPlacement) {f="xySwapped"===this.ch art.plotInfo.axisPlaceme nt?(this.chart.axisX.vie wportMaximum-this.chart. axisX.viewportMinimum)/t his.chart.axisX.lineCoor dinates.height*(this.cha rt.axisX.lineCoordinates .y2-b)+this.chart.axisX. viewportMinimum:(this.ch art.axisX.viewportMaximu m-this.chart.axisX.viewp ortMinimum)/ this.chart. axisX.lineCoordinates.wi dth*(a-this.chart.axisX. lineCoordinates.x1)+this .chart.axisX.viewportMin imum;d=[];for(c=0;c<this .chart.data.length;c++){ var g=this.chart.data[c] .getDataPointAtX(f,!0);g &&0<=g.index&&(g.dataSer ies=this.chart.data[c],n ull!==g.dataPoint.y&&d.p ush(g))}if(0===d.length) return;d.sort(function(a ,b){return a.distance-b. distance});f=d[0];for(c= 0;c<d.length;c++)d[c].da taPoint.x.valueOf()===f. dataPoint.x.valueOf()&&e .push(d[c]);d=null}else{ if(g=this.chart.getDataP ointAtXY(a, b,!0))this.c urrentDataPointIndex=g.d ataPointIndex,this.curre ntSeriesIndex=g.dataSeri es.index;else if(t)if(g= xa(a,b,this.chart._event Manager.ghostCtx),0<g&&" undefined"!==typeof this .chart._eventManager.obj ectMap[g]){eventObject=t his.chart._eventManager. objectMap[g];if("legendI tem"===eventObject.objec tType)return;this.curren tSeriesIndex=eventObject .dataSeriesIndex;this.cu rrentDataPointIndex=0<=e ventObject.dataPointInde x?eventObject.dataPointI ndex:-1}else this.curren tDataPointIndex=-1;else this.currentDataPointInd ex= -1;if(0<=this.curren tSeriesIndex){d=this.cha rt.data[this.currentSeri esIndex];g={};if(0<=this .currentDataPointIndex)c =d.dataPoints[this.curre ntDataPointIndex],g.data Series=d,g.dataPoint=c,g .index=this.currentDataP ointIndex,g.distance=Mat h.abs(c.x-f);else{if(!th is.enabled||"line"!==d.t ype&&"stepLine"!==d.type &&"spline"!==d.type&&"ar ea"!==d.type&&"stepArea" !==d.type&&"splineArea"! ==d.type&&"stackedArea"! ==d.type&&"stackedArea10 0"!==d.type&&"rangeArea" !==d.type&&"rangeSplineA rea"!==d.type&&"candlest ick"!== d.type&&"ohlc"!= =d.type)return;f=d.axisX .conversionParameters.mi nimum+(a-d.axisX.convers ionParameters.reference) /d.axisX.conversionParam eters.pixelPerUnit;g=d.g etDataPointAtX(f,!0);g.d ataSeries=d;this.current DataPointIndex=g.index;c =g.dataPoint}if(!P(g.dat aPoint.y))if(g.dataSerie s.axisY)if(0<g.dataPoint .y.length){for(c=f=0;c<g .dataPoint.y.length;c++) g.dataPoint.y[c]<g.dataS eries.axisY.viewportMini mum?f--:g.dataPoint.y[c] >g.dataSeries.axisY.view portMaximum&&f++;f<g.dat aPoint.y.length&&f>-g.da taPoint.y.length&& e.pus h(g)}else"column"===d.ty pe||"bar"===d.type?0>g.d ataPoint.y?0>g.dataSerie s.axisY.viewportMinimum& &g.dataSeries.axisY.view portMaximum>=g.dataPoint .y&&e.push(g):g.dataSeri es.axisY.viewportMinimum <=g.dataPoint.y&&0<=g.da taSeries.axisY.viewportM aximum&&e.push(g):"bubbl e"===d.type?(f=this.char t._eventManager.objectMa p[d.dataPointIds[g.index ]].size/2,g.dataPoint.y> =g.dataSeries.axisY.view portMinimum-f&&g.dataPoi nt.y<=g.dataSeries.axisY .viewportMaximum+f&&e.pu sh(g)):(0<=g.dataSeries. type.indexOf("100")|| "s tackedColumn"===d.type|| "stackedBar"===d.type||g .dataPoint.y>=g.dataSeri es.axisY.viewportMinimum &&g.dataPoint.y<=g.dataS eries.axisY.viewportMaxi mum)&&e.push(g);else e.p ush(g)}}if(0<e.length&&( this.highlightObjects(e) ,this.enabled))if(f="",f =this.getToolTipInnerHTM L({entries:e}),null!==f) {this.contentDiv.innerHT ML=f;this.contentDiv.inn erHTML=f;f=!1;"none"===t his.container.style.disp lay&&(f=!0,this.containe r.style.display="block") ;try{this.contentDiv.sty le.background=this.backg roundColor?this.backgrou ndColor: t?"rgba(255,255 ,255,.9)":"rgb(255,255,2 55)",this.contentDiv.sty le.borderRightColor=this .contentDiv.style.border LeftColor=this.contentDi v.style.borderColor=this .borderColor?this.border Color:e[0].dataPoint.col or?e[0].dataPoint.color: e[0].dataSeries.color?e[ 0].dataSeries.color:e[0] .dataSeries._colorSet[e[ 0].index%e[0].dataSeries ._colorSet.length],this. contentDiv.style.borderW idth=this.borderThicknes s||0===this.borderThickn ess?this.borderThickness +"px":"2px",this.content Div.style.borderRadius=t his.cornerRadius|| 0===t his.cornerRadius?this.co rnerRadius+"px":"5px",th is.container.style.borde rRadius=this.contentDiv. style.borderRadius,this. contentDiv.style.fontSiz e=this.fontSize||0===thi s.fontSize?this.fontSize +"px":"14px",this.conten tDiv.style.color=this.fo ntColor?this.fontColor:" #000000",this.contentDiv .style.fontFamily=this.f ontFamily?this.fontFamil y:"Calibri, Arial, Georg ia, serif;",this.content Div.style.fontWeight=thi s.fontWeight?this.fontWe ight:"normal",this.conte ntDiv.style.fontStyle=th is.fontStyle?this.fontSt yle: t?"italic":"normal" }catch(k){}"pie"===e[0]. dataSeries.type||"doughn ut"===e[0].dataSeries.ty pe||"funnel"===e[0].data Series.type||"bar"===e[0 ].dataSeries.type||"rang eBar"===e[0].dataSeries. type||"stackedBar"===e[0 ].dataSeries.type||"stac kedBar100"===e[0].dataSe ries.type?toolTipLeft=a- 10-this.container.client Width:(toolTipLeft=e[0]. dataSeries.axisX.convers ionParameters.reference+ e[0].dataSeries.axisX.co nversionParameters.pixel PerUnit*(e[0].dataPoint. x-e[0].dataSeries.axisX. conversionParameters.min imum)- this.container.cl ientWidth<<0,toolTipLeft -=10);0>toolTipLeft&&(to olTipLeft+=this.containe r.clientWidth+20);toolTi pLeft+this.container.cli entWidth>Math.max(this.c hart._container.clientWi dth,this.chart.width)&&( toolTipLeft=Math.max(0,M ath.max(this.chart._cont ainer.clientWidth,this.c hart.width)-this.contain er.clientWidth));toolTip Left+="px";e=1!==e.lengt h||this.shared||"line"!= =e[0].dataSeries.type&&" stepLine"!==e[0].dataSer ies.type&&"spline"!==e[0 ].dataSeries.type&&"area "!==e[0].dataSeries.type &&"stepArea"!== e[0].dat aSeries.type&&"splineAre a"!==e[0].dataSeries.typ e&&"stackedArea"!==e[0]. dataSeries.type&&"stacke dArea100"!==e[0].dataSer ies.type?"bar"===e[0].da taSeries.type||"rangeBar "===e[0].dataSeries.type ||"stackedBar"===e[0].da taSeries.type||"stackedB ar100"===e[0].dataSeries .type?e[0].dataSeries.ax isX.conversionParameters .reference+e[0].dataSeri es.axisX.conversionParam eters.pixelPerUnit*(e[0] .dataPoint.x-e[0].dataSe ries.axisX.viewportMinim um)+0.5<<0:b:e[0].dataSe ries.axisY.conversionPar ameters.reference+ e[0]. dataSeries.axisY.convers ionParameters.pixelPerUn it*(e[0].dataPoint.y-e[0 ].dataSeries.axisY.viewp ortMinimum)+0.5<<0;e=-e+ 10;0<e+this.container.cl ientHeight+5&&(e-=e+this .container.clientHeight+ 5-0);this.container.styl e.left=toolTipLeft;this. container.style.bottom=e +"px";!this.animationEna bled||f?this.disableAnim ation():this.enableAnima tion()}else this.hide(!1 )}};R.prototype.highligh tObjects=function(a){var b=this.chart.overlaidCa nvasCtx;this.chart.reset OverlayedCanvas();b.clea rRect(0,0,this.chart.wid th, this.chart.height);b .save();var c=this.chart .plotArea,d=0;b.rect(c.x 1,c.y1,c.x2-c.x1,c.y2-c. y1);b.clip();for(c=0;c<a .length;c++){var e=a[c]; if((e=this.chart._eventM anager.objectMap[e.dataS eries.dataPointIds[e.ind ex]])&&e.objectType&&"da taPoint"===e.objectType) {var d=this.chart.data[e .dataSeriesIndex],f=d.da taPoints[e.dataPointInde x],g=e.dataPointIndex;!1 ===f.highlightEnabled||! 0!==d.highlightEnabled&& !0!==f.highlightEnabled| |("line"===d.type||"step Line"===d.type||"spline" ===d.type||"scatter"===d .type|| "area"===d.type| |"stepArea"===d.type||"s plineArea"===d.type||"st ackedArea"===d.type||"st ackedArea100"===d.type|| "rangeArea"===d.type||"r angeSplineArea"===d.type ?(f=d.getMarkerPropertie s(g,e.x1,e.y1,this.chart .overlaidCanvasCtx),f.si ze=Math.max(1.5*f.size<< 0,10),f.borderColor=f.bo rderColor||"#FFFFFF",f.b orderThickness=f.borderT hickness||Math.ceil(0.1* f.size),K.drawMarkers([f ]),"undefined"!==typeof e.y2&&(f=d.getMarkerProp erties(g,e.x1,e.y2,this. chart.overlaidCanvasCtx) ,f.size=Math.max(1.5*f.s ize<< 0,10),f.borderColo r=f.borderColor||"#FFFFF F",f.borderThickness=f.b orderThickness||Math.cei l(0.1*f.size),K.drawMark ers([f]))):"bubble"===d. type?(f=d.getMarkerPrope rties(g,e.x1,e.y1,this.c hart.overlaidCanvasCtx), f.size=e.size,f.color="w hite",f.borderColor="whi te",b.globalAlpha=0.3,K. drawMarkers([f]),b.globa lAlpha=1):"column"===d.t ype||"stackedColumn"===d .type||"stackedColumn100 "===d.type||"bar"===d.ty pe||"rangeBar"===d.type| |"stackedBar"===d.type|| "stackedBar100"===d.type ||"rangeColumn"===d.type ?I(b, e.x1,e.y1,e.x2,e.y 2,"white",0,null,!1,!1,! 1,!1,0.3):"pie"===d.type ||"doughnut"===d.type?sa (b,e.center,e.radius,"wh ite",d.type,e.startAngle ,e.endAngle,0.3,e.percen tInnerRadius):"candlesti ck"===d.type?(b.globalAl pha=1,b.strokeStyle=e.co lor,b.lineWidth=2*e.bord erThickness,d=0===b.line Width%2?0:0.5,b.beginPat h(),b.moveTo(e.x3-d,e.y2 ),b.lineTo(e.x3-d,Math.m in(e.y1,e.y4)),b.stroke( ),b.beginPath(),b.moveTo (e.x3-d,Math.max(e.y1,e. y4)),b.lineTo(e.x3-d,e.y 3),b.stroke(),I(b,e.x1,M ath.min(e.y1,e.y4),e.x2, Math.max(e.y1, e.y4),"tr ansparent",2*e.borderThi ckness,e.color,!1,!1,!1, !1),b.globalAlpha=1):"oh lc"===d.type&&(b.globalA lpha=1,b.strokeStyle=e.c olor,b.lineWidth=2*e.bor derThickness,d=0===b.lin eWidth%2?0:0.5,b.beginPa th(),b.moveTo(e.x3-d,e.y 2),b.lineTo(e.x3-d,e.y3) ,b.stroke(),b.beginPath( ),b.moveTo(e.x3,e.y1),b. lineTo(e.x1,e.y1),b.stro ke(),b.beginPath(),b.mov eTo(e.x3,e.y4),b.lineTo( e.x2,e.y4),b.stroke(),b. globalAlpha=1))}}b.resto re();b.globalAlpha=1;b.b eginPath()};R.prototype. getToolTipInnerHTML=func tion(a){a=a.entries; for (var b=null,c=null,d=nul l,e=0,f="",g=!0,k=0;k<a. length;k++)if(a[k].dataS eries.toolTipContent||a[ k].dataPoint.toolTipCont ent){g=!1;break}if(g&&(t his.content&&"function"= ==typeof this.content||t his.contentFormatter))a= {chart:this.chart._publi cChartReference,toolTip: this._options,entries:a} ,b=this.contentFormatter ?this.contentFormatter(a ):this.content(a);else i f(this.shared&&"none"!== this.chart.plotInfo.axis Placement){for(var p="", k=0;k<a.length;k++)if(c= a[k].dataSeries,d=a[k].d ataPoint,e=a[k].index, f ="",0===k&&(g&&!this.con tent)&&(p+="undefined"!= =typeof this.chart.axisX .labels[d.x]?this.chart. axisX.labels[d.x]:"{x}", p+="</br>",p=this.chart. replaceKeywordsWithValue (p,d,c,e)),null!==d.tool TipContent&&("undefined" !==typeof d.toolTipConte nt||null!==c._options.to olTipContent)){if("line" ===c.type||"stepLine"=== c.type||"spline"===c.typ e||"area"===c.type||"ste pArea"===c.type||"spline Area"===c.type||"column" ===c.type||"bar"===c.typ e||"scatter"===c.type||" stackedColumn"===c.type| |"stackedColumn100"=== c .type||"stackedBar"===c. type||"stackedBar100"=== c.type||"stackedArea"=== c.type||"stackedArea100" ===c.type)f+=d.toolTipCo ntent?d.toolTipContent:c .toolTipContent?c.toolTi pContent:this.content&&" function"!==typeof this. content?this.content:"<s pan style='\""+(this.fon tColor?"":"'color:{color };'")+"\"'>{name}:</span > {y}";else i f("bubble"===c.type)f+=d .toolTipContent?d.toolTi pContent:c.toolTipConten t?c.toolTipContent:this. content&&"function"!==ty peof this.content?this.c ontent:"<span style='\"" + (this.fontColor?"":"'c olor:{color};'")+"\"'>{n ame}:</span> {y}, {z}";el se if("rangeColumn"===c. type||"rangeBar"===c.typ e||"rangeArea"===c.type| |"rangeSplineArea"===c.t ype)f+=d.toolTipContent? d.toolTipContent:c.toolT ipContent?c.toolTipConte nt:this.content&&"functi on"!==typeof this.conten t?this.content:"<span st yle='\""+(this.fontColor ?"":"'color:{color};'")+ "\"'>{name}:</span>  ; {y[0]}, {y[1 ]}";else if("candlestick "===c.type||"ohlc"===c.t ype)f+=d.toolTipContent? d.toolTipContent:c.tool TipContent?c.toolTipCont ent:this.content&&"funct ion"!==typeof this.conte nt?this.content:"<span s tyle='\""+(this.fontColo r?"":"'color:{color};'") +"\"'>{name}:</span><br/ >Open: {y[0] }<br/>High: {y[1]}<br/>Low:&nb sp; {y[2]}<br />Close: {y[ 3]}";null===b&&(b="");!0 ===this.reversed?(b=this .chart.replaceKeywordsWi thValue(f,d,c,e)+b,k<a.l ength-1&&(b="</br>"+b)): (b+=this.chart.replaceKe ywordsWithValue(f,d,c,e) ,k<a.length-1&&(b+="</br >"))}null!== b&&(b=p+b)} else{c=a[0].dataSeries;d =a[0].dataPoint;e=a[0].i ndex;if(null===d.toolTip Content||"undefined"===t ypeof d.toolTipContent&& null===c._options.toolTi pContent)return null;if( "line"===c.type||"stepLi ne"===c.type||"spline"== =c.type||"area"===c.type ||"stepArea"===c.type||" splineArea"===c.type||"c olumn"===c.type||"bar"== =c.type||"scatter"===c.t ype||"stackedColumn"===c .type||"stackedColumn100 "===c.type||"stackedBar" ===c.type||"stackedBar10 0"===c.type||"stackedAre a"===c.type||"stackedAre a100"===c.type)f= d.tool TipContent?d.toolTipCont ent:c.toolTipContent?c.t oolTipContent:this.conte nt&&"function"!==typeof this.content?this.conten t:"<span style='\""+(thi s.fontColor?"":"'color:{ color};'")+"\"'>"+(d.lab el?"{label}":"{x}")+":</ span> {y}";el se if("bubble"===c.type) f=d.toolTipContent?d.too lTipContent:c.toolTipCon tent?c.toolTipContent:th is.content&&"function"!= =typeof this.content?thi s.content:"<span style=' \""+(this.fontColor?"":" 'color:{color};'")+"\"'> "+(d.label?"{label}":"{x }")+":</span>   ;{y}, {z}"; else if("pie"===c.type|| "doughnut"===c.type||"fu nnel"===c.type)f=d.toolT ipContent?d.toolTipConte nt:c.toolTipContent?c.to olTipContent:this.conten t&&"function"!==typeof t his.content?this.content :"<span style='\""+(this .fontColor?"":"'color:{c olor};'")+"\"'>"+(d.name ?"{name}:</span> &n bsp;":d.label?"{label}:< /span> ":"</s pan>")+"{y}";else if("ra ngeColumn"===c.type||"ra ngeBar"===c.type||"range Area"===c.type||"rangeSp lineArea"===c.type)f=d.t oolTipContent?d.toolTipC ontent:c.toolTipContent? c.toolTipContent:this.c ontent&&"function"!==typ eof this.content?this.co ntent:"<span style='\""+ (this.fontColor?"":"'col or:{color};'")+"\"'>"+(d .label?"{label}":"{x}")+ " :</span> {y [0]}, {y[1]}";else if("candlestick"===c.ty pe||"ohlc"===c.type)f=d. toolTipContent?d.toolTip Content:c.toolTipContent ?c.toolTipContent:this.c ontent&&"function"!==typ eof this.content?this.co ntent:"<span style='\""+ (this.fontColor?"":"'col or:{color};'")+"\"'>"+(d .label?"{label}":"{x}")+ "</span><br/>Open:   ; {y[0]}<br/>High: {y[1]} <br/>Low: &n bsp; {y[2]}<br/>Clo se: {y[3]}"; null===b&&(b="");b+=thi s.chart.replaceKeywordsW ithValue(f,d,c,e)}return b};R.prototype.enableAn imation=function(){this. container.style.WebkitTr ansition||(this.containe r.style.WebkitTransition ="left .2s ease-out, bot tom .2s ease-out",this.c ontainer.style.MozTransi tion="left .2s ease-out, bottom .2s ease-out",th is.container.style.MsTra nsition="left .2s ease-o ut, bottom .2s ease-out" ,this.container.style.tr ansition="left .2s ease- out, bottom .2s ease-out ")};R.prototype.disableA nimation=function(){this .container.style.WebkitT ransition&& (this.contai ner.style.WebkitTransiti on="",this.container.sty le.MozTransition="",this .container.style.MsTrans ition="",this.container. style.transition="")};R. prototype.hide=function( a){this.enabled&&(this.c ontainer.style.display=" none",this.currentSeries Index=-1,this._prevY=thi s._prevX=NaN,("undefined "===typeof a||a)&&this.c hart.resetOverlayedCanva s())};u.prototype.getPer centAndTotal=function(a, b){var c=null,d=null,e=n ull;if(0<=a.type.indexOf ("stacked"))d=0,c=b.x.ge tTime?b.x.getTime():b.x, c in a.plotUnit.yTotals& & (d=a.plotUnit.yTotals[ c],e=isNaN(b.y)?0:0===d? 0:100*(b.y/d));else if(" pie"===a.type||"doughnut "===a.type){for(i=d=0;i< a.dataPoints.length;i++) isNaN(a.dataPoints[i].y) ||(d+=a.dataPoints[i].y) ;e=isNaN(b.y)?0:100*(b.y /d)}return{percent:e,tot al:d}};u.prototype.repla ceKeywordsWithValue=func tion(a,b,c,d,e){var f=th is;e="undefined"===typeo f e?0:e;if((0<=c.type.in dexOf("stacked")||"pie"= ==c.type||"doughnut"===c .type)&&(0<=a.indexOf("# percent")||0<=a.indexOf( "#total"))){var g="#perc ent",k="#total",p=this.g etPercentAndTotal(c, b), k=isNaN(p.total)?k:p.tot al,g=isNaN(p.percent)?g: p.percent;do{p="";if(c.p ercentFormatString)p=c.p ercentFormatString;else{ var p="#,##0.",h=Math.ma x(Math.ceil(Math.log(1/M ath.abs(g))/Math.LN10),2 );if(isNaN(h)||!isFinite (h))h=2;for(var l=0;l<h; l++)p+="#"}a=a.replace(" #percent",X(g,p,f._cultu reInfo));a=a.replace("#t otal",X(k,c.yValueFormat String?c.yValueFormatStr ing:"#,##0.########"))}w hile(0<=a.indexOf("#perc ent")||0<=a.indexOf("#to tal"))}return a.replace( /\{.*?\}|"[^"]*"|'[^']*' /g,function(a){if('"'=== a[0]&&'"'===a[a.length- 1]||"'"===a[0]&&"'"===a[ a.length-1])return a.sli ce(1,a.length-1);a=$(a.s lice(1,a.length-1));a=a. replace("#index",e);var g=null;try{var h=a.match (/(.*?)\s*\[\s*(.*?)\s*\ ]/);h&&0<h.length&&(g=$( h[2]),a=$(h[1]))}catch(k ){}h=null;if("color"===a )return b.color?b.color: c.color?c.color:c._color Set[d%c._colorSet.length ];if(b.hasOwnProperty(a) )h=b;else if(c.hasOwnPro perty(a))h=c;else return "";h=h[a];null!==g&&(h=h [g]);return"x"===a?"date Time"===f.plotInfo.axisX ValueType||"dateTime"=== c.xValueType||b.x&&b.x. getTime?ra(h,b.xValueFor matString?b.xValueFormat String:c.xValueFormatStr ing?c.xValueFormatString :f.axisX&&f.axisX.autoVa lueFormatString?f.axisX. autoValueFormatString:"D D MMM YY",f._cultureInfo ):X(h,b.xValueFormatStri ng?b.xValueFormatString: c.xValueFormatString?c.x ValueFormatString:"#,##0 .########",f._cultureInf o):"y"===a?X(h,b.yValueF ormatString?b.yValueForm atString:c.yValueFormatS tring?c.yValueFormatStri ng:"#,##0.########",f._c ultureInfo):"z"===a?X(h, b.zValueFormatString?b.z ValueFormatString: c.zVa lueFormatString?c.zValue FormatString:"#,##0.#### ####",f._cultureInfo):h} )};aa.prototype.reset=fu nction(){this.lastObject Id=0;this.objectMap=[];t his.rectangularRegionEve ntSubscriptions=[];this. previousDataPointEventOb ject=null;this.eventObje cts=[];t&&(this.ghostCtx .clearRect(0,0,this.char t.width,this.chart.heigh t),this.ghostCtx.beginPa th())};aa.prototype.getN ewObjectTrackingId=funct ion(){return++this.lastO bjectId};aa.prototype.mo useEventHandler=function (a){if("mousemove"===a.t ype||"click"===a.type){v ar b= [],c=na(a),d=null; if((d=this.chart.getObje ctAtXY(c.x,c.y,!1))&&"un defined"!==typeof this.o bjectMap[d])if(d=this.ob jectMap[d],"dataPoint"== =d.objectType){var e=thi s.chart.data[d.dataSerie sIndex],f=e.dataPoints[d .dataPointIndex],g=d.dat aPointIndex;d.eventParam eter={x:c.x,y:c.y,dataPo int:f,dataSeries:e._opti ons,dataPointIndex:g,dat aSeriesIndex:e.index,cha rt:this.chart._publicCha rtReference};d.eventCont ext={context:f,userConte xt:f,mouseover:"mouseove r",mousemove:"mousemove" ,mouseout:"mouseout",cli ck:"click"}; b.push(d);d =this.objectMap[e.id];d. eventParameter={x:c.x,y: c.y,dataPoint:f,dataSeri es:e._options,dataPointI ndex:g,dataSeriesIndex:e .index,chart:this.chart. _publicChartReference};d .eventContext={context:e ,userContext:e._options, mouseover:"mouseover",mo usemove:"mousemove",mous eout:"mouseout",click:"c lick"};b.push(this.objec tMap[e.id])}else"legendI tem"===d.objectType&&(e= this.chart.data[d.dataSe riesIndex],f=null!==d.da taPointIndex?e.dataPoint s[d.dataPointIndex]:null ,d.eventParameter={x:c.x ,y:c.y,dataSeries:e._opt ions, dataPoint:f,dataPo intIndex:d.dataPointInde x,dataSeriesIndex:d.data SeriesIndex,chart:this.c hart._publicChartReferen ce},d.eventContext={cont ext:this.chart.legend,us erContext:this.chart.leg end._options,mouseover:" itemmouseover",mousemove :"itemmousemove",mouseou t:"itemmouseout",click:" itemclick"},b.push(d));e =[];for(c=0;c<this.mouse overedObjectMaps.length; c++){f=!0;for(d=0;d<b.le ngth;d++)if(b[d].id===th is.mouseoveredObjectMaps [c].id){f=!1;break}f?thi s.fireEvent(this.mouseov eredObjectMaps[c],"mouse out", a):e.push(this.mou seoveredObjectMaps[c])}t his.mouseoveredObjectMap s=e;for(c=0;c<b.length;c ++){e=!1;for(d=0;d<this. mouseoveredObjectMaps.le ngth;d++)if(b[c].id===th is.mouseoveredObjectMaps [d].id){e=!0;break}e||(t his.fireEvent(b[c],"mous eover",a),this.mouseover edObjectMaps.push(b[c])) ;"click"===a.type?this.f ireEvent(b[c],"click",a) :"mousemove"===a.type&&t his.fireEvent(b[c],"mous emove",a)}}};aa.prototyp e.fireEvent=function(a,b ,c){if(a&&b){var d=a.eve ntParameter,e=a.eventCon text,f=a.eventContext.us erContext; f&&(e&&f[e[b] ])&&f[e[b]].call(f,d);"m ouseout"!==b?f.cursor&&f .cursor!==c.target.style .cursor&&(c.target.style .cursor=f.cursor):(c.tar get.style.cursor=this.ch art._defaultCursor,delet e a.eventParameter,delet e a.eventContext);"click "===b&&("dataPoint"===a. objectType&&this.chart.p ieDoughnutClickHandler)& &this.chart.pieDoughnutC lickHandler.call(this.ch art.data[a.dataSeriesInd ex],d)}};O(ca,G);qa.prot otype.animate=function(a ,b,c,d,e){var f=this;thi s.chart.isAnimating=!0;e =e||A.easing.linear;c&&t his.animations.push({sta rtTime:(new Date).getTim e()+ (a?a:0),duration:b, animationCallback:c,onCo mplete:d});for(a=[];0<th is.animations.length;)if (b=this.animations.shift (),c=(new Date).getTime( ),d=0,b.startTime<=c&&(d =e(Math.min(c-b.startTim e,b.duration),0,1,b.dura tion),d=Math.min(d,1),is NaN(d)||!isFinite(d))&&( d=1),1>d&&a.push(b),b.an imationCallback(d),1<=d& &b.onComplete)b.onComple te();this.animations=a;0 <this.animations.length? this.animationRequestId= this.chart.requestAnimFr ame.call(window,function (){f.animate.call(f)}):t his.chart.isAnimating=!1 }; qa.prototype.cancelAl lAnimations=function(){t his.animations=[];this.a nimationRequestId&&this. chart.cancelRequestAnimF rame.call(window,this.an imationRequestId);this.a nimationRequestId=null;t his.chart.isAnimating=!1 };var A={yScaleAnimation :function(a,b){if(0!==a) {var c=b.dest,d=b.source .canvas,e=b.animationBas e;c.drawImage(d,0,0,d.wi dth,d.height,0,e-e*a,c.c anvas.width/J,a*c.canvas .height/J)}},xScaleAnima tion:function(a,b){if(0! ==a){var c=b.dest,d=b.so urce.canvas,e=b.animatio nBase;c.drawImage(d,0,0, d.width,d.height,e-e*a, 0,a*c.canvas.width/J,c.c anvas.height/J)}},xClipA nimation:function(a,b){i f(0!==a){var c=b.dest,d= b.source.canvas;c.save() ;0<a&&c.drawImage(d,0,0, d.width*a,d.height,0,0,d .width*a/J,d.height/J);c .restore()}},fadeInAnima tion:function(a,b){if(0! ==a){var c=b.dest,d=b.so urce.canvas;c.save();c.g lobalAlpha=a;c.drawImage (d,0,0,d.width,d.height, 0,0,c.canvas.width/J,c.c anvas.height/J);c.restor e()}},easing:{linear:fun ction(a,b,c,d){return c* a/d+b},easeOutQuad:funct ion(a,b,c,d){return-c* ( a/=d)*(a-2)+b},easeOutQu art:function(a,b,c,d){re turn-c*((a=a/d-1)*a*a*a- 1)+b},easeInQuad:functio n(a,b,c,d){return c*(a/= d)*a+b},easeInQuart:func tion(a,b,c,d){return c*( a/=d)*a*a*a+b}}},K={draw Marker:function(a,b,c,d, e,f,g,k){if(c){var p=1;c .fillStyle=f?f:"#000000" ;c.strokeStyle=g?g:"#000 000";c.lineWidth=k?k:0;" circle"===d?(c.moveTo(a, b),c.beginPath(),c.arc(a ,b,e/2,0,2*Math.PI,!1),f &&c.fill(),k&&(g?c.strok e():(p=c.globalAlpha,c.g lobalAlpha=0.15,c.stroke Style="black",c.stroke() ,c.globalAlpha=p))): "sq uare"===d?(c.beginPath() ,c.rect(a-e/2,b-e/2,e,e) ,f&&c.fill(),k&&(g?c.str oke():(p=c.globalAlpha,c .globalAlpha=0.15,c.stro keStyle="black",c.stroke (),c.globalAlpha=p))):"t riangle"===d?(c.beginPat h(),c.moveTo(a-e/2,b+e/2 ),c.lineTo(a+e/2,b+e/2), c.lineTo(a,b-e/2),c.clos ePath(),f&&c.fill(),k&&( g?c.stroke():(p=c.global Alpha,c.globalAlpha=0.15 ,c.strokeStyle="black",c .stroke(),c.globalAlpha= p)),c.beginPath()):"cros s"===d&&(c.strokeStyle=f ,c.lineWidth=e/4,c.begin Path(),c.moveTo(a-e/2,b- e/2),c.lineTo(a+e/ 2,b+e /2),c.stroke(),c.moveTo( a+e/2,b-e/2),c.lineTo(a- e/2,b+e/2),c.stroke())}} ,drawMarkers:function(a) {for(var b=0;b<a.length; b++){var c=a[b];K.drawMa rker(c.x,c.y,c.ctx,c.typ e,c.size,c.color,c.borde rColor,c.borderThickness )}}},Ba={Chart:function( a,b){var c=new u(a,b,thi s);this.render=function( ){c.render(this.options) };this.options=c._option s},addColorSet:function( a,b){W[a]=b},addCultureI nfo:function(a,b){da[a]= b},formatNumber:function (a,b,c){c=c||"en";if(da[ c])return X(a,b||"#,##0. ##",new ca(c));throw"Unk nown Culture Name"; },fo rmatDate:function(a,b,c) {c=c||"en";if(da[c])retu rn ra(a,b||"DD MMM YYYY" ,new ca(c));throw"Unknow n Culture Name";}};Ba.Ch art.version="v1.8.0 GA"; window.CanvasJS=Ba})(); /* excanvas is used to support IE678 which do not implement HTML5 Canv as Element. You can safe ly remove the following excanvas code if you don 't need to support older browsers. Copyright 2006 Google Inc. https:/ /code.google.com/p/explo rercanvas/ Licensed un der the Apache License, Version 2.0 */ document. createElement("canvas"). getContext||function(){f unction V(){return this. context_||(this.context_ =new C(this))}function W (a,b,c){var g=M.call(arg uments,2);return functio n(){return a.apply(b,g.c oncat(M.call(arguments)) )}}function N(a){return String(a).replace(/&/g," &").replace(/"/g,"&q uot;")}function O(a){a.n amespaces.g_vml_||a.name spaces.add("g_vml_","urn :schemas-microsoft-com:v ml","#default#VML");a.na mespaces.g_o_||a.namespa ces.add("g_o_","urn:sche mas-microsoft-com:office :office","#default#VML") ; a.styleSheets.ex_canva s_||(a=a.createStyleShee t(),a.owningElement.id=" ex_canvas_",a.cssText="c anvas{display:inline-blo ck;overflow:hidden;text- align:left;width:300px;h eight:150px}")}function X(a){var b=a.srcElement; switch(a.propertyName){c ase "width":b.getContext ().clearRect();b.style.w idth=b.attributes.width. nodeValue+"px";b.firstCh ild.style.width=b.client Width+"px";break;case "h eight":b.getContext().cl earRect(),b.style.height =b.attributes.height.nod eValue+"px",b.firstChild .style.height=b.clientHe ight+ "px"}}function Y(a ){a=a.srcElement;a.first Child&&(a.firstChild.sty le.width=a.clientWidth+" px",a.firstChild.style.h eight=a.clientHeight+"px ")}function D(){return[[ 1,0,0],[0,1,0],[0,0,1]]} function t(a,b){for(var c=D(),g=0;3>g;g++)for(va r e=0;3>e;e++){for(var f =0,d=0;3>d;d++)f+=a[g][d ]*b[d][e];c[g][e]=f}retu rn c}function P(a,b){b.f illStyle=a.fillStyle;b.l ineCap=a.lineCap;b.lineJ oin=a.lineJoin;b.lineWid th=a.lineWidth;b.miterLi mit=a.miterLimit;b.shado wBlur=a.shadowBlur;b.sha dowColor=a.shadowColor;b .shadowOffsetX= a.shadow OffsetX;b.shadowOffsetY= a.shadowOffsetY;b.stroke Style=a.strokeStyle;b.gl obalAlpha=a.globalAlpha; b.font=a.font;b.textAlig n=a.textAlign;b.textBase line=a.textBaseline;b.ar cScaleX_=a.arcScaleX_;b. arcScaleY_=a.arcScaleY_; b.lineScale_=a.lineScale _}function Q(a){var b=a. indexOf("(",3),c=a.index Of(")",b+1),b=a.substrin g(b+1,c).split(",");if(4 !=b.length||"a"!=a.charA t(3))b[3]=1;return b}fun ction E(a,b,c){return Ma th.min(c,Math.max(b,a))} function F(a,b,c){0>c&&c ++;1<c&&c--;return 1>6*c ?a+6*(b-a)*c: 1>2*c?b:2> 3*c?a+6*(b-a)*(2/3-c):a} function G(a){if(a in H) return H[a];var b,c=1;a= String(a);if("#"==a.char At(0))b=a;else if(/^rgb/ .test(a)){c=Q(a);b="#";f or(var g,e=0;3>e;e++)g=- 1!=c[e].indexOf("%")?Mat h.floor(255*(parseFloat( c[e])/100)):+c[e],b+=v[E (g,0,255)];c=+c[3]}else if(/^hsl/.test(a)){e=c=Q (a);b=parseFloat(e[0])/3 60%360;0>b&&b++;g=E(pars eFloat(e[1])/100,0,1);e= E(parseFloat(e[2])/100,0 ,1);if(0==g)g=e=b=e;else {var f=0.5>e?e*(1+g):e+g -e*g,d=2*e-f;g=F(d,f,b+1 /3);e=F(d,f,b);b=F(d,f,b -1/3)}b="#"+ v[Math.floo r(255*g)]+v[Math.floor(2 55*e)]+v[Math.floor(255* b)];c=c[3]}else b=Z[a]|| a;return H[a]={color:b,a lpha:c}}function C(a){th is.m_=D();this.mStack_=[ ];this.aStack_=[];this.c urrentPath_=[];this.fill Style=this.strokeStyle=" #000";this.lineWidth=1;t his.lineJoin="miter";thi s.lineCap="butt";this.mi terLimit=1*q;this.global Alpha=1;this.font="10px sans-serif";this.textAli gn="left";this.textBasel ine="alphabetic";this.ca nvas=a;var b="width:"+a. clientWidth+"px;height:" +a.clientHeight+"px;over flow:hidden;position:abs olute", c=a.ownerDocumen t.createElement("div");c .style.cssText=b;a.appen dChild(c);b=c.cloneNode( !1);b.style.backgroundCo lor="red";b.style.filter ="alpha(opacity=0)";a.ap pendChild(b);this.elemen t_=c;this.lineScale_=thi s.arcScaleY_=this.arcSca leX_=1}function R(a,b,c, g){a.currentPath_.push({ type:"bezierCurveTo",cp1 x:b.x,cp1y:b.y,cp2x:c.x, cp2y:c.y,x:g.x,y:g.y});a .currentX_=g.x;a.current Y_=g.y}function S(a,b){v ar c=G(a.strokeStyle),g= c.color,c=c.alpha*a.glob alAlpha,e=a.lineScale_*a .lineWidth;1>e&&(c*=e);b .push("<g_vml_:stroke", ' opacity="',c,'"',' joi nstyle="',a.lineJoin,'"' ,' miterlimit="',a.miter Limit,'"',' endcap="',$[ a.lineCap]||"square",'"' ,' weight="',e,'px"',' c olor="',g,'" />')}functi on T(a,b,c,g){var e=a.fi llStyle,f=a.arcScaleX_,d =a.arcScaleY_,k=g.x-c.x, n=g.y-c.y;if(e instanceo f w){var h=0,l=g=0,u=0,m =1;if("gradient"==e.type _){h=e.x1_/f;c=e.y1_/d;v ar p=s(a,e.x0_/f,e.y0_/d ),h=s(a,h,c),h=180*Math. atan2(h.x-p.x,h.y-p.y)/M ath.PI;0>h&&(h+=360);1E- 6>h&&(h=0)}else p=s(a,e. x0_,e.y0_),g=(p.x-c.x)/k ,l=(p.y-c.y)/n,k/=f*q, n /=d*q,m=x.max(k,n),u=2*e .r0_/m,m=2*e.r1_/m-u;f=e .colors_;f.sort(function (a,b){return a.offset-b. offset});d=f.length;p=f[ 0].color;c=f[d-1].color; k=f[0].alpha*a.globalAlp ha;a=f[d-1].alpha*a.glob alAlpha;for(var n=[],r=0 ;r<d;r++){var t=f[r];n.p ush(t.offset*m+u+" "+t.c olor)}b.push('<g_vml_:fi ll type="',e.type_,'"',' method="none" focus="10 0%"',' color="',p,'"',' color2="',c,'"',' colors ="',n.join(","),'"',' op acity="',a,'"',' g_o_:op acity2="',k,'"',' angle= "',h,'"',' focusposition ="',g,",",l,'" />')}else e instanceof I?k&&n&&b. push("<g_vml_:fill",' po sition="',-c.x/k*f*f,"," ,-c.y/n*d*d,'"',' type=" tile"',' src="',e.src_,' " />'):(e=G(a.fillStyle) ,b.push('<g_vml_:fill co lor="',e.color,'" opacit y="',e.alpha*a.globalAlp ha,'" />'))}function s(a ,b,c){a=a.m_;return{x:q* (b*a[0][0]+c*a[1][0]+a[2 ][0])-r,y:q*(b*a[0][1]+c *a[1][1]+a[2][1])-r}}fun ction z(a,b,c){isFinite( b[0][0])&&(isFinite(b[0] [1])&&isFinite(b[1][0])& &isFinite(b[1][1])&&isFi nite(b[2][0])&&isFinite( b[2][1]))&&(a.m_=b,c&&(a .lineScale_=aa(ba(b[0][0 ]*b[1][1]-b[0][1]* b[1][ 0]))))}function w(a){thi s.type_=a;this.r1_=this. y1_=this.x1_=this.r0_=th is.y0_=this.x0_=0;this.c olors_=[]}function I(a,b ){if(!a||1!=a.nodeType|| "IMG"!=a.tagName)throw n ew A("TYPE_MISMATCH_ERR" );if("complete"!=a.ready State)throw new A("INVAL ID_STATE_ERR");switch(b) {case "repeat":case null :case "":this.repetition _="repeat";break;case "r epeat-x":case "repeat-y" :case "no-repeat":this.r epetition_=b;break;defau lt:throw new A("SYNTAX_E RR");}this.src_=a.src;th is.width_=a.width;this.h eight_=a.height} functio n A(a){this.code=this[a] ;this.message=a+": DOM E xception "+this.code}var x=Math,k=x.round,J=x.si n,K=x.cos,ba=x.abs,aa=x. sqrt,q=10,r=q/2;navigato r.userAgent.match(/MSIE ([\d.]+)?/);var M=Array. prototype.slice;O(docume nt);var U={init:function (a){a=a||document;a.crea teElement("canvas");a.at tachEvent("onreadystatec hange",W(this.init_,this ,a))},init_:function(a){ a=a.getElementsByTagName ("canvas");for(var b=0;b <a.length;b++)this.initE lement(a[b])},initElemen t:function(a){if(!a.getC ontext){a.getContext= V; O(a.ownerDocument);a.inn erHTML="";a.attachEvent( "onpropertychange",X);a. attachEvent("onresize",Y );var b=a.attributes;b.w idth&&b.width.specified? a.style.width=b.width.no deValue+"px":a.width=a.c lientWidth;b.height&&b.h eight.specified?a.style. height=b.height.nodeValu e+"px":a.height=a.client Height}return a}};U.init ();for(var v=[],d=0;16>d ;d++)for(var B=0;16>B;B+ +)v[16*d+B]=d.toString(1 6)+B.toString(16);var Z= {aliceblue:"#F0F8FF",ant iquewhite:"#FAEBD7",aqua marine:"#7FFFD4",azure:" #F0FFFF",beige:"#F5F5DC" , bisque:"#FFE4C4",black :"#000000",blanchedalmon d:"#FFEBCD",blueviolet:" #8A2BE2",brown:"#A52A2A" ,burlywood:"#DEB887",cad etblue:"#5F9EA0",chartre use:"#7FFF00",chocolate: "#D2691E",coral:"#FF7F50 ",cornflowerblue:"#6495E D",cornsilk:"#FFF8DC",cr imson:"#DC143C",cyan:"#0 0FFFF",darkblue:"#00008B ",darkcyan:"#008B8B",dar kgoldenrod:"#B8860B",dar kgray:"#A9A9A9",darkgree n:"#006400",darkgrey:"#A 9A9A9",darkkhaki:"#BDB76 B",darkmagenta:"#8B008B" ,darkolivegreen:"#556B2F ",darkorange:"#FF8C00",d arkorchid:"#9932CC",dark red:"#8B0000", darksalmo n:"#E9967A",darkseagreen :"#8FBC8F",darkslateblue :"#483D8B",darkslategray :"#2F4F4F",darkslategrey :"#2F4F4F",darkturquoise :"#00CED1",darkviolet:"# 9400D3",deeppink:"#FF149 3",deepskyblue:"#00BFFF" ,dimgray:"#696969",dimgr ey:"#696969",dodgerblue: "#1E90FF",firebrick:"#B2 2222",floralwhite:"#FFFA F0",forestgreen:"#228B22 ",gainsboro:"#DCDCDC",gh ostwhite:"#F8F8FF",gold: "#FFD700",goldenrod:"#DA A520",grey:"#808080",gre enyellow:"#ADFF2F",honey dew:"#F0FFF0",hotpink:"# FF69B4",indianred:"#CD5C 5C",indigo:"#4B0082", iv ory:"#FFFFF0",khaki:"#F0 E68C",lavender:"#E6E6FA" ,lavenderblush:"#FFF0F5" ,lawngreen:"#7CFC00",lem onchiffon:"#FFFACD",ligh tblue:"#ADD8E6",lightcor al:"#F08080",lightcyan:" #E0FFFF",lightgoldenrody ellow:"#FAFAD2",lightgre en:"#90EE90",lightgrey:" #D3D3D3",lightpink:"#FFB 6C1",lightsalmon:"#FFA07 A",lightseagreen:"#20B2A A",lightskyblue:"#87CEFA ",lightslategray:"#77889 9",lightslategrey:"#7788 99",lightsteelblue:"#B0C 4DE",lightyellow:"#FFFFE 0",limegreen:"#32CD32",l inen:"#FAF0E6",magenta:" #FF00FF",mediumaquamarin e:"#66CDAA", mediumblue: "#0000CD",mediumorchid:" #BA55D3",mediumpurple:"# 9370DB",mediumseagreen:" #3CB371",mediumslateblue :"#7B68EE",mediumspringg reen:"#00FA9A",mediumtur quoise:"#48D1CC",mediumv ioletred:"#C71585",midni ghtblue:"#191970",mintcr eam:"#F5FFFA",mistyrose: "#FFE4E1",moccasin:"#FFE 4B5",navajowhite:"#FFDEA D",oldlace:"#FDF5E6",oli vedrab:"#6B8E23",orange: "#FFA500",orangered:"#FF 4500",orchid:"#DA70D6",p alegoldenrod:"#EEE8AA",p alegreen:"#98FB98",palet urquoise:"#AFEEEE",palev ioletred:"#DB7093",papay awhip:"#FFEFD5", peachpu ff:"#FFDAB9",peru:"#CD85 3F",pink:"#FFC0CB",plum: "#DDA0DD",powderblue:"#B 0E0E6",rosybrown:"#BC8F8 F",royalblue:"#4169E1",s addlebrown:"#8B4513",sal mon:"#FA8072",sandybrown :"#F4A460",seagreen:"#2E 8B57",seashell:"#FFF5EE" ,sienna:"#A0522D",skyblu e:"#87CEEB",slateblue:"# 6A5ACD",slategray:"#7080 90",slategrey:"#708090", snow:"#FFFAFA",springgre en:"#00FF7F",steelblue:" #4682B4",tan:"#D2B48C",t histle:"#D8BFD8",tomato: "#FF6347",turquoise:"#40 E0D0",violet:"#EE82EE",w heat:"#F5DEB3",whitesmok e:"#F5F5F5",yellowgreen: "#9ACD32"}, H={},L={},$= {butt:"flat",round:"roun d"},d=C.prototype;d.clea rRect=function(){this.te xtMeasureEl_&&(this.text MeasureEl_.removeNode(!0 ),this.textMeasureEl_=nu ll);this.element_.innerH TML=""};d.beginPath=func tion(){this.currentPath_ =[]};d.moveTo=function(a ,b){var c=s(this,a,b);th is.currentPath_.push({ty pe:"moveTo",x:c.x,y:c.y} );this.currentX_=c.x;thi s.currentY_=c.y};d.lineT o=function(a,b){var c=s( this,a,b);this.currentPa th_.push({type:"lineTo", x:c.x,y:c.y});this.curre ntX_=c.x;this.currentY_= c.y};d.bezierCurveTo= fu nction(a,b,c,g,e,f){e=s( this,e,f);a=s(this,a,b); c=s(this,c,g);R(this,a,c ,e)};d.quadraticCurveTo= function(a,b,c,g){a=s(th is,a,b);c=s(this,c,g);g= {x:this.currentX_+2/3*(a .x-this.currentX_),y:thi s.currentY_+2/3*(a.y-thi s.currentY_)};R(this,g,{ x:g.x+(c.x-this.currentX _)/3,y:g.y+(c.y-this.cur rentY_)/3},c)};d.arc=fun ction(a,b,c,g,e,f){c*=q; var d=f?"at":"wa",k=a+K( g)*c-r,n=b+J(g)*c-r;g=a+ K(e)*c-r;e=b+J(e)*c-r;k! =g||f||(k+=0.125);a=s(th is,a,b);k=s(this,k,n);g= s(this,g,e);this.current Path_.push({type:d, x:a. x,y:a.y,radius:c,xStart: k.x,yStart:k.y,xEnd:g.x, yEnd:g.y})};d.rect=funct ion(a,b,c,g){this.moveTo (a,b);this.lineTo(a+c,b) ;this.lineTo(a+c,b+g);th is.lineTo(a,b+g);this.cl osePath()};d.strokeRect= function(a,b,c,g){var e= this.currentPath_;this.b eginPath();this.moveTo(a ,b);this.lineTo(a+c,b);t his.lineTo(a+c,b+g);this .lineTo(a,b+g);this.clos ePath();this.stroke();th is.currentPath_=e};d.fil lRect=function(a,b,c,g){ var e=this.currentPath_; this.beginPath();this.mo veTo(a,b);this.lineTo(a+ c,b);this.lineTo(a+ c,b+ g);this.lineTo(a,b+g);th is.closePath();this.fill ();this.currentPath_=e}; d.createLinearGradient=f unction(a,b,c,g){var e=n ew w("gradient");e.x0_=a ;e.y0_=b;e.x1_=c;e.y1_=g ;return e};d.createRadia lGradient=function(a,b,c ,g,e,f){var d=new w("gra dientradial");d.x0_=a;d. y0_=b;d.r0_=c;d.x1_=g;d. y1_=e;d.r1_=f;return d}; d.drawImage=function(a,b ){var c,g,e,d,r,y,n,h;e= a.runtimeStyle.width;d=a .runtimeStyle.height;a.r untimeStyle.width="auto" ;a.runtimeStyle.height=" auto";var l=a.width,u=a. height;a.runtimeStyle.wi dth= e;a.runtimeStyle.he ight=d;if(3==arguments.l ength)c=arguments[1],g=a rguments[2],r=y=0,n=e=l, h=d=u;else if(5==argumen ts.length)c=arguments[1] ,g=arguments[2],e=argume nts[3],d=arguments[4],r= y=0,n=l,h=u;else if(9==a rguments.length)r=argume nts[1],y=arguments[2],n= arguments[3],h=arguments [4],c=arguments[5],g=arg uments[6],e=arguments[7] ,d=arguments[8];else thr ow Error("Invalid number of arguments");var m=s( this,c,g),p=[];p.push(" <g_vml_:group",' coordsi ze="',10*q,",",10*q,'"', ' coordorigin="0,0"',' s tyle="width:', 10,"px;he ight:",10,"px;position:a bsolute;");if(1!=this.m_ [0][0]||this.m_[0][1]||1 !=this.m_[1][1]||this.m_ [1][0]){var t=[];t.push( "M11=",this.m_[0][0],"," ,"M12=",this.m_[1][0],", ","M21=",this.m_[0][1]," ,","M22=",this.m_[1][1], ",","Dx=",k(m.x/q),","," Dy=",k(m.y/q),"");var v= s(this,c+e,g),w=s(this,c ,g+d);c=s(this,c+e,g+d); m.x=x.max(m.x,v.x,w.x,c. x);m.y=x.max(m.y,v.y,w.y ,c.y);p.push("padding:0 ",k(m.x/q),"px ",k(m.y/q ),"px 0;filter:progid:DX ImageTransform.Microsoft .Matrix(",t.join(""),", sizingmethod='clip');")} else p.push("top:", k(m. y/q),"px;left:",k(m.x/q) ,"px;");p.push(' ">','<g _vml_:image src="',a.src ,'"',' style="width:',q* e,"px;"," height:",q*d,' px"',' cropleft="',r/l,' "',' croptop="',y/u,'"', ' cropright="',(l-r-n)/l ,'"',' cropbottom="',(u- y-h)/u,'"'," />","</g_vm l_:group>");this.element _.insertAdjacentHTML("Be foreEnd",p.join(""))};d. stroke=function(a){var b =[];b.push("<g_vml_:shap e",' filled="',!!a,'"',' style="position:absolut e;width:',10,"px;height: ",10,'px;"',' coordorigi n="0,0"',' coordsize="', 10*q,",",10*q,'"', ' str oked="',!a,'"',' path="' );for(var c={x:null,y:nu ll},d={x:null,y:null},e= 0;e<this.currentPath_.le ngth;e++){var f=this.cur rentPath_[e];switch(f.ty pe){case "moveTo":b.push (" m ",k(f.x),",",k(f.y) );break;case "lineTo":b. push(" l ",k(f.x),",",k( f.y));break;case "close" :b.push(" x ");f=null;br eak;case "bezierCurveTo" :b.push(" c ",k(f.cp1x), ",",k(f.cp1y),",",k(f.cp 2x),",",k(f.cp2y),",",k( f.x),",",k(f.y));break;c ase "at":case "wa":b.pus h(" ",f.type," ",k(f.x-t his.arcScaleX_*f.radius) ,",",k(f.y-this.arcScale Y_* f.radius)," ",k(f.x+ this.arcScaleX_*f.radius ),",",k(f.y+this.arcScal eY_*f.radius)," ",k(f.xS tart),",",k(f.yStart)," ",k(f.xEnd),",",k(f.yEnd ))}if(f){if(null==c.x||f .x<c.x)c.x=f.x;if(null== d.x||f.x>d.x)d.x=f.x;if( null==c.y||f.y<c.y)c.y=f .y;if(null==d.y||f.y>d.y )d.y=f.y}}b.push(' ">'); a?T(this,b,c,d):S(this,b );b.push("</g_vml_:shape >");this.element_.insert AdjacentHTML("beforeEnd" ,b.join(""))};d.fill=fun ction(){this.stroke(!0)} ;d.closePath=function(){ this.currentPath_.push({ type:"close"})};d.save=f unction(){var a= {};P(th is,a);this.aStack_.push( a);this.mStack_.push(thi s.m_);this.m_=t(D(),this .m_)};d.restore=function (){this.aStack_.length&& (P(this.aStack_.pop(),th is),this.m_=this.mStack_ .pop())};d.translate=fun ction(a,b){z(this,t([[1, 0,0],[0,1,0],[a,b,1]],th is.m_),!1)};d.rotate=fun ction(a){var b=K(a);a=J( a);z(this,t([[b,a,0],[-a ,b,0],[0,0,1]],this.m_), !1)};d.scale=function(a, b){this.arcScaleX_*=a;th is.arcScaleY_*=b;z(this, t([[a,0,0],[0,b,0],[0,0, 1]],this.m_),!0)};d.tran sform=function(a,b,c,d,e ,f){z(this,t([[a, b,0],[ c,d,0],[e,f,1]],this.m_) ,!0)};d.setTransform=fun ction(a,b,c,d,e,f){z(thi s,[[a,b,0],[c,d,0],[e,f, 1]],!0)};d.drawText_=fun ction(a,b,c,d,e){var f=t his.m_;d=0;var r=1E3,t=0 ,n=[],h;h=this.font;if(L [h])h=L[h];else{var l=do cument.createElement("di v").style;try{l.font=h}c atch(u){}h=L[h]={style:l .fontStyle||"normal",var iant:l.fontVariant||"nor mal",weight:l.fontWeight ||"normal",size:l.fontSi ze||10,family:l.fontFami ly||"sans-serif"}}var l= h,m=this.element_;h={};f or(var p in l)h[p]=l[p]; p=parseFloat(m.currentSt yle.fontSize); m=parseFl oat(l.size);"number"==ty peof l.size?h.size=l.siz e:-1!=l.size.indexOf("px ")?h.size=m:-1!=l.size.i ndexOf("em")?h.size=p*m: -1!=l.size.indexOf("%")? h.size=p/100*m:-1!=l.siz e.indexOf("pt")?h.size=m /0.75:h.size=p;h.size*=0 .981;p=h.style+" "+h.var iant+" "+h.weight+" "+h. size+"px "+h.family;m=th is.element_.currentStyle ;l=this.textAlign.toLowe rCase();switch(l){case " left":case "center":case "right":break;case "end ":l="ltr"==m.direction?" right":"left";break;case "start":l="rtl"==m.dire ction?"right": "left";br eak;default:l="left"}swi tch(this.textBaseline){c ase "hanging":case "top" :t=h.size/1.75;break;cas e "middle":break;default :case null:case "alphabe tic":case "ideographic": case "bottom":t=-h.size/ 2.25}switch(l){case "rig ht":d=1E3;r=0.05;break;c ase "center":d=r=500}b=s (this,b+0,c+t);n.push('< g_vml_:line from="',-d,' 0" to="',r,' 0.05" ',' coordsize="100 100" coor dorigin="0 0"',' filled= "',!e,'" stroked="',!!e, '" style="position:absol ute;width:1px;height:1px ;">');e?S(this,n):T(this ,n,{x:-d,y:0}, {x:r,y:h. size});e=f[0][0].toFixed (3)+","+f[1][0].toFixed( 3)+","+f[0][1].toFixed(3 )+","+f[1][1].toFixed(3) +",0,0";b=k(b.x/q)+","+k (b.y/q);n.push('<g_vml_: skew on="t" matrix="',e, '" ',' offset="',b,'" or igin="',d,' 0" />','<g_v ml_:path textpathok="tru e" />','<g_vml_:textpath on="true" string="',N(a ),'" style="v-text-align :',l,";font:",N(p),'" /> </g_vml_:line>');this.el ement_.insertAdjacentHTM L("beforeEnd",n.join("") )};d.fillText=function(a ,b,c,d){this.drawText_(a ,b,c,d,!1)};d.strokeText =function(a, b,c,d){this .drawText_(a,b,c,d,!0)}; d.measureText=function(a ){this.textMeasureEl_||( this.element_.insertAdja centHTML("beforeEnd",'<s pan style="position:abso lute;top:-20000px;left:0 ;padding:0;margin:0;bord er:none;white-space:pre; "></span>'),this.textMea sureEl_=this.element_.la stChild);var b=this.elem ent_.ownerDocument;this. textMeasureEl_.innerHTML ="";this.textMeasureEl_. style.font=this.font;thi s.textMeasureEl_.appendC hild(b.createTextNode(a) );return{width:this.text MeasureEl_.offsetWidth}} ;d.clip=function(){}; d. arcTo=function(){};d.cre atePattern=function(a,b) {return new I(a,b)};w.pr ototype.addColorStop=fun ction(a,b){b=G(b);this.c olors_.push({offset:a,co lor:b.color,alpha:b.alph a})};d=A.prototype=Error ();d.INDEX_SIZE_ERR=1;d. DOMSTRING_SIZE_ERR=2;d.H IERARCHY_REQUEST_ERR=3;d .WRONG_DOCUMENT_ERR=4;d. INVALID_CHARACTER_ERR=5; d.NO_DATA_ALLOWED_ERR=6; d.NO_MODIFICATION_ALLOWE D_ERR=7;d.NOT_FOUND_ERR= 8;d.NOT_SUPPORTED_ERR=9; d.INUSE_ATTRIBUTE_ERR=10 ;d.INVALID_STATE_ERR=11; d.SYNTAX_ERR=12;d.INVALI D_MODIFICATION_ERR= 13;d .NAMESPACE_ERR=14;d.INVA LID_ACCESS_ERR=15;d.VALI DATION_ERR=16;d.TYPE_MIS MATCH_ERR=17;G_vmlCanvas Manager=U;CanvasRenderin gContext2D=C;CanvasGradi ent=w;CanvasPattern=I;DO MException=A}(); |